There are no resources about this keyboard and the protocol it uses to communicate with the PC. This keyboard works with Amstrad 2386 and 3386 computers, also branded as Sinclair-Amstrad APC 286 and 386, respectively. This keyboard is pretty rare to get nowadays. Without it, it is impossible to change BIOS setting and effectively to make the PC boot, assuming the CMOS battery in a vintage machine is likely dead.
Unlike most of the other keyboards, including PC XT/AT and PS2, this keyboard has a keyboard encoder chip located inside the keyboard. Key presses are analysed and communicated to the PC, using Intel P8050AH micro-controller.
Keyboard is connected to the PC using a 5-wire cable with a 5-pin 240-degree DIN connector. The pin numbers and colors relate to the encoder board connector, internal to the keyboard, on the other side of the cable.
Signals available on the connector:
- GND – ground.
- +5V – power.
- CLOCK – clock generated by the keyboard. Clock’s falling edge indicates that the DATA signal contains a valid bit state.
- DATA – data bit transmitted by the keyboard.
- READY/ACK – signal set by the PC, when high, keyboard can send the data to the PC. Upon boot, this signal is initially low and goes high during BIOS initialisation. It is not clear whether PC can use this signal in any point in time, to indicate that it is not capable of receiving data and to stop the keyboard from sending it. PC seems to be using it in repeatable points in time, which looks like it acknowledges reception of data sequences from the keyboard. On the other hand, if we remove the signal from the keyboard, the keyboard still seems to operate correctly. It is also not clear why the signal has always the form as presented on the picture below. More investigation is needed.
When READY/ACK signal from the PC is high, the keyboard can transmit data to the PC serially, using DATA signal and strobing the data with CLOCK signal (at its falling edge). The transmission speed is about 24450 bits per second. There are 3 different types of data sequences transmitted:
- Initialisation sequence – sent by the keyboard after boot
- Scan code sequence – for most of the keys there is 1 byte transmitted per key, but some keys transmit 2, 4 or 6 bytes at once. A single byte is transmitted using 11 bits of data.
- LED status sequence – sent following a scan code for a key that has a LED status.
After one byte of a scan code is transmitted, the PC sends a READY/ACK signal to the keyboard. When this signal is low, keyboard will not transmit subsequent data, waiting for it to become high.
After the PC and keyboard are powered on, READY/ACK signal is low. During BIOS initialisation, PC sets this signal high. As a response, the keyboard transmits two sequences of 33 and 22 bits to the PC:
The meaning and purpose of these sequences are not known.
Scan code sequence
A key press on the keyboard results in sending a scan code sequence to the PC. Most of the keys generate 1 byte of code. A byte is transmitted as 2 opening bits (always 1), 8 bits of the code and 1 closing bit (always 1) – a total of 11 bits.
Some keys generate more than 1 byte of code. ALT GR, right CTRL, keypad divide and keypad ENTER generate 2 bytes. Print screen, Break, Page Up/Down, Home, End, Insert, Delete and cursor keys generate 4 bytes. Pause generates 6 bytes.
LED status sequence
A scan code for a key with LED (CAPS LOCK, NUM LOCK, SCROLL LOCK) is always immediately followed by the current status of all three LEDs. The status is encoded using two 22-bit sequences:
The status of LEDs is put into bits indicates as C,N,S. The purpose of all other bits is not clear.
All scan codes
9 thoughts on “Amstrad 2386 Keyboard”
Good job! I’ve the service manual of Service Manual Amstrad PC2386-65 (first revision). There are some additional information about it that I could scan for you to publicate it.
I’m actually repairing the power supply of an old PC2386, but I think that this keyboard is compatible also with models PC2286 and PC3286, as observed in service manuals of PC2286/PC2386 models.
Thanks for the good words! Of course if you can send the service manual for publishing it will be amazing. I failed to find any copy anywhere over the Internet. Thanks.
I know it’s a verte Old thread but Hope to find some help.
35 years later I finally make a dream came true… A dead Amstrad PC2386.
I’ve just get my Amstrad PC2386 working. Haven’t any Service Manual as I was totally blind but, today, the Amstrad started to work. Yeeeeah. Now I have issues because I can’t go inside the BIOS. Sadlu, I just get a PC2286 Keyboard as I couldn’t find the 386 one. Thought they are the sane but It didn’t wants to work.
If both are using the same protocol maybe my PC2286 is Dead. Un don’t know. It seems to be very frustating for me as I expent tons of hours ti bring PC2386 back to life but now I’m in a Dead End.
¿Any suggestions? Is some kind of Project to emulate Amstrad’s protocol out there?
Where Could I can find the 2286/2385 Service and Owners’ manual to download?
Thanks un advance and congrats fue your website.It was very useful for me.
It’s a pity… I’m almost there.
Hi. This is a completely different keyboard. PC keyboard is not compatible. You may go to Amstrad PC group on Facebook I think there has been someone who built an adapter.
I also had PS broken. By the way it’s alive, thanks God.
Could you Kindly send your manuals to me? I did a lot of research but there’s no much info about tech specs and so on.I found out this wonderful site but I am still needing all the info that I could afford in order to preserve that piece of computer history.
Thank you so much.
I have a keyboard from a PC4386SX. I’ve seen your article, asumed that the keyboard could be similar to the one in the article, and I tried to replace the 240 5 pin din with a USB. Power to power, ground to ground and the other 2: Data – and Data +, using different combinations of DATA, CLOCK and ACK. I couldn’t make it work. I have no clue about electronics. Could you please tell me if there is a way to use such a keyboard with todays computers? Do you know where I can find additional information on how to do it?
Thank you for article, despite I can’t hardly follow it.
Hi. You can’t connects USB to anything other than USB without an active adapter. These interfaces just are completely different. To hook that keyboard up to a modern PC we would need some device that would translate between the both protocols. To my knowledge, unfortunatelly, no such device exists for this keyboard.
I know is an old comment, but may i ask did you finish that project with your PC4386SX keyboard to USB?