diff options
author | Andrew Gardner <andrew-gardner@users.noreply.github.com> | 2008-03-04 04:37:01 +0000 |
---|---|---|
committer | Andrew Gardner <andrew-gardner@users.noreply.github.com> | 2008-03-04 04:37:01 +0000 |
commit | 7a52f023ac888154ddc15fe64e176c65cc8ce849 (patch) | |
tree | 9cce41296b2ea9888c92523586d8c2674252bf87 | |
parent | 77ed3a81efa2e0179cb7fbc28ff1d7eebb094538 (diff) |
Merges memory maps X->Z.
Regression tests consist of running through demo mode with -log, diff'ing the results, and playing a bit.
-rw-r--r-- | src/mame/drivers/xain.c | 72 | ||||
-rw-r--r-- | src/mame/drivers/xexex.c | 94 | ||||
-rw-r--r-- | src/mame/drivers/xmen.c | 169 | ||||
-rw-r--r-- | src/mame/drivers/xyonix.c | 36 | ||||
-rw-r--r-- | src/mame/drivers/yiear.c | 29 | ||||
-rw-r--r-- | src/mame/drivers/yumefuda.c | 45 | ||||
-rw-r--r-- | src/mame/drivers/yunsun16.c | 85 | ||||
-rw-r--r-- | src/mame/drivers/yunsung8.c | 64 | ||||
-rw-r--r-- | src/mame/drivers/zac2650.c | 37 | ||||
-rw-r--r-- | src/mame/drivers/zerozone.c | 40 | ||||
-rw-r--r-- | src/mame/drivers/zodiack.c | 62 |
11 files changed, 262 insertions, 471 deletions
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c index efc478ac2da..97d498cb12b 100644 --- a/src/mame/drivers/xain.c +++ b/src/mame/drivers/xain.c @@ -267,29 +267,23 @@ static INTERRUPT_GEN( xain_interrupt ) vblank=0; } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(xain_sharedram_r) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_READWRITE(xain_sharedram_r, xain_sharedram_w) AM_BASE(&xain_sharedram) AM_RANGE(0x2000, 0x37ff) AM_READ(MRA8_RAM) + AM_RANGE(0x2000, 0x27ff) AM_WRITE(xain_charram_w) AM_BASE(&xain_charram) + AM_RANGE(0x2800, 0x2fff) AM_WRITE(xain_bgram1_w) AM_BASE(&xain_bgram1) + AM_RANGE(0x3000, 0x37ff) AM_WRITE(xain_bgram0_w) AM_BASE(&xain_bgram0) + AM_RANGE(0x3800, 0x397f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0x3a00, 0x3a00) AM_READ(input_port_0_r) + AM_RANGE(0x3a00, 0x3a01) AM_WRITE(xain_scrollxP1_w) AM_RANGE(0x3a01, 0x3a01) AM_READ(input_port_1_r) AM_RANGE(0x3a02, 0x3a02) AM_READ(input_port_2_r) + AM_RANGE(0x3a02, 0x3a03) AM_WRITE(xain_scrollyP1_w) AM_RANGE(0x3a03, 0x3a03) AM_READ(input_port_3_r) AM_RANGE(0x3a04, 0x3a04) AM_READ(xain_68705_r) /* from the 68705 */ + AM_RANGE(0x3a04, 0x3a05) AM_WRITE(xain_scrollxP0_w) AM_RANGE(0x3a05, 0x3a05) AM_READ(xain_input_port_4_r) // AM_RANGE(0x3a06, 0x3a06) AM_READ(MRA8_NOP) /* ?? read (and discarded) on startup. Maybe reset the 68705 */ - AM_RANGE(0x4000, 0x7fff) AM_READ(MRA8_BANK1) - AM_RANGE(0x8000, 0xffff) AM_READ(MRA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(xain_sharedram_w) AM_BASE(&xain_sharedram) - AM_RANGE(0x2000, 0x27ff) AM_WRITE(xain_charram_w) AM_BASE(&xain_charram) - AM_RANGE(0x2800, 0x2fff) AM_WRITE(xain_bgram1_w) AM_BASE(&xain_bgram1) - AM_RANGE(0x3000, 0x37ff) AM_WRITE(xain_bgram0_w) AM_BASE(&xain_bgram0) - AM_RANGE(0x3800, 0x397f) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0x3a00, 0x3a01) AM_WRITE(xain_scrollxP1_w) - AM_RANGE(0x3a02, 0x3a03) AM_WRITE(xain_scrollyP1_w) - AM_RANGE(0x3a04, 0x3a05) AM_WRITE(xain_scrollxP0_w) AM_RANGE(0x3a06, 0x3a07) AM_WRITE(xain_scrollyP0_w) AM_RANGE(0x3a08, 0x3a08) AM_WRITE(xain_sound_command_w) AM_RANGE(0x3a09, 0x3a0c) AM_WRITE(xain_main_irq_w) @@ -298,52 +292,36 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3a0f, 0x3a0f) AM_WRITE(xainCPUA_bankswitch_w) AM_RANGE(0x3c00, 0x3dff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram) AM_RANGE(0x3e00, 0x3fff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2) - AM_RANGE(0x4000, 0xffff) AM_WRITE(MWA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( readmemB, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(xain_sharedram_r) - AM_RANGE(0x4000, 0x7fff) AM_READ(MRA8_BANK2) - AM_RANGE(0x8000, 0xffff) AM_READ(MRA8_ROM) + AM_RANGE(0x4000, 0x7fff) AM_READ(MRA8_BANK1) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START( writememB, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(xain_sharedram_w) +static ADDRESS_MAP_START( cpu_map_B, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_READWRITE(xain_sharedram_r, xain_sharedram_w) AM_RANGE(0x2000, 0x2000) AM_WRITE(xain_irqA_assert_w) AM_RANGE(0x2800, 0x2800) AM_WRITE(xain_irqB_clear_w) AM_RANGE(0x3000, 0x3000) AM_WRITE(xainCPUB_bankswitch_w) - AM_RANGE(0x4000, 0xffff) AM_WRITE(MWA8_ROM) + AM_RANGE(0x4000, 0x7fff) AM_READ(MRA8_BANK2) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END #if 0 -static ADDRESS_MAP_START( mcu_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0010, 0x007f) AM_READ(MRA8_RAM) - AM_RANGE(0x0080, 0x07ff) AM_READ(MRA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mcu_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0010, 0x007f) AM_WRITE(MWA8_RAM) - AM_RANGE(0x0080, 0x07ff) AM_WRITE(MWA8_ROM) +static ADDRESS_MAP_START( mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0010, 0x007f) AM_RAM + AM_RANGE(0x0080, 0x07ff) AM_ROM ADDRESS_MAP_END #endif -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_READ(MRA8_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x07ff) AM_RAM AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r) - AM_RANGE(0x8000, 0xffff) AM_READ(MRA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x2800, 0x2800) AM_WRITE(YM2203_control_port_0_w) AM_RANGE(0x2801, 0x2801) AM_WRITE(YM2203_write_port_0_w) AM_RANGE(0x3000, 0x3000) AM_WRITE(YM2203_control_port_1_w) AM_RANGE(0x3001, 0x3001) AM_WRITE(YM2203_write_port_1_w) - AM_RANGE(0x4000, 0xffff) AM_WRITE(MWA8_ROM) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END - - static INPUT_PORTS_START( xsleena ) PORT_START_TAG("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY @@ -477,18 +455,18 @@ static MACHINE_DRIVER_START( xsleena ) /* basic machine hardware */ MDRV_CPU_ADD(M6809, 1500000) /* Confirmed 1.5MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT_HACK(xain_interrupt,256) MDRV_CPU_ADD(M6809, 1500000) /* Confirmed 1.5MHz */ - MDRV_CPU_PROGRAM_MAP(readmemB,writememB) + MDRV_CPU_PROGRAM_MAP(cpu_map_B,0) MDRV_CPU_ADD(M6809, 1500000) /* Confirmed 1.5MHz */ /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) // MDRV_CPU_ADD(M68705, 3000000) /* Confirmed 3MHz */ -// MDRV_CPU_PROGRAM_MAP(mcu_readmem,mcu_writemem) +// MDRV_CPU_PROGRAM_MAP(mcu_map,0) MDRV_MACHINE_START(xsleena) diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c index ce3145ddc30..2cfa2f889cd 100644 --- a/src/mame/drivers/xexex.c +++ b/src/mame/drivers/xexex.c @@ -343,30 +343,42 @@ static INTERRUPT_GEN( xexex_interrupt ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(MRA16_ROM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM + AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_BASE(&xexex_workram) // work RAM + #if XE_SKIPIDLE - AM_RANGE(0x080014, 0x080015) AM_READ(xexex_waitskip_r) // helps sound CPU by giving back control as early as possible + AM_RANGE(0x080014, 0x080015) AM_READ(xexex_waitskip_r) // helps sound CPU by giving back control as early as possible #endif - AM_RANGE(0x080000, 0x08ffff) AM_READ(MRA16_RAM) - AM_RANGE(0x090000, 0x097fff) AM_READ(MRA16_RAM) // K053247 sprite RAM - AM_RANGE(0x098000, 0x09ffff) AM_READ(spriteram16_mirror_r) // K053247 sprite RAM mirror read - AM_RANGE(0x0c4000, 0x0c4001) AM_READ(K053246_word_r) // Passthrough to sprite roms - AM_RANGE(0x0c6000, 0x0c7fff) AM_READ(K053250_0_ram_r) // K053250 "road" RAM - AM_RANGE(0x0c8000, 0x0c800f) AM_READ(K053250_0_r) + + AM_RANGE(0x090000, 0x097fff) AM_RAM AM_BASE(&spriteram16) // K053247 sprite RAM + AM_RANGE(0x098000, 0x09ffff) AM_READWRITE(spriteram16_mirror_r, spriteram16_mirror_w) // K053247 sprite RAM mirror read + AM_RANGE(0x0c0000, 0x0c003f) AM_WRITE(K056832_word_w) // VACSET (K054157) + AM_RANGE(0x0c2000, 0x0c2007) AM_WRITE(K053246_word_w) // OBJSET1 + AM_RANGE(0x0c4000, 0x0c4001) AM_READ(K053246_word_r) // Passthrough to sprite roms + AM_RANGE(0x0c6000, 0x0c7fff) AM_READWRITE(K053250_0_ram_r, K053250_0_ram_w) // K053250 "road" RAM + AM_RANGE(0x0c8000, 0x0c800f) AM_READWRITE(K053250_0_r, K053250_0_w) + AM_RANGE(0x0ca000, 0x0ca01f) AM_WRITE(K054338_word_w) // CLTC + AM_RANGE(0x0cc000, 0x0cc01f) AM_WRITE(K053251_lsb_w) // priority encoder + AM_RANGE(0x0d0000, 0x0d001f) AM_WRITE(K053252_word_w) // CCU + AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) + AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) + AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r) - AM_RANGE(0x0d6000, 0x0d601f) AM_READ(MRA16_RAM) + AM_RANGE(0x0d6000, 0x0d601f) AM_RAM // sound regs fall through + AM_RANGE(0x0d8000, 0x0d8007) AM_WRITE(K056832_b_word_w) // VSCCS regs AM_RANGE(0x0da000, 0x0da001) AM_READ(input_port_2_word_r) AM_RANGE(0x0da002, 0x0da003) AM_READ(input_port_3_word_r) AM_RANGE(0x0dc000, 0x0dc001) AM_READ(input_port_0_word_r) AM_RANGE(0x0dc002, 0x0dc003) AM_READ(control1_r) - AM_RANGE(0x0de000, 0x0de001) AM_READ(control2_r) - AM_RANGE(0x100000, 0x17ffff) AM_READ(MRA16_ROM) - AM_RANGE(0x180000, 0x181fff) AM_READ(K056832_ram_word_r) - AM_RANGE(0x182000, 0x183fff) AM_READ(K056832_ram_word_r) - AM_RANGE(0x190000, 0x191fff) AM_READ(K056832_rom_word_r) // Passthrough to tile roms + AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r, control2_w) + AM_RANGE(0x100000, 0x17ffff) AM_ROM + AM_RANGE(0x180000, 0x181fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) + AM_RANGE(0x182000, 0x183fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) + AM_RANGE(0x190000, 0x191fff) AM_READWRITE(K056832_rom_word_r, MWA16_ROM) // Passthrough to tile roms AM_RANGE(0x1a0000, 0x1a1fff) AM_READ(K053250_0_rom_r) - AM_RANGE(0x1b0000, 0x1b1fff) AM_READ(MRA16_RAM) + AM_RANGE(0x1b0000, 0x1b1fff) AM_READWRITE(MRA16_RAM, paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16) + #if XE_DEBUG AM_RANGE(0x0c0000, 0x0c003f) AM_READ(K056832_word_r) AM_RANGE(0x0c2000, 0x0c2007) AM_READ(K053246_reg_word_r) @@ -375,50 +387,20 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0d0000, 0x0d001f) AM_READ(K053252_word_r) AM_RANGE(0x0d8000, 0x0d8007) AM_READ(K056832_b_word_r) #endif -ADDRESS_MAP_END -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(MWA16_ROM) // main ROM - AM_RANGE(0x080000, 0x08ffff) AM_WRITE(MWA16_RAM) AM_BASE(&xexex_workram) // work RAM - AM_RANGE(0x090000, 0x097fff) AM_WRITE(MWA16_RAM) AM_BASE(&spriteram16) // K053247 sprite RAM - AM_RANGE(0x098000, 0x09ffff) AM_WRITE(spriteram16_mirror_w) // K053247 sprite RAM mirror write - AM_RANGE(0x0c0000, 0x0c003f) AM_WRITE(K056832_word_w) // VACSET (K054157) - AM_RANGE(0x0c2000, 0x0c2007) AM_WRITE(K053246_word_w) // OBJSET1 - AM_RANGE(0x0c6000, 0x0c7fff) AM_WRITE(K053250_0_ram_w) // K053250 "road" RAM - AM_RANGE(0x0c8000, 0x0c800f) AM_WRITE(K053250_0_w) // background effects generator - AM_RANGE(0x0ca000, 0x0ca01f) AM_WRITE(K054338_word_w) // CLTC - AM_RANGE(0x0cc000, 0x0cc01f) AM_WRITE(K053251_lsb_w) // priority encoder - AM_RANGE(0x0d0000, 0x0d001f) AM_WRITE(K053252_word_w) // CCU - AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) - AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) - AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) - AM_RANGE(0x0d6000, 0x0d601f) AM_WRITE(MWA16_RAM) // sound regs fall through - AM_RANGE(0x0d8000, 0x0d8007) AM_WRITE(K056832_b_word_w) // VSCCS regs - AM_RANGE(0x0de000, 0x0de001) AM_WRITE(control2_w) - AM_RANGE(0x100000, 0x17ffff) AM_WRITE(MWA16_ROM) - AM_RANGE(0x180000, 0x181fff) AM_WRITE(K056832_ram_word_w) // tilemap RAM - AM_RANGE(0x182000, 0x183fff) AM_WRITE(K056832_ram_word_w) // tilemap RAM mirror - AM_RANGE(0x190000, 0x191fff) AM_WRITE(MWA16_ROM) // tile ROM - AM_RANGE(0x1b0000, 0x1b1fff) AM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK2) - AM_RANGE(0xc000, 0xdfff) AM_READ(MRA8_RAM) - AM_RANGE(0xe000, 0xe22f) AM_READ(K054539_0_r) - AM_RANGE(0xec01, 0xec01) AM_READ(YM2151_status_port_0_r) - AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r) - AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r) -ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(MWA8_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(MWA8_RAM) - AM_RANGE(0xe000, 0xe22f) AM_WRITE(K054539_0_w) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK2) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe22f) AM_READWRITE(K054539_0_r, K054539_0_w) AM_RANGE(0xec00, 0xec00) AM_WRITE(YM2151_register_port_0_w) - AM_RANGE(0xec01, 0xec01) AM_WRITE(YM2151_data_port_0_w) + AM_RANGE(0xec01, 0xec01) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w) AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w) + AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r) + AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r) AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w) ADDRESS_MAP_END @@ -474,7 +456,7 @@ static MACHINE_DRIVER_START( xexex ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) // 16MHz (32MHz xtal) - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT_HACK(xexex_interrupt,2) // 8MHz (PCB shows one 32MHz/18.432MHz xtal, reference: www.system16.com) @@ -482,7 +464,7 @@ static MACHINE_DRIVER_START( xexex ) MDRV_CPU_ADD(Z80, 8000000) /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_INTERLEAVE(32) diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c index c389866cff8..69827247a2c 100644 --- a/src/mame/drivers/xmen.c +++ b/src/mame/drivers/xmen.c @@ -170,158 +170,105 @@ static WRITE8_HANDLER( sound_bankswitch_w ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(MRA16_ROM) - AM_RANGE(0x080000, 0x0fffff) AM_READ(MRA16_ROM) - AM_RANGE(0x100000, 0x100fff) AM_READ(K053247_word_r) - AM_RANGE(0x101000, 0x101fff) AM_READ(MRA16_RAM) - AM_RANGE(0x104000, 0x104fff) AM_READ(MRA16_RAM) - AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r) - AM_RANGE(0x10a000, 0x10a001) AM_READ(input_port_0_word_r) - AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r) - AM_RANGE(0x10a004, 0x10a005) AM_READ(eeprom_r) - AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r) - AM_RANGE(0x110000, 0x113fff) AM_READ(MRA16_RAM) /* main RAM */ - AM_RANGE(0x18c000, 0x197fff) AM_READ(K052109_lsb_r) - - -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_WRITE(MWA16_ROM) - AM_RANGE(0x080000, 0x0fffff) AM_WRITE(MWA16_ROM) - AM_RANGE(0x100000, 0x100fff) AM_WRITE(K053247_word_w) - AM_RANGE(0x101000, 0x101fff) AM_WRITE(MWA16_RAM) - AM_RANGE(0x104000, 0x104fff) AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x03ffff) AM_ROM + AM_RANGE(0x080000, 0x0fffff) AM_ROM + AM_RANGE(0x100000, 0x100fff) AM_READWRITE(K053247_word_r, K053247_word_w) + AM_RANGE(0x101000, 0x101fff) AM_RAM + AM_RANGE(0x104000, 0x104fff) AM_READWRITE(MRA16_RAM, paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w) AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w) AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w) AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w) + AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r) AM_RANGE(0x108060, 0x10807f) AM_WRITE(K053251_lsb_w) - AM_RANGE(0x10a000, 0x10a001) AM_WRITE(watchdog_reset16_w) - AM_RANGE(0x110000, 0x113fff) AM_WRITE(MWA16_RAM) /* main RAM */ + AM_RANGE(0x10a000, 0x10a001) AM_READWRITE(input_port_0_word_r, watchdog_reset16_w) + AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r) + AM_RANGE(0x10a004, 0x10a005) AM_READ(eeprom_r) + AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r) + AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w) - AM_RANGE(0x18c000, 0x197fff) AM_WRITE(K052109_lsb_w) - + AM_RANGE(0x18c000, 0x197fff) AM_READWRITE(K052109_lsb_r, K052109_lsb_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK4) - AM_RANGE(0xc000, 0xdfff) AM_READ(MRA8_RAM) - AM_RANGE(0xe000, 0xe22f) AM_READ(K054539_0_r) - AM_RANGE(0xec01, 0xec01) AM_READ(YM2151_status_port_0_r) - AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(MWA8_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(MWA8_RAM) - AM_RANGE(0xe000, 0xe22f) AM_WRITE(K054539_0_w) + AM_RANGE(0x8000, 0xbfff) AM_WRITE(MWA8_ROM) + AM_RANGE(0xc000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe22f) AM_READWRITE(K054539_0_r, K054539_0_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(YM2151_register_port_0_w) - AM_RANGE(0xec01, 0xec01) AM_WRITE(YM2151_data_port_0_w) + AM_RANGE(0xec01, 0xec01) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w) AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_w) + AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r) AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w) ADDRESS_MAP_END -/* 6p version */ - -static ADDRESS_MAP_START( readmem6p, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(MRA16_ROM) - AM_RANGE(0x080000, 0x0fffff) AM_READ(MRA16_ROM) - AM_RANGE(0x100000, 0x100fff) AM_READ(MRA16_RAM) /* 1st sprite list on 6p */ - AM_RANGE(0x101000, 0x101fff) AM_READ(MRA16_RAM) - - - AM_RANGE(0x102000, 0x102fff) AM_READ(MRA16_RAM) /* 2nd sprite list on 6p */ - AM_RANGE(0x102000, 0x103fff) AM_READ(MRA16_RAM) /* 6p - a buffer? */ - - - AM_RANGE(0x104000, 0x104fff) AM_READ(MRA16_RAM) - AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r) - AM_RANGE(0x10a000, 0x10a001) AM_READ(input_port_0_word_r) - AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r) - AM_RANGE(0x10a004, 0x10a005) AM_READ(xmen6p_eeprom_r) - AM_RANGE(0x10a006, 0x10a007) AM_READ(input_port_3_word_r) - AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r) /* sprites */ - AM_RANGE(0x110000, 0x113fff) AM_READ(MRA16_RAM) /* main RAM */ - AM_RANGE(0x18c000, 0x197fff) AM_READ(MRA16_RAM) /* left tilemap */ - -/* - AM_RANGE(0x1ac000, 0x1af7ff) AM_READ(MRA16_RAM) - AM_RANGE(0x1b0000, 0x1b37ff) AM_READ(MRA16_RAM) - AM_RANGE(0x1b4000, 0x1b77ff) AM_READ(MRA16_RAM) -*/ - AM_RANGE(0x1ac000, 0x1b7fff) AM_READ(MRA16_RAM) /* right tilemap */ - - - /* what are the regions below buffers? (used by hw or software?) */ -/* - AM_RANGE(0x1cc000, 0x1cf7ff) AM_READ(MRA16_RAM) - AM_RANGE(0x1d0000, 0x1d37ff) AM_READ(MRA16_RAM) -*/ - AM_RANGE(0x1cc000, 0x1d7fff) AM_READ(MRA16_RAM) /* tilemap ?*/ - -/* - AM_RANGE(0x1ec000, 0x1ef7ff) AM_READ(MRA16_RAM) - AM_RANGE(0x1f0000, 0x1f37ff) AM_READ(MRA16_RAM) - AM_RANGE(0x1f4000, 0x1f77ff) AM_READ(MRA16_RAM) -*/ - AM_RANGE(0x1ec000, 0x1f7fff) AM_READ(MRA16_RAM) /* tilemap ?*/ - -ADDRESS_MAP_END +/* 6p version */ UINT16*xmen6p_spriteramleft; UINT16*xmen6p_spriteramright; UINT16*xmen6p_tilemapleft; UINT16*xmen6p_tilemapright; -static ADDRESS_MAP_START( writemem6p, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_WRITE(MWA16_ROM) - AM_RANGE(0x080000, 0x0fffff) AM_WRITE(MWA16_ROM) - AM_RANGE(0x100000, 0x100fff) AM_WRITE(MWA16_RAM) AM_BASE(&xmen6p_spriteramleft) /* sprites (screen 1) */ - AM_RANGE(0x101000, 0x101fff) AM_WRITE(MWA16_RAM) - - AM_RANGE(0x102000, 0x102fff) AM_WRITE(MWA16_RAM) AM_BASE(&xmen6p_spriteramright)/* sprites (screen 2) */ - AM_RANGE(0x103000, 0x103fff) AM_WRITE(MWA16_RAM) - - AM_RANGE(0x104000, 0x104fff) AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) +static ADDRESS_MAP_START( 6p_main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x03ffff) AM_ROM + AM_RANGE(0x080000, 0x0fffff) AM_ROM + AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(&xmen6p_spriteramleft) /* sprites (screen 1) */ + AM_RANGE(0x101000, 0x101fff) AM_RAM + AM_RANGE(0x102000, 0x102fff) AM_RAM AM_BASE(&xmen6p_spriteramright) /* sprites (screen 2) */ + AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */ + AM_RANGE(0x104000, 0x104fff) AM_READWRITE(MRA16_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w) AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w) /* sprites */ AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w) AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w) + AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r) AM_RANGE(0x108060, 0x10807f) AM_WRITE(K053251_lsb_w) - AM_RANGE(0x10a000, 0x10a001) AM_WRITE(watchdog_reset16_w) - AM_RANGE(0x110000, 0x113fff) AM_WRITE(MWA16_RAM) /* main RAM */ + AM_RANGE(0x10a000, 0x10a001) AM_READWRITE(input_port_0_word_r,watchdog_reset16_w) + AM_RANGE(0x10a002, 0x10a003) AM_READ(input_port_1_word_r) + AM_RANGE(0x10a004, 0x10a005) AM_READ(xmen6p_eeprom_r) + AM_RANGE(0x10a006, 0x10a007) AM_READ(input_port_3_word_r) + AM_RANGE(0x10a00c, 0x10a00d) AM_READ(K053246_word_r) /* sprites */ + AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w) - AM_RANGE(0x18c000, 0x197fff) AM_WRITE(MWA16_RAM/*K052109_lsb_w*/) AM_BASE(&xmen6p_tilemapleft) /* left tilemap (p1,p2,p3 counters) */ - +/* AM_RANGE(0x18c000, 0x197fff) AM_WRITE(K052109_lsb_w) AM_BASE(&xmen6p_tilemapleft) */ + AM_RANGE(0x18c000, 0x197fff) AM_RAM AM_BASE(&xmen6p_tilemapleft) /* left tilemap (p1,p2,p3 counters) */ /* + AM_RANGE(0x1ac000, 0x1af7ff) AM_READ(MRA16_RAM) AM_RANGE(0x1ac000, 0x1af7ff) AM_WRITE(MWA16_RAM) + + AM_RANGE(0x1b0000, 0x1b37ff) AM_READ(MRA16_RAM) AM_RANGE(0x1b0000, 0x1b37ff) AM_WRITE(MWA16_RAM) + + AM_RANGE(0x1b4000, 0x1b77ff) AM_READ(MRA16_RAM) AM_RANGE(0x1b4000, 0x1b77ff) AM_WRITE(MWA16_RAM) */ - AM_RANGE(0x1ac000, 0x1b7fff) AM_WRITE(MWA16_RAM) AM_BASE(&xmen6p_tilemapright)/* tilemap right side (p4,p5,p6 counters) */ - - /* whats the stuff below, buffers? */ + AM_RANGE(0x1ac000, 0x1b7fff) AM_RAM AM_BASE(&xmen6p_tilemapright) /* right tilemap */ + /* what are the regions below buffers? (used by hw or software?) */ /* + AM_RANGE(0x1cc000, 0x1cf7ff) AM_READ(MRA16_RAM) AM_RANGE(0x1cc000, 0x1cf7ff) AM_WRITE(MWA16_RAM) + + AM_RANGE(0x1d0000, 0x1d37ff) AM_READ(MRA16_RAM) AM_RANGE(0x1d0000, 0x1d37ff) AM_WRITE(MWA16_RAM) */ - AM_RANGE(0x1cc000, 0x1d7fff) AM_WRITE(MWA16_RAM) /* tilemap? */ + AM_RANGE(0x1cc000, 0x1d7fff) AM_RAM /* tilemap ? */ + /* whats the stuff below, buffers? */ /* + AM_RANGE(0x1ec000, 0x1ef7ff) AM_READ(MRA16_RAM) AM_RANGE(0x1ec000, 0x1ef7ff) AM_WRITE(MWA16_RAM) + AM_RANGE(0x1f0000, 0x1f37ff) AM_READ(MRA16_RAM) AM_RANGE(0x1f0000, 0x1f37ff) AM_WRITE(MWA16_RAM) + AM_RANGE(0x1f4000, 0x1f77ff) AM_READ(MRA16_RAM) AM_RANGE(0x1f4000, 0x1f77ff) AM_WRITE(MWA16_RAM) */ - AM_RANGE(0x1ec000, 0x1f7fff) AM_WRITE(MWA16_RAM) /* tilemap? */ - + AM_RANGE(0x1ec000, 0x1f7fff) AM_RAM /* tilemap ? */ ADDRESS_MAP_END - static INPUT_PORTS_START( xmen ) PORT_START /* IN1 */ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) @@ -523,12 +470,12 @@ static MACHINE_DRIVER_START( xmen ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) /* ? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT_HACK(xmen_interrupt,2) MDRV_CPU_ADD(Z80,8000000) /* verified with M1, guessed but accurate */ /* audio CPU */ /* ????? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_MACHINE_START(xmen) @@ -591,12 +538,12 @@ static MACHINE_DRIVER_START( xmen6p ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) /* ? */ - MDRV_CPU_PROGRAM_MAP(readmem6p,writemem6p) + MDRV_CPU_PROGRAM_MAP(6p_main_map,0) MDRV_CPU_VBLANK_INT_HACK(xmen6p_interrupt,2) MDRV_CPU_ADD(Z80,8000000) /* verified with M1, guessed but accurate */ /* audio CPU */ /* ????? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_NVRAM_HANDLER(xmen) diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c index 90e1b249970..ca7eb0ad552 100644 --- a/src/mame/drivers/xyonix.c +++ b/src/mame/drivers/xyonix.c @@ -149,32 +149,20 @@ static WRITE8_HANDLER ( xyonix_io_w ) /* Mem / Port Maps ***********************************************************/ -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_READ(MRA8_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(MRA8_RAM) - AM_RANGE(0xe000, 0xffff) AM_READ(MRA8_RAM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xffff) AM_READWRITE(MRA8_RAM, xyonix_vidram_w) AM_BASE(&xyonix_vidram) ADDRESS_MAP_END -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(MWA8_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(MWA8_RAM) - AM_RANGE(0xe000, 0xffff) AM_WRITE(xyonix_vidram_w) AM_BASE(&xyonix_vidram) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( port_readmem, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x20, 0x21) AM_READ(MRA8_NOP) /* SN76496 ready signal */ - AM_RANGE(0xe0, 0xe0) AM_READ(xyonix_io_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( port_writemem, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x20, 0x20) AM_WRITE(SN76496_0_w) - AM_RANGE(0x21, 0x21) AM_WRITE(SN76496_1_w) - AM_RANGE(0xe0, 0xe0) AM_WRITE(xyonix_io_w) - AM_RANGE(0x40, 0x40) AM_WRITE(MWA8_NOP) // NMI ack? + AM_RANGE(0x20, 0x20) AM_READWRITE(MRA8_NOP, SN76496_0_w) /* SN76496 ready signal */ + AM_RANGE(0x21, 0x21) AM_READWRITE(MRA8_NOP, SN76496_1_w) + AM_RANGE(0x40, 0x40) AM_WRITE(MWA8_NOP) /* NMI ack? */ AM_RANGE(0x50, 0x50) AM_WRITE(xyonix_irqack_w) - AM_RANGE(0x60, 0x61) AM_WRITE(MWA8_NOP) // mc6845 + AM_RANGE(0x60, 0x61) AM_WRITE(MWA8_NOP) /* mc6845 */ + AM_RANGE(0xe0, 0xe0) AM_READWRITE(xyonix_io_r, xyonix_io_w) ADDRESS_MAP_END /* Inputs Ports **************************************************************/ @@ -245,8 +233,8 @@ static MACHINE_DRIVER_START( xyonix ) /* basic machine hardware */ MDRV_CPU_ADD(Z80,16000000 / 4) /* 4 MHz ? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_IO_MAP(port_readmem,port_writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) + MDRV_CPU_IO_MAP(port_map,0) MDRV_CPU_VBLANK_INT("main", nmi_line_pulse) MDRV_CPU_PERIODIC_INT(irq0_line_assert,4*60) /* ?? controls music tempo */ diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c index e14f6304764..8a38dea9f97 100644 --- a/src/mame/drivers/yiear.c +++ b/src/mame/drivers/yiear.c @@ -86,35 +86,30 @@ static INTERRUPT_GEN( yiear_nmi_interrupt ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0000) AM_READ(yiear_speech_r) + AM_RANGE(0x4000, 0x4000) AM_WRITE(yiear_control_w) + AM_RANGE(0x4800, 0x4800) AM_WRITE(konami_SN76496_latch_w) + AM_RANGE(0x4900, 0x4900) AM_WRITE(konami_SN76496_0_w) + AM_RANGE(0x4a00, 0x4a00) AM_WRITE(yiear_VLM5030_control_w) + AM_RANGE(0x4b00, 0x4b00) AM_WRITE(VLM5030_data_w) AM_RANGE(0x4c00, 0x4c00) AM_READ(input_port_3_r) AM_RANGE(0x4d00, 0x4d00) AM_READ(input_port_4_r) AM_RANGE(0x4e00, 0x4e00) AM_READ(input_port_0_r) AM_RANGE(0x4e01, 0x4e01) AM_READ(input_port_1_r) AM_RANGE(0x4e02, 0x4e02) AM_READ(input_port_2_r) AM_RANGE(0x4e03, 0x4e03) AM_READ(input_port_5_r) - AM_RANGE(0x5000, 0x5fff) AM_READ(MRA8_RAM) - AM_RANGE(0x8000, 0xffff) AM_READ(MRA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x4000, 0x4000) AM_WRITE(yiear_control_w) - AM_RANGE(0x4800, 0x4800) AM_WRITE(konami_SN76496_latch_w) - AM_RANGE(0x4900, 0x4900) AM_WRITE(konami_SN76496_0_w) - AM_RANGE(0x4a00, 0x4a00) AM_WRITE(yiear_VLM5030_control_w) - AM_RANGE(0x4b00, 0x4b00) AM_WRITE(VLM5030_data_w) AM_RANGE(0x4f00, 0x4f00) AM_WRITE(watchdog_reset_w) - AM_RANGE(0x5000, 0x502f) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0x5030, 0x53ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x5400, 0x542f) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram_2) - AM_RANGE(0x5430, 0x57ff) AM_WRITE(MWA8_RAM) + AM_RANGE(0x5000, 0x502f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0x5400, 0x542f) AM_RAM AM_BASE(&spriteram_2) AM_RANGE(0x5800, 0x5fff) AM_WRITE(yiear_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x8000, 0xffff) AM_WRITE(MWA8_ROM) + AM_RANGE(0x5000, 0x5fff) AM_RAM + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END + static INPUT_PORTS_START( yiear ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -260,7 +255,7 @@ static MACHINE_DRIVER_START( yiear ) /* basic machine hardware */ MDRV_CPU_ADD(M6809,18432000/16) /* ???? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) MDRV_CPU_PERIODIC_INT(yiear_nmi_interrupt,500) /* music tempo (correct frequency unknown) */ diff --git a/src/mame/drivers/yumefuda.c b/src/mame/drivers/yumefuda.c index 933762fdc83..f1f38530d03 100644 --- a/src/mame/drivers/yumefuda.c +++ b/src/mame/drivers/yumefuda.c @@ -198,49 +198,34 @@ static WRITE8_HANDLER( mux_w ) /***************************************************************************************/ -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) - AM_RANGE(0x8000, 0x9fff) AM_READ(MRA8_BANK1) - AM_RANGE(0xaf80, 0xafff) AM_READ(custom_ram_r) - AM_RANGE(0xb000, 0xb0ff) AM_READ(MRA8_RAM) - AM_RANGE(0xc000, 0xc3ff) AM_READ(MRA8_RAM) - AM_RANGE(0xd000, 0xd3ff) AM_READ(MRA8_RAM) - AM_RANGE(0xe000, 0xffff) AM_READ(MRA8_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x8000, 0x9fff) AM_WRITE(MWA8_ROM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x9fff) AM_READWRITE(MRA8_BANK1, MWA8_ROM) AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w) AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE(eeprom_w) - AM_RANGE(0xaf80, 0xafff) AM_WRITE(custom_ram_w) AM_BASE(&cus_ram) //260d - 2626 - AM_RANGE(0xb000, 0xb0ff) AM_WRITE(MWA8_RAM) AM_WRITE(paletteram_RRRGGGBB_w) AM_BASE(&paletteram)/*Wrong format*/ - AM_RANGE(0xc000, 0xc3ff) AM_WRITE(yumefuda_vram_w) AM_BASE(&videoram) - AM_RANGE(0xd000, 0xd3ff) AM_WRITE(yumefuda_cram_w) AM_BASE(&colorram) - AM_RANGE(0xe000, 0xffff) AM_WRITE(MWA8_RAM) + AM_RANGE(0xaf80, 0xafff) AM_READWRITE(custom_ram_r, custom_ram_w) AM_BASE(&cus_ram) /*260d - 2626*/ + AM_RANGE(0xb000, 0xb0ff) AM_READWRITE(MRA8_RAM, paletteram_RRRGGGBB_w) AM_BASE(&paletteram) /*Wrong format*/ + AM_RANGE(0xc000, 0xc3ff) AM_READWRITE(MRA8_RAM, yumefuda_vram_w) AM_BASE(&videoram) + AM_RANGE(0xd000, 0xd3ff) AM_READWRITE(MRA8_RAM, yumefuda_cram_w) AM_BASE(&colorram) + AM_RANGE(0xe000, 0xffff) AM_RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r) - AM_RANGE(0x81, 0x81) AM_READ(eeprom_r) - AM_RANGE(0x82, 0x82) AM_READ(mux_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_0_w) + AM_RANGE(0x40, 0x40) AM_READWRITE(AY8910_read_port_0_r, AY8910_control_port_0_w) AM_RANGE(0x41, 0x41) AM_WRITE(AY8910_write_port_0_w) AM_RANGE(0x80, 0x80) AM_WRITE(mux_w) - AM_RANGE(0xc0, 0xc0) AM_WRITE(port_c0_w) //watchdog write? + AM_RANGE(0x81, 0x81) AM_READ(eeprom_r) + AM_RANGE(0x82, 0x82) AM_READ(mux_r) + AM_RANGE(0xc0, 0xc0) AM_WRITE(port_c0_w) /*watchdog write?*/ ADDRESS_MAP_END static MACHINE_DRIVER_START( yumefuda ) /* basic machine hardware */ MDRV_CPU_ADD(Z80 , 6000000) /*???*/ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_IO_MAP(readport,writeport) + MDRV_CPU_PROGRAM_MAP(main_map,0) + MDRV_CPU_IO_MAP(port_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) MDRV_NVRAM_HANDLER(93C46) diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c index 8f3530ff66b..91de54d553b 100644 --- a/src/mame/drivers/yunsun16.c +++ b/src/mame/drivers/yunsun16.c @@ -123,38 +123,28 @@ static WRITE16_HANDLER( yunsun16_sound_bank_w ) } } -static ADDRESS_MAP_START( yunsun16_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(MRA16_ROM ) // ROM - AM_RANGE(0xff0000, 0xffffff) AM_READ(MRA16_RAM ) // RAM - AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // P1 + P2 - AM_RANGE(0x800018, 0x800019) AM_READ(input_port_1_word_r ) // Coins - AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_2_word_r ) // DSW1 - AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_3_word_r ) // DSW2 - AM_RANGE(0x800188, 0x800189) AM_READ(OKIM6295_status_0_lsb_r ) // Sound - AM_RANGE(0x900000, 0x903fff) AM_READ(MRA16_RAM ) // Palette - AM_RANGE(0x908000, 0x90bfff) AM_READ(MRA16_RAM ) // Layer 1 - AM_RANGE(0x90c000, 0x90ffff) AM_READ(MRA16_RAM ) // Layer 0 - AM_RANGE(0x910000, 0x910fff) AM_READ(MRA16_RAM ) // Sprites -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsun16_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(MWA16_ROM ) // ROM - AM_RANGE(0xff0000, 0xffffff) AM_WRITE(MWA16_RAM ) // RAM - AM_RANGE(0x800030, 0x800031) AM_WRITE(MWA16_NOP ) // ? (value: don't care) - AM_RANGE(0x800100, 0x800101) AM_WRITE(MWA16_NOP ) // ? $9100 - AM_RANGE(0x800102, 0x800103) AM_WRITE(MWA16_NOP ) // ? $9080 - AM_RANGE(0x800104, 0x800105) AM_WRITE(MWA16_NOP ) // ? $90c0 - AM_RANGE(0x80010a, 0x80010b) AM_WRITE(MWA16_NOP ) // ? $9000 +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM + AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // P1 + P2 + AM_RANGE(0x800018, 0x800019) AM_READ(input_port_1_word_r ) // Coins + AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_2_word_r ) // DSW1 + AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_3_word_r ) // DSW2 + AM_RANGE(0x800030, 0x800031) AM_WRITE(MWA16_NOP ) // ? (value: don't care) + AM_RANGE(0x800100, 0x800101) AM_WRITE(MWA16_NOP ) // ? $9100 + AM_RANGE(0x800102, 0x800103) AM_WRITE(MWA16_NOP ) // ? $9080 + AM_RANGE(0x800104, 0x800105) AM_WRITE(MWA16_NOP ) // ? $90c0 + AM_RANGE(0x80010a, 0x80010b) AM_WRITE(MWA16_NOP ) // ? $9000 AM_RANGE(0x80010c, 0x80010f) AM_WRITE(MWA16_RAM) AM_BASE(&yunsun16_scroll_1 ) // Scrolling - AM_RANGE(0x800114, 0x800117) AM_WRITE(MWA16_RAM) AM_BASE(&yunsun16_scroll_0 ) // + AM_RANGE(0x800114, 0x800117) AM_WRITE(MWA16_RAM) AM_BASE(&yunsun16_scroll_0 ) // Scrolling AM_RANGE(0x800154, 0x800155) AM_WRITE(MWA16_RAM) AM_BASE(&yunsun16_priority ) // Priority - AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w ) // Sound - AM_RANGE(0x800188, 0x800189) AM_WRITE(OKIM6295_data_0_lsb_w ) // - AM_RANGE(0x8001fe, 0x8001ff) AM_WRITE(MWA16_NOP ) // ? 0 (during int) - AM_RANGE(0x900000, 0x903fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x908000, 0x90bfff) AM_WRITE(yunsun16_vram_1_w) AM_BASE(&yunsun16_vram_1 ) // Layer 1 - AM_RANGE(0x90c000, 0x90ffff) AM_WRITE(yunsun16_vram_0_w) AM_BASE(&yunsun16_vram_0 ) // Layer 0 - AM_RANGE(0x910000, 0x910fff) AM_WRITE(MWA16_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites + AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w ) // Sound + AM_RANGE(0x800188, 0x800189) AM_READWRITE(OKIM6295_status_0_lsb_r, OKIM6295_data_0_lsb_w ) // Sound + AM_RANGE(0x8001fe, 0x8001ff) AM_WRITE(MWA16_NOP ) // ? 0 (during int) + AM_RANGE(0x900000, 0x903fff) AM_READWRITE(MRA16_RAM, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x908000, 0x90bfff) AM_READWRITE(MRA16_RAM, yunsun16_vram_1_w) AM_BASE(&yunsun16_vram_1 ) // Layer 1 + AM_RANGE(0x90c000, 0x90ffff) AM_READWRITE(MRA16_RAM, yunsun16_vram_0_w) AM_BASE(&yunsun16_vram_0 ) // Layer 0 + AM_RANGE(0x910000, 0x910fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites + AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -188,28 +178,17 @@ static DRIVER_INIT( magicbub ) ***************************************************************************/ -static ADDRESS_MAP_START( yunsun16_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xdfff) AM_READ(MRA8_ROM ) // ROM - AM_RANGE(0xe000, 0xe7ff) AM_READ(MRA8_RAM ) // RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsun16_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xdfff) AM_WRITE(MWA8_ROM ) // ROM - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(MWA8_RAM ) // RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsun16_sound_readport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x10, 0x10) AM_READ(YM3812_status_port_0_r ) // YM3812 - AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r ) // From Main CPU - AM_RANGE(0x1c, 0x1c) AM_READ(OKIM6295_status_0_r ) // M6295 +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xdfff) AM_ROM + AM_RANGE(0xe000, 0xe7ff) AM_RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( yunsun16_sound_writeport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( sound_port_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x10, 0x10) AM_WRITE(YM3812_control_port_0_w ) // YM3812 - AM_RANGE(0x11, 0x11) AM_WRITE(YM3812_write_port_0_w ) - AM_RANGE(0x1c, 0x1c) AM_WRITE(OKIM6295_data_0_w ) // M6295 + AM_RANGE(0x10, 0x10) AM_READWRITE(YM3812_status_port_0_r, YM3812_control_port_0_w ) // YM3812 + AM_RANGE(0x11, 0x11) AM_WRITE(YM3812_write_port_0_w ) + AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r ) // From Main CPU + AM_RANGE(0x1c, 0x1c) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w ) // M6295 ADDRESS_MAP_END @@ -529,13 +508,13 @@ static MACHINE_DRIVER_START( magicbub ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) - MDRV_CPU_PROGRAM_MAP(yunsun16_readmem,yunsun16_writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", irq2_line_hold) MDRV_CPU_ADD(Z80, 3000000) /* audio CPU */ /* ? */ - MDRV_CPU_PROGRAM_MAP(yunsun16_sound_readmem,yunsun16_sound_writemem) - MDRV_CPU_IO_MAP(yunsun16_sound_readport,yunsun16_sound_writeport) + MDRV_CPU_PROGRAM_MAP(sound_map,0) + MDRV_CPU_IO_MAP(sound_port_map,0) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) @@ -574,7 +553,7 @@ static MACHINE_DRIVER_START( shocking ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) - MDRV_CPU_PROGRAM_MAP(yunsun16_readmem,yunsun16_writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", irq2_line_hold) /* video hardware */ diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c index 25c90008918..e652c51d48e 100644 --- a/src/mame/drivers/yunsung8.c +++ b/src/mame/drivers/yunsung8.c @@ -77,7 +77,7 @@ static WRITE8_HANDLER( yunsung8_bankswitch_w ) { UINT8 *RAM = memory_region(REGION_CPU1); - int bank = data & 7; // ROM bank + int bank = data & 7; // ROM bank yunsung8_layers_ctrl = data & 0x30; // Layers enable if (data & ~0x37) logerror("CPU #0 - PC %04X: Bank %02X\n",activecpu_get_pc(),data); @@ -97,38 +97,24 @@ static WRITE8_HANDLER( yunsung8_bankswitch_w ) d000-dfff Tiles "" */ -static ADDRESS_MAP_START( yunsung8_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM ) // ROM - AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK1 ) // Banked ROM - AM_RANGE(0xc000, 0xdfff) AM_READ(yunsung8_videoram_r ) // Video RAM (Banked) - AM_RANGE(0xe000, 0xffff) AM_READ(MRA8_RAM ) // RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsung8_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0000) AM_WRITE(MWA8_ROM ) // ROM +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0001, 0x0001) AM_WRITE(yunsung8_bankswitch_w ) // ROM Bank (again?) - AM_RANGE(0x0002, 0xbfff) AM_WRITE(MWA8_ROM ) // ROM - AM_RANGE(0xc000, 0xdfff) AM_WRITE(yunsung8_videoram_w ) // Video RAM (Banked) - AM_RANGE(0xe000, 0xffff) AM_WRITE(MWA8_RAM ) // RAM + AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK1 ) // Banked ROM + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_READWRITE(yunsung8_videoram_r, yunsung8_videoram_w ) // Video RAM (Banked) + AM_RANGE(0xe000, 0xffff) AM_RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( yunsung8_readport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r ) // Coins - AM_RANGE(0x01, 0x01) AM_READ(input_port_1_r ) // P1 - AM_RANGE(0x02, 0x02) AM_READ(input_port_2_r ) // P2 - AM_RANGE(0x03, 0x03) AM_READ(input_port_3_r ) // DSW 1 - AM_RANGE(0x04, 0x04) AM_READ(input_port_4_r ) // DSW 2 -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsung8_writeport, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) - AM_RANGE(0x00, 0x00) AM_WRITE(yunsung8_videobank_w ) // Video RAM Bank - AM_RANGE(0x01, 0x01) AM_WRITE(yunsung8_bankswitch_w ) // ROM Bank + Layers Enable - AM_RANGE(0x02, 0x02) AM_WRITE(soundlatch_w ) // To Sound CPU - AM_RANGE(0x06, 0x06) AM_WRITE(yunsung8_flipscreen_w ) // Flip Screen - AM_RANGE(0x07, 0x07) AM_WRITE(MWA8_NOP ) // ? (end of IRQ, random value) + AM_RANGE(0x00, 0x00) AM_READWRITE(input_port_0_r, yunsung8_videobank_w ) // read = coins . write = video RAM bank + AM_RANGE(0x01, 0x01) AM_READWRITE(input_port_1_r, yunsung8_bankswitch_w ) // read = P1 . write = ROM Bank + Layers Enable + AM_RANGE(0x02, 0x02) AM_READWRITE(input_port_2_r, soundlatch_w ) // read = P2 . write = To Sound CPU + AM_RANGE(0x03, 0x03) AM_READ(input_port_3_r ) // DSW 1 + AM_RANGE(0x04, 0x04) AM_READ(input_port_4_r ) // DSW 2 + AM_RANGE(0x06, 0x06) AM_WRITE(yunsung8_flipscreen_w ) // Flip Screen + AM_RANGE(0x07, 0x07) AM_WRITE(MWA8_NOP ) // ? (end of IRQ, random value) ADDRESS_MAP_END @@ -167,21 +153,15 @@ static WRITE8_HANDLER( yunsung8_adpcm_w ) -static ADDRESS_MAP_START( yunsung8_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM ) // ROM - AM_RANGE(0x8000, 0xbfff) AM_READ(MRA8_BANK2 ) // Banked ROM - AM_RANGE(0xf000, 0xf7ff) AM_READ(MRA8_RAM ) // RAM - AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r ) // From Main CPU -ADDRESS_MAP_END - -static ADDRESS_MAP_START( yunsung8_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM ) // ROM - AM_RANGE(0x8000, 0xbfff) AM_WRITE(MWA8_ROM ) // Banked ROM +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_READWRITE(MRA8_BANK2,MWA8_ROM ) // Banked ROM AM_RANGE(0xe000, 0xe000) AM_WRITE(yunsung8_sound_bankswitch_w ) // ROM Bank AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w ) AM_RANGE(0xec00, 0xec00) AM_WRITE(YM3812_control_port_0_w ) // YM3812 AM_RANGE(0xec01, 0xec01) AM_WRITE(YM3812_write_port_0_w ) - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(MWA8_RAM ) // RAM + AM_RANGE(0xf000, 0xf7ff) AM_RAM + AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r ) // From Main CPU ADDRESS_MAP_END @@ -528,13 +508,13 @@ static MACHINE_DRIVER_START( yunsung8 ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, 8000000) /* Z80B */ - MDRV_CPU_PROGRAM_MAP(yunsung8_readmem,yunsung8_writemem) - MDRV_CPU_IO_MAP(yunsung8_readport,yunsung8_writeport) + MDRV_CPU_PROGRAM_MAP(main_map,0) + MDRV_CPU_IO_MAP(port_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* No nmi routine */ MDRV_CPU_ADD(Z80, 4000000) /* ? */ /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(yunsung8_sound_readmem,yunsung8_sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* NMI caused by the MSM5205? */ MDRV_MACHINE_RESET(yunsung8) diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c index 963217032ed..a6c97ddddae 100644 --- a/src/mame/drivers/zac2650.c +++ b/src/mame/drivers/zac2650.c @@ -23,31 +23,20 @@ READ8_HANDLER( tinvader_port_0_r ); VIDEO_START( tinvader ); VIDEO_UPDATE( tinvader ); -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x17ff) AM_READ(MRA8_ROM) - AM_RANGE(0x1800, 0x1bff) AM_READ(MRA8_RAM) - AM_RANGE(0x1c00, 0x1cff) AM_READ(MRA8_RAM) - AM_RANGE(0x1d00, 0x1dff) AM_READ(MRA8_RAM) - AM_RANGE(0x1e80, 0x1e80) AM_READ(tinvader_port_0_r) - AM_RANGE(0x1e81, 0x1e81) AM_READ(input_port_1_r) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x17ff) AM_ROM + AM_RANGE(0x1800, 0x1bff) AM_READWRITE(MRA8_RAM, tinvader_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x1c00, 0x1cff) AM_RAM + AM_RANGE(0x1d00, 0x1dff) AM_RAM + AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w) + AM_RANGE(0x1e81, 0x1e81) AM_READ(input_port_1_r) AM_RANGE(0x1e82, 0x1e82) AM_READ(input_port_2_r) - AM_RANGE(0x1e85, 0x1e85) AM_READ(input_port_4_r) /* Dodgem Only */ - AM_RANGE(0x1e86, 0x1e86) AM_READ(input_port_5_r) /* Dodgem Only */ - AM_RANGE(0x1f00, 0x1fff) AM_READ(zac_s2636_r) /* S2636 Chip */ + AM_RANGE(0x1e85, 0x1e85) AM_READ(input_port_4_r) /* Dodgem Only */ + AM_RANGE(0x1e86, 0x1e86) AM_READWRITE(input_port_5_r, MWA8_NOP) /* Dodgem Only */ + AM_RANGE(0x1f00, 0x1fff) AM_READWRITE(zac_s2636_r, MWA8_RAM) AM_BASE(&zac2650_s2636_0_ram) ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x17ff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x1800, 0x1bff) AM_WRITE(tinvader_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x1c00, 0x1cff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x1d00, 0x1dff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x1e80, 0x1e80) AM_WRITE(tinvader_sound_w) - AM_RANGE(0x1e86, 0x1e86) AM_WRITE(MWA8_NOP) /* Dodgem Only */ - AM_RANGE(0x1f00, 0x1fff) AM_WRITE(MWA8_RAM) AM_BASE(&zac2650_s2636_0_ram) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_3_r) ADDRESS_MAP_END @@ -320,8 +309,8 @@ static MACHINE_DRIVER_START( tinvader ) /* basic machine hardware */ MDRV_CPU_ADD(S2650, 3800000/4) - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_IO_MAP(readport,0) + MDRV_CPU_PROGRAM_MAP(main_map, 0) + MDRV_CPU_IO_MAP(port_map,0) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c index e4e81cc00ac..556b80dcf1e 100644 --- a/src/mame/drivers/zerozone.c +++ b/src/mame/drivers/zerozone.c @@ -66,39 +66,25 @@ static WRITE16_HANDLER( zerozone_sound_w ) } } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_READ(MRA16_ROM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_RANGE(0x080000, 0x08000f) AM_READ(zerozone_input_r) - AM_RANGE(0x088000, 0x0881ff) AM_READ(MRA16_RAM) - AM_RANGE(0x098000, 0x098001) AM_READ(MRA16_RAM) /* watchdog? */ - AM_RANGE(0x09ce00, 0x09ffff) AM_READ(MRA16_RAM) - AM_RANGE(0x0c0000, 0x0cffff) AM_READ(MRA16_RAM) - AM_RANGE(0x0f8000, 0x0f87ff) AM_READ(MRA16_RAM) // never actually used -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_WRITE(MWA16_ROM) AM_RANGE(0x084000, 0x084001) AM_WRITE(zerozone_sound_w) - AM_RANGE(0x088000, 0x0881ff) AM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) - AM_RANGE(0x09ce00, 0x09ddff) AM_WRITE(zerozone_tilemap_w) AM_BASE(&zerozone_videoram) AM_SIZE(&videoram_size) + AM_RANGE(0x088000, 0x0881ff) AM_READWRITE(MRA16_RAM, paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) + AM_RANGE(0x098000, 0x098001) AM_RAM /* Watchdog? */ + AM_RANGE(0x09ce00, 0x09ffff) AM_READWRITE(MRA16_RAM, zerozone_tilemap_w) AM_BASE(&zerozone_videoram) AM_SIZE(&videoram_size) AM_RANGE(0x0b4000, 0x0b4001) AM_WRITE(zerozone_tilebank_w) - AM_RANGE(0x0c0000, 0x0cffff) AM_WRITE(MWA16_RAM) /* RAM */ - AM_RANGE(0x0f8000, 0x0f87ff) AM_WRITE(MWA16_RAM) + AM_RANGE(0x0c0000, 0x0cffff) AM_RAM + AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM /* Never read from */ ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(MRA8_RAM) - AM_RANGE(0x9800, 0x9800) AM_READ(OKIM6295_status_0_r) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x9800, 0x9800) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w) AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x9800, 0x9800) AM_WRITE(OKIM6295_data_0_w) -ADDRESS_MAP_END static INPUT_PORTS_START( zerozone ) PORT_START_TAG("IN0") @@ -192,12 +178,12 @@ static MACHINE_DRIVER_START( zerozone ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", irq1_line_hold) MDRV_CPU_ADD(Z80, 1000000) /* audio CPU */ /* 1 MHz ??? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_INTERLEAVE(10) diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c index f8e085522c9..1a78089639b 100644 --- a/src/mame/drivers/zodiack.c +++ b/src/mame/drivers/zodiack.c @@ -49,53 +49,35 @@ static WRITE8_HANDLER( zodiack_control_w ) /* Bit 2 - ???? */ } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_READ(MRA8_ROM) - AM_RANGE(0x5800, 0x5fff) AM_READ(MRA8_RAM) - AM_RANGE(0x6081, 0x6081) AM_READ(input_port_0_r) + +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x4fff) AM_ROM + AM_RANGE(0x5800, 0x5fff) AM_RAM + AM_RANGE(0x6081, 0x6081) AM_READWRITE(input_port_0_r, zodiack_control_w) AM_RANGE(0x6082, 0x6082) AM_READ(input_port_1_r) AM_RANGE(0x6083, 0x6083) AM_READ(input_port_2_r) AM_RANGE(0x6084, 0x6084) AM_READ(input_port_3_r) - AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch_r) - AM_RANGE(0x7000, 0x7000) AM_READ(MRA8_NOP) /* ??? */ - AM_RANGE(0x9000, 0x93ff) AM_READ(MRA8_RAM) - AM_RANGE(0xa000, 0xa3ff) AM_READ(MRA8_RAM) - AM_RANGE(0xb000, 0xb3ff) AM_READ(MRA8_RAM) - AM_RANGE(0xc000, 0xcfff) AM_READ(MRA8_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x5800, 0x5fff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x6081, 0x6081) AM_WRITE(zodiack_control_w) - AM_RANGE(0x6090, 0x6090) AM_WRITE(zodiac_master_soundlatch_w) - AM_RANGE(0x7000, 0x7000) AM_WRITE(watchdog_reset_w) + AM_RANGE(0x6090, 0x6090) AM_READWRITE(soundlatch_r, zodiac_master_soundlatch_w) + AM_RANGE(0x7000, 0x7000) AM_READWRITE(MRA8_NOP,watchdog_reset_w) /* NOP??? */ AM_RANGE(0x7100, 0x7100) AM_WRITE(zodiac_master_interrupt_enable_w) AM_RANGE(0x7200, 0x7200) AM_WRITE(zodiack_flipscreen_w) - AM_RANGE(0x9000, 0x903f) AM_WRITE(zodiack_attributes_w) AM_BASE(&zodiack_attributesram) - AM_RANGE(0x9040, 0x905f) AM_WRITE(MWA8_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0x9060, 0x907f) AM_WRITE(MWA8_RAM) AM_BASE(&zodiack_bulletsram) AM_SIZE(&zodiack_bulletsram_size) - AM_RANGE(0x9080, 0x93ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0xa000, 0xa3ff) AM_WRITE(zodiack_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size) - AM_RANGE(0xb000, 0xb3ff) AM_WRITE(zodiack_videoram2_w) AM_BASE(&zodiack_videoram2) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(MWA8_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(MRA8_ROM) - AM_RANGE(0x2000, 0x23ff) AM_READ(MRA8_RAM) - AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) + AM_RANGE(0x9000, 0x93ff) AM_READWRITE(MRA8_RAM, zodiack_attributes_w) AM_BASE(&zodiack_attributesram) + AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE(&zodiack_bulletsram) AM_SIZE(&zodiack_bulletsram_size) + AM_RANGE(0x9080, 0x93ff) AM_RAM + AM_RANGE(0xa000, 0xa3ff) AM_READWRITE(MRA8_RAM, zodiack_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size) + AM_RANGE(0xb000, 0xb3ff) AM_READWRITE(MRA8_RAM, zodiack_videoram2_w) AM_BASE(&zodiack_videoram2) + AM_RANGE(0xc000, 0xcfff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(MWA8_ROM) - AM_RANGE(0x2000, 0x23ff) AM_WRITE(MWA8_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x2000, 0x23ff) AM_RAM AM_RANGE(0x4000, 0x4000) AM_WRITE(espial_sound_nmi_enable_w) - AM_RANGE(0x6000, 0x6000) AM_WRITE(soundlatch_w) + AM_RANGE(0x6000, 0x6000) AM_READWRITE(soundlatch_r, soundlatch_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) AM_RANGE(0x00, 0x00) AM_WRITE(AY8910_control_port_0_w) AM_RANGE(0x01, 0x01) AM_WRITE(AY8910_write_port_0_w) @@ -476,12 +458,12 @@ static MACHINE_DRIVER_START( zodiack ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, 4000000) /* 4.00 MHz??? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT_HACK(zodiac_master_interrupt,2) MDRV_CPU_ADD(Z80, 14318000/8) /* 1.78975 MHz??? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) - MDRV_CPU_IO_MAP(0,sound_writeport) + MDRV_CPU_PROGRAM_MAP(sound_map,0) + MDRV_CPU_IO_MAP(io_map,0) MDRV_CPU_VBLANK_INT_HACK(espial_sound_nmi_gen,8) /* IRQs are triggered by the main CPU */ MDRV_MACHINE_RESET(zodiack) |