]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - converter/x68k_usb/README
ibmpc: Fix how to initialize keyboard
[max/tmk_keyboard.git] / converter / x68k_usb / README
1 X68000 to USB keyboard protocol converter
2 =========================================
3 SHARP X68000 is a hobby computer released in Japan.(1987-93)
4 http://en.wikipedia.org/wiki/Sharp_X68000
5
6 X68000 keyboard has ALPS linear switches.
7 - DSETK0016CE01   green linear
8 - DSETK0022CE02   yellow linear
9 - DSETK0023CE03   yellow linear
10
11
12 Hardware
13 --------
14 Target MCU is ATMega32u4 but other USB capable AVR will also work.
15 You can use PJRC Teensy as development board.
16     http://www.pjrc.com/teensy/
17
18 Wiring:
19     Mini-DIN            Teensy
20     -----------------------------------------------------
21     pin1   +5V          VCC
22     pin2   MOUSE        -
23     pin3   RXD          PD2(RXD)
24     pin4   TXD          PD3(TXD) NOTE: Not supported yet.
25     pin5   READY        -
26     pin6   REMOTE       -
27     pin7   GND          GND
28
29
30 Firmware
31 --------
32 Build:
33     $ cd x68k_usb
34     $ make
35
36 And load the binary to MCU with your favorite programmer.
37 If you use Teensy you can load with PJRC Teensy Loader tool.
38     http://www.pjrc.com/teensy/loader.html
39
40
41 *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
42
43
44 X68000 Keyboard Protocol
45 ========================
46 http://kyoutan.jpn.org/uts/pc/pic/x68key/
47
48
49 Connector
50 ---------
51 Mini DIN 7pin(female connector on computer side)
52        7 6 5
53        o o o
54     4 o  =  o 3
55         o o
56         2 1
57
58     Mini-DIN
59     -------------
60     pin1   +5V
61     pin2   MOUSE
62     pin3   RXD
63     pin4   TXD
64     pin5   READY
65     pin6   REMOTE
66     pin7   GND
67
68
69 Signaling
70 ---------
71 - TXD,RXD
72     Asynchronous, 2400baud, 1-startbit(L), 8-databit, 1-stopbit(H)
73
74 - READY
75     ready/not ready(1/0)
76
77
78 Data from keyboard
79 ------------------
80 bit 7       make/break flag(0/1)
81 bit 6-0     following scan code
82
83
84 Data from computer
85 ------------------
86 - LED control ON/OFF(0/1)
87     bit 7   1(fixed)
88     bit 6   全角
89     bit 5   ひらがな
90     bit 4   INS
91     bit 3   CAPS
92     bit 2   コード入力
93     bit 1   ローマ字
94     bit 0   かな
95
96 - Repeat delay
97     bit 7   0(fixed)
98     bit 6   1(fixed)
99     bit 5   1(fixed)
100     bit 4   0(fixed)
101     bit 3-0 delay
102     REPEAT_DELAY = 200+delay*100 ms
103     default: 500ms
104  
105 -  Repeat time
106     bit 7   0(fixed)
107     bit 6   1(fixed)
108     bit 5   1(fixed)
109     bit 4   1(fixed)
110     bit 3-0 time
111     REPEAT_TIME = 30+time^2*5 ms
112     default: 110ms
113
114
115 Scan Codes
116 ----------
117 ,---. ,---.    ,-------------------,    ,-------------------.  ,-----------. ,---------------.
118 | 61| | 62|    | 63| 64| 65| 66| 67|    | 68| 69| 6A| 6B| 6C|  | 5A| 5B| 5C| | 5D| 52| 53| 54|
119 `---' `---'    `-------------------'    `-------------------'  `-----------' `---------------'
120 ,-----------------------------------------------------------.  ,-----------. ,---------------.
121 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 0E| 0F|  | 36| 5E| 37| | 3F| 40| 41| 42|
122 |-----------------------------------------------------------|  |------------ |---------------|
123 |  10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B| 1C|     |  | 38| 39| 3A| | 43| 44| 45| 46|
124 |------------------------------------------------------. 1D |  `---=====---' |---------------|
125 |  71  | 1E| 1F| 20| 21| 2l| 23| 24| 25| 26| 27| 28| 29|    |   ___| 3C|___  | 47| 48| 49| 4A|
126 |-----------------------------------------------------------|  | 3B|---| 3D| |-----------|---|
127 |  70    | 2A| 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34|   70 |  `---| 3E|---' | 4B| 4C| 4D|   |
128 `-----------------------------------------------------------|  .---=====---. |-----------| 4E|
129        | 5F| 55 | 56 |     35     | 57 | 58 | 59 | 60|         |  72 |  73 | | 4F| 50| 51|   |
130        `---------------------------------------------'         `-----------' `---------------'
131
132
133
134 LED Special Functions
135 ---------------------
136 http://homepage2.nifty.com/m_kamada/docs/unlistedx68k.htm#keyboard
137
138 1. Random Illumination
139     Plug in with pressing F1, F2 and F3.
140
141 2. Sequential Illumination
142     Plug in with pressing 記号入力(52), 登録(53) and HELP.
143
144 3. Scan code Display
145     Plug in with pressing かな(5A), ローマ字(5B) and コード入力(5C).
146     You can see its scan code on LEDs by pressing a key.
147    +---------------------------------------------------+
148    |bit|6   |5       |4  |3   |2         |1       |0   |
149    |---+----+--------+---+----+----------+--------+----|
150    |LED|全角|ひらがな|INS|CAPS|コード入力|ローマ字|かな|
151    +---------------------------------------------------+