Date : Tue, 07 Jun 2005 10:24:51 +0100
From : Sprow <info@...>
Subject: Re: BBC IDE Drive compatibility list
In article <20050607083449.3418E24E215@...>,
neil f <faz@...> wrote:
[snip]
> > I used an 8-bit interface, so the device strings have every
> > second character missing. For instance, "Conner Peripherals"
> > comes out as ".o.n.r.P.r.p.e.a.s. ".
> >
>
> The above makes me wonder...
>
> Not sure what's involved in the 8-bit decoding, but wouldn't it be
> possible to use the other interleaved half of the disc simply by
> 'shifting' the address somewhere by one byte? Maybe you could have
> 'paged drives' like paged roms, just by switching to a different slot
> in a look-up table followed by a control/break. Probably complete
> nonsense, but it makes you think...
Already been discussing with JGH off the list. The short answer is "no", the
slightly longer answer is "yes, but it'll need an extra page of RAM".
Basically, you can't selectively ask for the upper half or lower half of the
bus (which is 16 bit).
Now for reads that's fine, you just throw away whichever half you didn't
want, but for writes you'd need to read the "other" half into a buffer then
write both halves back again.
That buffer costs you 256 bytes, which on a Master isn't a great issue as it
can be in hidden RAM, or on filing systems which already expect
512bytes/sector (such as DOSFS) it doesn't really matter anyway.
Confused? Excellent,
Sprow.