diff options
Diffstat (limited to 'src/mame/drivers/x1twin.cpp')
-rw-r--r-- | src/mame/drivers/x1twin.cpp | 56 |
1 files changed, 8 insertions, 48 deletions
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp index b1a8daab80a..730a9175aab 100644 --- a/src/mame/drivers/x1twin.cpp +++ b/src/mame/drivers/x1twin.cpp @@ -35,6 +35,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(ipl_reset); DECLARE_INPUT_CHANGED_MEMBER(nmi_reset); void x1twin(machine_config &config); + void pce_io(address_map &map); + void pce_mem(address_map &map); + void x1_io(address_map &map); + void x1_mem(address_map &map); }; @@ -48,62 +52,18 @@ uint32_t x1twin_state::screen_update_x1pce(screen_device &screen, bitmap_rgb32 & return 0; } -static ADDRESS_MAP_START( x1_io_banks_common, AS_IO, 8, x1_state ) - ADDRESS_MAP_UNMAP_HIGH - - AM_RANGE(0x0e00, 0x0e02) AM_WRITE(x1_rom_w) - AM_RANGE(0x0e03, 0x0e03) AM_READ(x1_rom_r) - - AM_RANGE(0x0ff8, 0x0fff) AM_READWRITE(x1_fdc_r, x1_fdc_w) - - AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x00ff) AM_WRITE(x1_pri_w) - AM_RANGE(0x1400, 0x17ff) AM_READWRITE(x1_pcg_r, x1_pcg_w) - - AM_RANGE(0x1800, 0x1801) AM_WRITE(x1_6845_w) - - AM_RANGE(0x1900, 0x1900) AM_MIRROR(0x00ff) AM_READWRITE(x1_sub_io_r, x1_sub_io_w) - AM_RANGE(0x1a00, 0x1a03) AM_MIRROR(0x00fc) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) - AM_RANGE(0x1b00, 0x1b00) AM_MIRROR(0x00ff) AM_DEVREADWRITE("ay", ay8910_device, data_r, data_w) - AM_RANGE(0x1c00, 0x1c00) AM_MIRROR(0x00ff) AM_DEVWRITE("ay", ay8910_device, address_w) - AM_RANGE(0x1d00, 0x1d00) AM_MIRROR(0x00ff) AM_WRITE(x1_rom_bank_1_w) - AM_RANGE(0x1e00, 0x1e00) AM_MIRROR(0x00ff) AM_WRITE(x1_rom_bank_0_w) - - AM_RANGE(0x1fa0, 0x1fa3) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) - AM_RANGE(0x1fa8, 0x1fab) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) - - AM_RANGE(0x2000, 0x27ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("avram") - - AM_RANGE(0x4000, 0xffff) AM_READWRITE_BANK("bitmapbank") - - AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(x1_ex_gfxram_r, x1_ex_gfxram_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( x1_io_banks, AS_IO, 8, x1_state ) - AM_IMPORT_FROM(x1_io_banks_common) - -// AM_RANGE(0x0700, 0x0701) TODO: user could install ym2151 on plain X1 too - - AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_b_w) - AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_r_w) - AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_g_w) - - AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("tvram") // Ys checks if it's a x1/x1turbo machine by checking if this area is a mirror -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( x1_mem, AS_PROGRAM, 8, x1twin_state ) +ADDRESS_MAP_START(x1twin_state::x1_mem) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0000, 0xffff) AM_READWRITE(x1_mem_r,x1_mem_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( x1_io, AS_IO, 8, x1twin_state ) +ADDRESS_MAP_START(x1twin_state::x1_io) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0000, 0xffff) AM_DEVICE("iobank", address_map_bank_device, amap8) ADDRESS_MAP_END #if 0 -static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, x1twin_state ) +ADDRESS_MAP_START(x1twin_state::pce_mem) AM_RANGE( 0x000000, 0x09FFFF) AM_ROM AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000) AM_RANGE( 0x1FE000, 0x1FE3FF) AM_READWRITE( vdc_r, vdc_w ) @@ -114,7 +74,7 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, x1twin_state ) AM_RANGE( 0x1FF400, 0x1FF7FF) AM_DEVREADWRITE( "maincpu", h6280_device, irq_status_r, irq_status_w ) ADDRESS_MAP_END -static ADDRESS_MAP_START( pce_io, AS_IO, 8, x1twin_state ) +ADDRESS_MAP_START(x1twin_state::pce_io) AM_RANGE( 0x00, 0x03) AM_READWRITE( vdc_r, vdc_w ) ADDRESS_MAP_END #endif |