Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IBM System/32 Functions Reference Manual -- Chapter 8: Diskette drive functions

5 views
Skip to first unread message

French Luser

unread,
May 7, 2005, 9:00:32 AM5/7/05
to
IBM32DSK.WS4
------------

- Chapter 8 of the "IBM System/32 Functions Reference Manual"
IBM Document GA21-9176-1
Second Edition: May 1975

(Retyped by Emmanuel ROCHE.)


Chapter 8. Diskette drive functions
-----------------------------------

The IBM System/32 diskette drive has a single head for reading and
writing.
The diskette supports two primary system functions:

- Data interchange, using the IBM diskette for standard
data
interchange.

- Storing data from the disk to save it for future use, then loading
it
back into the system at a later time when needed for a job.


Physical characteristics
========================

Only one side of the diskette is used. The diskette surface is divided
into
tracks. Each diskette surface contains 77 tracks; track 00 is the
outside
track and track 76 is the inside track.

Figure 8-1. Standard interchange diskette surface recording arrangement
(not
"retyped")

Of the 77 tracks, only 75 are normally used. Track 00 contains the
volume
label; tracks 1-74 are primary tracks used to contain data records. Tracks
75
and 76 are available for data storage in the event that one or two of
the
primary data tracks become defective.

For standard data interchange, each track is divided into 26 sectors
(Figure
8-1). Each sector is 128 bytes long, so it is possible to store 242,944
bytes
of information on tracks 1-73. Data can be stored on track 74 of a diskette
in
the standard data interchange format, allowing for the storage of
246,272
bytes of data on the diskette, if the data on track 74 is to be read only by
a
System/32.

On diskettes in the extended format, track 00 is divided into 26 sectors,
but
each remaining track is divided into eight 512-byte sectors, making
it
possible to store 303,104 bytes of information on tracks 1-74.

The data stored in each sector is called a record. Therefore, because
the
diskette is formatted into tracks and sectors, each record on the diskette
has
a definite address consisting of a track number and sector number.
This
address is recorded at the record's physical location on the
diskette.
Diskettes that contain prerecorded record addresses are known as
initialized
diskettes; each record consists of an ID field and a data field.

Rotational speed of the diskette drive is 360 +/- 2.5% RPM. The nominal
data
transfer rate of the diskette drive is 31,250 bytes per second. The
diskette
drive reads 128-byte records from a diskette and writes 128-byte records to
a
diskette at the following rates:

Using diskettes in the Using diskettes in the
Standard interchange format Extended format

Reads Up to 3,400 records per minute Up to 4,100 records per minute

Writes Up to 1,800 records per minute Up to 2,200 records per minute


Record format
=============

+------+------+-----+----+-----+------+------+-----+-----+
+-----+------+
| | | | | | | | AM2 | DATA \ ... | |
|
| GAP1 | SYNC | AM1 | ID | CRC | GAP2 | SYNC | or | or \ | CRC | GAP1
|
| | | | | | | | AM3 | CONTROL\ | |
|
+------+------+-----+----+-----+------+------+-----+---------+
+-----+------+

Format: Field
Description

GAP1
The gap between the data field and the next record. It is variable length
and
contains all 1's.

SYNC
A 6-byte field of 0's which synchronizes the hardware circuits prior
to
reading the information from the diskette.

AM1
A single-byte identifier field address mark which identifies the ID data
and
contains hex FE.

ID
A 4-byte associate sector address in the format CHRN, where:

C = Cylinder address.
Valid one-byte binary addresses are:

Decimal = 00-76
Hex = 00-4C

H = One-byte binary head address.
The valid address is X'00'.

R = One-byte binary record address.
Valid addresses are:

Standard interchange format Extended format
Decimal 01-26 01-08
Hex X'01'-X'1A' X'01'-X'08'

N = One-byte record length indicator used in the record length
algorithm:
128 x 2 to the power of N.
N is hex 00 for standard 128-byte records, or hex 02 for
512-byte
records.

CRC
A 2-byte cyclic redundancy check field which verifies that the ID field
and
data field were read correctly. The system generates these bytes during
a
write operation and automatically performs a read-back check to verify
their
accuracy.

GAP2
Interrecord gap between the ID field and the data field. It contains hex
FF
and is generated by the system during write operations.

AM2 or AM3
A 1-byte field containing either X'FB' or X'F8'. X'FB' is a data field
address
marker (AM2) that identifies subsequent information as a data field. X'F8'
is
a control field address marker (AM3) that indicates that the following
field
contains control data.

