Jules Richardson wrote:
What OS are you going to end up driving this from?
I dunno. If I have a lapse in sanity I'll write it in Java (which means it'll
run veeery slooowly on just about anything), otherwise I'll use it as an
excuse to learn wxWidgets (which means it'll run on Windows, Linux, OS X and
BSD, which covers about 95% of the market).
In any case, I want it to run on Linux as a bare minimum.
(It is on a PCI card
isn't it, rather than a USB interface?)
PCI?! PCI?! Why the hell would I do something as monumentally STUPID as that?
After all, the PCI-SIG's licence fees are 'just a bit' steep IMO :)
My plan is to do a USB version that's small enough to shove into a laptop bag
with a wall-wart and a 3.5" drive so that you can handle the "Joe Bloggs has
the discs, will let someone image them, but won't let the Royal Mail handle
them" type situations quite easily, while also being able to hook up adapter
cables to use other drive types (e.g. 8"). ST-506 is coming in Version 2 :)
Regarding earlier question about bringing some address
lines out to the
I/O connector... the logical choices I suppose are a 40 pin header or a
50 pin header.
Maybe. IDC headers are pretty cheap. I don't have many in stock ATM though -
just a couple of 34-way box headers and a few PC floppy cables.
40 doesn't seem like enough though assuming you
keep odd pins as ground
still; it's only another 3 pins, and won't you need one of those for the
write precomp line for 8" drives?
Argh, I'm going to have to read through those Shugart manuals again!
Speaking of precompensation, does anyone know anything about the innards of
the 'write precompensation' (early/late/normal) stuff that's generally a part
of most modern floppy controllers? I'm curious to find out what that actually
does, and if I need to do it on my controller.
50 would give you an extra 8 pins to play with[1]
though. If one of
those is reserved for a write precomp line, that still leaves seven
unused. Say reserve four for addressing, and the other three for the
uses which we haven't thought of yet? ;-)
You're after sixteen addressable drives then. Ooookay...
The plan is to have all four on the I/O (has anyone trademarked the name
'DriveBus'?) connector, then wire just the first two to the PC-FDD connector.
If you want to use a single drive, wire it up with a PC cable, then set the
software to 'single or double drive mode with PC selects'. Other modes might
include '8/16 drives with decoder' or '4 drives with one-hot/one-cold
selection'.
[1] Assuming the ability to have two drives on the
same cable as per the
PC standard... if you don't do that I suppose it frees up a couple of
pins of the 'standard' connector.
I'm keeping that in. I want to be able to hook up a 5.25" FDD and a 3.5" FDD
at the same time. Remember - I'm building this thing as a combination
analyser/imager (hence the name - Data Analysis and Recovery Toolkit) with the
primary goal being to be able to image 'odd' floppy formats that a PC
controller just can't touch.
There are a few other things I'd like it to be able to do:
- Can copy the BBC Elite floppy, copy protection and all (I know someone in
Stockport that has a BBC B and a copy of Elite - cloning his master disc
before his eyes without removing the protection would be fantastically cool,
if only to see the grin on his face)
- Can copy Amiga 'Rob Northen Copylock' protected discs, and read out the
disc serial number (this protection has been 'uncopiable without a Trace
duplicator' for far too long)
- Full decode support for Commodore GCR, Apple GCR, PC MFM, PC FM, and
whatever other formats I can get hold of formatting specs for. If/when I
release the hardware (I might do a small production run if anyone's
interested), I might do a "send me a disc and I'll add image and/or decode
support" type service. Could be fun.
I've got a couple of exams to study for this week, but I've got from Friday
night onwards to play with expensive CAD software, corrosive chemicals, hot
soldering irons and homebrew hardware. Yay me :)
FWIW, by "decode support", I mean "take the raw bitstream and turn it into
bytes, then decode those into sectors". I'm not doing filesystem decoding,
that can wait until later.
Thanks.
--
Phil. | (\_/) This is Bunny. Copy and paste Bunny
classiccmp at philpem.me.uk | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/ | (")_(") world domination.