Skip to content

Sony NEWS

hasu@tmk edited this page Nov 29, 2023 · 36 revisions

Sony NEWS Keyboard Converter

Wiring

Use PD2(USART RXD) for 'Keyboard Data' pin and give power with VCC and GND. Other pins are optional.

AVR     NEWS
 ------------------------
 PD0     7 Mouse Data
 PD1     2 BZ(Speaker)
 PD2     3 Keyboard Data
 PD3     6 Keyboard Command(NWP-5461 only)
 PD4     8 POWER ON Switch(NWP-5461 only)
 VCC     1 VCC
 GND     5 GND

Target microcontroller is Atmel ATMega32U2 by default but porting this project to other 8-bit AVR controllers would be easy.

Limitations

  • Mouse connection is not supported.(I’ll work on when obtaining it)

Keyboard

Connector Pinouts

hJn4sDC
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 keyboard 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 D1)
                      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

Scan Code

Its 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|   |
 * `-------------------------------------------------------------'  `---------------'
 */

POWER ON Switch registers scan code 0x7A(0xFA) and pin 8 is not needed actually.

Protocol

NEWS protocol is a usual asynchronous serial communication. You can receive data from the keyboard easily with UART of micro controller.

  • TTL level

  • 9600bps(keyboard) / 1200bps(mouse)

  • 1-start bit

  • 8-data bit

  • non-parity

  • 1-stop bit.

Data is received as serial input at 9600 bps from the keyboard and 1200 bps from the mouse.

Format: start bit(0), 8-bit data(LSB first), stop bit(1)

1 ___     ___ ___ ___ ___ ___ ___ ___ ___ ______
0    \___/___X___X___X___X___X___X___X___/
       S   0   1   2   3   4   5   6   7   S

Commands

Found Commands

NWP-5461 supports commands from host(pin 6) while NWP-411A does not at all.

I found some commands below with brute force trials.

80      Reset?
        FB
81      replies whether LED command is enabled
        7B [00|01] FB
82      enable LED command
83      replies DIP switches status
        7B 00 0X FB
        0000 xxxx     0:OFF, 1:ON
             |||`---- DIPSW-1
             ||`----- DIPSW-2
             |`------ DIPSW-3
             `------- DIPSW-4

B0 0X   set LED status
        0000 xx00     0:OFF 1:ON
             |`------ CapsLock
             `------- かな
B1      replies LED status
        7B 0X FB

`FB` means ACK probably.
`7B` indicates start of reply bytes.

Keyboard Buzzer

3-7-2. keyboard Buzzer

The NEWS series keyboard features a built-in buzzer which can be buzzed by a signal from the system unit. In the NWS-1500, the external oscillator circuit is activated when the keyboard buzzer port is accessed, producing the sound of a buzzer. The buzzer frequency is different depending on whether the port is read or write accessed. With READ, the tone produced is approximately 2.2kHz, with WRITE, approximately l.4kHz. A flowchart of this process is given below.

Buzzer can be drived with pulsing on BZ pin. With TMK firmware you can use tone() functrion to control the buzzer. https://github.com/tmk/tmk_keyboard/commit/6d577b33b740d6a9cc407e1614ddb8f83b3b2d8d

Mouse

Mini-DIN 8P, Serial output 1200 bps

data bit structure: start 1 bit, stop 2 bit, data 8 bit, no parity (transfered from LSB side)

0

1

2

3

4

5

6

7

S

SW1

SW2

SW3

X7

Y7

0

0

1

X

X0

X1

X2

X3

X4

X5

X6

0

Y

Y0

Y1

Y2

Y3

Y4

Y5

Y6

0

Pinout MJjfGnp

       ___ ___
      /  |_|  \
     / 8  7  6 \
    | 5    4  3 |
     \_ 2   1 _/
       \_____/
     (receptacle)

4 VCC
5 GND
6 mouse data
Input output level V (OL) =less than 0.4V (logic O) V (OH)= more than 2.4V (logic 1)
Buttons 3
Dimensions 62 x 29 x 100 mm 0N x H x D, not including cord)
Weight Approx. 200g
Resolution 8 count/mm (200 CPI)
Interface TIL level Serial Interface 1200 bps 

Mouse Data(6) is just connected to keyboard conecctor pin(7) through two inverters(HD7416P and HD74LS14P) in NWP411A.

netbsd source reference:

fj.sys.news:

Keyboard Variants

NWP-5461

Sony NEWS NWP 5461 Front

It seems that DIP switches do not change keyboard behaviour.

NWP-410

Thumb shift keyboard according to 'NWS-15xx Service Manual'

Resouces

Clone this wiki locally