<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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...
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>