Commodore 64 RS-232 Interface
By using a TTL-level RS-232 to USB converter, like this one, it was surprisingly easy to connect the Commodore 64 to a Linux box. I read somewhere that an inverter was required on the RxD/TxD signals, but during my testing with this converter, that was not necessary. This means you only need wires, and no additional electronics!
The RS-232 interface is found on the C64's user port, and the wiring is as follows:
C64 Signal: C64 User Port: Converter: ----------------------------------------- Ground A + N Gnd RxD B + C TxD TxD M RxD
The best terminal program for the Commodore 64 is NovaTerm, since it supports VT102/ANSI emulation and such.
Assuming the converter is connected to a Linux box and detected as /dev/ttyUSB0, the connection can be tested like this at 1200 baud, which is the most common:
screen /dev/ttyUSB0 1200
To provide a login prompt at 1200 baud and supporting ANSI escape characters, something like this can be run as root:
agetty -L ttyUSB0 1200 ansi
Here's a "screenshot" of NovaTerm 9.6c connected to a Linux box and running top: