vax2:kurt (02/11/83)
The c64 has 2 6551(?) CIA chips. A CIA is sort of a fancy 6522, and contains 2 parallel ports with handshaking circuitry, 2 cascadable 16-bit timers, a serial shift register for implementing serial protocols, and a time-of-day clock with programmable alarm. The CIAs are used for internal functions in the c64. One parallel port is connected to the keyboard and one timer generates a periodic interrupt to scan the keyboard and provide type ahead. The serial ports are used in the RS-232 interface. This also uses some of the timers. One of the time-of-day clocks is available from BASIC. Some parallel lines are brought out to connectors on the back of the c64 One time of day clock is completely uncommitted. I think some timers are uncommitted. Naturally everything can be rearranged by changing the interrupt vector to point to some machine language routine you write (if you can get an assembler). Everything generates interrupts which can be enabled by software by writing to the many and various command registers. All this info is in the c64 reference manual. Kurt Guntheroth