Also applied the fixes to the AT MFM/RLL and AT ESDI controllers.
This commit is contained in:
@@ -223,7 +223,8 @@ esdi_writew(uint16_t port, uint16_t val, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
esdi_write(port, val & 0xff, priv);
|
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 {
|
} else {
|
||||||
esdi->buffer[esdi->pos >> 1] = val;
|
esdi->buffer[esdi->pos >> 1] = val;
|
||||||
esdi->pos += 2;
|
esdi->pos += 2;
|
||||||
@@ -397,7 +398,8 @@ esdi_readw(uint16_t port, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
temp = esdi_read(port, priv);
|
temp = esdi_read(port, priv);
|
||||||
temp |= (esdi_read(port + 1, priv) << 8);
|
if (port != 0x01f7)
|
||||||
|
temp |= (esdi_read(port + 1, priv) << 8);
|
||||||
} else {
|
} else {
|
||||||
temp = esdi->buffer[esdi->pos >> 1];
|
temp = esdi->buffer[esdi->pos >> 1];
|
||||||
esdi->pos += 2;
|
esdi->pos += 2;
|
||||||
|
@@ -378,7 +378,8 @@ mfm_writew(uint16_t port, uint16_t val, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
mfm_write(port, val & 0xff, priv);
|
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 {
|
} else {
|
||||||
mfm->buffer[mfm->pos >> 1] = val;
|
mfm->buffer[mfm->pos >> 1] = val;
|
||||||
mfm->pos += 2;
|
mfm->pos += 2;
|
||||||
@@ -465,7 +466,8 @@ mfm_readw(uint16_t port, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
ret = mfm_read(port, priv);
|
ret = mfm_read(port, priv);
|
||||||
ret |= (mfm_read(port + 1, priv) << 8);
|
if (port != 0x01f7)
|
||||||
|
ret |= (mfm_read(port + 1, priv) << 8);
|
||||||
} else {
|
} else {
|
||||||
ret = mfm->buffer[mfm->pos >> 1];
|
ret = mfm->buffer[mfm->pos >> 1];
|
||||||
mfm->pos += 2;
|
mfm->pos += 2;
|
||||||
|
Reference in New Issue
Block a user