SONY NEWS is a BSD UNIX workstation with M68K/MIPS from late 1980s.
This converter allows NEWS keyboards to be connected to modern PC via USB. It works with
NWP-5461 and
NWP-411A.
See
wiki for more technical info and the latest finds.
Online Keymap Editor supports Sony NEWS now. 2023-11-03
Preassembled
TMK Sony NEWS Converter is also available here:
https://geekhack.org/index.php?topic=72052.0Limitations-
Buzzer is not supported. Added
tone() 2023-11-06
-
LEDs on NWP-5461 is not supported. Supported now. 2023-11-07
- Mouse connection is not supported.
NotesKeymap EditorYou can edit keymap online.
https://www.tmk-kbd.com/tmk_keyboard/editor/FirmwareSource code is available at Github.
https://github.com/tmk/tmk_keyboard/tree/master/converter/news_usbHardwareYou can use
8-bit USB AVR family(ATMega32u2 by default) to make your converter.
Hook up PD2 to 'Keyboard Data' pin at least(other than power). Other pins are optional.
AVR NEWS
------------------------
PD0 7 Mouse Data
PD1 2 BZ(Speaker)
PD2 3 Keyboard Data
PD3 6 Keyboard Command(NWP-5461)
PD4 8 POWER ON Switch(NWP-5461)
VCC 1 VCC
GND 5 GND
PinoutCnnector is an EIA 232 type with metric threads.
NWP-5461
------------- 1 VCC
\ 1 2 3 x 5 / 2 BZ(Speaker)
\ 6 7 8 9 / 3 Keyboard Data(from keyboard MCU TxD)
--------- 4 NC
5 GND
6 Keyboard Command?(to MCU RxD via two schmitt triggers of Z8 74LS14)
7 Mouse Data(from Mouse Ext connector)
8 Power switch(directly to the switch via diode)
9 FG
NWP-411A
------------- 1 VCC
\ 1 2 3 x 5 / 2 BZ(Speaker)
\ x 7 x 9 / 3 Keyboard Data(from keyboard MCU TxD)
--------- 4 NC
5 GND
6 NC
7 Mouse Data(from Mouse Ext connector)
8 NC
9 FG
ProtocolNEWS keyboard protocol is a usual asynchronous serial communication. You can receive data from the keyboard easily with UART of micro controller.
- TTL level
- 9600bps
- 1-start bit
- 8-data bit(LSB first)
- non-parity
- 1-stop bit.
Scan CodeIts scan code is one byte which consists of 1-bit release(break) flag at MSB and 7-bit code.
For example 0x29 is sent when 'a' key is pressed and 0xA9 when released.
MSB LSB
7 6 5 4 3 2 1 0 bit
| | | | | | | |
| +-+-+-+-+-+-+-- scan code(00-7F)
+---------------- break flag: sets when released
/* NWP-5461
* ,---. ,------------------------, ,------------------------. ,---------.
* |Pow| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| ,-----------.
* `---' `------------------------' `------------------------' `---------' | *| /| +|
* ,-------------------------------------------------------------. ,---. ,---------------|
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS | |Hlp| | 7| 8| 9| -|
* |-------------------------------------------------------------| |---| |---------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Del| | |Ins| | 4| 5| 6| ,|
* |---------------------------------------------------------' | |---| |---------------|
* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `|Enter | |Clr| | 1| 2| 3| |
* |-------------------------------------------------------------| |---| |-----------|Ent|
* |Shift | Z| X| C| V| B| N| M| ,| ,| /| | Shift | |PgU| | 0| .| ↑ | |
* |-------------------------------------------------------------| |---| |---------------|
* |Alt |Cap| | Space | | | | | |PgD| |Tab| ← | ↓ | → |
* `-------------------------------------------------------------' `---' `---------------'
* ,---. ,------------------------, ,------------------------. ,---------.
* | 7A| | 01 | 02 | 03 | 04 | 05 | | 06 | 07 | 08 | 09 | 0A | | 68 | 69 | ,-----------.
* `---' `------------------------' `------------------------' `---------' | 64| 65| 52|
* ,-------------------------------------------------------------. ,---. ,---------------|
* | 0B| 0C| 0D| 0E| 0F| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19 | | 6A| | 4B| 4C| 4D| 4E|
* |-------------------------------------------------------------| |---| |---------------|
* | 1A | 1B| 1C| 1D| 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| | | 6B| | 4F| 50| 51| 56|
* |---------------------------------------------------------' | |---| |---------------|
* | 28 | 29| 2A| 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 35 | | 6C| | 53| 54| 55| |
* |-------------------------------------------------------------| |---| |-----------| 5A|
* | 36 | 37| 38| 39| 3A| 3B| 3C| 3D| 3E| 3F| 40| 41| 42 | | 6D| | 57| 59| 58| |
* |-------------------------------------------------------------| |---| |---------------|
* | 43 | 44 | 45 | 46 | 47 | 48| 49| 4A | | 6E| | 66| 5B| 5C| 5D|
* `-------------------------------------------------------------' `---' `---------------'
*
* NWP-411A
* ,------------------------, ,------------------------.
* | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10|
* `------------------------' `------------------------'
* ,-------------------------------------------------------------. ,---------------.
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS | | 7| 8| 9| -|
* |-------------------------------------------------------------| |---------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Del| | | 4| 5| 6| +|
* |---------------------------------------------------------' | |---------------|
* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `|Enter | | 1| 2| 3| ,|
* |-------------------------------------------------------------| |---------------|
* |Shift | Z| X| C| V| B| N| M| ,| ,| /| | Shift | | 0| ↑ | .| |
* |-------------------------------------------------------------| |-----------|Ent|
* |Alt |Cap| | Space | | | | | | ← | ↓ | → | |
* `-------------------------------------------------------------' `---------------'
* ,------------------------, ,------------------------.
* | 01 | 02 | 03 | 04 | 05 | | 06 | 07 | 08 | 09 | 0A |
* `------------------------' `------------------------'
* ,-------------------------------------------------------------. ,---------------.
* | 0B| 0C| 0D| 0E| 0F| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19 | | 4B| 4C| 4D| 4E|
* |-------------------------------------------------------------| |---------------|
* | 1A | 1B| 1C| 1D| 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| | | 4F| 50| 51| 52|
* |---------------------------------------------------------' | |---------------|
* | 28 | 29| 2A| 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 35 | | 53| 54| 55| 56|
* |-------------------------------------------------------------| |---------------|
* | 36 | 37| 38| 39| 3A| 3B| 3C| 3D| 3E| 3F| 40| 41| 42 | | 57| 58| 59| |
* |-------------------------------------------------------------| |-----------| 5A|
* | 43 |44 | 45 | 46 | 47 | 48| 49| 4A | | 5B| 5C| 5D| |
* `-------------------------------------------------------------' `---------------'
*/