DATA or CONTROL
The length of this field is specified by the record length indicator
(N)
contained in the ID field. The System/32 record length of 128 bytes
(N=0)
conforms to the specifications of the IBM diskette for standard
data
interchange.


Figure 8-2. Diskette IOB format
-------------------------------

Format: Displacement of leftmost byte in hex
IBM program label
Length in bytes
Field description

0
IIOBCAN
2
This is the sector address of the last sector accessed.

2
IIOBCMP
1
This is the diskette completion code (in hex).
40 = Successful completion.
41 = Permanent I/O error.
42 = End of volume.
43 = Drawer is opened, but diskette has same volume-ID.
45 = Bad sector not fixed by user.
47 = Stand-alone version of |1IOS or drawer is opened but volume label
is
invalid or volume ID not the same.
49 = Unsupported control record.

3
IIOBQB
1
This is the Q-byte (in hex).
D0 = Seek.
D1 = Read data.
D2 = Read ID.
D4 = Read data/CAM.
(D and F control records are not squeezed out as in |1PRD.)
D5 = Write data.
D6 = Write control address marks.
D7 = Write ID.

4
IIOBRB
1
This is the R-byte (in hex).
80 = Seek after.
00 = Null.

5
IIOBSS
2
This is the sector address.

7
IIOBNB
1
This is the number of sectors, minus 1, involved in data transfer.

8
IIOBDAT
2
This is the data buffer address.

A
IIOBSNS1
2
Sense bytes 0 and 1.

Byte 0 (in hex).
80 = Missing data address mark (two consecutive AMs found).
40 = CRC found in ID field.
20 = CRC found in data field.
10 = Cylinder byte in ID miscompare.
08 = Head byte in ID miscompare.
04 = Record byte in ID miscompare.
02 = Length byte in ID miscompare.
01 = First ID is found (no error).

Byte 1 (in hex).
80 = Due to prior condition, no action attempted.
40 = Invalid control record found (not D or F).
20 = Lines to |1 were not set/read correctly.
10 = Control record(s) squeezed out.
08 = Physical cylinder number greater than 76.
04 = Reserved.
02 = Reserved.
01 = Reserved.

C
IIOBSNS2
2
Sense bytes 2 and 3.

Byte 2 (in hex).
80 = |1 index pulses too close together.
40 = |1 index pulses too far apart.
20 = End-of-cylinder found (not tested).
10 = No IDs on track.
08 = Read overrun.

02 = Write overrun.
01 = Write parity check.

Byte 3 (in hex).
80 = Head loaded.
40 = Low gate current set.
20 = Write gate on.
10 = Erase gate on.
08 = Seek to track 3 or 0 on.
04 = Seek to track 0 or 1 on.
02 = Seek to track 1 or 2 on.
01 = Seek to track 2 or 3 on.

E
IIOBERR
1
This is the error retry count.

F
IIOBFLG
1
This is the flag byte.
Bit On Meaning
------ -------
0 No ERPs attempted.
1 Automatic error display and correction allowed.
2 No error logging.
3 Allow seek past logical cylinder 74 (to 75 or 76).
4 Do not return to user program if ERP completion
code is |1COMPER, |1NOTFIX, or |1INVCAM.

10
Reserved
1
Reserved.

11
IIOBEXP
1
This is the sector size.

12
IIOBXR2
2
This is a save area for XR2.

14
IIOBARR
2
This is a save area for the ARR.

16
IIOBDTF
2
This is the DTF address.


Diskette drive operating characteristics
========================================

The program must build a diskette IOB (Figure 8-2) to control
diskette
operations. Diskettes perform most efficiently if programs use sequential
data
organization, which is normally used for data interchange and data
file
save/restore functions. The system performs seek, read, and write which
are
typical direct access storage device functions. Diskette input and
output
operations cannot be overlapped with any other system function.


Diskette control fields and data fields
---------------------------------------

Before issuing a seek, read, or write instruction, the program usually
must
initialize the diskette control fields and data fields. These fields,
which
can be located anywhere in main storage, are addressed by the control
address
register (CAR) and data address register (DAR), respectively.


Control field

The 5-byte control field (CHRNX) is used to specify:

- For a seek operation, the destination track address (00-76 or hex
FF);
the cylinder address of hex FF specifies a recalibrate operation.
H,
R, N, and X are not used for a seek operation.

