jdr_use at bluewin.ch wrote:
I am looking for a generic C ( or C++) -model for an
ATA disk drive. Nothing fancy, but should to read/write sectors
and have the ability to preload data.
Maybe the IDE disk emulator from qemu (
http://www.qemu.org/) could be
useful. I did a bit of work adding a bus mouse emulation to qemu (in
order to get around the problems of NeXT/OPENSTEP's PS/2 mouse driver)
and found the qemu code quite easy to work with.
I intend to integrate this into my ETH Lilith
emulator, and then write new microcode such that the AT disk becomes
the main diskdrive for the system.
If and when I get this running the solution will be
ported to the real hardware, in order that the remaining lifetime
of finnicky Bull Mididisk can be used to image diskscartridges, if any should show up .
I don't know how complex the protocol for the original Bull drive is -
my approach here would be to build a FPGA-based solution to convert the
protocols. This is also what the POP11 PDP-11 emulator did - they built
a RK disk emulator for regular IDE drives (unfortunately using a
proprietary HDL):
http://shimizu-lab.dt.u-tokai.ac.jp/pop11.html
-- Michael