Recent versions of QEMU are picky about the data rate specified when performing floppy transfers (see QEMU commit 844f65d6). This broke the SeaBIOS handling of legacy disk sizes (eg, 360K).
This series cleans up the low-level floppy transfer code and adds in media sensing code to make old floppies work under QEMU again. (It's unclear if this will improve handling on real hardware.)
-Kevin
Kevin O'Connor (8): Minor - improve comments and grouping of handle_08(). floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops. floppy: Cleanup floppy irq wait handling. floppy: Clean up Check Interrupt Status code. floppy: Move recalibration and results parsing to floppy_cmd(). floppy: Improve floppy_pio() error checking. floppy: Implement media format sensing. floppy: Actually do controller reset in floppy_reset().
src/biosvar.h | 2 +- src/clock.c | 6 +- src/floppy.c | 552 +++++++++++++++++++++++++++++++++------------------------- 3 files changed, 321 insertions(+), 239 deletions(-)