Date : Sun, 26 Dec 2004 23:55:45 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: Re: ADFS and IDE drives
A long message, so please snip replies appropriately ;)
"Charles Blackburn" <charlesb@...> wrote:
> very cool... keep us informed as I'm very interested in this. as an
> aside. I have a ton of little HDs from apple mac lappys. various sizes
> from 80meg to 250 meg which are SCSI. does any1 know if I can get a scsi
> interface and use them on the beeb and how I would go about doing it?
I don't know of anybody making Acorn SCSI cards, but the circuit
is available on the web. Look at the "Winchester Service Manual" at
http://bbc.nvg.org/docs.php3
> I would have suggested FAT as that's easier and smaller to code (iirc)
I'm sure Sprow will add hard drive support to his DOSFS ;)
> but the prob is we'd prolly get dumped on by M$.
No, the FAT system is almost sort-of freely usable. It's the
NTFS filesystem and the long filenames extensions to FAT that
MS is trying to extract licensing money from people over.
John Kortink wrote:
> On 13 Dec 2004 13:48:53 +0000, Jonathan Graham Harston wrote:
> >I'm having some peculiar problems with IDE drives.
> >* if reading several sectors, then the final byte of that
> > sector is returned incorrectly, but IDEStatus returns
> > &50 indicating all data transfered.
>
> There's an easy test, really : connect the drive to a PC,
> format, put the magic file on it. See what happens.
The drives are out of A7000s and A5000s and have previously
had valid and working ADFS-D filesystems on them.
"Raf" wrote:
> I am very interested in what you are doing there. Do you have any units
> for sale, or do you anticipate selling? I would be very interested in
> buying?
I am assembling a dozen cards right now. Well, not right now,
I'm typing this right now, but over the Christmas/New Year break.
Pete Turnbull wrote:
>> I'm having some peculiar problems with IDE drives.
>
> integrated drive electronics and should be transparent. Does it happen
> with more than one drive?
It happens with three of the five drives I've tried. I've
fixed it by essentially doing a seek before each action.
Richard Gellman wrote:
> > I'll assemble some cards. To those interested, it's looking
> > like about `50-`60 or so for assembled card plus 80M drive
> >
> How much for the kit minus the drive? I have plenty of IDE storage lying
> around thats perfect for the job you see (plus a little assembly (no pun
> intended) is fun...).
I've checked the prices now the parts have arrived, and
put them on my website at www.mdfs.net/Info/Comp/BBC/IDE
Blank PCB, ADFS ROM `20.00
Assembled PCB, ADFS ROM `50.00 **NOT YET IN STOCK**
Assembled PCB, leads, formatted 40MB drive - just plug in and go
`60.00 **NOT YET IN STOCK**
All prices include UK postage. Cheques payable to 'J.G.Harston'.
Orders to 70 Camm Street, Walkley, Sheffield S6 3TR. Email me
for overseas prices.
> And I take it the modded ADFS still works with ye olde floppe medae?
Yep! When my server was down I had to do some development
from floppy. I had to fetch the patch code from my website!
John Kortink wrote:
> On 15 Dec 2004 00:21:19 +0000, Jonathan Graham Harston wrote:
> >> .TransferByte
> >> INY:BNE TransferLoop :\ Loop for 256 bytes
> >
> >DEX:BNE Twice:INC &81 :\ Bypass DRQ bug
>
> I wouldn't be surprised, then, if it 'worked' as well
> by simply re-reading the last byte. I.e. :
>
> DEX:BEQ done:DEY:BNE Transferloop:.done
I'm fairly sure than rereading the last byte would try to
read a non-existant 256th byte, not read the 255th byte
a second time. I've changed the comments in the source
code to refer to it seeking the first time around the
loop. Interestingly, the performance hit is miniscule,
about a 1% slowdown.
"Raf" wrote:
> I think this might even be bigger than GoMMC ?
Hmmm? I like to think of SCSI, IDE and GoMMC as the three
"hard drive" options. Of course, if I manage to find the
code space, the IDE and GoMMC drivers could be combined ;)
> Are you suggesting, mate, that I can I have a complete unit for 50-60
> UK Pounds (+ postage, etc)?
`60 including UK postage. I'd have to check prices for
overseas delivery.
Sprow wrote:
> The 1MHz bus is so slow my money would be dodgy drive!
I think it's just one of those variable standards jobbies ;)
John Kortink wrote:
> > what about a few sectors of alternating &AA/&55
>
> IMHO it's useless trying that, since it cannot have
> any significance. Never try to rationalise chaotic
> behaviour, it's a waste of time.
It only every occured if the 255th byte was &FE or &FF
and if I'd already read a sector fairly soon before.
Faking a seek before each access fixed it.
> What I do know is *all* IDE drives adhere to :
> - setup parameters
> - issue command
> - wait for DRQ
> - do exactly 256 reads or writes
> - DRQ guaranteed low
>
> All I've ever found 'different' in IDE drives is
> a) Drives not updating CHS post-access
Some of my drives leave CHS set to the final sector accessed,
some of them leave CHS set to the next sector, the one that
would have been accessed if the "Count" was set one higher.
> b) Drives not reacting to generic init sequence when
> very specific delays between commands are observed
I put the problem down to oddities due to the exact
delays between commands. As good as explanation as any ;)
> c) Presence/absence of LBA mode
Yes. Hmph. Reading the specs seems to specify that all IDE
devices MUST support LBA. Consequently, the first code I
wrote used LBA, and would you know it, the drive didn't
support it. Grrr. Although everyy drive I've tested
supports "Specify Drive Geometry" which makes things a lot
easier than trying to do divide-by-31 all the time. I
just tell the drive to pretend it has 64 sectors/track
and use nice fast and neat bit rotates.
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
Badly formed email is deleted unseen as spam