I'm experiencing strange behavior with raw disk images with the RM nimbus driver. Through a process of illimination I think I've ruled out the actual nimbus driver code.
What I'm getting is infrequent, though pridictable CRC errors reading sectors from the floppy image.
So I can replicate as follows :
insert a raw disk image into a floppy drive (I'm using B: as then the machine won't try and boot from it!), this image is 737280 bytes 80 double sided tracks of 9 x 512 byte sectors.
Having booted from the hard disk do the following :
copy c:\dos\*.* b:\
This will copy the files *UNTIL* it gets to copying print.exe where it will error out.
Tracing this error from dos, back through the Nimbus's sub-bios, back to the WD1793, it's reporting a CRC error reading the sector data.
Now this is a mystery, because if I understand correctly the image / floppy emulation code must be faking this data up because it doesn't exist in the image.
So the floppy emulation must be reading the raw 512 byte sector data from the image file and building header info / crc data for it.
The other odd thing is if I eject the image using the mame menu, and then re-insert it into the same drive and copy c:\dos\print.exe b:\ it succeeds.
This suggests maybe that something is not getting re-initialized where it should and that the eject/insert cycle rectifys this.
Does anyone have any thoughts on this or where I should go looking for the error? I've done a troll of the crc code in wd_fdc.cpp and compared it to the upd765.cpp code and
the two seem mostly consistent.