The IBM AT MFM controller no longer incorrectly issues a wrong cylinder error when it is not supposed to, fixes #414.

This commit is contained in:
OBattler
2019-09-29 09:23:02 +02:00
parent 984db93947
commit 363b5ab254

View File

@@ -12,7 +12,7 @@
* based design. Most cards were WD1003-WA2 or -WAH, where the * based design. Most cards were WD1003-WA2 or -WAH, where the
* -WA2 cards had a floppy controller as well (to save space.) * -WA2 cards had a floppy controller as well (to save space.)
* *
* Version: @(#)hdc_st506_at.c 1.0.19 2019/03/03 * Version: @(#)hdc_st506_at.c 1.0.20 2019/09/29
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -180,10 +180,14 @@ get_sector(mfm_t *mfm, off64_t *addr)
{ {
drive_t *drive = &mfm->drives[mfm->drvsel]; drive_t *drive = &mfm->drives[mfm->drvsel];
/* FIXME: See if this is even needed - if the code is present, IBM AT
diagnostics v2.07 will error with: ERROR 152 - SYSTEM BOARD. */
#ifdef FIXME
if (drive->curcyl != mfm->cylinder) { if (drive->curcyl != mfm->cylinder) {
st506_at_log("WD1003(%d) sector: wrong cylinder\n"); st506_at_log("WD1003(%d) sector: wrong cylinder\n");
return(1); return(1);
} }
#endif
if (mfm->head > drive->cfg_hpc) { if (mfm->head > drive->cfg_hpc) {
st506_at_log("WD1003(%d) get_sector: past end of configured heads\n", st506_at_log("WD1003(%d) get_sector: past end of configured heads\n",