diff options
Diffstat (limited to 'src/mame/drivers/poly880.cpp')
-rw-r--r-- | src/mame/drivers/poly880.cpp | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/mame/drivers/poly880.cpp b/src/mame/drivers/poly880.cpp index 7b5d55788e0..2041ed1e5c4 100644 --- a/src/mame/drivers/poly880.cpp +++ b/src/mame/drivers/poly880.cpp @@ -63,22 +63,24 @@ WRITE8_MEMBER( poly880_state::cldig_w ) /* Memory Maps */ -ADDRESS_MAP_START(poly880_state::poly880_mem) - AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x0c00) AM_ROM - AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_ROM - AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_ROM - AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x3c00) AM_RAM - AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank1") -ADDRESS_MAP_END - -ADDRESS_MAP_START(poly880_state::poly880_io) - ADDRESS_MAP_GLOBAL_MASK(0xaf) - AM_RANGE(0x80, 0x83) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read_alt, write_alt) - AM_RANGE(0x84, 0x87) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read_alt, write_alt) - AM_RANGE(0x88, 0x8b) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write) - AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_WRITE(cldig_w) -ADDRESS_MAP_END +void poly880_state::poly880_mem(address_map &map) +{ + map(0x0000, 0x03ff).mirror(0x0c00).rom(); + map(0x1000, 0x13ff).mirror(0x0c00).rom(); + map(0x2000, 0x23ff).mirror(0x0c00).rom(); + map(0x3000, 0x33ff).mirror(0x0c00).rom(); + map(0x4000, 0x43ff).mirror(0x3c00).ram(); + map(0x8000, 0xffff).bankrw("bank1"); +} + +void poly880_state::poly880_io(address_map &map) +{ + map.global_mask(0xaf); + map(0x80, 0x83).rw(Z80PIO1_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt)); + map(0x84, 0x87).rw(Z80PIO2_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt)); + map(0x88, 0x8b).rw(Z80CTC_TAG, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); + map(0xa0, 0xa0).mirror(0x0f).w(this, FUNC(poly880_state::cldig_w)); +} /* Input Ports */ |