summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Brandon Munger <bmunger@gmail.com>2015-11-15 20:32:46 -0500
committer Brandon Munger <bmunger@gmail.com>2015-12-20 17:46:11 -0500
commit53c8790eabe464a0ec7c395287439f1255f7db01 (patch)
treed4881deecae1f92ab3ed85692a0c523ff53cbd3b /src/devices
parent8fe5c58a6f9bd36c8a0e923ca5ae730c2df5b025 (diff)
r9751: More PDC changes
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/machine/pdc.c18
-rw-r--r--src/devices/machine/pdc.h4
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;
};