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