RetroWiki

Retrograde 64

User Tools

Site Tools


doc:cbm:io:iec:how_serial_bus_works

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:cbm:io:iec:how_serial_bus_works [2022/08/16 12:23] – [SOME TECHNICAL GROUND RULES] eekdoc:cbm:io:iec:how_serial_bus_works [2023/11/12 23:43] (current) eek
Line 1: Line 1:
-//This article appeared in [[https://archive.org/stream/1983-07-compute-magazine/Compute_Issue_038_1983_Jul#page/n179/mode/2up|Compute! issue 38, July 1983]] and is Copyrighted 1983 by Jim Butterfield//+//This article appeared in [[https://archive.org/stream/1983-07-compute-magazine/Compute_Issue_038_1983_Jul#page/n179/mode/2up|Compute! issue 38, July 1983]] and is Copyrighted 1983 by Jim Butterfield. This wiki rendition was done by Eek/Retrograde.//
  
 ====== HOW THE VIC/64 SERIAL BUS WORKS ====== ====== HOW THE VIC/64 SERIAL BUS WORKS ======
Line 11: Line 11:
 ===== GROUND RULES ===== ===== GROUND RULES =====
 To understand the workings of this bus, you must work through a few concepts. Later, we'll get To understand the workings of this bus, you must work through a few concepts. Later, we'll get
-technical for this who want it.+technical for those who want it.
  
 The bus, like the IEEE, has two modes of operation: Select mode, in which the computer calls all devices and asks for a specific device to remain connected after the call ("Jones, would you stay in my office after the meeting?"); and Data mode, in which actual The bus, like the IEEE, has two modes of operation: Select mode, in which the computer calls all devices and asks for a specific device to remain connected after the call ("Jones, would you stay in my office after the meeting?"); and Data mode, in which actual
Line 52: Line 52:
 If the Ready for Data signal isn't acknowledged by the talker within 200 microseconds, the listener knows that the talker is trying to signal EOI. EOI, which formally stands for "End of Indicator," means "this character will be the last one." If it's a sequential disk file, don't ask for more: there will be no more. If it's a relative record, that's the end of the record. The character itself will still be coming, but the listener should note: here comes the last character. If the Ready for Data signal isn't acknowledged by the talker within 200 microseconds, the listener knows that the talker is trying to signal EOI. EOI, which formally stands for "End of Indicator," means "this character will be the last one." If it's a sequential disk file, don't ask for more: there will be no more. If it's a relative record, that's the end of the record. The character itself will still be coming, but the listener should note: here comes the last character.
  
-So if the listener sees the 200 microsecond time-out, it must signal "OK, I noticed the EOI" back to the talker, I does this by pulling the Data line true for at least 60 microseconds, and then releasing it.+So if the listener sees the 200 microsecond time-out, it must signal "OK, I noticed the EOI" back to the talker. It does this by pulling the Data line true for at least 60 microseconds, and then releasing it.
  
 The talker will then revert to transmitting the character in the usual way; within 60 microseconds it will pull the Clock line true, and transmission will continue. The talker will then revert to transmitting the character in the usual way; within 60 microseconds it will pull the Clock line true, and transmission will continue.
Line 65: Line 65:
 Now, for each bit, we set the Data line true or false according to whether the bit is one or zero. As soon as that's set, the Clock line is released to false, signalling "data ready." The talker will typically have a bit in place and be signalling ready in 70 microseconds or less. Now, for each bit, we set the Data line true or false according to whether the bit is one or zero. As soon as that's set, the Clock line is released to false, signalling "data ready." The talker will typically have a bit in place and be signalling ready in 70 microseconds or less.
  
-Once the talker has signalled "data ready," it will hold the two lines steady for at least 20 microseconds timing needs to be increased to 60 microseconds if the Commodore 64 is listening, since the 64's video chip may interrupt the processor for 42 microseconds at a time, and without the extra wait the 64 might completely miss a bit.+Once the talker has signalled "data ready," it will hold the two lines steady for at least 20 microseconds timing needs to be increased to 60 microseconds if the Commodore 64 is listening, since the 64's video chip may interrupt the processor for 42 microseconds at a time, and without the extra wait the 64 might completely miss a bit.
  
 The listener plays a passive role here; it sends nothing, and just watches. As soon as it sees the Clock line false, it grabs the bit from the Data line and puts it away. It then waits for the clock line to go true, in order to prepare for the next bit. The listener plays a passive role here; it sends nothing, and just watches. As soon as it sees the Clock line false, it grabs the bit from the Data line and puts it away. It then waits for the clock line to go true, in order to prepare for the next bit.
Line 89: Line 89:
 Normally, the computer is the only device that will pull ATN true. When it does so, all other devices drop what they are doing and become listeners. Normally, the computer is the only device that will pull ATN true. When it does so, all other devices drop what they are doing and become listeners.
  
-Signals sent by the computer during an ATN period look like ordinary characters - eight bits with the usual handshake - but they are not data. They are "Talk," "Listen," "Untalk," and "Unlisten" commands telling a specific device that it will become (or cease to be) a talker or listener. The commands go to all devices, and all devices acknowledge them, but only the ones with the suitable device numbers will switch into talk and listen mode. These commands are sometimes followed by a secondary address, and after ATN is released, perhaps by a file name.+Signals sent by the computer during an ATN period look like ordinary characters - eight bits with the usual handshake - but they are not data. They are "Talk," "Listen," "Untalk," and "Unlisten" commands telling a specific device that it will become (or cease to be) a talker or listener. The commands go to all devices, and all devices acknowledge them, //but only the ones with the suitable device numbers will switch into talk and listen mode//. These commands are sometimes followed by a secondary address, and after ATN is released, perhaps by a file name.
  
 An example might help give an idea of the nature of the communications that take place. To open for writing a sequential disk file called "XX," the following sequence would be sent with ATN on:DEVICE-8-LISTEN;SECONDARY-ADDRESS-2-OPEN. When ATN switches off, the computer will be waiting as a talker, holding the Clock line true; and the disk will be the listener, holding the Data line true. That's good, because the computer has more to send, and it will transmit: X;X;comma;s;comma;W - the W will be accompanied with an EOI An example might help give an idea of the nature of the communications that take place. To open for writing a sequential disk file called "XX," the following sequence would be sent with ATN on:DEVICE-8-LISTEN;SECONDARY-ADDRESS-2-OPEN. When ATN switches off, the computer will be waiting as a talker, holding the Clock line true; and the disk will be the listener, holding the Data line true. That's good, because the computer has more to send, and it will transmit: X;X;comma;s;comma;W - the W will be accompanied with an EOI
doc/cbm/io/iec/how_serial_bus_works.1660652595.txt.gz · Last modified: 2022/08/16 12:23 by eek

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki