The serial joystick interface for TheMaze


What is this interface good for?

Like the parallel joystick interface the serial interface allows the connection of digital joysticks as used with AtariST, Commodore Amiga or C64 to a standard RS232 serial 1200 bit/s line.

The hardware

This is also availlable as postscript file, as a ZIP'ed OrCAD3.2 schematic and full size GIF!

The interface uses TxD, RTS and DTR to generate it's supply voltage of +12V/-12V. It acts as parallel to serial converter converting the five parallel joystick inputs into a 1200 bit/s serial rs232 signal. The baud rate is generated via a 2.457 mhz quarz and divided down to 1200 Hz by a CMOS 4060 (14 bit ripple stage binary counter). The counter drives a 8 channel analog multiplexer (CMOS 4051) that selects one of the parallel inputs and drives it to the output line.

The software

The interface is accessed at 1200 bit/s 8N1. The interface replies to a null byte (00000000b) with a byte of the form 11OFRLDUb. Where F represents the status of the fire button and RLDU are representing the right, left, down and up switches of the joystick. A set bit (1) indicates that the coresponding switch is closed. The O bit is not used (always 0) with standard C64 joysticks. It may be used for a second fire button connected to X7 (pin 4) of the 4051.

The simple demo program demonstrates the usage of the interface under Unix (tested under SunOS, HP-UX and Linux-i386).


Till Harbaum
Till@Harbaum.org