X68000 to USB keyboard protocol converter ========================================= SHARP X68000 is a hobby computer released in Japan.(1987-93) http://en.wikipedia.org/wiki/Sharp_X68000 X68000 keyboard has ALPS linear switches. - DSETK0016CE01 green linear - DSETK0023CE03 yellow linear Hardware -------- Target MCU is ATMega32u4 but other USB capable AVR will also work. You can use PJRC Teensy as dev board. http://www.pjrc.com/teensy/ Wiring: Mini-DIN Teensy ----------------------------------------------------- pin1 +5V VCC pin2 MOUSE - pin3 RXD PD2(RXD) pin4 TXD PD3(TXD) NOTE: Not supported yet. pin5 READY - pin6 REMOTE - pin7 GND GND Firmware -------- Build: $ cd x68k_usb $ make And load the binary to MCU with your favorite programmer. If you use Teensy you can load with PJRC Teensy Loader tool. http://www.pjrc.com/teensy/loader.html * * * * * * * * * * * * * * * * * * X68000 Keyboard Protocol ======================== http://kyoutan.jpn.org/uts/pc/pic/x68key/ Connector --------- Mini DIN 7pin(female connector on computer side) 7 6 5 o o o 4 o = o 3 o o 2 1 Mini-DIN ------------- pin1 +5V pin2 MOUSE pin3 RXD pin4 TXD pin5 READY pin6 REMOTE pin7 GND Signaling --------- - TXD,RXD Asynchronous, 2400baud, 1-startbit(L), 8-databit, 1-stopbit(H) - READY ready/not ready(1/0) Data from keyboard ------------------ bit 7 make/break flag(0/1) bit 6-0 following scan code Data from computer ------------------ - LED contorol ON/OFF(0/1) bit 7 1(fixed) bit 6 全角 bit 5 ひらがな bit 4 INS bit 3 CAPS bit 2 コード入力 bit 1 ローマ字 bit 0 かな - Repeat delay bit 7 0(fixed) bit 6 1(fixed) bit 5 1(fixed) bit 4 0(fixed) bit 3-0 delay REPEAT_DELAY = 200+delay*100 ms default: 500ms - Repeat time bit 7 0(fixed) bit 6 1(fixed) bit 5 1(fixed) bit 4 1(fixed) bit 3-0 time REPEAT_TIME = 30+time^2*5 ms default: 110ms Scan Codes ---------- ,---. ,---. ,-------------------, ,-------------------. ,-----------. ,---------------. | 61| | 62| | 63| 64| 65| 66| 67| | 68| 69| 6A| 6B| 6C| | 5A| 5B| 5C| | 5D| 52| 53| 54| `---' `---' `-------------------' `-------------------' `-----------' `---------------' ,-----------------------------------------------------------. ,-----------. ,---------------. | 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 0E| 0F| | 36| 5E| 37| | 3F| 40| 41| 42| |-----------------------------------------------------------| |------------ |---------------| | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B| 1C| | | 38| 39| 3A| | 43| 44| 45| 46| |------------------------------------------------------. 1D | `---=====---' |---------------| | 71 | 1E| 1F| 20| 21| 2l| 23| 24| 25| 26| 27| 28| 29| | ___| 3C|___ | 47| 48| 49| 4A| |-----------------------------------------------------------| | 3B|---| 3D| |-----------|---| | 70 | 2A| 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 70 | `---| 3E|---' | 4B| 4C| 4D| | `-----------------------------------------------------------| .---=====---. |-----------| 4E| | 5F| 55 | 56 | 35 | 57 | 58 | 59 | 60| | 72 | 73 | | 4F| 50| 51| | `---------------------------------------------' `-----------' `---------------'