-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Apple M0110 Keyboard Protocol
hasu@tmk edited this page Jan 28, 2024
·
20 revisions
Discussion thread
Source code
Technical Info for 128K/512K and Plus
- https://www.apple.asimov.net/documentation/macintosh/Mac%20Hardware%20Info%20-%20Mac%20128K.pdf
- https://www.apple.asimov.net/documentation/macintosh/Mac%20Hardware%20Info%20-%20Mac%20Plus.pdf
Protocol:
- Page 20 of Tech Info for 128K/512K
- http://www.mac.linux-m68k.org/devel/plushw.php
Connector:
- Page 20 of Tech Info for 128K/512K
Signaling:
,---------------------------------------------------------. ,---------------.
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Bcksp| |Clr| =| /| *|
|---------------------------------------------------------| |---------------|
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | 7| 8| 9| -|
|-----------------------------------------------------' | |---------------|
|CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return| | 4| 5| 6| +|
|---------------------------------------------------------| |---------------|
|Shift | Z| X| C| V| B| N| M| ,| ,| /|Shft|Up | | 1| 2| 3| |
|---------------------------------------------------------' |-----------|Ent|
|Optio|Mac | Space | \|Lft|Rgt|Dn | | 0| .| |
`---------------------------------------------------------' `---------------'
,---------------------------------------------------------. ,---------------.
| 65| 25| 27| 29| 2B| 2F| 2D| 35| 39| 33| 3B| 37| 31| 67| |+0F|*11|*1B|*05|
|---------------------------------------------------------| |---------------|
| 61| 19| 1B| 1D| 1F| 23| 21| 41| 45| 3F| 47| 43| 3D| | |+33|+37|+39|+1D|
|-----------------------------------------------------' | |---------------|
| 73| 01| 03| 05| 07| 0B| 09| 4D| 51| 4B| 53| 4F| 49| |+2D|+2F|+31|*0D|
|---------------------------------------------------------| |---------------|
| 71| 0D| 0F| 11| 13| 17| 5B| 5D| 27| 5F| 59| 71|+1B| |+27|+29|+2B| |
|---------------------------------------------------------' |-----------|+19|
| 75| 6F| 63 | 55|+0D|+05|+11| | +25|+03| |
`---------------------------------------------------------' `---------------'
+ 0x79, 0xDD / 0xF1, 0xUU
* 0x71, 0x79, 0xDD / 0xF1, 0x79, 0xUU
where DD and UU indicates code for press and release
TMK converer uses following scan codes instead of M0110 raw codes. TMK scan codes are converted from raw codes basically like below. MSB(bit7) is set when key is released.
scancode = ((raw&0x80) | ((raw&0x7F)>>1))
And keys on keypad are converted exceptionally.
,---------------------------------------------------------. ,---------------.
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backs| |Clr| -|Lft|Rgt|
|---------------------------------------------------------| |---------------|
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | 7| 8| 9|Up |
|---------------------------------------------------------| |---------------|
|CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return| | 4| 5| 6|Dn |
|---------------------------------------------------------| |---------------|
|Shift | Z| X| C| V| B| N| M| ,| ,| /| | | 1| 2| 3| |
`---------------------------------------------------------' |-----------|Ent|
|Opt|Mac | Space |Enter|Opt| | 0| .| |
`------------------------------------------------' `---------------'
,---------------------------------------------------------. ,---------------.
| 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18| 33| | 47| 4E| 46| 42|
|---------------------------------------------------------| |---------------|
| 30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4D|
|---------------------------------------------------------| |---------------|
| 39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27| 24| | 56| 57| 58| 48|
|---------------------------------------------------------| |---------------|
| 38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 38| | 53| 54| 55| |
`---------------------------------------------------------' |-----------| 4C|
| 3A| 37| 31 | 34| 3A| | 52| 41| |
`------------------------------------------------' `---------------'
,---------------------------------------------------------.
| 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18| 33|
|---------------------------------------------------------|
| 30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| 2A|
|------------------------------------------------------ |
| 39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27| 24| |
|---------------------------------------------------------|
| 38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 0A| 38|
`---------------------------------------------------------'
| 3A| 37| 34 | 31| 3A|
`------------------------------------------------'
,---------------------------------------------------------. ,---------------.
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Bcksp| |Clr| =| /| *|
|---------------------------------------------------------| |---------------|
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | 7| 8| 9| -|
|-----------------------------------------------------' | |---------------|
|CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return| | 4| 5| 6| +|
|---------------------------------------------------------| |---------------|
|Shift | Z| X| C| V| B| N| M| ,| ,| /|Shft|Up | | 1| 2| 3| |
|---------------------------------------------------------' |-----------|Ent|
|Optio|Mac | Space | \|Lft|Rgt|Dn | | 0| .| |
`---------------------------------------------------------' `---------------'
,---------------------------------------------------------. ,---------------.
| 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18| 33| | 47| 68| 6D| 62|
|---------------------------------------------------------| |---------------|
| 30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| | | 59| 5B| 5C| 4E|
|-----------------------------------------------------' | |---------------|
| 39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27| 24| | 56| 57| 58| 66|
|---------------------------------------------------------| |---------------|
| 38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 38| 4D| | 53| 54| 55| |
|---------------------------------------------------------' |-----------| 4C|
| 3A| 37| 31 | 2A| 46| 42| 48| | 52| 41| |
`---------------------------------------------------------' `---------------'
- Page 22 of Tech Info for 128K/512K
- Page 07 of Tech Info for Plus
- http://m0115.web.fc2.com/m0110.jpg
- http://m0115.web.fc2.com/m0110a.jpg
Mac 128k/512k/Plus Keyboard pinout
.---------,
| 1 2 3 4 | 1 GND
| | 2 Clock
| | 3 Data
`---___---' 4 5V
from front of connector