From 25e08899bf86db6fe64951a5b1b7bc0e1f9207a9 Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 25 Apr 2017 17:24:30 -0400 Subject: i82439hx, i82439tx: Fix memory map (nw) --- src/devices/machine/i82439hx.cpp | 25 ++++++------------------- src/devices/machine/i82439hx.h | 6 ++---- src/devices/machine/i82439tx.cpp | 25 ++++++------------------- src/devices/machine/i82439tx.h | 6 ++---- 4 files changed, 16 insertions(+), 46 deletions(-) diff --git a/src/devices/machine/i82439hx.cpp b/src/devices/machine/i82439hx.cpp index b1dd2ccd5d7..7417d3df291 100644 --- a/src/devices/machine/i82439hx.cpp +++ b/src/devices/machine/i82439hx.cpp @@ -11,8 +11,7 @@ DEVICE_ADDRESS_MAP_START(config_map, 32, i82439hx_host_device) AM_RANGE(0x54, 0x57) AM_READWRITE8(dramec_r, dramec_w, 0x00ff0000) AM_RANGE(0x54, 0x57) AM_READWRITE8(dramc_r, dramc_w, 0xff000000) AM_RANGE(0x58, 0x5b) AM_READWRITE8(dramt_r, dramt_w, 0x000000ff) - AM_RANGE(0x58, 0x5b) AM_READWRITE8(pam0_r, pam0_w, 0xffffff00) - AM_RANGE(0x5c, 0x5f) AM_READWRITE8(pam3_r, pam3_w, 0xffffffff) + AM_RANGE(0x58, 0x5f) AM_READWRITE8(pam_r, pam_w, 0xffffffff) AM_RANGE(0x60, 0x67) AM_READWRITE8(drb_r, drb_w, 0xffffffff) AM_RANGE(0x68, 0x6b) AM_READWRITE8(drt_r, drt_w, 0x000000ff) AM_RANGE(0x68, 0x6b) AM_READWRITE8(drat_r, drat_w, 0x0000ff00) @@ -212,27 +211,15 @@ WRITE8_MEMBER(i82439hx_host_device::dramt_w) logerror("dramt = %02x\n", dramt); } -READ8_MEMBER (i82439hx_host_device::pam0_r) +READ8_MEMBER (i82439hx_host_device::pam_r) { - return pam[offset]; + return pam[offset - 1]; } -WRITE8_MEMBER(i82439hx_host_device::pam0_w) +WRITE8_MEMBER(i82439hx_host_device::pam_w) { - pam[offset] = data; - logerror("pam[%d] = %02x\n", offset, pam[offset]); - remap_cb(); -} - -READ8_MEMBER (i82439hx_host_device::pam3_r) -{ - return pam[3+offset]; -} - -WRITE8_MEMBER(i82439hx_host_device::pam3_w) -{ - pam[3+offset] = data; - logerror("pam[%d] = %02x\n", 3+offset, pam[3+offset]); + pam[offset - 1] = data; + logerror("pam[%d] = %02x\n", offset - 1, pam[offset - 1]); remap_cb(); } diff --git a/src/devices/machine/i82439hx.h b/src/devices/machine/i82439hx.h index dd694bc6acc..061c5e7de62 100644 --- a/src/devices/machine/i82439hx.h +++ b/src/devices/machine/i82439hx.h @@ -29,10 +29,8 @@ public: DECLARE_WRITE8_MEMBER(dramc_w); DECLARE_READ8_MEMBER (dramt_r); DECLARE_WRITE8_MEMBER(dramt_w); - DECLARE_READ8_MEMBER (pam0_r); - DECLARE_WRITE8_MEMBER(pam0_w); - DECLARE_READ8_MEMBER (pam3_r); - DECLARE_WRITE8_MEMBER(pam3_w); + DECLARE_READ8_MEMBER (pam_r); + DECLARE_WRITE8_MEMBER(pam_w); DECLARE_READ8_MEMBER (drb_r); DECLARE_WRITE8_MEMBER(drb_w); DECLARE_READ8_MEMBER (drt_r); diff --git a/src/devices/machine/i82439tx.cpp b/src/devices/machine/i82439tx.cpp index acd1407e6ba..32bc5095790 100644 --- a/src/devices/machine/i82439tx.cpp +++ b/src/devices/machine/i82439tx.cpp @@ -11,8 +11,7 @@ DEVICE_ADDRESS_MAP_START(config_map, 32, i82439tx_host_device) AM_RANGE(0x54, 0x57) AM_READWRITE8(dramec_r, dramec_w, 0x00ff0000) AM_RANGE(0x54, 0x57) AM_READWRITE8(dramc_r, dramc_w, 0xff000000) AM_RANGE(0x58, 0x5b) AM_READWRITE8(dramt_r, dramt_w, 0x000000ff) - AM_RANGE(0x58, 0x5b) AM_READWRITE8(pam0_r, pam0_w, 0xffffff00) - AM_RANGE(0x5c, 0x5f) AM_READWRITE8(pam3_r, pam3_w, 0xffffffff) + AM_RANGE(0x58, 0x5f) AM_READWRITE8(pam_r, pam_w, 0xffffffff) AM_RANGE(0x60, 0x67) AM_READWRITE8(drb_r, drb_w, 0xffffffff) AM_RANGE(0x68, 0x6b) AM_READWRITE8(drt_r, drt_w, 0x000000ff) AM_RANGE(0x68, 0x6b) AM_READWRITE8(drat_r, drat_w, 0x0000ff00) @@ -212,27 +211,15 @@ WRITE8_MEMBER(i82439tx_host_device::dramt_w) logerror("dramt = %02x\n", dramt); } -READ8_MEMBER (i82439tx_host_device::pam0_r) +READ8_MEMBER (i82439tx_host_device::pam_r) { - return pam[offset]; + return pam[offset - 1]; } -WRITE8_MEMBER(i82439tx_host_device::pam0_w) +WRITE8_MEMBER(i82439tx_host_device::pam_w) { - pam[offset] = data; - logerror("pam[%d] = %02x\n", offset, pam[offset]); - remap_cb(); -} - -READ8_MEMBER (i82439tx_host_device::pam3_r) -{ - return pam[3+offset]; -} - -WRITE8_MEMBER(i82439tx_host_device::pam3_w) -{ - pam[3+offset] = data; - logerror("pam[%d] = %02x\n", 3+offset, pam[3+offset]); + pam[offset - 1] = data; + logerror("pam[%d] = %02x\n", offset - 1, pam[offset - 1]); remap_cb(); } diff --git a/src/devices/machine/i82439tx.h b/src/devices/machine/i82439tx.h index 8314df49da0..3a6068ce3f2 100644 --- a/src/devices/machine/i82439tx.h +++ b/src/devices/machine/i82439tx.h @@ -29,10 +29,8 @@ public: DECLARE_WRITE8_MEMBER(dramc_w); DECLARE_READ8_MEMBER (dramt_r); DECLARE_WRITE8_MEMBER(dramt_w); - DECLARE_READ8_MEMBER (pam0_r); - DECLARE_WRITE8_MEMBER(pam0_w); - DECLARE_READ8_MEMBER (pam3_r); - DECLARE_WRITE8_MEMBER(pam3_w); + DECLARE_READ8_MEMBER (pam_r); + DECLARE_WRITE8_MEMBER(pam_w); DECLARE_READ8_MEMBER (drb_r); DECLARE_WRITE8_MEMBER(drb_w); DECLARE_READ8_MEMBER (drt_r); -- cgit v1.2.3