| 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.