Edit README of PC98

daktil_manuform
tmk 2013-02-23 01:15:03 +09:00
parent 4ec8fd2823
commit 84a3d4d2a1
1 changed files with 41 additions and 55 deletions

View File

@ -1,79 +1,65 @@
Sun to USB keyboard protocol converter
======================================
PC98 to USB keyboard protocol converter
=======================================
Target MCU is ATMega32u4 but other USB capable AVR will also work.
Supported keyboards: Sun Type 5 Keyboard, CTCSP SHORT TYPE KEYBOARD(CKUB)
CTCSP SHORT TYPE KEYBOARD: http://imgur.com/a/QIv6p
Connector
---------
8Pin mini DIN
___ ___
/ |_| \
/ 8 7 6 \
| 5 4 3 |
\_ 2 1 _/
\_____/
(receptacle)
Wiring:
8Pin mini DIN
___ ___
/ |_| \
/ 8 7 6 \
| 5 4 3 |
\_ 2 1 _/
\_____/
(receptacle)
Wiring: You can change this with ediging config.h.
Pin mini DIN MCU
----------------------------------
1 GND GND
1 ~RST PD1
2 GND GND
3 5V
4 RX/TX(Mouse)
5 RX PD3
6 TX PD2
7 GND GND
3 ~RDY PD4
4 RXD PD2
5 ~RTY PD5
6 NC
7 NC
8 5V VCC
Protocol
--------
Singnal: Asynchronous, Negative logic, 1200baud, No Flow control
Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
Singnal: Asynchronous, Positive logic, 19200baud, Least bit first
Frame format: 1-Start bit(Lo), 8-Data bits, Odd-Parity, 1-Stop bit
AVR USART engine expects positive logic while Sun keyboard signal is negative.
To use AVR UART engine you need exteral inverter in front of RX and TX pin.
Otherwise you can software serial routine to communicate the keyboard.
This converter uses software method, you doesn't need any inverter part.
This converter uses software method for testing purpose. AVR UART engine will work better.
Commands From System To Keyboard
0x01 Reset
Keyboard responds with following byte sequence:
Success: 0xFF 0x04 0x7F
Fail: 0x7E 0x01 0x7F
0x02 Bell On
0x03 Bell Off
0x0A Click On
0x0B Click Off
0x0E LED
followed by LED status byte:
bit: 3 2 1 0
LED: CapsLk ScrLk Compose NumLk
0x0F Layout
Keyboard responds with 'Layout Response' 0xFE 0xXX
Commands From Keyboard To System
0x7F Idle
means no keys pressed.
0xFE Layout Response
0xFF Reset Response(followed by 0x04)
Reference
http://kentie.net/article/sunkbd/page2.htm
http://kentie.net/article/sunkbd/KBD.pdf
Build Firmware
--------------
Just use 'make'
$ cd sun_usb
$ cd pc98_usb
$ make
Then, load the binary to MCU with your favorite programmer.
Other PC98 converter projects and resource
------------------------------------------
PC98 to USB
http://davy.nyacom.net/kbd98usb/
PC98 to PS/2
http://www.tsp.ne.jp/~sawada/mago/c_gka98at.htm
PC98 keyboard commands
http://www.webtech.co.jp/company/doc/undocumented_mem/io_kb.txt