Making retro Atari 65XE as an USB-keyboard for a modern computer. As will leave the opportunity to use this Atari in native mode. The Arduino Leonardo used to connect Atari's keyboard to an USB. With an UNIX this keyboard will work without any restrictions. Windows need to connect to PC any USB-mouse at BIOS startup for the booting with this keyboard. Apple or others need little corrections within the Arduino program for the keys order correction.
There are no other reasons besides nostalgia.
This Atari 65XE is nearly 30 years old. And he works. To add one more function for him - the USB-keyboard - is needed only Arduino Leonardo, not a lot of wires, an USB-cable. No DC-adapter of Atari will be needed for this function.
Only 34 soldering points are needed to make. Because the pitch of contacts on slots of the Atari's keyboard and on Arduino is 0.1 in (2.54 mm), the process of soldering is easy.
Note: for Linux usage it is applicable, as the restrictions described below are not important. But for full usage (in Windows, for example) it is needed to make more soldering (described here in the Appendix) and to modify the Arduino sketch.
After soldering wires from Arduino to J8 connector of Atari, Arduino can be placed at any cozi position under the case. The USB-cable needs to be connected to Arduino and let out from the Atari's case. Now possible to use this Atari like a regular USB-keyboard.
Not all keys of the retro Atari correspond to keys of a modern PC-keyboard. Some keys of Atari will be with 2 functions to make all PC's commands. It is possible to make some different layouts within the Arduino sketch. Within the layout of the Arduino sketch that's here, mainly keys of Atari correspond to PC-keys, but this ones are need to be noted:
In addition to the USB-keyboard usage it remains possible to enable this Atari in the native mode. But, of course, not at the same time when they are connected via an USB to a PC like a keyboard.
Flash Arduino Leonardo is easy via an USB. So, download:
- The Arduino sketch that need to flash to Arduino Leonard within Arduino IDE
- Keypad v.3.1.1 Arduino library, optional*
- Keyboard v.1.0.2 Arduino library, optional*
* - because here all ICs of Atari is stayed in his places (that makes possibility of Atari to work in the native mode) when Arduino scanning the keyboard's matrix, time to time some random signals is appears from a chips. Mainly they affect keys "Pause" and "Control" as tested. Some protection from these signals is made within the Arduino sketch and was tested. But if libraries "keyboard" and "keypad", that are developed independently, will change incompatibly, some weirdness can occur. For this case here fixed for download the versions of libraries that were tested with the Arduino sketch. These libraries will be needed only if the Arduino sketch will not work with actual libraries.Appendix (not a required, but improves buttons handling in its combinations)
For the full usage of all buttons and all its possible combinations for USB application, while keep the native Atari mode alive, need to exclude from the work a part of the Atari circuit (marked red) when the keyboard is connected via USB; and to engage this section if Atari is running in native mode.
It is not very difficult to do, only a lot of soldering is required (of course, not in the Atari scheme) and one chip CD4066.
One more thing that will help is that the 0.1 in (2.54 mm) male PCB strip connector fits perfectly into the Atari J8 slot.