Fixed the FDC's behavior of the DOR register and the RECALIBRATE and SEEK command to more accurately replicate that of a real FDC, fixes Windows 98 and (hopefully) NetBSD.

This commit is contained in:
OBattler
2016-12-24 05:37:14 +01:00
parent 645efe1f7d
commit ad7c92b2c5
5 changed files with 106 additions and 121 deletions

View File

@@ -9,8 +9,8 @@ typedef struct
void (*readsector)(int drive, int sector, int track, int side, int density, int sector_size);
void (*writesector)(int drive, int sector, int track, int side, int density, int sector_size);
void (*comparesector)(int drive, int sector, int track, int side, int density, int sector_size);
void (*readaddress)(int drive, int track, int side, int density);
void (*format)(int drive, int track, int side, int density, uint8_t fill);
void (*readaddress)(int drive, int side, int density);
void (*format)(int drive, int side, int density, uint8_t fill);
int (*hole)(int drive);
double (*byteperiod)(int drive);
void (*stop)(int drive);
@@ -33,8 +33,8 @@ void disc_seek(int drive, int track);
void disc_readsector(int drive, int sector, int track, int side, int density, int sector_size);
void disc_writesector(int drive, int sector, int track, int side, int density, int sector_size);
void disc_comparesector(int drive, int sector, int track, int side, int density, int sector_size);
void disc_readaddress(int drive, int track, int side, int density);
void disc_format(int drive, int track, int side, int density, uint8_t fill);
void disc_readaddress(int drive, int side, int density);
void disc_format(int drive, int side, int density, uint8_t fill);
int disc_hole(int drive);
double disc_byteperiod(int drive);
void disc_stop(int drive);