The Commodore serial bus (IEC Bus), is
Commodore's interface for primarily
magnetic disk data storage and
printers for Commodore
8-bit
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data bu ...
home computer
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
s: the
VIC-20
The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit entry level home computer that was sold by Commodore International, Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commod ...
,
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit computing, 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in ...
,
Commodore 128,
Plus/4,
Commodore 16, and
Commodore 65.
Description and history
The parallel
IEEE-488 interface used on the
Commodore PET (1977) computer line was too costly, so a cost reduced version was developed, which consisted of a stripped down, serial version of the IEEE-488 interface, with only a few signals remaining; however, the general protocol layout was kept. Commodore began using this bus with the
VIC-20
The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit entry level home computer that was sold by Commodore International, Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commod ...
(1980). Connection to the computer uses a
DIN-6 connector (DIN 45322).
Transfer speed
Interface
Protocol description
The bus signals are digital
single-ended open collector TTL and active when low. Bus devices have to provide their own power.
Because the bus lines are electrically open collector it works like a long
OR gate
The OR gate is a digital logic gate that implements logical disjunction. The OR gate outputs "true" if any of its inputs is "true"; otherwise it outputs "false". The input and output states are normally represented by different voltage levels.
...
between all device line drivers. The logical value for ground is true and vice versa. Any device may set a line "true". A line only becomes "false" if all devices signal false.
Transmission begins with the bus talker holding the Clock line true, and the listener(s) holding the Data line true. To begin the talker releases the Clock line to false. When all bus listeners are ready to receive they release the Data line to false. If the talker waits more than 200 μs without the Clock line going true (idle state), listeners have to perform End-or-Identify (EOI).
If the Data line being false (released) isn't acknowledged by the talker within 200 μs, the listener knows that the talker is in the process of EOI that means "this character will be the last one". When the listener detects the 200 μs timeout, it must acknowledge this by pulling the Data line true for at least 60 μs, and then release it. The talker can revert to transmitting again within 60 μs by pulling the Clock line true.
[
Data is eight bits starting with the least significant bit. The Data line is set according to the bit to send (1=true=ground). Once the Data line is set, the Clock line is released to false. The Clock and Data lines will be held steady for at least 20 μs (except for Commodore 64 that needs 60 μs). After 8 bits has been sent, the talker releases the Data line to false and the listener then acknowledge the talker by pulling the Data line true within 1000 μs. After this the talker sets the Clock line true and listener sets the Data line true thus back where the transmission begun. If an EOI is signaled by holding the Clock line false the transmission is ended and the listener acknowledge this by pulling the Data line true for 200 μs.][
The ATN line is set to true and bytes are sent like above to all devices, but the byte is interpreted as one of the commands "Talk," "Listen," "Untalk," and "Unlisten". That tell a specific device to become a talker or listener. Only devices with matching device numbers switch into talk and listen mode. A secondary address may also follow.][
On higher logical level the host will set the ATN line to true and transmit the bytes "Device number 8, listen", "Secondary address 2, open". Next it will set the ATN line false and the host then becomes the talker, holding the Clock line true. The device will be the listener, holding the Data line true. The host will transmit the specific open command and end it with an EOI signal sequence. After this the host will set with ATN line true, "Device number 8, unlisten". Followed up by ATN line true and "Device number 8, listen", "Secondary address 2, data". Then the host sets the ATN line false and sends the data. When the host has finished sending data the ATN line is set to true and "Device number 8, unlisten" is sent.][
When it is necessary to switch roles and make the host a listener and the device a talker the occurs after a talk command has been sent to the device. The host sets the Data line true and releases the Clock line to false. The device waits for the Clock line to go false and then pulls it to true and release the Data line to false. After this sequence the standard talk-listener interaction may follow.][
To read a normal file from the floppy device number 8 the command ]LOAD "filename",8,1
is issued on a Commodore 64
The Commodore 64, also known as the C64, is an 8-bit computing, 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in ...
. That causes the following high level communication to take place:
The Commodore 1541 floppy drive uses a slower Commodore 64 compatible mode which can be deactivated for faster speed by using the command OPEN 15,8,15,"UI-":CLOSE 15
.
Device numbering
Device number 0–3 are not associated with the Commodore bus.[
]
Host implementation
The VIC-20 computer and the Commodore 1540 and 1541
__NOTOC__
Year 1541 ( MDXLI) was a common year starting on Saturday of the Julian calendar.
Events
January–March
* January 4 – Leonardo Cattaneo della Volta is elected to a two-year term as the new Doge of the Republic o ...
floppy drives use the MOS Technology 6522 VIA to handle IEC Bus transmissions. The Commodore 64 and 128 computers and the Commodore 1571 drive use the Complex Interface Adapter.
Common devices
Devices
File:Commodore-64-1541-Floppy-Drive-01.jpg, Commodore 1541 disk drive
File:VC1571.JPG, VC 1571 floppy drive
File:Commodore 1581 01.jpg, Commodore 1581 disk drive
File:Commodore Matrixdrucker MPS-802 (weißen hintergrund).jpg, Commodore MPS 802 printer
See also
* Commodore DOS
* Commodore 64 peripherals
The Commodore 64 home computer used various external peripherals. Due to the Backward compatibility, backwards compatibility of the Commodore 128, most peripherals would also work on that system. There is also some compatibility with the VIC-20 a ...
* List of device bit rates
* Commodore 1541
* Fast loader
A fast loader is a software program for a home computer, such as the Commodore 64 or ZX Spectrum, that accelerates the speed of file loading from floppy disk or Compact Cassette, compact cassette.
Floppy disks
Fast loaders came about becaus ...
* Magnetic tape data storage
Magnetic-tape data storage is a system for storing digital information on magnetic tape using digital recording.
Tape was an important medium for primary data storage in early computers, typically using large open reels of 7-track, later ...
* IEEE-488, the original parallel version (originally HP-IB)
* HP-IL, another serialisation of IEEE-488
References
External links
*
*
*
* IEC-bus documentation as used for the 1541-III IEC dissected
CBM storage devices
Home computer peripherals
Commodore 64
VIC-20
Legacy hardware
Computer buses
Computer connectors
Computer storage buses
IEEE standards
Personal area networks
Serial buses
{{Computer bus