Slightly changed the fixes.
This commit is contained in:
@@ -398,7 +398,9 @@ esdi_readw(uint16_t port, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
temp = esdi_read(port, priv);
|
temp = esdi_read(port, priv);
|
||||||
if (port != 0x01f7)
|
if (port == 0x01f7)
|
||||||
|
temp |= 0xff00;
|
||||||
|
else
|
||||||
temp |= (esdi_read(port + 1, priv) << 8);
|
temp |= (esdi_read(port + 1, priv) << 8);
|
||||||
} else {
|
} else {
|
||||||
temp = esdi->buffer[esdi->pos >> 1];
|
temp = esdi->buffer[esdi->pos >> 1];
|
||||||
|
@@ -1898,7 +1898,7 @@ ide_readw(uint16_t addr, void *priv)
|
|||||||
temp = ide_read_data(ide, 2);
|
temp = ide_read_data(ide, 2);
|
||||||
break;
|
break;
|
||||||
case 0x7:
|
case 0x7:
|
||||||
temp = ide_readb(addr, priv);
|
temp = ide_readb(addr, priv) | 0xff00;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
temp = ide_readb(addr, priv) | (ide_readb(addr + 1, priv) << 8);
|
temp = ide_readb(addr, priv) | (ide_readb(addr + 1, priv) << 8);
|
||||||
@@ -1933,7 +1933,7 @@ ide_readl(uint16_t addr, void *priv)
|
|||||||
temp = temp2 | (ide_readw(addr + 2, priv) << 16);
|
temp = temp2 | (ide_readw(addr + 2, priv) << 16);
|
||||||
break;
|
break;
|
||||||
case 0x6: case 0x7:
|
case 0x6: case 0x7:
|
||||||
temp = ide_readw(addr, priv);
|
temp = ide_readw(addr, priv) | 0xffff0000;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
temp = ide_readw(addr, priv) | (ide_readw(addr + 2, priv) << 16);
|
temp = ide_readw(addr, priv) | (ide_readw(addr + 2, priv) << 16);
|
||||||
|
@@ -466,7 +466,9 @@ mfm_readw(uint16_t port, void *priv)
|
|||||||
|
|
||||||
if (port > 0x01f0) {
|
if (port > 0x01f0) {
|
||||||
ret = mfm_read(port, priv);
|
ret = mfm_read(port, priv);
|
||||||
if (port != 0x01f7)
|
if (port == 0x01f7)
|
||||||
|
ret |= 0xff00;
|
||||||
|
else
|
||||||
ret |= (mfm_read(port + 1, priv) << 8);
|
ret |= (mfm_read(port + 1, priv) << 8);
|
||||||
} else {
|
} else {
|
||||||
ret = mfm->buffer[mfm->pos >> 1];
|
ret = mfm->buffer[mfm->pos >> 1];
|
||||||
|
Reference in New Issue
Block a user