One of the coolest pieces of hardware I picked up in the last while was a
VIC-REL "cartridge". It isn't really a cartridge because it
plugs into the user port, but it is in a VIC20-style cartridge case. In
fact, it was designed for the VIC-20, and the manual is written for VIC20 users,
but there is a short appendix for what POKEs to substitute if you're using it on
a Commodore 64.
The VIC-REL gives you 6 relay outputs and 2 inputs. So, I used four of
the relay outputs to simulate moving levers in my remote control truck
transmitter.
Here's the VIC-REL cartridge. I used alligator clip leads, cut in
half, to go from the VIC-REL into the transmitter. From there I
clipped onto the contacts that are made when the levers are moved.
This was a pretty inexpensive toy, it only has on/off control. By
using the alligator clips (as opposed to solder), it will be much easier to
put the transmitter back together again. The little switch on the
front just connects/disconnects an internal 9V battery. This is
important, as the VIC-REL powers up with all the relays ON (!). In
other words, the truck tries to drive every direction simultaneously on
powerup, unless the transmitter is off.
Here's the truck itself.
The software is very simple. It's a short BASIC
program (available here) that initializes the VIC-REL
with two POKEs (one to set the User port to 6 outputs and 2 inputs) and one
to turn all the outputs off.
From there, a simple menu lets you set the outputs
individually, or drive the truck from Joystick Port 2 (very fun!!!)
You can also write short BASIC programs to make the truck follow a
predetermined timed pattern so it drives itself, which is really neat.