diff options
| author | 2015-11-15 20:32:46 -0500 | |
|---|---|---|
| committer | 2015-12-20 17:46:11 -0500 | |
| commit | 53c8790eabe464a0ec7c395287439f1255f7db01 (patch) | |
| tree | d4881deecae1f92ab3ed85692a0c523ff53cbd3b /src/devices | |
| parent | 8fe5c58a6f9bd36c8a0e923ca5ae730c2df5b025 (diff) | |
r9751: More PDC changes
Diffstat (limited to 'src/devices')
| -rw-r--r-- | src/devices/machine/pdc.c | 18 | ||||
| -rw-r--r-- | src/devices/machine/pdc.h | 4 |
2 files changed, 16 insertions, 6 deletions
diff --git a/src/devices/machine/pdc.c b/src/devices/machine/pdc.c index 3976cb2cf3a..9dc313c3ca5 100644 --- a/src/devices/machine/pdc.c +++ b/src/devices/machine/pdc.c @@ -67,6 +67,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( pdc_io, AS_IO, 8, pdc_device ) AM_RANGE(0x38, 0x38) AM_READ(p38_r) // Possibly UPD765 interrupt + AM_RANGE(0x39, 0x39) AM_READ(p39_r) AM_MIRROR(0xFF00) // HDD related AM_RANGE(0x40, 0x41) AM_DEVREADWRITE(HDC_TAG, hdc9224_device,read,write) AM_MIRROR(0xFF00) AM_RANGE(0x42, 0x43) AM_DEVICE(FDC_TAG, upd765a_device, map) AM_MIRROR(0xFF00) AM_RANGE(0xd0, 0xdf) AM_DEVREADWRITE(FDCDMA_TAG,am9517a_device,read,write) AM_MIRROR(0xFF00) @@ -300,14 +301,21 @@ WRITE_LINE_MEMBER(pdc_device::hdd_irq) WRITE8_MEMBER(pdc_device::p38_w) { logerror("PDC: Port 0x38 set bit: %i\n", data); - reg_p38 |= data; + //reg_p38 |= data; + reg_p38 = data; } + READ8_MEMBER(pdc_device::p38_r) { - UINT8 retn; + //UINT8 retn; logerror("PDC: Port 0x38 READ: %02X\n", reg_p38); - retn = reg_p38; - reg_p38 &= ~2; // Clear bit 1 + //retn = reg_p38; + //reg_p38 &= ~2; // Clear bit 1 + //return retn; + return reg_p38; +} - return retn; +READ8_MEMBER(pdc_device::p39_r) +{ + return 1; } diff --git a/src/devices/machine/pdc.h b/src/devices/machine/pdc.h index 8d0ef91dbfb..c5c58dbda9f 100644 --- a/src/devices/machine/pdc.h +++ b/src/devices/machine/pdc.h @@ -67,9 +67,11 @@ public: DECLARE_WRITE8_MEMBER(p38_w); DECLARE_READ8_MEMBER(p38_r); + DECLARE_READ8_MEMBER(p39_r); DECLARE_FLOPPY_FORMATS( floppy_formats ); + UINT8 reg_p38; protected: // device-level overrides virtual void device_start(); @@ -109,7 +111,7 @@ protected: // interrupts // int m_via0_irq; // VIA #0 interrupt request // int m_via1_irq; // VIA #1 interrupt request - UINT8 reg_p38; +// UINT8 reg_p38; }; |
