<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sat, 29 Oct 2005 22:50:11 +0100 (BST)
From   : Greg Cook <debounce@...>
Subject: Re: BBC using 3.5 high density format

On Wed, 26 Oct 2005 19:06:32 +0100, Sprow <info@...> wrote:

> In article
> <d1c1b84c0510260715u2bd7de13mc932326e006f2353@...>,
>    Paul J <peterbilt@...> wrote:
> > Has anyone had a go at getting a 3.5 high density drive working at
> high
> > density capacity ?
> >  I found some interesting notes on an atari site, the atari st uses
> an
> > 'ajax' floppy controller that supports double density, high
> density, and
> > extended density floppys. 
> 
> I would suspect this isn't possible as the beeb doesn't use DMA to
> fetch the
> data, every byte that comes from the disc causes an NMI. At the rate
> the
> disc spins and the density the bits are packed at you end up with
> about 40us
> per byte.

High density may be achievable, if we take a leaf from Opus' book.

Supposing the HD controller board only raises NMI on a data request (by
not connecting INTRQ), all the service routine need do is fetch the
value, store it and increment the address.  To do a disc operation we
issue a single sector command then poll the status register and the
ESCAPE flag until the operation is terminated.  The concept has been
demonstrated in EDOS and has worked for me flawlessly. 

For more speed, we can rewrite the EDOS polling loop to disable
interrupts and use only the Y register, then the NMI routine can use
indexed addressing without saving A or X.  (The accumulator is needed
as there is no indexed, absolute STX or STY instruction.)  This does
however mean providing a 128 byte lookup table to replace ROR.

> That's not many 6502 instructions, and half as many at HD,

The nominal data rate at high density is 32 cycles per byte at 2 MHz; a
minimal NMI routine will keep up with such a controller, or at least
stay re-entrant under worst case timings.  The routine for reading
could be, for instance:

.nmir  LDA fdc_data
.nmira STA target,X    \target MOD 256 = 0
       INX
       BEQ nmirb
       RTI
.nmirb INC nmira+2
       RTI

By way of encouragement I think HD capability would be very attractive,
especially alongside, say, DOSFS; if only these super-1772s could be
reliably sourced.

Greg Cook
debounce@...
http://homepages.tesco.net/~rainstorm/



               
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo!
Security Centre. http://uk.security.yahoo.com
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>