Intel INTELLEC Hardware Reference Manual page 28

Double density, diskette operating system
Table of Contents

Advertisement

the interrupt status), the CPU should execute channel commands 5 and 6 (read result type and read result byte)
to determine whether the diskette operations were successfully completed, and if not which type of error occurred.
Thus, in summary, we see that certain channel commands are executed by the CPU to point the Diskette Channel to
an IOPB in system memory, and initiate the operation sequence. The Diskette Channel, then, accesses the IOPB to
^
perform the diskette operation specified by the instruction byte of the IOPB. The Diskette Channel will, if enabled
by the IOPB, generate an I/O complete interrupt request upon completion of each diskette operation or detection of
an error. The CPU, then, executes other channel commands to determine the result of the diskette operation.
In the preceding paragraphs, we have mentioned the channel commands, diskette operations and the IOPB without
defining them explicitly. That is because up until now, our primary intention has been to identify clearly the function
of each in the overall operation of the Diskette Channel. In the subsequent sections of this chapter, however, we will
provide detailed information on the use and format of the channel commands (Section 2.1), the diskette operations
(Section 2.2) and the IOPB (Section 2.3). Section 2.4 will define each of the error conditions that can be indicated
when the 'read result byte' channel command is executed by the CPU.
,
^—^
2.1
CHANNEL COMMANDS
^^
• . - . • " < *
*
There are six channel commands to which the Diskette Channel will respond. Three of the channel commands are
issued when a CPU in the INTELLEC System executes output (I/O write) instructions with the appropriate
_
eight-bit I/O addresses. The other three commands are issued when the CPU executes input (I/O read) instructions
with the appropriate I/O addresses.
When the CPU executes one of the output channel commands, it activates the I/O write (IOWC/) line and duplicates
the appropriate 8-bit I/O address on address lines ADROY - ADR7/ and ADR8/ - ADRF/ of the INTELLEC
System bus. Depending on the particular channel command, the CPU may also place relevant data on data lines
\
DATO/ - DAT?/ of the INTELLEC System bus. The CPU maintains the data lines until the Diskette Channel
returns the transfer acknowledge (XACK/) signal.
"*" '
When the CPU executes one of the input channel commands, it activates the I/O read (IORC/) line and duplicates
the appropriate I/O address on both halves of the INTELLEC System bus. The CPU expects the Diskette Channel
to activate the transfer knowledge (XACK/) line when it has placed the requested data on data lines DATO/ —
DAT7/.
The Diskette Channel differentiates between the different channel commands by interrogating the I/O read (IORC/)
and I/O write (IOWC/) lines and the three least significant address lines (ADRO/ — ADR2/). The five most significant
I/O address lines (ADR3/ - ADR7/) define the switch-selectable BASE address for the Diskette Channel.
- .
, •*>:.•
• -
f
,~* '<rr
If the Diskette Channel is not busy, it will respond to an output channel command within 3 microseconds. If it is
busy, the 'write MA lower' and 'write MA upper' commands are ignored; no acknowledge is returned. (Note:
Because no acknowledge is returned in this case, it could be possible to 'hang up' the host system if the system does
not include a Fail Safe time-out provision, as is provided on the Front Panel Control Module in the INTELLEC
System). The 'reset' command, however, is acknowledged even if the Diskette Channel is busy. 'Reset' is executed
immediately (if issued during a data write operation, garbled data will be written).
The Diskette System responds to 'read subsystem status' and 'read result type' input channel commands within 1
microsecond. The information returned in response tb a 'read subsystem status' command is always valid. The eight
bits of data returned in response to a 'read result type' command, however, are only valid if the Diskette Channel had
previously issued an interrupt request to the CPU. The Diskette Channel will, if not busy, respond to a 'read result
byte' input command within 3 microseconds. If the Diskette Channel is busy, however, it ignores the 'read result
byte' command (i.e., no acknowledge is returned). The 'read result type' and 'read result byte' commands must be
2-2

Advertisement

Table of Contents
loading

Table of Contents