The Commodore IEC serial bus is a proprietary 6-pin DIN-45322 open-collector interface used on the Commodore 64, C16, C116, and Plus/4 computers to communicate with peripherals such as floppy disk drives and printers. It is derived from the IEEE-488 bus and operates at TTL logic levels (0 V/5 V, active low) rather than RS-232 voltages. All signal lines are open-collector, meaning any connected device can pull a line low; the bus supports multiple talkers and listeners in a daisy-chain topology. Data rates are well below the theoretical maximum — the C64 achieves under 1 KB/s due to software timing compromises and VIC chip DMA interference.
6 PIN DIN (DIN45322) FEMALE at the Computer
6 PIN DIN (DIN45322) MALE at the Cable
| Pin | Name | Description |
|---|---|---|
| 1 | /SRQIN | Serial SRQIN |
| 2 | GND | Ground |
| 3 | ATN | Serial ATN In/Out |
| 4 | CLK | Serial CLK In/Out |
| 5 | DATA | Serial DATA In/Out |
| 6 | /RESET | Reset |
Signals
- /SRQIN — Service Request (active low); asserted by a peripheral to request attention from the host; unused on the C64 but present on the connector.
- GND — Signal ground; common reference for all open-collector lines.
- ATN — Attention (active low); driven by the computer to signal the start of a command frame, selecting which device should respond.
- CLK — Clock (active low, open-collector); used for handshaking during data transfer; the current talker controls the clock line.
- DATA — Data (active low, open-collector); carries serial data bits; direction reverses between command and data phases.
- /RESET — System reset (active low); resets all connected peripherals when asserted.
Notes
- The connector is a 6-pin DIN-45322; peripheral devices carry two identical ports to allow daisy-chaining along the bus.
- All lines are TTL open-collector: a logical 0 is represented by pulling the line to 0 V; a logical 1 is the released (high, ~5 V) state. This is the inverse of RS-232 convention.
- The IEC serial bus is not RS-232 — no level converters are present and voltages never reach ±12 V.
- The C16, C116, and Plus/4 dropped the C64’s user port, making the IEC serial bus their sole serial connectivity option.
- The original design targeted approximately 10 KB/s; a bug in the VIC-20’s 6522 chip forced a software workaround that reduced throughput to ~2 KB/s on the VIC-20 and under 1 KB/s on the C64 (due to additional VIC DMA hold times of 60 µs).
- Each bit transfer requires a CLK/DATA handshake cycle of approximately 120 µs minimum.
References
- Commodore 64 Programmer’s Reference Guide — Commodore Business Machines, 1983 (Chapter 6, pp. 362–365)
- Commodore Peripheral Bus Part 4: Standard Serial — pagetable.com (Michael Steil)