This commit is contained in:
angelosa 2017-04-26 00:39:36 +02:00
commit d2d7a5cbba
4 changed files with 16 additions and 46 deletions

View File

@ -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(dramec_r, dramec_w, 0x00ff0000)
AM_RANGE(0x54, 0x57) AM_READWRITE8(dramc_r, dramc_w, 0xff000000) 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(dramt_r, dramt_w, 0x000000ff)
AM_RANGE(0x58, 0x5b) AM_READWRITE8(pam0_r, pam0_w, 0xffffff00) AM_RANGE(0x58, 0x5f) AM_READWRITE8(pam_r, pam_w, 0xffffffff)
AM_RANGE(0x5c, 0x5f) AM_READWRITE8(pam3_r, pam3_w, 0xffffffff)
AM_RANGE(0x60, 0x67) AM_READWRITE8(drb_r, drb_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(drt_r, drt_w, 0x000000ff)
AM_RANGE(0x68, 0x6b) AM_READWRITE8(drat_r, drat_w, 0x0000ff00) 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); 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; pam[offset - 1] = data;
logerror("pam[%d] = %02x\n", offset, pam[offset]); logerror("pam[%d] = %02x\n", offset - 1, pam[offset - 1]);
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]);
remap_cb(); remap_cb();
} }

View File

@ -29,10 +29,8 @@ public:
DECLARE_WRITE8_MEMBER(dramc_w); DECLARE_WRITE8_MEMBER(dramc_w);
DECLARE_READ8_MEMBER (dramt_r); DECLARE_READ8_MEMBER (dramt_r);
DECLARE_WRITE8_MEMBER(dramt_w); DECLARE_WRITE8_MEMBER(dramt_w);
DECLARE_READ8_MEMBER (pam0_r); DECLARE_READ8_MEMBER (pam_r);
DECLARE_WRITE8_MEMBER(pam0_w); DECLARE_WRITE8_MEMBER(pam_w);
DECLARE_READ8_MEMBER (pam3_r);
DECLARE_WRITE8_MEMBER(pam3_w);
DECLARE_READ8_MEMBER (drb_r); DECLARE_READ8_MEMBER (drb_r);
DECLARE_WRITE8_MEMBER(drb_w); DECLARE_WRITE8_MEMBER(drb_w);
DECLARE_READ8_MEMBER (drt_r); DECLARE_READ8_MEMBER (drt_r);

View File

@ -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(dramec_r, dramec_w, 0x00ff0000)
AM_RANGE(0x54, 0x57) AM_READWRITE8(dramc_r, dramc_w, 0xff000000) 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(dramt_r, dramt_w, 0x000000ff)
AM_RANGE(0x58, 0x5b) AM_READWRITE8(pam0_r, pam0_w, 0xffffff00) AM_RANGE(0x58, 0x5f) AM_READWRITE8(pam_r, pam_w, 0xffffffff)
AM_RANGE(0x5c, 0x5f) AM_READWRITE8(pam3_r, pam3_w, 0xffffffff)
AM_RANGE(0x60, 0x67) AM_READWRITE8(drb_r, drb_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(drt_r, drt_w, 0x000000ff)
AM_RANGE(0x68, 0x6b) AM_READWRITE8(drat_r, drat_w, 0x0000ff00) 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); 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; pam[offset - 1] = data;
logerror("pam[%d] = %02x\n", offset, pam[offset]); logerror("pam[%d] = %02x\n", offset - 1, pam[offset - 1]);
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]);
remap_cb(); remap_cb();
} }

View File

@ -29,10 +29,8 @@ public:
DECLARE_WRITE8_MEMBER(dramc_w); DECLARE_WRITE8_MEMBER(dramc_w);
DECLARE_READ8_MEMBER (dramt_r); DECLARE_READ8_MEMBER (dramt_r);
DECLARE_WRITE8_MEMBER(dramt_w); DECLARE_WRITE8_MEMBER(dramt_w);
DECLARE_READ8_MEMBER (pam0_r); DECLARE_READ8_MEMBER (pam_r);
DECLARE_WRITE8_MEMBER(pam0_w); DECLARE_WRITE8_MEMBER(pam_w);
DECLARE_READ8_MEMBER (pam3_r);
DECLARE_WRITE8_MEMBER(pam3_w);
DECLARE_READ8_MEMBER (drb_r); DECLARE_READ8_MEMBER (drb_r);
DECLARE_WRITE8_MEMBER(drb_w); DECLARE_WRITE8_MEMBER(drb_w);
DECLARE_READ8_MEMBER (drt_r); DECLARE_READ8_MEMBER (drt_r);