Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
boards:ecb:dskyng [2021/07/13 13:28]
danwerner
boards:ecb:dskyng [2021/07/14 10:24] (current)
danwerner [Software Documentation]
Line 8: Line 8:
  
 The DSKYng provides a low-level interface to the hardware on the RBC Z80 SBC (and others). This Intel 8279 based display and keyboard provides a simple to program buffered keyboard and display for simple tasks. It is supported by the monitor in RomWBW allowing the user can inspect/modify ports, inspect/modify memory, execute programs, or boot the system. The DSKYng provides a low-level interface to the hardware on the RBC Z80 SBC (and others). This Intel 8279 based display and keyboard provides a simple to program buffered keyboard and display for simple tasks. It is supported by the monitor in RomWBW allowing the user can inspect/modify ports, inspect/modify memory, execute programs, or boot the system.
 +
 +Special thanks to Andrew Lynch, Wayne Warthen, and John Coffman for their assistance with the design, development and testing of the DSKYng.
  
 ===== Hardware Documentation ===== ===== Hardware Documentation =====
Line 24: Line 26:
 * IO Bus (Jumper J1 1&2 Shorted) * IO Bus (Jumper J1 1&2 Shorted)
  
-* Directly with regulated 5v (Jumper J1 pins 2 & 3)+* Directly with regulated 5v (Jumper J1, apply power to pins 2 & 3)
  
 * Directly with unregulated 7-9V (unregulated power connector . . requires optional power regulator components) * Directly with unregulated 7-9V (unregulated power connector . . requires optional power regulator components)
Line 44: Line 46:
 |J2|1|Barrel Jack|Optional – only needed for unregulated power input| |J2|1|Barrel Jack|Optional – only needed for unregulated power input|
 |J3-4|2|2.54mm Pin Header 2×13|   | |J3-4|2|2.54mm Pin Header 2×13|   |
-|J5|1|2.54mm Pin Header 1x3| | +|J5|1|2.54mm Pin Header 1×3| | 
-|J6|1|2.54mm Pin Header 2x12| | +|J6|1|2.54mm Pin Header 2×12| | 
-|J7-8|2|2.54mm Pin Header 2x20| | +|J7-8|2|2.54mm Pin Header 2×20| | 
-|J9|1|2.54mm Pin Header 1x2| |+|J9|1|2.54mm Pin Header 1×2| |
 |Q1-6,Q11-16,Q21-24|16|Transistor 2N3904| | |Q1-6,Q11-16,Q21-24|16|Transistor 2N3904| |
 |Q7-10,Q17-20|8|Transistor 2N3906| | |Q7-10,Q17-20|8|Transistor 2N3906| |
Line 62: Line 64:
 |U17|1|7805|Optional – only needed for unregulated power input| |U17|1|7805|Optional – only needed for unregulated power input|
 |X1|1|Oscillator|8279 can be configured to accept oscillators from 1 to 4Mhz| |X1|1|Oscillator|8279 can be configured to accept oscillators from 1 to 4Mhz|
