Key-Tap: A hardware configurator for the Amiga 500

Update 2021/03: GIT repository available!

In this post I want to provide the details of an older project I published  in 2014 on This little piece of hardware is used to provide some means for configuring an Amiga 500 with the keyboard. This is to replace at least some of the small switches that are commonly used to configure the extensions in an Amiga. The circuit listens to the keys pressed on the Amiga keyboard and then adjusts some of its output pins. These pins connect to jumper headers on the extension boards and hence provide some means to configure these extensions without opening the case or drilling holes into it.
Note however, that this project is not for beginners. If you have other extensions than I have, you will likely have to adapt the firmware to your needs. Also, you have to figure out whether your extensions are configurable by means of an external MCU, that is if is suffices to drive a signal statically high or low. Switching a dynamic signal is not possible (without extra hardware). For example, I have seen some kickstart switches that use a switch to route an enable signal to either of the two ROMs.

In any case you need a possibility to program the AtTiny4313 micro-controller with an in system programmer (ISP). These are cheaply available and connect to USB or parallel port. A lot of information regarding this micro-controller can be obtained on the excellent websites or (German).

In addition, if you are not running a Linux machine similar to mine there might be some extra difficulties adapting the code to your build environment. In particular I am not using AVR studio and this distribution does not include any project file for it. I am using avr-gcc, make and avrdude to build and flash the images. However, pre-built firmware images are included, if you are happy with the firmware out of the box.

The PCB files and the firmware are open source,  so build your own!

Continue reading Key-Tap: A hardware configurator for the Amiga 500