Bochs floppy error?!
Posted: Thu May 17, 2012 1:17 pm
I've been writing a pmode floppy driver, and it seems to unexperienced me that it should be working. I haven't had the chance to test it on real hardware yet, but I seem to be getting real hardware errors IN BOCHS! Specifically, when I try to read a sector, the status registers are as follows:
ST0: 0x00
ST1: 0x03
ST2: 0x01
The FDC datasheet indicates that this means the disk is write protected (wtf?!) and missing address marks. First of all I'm pretty darn sure I'm reading, not writing. Maybe because the markers are missing the FDC is warning me that if I want to write I can't? Second, I've re-checked my code several times and, except for retries, it seems completely in order according to the FDC wiki page and a couple tutorials I'm gone through.
I'm gonna try adding retries soon, but right now my question is: does bochs now emulate floppy errors? I'm using version 2.5.1, and just tested my code on the smp derivative of that version as well. On there ST2 is 0xF5 (?). I'm not sure about that one, according to the datasheet on the wiki some of those bits should be zero (of course, I doubt bochs simulates the 82077AA perfectly or if it even intends to). Either way, address mark missing?! Has anyone else run into this using bochs?
BTW no my sector didn't get read, obviously.
ST0: 0x00
ST1: 0x03
ST2: 0x01
The FDC datasheet indicates that this means the disk is write protected (wtf?!) and missing address marks. First of all I'm pretty darn sure I'm reading, not writing. Maybe because the markers are missing the FDC is warning me that if I want to write I can't? Second, I've re-checked my code several times and, except for retries, it seems completely in order according to the FDC wiki page and a couple tutorials I'm gone through.
I'm gonna try adding retries soon, but right now my question is: does bochs now emulate floppy errors? I'm using version 2.5.1, and just tested my code on the smp derivative of that version as well. On there ST2 is 0xF5 (?). I'm not sure about that one, according to the datasheet on the wiki some of those bits should be zero (of course, I doubt bochs simulates the 82077AA perfectly or if it even intends to). Either way, address mark missing?! Has anyone else run into this using bochs?
BTW no my sector didn't get read, obviously.