diff options
Diffstat (limited to 'src/emu/machine/i6300esb.c')
-rw-r--r-- | src/emu/machine/i6300esb.c | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/src/emu/machine/i6300esb.c b/src/emu/machine/i6300esb.c index bd29cf3c7c4..1899d6faf52 100644 --- a/src/emu/machine/i6300esb.c +++ b/src/emu/machine/i6300esb.c @@ -39,6 +39,16 @@ DEVICE_ADDRESS_MAP_START(config_map, 32, i6300esb_lpc_device) AM_RANGE(0x88, 0x8b) AM_READWRITE8 (d31_err_cfg_r, d31_err_cfg_w, 0x000000ff) AM_RANGE(0x88, 0x8b) AM_READWRITE8 (d31_err_sts_r, d31_err_sts_w, 0x00ff0000) AM_RANGE(0x90, 0x93) AM_READWRITE16(pci_dma_cfg_r, pci_dma_cfg_w, 0x0000ffff) + AM_RANGE(0xa0, 0xa3) AM_READWRITE16(gen_pmcon_1_r, gen_pmcon_1_w, 0x0000ffff) + AM_RANGE(0xa0, 0xa3) AM_READWRITE16(gen_pmcon_2_r, gen_pmcon_2_w, 0xffff0000) + AM_RANGE(0xa4, 0xa7) AM_READWRITE8 (gen_pmcon_3_r, gen_pmcon_3_w, 0x000000ff) + AM_RANGE(0xac, 0xaf) AM_READWRITE (rst_cnt2_r, rst_cnt2_w) + AM_RANGE(0xb0, 0xb3) AM_READWRITE8 (apm_cnt_r, apm_cnt_w, 0x00ff0000) + AM_RANGE(0xb0, 0xb3) AM_READWRITE8 (apm_sts_r, apm_sts_w, 0xff000000) + AM_RANGE(0xb8, 0xbb) AM_READWRITE (gpi_rout_r, gpi_rout_w) + AM_RANGE(0xc0, 0xc3) AM_READWRITE8 (mon_fwd_en_r, mon_fwd_en_w, 0x000000ff) + AM_RANGE(0xc4, 0xcb) AM_READWRITE16(mon_trp_rng_r, mon_trp_rng_w, 0xffffffff) + AM_RANGE(0xcc, 0xcf) AM_READWRITE16(mon_trp_msk_r, mon_trp_msk_w, 0x0000ffff) AM_RANGE(0xd0, 0xd3) AM_READWRITE (gen_cntl_r, gen_cntl_w) AM_RANGE(0xd4, 0xd7) AM_READWRITE8 (gen_sta_r, gen_sta_w, 0x000000ff) AM_RANGE(0xd4, 0xd7) AM_READWRITE8 (back_cntl_r, back_cntl_w, 0x0000ff00) @@ -96,6 +106,16 @@ void i6300esb_lpc_device::device_reset() etr1 = 0x00000000; siu_config_port = 0; siu_config_state = 0; + gen_pmcon_1 = 0; + gen_pmcon_2 = 0; + gen_pmcon_3 = 0; + rst_cnt2 = 0; + apm_cnt = 0; + apm_sts = 0; + gpi_rout = 0; + mon_fwd_en = 0; + memset(mon_trp_rng, 0, sizeof(mon_trp_rng)); + mon_trp_msk = 0; } void i6300esb_lpc_device::reset_all_mappings() @@ -256,6 +276,116 @@ WRITE16_MEMBER(i6300esb_lpc_device::pci_dma_cfg_w) logerror("%s: pci_dma_cfg = %04x\n", tag(), pci_dma_cfg); } +READ16_MEMBER (i6300esb_lpc_device::gen_pmcon_1_r) +{ + return gen_pmcon_1; +} + +WRITE16_MEMBER(i6300esb_lpc_device::gen_pmcon_1_w) +{ + COMBINE_DATA(&gen_pmcon_1); + logerror("%s: gen_pmcon_1 = %04x\n", tag(), gen_pmcon_1); +} + +READ16_MEMBER (i6300esb_lpc_device::gen_pmcon_2_r) +{ + return gen_pmcon_2; +} + +WRITE16_MEMBER(i6300esb_lpc_device::gen_pmcon_2_w) +{ + COMBINE_DATA(&gen_pmcon_2); + logerror("%s: gen_pmcon_2 = %04x\n", tag(), gen_pmcon_2); +} + +READ8_MEMBER (i6300esb_lpc_device::gen_pmcon_3_r) +{ + return gen_pmcon_3; +} + +WRITE8_MEMBER (i6300esb_lpc_device::gen_pmcon_3_w) +{ + gen_pmcon_3 = data; + logerror("%s: gen_pmcon_3 = %02x\n", tag(), gen_pmcon_3); +} + +READ32_MEMBER (i6300esb_lpc_device::rst_cnt2_r) +{ + return rst_cnt2; +} + +WRITE32_MEMBER(i6300esb_lpc_device::rst_cnt2_w) +{ + COMBINE_DATA(&rst_cnt2); + logerror("%s: rst_cnt2 = %08x\n", tag(), rst_cnt2); +} + +READ8_MEMBER (i6300esb_lpc_device::apm_cnt_r) +{ + return apm_cnt; +} + +WRITE8_MEMBER (i6300esb_lpc_device::apm_cnt_w) +{ + apm_cnt = data; + logerror("%s: apm_cnt = %02x\n", tag(), apm_cnt); +} + +READ8_MEMBER (i6300esb_lpc_device::apm_sts_r) +{ + return apm_sts; +} + +WRITE8_MEMBER (i6300esb_lpc_device::apm_sts_w) +{ + apm_sts = data; + logerror("%s: apm_sts = %02x\n", tag(), apm_sts); +} + +READ32_MEMBER (i6300esb_lpc_device::gpi_rout_r) +{ + return gpi_rout; +} + +WRITE32_MEMBER(i6300esb_lpc_device::gpi_rout_w) +{ + COMBINE_DATA(&gpi_rout); + logerror("%s: gpi_rout = %08x\n", tag(), gpi_rout); +} + +READ8_MEMBER (i6300esb_lpc_device::mon_fwd_en_r) +{ + return mon_fwd_en; +} + +WRITE8_MEMBER (i6300esb_lpc_device::mon_fwd_en_w) +{ + mon_fwd_en = data; + logerror("%s: mon_fwd_en = %02x\n", tag(), mon_fwd_en); +} + +READ16_MEMBER (i6300esb_lpc_device::mon_trp_rng_r) +{ + return mon_trp_rng[offset]; +} + +WRITE16_MEMBER(i6300esb_lpc_device::mon_trp_rng_w) +{ + COMBINE_DATA(&mon_trp_rng[offset]); + logerror("%s: mon_trp_rng[%d] = %04x\n", tag(), 4+offset, mon_trp_rng[offset]); +} + +READ16_MEMBER (i6300esb_lpc_device::mon_trp_msk_r) +{ + return mon_trp_msk; +} + +WRITE16_MEMBER(i6300esb_lpc_device::mon_trp_msk_w) +{ + COMBINE_DATA(&mon_trp_msk); + logerror("%s: mon_trp_msk = %04x\n", tag(), mon_trp_msk); +} + READ32_MEMBER (i6300esb_lpc_device::gen_cntl_r) { return gen_cntl; |