CHAPTER 4. COMMANDS OUTLINE OF COMMAND OPERATION The FDC executes commands given from the main system in the following three phases. (1) (2) (3) Command Phase (C-Phase) The FDC, when in the idle state (command wait), receives commands and the parameters which specify their operation from the main system. The main system must write all the parameters in the specified order. Execution Phase (E-Phase) Commands are executed in accordance with the parameters. . Read/write commands (except READ ID) Transfer data (processed by DMA or INT) between aGisk unit and main system. - Seek commands Generate seek pulses. Result Phase (R-Phase) The result status, etc. to report the result of command execution is set in the data register. The main system must read all this information. Table 4-1 shows the phase configuration of each command. 4-1 MB 6427525 0091979 005Table 4-1 Phase Configuration of Each Command Command C-Phase E-Phase R-Phase INT READ/WRITE Yes SEEK - Yes SENSE STATUS - No INVALID, VERSION SPECIFY - - No AUXILIARY - * No *s The SOFTWARE RESET, SET STANDBY, START CLOCK, and SELECT TRACK NUMBER commands do not have an R-Phase. 4-2 Me 6427525 00913980 &4cTINTERNAL BLOCK OPERATIONS Figure 4-1 shows a simplified internal block diagram. The operation of each block is outlined in Figures 4-2 to 4-5. Here, the solid line indicates the data flow and the hatched lines indicate control signal exchange. First, writing of the command and its parameter is controlled by the host by means of the AO, CS, WR, ACCR and ACDR signals as shown in Figure 4-2, and the data on the data bus is fetched and stored in the command register or auxiliary command register. Figure 4-3 outlines the internal block operation of each command in command execution. In a seek command, the drive controller exchanges control signals with the drive. In read/write commands (except READ ID), in the DMA mode, data is transferred to/from the main system by DMARQ, DMAAK, and RD or WR signal exchange. In the non-DMA mode, data is transferred to/from the main system by AO, CS, INT, ACCR, ACDR and RD or WR signal exchange. The READ DATA, READ DELETED DATA, and READ DIAGNOSTIC commands convert the serial data from the drive to parallel form and send it to the host by setting it in the data register one byte at a time. 4-3 MB 6427525 0091981 ?bb beFigure 4-1 Outline of Internal Blocks ~ (Host Side) (FDD Side) COMM AND RESULT reg. 2 Do-D? =z DRIVE DRIVE : INTERFACE CONTROL Ss CONTROL SIGNALS z _ z SERIAL veo -WDATA > INTERFACE peeve ; CONTROL L a DRVTYP R/W ao. ts DMA RD. WR g ) INT IDMARQ DMAAR CONTROL INT, ACCR, Ly, ACDR _/ Figure 4-2 Command Write {~ a (Host Side) (FDD Side) a COMM AND STATUS RESULT ree: reg. DATA 2 DO~-D?7 c reg. = DRIVE DRIVE 2 INTERFACE CONTROL < CONTROL SIGNALS AUXILLIARY, Zz reg. 2 =z TE WDATA - RDATA PCSVL PRew Zw DRVTYP . y A iF A . CONTROL INT, ACE, _~ ACOR \ / 4-4 Me 6427525 0091962 bt?Figure 4-3 Command Execution ((west Side) SECALI SAAT. SERR LFDD Side)) {iHost Side) SPAOOMLETED DATs afd BiscnenTiC (PDD Side) ) a) pa) yy, vA coun arp aTaTs B =, fa KO} KO Det g 3 Be~o?7 vee 2 ont vr mie Be-pr ent: ie 2 cater 2 ued Cora. . Conran, ns 3 ote Bibra : BiGwaLs a te g : = zg REAL on z KO ytettaer are . tne OTRO. pesvL. PCSYL ase a0 UF Bea row tet fom ane PRE COMTROL _- wet, CTL, ty \. (Host Side) WHITE OLLETED Date { intyanwal Gut tate mNas, AUS (Host Side) ware 1d (FDD Side) | FOD Side } e Bata derby qf oe > paren, gaive be-st Ce: km loarwr. Ly mivr ; CHAPIN TURE AL CONT EOL. ; PRTURE ACER COMPAL Contha| SiGmaLs CowTha. Slowed E 4 JMO NKas BS if ve 5 fama emia Bp ratcr ma Mrarecr@g> Hate resv vesvt i contro. cow TROL: we Lee Saeeve bavrre . 7 ows al CGE Nt Deana Wetear conta, Ler, = X / / 4-5 MB 6427525 00919463 535 CtyFigure 4-4 Result Status Read { ~ (Host Side) (FDD Side) COMM AND RESULT reg. DRIVE DRIVE INTERFACE CONTROL CONTROL SIGNALS SERIAL Cm -UDA TA INTERFACE CONTROL PCSVL INTERNAL BUS DRVTYP L/, R/W Ao. tS DMA RD WR INT iD CONTROL \ , \ The WRITE DATA and WRITE DELETED DATA commands fetch the data from the host one byte at a time, convert it to serial data and send it to the drive. The READ ID command reads the ID information from the drive, converts it to parallel data and stores it in the result status. The WRITE ID command generates the format internally and sends it to the drive, and transfers only the ID information from the host to the drive. The SCAN command fetches the data from the host to the data register and compares it with the data converted to parallel form fetched from the drive. Reading of the result status and its parameters is controlled by the host by means of the AO, CS, RD, ACGR and ACDR signals as shown in Figure 4-4, and these are loaded into the result status register and sent to the host. 4-6 MB 6427525 0091984 475Figure 4-5 shows the status read that is always performed when a command and its parameters are written, when a data transfer is performed in non-DMA mode, and when a result status and its parameters are read. Status reading is controlled by the host by means of the AO, CS, RD, ACCR and ACDR signals, and the status register information is sent to the host. Figure 4-5 Status Read r > (Host Side) (FDD Side) COMM AND RESULT reg. DRIVE DRIVE INTERFACE CONTROL CONTROL SIGNALS SERIAL WEWDATA INTERFACE RAL CONTROL PcSiiP hus pDo-D? INTERNAL R/W AO.tS DMA RD, WR INT IDM ARQ. DMAAR CONTROL INT, ATCR, _ ACDR \ _/ 4-7 Me 6427525 00919865 3014.3 COMMANDS FUNCTIONS In the C-Phase, the host system selects the FDC data register (CS = 0, AO = 1, ACCR = 1, ACDR = 1) or auxiliary command register (CS = 0, AO = 0, ACCR = 1, ACDR = 1) and sequentially writes commands and parameters (WR = 0). In the R-Phase, the host system selects the FDC status register (CS = 0, AO = 1, ACCR = 1, ACDR = 1) and sequentially reads the parameters into the result status (RD = 0). However, to write and read registers in the C- Phase and R-Phase, the host system must preselect the status register and read the status (RD = 0) and check that ROM = 1. The procedures for these write and read operations are described in sections 4.3.1 to 4.3.20. The IAM (Index Address Mark) is written to a floppy disk by the WRITE ID command. In other read/write commands, however, the FDC ignores the IAM even if it is read from the floppy disk. The data transfer rates for different floppy disks are shown below. . Standard floppy disk When an 8-inch floppy disk is used or high density floppy disk is used in 8-inch compatible mode Data transfer rate ... MFM mode: 500 Kbps FM mode : 250 Kbps - Minifloppy disk When a 5.25-inch floppy disk is used Data transfer rate ... MFM mode: 250 Kbps FM mode : 125 Kbps 4-8 MB 6427525 0091986 248 mm. High density floppy disk When a conventional minifloppy disk is read/written by a high density minifloppy disk drive without changing the spindle speed. Data transfer rate ... MFM mode: 300 kbps FM mode : 150 kbps 4.3.1 READ DATA MSB LSB Command 1 MIMF SK 0 0 1 #1 ~=9 command 2 Execution Start Sector (C-Phase) Parameter 3 zk _] parameter 5 paraneter 7 CE-Phase) Data Transfer (Floppy Memory ) STo IC SEEC 0 HDUSIUSO D7, DS Bits Always 0 STi EN 0 DE.OR. 0 ND NW D6, D3, Dl Bits Always 0 ST2 0 CM DD NC SH SN BC MD| D7, D3, D2 Bits Always 0 (R-Phase) Parameter Parameter Parameter Parameter i 4-9 Ic(STO) = 00: Sector after Execution Termination Sector IC(STO) = O1: Execution Termination (Error Generation) Sector But Execution Termination when IC(STO) = 00, CM(ST2) 1 and SK (Command 1) = 0 Me B4e7525 0091987 184Outline This command reads the data from the sector specified by the ID information (IDR: C, H, R, N bytes) from the main system from the disk and sets it in the data register one byte at a time. The main system then reads the contents in the non-DMA or DMA mode (see Appendix B.5). (1) (2) Head load At the start of reading, if the head is not loaded after the head specified by the HD bit of the command has been selected, access begins immediately after the head is loaded and the head load time has elapsed (specified by HLT of the SPECIFY command). MA error and MD error oO MA error If IDAM is not detected before an index pulse is detected twice, the MA (Missing Address Mark) bit of ST1 is set and command execution is abnormally terminated. MD error If DAM or DDAM is not detected within a certain time (1 ms: Standard floppy disk) after the sector ID specified by IDR is detected, the MA bit of ST1l and the MD (Missing Address Mark in Data Field) bit of ST2 are set and command execution is abnormally terminated. 4-10 MH 6427525 0091988 O10(3) (4) (5) ND error If the sector (C, H, R, N bytes) specified by IDR is not detected before an index pulse is detected twice, even if IDAM is detected, the ND (No Data) bit of STI is set and command execution is abnormally terminated. At this time, when the C byte of the read ID does not match the C byte of IDR and is FFH, the ND bit of STl and the BC (Bad Cylinder) bit of ST2 are set. When the C byte of the read ID does not match the C byte of IDR and is not FFH either, the ND bit of ST1 and the NC (No Cylinder) bit of ST2 are set. CRC error When the CRC byte immediately following the ID or data is read and is compared to the CRC generated internally and the two CRC do not match, the DE (Data Error) bit of ST1l is set and command execution is abnormally terminated. For a data field CRC error, the DD (Data Error in Data Field) bit of ST2 is set in addition to the DE bit of STl. DDAM detection When DDAM is detected, the CM (Control Mark) bit of ST2 is set. At this time, the following processing is performed according to the contents of the SK bit of the command. 4-11 Me 6427525 0091989 15?- SK = O: terminated. After the data of that sector is transferred, command execution is normally Then, the R-Phase C, H, R, and N bytes become the value of the sector when DDAM was detected. is processed. (6) Transfer capacity The transfer capacity for each command is selected by SK = 1: That sector is skipped and the next sector the N byte of IDR and the MT and MF bits of the command as follows: Table 4-2 Transfer Capacity MT | MF } M(16) | Transfer Capacity (Bytes) Last Sector 0 0 00 (1-128) x nin = 1 to 26 Head O sector 26 or sectors head 1 sector 26 1 01 256 xn 1 0 00 (1-128) x nin = 1 to 52 Head 1 sector 26 sectors (multi-track ) 1 ol 256 xn 0 0 01 256 x nin = 1 to 15 Head 0 sector 15 or sectors head 1 sector 15 1 02 512 xn 1 0 01 256 x nin = 1 to 30 Head 1 sector 15 sectors (multi-track ) 1 02 512 xn 0 0 02 512 x nin = 1 to 8 Head O sector 8 or sectors head 1 sector 8 1 03 1024 xn 1 0 02 512 x n|n = 1 to 16 Head 1 sector 8 sectors (multi-track) 1 03 1024 x n 4-12 M@@ 6427525 0091990 779NOTE: (7) (8) The value of n in the table is for a standard floppy disk or high density floppy disk. For a minifloppy disk the number of sectors per track is smaller than for a standard floppy disk. Overrun If the main system does not provide service (RD or PMAAK active state) within the following time after a transfer request by INT or DMARO in a data transfer, the OR (Overrun) bit of ST1 is set and command execution is abnormally terminated after the data of that sector is transferred. The DMARQ signal is reset automatically immediately before the R-Phase is entered. - Standard floppy disk ....... FM mode : 27 us MFM mode: 13 us Minifloppy disk ............ FM mode : 54 us MFM mode: 26 us . High density floppy disk ... FM mode : 45 us MFM mode: 22 us Data length When the N byte of IDR is OOH, the DTL byte specifies the data length to be processed in the sector as shown below. When the N byte is other than OOH, the DTL byte is meaningless. DTL = 01H: 1 byte/sector DTL 2 80H: 128 bytes/sector 4-13 MM 6427525 0091991 605 t i~(9) (10) When DTL < 80H, (when DTL is only specified up to midway in a sector), the data after the data specified by DTL is read for the entire sector but is not set in the data register, and only a CRC check is performed. Multi sector read If the termination signal (TC signal) is not input after the data of one sector is transferred, the R byte of IDR is updated (R< R + 1) and the sector specified by the new IDR is searched. However, at this time, the R byte should be specified within the range R EOT. Sector format and parameters The EOT and GSL reference values versus data length are shown below. GSL is the parameter for jumping discontinuously between the data field and the ID field of the next sector in a multi-sector access. 4-14 MM 6427525 0091992 541Table 4-3 EOT and GSL Value vs Data Length (READ DATA) IBM Format Parameter | n(16)|EOT(16)| GSL(16) Remarks FM 128 bytes/sector 00 1A 07 IBM diskette 1 256 bytes/sector 01 OF OE IBM diskette 2 512 bytes/sector 02 08 1B 1024 bytes/sector 03 04 Undefined 2048 bytes/sector 04 02 Undefined 4096 bytes/sector 05 01 Undefined MFM | 256 bytes/sector 01 1A OE IBM diskette 2D 512 bytes/sector 02 OF 1B 1024 bytes/sector 03 08 35 IBM diskette 2D 2048 bytes/sector 04 04 Undefined 4096 bytes/sector 05 02 Undefined 8192 bytes/sector 06 Ol Undefined (11) track 00 of side 0 is 128 bytes/sector single density (FM) even for a double density (MFM) disk. However, TC signal timing When the TC signal is input midway through a sector during a data transfer, the remaining data of that sector is read from the disk but is not set in the data register. If no CRC error is generated at this time, command execution is normally terminated. 4-15 MM 6427525 0091993 446(12) The TC signal reception timing is within the time shown below from the data transfer request by the INT signal or DMARQ signal. When the FDC receives TC within this time, a transfer request is not output after the data requested by that INT or DMARQ signal is transferred. However, when the TC signal is input within a 2-byte time for the last byte transfer request of the sector, command execution is terminated at that sector. - Standard floppy disk ....... (l-byte time) - 5 us - Minifloppy disk ........ e+e. (1l-byte time) - 10 us - High density floppy disk ... (l-byte time) - 8.3 us Here, the l-byte time is the time required to transfer one byte of data. The byte times for the different kinds of floppy disk are shown in the table below. Table 4-4 Floppy Disk Transfer Times Medium Mode PM MEM Standard floppy disk 32 us | 16 us Minifloppy disk 64 us | 32 us High density floppy disk! 53 us | 72 us EN error If the TC signal is not input even though access to the last sector is complete (R = EOT), the EN (End of Cylinder) bit of ST1 is set and command execution is abnormally terminated. 4-16 MM b4e7525 0091994 314 20(13) IDR in normal termination When command execution is normally terminated by the TC signal, the following value is set in IDR of the R-Phase depending on the MT bit and EOT byte. Table 4-5 IDR Values Determined by MT and EOT Sector Containing Last IDR of R-Phase EOT(16) Transfer Byte Cc H R N 1A Head 0} 1 to 25|R < EOT | Unchanged| Unchanged | R + 1 | Unchanged OF 1 to 14 08 1 to 7 1A 26 R = EOT C+i Unchanged 01 | Unchanged OF 15 08 8 1A Head 1/1 to 25/R < EOT | Unchanged| Unchanged | R + 1 | Unchanged OF 1 to 14 08 1 to 7 1A 26 R = EOT C+i Unchanged 01 | Unchanged OF 15 08 8 1A Head 0|1 to 25/R < EOT | Unchanged| Unchanged | R + 1 | Unchanged OF 1 to 14 08 1 to 7 1A 26 R = EOT | Unchanged| LSB 01 | Unchanged OF 15 inversion 08 8 1A Head 1| 1 to 25/R < EOT| Unchanged! Unchanged | R + 1 | Unchanged OF 1 to 14 08 1 to 7 1A 26 R = EOT cC+i1 LSB 01 | Unchanged OF 15 inversion 08 8 4-17 MM 6427525 00915995 250(14) Head unload At the end of command execution, the FDC places the head in the unload state (HDLID signal off) at the end of the head unload time (specified by HUT of the SPECIFY command). If a read/write command is given for the same device within this time, since the head is currently in the unload state, the FDC can execute the next command without waiting for the elapse of the head load time. However, when a command to another device or a: seek command to another cylinder starts, the head is immediately placed in the unloaded state even within the head unload time. 4-18 MM 6427525 0091996 1974.3.2 READ DELETED DATA MSB LSB Command 1 2 1 0 ~0 Command 2 x * HDUS1USO Parameter 1 Parameter 2 (C-Phase) Parameter 3 Parameter 4 Parameter 5 Parameter 6 (5 (5 z o Parameter 7 Execution Start Sector (E-Phase) Data Transfer (Floppy + Memory) STO ICSE EC 0 HD US1USO D?, DS Bits Always 0 T1 EN 0 DE OR 0 ND NW MA D6, D3, Dl Bits Always 0 ST2 0 CM DD NC SH SN BC MD D7, D3, D2 Bits Always 0 (R-Phase) Parameter 1 Parameter 2 Parameter 3 Parameter 4 HL IC(STO) OO: Sector after Execution Termination Sector IC(STO) = O01: Execution Termination (Error Generation) Sector But Execution Termination Sector when I(STO) = 00, CM(ST2) = 1 and SK (Command 1) = 0 This is the same as the READ DATA function with DAM changed to DDAM and DDAM changed to DAM (see Appendix B.5). 4- ra 9 MM 6427525 005199? O23 aa4.3.3 WRITE DATA = SB Ls Command 1 MT MF 0 0 Command 2 Parameter 1 Parameter 2 Execution Start Sector (C-Phase) Parameter 3 Parameter 4 Parameter 5 Parameter 6 sD Parameter 7 (E-Phase) Data Transfer (Memory ~ Floppy) STO ICSE EC HDUSIUSG D7, DS Bits Always 0 ST) EN 0 DEOR 0 NDNWMA D6, D3 Bits Always 0 ST2 CMDD NC SH SN BC MD D7, D6, DS, 03, D2, DO Bits Always 0 R-Phas Parameter 1 ( *) IC(STO) = 00: Sector after Execution Termination Sector Parameter 2 Parameter 3 IC(STO) = O1: Execution Termination (Error Generation) Sector iN Parameter 4 Outline This command writes DAM to the sector specified by IDR, then transfers the data sent from the main system to that sector one byte at a time. 4-20 MM 6427525 0091998 TET(1) (2) (3) (4) Same functions as READ DATA The following items are the same as the READ DATA functions. - Head load - Sector format and parameters . IDR after normal termination . ND error Head unload Transfer capacity EN error NW error When the WPRT signal is input at the start of command execution, the NW (Not Writable) bit of ST1 is set at that time and command execution is abnormally terminated. MA error If IDAM is not detected before an index pulse is detected twice, the MA bit of ST1l is set and command execution is abnormally terminated. CRC error The CRC byte immediately following the ID is read and is compared with the CRC generated internally. If the two CRCs do not match, the DE bit of ST1l is set and command execution is abnormally terminated at that time. 4-21 M 6427525 0091999 Ith(5) (6) Overrun If the main system does not provide service (activate WR, or DMAAK) within the time shown below after a transfer request by INT or DMARQ in a data transfer, the OR bit is set and command execution is abnormally terminated after data has been transferred to that sector. The DMARQ signal is reset automatically immediately before the R-Phase is entered. . Standard floppy disk ....... FM mode : 31 us MFM mode: 15 us - Minifloppy disk ............ FM mode : 62 us MFM mode: 30 us . High density floppy disk ... FM mode : 51 us MFM mode: 25 us Data length When the N byte of IDR is OOH, the DTL byte specifies the data length to be processed in the sector as shown below. When the N byte is other than OOH, the DTL byte is meaningless. - DTL = 01H: 1 bytes/sector - DTL 2 80H: 128 bytes/sector When DTL < 80H (when the DTL specification is only as far as part-way through a sector), OOH is written for the entire sector after the data specified by DTL. 4-22 MB 6427525 0092000 215(7) (8) Multi sector write When the termination signal (TC signal) is not input from the main system after the data of one sector has been transferred, the R byte of IDR is updated (R + R + 1) and the sector specified by the new IDR is searched. However, at this time, the R byte should be specified within the range R g EOT. TC signal timing If the TC signal is input midway through a sector during a data transfer, OOH is written in the remainder of the sector and command execution is normally terminated. The TC signal receive timing is within the time shown below from the data transfer request by the INT signal or DMARQ signal. When the FDC receives the TC signal within this time, a transfer request is not output after the data requested by that INT signal or DMARQ signal is transferred. However, when the TC signal is input within a 2-byte time from the transfer request of the last byte of the sector, command execution is terminated at that sector. . Standard floppy disk ..... -. (1 byte time) - 6 us - Minifloppy disk .........e.0- (1 byte time) - 12 us - High density floppy disk ... (1 byte time) - 10 us 4-23 M@@ 6427525 0092001 15 ae4.3.4 WRITE DELETED DATA Command 1 MIMF oO 0 1 0 0 1 Command 2 Parameter 1 Parameter 2 Execution Start Sector Parameter 4 Parameter 5 Parameter 6 Parameter 7 DTL (E-Phase) Data Transfer (Memory + Floppy) STO iCc SE EC 0 HD US1 USO D7, DS Bits Always 0 STI EN 0 DEOR O NDNWMaAl D6, D3 Bits Always 0 ST2 0 CMDD NC SH SN BC MD] D7, D6, DS, D3, D2, DO Bits Always 0 (R-Phase) Parameter 1 Ic(STO) 00: Sector after Execution Termination Sector Parameter 2 Parameter 3 IC(STO) = O1: Execution Termination (Error Generation) Sector Parameter 4 mM This is the same as WRITE DATA except that DDAM is written instead of DAM (see Appendix B.6). 4-24 MB 6427525 009200e 0554.3.5 READ ID MSB LS Command 1 O MF 0 01 0 (C-Phase ) Command 2 ~ o (E-Phase) Read of ID Information for 1 Sector (Floppy ~- FDC) STO D7, DS Bits Always 0 ST1 EN 0 DE OR ND NWMA| D6, D3, D1 Bits Always 0 sT2 CM DD NC SH SN BC MD] All Bits Always 0 (R-Phase) Parameter 1 Parameter 2 Sector Read in E-Pnase Parameter 3 ii Parameter 4 Outline This command sets the ID of the first sector (no DE error or MA error) detected after the head load time has elapsed into the data register as the R-Phase IDR (see Appendix B.8). The sector to be detected cannot be specified, and is undefined. (1) Same functions as READ DATA The following items are the same as the READ DATA functions: - Head load - Head unload (2) MA error If IDAM is not detected before an index pulse is detected twice, the MA bit of ST1 is set and command execution is abnormally terminated. 4-25 MB 6427525 0092003 Tes (3) ND error When a CRC-error-free ID is not detected before an index pulse is detected twice even though IDAM is detected, the ND (No Data) bit of ST1l is set and command execution is abnormally terminated. 4.3.6 WRITE ID (FORMAT WRITE) = SB LSB Command 1 OMF 6 0 1 1 0:21 Command 2 Parameter 1 (C-Phase ) Parameter 2 i Parameter 3 GPL Parameter <4 | (E-Phase) "Fite of Other than ID Information (FDC + Floppy) ID Information Transfer (Memory ~ Floppy) sTo C~SEEC 0 HDUSIUSO D7, DS Bits Always 0 $T1 EN 0 DE OR NDNWMaA| D7, D6, DS, D3, D2, DO Bits Always 0 ST2 0 CMDD NC SH SN BC MD] All Bits Always 0 (R-Phase) Parameter 1 Parameter 2 Mesningless Parameter 3 HL Parameter 4 Outline This command writes the format of one track. It transfers the information from the main system to ID and writes the D byte of the parameter into the data as the data pattern (see Appendix B.9). 4-26 Me 6427525 009c004 4b)(1) (2) (3) (4) (5) Same functions as READ DATA The following items are the same as the READ DATA functions. - Head load - Head unload Same as functions as WRITE DATA The following items are the same as the WRITE DATA functions. .- NW error . Overrun Transfer data Only the ID information ((C, H, R, N bytes) x (number of settings)) of one track is transferred. Therefore, the sequence ID (skip R byte set), defective cylinder ID (C byte set to FFH), etc. can be written by this data from the main system. Format The FDC can internally set and write formats other than ID (Gap, Sync, Address Mark, Data, CRC). However, the data length, number of sectors, gap 3 length, and data pattern are set by parameters and are, therefore, programmable. Sector format and parameter The EOT and GPL reference value versus data length are shown below. GPL specifies the length (number of bytes) of GAP3 which is written at the end of the sector. 4-27 Mi 6427525 0092005 sts veTable 4-6 EOT and GPL Value vs Data Length (WRITE ID) IBM Foust Parameter | y C6 mot rey B16) Remarks FM 128 bytes/sector 00 1A 1B IBM diskette 1 256 bytes/sector ol OF 2A IBM diskette 2 512 bytes/sector 02 08 3A 1024 bytes/sector 03 04 Undefined 2048 bytes/sector 04 02 Undefined 4096 bytes/sector 05 ol Undefined MFM | 256 bytes/sector O1 1A 36 IBM diskette 2D 512 bytes/sector 02 OF 54 1024 bytes/sector 03 08 74 IBM diskette 2D 2048 bytes/sector 04 04 Undefined 4096 bytes/sector 05 02 Undefined 8192 bytes/sector 06 O01 Undefined (6) Format write start (7) A format write starts when an index pulse is input after the start of command execution. When the TC signal is not input and the number of processed sectors does not equal parameter SC after the end of writing of one sector, operation is shifted to the next sector format by writing of GAP3. Format write end When the TC signal is input or the number of processed sectors equals parameter SC after the end of writing of one sector, operation shifts to writing of the gap only. The operation ends an index pulse is subsequently input. 4-28 Me 6427525 o092e00b 7344.3.7 READ DIAGNOSTIC MSB LSB Command 1 OMF 0 0 60 0 1 90 Command 2 x x x x x HDUSIUSO (C-Phase) Parameter 3 - : ~ Meaningless (E-Phase) Data Transfer (Floppy + Memory) STO 1C~SE EC 6 HD US1 USO D7, DS Bits Always 0 T EN 0 DE OR 0 ND NW MA D6, D3, D1 Bits Always 0 ST2 CMDD NC SH SN BC MDj D7, D3, D2 Bits Always 0 (R-Phase) Parameter Parameter Parameter Parameter w Ld HIBS w ~ Outline Ic(STO) = 00: Sector after Execution Termination Sector Ic(stTO) = O01: Execution Termination (Error Generation) Sector This command is the same as READ DATA except for the following. - Multi-track skip is not specified. - In command execution, the R byte of the parameter is set to the initial value O1H and processing is performed from the sector immediately after index pulse input. 4-2 wo Mi 6427525 0092007 70. The read ID and IDR are compared and when they are aifferent, the ND bit of STl is set, but data transfer of subsequent sectors is performed and command execution is normally terminated. (This occurs for sequence ID.) - When an ID or data CRC error is detected, the DE bit and DD bit are set, but this is not a command execution end condition. When the command is normally terminated, if an error is generated, it is accumulated and output to the result status. However, the sector is not known. (The result C, H, R, and N bytes are those for the updated execution termination sector. ) 4-30 ME 6427525 0092008 507 a4.3.8 SCAN EQUAL/SCAN LOW OR EQUAL/SCAN HIGH OR EQUAL Command 1 Command 1 Command 1 x SB LSB MTMF SK 1 0 0 01 SCAN EQUAL SCAN LOW OR EQUAL SCAN HIGH OR EQUAL Command 2 Parameter 1 Parameter 2 (C-Phase) Parameter 3 Parameter 4 Parameter 5 Parameter 6 Parameter 7 Execution Start Sector (E-Phase) Data Comparison (Memory + FDC + Floppy) STO ST ST2 (R-Phase) Parameter 1 Parameter 2 Parameter 3 Parameter 4 ICSE EC 0 HD USIUSO EN 0 DE OR 0 NDNWMA 0 CM DD NC SH SN BC MD i D7, DS Bits Always 0 D6, D3, Dl Bits Always 0 D7 Bit Always 0 Last Sector Compared > Common to 3 Commands NOTE: The SCAN EQUAL, SCAN LOW OR EQUAL, and SCAN HIGH OR EQUAL commands are identical, except for the command 1 code. Outline These commands compare the data of each sector with the main system data and search for a sector that satisfies the condition (match, magnitude) (see Appendix B.10). 4-31 MM 6427525 0092009 443(1) (2) (3) Same functions as READ DATA The following items are the same as the READ DATA functions. - Head load . CRC error - Sector format and parameters . MA error and MD error - DDAM detection - Head unload ND error Overrun Uncompared data When the data from the main system is FFH, a match is assumed and that data is not compared. Comparison method SCAN EQUAL Whether or not the byte group of the sector to be compared is equal to the main system data byte group is checked and if it is equal, command execution is normally terminated. . SCAN LOW OR EQUAL When the byte group of the sector to be compared is lower than or equal to the main system data group, command execution is normally terminated. 4-32 M@@ 6427525 0092010 165. SCAN HIGH OR EQUAL When the byte group of the sector to be compared is higher than or equal to the main system data group, command execution is normally terminated. In a match and magnitude comparison, the data group of 1 sector is taken as one value with the byte to be compared first as the high-order byte (same one data item also for the main system data group). Figure 4-6 Data Comparison at Each Scan (a) Disk Main (bd) Disk Main (c) Disk Main EQUAL (match) data string MSB DAM} 01 | 41 | 50 | 65 | 73 | 23 Disk = Main | | (14150657321) for | 41 | FF | 6s | 73 | 21 Not Compared LOW (small) data string MSB paM| 02 | 41 | 50 | 65 | 73 | 21 | | | | j | Disk < Main | o1 | 41 | 56 | 1 | 73 | 00 0<6 HIGH (large) data string pam| o1 | a1 | 50 | 65 | 73 | 21 | } | { | | Disk > Main Jor [er | so | 47 | 00 | FF 4-33 MM 6427525 0092011 OT](4) (5) (6) TC signal Always input the TC signal at the end of transfer of the last byte of each sector (for instance, by a DMA controller autoload, etc.). When all the bytes of a sector do not have to be compared, input the TC signal midway through that sector. The rest of that byte is not compared and only the data bytes up to the TC signal input are compared. TC signal input with this command is not a command execution termination condition. Sector updating When the data of one sector is compared with the main system data group and the condition is not satisfied, update the R byte of IDR (R + R+ STP: STP = 1 or 2). The sector specified by the new R byte is compared. STP Specify 01H or O2H in the STP byte of the parameter. When STP = 02H is specified, set the R byte or EOT byte of the parameter so that the following expression is satisfied. R+2(n- 1) = EOT n: Sector to be processed 4-34 MB 6427525 0092012 135 a(7) 4.3.9 SEEK (C-Phase) Execution termination When one sector is compared and that sector satisfies the condition, command execution is normally terminated at that time. When the EQUAL condition is satisfied at this time, the SH (Scan Equal Hit) bit of ST2 is set. If all the sectors have been compared and none of the sectors satisfies the condition, the SN (Scan Not Satisfied) bit of ST2 is set and command execution is normally terminated. MSB LSB Command 1 600 0 3 Yo o7 1 Command 2 x x x x USIUSO (E-Phase) Step Pulse Generation Outline This command assumes that the NCN (New Cylinder Number) byte of the parameter is the seek destination cylinder number and moves the read/write head to that cylinder. (1) Seek operation The PCN (Present Cylinder Number) byte, which shows the cylinder at which the read/write head is positioned, and NCN byte are compared. When the result of the comparison is a mismatch, one of the following two operations is performed. - When NCN > PCN: The DIR signal is set and a step pulse (STEP) is output, and PCN is incremented (PCN + PCN + 1). 4-35 Mi 6427525 0092013 9174 hrs. When NCN < PCN: The DIR signal is set and a step pulse (STEP) is output, and PCN is decremented (PCN PCN - 1). Thereafter, the operation above is repeated at each step time specified by the SPECIFY command. (2) Seek operation termination When PCN = NCN, the SE bit of STO is set and command execution is normally terminated. However, the STO contents are processed by the SENSE INTERRUPT STATUS _ command. (3) Simultaneous seek In the E-Phase (FD Busy), since the FDC is non-busy, it accepts a SEEK or RECALIBRATE command for another device and a seek can be performed on up to four devices simultaneously (except for the PC-AT mode). 4.3.10 RECALIBRATE (RETURN TO CYLINDER 0) MSB LSB Command 1 ooo 0,0 1 121 (C-Phase) ; Command 2 | * * * * * x US1USO (E-Phase) Step Pulse Generation Outline This command moves the head outward (DIR = 0) until TRKO is input (see Appendix B.4). (1) Same functions as SEEK The following item is the same as for the SEEK command. . Simultaneous seek (except for PC-AT mode) 4-36 Me 6427525 0092014 600(2) Recalibrate operation The TRKO signal is checked after the PCN byte is cleared. When TRKO = 0, the DIR signal is reset and a step pulse is generated. (3) Recalibrate operation termination When TRKO = 1, the SE (Seek End) bit of STO is set and command execution is normally terminated. However, the STO contents are processed by the SENSE INTERRUPT STATUS command. (4) EC error If the TRKO signal is not input after the operation in (2) above has been repeated 255 or 77 times, the SE and EC (Equipment Check) bits of STO are set and command execution is abnormally terminated. 4.3.11 SENSE INTERRUPT STATUS MSB LS8 (-Phese) Command 1 (P-Phase) When IC(STO) = 11: Meaningless P. arameter 1 When STO = 8OH: Not Set Outline This command sets the status transition result status in the data register in the case of a seek operation by the SEEK or RECALIBRATE command or reset input (see Appendix B.3). (1) PCN The R-Phase PCN byte indicates the cylinder number at the end of the seek operation. 4-37 MM 6427525 0092015 74?4.3.12 (2) INVALID At the end of the seek operation, this command is processed as an INVALID command (see 4.3.14 "INVALID" ). SPECIFY MSB LSB Command 1 0 0 0 0 0 0 1 1 (C-Phase) Parameter 1 SRT HUT Parameter 2 HLT ND Outline This command defines the initial value and operating mode of each internal timer. (1) HUT HUT (Head Unload Time) specifies the time until the read/write head is placed into the unloaded state after the end of execution of a read/write command. - Standard floppy disk : 16 to 240 ms (16 ms) . Minifloppy disk 32 to 480 ms (32 ms) . High density floppy disk: 27 to 405 ms (27 ms) 4-38 MB 6427525 OO9e201b b43 orTable 4-7 Head Unload Time Specified by HUT HUT( 16) Time (ms) HUT (16) Time (ms) 0 Use prohibited 8 128/256/216 1 16/32/27 9 144/288/243 2 32/64/54 A 160/320/270 3 48/96/81 B 176/352/297 4 64/128/108 Cc 192/384/324 5 80/160/135 D 208/416/351 6 96/192/162 E 224/448/378 7 112/224/189 F 240/480/405 Remarks: Times are shown in the order: Standard floppy disk, minifloppy disk, high density floppy. When the read/write commands are executed consecutively and the HUT setting is longer than the main system processing time in the command E-~-Phase, the head remains in the loaded state and, therefore, the access time can be shortened by ignoring HLT (see the figure below). Figure 4-7 Head Load Time Omission E-Phase R-Phase C-Phase E-Phase R-Phe se Read/Write __ Read/write Command Command 2 HUT. _ Read/Write. Host System __s Read/Write __ Operation Processing Operation Time la HLT Differ- ence E-Phase _R-Phase C-Phase E-Phase R-Phase Read/Write _. _~ Read/Write Command 2 HUT Head Unload Read/wWrite.w.. Host System Head Load... Read/Write __ Operation Processing (HLT) Operation me 4-39 M@@ 6427525 0092017 S17(2) SRT The interval of the step pulse (STEP) generated by a seek command is set in SRT (Step Rate Time). . Standard floppy disk 1 to 16 ms (1 ms) . Minifloppy disk 2 to 32 ms (2 ms) . High density floppy disk: 1.7 to 27 ms (1.7 ms) Table 4-8 Step Pulse Interval Specified by STR SRT( 16) Time (ms) SRT (16) Time (ms) 0 16/32/27.0 8 8/16/13.6 1 15/30/25.3 9 7/14/11.9 2 14/28/23.6 A 6/12/10.2 3 13/26/22.0 B 5/10/8.5 4 12/24/20.3 Cc 4/8/6.8 5 11/22/18.6 D 3/6/5.1 6 10/20/17.0 E 2/4/3.4 7 9/18/15.3 F 1/2/1.7 Remarks: Times are shown in the order: Standard floppy disk, minifloppy disk, high density floppy. When the C-Phase period of a certain command is applied using the timing for generation of the STEP signal of a seek command, the STEP signal is held for that period and the interval up to the next STEP signal is shorter. 4-40 M@@ 6427525 0092018 4Sk aThis occurs when the C-Phase period of a seek command is longer than the step rate time (Figure 4-8 (a)) and when another command is written (simultaneous seek, etc.) while a seek command is being executed (Figure 4-8 (b)). In that cases, the value of the pertinent step pulse interval is 1 ms shorter than the value in the table for a standard floppy disk, 2 ms shorter than the value in the table for a minifloppy disk, and 1.7 ms shorter than the value in the table for a high density floppy disk (300 kbps). To avoid a seek error, make the seek command C-Phase period, or the C-Phase period when writing other commands in the E-Phase, as short as possible, or make the step rate time longer. If the time of the C-Phase of these commands in shorter than 20 us x (step rate), a seek error is not generated. (For example, if the step rate time is 3 ms, the C-Phase parameter must be written within 60 us.) Figure 4-8 When Step Rate is Short (a) Single seek time Internal 1 = 1 2 0 t 2 6 1 2 Timer " - : : } C-Phase STEP Signal Sl Sl pl Less be ghen oe 3 (b) Simultaneous seek time fn 0 1 2 0 1 2 0 1 2 0 1 om Q 1 2 0 1 2 0 1 internal ; ! : . " : ; , } ri Timer C-Phase of Seek for #m n STEP ht fl fl Mf Signal tm STEP fl Sl _fl Signa Less jaMore than shan +3ms+ 3ma- 3 ms 5 mas 4-41 MB 6427525 0092019 35c gD Lay ~(3) HLT HLT (Head Load Time) specifies the time for stabilizing the read/write head after loading at the start of execution of a read/write command (in accordance with the drive specifications). If the head is in the loaded state at the start of command execution, HLT is meaningless. . Standard floppy disk : 2 to 254 ms (2 ms) . Minifloppy disk : 4 to 508 ms (4 ms) - High density floppy disk: 3.3 to 420 ms (3.3 ms) Table 4-9 Head Load Time Specified by HLT HLT( 1 ) Time (ms) HLT (16) Time (ms) 00 Use prohibited 08 16/32/26.4 01 2/4/3.3 09 18/36/29.7 02 4/8/6.6 OA 20/40/33 .0 03 6/12/9.9 i L 04 8/16/13.2 7 T T 05 10/20/16.5 7D 250/500/313.4 06 12/24/19.8 7E 252/504/316.7 07 14/28/23.1 7F 254/508/320.0 Remarks: Times are shown in the order: Standard floppy disk, minifloppy disk, high density floppy. The minimum is 1 ms from the value in the table for a standard floppy disk, 2 ms from the value in the table for a minifloppy disk, and 1.7 ms from the value in the table for a high density floppy disk. 4-42 MB 6427525 0092020 cou me ftThe head settling time is shorter than the head load time and does not have to be specified (operation with head settling complete during loading as a precondition). (4) ND The ND (Non-DMA Mode) bit specifies the data transfer mode in the read/write command E-Phase. Non-DMA mode DMA mode a6 4.3.13 SENSE DEVICE STATUS MSB LSB (C-Phase) come [= Fe om (R-Phase) ST3 Oo WP 1 = TO 1 HDUSIUSO Outline This command sets the WPRT and TRKO signals, which indicate the device status, and the HD, USO, and US1 statuses specified in the C-Phase into ST3 and loads them into the data register (see Appendix B.3). 4.3.14 INVALID Outline This command sets the IC (Invalid Command) bit of STO to 10 and all other bits to O (STO = 80H) and loads them into the data register in the following three cases (see Appendix B.1). - When an undefined command code is given. 4-43 MM 6427525 00920e1 THO. When a SENSE INTERRUPT STATUS command has been started even though an INT request has not been generated by the end of a seek command or a status transition. - When an auxiliary command other than SOFTWARE RESET or SET STANDBY is started. 4.3.15 VERSION MSB LSB (R-Phase) STO 100 * 0 0 6 6 *: 1 in the uPD72064 (B type product). Outline This command identifies the product as the B type. After being issued, the VERSION command is processed as an INVALID command and the value shown below is set in STO as a result: Product Name Value of STO uPD765B 90H (B type) uPD72065B uPD72067 (except K specification product) uPD72068/68F uPD72069 uPD72064 uPD765A 80H uPD7265 uPD72066 uPD72067 (K specification product) 4-44 Mm 6427525 CO%e0ee 147The uPD72064 is a B type product. B type products incorporate the four improvements shown below. The differences between B type products and other type products are shown in the table below. _B Type Product Non-B-Type Products OR (overrun) bit setting operation When a read/write command other than a SCAN or READ ID is executed, the operation is as shown below. OR bit setting is always performed positively. When an overrun is generated in the last byte of the sector, the result status OR bit is not set. DMARQ setting operation in case of overrun For DMARQ, DMAAK input is unnecessary since it is reset directly before the R-Phase. DMAAK input is necessary to reset DMARQ. If DMAAK is not input and the DMA controller continues to operate even after the FDC has entered the R-Phase, the result status set inside the FDC may be transferred as normal data by mistake. Phase relation- @ and WCLK do not have and WCLK must be ship between to be synchronized. synchronized. and WCLK VERSION command Yes (for identifying B No type products) 4.3.16 SET STANDBY MSB LSB Outline (C-Phese) Command 1; 09 0 1 1 01 0.1 This command stops the FDC internal clock and places the FDC into the standby status. In the standby status, internal RAM, PORT and other information and output pin statuses are retained. 4-45 Mi 6427525 0092023 6134.3.17 The SET STANDBY command can be written when status register CB = 0 and ROM = 1, as with ordinary commands. The FDC enters the standby status approximately 3 us after this command is issued. The standby status is released by issuing a RESET STANDBY or SOFTWARE RESET command or inputting an external reset signal after waiting for the duration of the oscillation stabilization period after issuing a START CLOCK command. Note that external reset and SOFTWARE RESET input also reset the FDC internal status. The SET STANDBY command has a C-Phase only; it does not have an E-Phase or R-Phase. RESET STANDBY MSB LSB (C-Phase) Command 1}0 0 1 1 0 21 ~=0 ~=0 (R-Phase) STO 2 0 0 0 0 0 @ Of INVALID Command Outline This command releases the FDC standby status. When the FDC is in the standby status, a START CLOCK command must be issued before this command. Inside the FDC, this command is treated as an INVALID command. It therefore has a C-Phase and R-Phase, but no E-Phase. 4-46 MH 6427525 O09e024 7ST v74.3.18 SOFTWARE RESET 4.3.19 MSB LSB (CePnaese) Command 2/0 0 1 1 0 #212 06 Outline This command initializes the FDC in the same way as an FDC reset by external reset input. However, it has no effect on the digital out register or control registers. This command can be written at any time, except when the FDC is in the standby status. As with the SET STANDBY command, this command has a C- Phase, but no E-Phase or R-Phase. START CLOCK MSB LSB (C-Phase) Command 1/0 1 0 6 031 1 21 Outline This command operates the crystal oscillator that is stopped when the FDC is in the standby status. After this command is issued prior to a RESET STANDBY command, it is necessary to wait for oscillation to stabilize. This command is not necessary when the standby status is released by a reset signal. 4-47 MB 6427525 0092025 bob me v4 This command should also be issued before a RESET STANDBY command when an external clock is input to the FDC. While the FDC is in the standby status, the external clock should be fixed low. If this is not done the standby current specification will not be met. External clock input can be started before or after this command is issued, but a current higher than the standby current specification flows when it is started. When the standby status is released by a reset signal, the reset signal can be input either before or after this command is issued. However, the reset signal should be input after the external clock is started. This command has a C-Phase only; it does not have an E- Phase or R-Phase. However, if this command is issued when the FDC is not in the standby status, it is treated as an INVALID command and is meaningless. In this case, therefore, STO should always be transferred in the R- Phase. NOTE: When software that uses the uPD72065/72065B standby function is used with the uPD72064, a START CLOCK command must be added. 4-48 MH 6427525 OO%e0eb See4.3.20 SELECT TRACK NUMBER MSB LSB CR-Phase) STO 100 000 0 0 INVALID Command Outline This command specifies the maximum number of tracks that can be recalibrated. When using in the special mode or PC-AT mode, write the code into the digital out register after setting the maximum number of tracks with this command in advance. - TR = O: 77 tracks - TR = 1: 255 tracks In the reset status, 77 tracks is set. Inside the FDC this command is treated as an INVALID command, and therefore has no C-Phase or R-Phase. 4-49 MB 6427525 0092027 469 me mr4.4 RESULT STATUS NORMAL/ABNORMAL INDICATION BITS (1 indicates set bit.) Mm 6427525 oo4%e028 375 STO ST1 ST2 Command | Execution Termination Condition NT|AT|SE|]EC)EN|DE|OR| NDj NW) MA{CM/ DD| NC; SH| SN] BC] MD READ Normal termination 00 DATA *1 | IDAM not detected Ol 1 C mismatch (FFH) 01 1 1 C mismatch (=FFH) Ql 1 1 H mismatch 01 1 R mismatch (in 1] track) 01 1 N mismatch 01 1 CRC mismatch 01 1 *2 | DAM not detected 01 1 1 DDAM detected 00 1 CRC mismatch 01 1 1 Overrun 01 1 Not terminated at last sector Ol 1 READ Normal termination 00 DELETED DATA *] | IDAM not detected 01 1 C mismatch (FFH) 01 1 1 C mismatch (=FFH) 01 1 1 H mismatch Ql 1 R mismatch (in 1 track) Ol 1 N mismatch 01 1 CRC mismatch Ql 1 *2 | DDAM not detected 01 1 1 DAM detected 00 1 CRC mismatch 01 1 1 Overrun Ol 1 Not terminated at last sector Ql 1 (to be continued) 4-50(cont'd) STO STi ST2 Command | Execution Termination Condition NT | ATISE|EC]EN | DE|OR|NDjNW|MA/CM) DD|NC|SH /SN|BC/MD WRITE Normal termination 00 DATA Write protected Ql 1 *1 1 IDAM not detected Q1 1 C mismatch ( O O O HD US1 USO} Same as READ DATA 2{EN O DE OR O ND NW MA 3}0 0 O NC OF O BC O 4 c 5 H 6 R 7 N WRITE c 1|\MT MF OF O 1 #O O 1 | Same as READ DATA DELETED DATA 2|x -*. % % x HD US1 USO 3 c 4 H 5 R 6 N 7 EOT 8 GSL (to be continued) 4-59 M@@! 6427525 0092037 306(cont'd) Command Phase | R/W|D7 DO Remarks WRITE c Wig DTL Same as READ DATA DELETED DATA E Wi- Transfer data Data transfer (cont'd) R Riil*Iic+ 0 0 O HD USi USO} Same as READ DATA 2\/EN O DE OR O ND NW MA 3}0 0 O NC O O BC O 4 c 5 H 6 R 7 N READ Wi/1/0 MF O O O 1. O | Same as READ DATA DIAGNOSTIC (except that R is 21x % %* x HD US1 USO] meaningless) 3 c 4 H 5 R 6 N 7 EOT 8 GSL 9 DTL E Ri - Transfer data Data transfer R R,/1i|*+Ic + O O O HD US1 US2 | Same as READ DATA 2/EN O DE OR O ND O MA 3/0 CM DD NC O O BC MD 4 c 5 H (to be continued ) 4-60 Mi 6427525 0092038 244(cont'd) Command Phase | R/W(D7 DO Remarks RFEAD R 6 R Same as READ DATA DIAGNOSTIC (cont'd) 7 N SCAN EQUAL c 1|MT MF SK 1 0 0 OO 1 | Same as READ DATA 21x x x x x HD USi USO Cc 4 H 5 R 6 N 7 EOT 8 GSL 9 STP E - Transfer Data Data comparison R 1/+ IC + O O O HD USi USO 2|EN O DE OR O ND O MA 3} 0 CM DD NC SH SN BC MD 4 c 3 H Last sector 6 R compared 7 N SCAN LOW c 1IMT MF SK 1 1 #O O 1 | Same as READ DATA OR EQUAL 2|x x x HD USi USO 3 c 4 H 5 R 6 N (to be continued) 4-61 M@@ 6427525 0092039 160(cont'd) Command D7 Remarks SCAN LOW EOT Same as READ DATA OR EQUAL (cont'd) GSL STP Transfer data Data comparison *I+ 0 0 O HD EN OO DE OR O ND O CM DD NC SH SN 4 C H 3 Last sector 6 R compared 7 N SCAN HIGH MT MF SK 1 1 1 Same as READ DATA OR EQUAL x x % % x HD US1 USO Zz GSL wool orpr?E DA] vw] |] w STP Transfer data Data comparison 4-62 Me 6427525 0092040 IT? (to be continued)(cont'd) Command Phase | R/W{D7 DO Remarks SCAN HIGH R 1j+ IC + 0 0 .0 HD wvS1 USO OR EQUAL (cont'd) Z2/EN O DE OR O ND O MA 3; 0 CM DD NC SH SN BC MD 4 Cc 3 H Last sector 6 R compared 7 N SEEK c wii} 0 0 0 0 1 1 1 i 2;}|x x x x x x USi1 USO 3 NCN E - Seek operation RECALIBRATE Cc 1}/0 0 0 90 90 1 i 1 2jx x x x x x US1 USO E - Recalibrate operation SENSE Cc 1;0 0 0 0 1 O08 OO OQ | Cylinder number at INTERRUPT end of command STATUS R ij+ IC + SC EC O QO US1 USO | (meaningless when IC = 11 in status 2 PCN transition) SENSE c 1/0 0 0 0 0 1 Oo oO DEVICE STATUS 2}|x x x x % &#HD wUSi1 USO R 1 ST3 Drive status SPECIFY Cc 1;0 0 0 0 0 90 1 1 2\|-+ SRT HUT _ 3 HLT +ND> SET Cc 1; 0 O 1 1 Oo 61 0 i STANDBY (to be continued) 4-63 MB 6427525 0092041 439(cont'd) Command Phase | R/W{D7 bo Remarks RESET c wfiij/o oO 1 1 0 1 0 90 STANDBY R Riljil 0 0 O O 0 Q QO | INVALID command SOFTWARE c Wwii}o oOo 1 1 oO 1 1 O RESET START CLOCK c Wwjiji/o0 1 0 0 0 1 1 1 SELECT c wi1}/o 1 0 TR 2 1 1 1 TRACK NUMBER R Riit/1 0 0 0 0 #060 +O O | INVALID command VERSION c Wiljx x x 1 0 0 0 0 R Rili1 0 0 1 0 0 0 0 4-64 M@ 6427525 oodeo4e 775 Me4.7 RESULT STATUS Table 4-10 Result Status 0 (STO) IC: Invalid Command Bit Name Symbol Contents D7 | Interrupt Code Ic Indicates what generated an INT request. D7__D6 O O Command normal termination (NT) D6 OQ 1 Command abnormal termination (AT) 1 O Started command was invalid and was not executed (IC) 1 1 Status transition in device (AI) DS Seek End SE Set when seek operation by SEEK or RECALIBRATE command is normally or abnormally terminated. D4 | Equipment Check EC Set when Track O signal is not detected within a certain time by RECALIBRATE command. D3 - 0 D2 | Head Address HD Indicates the status of the head when an INT request is made. This bit always becomes 0 when the SENSE INTERRUPT STATUS command is executed. D1 Unit Selectl US1 Indicates the device number when an INT request is made. DO | Unit SelectO usO NT: Normal Terminate AT: Abnormal Terminate AI: Attention Interrupt 4-65 Me 6427525 0092043 601 aTable 4-11 Result Status 1 (ST1) Bit Name Symbol Contents D7 | End of Cylinder EN Set when the last sector specified by EOT is exceeded and an attempt is made to continue to read/write (TC signal not input). D6 - 0 D5 | Data Error DE Set when ID or data CRC error is detected on the disk (except READ ID). ID and data are distinguished by the DD bit (D5) of ST2. D4 Overrun OR Set when main system service is not provided within the specified time in a data transfer. D3 - 0 D2 | No Data ND 1. Set if the sector specified by IDR is not detected on the track when any of the following five commands is executed: o READ DATA o READ DELETED DATA o WRITE DATA o WRITE DELETED DATA o SCAN 2. Set if a CRC error-free ID is not found on the track on which the READ ID command is executed. 3. Set if the sector ID and specified IDR contents do not match when the READ DIAGNOSTIC command is executed. D1 | Not Writable NW Set if the write protect signal is detected when a write command is executed. DO | Missing Address MA 1. Set if IDAM is not found before an index Mark pulse is detected twice when executing a command that accesses the disk ID. 2. Set if DAM or DDAM is not found after IDAM is found. In this case, the MD bit of ST2 is also set. 4-66 MH 6427525 0092044 SHSTable 4-12 Result Status 2 (ST2) Bit Name Symbol Contents D7 - 0 D6 | Control Mark CM Set if DDAM is detected in READ DATA, READ DIAGNOSTIC, or SCAN command execution or if DAM is detected in READ DELETED DATA command execution. D5 Data Error in DD Set when a data CRC error is detected. Data Field D4 | No Cylinder NC Set if the C byte of ID incidental to the ND bit of ST1 does not match and is not FFH (except READ DIAGNOSTIC command). D3 | Scan Equal Hit SH Set if the Equal condition is satisfied in a SCAN command. D2 | Scan Not SN Set if the condition is not satisfied by the Satisfied last sector in a SCAN command. D1 Bad Cylinder BC Set if the C byte of ID incidental to the ND bit of ST1 is FFH (except READ DIAGNOSTIC command). DO | Missing Address MD Set in the case of 2. which sets the MA bit of Mark in Data ST1 (DAM/DDAM not found). Field Table 4-13 Result Status 3 (ST3) Bit Name Symbol Contents D7 _ - 0 D6 | Write Protected WP Write Protected signal from device D5 - 1 D4 | TrackO TO TrackO signal from device D3 _ - 1 D2 | Head Address HD Side Select signal to device D1 | Unit Selectl uS1 | Unit Selectl signal to device DO | Unit Select0O USO | Unit SelectO signal to device 4-67 Me 6427525 0092045 464