- For a seek, read-data-and-control-record, write-data, or
write-
control-address-mark operation:
C is the destination cylinder for the automatic seek.
R is the starting record number.
N is the number of bytes per record (128 x 2 to the power of
N).
X+1 is the number of records to be accessed.

Before processing any data field, the system compares the CHRN portion of
the
control field and the corresponding portion of the identifier field of
the
record read. This process is called orientation. If orientation cannot
be
done, the system turns on the no-orient status bit (status byte 2, bit 3).

As instruction execution proceeds, the system modifies the R- and X-bytes
of
the control field after each record is successfully processed; this
maintains
a log of instruction execution for error recovery procedures.

The program must load the address of the leftmost byte of the control
field
into the control address register prior to instruction execution.

The control field (CHRNX) has the following meaning:

- C (cylinder number) is a 1-byte address; valid decimal addresses are
0
through 76. Cylinder addresses 77-254 set the invalid cylinder
address
(byte 1, bit 4); cylinder address 255 specifies recalibrate. This
byte
is not changed during execution unless a cylinder boundary is
crossed
during a read-data, write-data, or
write-control-address-mark
operation.

Note: For this device, the term cylinder and track are synonymous.

- H (head number) is a 1-byte address; the only valid decimal address
is
0. This byte remains unchanged during command execution.

- R (record number) is a 1-byte binary address that specifies the
first
record to be processed in a single-record or multiple-record
data
operation. Decimal record numbers 1 through 26 are valid for
standard
interchange diskettes, 1 through 8 for extended format
diskettes;
invalid record numbers set the record-mismatch status bit (byte 0,
bit
5). The system increments the record number by 1 after each record
is
processed if a not-ready/unit-check condition is not detected.

- N (record length indicator) is a 1-byte binary number that
indicates
the physical record length. N must be 0 for 128-byte records, 2
for
512-byte records. This byte remains unchanged during
command
execution.

- X (number of records) is a 1-byte binary number plus 1 that
specifies
the number of records to be processed; the system decrements this
byte
by 1 after each record is processed if a
not-ready/unit-check
condition is not detected. If the system does not find a
control
record during a read-data operation, this byte is not decremented.


Data field

The system transfers data to the data field during read operations, and
from
the data field during write operations. The data field is addressed by
the
leftmost byte and can be located arbitrarily in main storage. Prior
to
instruction execution, the program must load the data field address into
the
data address register. For a read-data, read-data-and-control-record,
write-
data, or write-control-address-mark operation, the record length indicator
and
the number of records to be processed determine the data field length
as
follows:

Data field length = (X + 1) 128 X 2 to the power of N

where X and N come from the control field CHRNX.


Control address register
------------------------

This 2-byte field in control storage contains the address of the leftmost
byte
of the control field. The control address register must be initialized
by
load-diskette-control-field-address-register instruction, and is not
modified
during command execution.


Data address register
---------------------

This 2-byte field in control storage contains the address of the data
byte
following the last data field byte accessed. It is initialized to the
address
of the leftmost byte of the data field before the data field is used
to
execute an instruction. The data address register changes after a record
is
transferred and no errors are found.


Diskette operations
===================

Diskette seek
-------------

During a control seek, the access mechanism is moved so that the
read/write
head is at the track address specified in the control field. The R-byte of
the
seek instruction has no significance. A recalibration to cylinder 00
is
performed by specifying FF in the cylinder address bytes (CC) of the
control
field.

The seek operation does not check for an invalid address prior to
seek
verification. Instead, the system detects an invalid address or a seek
failure
when it compares the control field and record ID field during the next read
or
write operation.

A single-track seek has some unique functional characteristics that
improve
save/restore performance. A single-track seek command requires a maximum
of
170.83 ms to execute and considerably decreases the time required to
handle
the following diskette read or write instruction.

A seek beyond a single track seek requires a maximum of 106 + 53 ms SD.
Where
SD means seek displacement in tracks. Recalibrate time is 4.346
seconds
maximum.


Read data
---------

This operation initiates an automatic seek to the logical track
address
specified in the control field and then, beginning at the record
number
specified in the control field, reads X+1 records into contiguous positions
of
the data field addressed by the data address register. When a flagged track
is
encountered, an automatic seek to the next record is executed. A maximum
of
three automatic seeks are attempted before the operation is terminated.

