Cassette Port

From C64-Wiki
Jump to navigationJump to search
Cassette Port of the C64.

Normally, the datasette would be attached to this port. As disk drives became more common, this port became less important for data storage and was used for various other purposes. Often, it was used as power source, i.e. for misc. printer interfaces. Nowadays, it is also used for data communication with other computer systems, as serial interface, or to connect a modem. It is also possible to connect a real time clock (RTC), a PC-keyboard or a digitizer to record speech.

The cassette port of the C128 is identical to the C64's but the C128D case. The VIC-20 and various PET-models have the same port regarding the pin assignment, but different internals, since there is no processor port in these computers.

Pin assignment[edit | edit source]

The cassette port is a 12-pin edge_connector, spacing 3.96mm, where 6 pins are on each sides (top and down) of the PCB. The opponent contacts are connected with each other, A with 1, B with 2, and so on.

Pin Assignment

Pin Signal Remark
A-1 GND Ground
B-2 + 5V 5 Volt DC
C-3 MOTOR Motor Control, approx. 6 Volt power supply of the motor
D-4 READ Data Input, read data from datasette
E-5 WRITE Data Output, write data to datasette
F-6 SENSE Detection, if one of the keys PLAY, RECORD, F.FWD or REW is pressed

Hint: The power supply of the motor is generated out of the 9V AC and will be switched on and off by a transistor stage.

Programming[edit | edit source]

From the four signals, three are directly connected with the on-chip port of the 6510 microprocessor. This 8-bit port is accessed via the zeropage-address $01. The signal "READ" is connected with CIA 1.

Bit Signal Remark
3 WRITE Cassette Data Output Line, Write
4 SENSE Cassette Switch Sense, 0 = key is pressed, 1 = no key pressed
5 MOTOR Cassette Motor Control, 0 = Motor on, 1 = motor off
/Flag READ Cassette Data Input Line, Read


The signal "/Flag" of the CIA 1 is connected to the "/SRQ IN" line of the serial interface.

Links[edit | edit source]