Date : Tue, 27 Jul 2010 19:34:14 +0200
From : rick@... (Rick Murray)
Subject: FileStore emulator - FDC
Hi!
Does anybody have experience with the 2793 FDC chip? The FileStore uses
it, and the (v1.33) firmware probes thusly:
--8<--------
9225093 &F9F3 : FDC change: Test=No, MRst=No, DDen=Yes; FDC1=Yes,
FDC2=No, Side=0
9225093 &F9F3 : Mode LED off
9225093 &F9F6 : FDC read : <- 0 [Status/Command]
9225109 &FA06 : FDC write: 80 -> 1 [Track %01010000]
9225109 &FA09 : FDC read : <- 1 [Track]
9225174 &F87F : FDC write: 0 -> 3 [Data %00000000]
9225203 &FEFC : FDC read : <- 0 [Status/Command]
9225225 &ED17 : Network IRQs disabled [READ]
9225247 &FF0E : FDC write: 8 -> 0 [Status/Command %00001000]
--8<--------
I've set the FDC lamp to come on for FDC1/FDC2 selected (instead of
waiting for Motor On) so I can 'see' when this happens. I'll fix it later.
It is reading the status. It will read zero (no code!), thus the drive
is ready and not busy.
It writes 80 to the track register, then... reads this back again?
Next, zero is written to the data register and the status register is
read again; and after killing the network IRQs, the command register is
programmed with %00001000 which looks like a Restore command to load the
head (in other words, spin up the disc [this is when the drive lamp
should come on]).
Is this correct so far? What's the faffing for? Probing the FDC really
exists? What am I supposed to do? Time out a short while then IRQ for
disc spun up or something? I would suspect, here, we seek for track zero
and then force an IRQ...?
The TMS279x datasheet describes lots of things except what I'm looking
for, it would seem. <sigh!> Why write 80 to the track register? The
datasheet says "It is incremented by one every time the head is stepped
in (towards track 76)", does this imply only 76 tracks are possible? Is
80 some sort of flag? This is 80 decimal (%01010000), not high-bit-set hex.
Oh... why oh why doesn't this heap use an 8271 or 1770 like everything
else in the Beeb range?
Best wishes,
Rick.
--
Rick Murray, eeePC901 & ADSL WiFI'd into it, all ETLAs!
BBC B: DNFS, 2 x 5.25" floppies, EPROM prog, Acorn TTX
E01S FileStore, A3000/A5000/RiscPC/various PCs/blahblah...