If the end of a cylinder is encountered before X+1 records have been
accessed,
an automatic seek to record 1 of the next track occurs and
execution
continues.


Read data and control record
----------------------------

This operation is very similar to the read-data operation. It initiates
an
automatic seek to the logical track address specified in the control
field,
and then reads X+1 records into contiguous positions of the data
field
addressed by the data address register. The system reads the records
beginning
at the record number specified within the control field. Whenever the
system
encounters a flagged track, it seeks the next record. The system tries
a
maximum of three automatic seeks before termination of the operation.

If the system encounters the end of cylinder before X+1 records have
been
accessed, it executes an automatic seek to record 1 of the next track
and
continues with the operation.

There is one difference between this operation and the read-data operation.
In
this command, if a control address mark is detected, the system sets
control-
address-mark status (byte 1, bit 3) (this bit cannot be tested by a TIO)
and
reads the control record data field into the data field in main
storage
regardless of the control character in the first position of the record
data
field.

For multiple record operations, the system alters the control field when
each
record is read. The record number (R) is incremented by 1 and the number
of
records to be accessed (X) is decremented by 1. If a cylinder boundary
is
crossed, the cylinder number is increased by one and the record number
is
reset to 1.

The record number (R) is incremented by 1 and number of records to be
accessed
(X) is decremented by 1 as each record is read. If a cylinder boundary
is
crossed, the cylinder number (C) also increases by 1 and the record number
is
reset to 1. The rest of the control field does not change.

Note: If a control address mark (hex F8) is detected and the first
character
in the data field is not hex C4 or C6 (alpha D or F), the system posts
invalid
control record status (byte 1, bit 1) and control address mark (byte 1, bit
3)
and ends the read operation. If an alphabetic D or F is in the first
position
of the data field, the system ignores that record and reads
subsequent
records.


Read ID (Identifier)
--------------------

This operation initiates the recovery of a single 4-byte identifier
field,
CHRN, from the current selected track. The system places the first
identifier
read without error in the data field at the address specified in the
data
address register. If no ID on the current track can be read successfully,
the
system posts the no-orient status (byte 2, bit 3).

No automatic seek occurs, and the control field remains unchanged.

Note: If a defect appears in an ID field, your program can delete the
entire
track by writing a defective track identifier in all records on that
track.
This ID is CHRN = hex FFFFFFFF. All track information, including ID
fields,
must be put on the next-higher-numbered track.


Write/verify data
-----------------

This operation initiates an automatic seek to the logical track
adddress
specified in the control field and writes X+1 records obtained from
contiguous
positions of the data field addressed by the data address register.
Records
are written beginning at the record number specified within the control
field.
Whenever the system encounters a flagged track, it automatically seeks
the
next track. A maximum of three automatic seeks are attempted before
the
operation is terminated. Each record is 128 or 512 bytes long and is
written
in accordance with the record format described in "Diskette control fields
and
data fields" in this chapter. At the same time, the system writes a
data
address mark (hex FB) in the byte immediately preceding the data field in
the
record.

Data verification automatically occurs during the next diskette revolution.

If the system encounters the end of cylinder before X+1 records have
been
accessed, an automatic seek to record 1 of the next track occurs and
execution
continues.

The system increments by 1 and decrements the number of records to be
accessed
by 1 as each record is written. If a cylinder boundary is crossed, the
system
also increments the cylinder number by 1 and sets the record number to 01.
The
system does not change the rest of the control field.


Write/verify control address mark
---------------------------------

This operation is very similar to a write-data operation. It initiates
an
automatic seek to the logical track address specified in the control field
and
then writes X+1 records obtained from contiguous positions of the data
field
addressed by the data address register. Records are written, beginning at
the
record number specified within the control field. The only difference
between
this operation and the write-data operation is that a control address
mark
(hex F8) is written in the byte immediately preceding the data field in
the
record. The data field of each record written is 128 or 512 bytes long and
is
written in accordance with the record format reference. When the
system
encounters a flagged track, an automatic seek to the next track occurs.
The
system attempts a maximum of three automatic seeks before ending
the
operation.

Data verification occurs during the next diskette revolution.

If the end of a cylinder is encountered before X+1 records have been
accessed,
an automatic seek to record 1 of the next track occurs and
execution
continues.

The control field remains unchanged except for the record number and number
of
records to be accessed during multiple record operations; these values
are
incremented by 1 and decremented by 1, respectively, as each record
is
written. If a cylinder boundary is crossed, the system adds 1 to both
the
cylinder number and sets the record number to 01.


