129 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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|   |
 | 
						|
       `---------------------------------------------'         `-----------' `---------------'
 |