-|BZ1|1|Piezo beeper|Note that an "active" piezo buzzer is required. Example:([[https://www.amazon.com/TOTOT-Electromagnetic-Continuously-Electronic-Components/dp/B07GJSP68S/ref=sr_1_3?crid=EO44N9WO16OJ&dchild=1&keywords=active+piezo+buzzer&qid=1626196358&sprefix=active+piez,aps,192&sr=8-3|https://www.amazon.com/TOTOT-Electromagnetic-Continuously-Electronic-Components/dp/B07GJSP68S/ref=sr_1_3?crid=EO44N9WO16OJ&dchild=1&keywords=active+piezo+buzzer&qid=1626196358&sprefix=active+piez%2Caps%2C192&sr=8-3]])|+|BZ1|1|Piezo beeper|Note that an "active" piezo buzzer is required.*|
  
-==== Part Sourcing Notes ====+*(a buzzer such as the one here [[https://www.amazon.com/TOTOT-Electromagnetic-Continuously-Electronic-Components/dp/B07GJSP68S/ref=sr_1_3?crid=EO44N9WO16OJ&dchild=1&keywords=active+piezo+buzzer&qid=1626196358&sprefix=active+piez,aps,192&sr=8-3|https://www.amazon.com/TOTOT-Electromagnetic-Continuously-Electronic-Components/dp/B07GJSP68S/ref=sr_1_3?crid=EO44N9WO16OJ&dchild=1&keywords=active+piezo+buzzer&qid=1626196358&sprefix=active+piez%2Caps%2C192&sr=8-3]] is appropriate)
  
-Keypad Labels+==== Keycap Sourcing Notes ====
  
-Support Software+Because the key are not in a "normal" keyboard arrangement, some "compromises" need to be made. Keycaps with a consistent profile (like XDA,SA or DSA keys) need to be used otherwise the keys will have an uneven hight and angle. This effect is not too bad (the picture at the top of this wiki is using standard key caps) but it is noticeable in person. It is possible to find SA or DSA profile keycaps, but they are more expensive and usually need to be modified to allow the LED "shine through" effect for the back lighted keys. Several different sources for keycaps are being evaluated and the wiki will be updated with more information at a later time.
  
-Video Demonstration+Reasonable priced SA (almost uniform) profile shine-through key caps: [[https://www.amazon.com/gp/product/B082PJ26CG/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1|https://www.amazon.com/gp/product/B082PJ26CG/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 ]]
  
-Builder's Notes/Comments+low cost standard profile keys can be found here: [[https://www.amazon.com/gp/product/B082PJ26CG/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1|https://flashquark.com/product-category/keycaps/oem-keys/mixable/|https://flashquark.com/product-category/keycaps/oem-keys/mixable/ ]]
  
-Please use this space to add any notes/comments on this board that don't fit into the above sections. (Periodically, these comments may be re-arranged to be better incorporated into a new revision of the wiki page.) Please sign your comments using the wiki "Insert Signature" feature! — //[[admin@retrobrewcomputers.org|Andrew Bingham]] 2016/02/27 13:01//+low cost translucent keys can be found hereBUT these are not pre-printed: [[https://www.amazon.com/gp/product/B082PJ26CG/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1|https://flashquark.com/product/translucent-dsa-keycaps/|https://flashquark.com/product/translucent-dsa-keycaps/]] 
 + 
 +=====   =====
  
 ===== Software Documentation ===== ===== Software Documentation =====
  
-===== Photo Gallery =====+Example code for using the DSKYng can be referenced from the RomWBW repo. Specifically /Source/HBIOS/dskyng.asm and /Source/Apps/tstdskng.asm will be useful in determining specifically how to write code for the DSKYng. The Intel 8279 datasheet {{:boards:ecb:dskyng:datasheet.pdf|:boards:ecb:dskyng:datasheet.pdf}}  is also a useful reference for the registers and functions of the 8279 display and keyboard driver. 
 + 
 +<code> 
 +; LED SEGMENTS (BIT VALUES) 
 +
 +;       +--01--+ 
 +;       20    02 
 +;       +--40--+ 
 +;       10    04 
 +;       +--08--+  80 
 +
 + 
 +; KEY CODE MAP (KEY CODES) --CCCRRR 
 +
 +;       00      08      10      18      23 
 +;       01      09      11      19      22 
 +;       02      0A      12      1A      21 
 +;       03      0B      13      1B      20 
 +;       04      0C      14      1C      SHIFT 
 +;       05      0D      15      1D      CTRL 
 +
 +; LED BIT MAP (BIT VALUES) 
 +
 +;    $08    $09    $0A    $0B    $0C    $0D    $0E    $0F 
 +;    ---    ---    ---    ---    ---    ---    ---    --- 
 +;    01     01     01     01     01 
 +;    02     02     02     02     02 
 +;    04     04     04     04     04 
 +;    08     08     08     08     08 
 +;    10     10     10     10     10 
 +;    20     20     20     20     20     L1     L2     BUZZ 
 +
 + 
 +PPIA            .EQU    DSKYPPIBASE + 0 ; PORT A 
 +PPIB            .EQU    DSKYPPIBASE + 1 ; PORT B 
 +PPIC            .EQU    DSKYPPIBASE + 2 ; PORT C 
 +PPIX            .EQU    DSKYPPIBASE + 3 ; PPI CONTROL PORT 
 +
 + 
 +DSKY_PPIX_RD:   .EQU    %10010010       ; PPIX VALUE FOR READS 
 +DSKY_PPIX_WR:   .EQU    %10000010       ; PPIX VALUE FOR WRITES 
 +
 +; PIO CHANNEL C: 
 +
 +;                                                 0 
 +;       RES                 CS      CS      /RD     /WR     A0 
 +
 + 
 +; SETTING BITS 3 & 4 WILL ASSERT /CS ON 3279 
 +; CLEAR BITS 1 OR 2 TO ASSERT READ/WRITE 
 +
 + 
 +DSKY_PPI_IDLE:  .EQU    %00000110 
 +
 +DSKY_CMD_CLR:   .EQU    %11011111       ; CLEAR (ALL OFF) 
 +DSKY_CMD_CLRX:  .EQU    %11010011       ; CLEAR (ALL ON) 
 +DSKY_CMD_WDSP:  .EQU    %10010000       ; WRITE DISPLAY RAM 
 +DSKY_CMD_RDSP:  .EQU    %01110000       ; READ DISPLAY RAM 
 +DSKY_CMD_CLK:   .EQU    %00100000       ; SET CLK PRESCALE 
 +DSKY_CMD_FIFO:  .EQU    %01000000       ; READ FIFO 
 +;
  
-File List+DSKY_PRESCL:    .EQU    DSKYOSC/100000  ; PRESCALER 
 +</code>
  
-\\+[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=02b726&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/dskyng/front.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/dskyng/front.jpg?direct&400x275  |www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_dskyng_front.jpg}}]]{{  https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/dskyng/back.jpg?nolink&400x278|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_dskyng_back.jpg}}
  
  
boards/ecb/dskyng.1626197301.txt.gz · Last modified: 2021/07/13 13:28 by danwerner
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0