Write/verify ID (Identifier)
----------------------------

The write-ID/verify operation initiates the writing of a full track of data
in
accordance with the record format described in "Diskette control fields
and
data fields" in this chapter.

The system forces the record number in the control field to 1 so that
the
first record written after the index point is record 1. The system
generates
subsequent record numbers by incrementing the record number byte by 1 as
each
record is written. Data for each record data field is obtained from the
same
128-byte or 512-byte data field in main storage. The system writes an
entire
128-byte or 512-byte data field from storage for each disk record written.

Data verification automatically occurs during the next diskette revolution.

The record number is the only byte in the control field that changes; it
is
decimal 26 or 8 at the end of the operation.

Note: Write ID is intended to be used for track initialization procedures.
If
the cylinder portion of the CHRN field is specified as hex FF, the
record
number portion is not incremented during write-ID execution. This writes
a
defective track identifier field equal to hex FFFFFFFF. During automatic
data
verification, length-mismatch and no-orient status are set. ID
verification
should be performed by the read-ID instruction.


Check condition and status information
======================================

Refer to Figure 8-3 for a summary of diskette operations, diskette
indicators
set, and suggested restart procedures.

Format: Bit
Description


Status byte 0
-------------

0
"Missing data address mark" indicates that a data address marker is
not
detected after an ID field. The next diskette operation or system
reset
operation resets this bit.

1
"ID CRC" indicates a cyclic redundancy check noncompare in an ID field:

- When the searching for an ID field and orientation can not be
achieved

- After initial orientation, when a subsequent ID CRC is detected.

The next diskette operation or system reset operation resets this bit.

2
"Data CRC" indicates a cyclic redundancy check noncompare in the data
field
after initial record orientation. The next diskette operation or system
reset
operation resets this bit.

3
"Cylinder mismatch" indicates a mismatch between the cylinder address
portion
of the ID field and the control field during an ID search. This bit is
reset
prior to diskette I/O instruction execution or by a system reset operation.

4
"Head mismatch" indicates a mismatch between the head address portion of
the
ID field and the control field during an ID search. This bit is reset prior
to
the next diskette operation or by the next system reset operation.

5
"Record mismatch" indicates that no match between the record address
portion
of any ID field and the control field occurred during an ID search. This
bit
is reset prior to the next diskette operation or by the next system
reset
operation.

6
"Length mismatch" indicates a mismatch between the record length portion
of
the ID field and the control field during an ID search. This bit is
reset
prior to the next diskette operation or by the next system reset operation.

7
This bit is reserved.


Status byte 1
-------------

0
"No operation" indicates that a diskette I/O instruction cannot be
executed
because of an outstanding not-ready status. This bit is reset by the
next
diskette I/O instruction or by a system reset operation.

1
"Invalid control record" indicates that the leftmost byte of a control
record
data field contains other than an F or D control graphic. This bit is reset
by
a diskette I/O instruction or by system reset.

2
"Control error" indicates that a low write current existed during a
diskette
write operation or write or erase gate selection was made during any
diskette
I/O operation except write. This bit is reset prior to a diskette
I/O
operation or by a system reset operation.

3
"Control address mark record found" indicates that a control address mark
was
found. This record was skipped and the next one was processed in its place
if
the operation was read-data and the leftmost byte of the data field
contained
hex D or F. This condition is not tested by a test instruction. The
next
diskette read, write, or seek operation resets the
control-address-mark-
record-found bit.

4
"Cylinder address invalid" indicates that the logical cylinder number in
the
control field exceeds 76. This bit is reset prior to a start diskette
command
or by a system reset operation.

5
"Write error" indicates that either a write overun (status byte 2, bit 6) or
a
write parity check (byte 2, bit 7) was detected during a write operation.
This
bit is reset by the next diskette I/O instruction or by a system
reset
operation.

6
This bit is used by the system.

7
This bit is used by the system.


Status byte 2
-------------

0
"Diskette fast" indicates that the diskette rotates faster than the
maximum
specified rate of 369 RPM, or 162.50 ms per revolution. This bit is
reset
prior to the next diskette operation or by a system reset operation.

1
"Not ready" indicates that:
The diskette is not inserted, or
The door is not closed, or
The diskette is inserted backwards, or
The diskette unit is malfunctioning.

