diff options
Diffstat (limited to 'src/mame/drivers/pcfx.cpp')
-rw-r--r-- | src/mame/drivers/pcfx.cpp | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/mame/drivers/pcfx.cpp b/src/mame/drivers/pcfx.cpp index 404dc8b9ad3..cc52e64b9b1 100644 --- a/src/mame/drivers/pcfx.cpp +++ b/src/mame/drivers/pcfx.cpp @@ -94,14 +94,15 @@ WRITE8_MEMBER(pcfx_state::extio_w) io_space.write_byte(offset, data); } -ADDRESS_MAP_START(pcfx_state::pcfx_mem) - AM_RANGE( 0x00000000, 0x001FFFFF ) AM_RAM /* RAM */ +void pcfx_state::pcfx_mem(address_map &map) +{ + map(0x00000000, 0x001FFFFF).ram(); /* RAM */ // AM_RANGE( 0x80000000, 0x807FFFFF ) AM_READWRITE8(extio_r,extio_w,0xffffffff) /* EXTIO */ - AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP /* BackUp RAM */ - AM_RANGE( 0xE8000000, 0xE9FFFFFF ) AM_NOP /* Extended BackUp RAM */ - AM_RANGE( 0xF8000000, 0xF8000007 ) AM_NOP /* PIO */ - AM_RANGE( 0xFFF00000, 0xFFFFFFFF ) AM_ROM AM_REGION("ipl", 0) /* ROM */ -ADDRESS_MAP_END + map(0xE0000000, 0xE7FFFFFF).noprw(); /* BackUp RAM */ + map(0xE8000000, 0xE9FFFFFF).noprw(); /* Extended BackUp RAM */ + map(0xF8000000, 0xF8000007).noprw(); /* PIO */ + map(0xFFF00000, 0xFFFFFFFF).rom().region("ipl", 0); /* ROM */ +} READ16_MEMBER( pcfx_state::pad_r ) { @@ -185,21 +186,22 @@ WRITE16_MEMBER( pcfx_state::pad_w ) } -ADDRESS_MAP_START(pcfx_state::pcfx_io) - AM_RANGE( 0x00000000, 0x000000FF ) AM_READWRITE16(pad_r, pad_w, 0xffffffff) /* PAD */ - AM_RANGE( 0x00000100, 0x000001FF ) AM_NOP /* HuC6230 */ - AM_RANGE( 0x00000200, 0x000002FF ) AM_DEVICE16( "huc6271", huc6271_device, regs, 0xffff ) /* HuC6271 */ - AM_RANGE( 0x00000300, 0x000003FF ) AM_DEVREADWRITE16( "huc6261", huc6261_device, read, write, 0xffff ) /* HuC6261 */ - AM_RANGE( 0x00000400, 0x000004FF ) AM_DEVREADWRITE8( "huc6270_a", huc6270_device, read, write, 0xffff ) /* HuC6270-A */ - AM_RANGE( 0x00000500, 0x000005FF ) AM_DEVREADWRITE8( "huc6270_b", huc6270_device, read, write, 0xffff ) /* HuC6270-B */ - AM_RANGE( 0x00000600, 0x000006FF ) AM_DEVREADWRITE( "huc6272", huc6272_device, read, write ) /* HuC6272 */ - AM_RANGE( 0x00000C80, 0x00000C83 ) AM_NOP - AM_RANGE( 0x00000E00, 0x00000EFF ) AM_READWRITE16( irq_read, irq_write, 0xffff ) /* Interrupt controller */ - AM_RANGE( 0x00000F00, 0x00000FFF ) AM_NOP +void pcfx_state::pcfx_io(address_map &map) +{ + map(0x00000000, 0x000000FF).rw(this, FUNC(pcfx_state::pad_r), FUNC(pcfx_state::pad_w)); /* PAD */ + map(0x00000100, 0x000001FF).noprw(); /* HuC6230 */ + map(0x00000200, 0x000002FF).m("huc6271", FUNC(huc6271_device::regs)).umask32(0x0000ffff); /* HuC6271 */ + map(0x00000300, 0x000003FF).rw(m_huc6261, FUNC(huc6261_device::read), FUNC(huc6261_device::write)).umask32(0x0000ffff); /* HuC6261 */ + map(0x00000400, 0x000004FF).rw("huc6270_a", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).umask32(0x0000ffff); /* HuC6270-A */ + map(0x00000500, 0x000005FF).rw("huc6270_b", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).umask32(0x0000ffff); /* HuC6270-B */ + map(0x00000600, 0x000006FF).rw("huc6272", FUNC(huc6272_device::read), FUNC(huc6272_device::write)); /* HuC6272 */ + map(0x00000C80, 0x00000C83).noprw(); + map(0x00000E00, 0x00000EFF).rw(this, FUNC(pcfx_state::irq_read), FUNC(pcfx_state::irq_write)).umask32(0x0000ffff); /* Interrupt controller */ + map(0x00000F00, 0x00000FFF).noprw(); // AM_RANGE( 0x00600000, 0x006FFFFF ) AM_READ(scsi_ctrl_r) - AM_RANGE( 0x00780000, 0x007FFFFF ) AM_ROM AM_REGION("scsi_rom", 0 ) - AM_RANGE( 0x80500000, 0x805000FF ) AM_NOP /* HuC6273 */ -ADDRESS_MAP_END + map(0x00780000, 0x007FFFFF).rom().region("scsi_rom", 0); + map(0x80500000, 0x805000FF).noprw(); /* HuC6273 */ +} static INPUT_PORTS_START( pcfx ) |