diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2013-03-03 15:32:31 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2013-03-03 15:45:01 -0500 |
commit | 5bb7552a911d9952591e433ab8e36a5cd7a419e8 (patch) | |
tree | 0e55741aec2f8ec5d90f356dfec4dc9f58c2091e | |
parent | e7c5a7ef782673f00faf3371721562806e931cdb (diff) | |
download | seabios-5bb7552a911d9952591e433ab8e36a5cd7a419e8.tar.gz |
floppy: Actually do controller reset in floppy_reset().
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | src/floppy.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/floppy.c b/src/floppy.c index e335e86..74336bc 100644 --- a/src/floppy.c +++ b/src/floppy.c @@ -529,8 +529,14 @@ static int floppy_reset(struct disk_op_s *op) { u8 floppyid = GET_GLOBAL(op->drive_g->cntl_id); - set_diskette_current_cyl(floppyid, 0); // current cylinder - return DISK_RET_SUCCESS; + SET_BDA(floppy_recalibration_status, 0); + SET_BDA(floppy_media_state[0], 0); + SET_BDA(floppy_media_state[1], 0); + SET_BDA(floppy_track[0], 0); + SET_BDA(floppy_track[1], 0); + SET_BDA(floppy_last_data_rate, 0); + floppy_disable_controller(); + return floppy_select_drive(floppyid); } // Read Diskette Sectors |