<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Thu, 08 Jan 2004 04:12:27 +0000
From   : Mike Tomlinson <mike@...>
Subject: Re: IDE Interface for BBC

In article <040107085502@...>, Jonathan Graham Harston
<jgh@...> writes

>I don't need to write my own FS, I've already written one, see
>http://www.mdfs.net/Software/HADFS

It's something I've always meant to download and explore.  Now done,
just finding time to peruse the manual.

>.  I've also identified where ADFS
>accesses the SCSI

SASI, IIRC.

> interface so I can reply the code with code to access
>the IDE card.

It'd be wonderful if a modified Acorn ADFS were available to work with
an IDE disk.  Is it a lot of work to modify it?  It would then work with
Econet fileservers, SuperForm, etc.

> HADFS already has the relevent entry points to access extra
>storage devices, such as a hard drive or a RAM disk.  I never got around
>to adding Acorn SCSI support because programming the Acorn SCSI card is
>such a b*tch.  With IDE it's essentially:
> 
>?IDE_Sec=sector:!IDE_Cyl=track:?IDE_Head=head:?IDE_Cmd=IDE_Read
>FOR A%=0 TO 511 STEP 2:dest%?A%=IDE_Data?0:dest%?(A%+1)=IDE_Data?8:NEXT A%
> 
>With Acorn's SCSI card it more like:
> 
>REPEAT:UN.(?SCSI_Status AND x)=something
>IF?SCSI_Status=y THEN GOTO error
>?SCSI_Cmd=SCSI_Read
>REPEAT:UN.(?SCSI_Status AND x)=something
>IF?SCSI_Status=y THEN GOTO try again
>?SCSI_Cmd=SCSI_something
>REPEAT:UN.(?SCSI_Status AND x)=something
>IF?SCSI_Status=y THEN GOTO error or maybe try again

It looks to me like you're assuming the IDE drive is always error free,
or is error checking taken care of in IDE_Read?  The Acorn pseudo-code
checks for SCSI status (i.e. drive errors) as it goes.  This also
suggests to me that IDE could be a helluva lot faster.

>That was my inspiration.

It was inspired, wasn't it?  I still smile when I think an IDE drive
could be so easily attached to the Spectrum.  Have you seen the ZX +3e
project?  It's a set of replacement ROMs for the Spectrum +3 written
with commands for Pera's simple IDE interface, so just switch on and go.

> In fact, the BBC IDE interface can be reduced to
>one chip, just like the Spectrum one, but then it would clash with my
>other 1MHz bus hardware.

So the two-chip version is fully decoded and won't conflict with any
other hardware?  If so, it's well worth the cost of the extra chip.  
Is it all LS TTL or do you use a PAL for anything?
Do you buffer the 1MHz bus (with a LS245 or similar)?

Have you thought about having the PCB professionally produced?  I'd buy
one, especially if it had holes to allow it to be mounted inside the
Beeb using self-adhesive standoffs, and proper sockets for the 1MHz bus
and IDE interface.  Perhaps even include room to mount a 2.5" drive on
the PCB to make installation easier; the size of the board would still
be small enough to fit inside a 3.5" or 5.25" case if it was desired to
use one of those externally.

It'd be great to be able to stick one of those 2.5" laptop drives inside
a Beeb and have an all-in-one unit.  Power would be no problem; it could
be tapped off one of the power feeds and 2.5" drives only use 5v.  Short
adapter cables from 40-way IDE to 44-way high-density IDE are freely
available and cheap, and would be ideal for connecting a 2.5" drive to
the IDE interface inside the Beeb.

>I'm intending to allow disk images to be mountable, so they can then be
>accessed as though they were a disk.  *MOUNT 0 $.Games.Chuckie,  or
>something.

in HADFS?

[Frankenstein Spectrum]

>It seems to be a 1vp-p video output, like the Beeb's next to the RGB
>socket.

As it has three pots (ignoring the one at the back), I'd wondered
whether they were for RGB.  The output lead also has multiple wires.

Mike
 
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>