You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qmk_firmware/converter/x68k_usb
tmk b4e2d325f3 Change TOP_DIR to TMK_DIR in makefiles 10 years ago
..
Makefile Change TOP_DIR to TMK_DIR in makefiles 10 years ago
README Spellchecking converter README files. 11 years ago
config_pjrc.h Use serial_uart.c instead of x68k.c now 12 years ago
keymap.c Add JIS layout to x68k 12 years ago
led.c Use serial_uart.c instead of x68k.c now 12 years ago
matrix.c Use serial_uart.c instead of x68k.c now 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
- DSETK0022CE02   yellow linear
- DSETK0023CE03   yellow linear


Hardware
--------
Target MCU is ATMega32u4 but other USB capable AVR will also work.
You can use PJRC Teensy as development 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 control 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|   |
       `---------------------------------------------'         `-----------' `---------------'



LED Special Functions
---------------------
http://homepage2.nifty.com/m_kamada/docs/unlistedx68k.htm#keyboard

1. Random Illumination
    Plug in with pressing F1, F2 and F3.

2. Sequential Illumination
    Plug in with pressing 記号入力(52), 登録(53) and HELP.

3. Scan code Display
    Plug in with pressing かな(5A), ローマ字(5B) and コード入力(5C).
    You can see its scan code on LEDs by pressing a key.
   +---------------------------------------------------+
   |bit|6   |5       |4  |3   |2         |1       |0   |
   |---+----+--------+---+----+----------+--------+----|
   |LED|全角|ひらがな|INS|CAPS|コード入力|ローマ字|かな|
   +---------------------------------------------------+