Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tmk 81706d1130 Moved protocol files; news and x68k. 12 years ago
..
Makefile Made directories for keyboard and converter projects. 12 years ago
README Made directories for keyboard and converter projects. 12 years ago
config_pjrc.h Made directories for keyboard and converter projects. 12 years ago
keymap.c Made directories for keyboard and converter projects. 12 years ago
led.c Made directories for keyboard and converter projects. 12 years ago
matrix.c Made directories for keyboard and converter projects. 12 years ago

README

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| |
`---------------------------------------------' `-----------' `---------------'