| Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
boards:ecb:dskyng [2021/07/13 13:58] danwerner |
boards:ecb:dskyng [2021/07/14 10:24] (current) danwerner [Software Documentation] |
| |
| 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 ===== |
| * 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) |
| 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. | 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. |
| |
| low cost standard profile keys can be found here: [[https://flashquark.com/product-category/keycaps/oem-keys/mixable/|https://flashquark.com/product-category/keycaps/oem-keys/mixable/]] | 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 ]] |
| |
| <font 11pt/Calibri,sans-serif;;inherit;;inherit>low cost DSA profile translucent keys can be found here, BUT these are not pre-printed.</font>[[https://flashquark.com/product/translucent-dsa-keycaps/|https://flashquark.com/product/translucent-dsa-keycaps/]] | 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/ ]] |
| | |
| | low cost translucent keys can be found here, BUT 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 ===== |
| |
| 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 is also a useful reference for the registers and functions of the 8279 display and keyboard driver. | 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: |
| | ; |
| | ; 7 6 5 4 3 2 1 0 |
| | ; RES 0 0 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 |
| | ; |
| | |
| | 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}} |
| |
| |