"Ready" is conditioned by a recalibrate operation if the diskette is up
to
proper speed. This is the only way this bit can be reset.

2
This bit is unassigned.

3
"No orient" indicates that a record specified by the record address in
the
control field of a data operation could not be found. This bit is reset
prior
to the next diskette operation or by a system reset operation.

4
"Read overrun" indicates that the minimum data transfer rate was
not
maintained during a data transfer operation from the diskette to main
storage.
This bit is reset prior to the next diskette operation or by a system
reset
operation.

5
This bit is unassigned.

6
"Write overrun" is similar to a read overrun except that the minimum
data
transfer rate is not maintained during data transfer from main storage to
the
diskette. The next diskette read, write, or seek operation or system
reset
operation resets this bit.

Note: This status bit can be sensed by the program for a write-ID
operation
only. Write-error status (byte 1, bit 5) is set simultaneously; the
program
can sense this bit.

7
"Write parity check" indicates that a mismatch between data-bus-out parity
and
system generated serial-write-data parity was detected during a
write
operation. The next diskette read, write, or seek operation or system
reset
operation resets this bit.

Note: This status bit can be sensed by the program for a write-ID
operation
only. Write-error status (byte 1, bit 5) is set simultaneously; the
program
can sense this bit.


Status byte 3
-------------

The status bits in this byte cannot be sensed by your program. Bits 0 and
4-7
may be on if a 1-track seek preceded the I/O operation bits 1, 2, and 3
will
be off. (ROCHE>? if a ... preceded the I/O operation. Then, bits... ?)

0
The head is loaded.

1
The low write current to diskette is set.

2
The write gate to diskette is on.

3
The erase gate to diskette is on.

4
Seek to track 3 or 0 is on.

5
Seek to track 0 or 1 is on.

6
Seek to track 1 or 2 is on.

7
Seek to track 2 or 3 is on.


IMPL (Initial Microprogram Load) and IPL (Initial Program Load)
---------------------------------------------------------------

IMPL and IPL are selected by toggle switches located on the CE panel and
are
initiated by pressing the LOAD key located on the operator's panel.

A diskette IMPL initiates the transfer of the 4096-byte IMPL record located
on
track 00, record 01 into storage. This 4096-byte record is a special
record
used by the system; it is never used by the programmer.

The IPL from the diskette is not the normal mode and is used primarily
for
installing a new supervisor. IPL from diskette is initiated by the
system
immediately following a successful IMPL if the DEVICE SELECT switch is set
to
select IPL from the diskette.


Suggested diskette error recovery procedures
--------------------------------------------

The recovery procedures presented in Figure 8-3 can be used to restore
system
operation. The type of action necessary is determined by performing a
sense-
diskette operation, then testing to determine which diskette status bits
are
on.

Figure 8-3. Diskette operation ending conditions, status, and
suggested
restart

Notes:
a = No-op is set by all operations except recalibrate.
b = This condition is not tested for error recovery procedure.

