Also applied the fixes to the AT MFM/RLL and AT ESDI controllers.

This commit is contained in:
OBattler
2020-04-17 01:40:10 +02:00
parent ef42bb7e58
commit f69941a462
2 changed files with 8 additions and 4 deletions

View File

@@ -223,7 +223,8 @@ esdi_writew(uint16_t port, uint16_t val, void *priv)
if (port > 0x01f0) {
esdi_write(port, val & 0xff, priv);
esdi_write(port + 1, (val >> 8) & 0xff, priv);
if (port != 0x01f7)
esdi_write(port + 1, (val >> 8) & 0xff, priv);
} else {
esdi->buffer[esdi->pos >> 1] = val;
esdi->pos += 2;
@@ -397,7 +398,8 @@ esdi_readw(uint16_t port, void *priv)
if (port > 0x01f0) {
temp = esdi_read(port, priv);
temp |= (esdi_read(port + 1, priv) << 8);
if (port != 0x01f7)
temp |= (esdi_read(port + 1, priv) << 8);
} else {
temp = esdi->buffer[esdi->pos >> 1];
esdi->pos += 2;

View File

@@ -378,7 +378,8 @@ mfm_writew(uint16_t port, uint16_t val, void *priv)
if (port > 0x01f0) {
mfm_write(port, val & 0xff, priv);
mfm_write(port + 1, (val >> 8) & 0xff, priv);
if (port != 0x01f7)
mfm_write(port + 1, (val >> 8) & 0xff, priv);
} else {
mfm->buffer[mfm->pos >> 1] = val;
mfm->pos += 2;
@@ -465,7 +466,8 @@ mfm_readw(uint16_t port, void *priv)
if (port > 0x01f0) {
ret = mfm_read(port, priv);
ret |= (mfm_read(port + 1, priv) << 8);
if (port != 0x01f7)
ret |= (mfm_read(port + 1, priv) << 8);
} else {
ret = mfm->buffer[mfm->pos >> 1];
mfm->pos += 2;