On Tue, May 07, 2013 at 12:04:49PM -0400, David Riley wrote:
I don't remember that discussion, which is odd,
because it's right up my
alley (and another one of my pipe dreams that I have a hard time actually
getting around to). How fixed are you on PCI? USB is a little more
forward-compatible and also a lot easier to do drivers (or pseudo-drivers
in libusb) for. And that would be relatively cheap hardware to build,
which is what typically stops me from doing most of my projects.
All the same thoughts I had, but I'm using a microcontroller instead of an
FPGA so it may not have caught your eye. I have a USB to SA4xx/SA8xx prototype
sitting here based on the XMOS XS1:
http://www.dbit.com/wilson/usbflop.jpg
... but some E11 user requests came up so I'm un-sidetracked for the time
being (hoping to get back to this once that stuff's released).
I'm also working on an ISA version which is much farther along:
http://www.dbit.com/wilson/isaflop.jpg
That's a pic of Rev B -- I have a Rev C now which fixes some HW bugs and
gets it down to one internal 34-pin connector (in Rev B I blindly lifted
the needlessly complex connector setup from Rev A which used a real PC8477B,
but of course everything's bit-banged in the XMOS XS1 version so all pinouts
can be accommodated in one connector). The firmware is about half done --
read-only, works with SD or DD (RX02 there but untested so far), but the BIOS
in my (Compaq) test machine doesn't detect it as an FDC and refuses to drive
it so I have to sort that out. (I've got a new ISA mobo supposedly arriving
today since the ISA slots in my main PC flaked out ages ago -- I *love* that
anyone still makes new mobos with ISA slots!)
I think the window for sensibly doing a PCI version has really closed.
Evidently (I found this out only recently or I might have wasted a chunk of
my life on it), classic PCI *does* have a method ("distributed DMA") for
accessing the i8237 DMA controller on the motherboard (which is required for
SW compatibility with an ISA FDC), but recent motherboard chipsets no longer
support it. Now if you build a PCI FDC, it can't be SW compatible with a
real FDC, so why bother? It might as well be a USB device, since for now
USB looks like less of a moving target. Plus, thanks to BIOS trickery, it
might even still be bootable.
John Wilson
D Bit