Go Down

Topic: AMIGA 500/1000/2000 Keyboard Interface (Read 57962 times) previous topic - next topic

patts75

Hi Polymorph thank you for reply  :)
I'm just starting, which files should I upload then on to Arduino Leonardo pro micro in order to work?

if I purchase Arduino Leonardo pro micro with ATMEGA32U4, should it be all right?

thank you

I attach the scheme of the two models, according to you and correct?
I've used the same board and your scheme for the connection. And it works. :)

Phoenix2003

I've used the same board and your scheme for the connection. And it works. :)
Thank you  :smiley-wink:

how did you program it?

patts75

#77
Mar 28, 2018, 11:24 am Last Edit: Mar 28, 2018, 11:25 am by patts75
Thank you  :smiley-wink:

how did you program it?
I used @DrRemulak script on page 5 (post #60) and the latest IDE. And it works like a charm with Amibian. No joystick DSubs wired up just yet. But i'll try that out later.

yserra

#78
Jun 30, 2018, 04:06 pm Last Edit: Jul 21, 2018, 03:42 pm by yserra
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.

Boss00

#79
Jul 01, 2018, 02:04 am Last Edit: Jul 01, 2018, 02:08 am by Boss00
Hey guys, I'm new to the forum. sorry for my english.
I built an a500, inside I mounted a toshiba portege r830,
I adapted the a500 keyboard with arduino pro micro 5v. when windows started system everything works perfectly. often I use the bios to boot from cd ... every time I have to connect an external usb keyboard, because of the problem of hid leonardo recognition ... I also read a certain NICOHOOD who released patches in about. but let's say that I'm very good with wired electronics, and the electronics programmed for me is a bit difficult to understand ... someone would know how to help me about the problem of bios with an example to apply, and I would be grateful. :)

DrRemulak

Here is code for early A1000 keyboards with the MOS 6570-33/328191-01 keyboard controller IC! My tests have all been great so far.

I also figured out the reboot issue! The A1000 keyboard does not have a separate RESET signal wire, it only has 4 wires on the connector. Also the 4-wire reboot code in this sketch can be applied to my previous A2000 code to make it work on 4-wire A2000 keyboards.



DrRemulak

And here is a version for A2000 4-wire keyboards. I have not tried it on A500/A2000 with extra Reset wire, but it very well may work.

Annoyingly, my 4-wire A2000 keyboard (and possibly others), ignore the first keystroke. What happens is the Leonardo waits for the first keystroke to sync with the keyboard, and during that sync phase misses the keypress. However it does get the key release, so I added code there to process it as a press-and-release. Because of that, held-down modifiers (shift, ctrl, alt) are ignored. I did get CTRL+Amiga+Amiga to work as the first keystroke though.



DrRemulak

I am a totally noob in Arduino,
i am trying program a Arduino Pro Micro with this code to use a spanish A2000 keyboard on a Raspberry Pi , when i connect the Arduino on the PC USB connector, the computer think that i has press CTRL+ALT+DEL,
Whats append?
Is problem of my Arduino Pro Micro?
I am doing something wrong?
Which code are you using? The original code by the original poster has this issue, but not my modified code. See the code attached to my latest posts.

DrRemulak

I have discovered one more bug. The CTRL-ALT-DEL command is being sent on bootup and connection. I missed it because uploading the sketch and the reconnection/restart of the Arduino did not cause it. It is only when I boot up a PC, or when I plug the Arduino in to USB that the this happens. I discovered that I have no need for the CTRL+A+A reboot functionality, so I simply commented out the two lines that send it. They must be both commented out to avoid this issue. Not sure why both are being executed at connection, I will revisit this later.
 

Go Up