Commodore Datasette
Commodore Datasette
Main page
2204483

Commodore Datasette

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Commodore Datasette

The Commodore 1530 (C2N) Datasette, later also Datassette (a portmanteau of data and cassette), is Commodore's dedicated magnetic-tape data storage device. Using compact cassettes as the storage medium, it provides inexpensive storage to Commodore's 8-bit computers, including the PET, VIC-20, and Commodore 64. A physically similar model, Commodore 1531, was made for the Commodore 16 and Plus/4 series computers.

The Datasette is probably the most sophisticated tape-storage method of any microcomputer. Typical compact cassette interfaces of the late 1970s use a small controller in the computer to convert digital data to and from analog audio tones. The interface connects to the cassette deck using normal audio cables like RCA jacks or 3.5mm phone jacks. Such a system is compatible with the Apple II and TRS-80 Color Computer, as well as many S-100 bus systems, and allows them to be used with any cassette player with suitable connections, but using analog tones—similar to how dial-up modems work—often results in read errors instead of successful loading of data.

In the Datasette, instead of writing two tones to tape to indicate bits, patterns of square waves are used, including a parity bit. Programs are written twice to tape for error correction; if an error is detected when reading the first recording, the computer corrects it with data from the second. The Datasette has built-in analog-to-digital converters and audio filters to convert the computer's digital data into analog audio and vice versa. Connection to the computer is done via a proprietary edge connector (Commodore 1530) or mini-DIN connector (1531). The absence of recordable audio signals on this interface makes the Datasette and clones the only cassette recorders usable with Commodore computers, until aftermarket converters made the use of ordinary recorders possible.

Because of its digital format the Datasette is both more reliable than other data cassette systems and very slow, transferring data at around 50 bytes per second. After the Datasette's launch, however, special turbo tape software appeared, providing much faster loading and saving. Such software was integrated into most commercial prerecorded applications (mostly games), as well as being available separately for loading and saving the users' homemade programs and data. These programs were only widely used in Europe, as the US market had long since moved onto disks.

Datasettes can typically store about 100 kByte per 30 minute side. The use of turbo tape and other fast loaders increased this number to roughly 1000 kByte.

The Datasette has only one connection cable, with a 0.156-inch (4.0 mm)–spacing PCB edge connector at the computer end. All input/output signals to the Datasette are all digital, and so all digital-to-analog conversion, and vice versa, is handled within the unit. Power is also included in this cable. The pinout is ground, +5 V DC, motor, read, write, key-sense. The sense signal monitors the play, rewind, and fast-forward buttons but cannot differentiate between them. A mechanical interlock prevents any two of them from being pressed at the same time. The motor power is derived from the computer's unregulated 9 V DC supply via a transistor circuit.

To record physical data, the zero-crossing from positive to negative voltage of the analog signal is measured. The resulting time between these positive to negative crossings is then compared to a threshold to determine whether the time since the last crossing is short (0) or long (1). Note the lower amplitude for the shorter periods.

A circuit in the tape unit transforms the analog signal into a logical 1 or 0, which is then transmitted to the computer via the tape connector. Inside the computer, the first Complex Interface Adapter (6526) in the C64 senses when the signal goes from one to zero. This event is called trigger and causes an interrupt request. This event can be handled by a handler code, or simply discovered by testing bit 4 of location $DC0D. The points that trigger this event are indicated by the black circles in the figure.

See all
User Avatar
No comments yet.