Suggested action <-------------------------------+
|
Condition set by: |
Seek Q-Byte D0 <--------------------------+ |
Read Data Q-Byte D1 <------------------------+ | |
Read ID Q-Byte D2 <----------------------+ | | |
Read Data and Control Data Q-Byte D4 <--------------------+ | | | |
Write Data (Write Cycle) Q-Byte D5 <------------------+ | | | | |
Write Data (Verify Cycle) Q-Byte D5 <----------------+ | | | | | |
Write Control (Write Cycle) Q-Byte D6 <--------------+ | | | | | | |
Write Control (Verify Cycle) Q-Byte D6 <------------+ | | | | | | | |
Write ID (Write Cycle) Q-Byte D7 <----------+ | | | | | | | | |
Write ID (Verify Cycle) Q-Byte D7 <--------+ | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
Status Byte 0 | | | | | | | | | | |
------------- | | | | | | | | | | |
| | | | | | | | | | |
Bit Name | | | | | | | | | | |
--- ---- V V V V V V V V V V V
0 Missing data address mark |X|X| |X| |X| |X| |X| 3
| | | | | | | | | | |
1 ID CRC | |X|X|X|X|X|X|X| |X| 3
| | | | | | | | | | |
2 Data CRC | |X| |X| |X| |X| |X| 3
| | | | | | | | | | |
3 Cylinder mismatch | |X| |X|X|X|X|X| |X| 3
| | | | | | | | | | |
4 Head mismatch | |X| |X|X|X|X|X| |X| 3
| | | | | | | | | | |
5 Record mismatch | |X| |X|X|X|X|X| |X| 3
| | | | | | | | | | |
6 Length mismatch | |X| |X|X|X|X|X| |X| 3
| | | | | | | | | | |
7 Not used | | | | | | | | | | | 3
| | | | | | | | | | |
| | | | | | | | | | |
Status Byte 1 | | | | | | | | | | |
------------- | | | | | | | | | | |
| | | | | | | | | | |
Bit Name | | | | | | | | | | |
--- ---- | | | | | | | | | | |
0 No op |a|X| |X| |X| |X| |X| 3
| | | | | | | | | | |
1 Invalid control record | |X| |X| | | | | | | 4
| | | | | | | | | | |
2 Control error |X|X|X|X|X|X|X|X|X|X| 3
| | | | | | | | | | |
3 Control address mark record found |b|b|b|b|b|b|b|b|b|b|
| | | | | | | | | | |
4 Cylinder address invalid |X|X| |X|X|X|X|X| |X| 2
| | | | | | | | | | |
5 Write error | | | | |b|b|b|b|b|b|
| | | | | | | | | | |
6 Not used | | | | | | | | | | |
| | | | | | | | | | |
7 Not used | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
Status Byte 2 | | | | | | | | | | |
------------- | | | | | | | | | | |
| | | | | | | | | | |
Bit Name | | | | | | | | | | |
--- ---- | | | | | | | | | | |
0 Diskette fast |X|X|X|X|X|X|X|X|X|X| 3
| | | | | | | | | | |
1 Not ready |X|X|X|X|X|X|X|X|X|X| 1
| | | | | | | | | | |
2 Not used | | | | | | | | | | |
| | | | | | | | | | |
3 No orient | |X|X|X| |X| |X| |X| 3
| | | | | | | | | | |
4 Read overrun | |X|X|X| |X| |X| |X| 3
| | | | | | | | | | |
5 Not used | | | | | | | | | | |
| | | | | | | | | | |
6 Write overrun | | | | |X| |X| |X| | 3
| | | | | | | | | | |
7 Write parity check | | | | |X| |X| |X| | 3


Suggested action
----------------

Number Description
------ -----------
1 1. Recalibrate.
2. Read volume label.
3. Check volume 1 standard and volume identification for validity.
(If not valid issue message to insert correct diskette.)
4. Repeat until valid diskette is inserted or until job is canceled.
5. Post possible wrong-diskette-inserted return code.
6. Return.

2 1. Post end-of-volume return code.
2. Return.

3 1. Retry three times or until successful.
a. If not successful, seek forward and backward one
cylinder
three times or until successful.
b. If step 1a is not successful, and if the system is executing
a
read data operation, evoke an automatic sector rebuild. If
the
system is not executing a read data operation, post
the
permanent-error return.
2. Log the diskette error.
3. Return.

4 1. Post invalid-control-record-read return code.
2. Return.


Initialization procedures
-------------------------

Diskette initialization procedures described below guarantee a
serviceable
diskette. Basic initialization objectives are that:

- Track 00 must be free of defects.

- Diskettes are initialized in accordance with the basic
interchange
record format defined in this chapter under "Diskette control
fields
and data fields".

- Defective tracks are flagged defective and the ERMAP is updated.


To initialize the diskette:

1. Reinitialize track 00.
a. Write ID/verify with 128 bytes of hex E5 in the data field.
If
unsuccessful, retry a maximum of two times, and if still
unsuccessful,
go to step 3.
b. Write data/verify with 128 bytes of hex 40 in the data field.
If
unsuccessful, retry a maximum of two times, and if still
unsuccessful,
go to step 3.

2. Continue to sequentially reinitialize the remainder of the diskette
by
repeating step 1. (Be sure to reinitialize sectors of the
appropriate
length -- 128 bytes each or 512 bytes each.)

3. If track 00 cannot be successfully initialized, discard the
diskette.
If track 00 is successfully initialized and some other track is
found
defective, use the surface defect procedures, flag the
defective
track, and update the ERMAP.


Surface defect procedures
-------------------------

The track must be flagged as defective and the ERMAP label must be
updated
during a reformatting operation if less than two tracks have been
previously
flagged.

The diskette must be discarded if track 00 is defective, or if two tracks
have
been flagged as defective and an additional track is found defective.


EOF

0 new messages