summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/x1twin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/x1twin.cpp')
-rw-r--r--src/mame/drivers/x1twin.cpp56
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