2793 2797 |
2791 2795 |
2795 2797 |
2791 2793 |
||||||
--> | ENP | 1 | -279X FDC- | 40 | HLT | <-- | |||
--> | !WE | 2 | 39 | INTRQ | --> | ||||
--> | !CS | 3 | 38 | DRQ | --> | ||||
--> | !RE | 4 | 37 | !DDEN | <-- | ||||
<-> | A0 | 5 | 36 | !WPRT | <-- | ||||
--> | A1 | 6 | 35 | !IP | <-- | ||||
<-> | D0 | !D0 | 7 | 34 | !TR00 | <-- | |||
<-> | D1 | !D1 | 8 | 33 | WPW | <-- | |||
<-> | D2 | !D2 | 9 | 32 | READY | <-- | |||
<-> | D3 | !D3 | 10 | 31 | WD | --> | |||
<-> | D4 | !D4 | 11 | 30 | WG | --> | |||
<-> | D5 | !D5 | 12 | 29 | TG43 | --> | |||
<-> | D6 | !D6 | 13 | 28 | HLD | --> | |||
<-> | D7 | !D7 | 14 | 27 | !RAW_RD | <-- | |||
<-- | STEP | 15 | 26 | VCO | --- | ||||
<-- | DIRC | 16 | 25 | SSO | --> | !ENMF | <-- | ||
--> | !5/8 | 17 | 24 | CLK | <-- | ||||
--> | RPW | 18 | 23 | PUMP | --> | ||||
--> | !MR | 19 | 22 | !TEST | <-- | ||||
GND | 20 | 21 | VCC | <-- |
0 1 2 3
Command (write) & status (read) registers.
Command bytes: 7 6 5 4 3 2 1 0 Command 0 0 0 0 x x x x Restore to track 0 0 0 0 1 x x x x Seek 0 0 1 x x x x x Step 0 1 0 x x x x x Step in 0 1 1 x x x x x Step out Bits: 4 - 0:No update of track reg 1:Update track register 3 - 0:Unload head at start 1:Load head at start 2 - 0:No verify of track no 1:Verify track no. on disc 1-0 Read as 2 bit stepping rate: 00 = 6ms 01 = 12ms 10 = 20ms 11 = 30ms 1 0 0 x x x x 0 Read sector 1 0 1 x x x x x Write sector 1 1 0 0 0 x x 0 Read address 1 1 1 0 0 x x 0 Read track 1 1 1 1 0 x x 0 Write track Bits: 4 - 0:Read/write 1 sector 1:Read all sectors till the end of a track. 3 - Interpretation of 2 bit sector length field in sector header: 0: Field is interpreted as 00 = 256 bytes/sector 01 = 512 bytes/sector 10 = 1024 bytes/sector 11 = 128 bytes/sector 1: Field is interpreted as 00 = 128 bytes/sector 01 = 256 bytes/sector 10 = 512 bytes/sector 11 = 1024 bytes/sector (set to 1 on Dragon) 2 - 0:No head loading delay 1:Head loading delay of 30ms prior to read/writes. 1 - 0:Set side select o/p to 0 1:Set side select o/p to 1 0 - 0:Write Data Address Mark 1:Write Deleted Data Address mark
1 1 0 1 x x x x Force Interrupt Generate an interrupt & terminate the current operation on: Bits set: 0 - Drive status transition Not-Ready to Ready 1 - Drive status transition Ready to Not-Ready 2 - Index pulse 3 - Immediate interrupt Bits clear: No interrupt occurs, all operations terminated. ($D0) Status (read), when set: Status bits may have different meanings depending on the driver operation being performed. 0 - Drive busy 1 - Data Request (Data Read/Data Written) OR Index Pulse 2 - Lost Data/Track 00 3 - CRC error 4 - Record Not Found/Seek Err 5 - Data Address Mark 0:Data Address Mark read 1:Deleted Data AddresS Mark read OR Head Loaded 6 - Write Protect 7 - Not Ready
65345 FF41 Track register Contains track to seek to.
65346 FF42 Sector register Contains sector to read/write
65347 FF43 Data register. Contains data byte just read or written.
65352 FF48 Drive select latch Bits: 0 - Read as a 2 bit 1 - number to select the required drive (0-3). 2 - Enables the drive selection & turns the disk motors on. 3 - Double/Single density select (1=single). 4 - Enable write precompensation. 5 - Enable NMI interrupt generation. 6-7 unused.