Commodore bus
   HOME

TheInfoList



OR:

The Commodore serial IEEE-488 bus (IEC Bus), is
Commodore Commodore may refer to: Ranks * Commodore (rank), a naval rank ** Commodore (Royal Navy), in the United Kingdom ** Commodore (United States) ** Commodore (Canada) ** Commodore (Finland) ** Commodore (Germany) or ''Kommodore'' * Air commodore ...
's interface for primarily magnetic disk data storage and
printer Printer may refer to: Technology * Printer (publishing), a person or a company * Printer (computing), a hardware device * Optical printer for motion picture films People * Nariman Printer (fl. c. 1940), Indian journalist and activist * James ...
s for Commodore
8-bit In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
home computers: the
VIC-20 The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
,
Commodore 64 The Commodore 64, also known as the C64, is an 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 the Guinness ...
,
Commodore 128 The Commodore 128, also known as the C128, C-128, C= 128,The "C=" represents the graphical part of the logo. is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the ...
, Plus/4,
Commodore 16 The Commodore 16 is a home computer made by Commodore International with a 6502-compatible 7501 or 8501 CPU, released in 1984 and intended to be an entry-level computer to replace the VIC-20. A cost-reduced version, the Commodore 116, was ...
, and
Commodore 65 The Commodore 65 (also known as the C64DX) is a prototype computer created at Commodore Business Machines in 1990–1991. It is an improved version of the Commodore 64, and it was meant to be backwards-compatible with the older comput ...
.


Description and history

The parallel
IEEE-488 IEEE 488 is a short-range digital communications 8-bit parallel multi-master interface bus specification developed by Hewlett-Packard as HP-IB (Hewlett-Packard Interface Bus). It subsequently became the subject of several standards, and is ...
interface used on the
Commodore PET The Commodore PET is a line of personal computers produced starting in 1977 by Commodore International. A single all-in-one case combines a MOS Technology 6502 microprocessor, Commodore BASIC in read-only memory, keyboard, monochrome monitor, an ...
(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 home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
(1980). Connection to the computer utilizes a DIN-6 connector (DIN 45322).


Transfer speed


Interface


Protocol description

The bus signals are digital single-ended
open collector An open collector is a common type of output found on many integrated circuits (IC), which behaves like a switch that is either connected to ground or disconnected. Instead of outputting a signal of a specific voltage or current, the output sig ...
TTL TTL may refer to: Photography * Through-the-lens metering, a camera feature * Zenit TTL, an SLR film camera named for its TTL metering capability Technology * Time to live, a computer data lifespan-limiting mechanism * Transistor–transistor lo ...
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 returns true if either or both of its inputs are true; otherwise it returns false. The input and output states are normally represented by different voltage le ...
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 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 the Guinness ...
. 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 The Commodore 1540 (also known as the VIC-1540) introduced in 1982 is the companion floppy disk drive for the VIC-20 home computer. It uses single-sided 5¼" floppy disks, on which it stores roughly of data utilizing Commodore's GCR data enco ...
and 1541 floppy drives use the
MOS Technology 6522 The 6522 Versatile Interface Adapter (VIA) is an integrated circuit that was designed and manufactured by MOS Technology as an I/O port controller for the MOS Technology 6502, 6502 family of microprocessors. It provides two bidirectional 8-bit p ...
VIA to handle IEC Bus transmissions. The Commodore 64 and 128 computers and the
Commodore 1571 The Commodore 1571 is Commodore's high-end 5¼" floppy disk drive, announced in the summer of 1985. With its double-sided drive mechanism, it has the ability to use double-sided, double-density (DS/DD) floppy disks, storing a total of 360&nbs ...
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 DOS, also known as CBM DOS, is the disk operating system used with Commodore's 8-bit computers. Unlike most other DOSes, which are loaded from disk into the computer's own RAM and executed there, CBM DOS is executed internally in the dr ...
*
Commodore 64 peripherals This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 an ...
*
List of device bit rates This is a list of interface bit rates, is a measure of information rate, information transfer rates, or bandwidth (computing), digital bandwidth capacity, at which digital interfaces in a computer or networking hardware, network can communicate ov ...
*
Commodore 1541 The Commodore 1541 (also known as the CBM 1541 and VIC-1541) is a floppy disk drive which was made by Commodore International for the Commodore 64 (C64), Commodore's most popular home computer. The best-known floppy disk drive for the C64, the ...
*
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. Floppy disks Fast loaders came about because of a discrep ...
*
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 IBM 7 track, 7-track, ...
*
IEEE-488 IEEE 488 is a short-range digital communications 8-bit parallel multi-master interface bus specification developed by Hewlett-Packard as HP-IB (Hewlett-Packard Interface Bus). It subsequently became the subject of several standards, and is ...
, the original parallel version


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