AMIGA 500/1000/2000 Keyboard Interface

It works! I'm typing this text from my Amiga 1000 keyboard. I first experimented the same issues as Yorgle did (garbage text with an A1000 keyboard, as he mentioned on comment #63), but it appears the issue didn't come from a presumed specific clock speed (comment #68), it just came from a faulty adapter, making noise in the signal. Here is what I did to make it work:

  • Plugging the RJ9 male jack from the Amiga 1000 keyboard cordon into a regular RJ45 CAT5e female connector

  • Wiring pins 3, 4, 5 and 6 from the RJ45 to the pins 5v, 8, 9, GRND respectively on the Arduino Leonardo with CAT5e single-strand network cable (I think THIS PARTICULAR kind of cable makes it works without making any noise on the signal)

The wires are not soldered. They are crimped on the RJ45 side and have the right width for connecting them directly into the Arduino Leonardo headers.

My keyboard is a French version (ISO/European layout), and I use the code from DrRemulak (comment #60).

EDIT: the controller on my A1000 keyboard with ISO layout is a MOS 6570-36, the same one found on the other Amiga keyboard (500, 2000, 3000, 4000). I guess it's because this Amiga is the second generation of A1000, the PAL version, launched in Europe in 1986, just before the A500 and A2000. Yorgle seems to have an original A1000 NTSC, produced in 1985. On this earlier model the controller is a MOS 6570-33. Maybe that explains the incompatibility he experimented with the code we discuss here.