From cc551d8d90af5c2b8ae3bff17b36d94893e92bd1 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Tue, 28 Apr 2009 15:08:42 +0000 Subject: [PATCH] Memory maps merges for the following drivers: * groundfx.c (also fixed 00487: groundfx: It has wrong default NVRAM settings, especially about the lap number (1) and the coin/credit settings (1/2).) * lastduel.c * macrossp.c * madmotor.c (also cleaned-up some video variables in it) * mcatadv.c (also reduced a 1.0 clipping out volume setting) * moo.c Converted ssingles.c case of AM_READ(SMH_ROM) --- src/mame/drivers/cntsteer.c | 26 +++--- src/mame/drivers/splash.c | 172 +++++++++++++----------------------- src/mame/drivers/sprcros2.c | 85 +++++++----------- src/mame/drivers/sprint2.c | 26 ++---- src/mame/drivers/sprint8.c | 27 +++--- src/mame/drivers/srumbler.c | 69 ++++++--------- src/mame/drivers/ssozumo.c | 101 +++++++-------------- src/mame/drivers/sspeedr.c | 18 ++-- src/mame/drivers/starcrus.c | 18 ++-- src/mame/drivers/starshp1.c | 28 +++--- src/mame/video/splash.c | 5 -- 11 files changed, 205 insertions(+), 370 deletions(-) diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c index 38577fad3ce..17318aa307c 100644 --- a/src/mame/drivers/cntsteer.c +++ b/src/mame/drivers/cntsteer.c @@ -386,7 +386,7 @@ static WRITE8_HANDLER( cntsteer_background_w ) static WRITE8_HANDLER( gekitsui_sub_irq_ack ) { - cputag_set_input_line(space->machine, "sub", M6809_IRQ_LINE, CLEAR_LINE); + cputag_set_input_line(space->machine, "subcpu", M6809_IRQ_LINE, CLEAR_LINE); } static WRITE8_HANDLER( cntsteer_sound_w ) @@ -399,23 +399,23 @@ static WRITE8_HANDLER( zerotrgt_ctrl_w ) { /*TODO: check this.*/ logerror("CTRL: %04x: %04x: %04x\n",cpu_get_pc(space->cpu),offset,data); -// if (offset==0) cputag_set_input_line(space->machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE); +// if (offset==0) cputag_set_input_line(space->machine, "subcpu", INPUT_LINE_RESET, ASSERT_LINE); // Wrong - bits 0 & 1 used on this - if (offset==1) cputag_set_input_line(space->machine, "audiocpu", M6809_IRQ_LINE, ASSERT_LINE); -// if (offset==2) cputag_set_input_line(space->machine, "audiocpu", INPUT_LINE_RESET, CLEAR_LINE); + if (offset==1) cputag_set_input_line(space->machine, "subcpu", M6809_IRQ_LINE, ASSERT_LINE); +// if (offset==2) cputag_set_input_line(space->machine, "subcpu", INPUT_LINE_RESET, CLEAR_LINE); } static WRITE8_HANDLER( cntsteer_sub_irq_w ) { - cputag_set_input_line(space->machine, "audiocpu", M6809_IRQ_LINE, ASSERT_LINE); + cputag_set_input_line(space->machine, "subcpu", M6809_IRQ_LINE, ASSERT_LINE); // printf("%02x IRQ\n",data); } static WRITE8_HANDLER( cntsteer_sub_nmi_w ) { // if(data) -// cputag_set_input_line(space->machine, "audiocpu", INPUT_LINE_NMI, PULSE_LINE); +// cputag_set_input_line(space->machine, "subcpu", INPUT_LINE_NMI, PULSE_LINE); // popmessage("%02x",data); } @@ -588,7 +588,7 @@ INPUT_PORTS_END static INPUT_CHANGED( coin_inserted ) { - cputag_set_input_line(field->port->machine, "audiocpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : PULSE_LINE); + cputag_set_input_line(field->port->machine, "subcpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : PULSE_LINE); } static INPUT_PORTS_START( cntsteer ) @@ -738,7 +738,7 @@ static MACHINE_DRIVER_START( cntsteer ) MDRV_CPU_PROGRAM_MAP(cntsteer_cpu1_map,0) MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ - MDRV_CPU_ADD("sub", M6809, 2000000) /* ? */ + MDRV_CPU_ADD("subcpu", M6809, 2000000) /* ? */ MDRV_CPU_PROGRAM_MAP(cntsteer_cpu2_map,0) // MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ @@ -781,7 +781,7 @@ static MACHINE_DRIVER_START( zerotrgt ) MDRV_CPU_PROGRAM_MAP(gekitsui_cpu1_map,0) MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ - MDRV_CPU_ADD("sub", M6809, 2000000) /* ? */ + MDRV_CPU_ADD("subcpu", M6809, 2000000) /* ? */ MDRV_CPU_PROGRAM_MAP(gekitsui_cpu2_map,0) // MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ @@ -825,7 +825,7 @@ ROM_START( cntsteer ) ROM_LOAD( "by02", 0x8000, 0x4000, CRC(b6fdd7fd) SHA1(e54cc31628966f747f9ccbf9db1017ed1eee0d5d) ) ROM_LOAD( "by01", 0xc000, 0x4000, CRC(932423a5) SHA1(0d8164359a79ae554328dfb4d729a8d07de7ee75) ) - ROM_REGION( 0x10000, "sub", 0 ) + ROM_REGION( 0x10000, "subcpu", 0 ) ROM_LOAD( "by12", 0x4000, 0x4000, CRC(278e7fed) SHA1(5def4c8919a507c64045c57de2da65e1d39e1185) ) ROM_LOAD( "by11", 0x8000, 0x4000, CRC(00624e34) SHA1(27bd472e9f2feef4a2c4753d8b0da26ff30d930d) ) ROM_LOAD( "by10", 0xc000, 0x4000, CRC(9227a9ce) SHA1(8c86f22f90a3a8853562469037ffa06693045f4c) ) @@ -867,7 +867,7 @@ ROM_START( zerotrgt ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ct01-s.4c", 0x8000, 0x8000, CRC(b35a16cb) SHA1(49581324c3e3d5219f0512d08a40161185368b10) ) - ROM_REGION( 0x10000, "sub", 0 ) + ROM_REGION( 0x10000, "subcpu", 0 ) ROM_LOAD( "ct08.16a", 0x4000, 0x4000, CRC(7e8db408) SHA1(2ae407d15645753a2a0d691c9f1cf1eb383d3e8a) ) ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) ) ROM_LOAD( "ct06.13a", 0xc000, 0x4000, CRC(bce5adad) SHA1(86c4eef0d68679a24bab6460b49640a498f32ecd) ) @@ -910,7 +910,7 @@ ROM_START( gekitsui ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ct01", 0x8000, 0x8000, CRC(d3d82d8d) SHA1(c175c626d4cb89a2d82740c04892092db6faf616) ) - ROM_REGION( 0x10000, "sub", 0 ) + ROM_REGION( 0x10000, "subcpu", 0 ) ROM_LOAD( "ct08.16a", 0x4000, 0x4000, CRC(7e8db408) SHA1(2ae407d15645753a2a0d691c9f1cf1eb383d3e8a) ) ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) ) ROM_LOAD( "ct06.13a", 0xc000, 0x4000, CRC(bce5adad) SHA1(86c4eef0d68679a24bab6460b49640a498f32ecd) ) @@ -974,7 +974,7 @@ static void zerotrgt_rearrange_gfx(running_machine *machine, int romsize, int ro #if 0 static void init_cntsteer(void) { - UINT8 *RAM = memory_region(machine, "sub"); + UINT8 *RAM = memory_region(machine, "subcpu"); RAM[0xc2cf]=0x43; /* Patch out Cpu 1 ram test - it never ends..?! */ RAM[0xc2d0]=0x43; diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c index 47ac6210e82..235d0678dc1 100644 --- a/src/mame/drivers/splash.c +++ b/src/mame/drivers/splash.c @@ -42,7 +42,6 @@ TS 2006.12.22: ***************************************************************************/ #include "driver.h" -#include "deprecat.h" #include "cpu/z80/z80.h" #include "cpu/m68000/m68000.h" #include "sound/2203intf.h" @@ -62,7 +61,6 @@ static int ret; extern int splash_bitmap_type; extern int splash_sprite_attr2_shift; -READ16_HANDLER( splash_vram_r ); WRITE16_HANDLER( splash_vram_w ); VIDEO_START( splash ); VIDEO_UPDATE( splash ); @@ -87,21 +85,6 @@ static WRITE16_HANDLER( roldf_sh_irqtrigger_w ) cpu_spinuntil_time(space->cpu, ATTOTIME_IN_USEC(40)); } -static ADDRESS_MAP_START( splash_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x3fffff) AM_READ(SMH_ROM) /* ROM */ - AM_RANGE(0x800000, 0x83ffff) AM_READ(SMH_RAM) /* Pixel Layer */ - AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1") - AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") - AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") - AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") - AM_RANGE(0x880000, 0x8817ff) AM_READ(splash_vram_r) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_READ(SMH_RAM) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_READ(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_READ(SMH_RAM) /* Palette */ - AM_RANGE(0x900000, 0x900fff) AM_READ(SMH_RAM) /* Sprite RAM */ - AM_RANGE(0xffc000, 0xffffff) AM_READ(SMH_RAM) /* Work RAM */ -ADDRESS_MAP_END - static WRITE16_HANDLER( splash_coin_w ) { if (ACCESSING_BITS_8_15){ @@ -118,25 +101,21 @@ static WRITE16_HANDLER( splash_coin_w ) } } -static ADDRESS_MAP_START( splash_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x3fffff) AM_WRITE(SMH_ROM) /* ROM */ - AM_RANGE(0x800000, 0x83ffff) AM_WRITE(SMH_RAM) AM_BASE(&splash_pixelram) /* Pixel Layer */ - AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w) /* Sound command */ - AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ - AM_RANGE(0x880000, 0x8817ff) AM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_WRITE(SMH_RAM) AM_BASE(&splash_vregs) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_WRITE(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ - AM_RANGE(0x900000, 0x900fff) AM_WRITE(SMH_RAM) AM_BASE(&splash_spriteram) /* Sprite RAM */ - AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SMH_RAM) /* Work RAM */ -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( splash_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xd7ff) AM_READ(SMH_ROM) /* ROM */ - AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r) /* Sound latch */ - AM_RANGE(0xf000, 0xf001) AM_DEVREAD("ym", ym3812_r) /* YM3812 */ - AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM) /* RAM */ +static ADDRESS_MAP_START( splash_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */ + AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram) /* Pixel Layer */ + AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1") + AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") + AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") + AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") + AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w) /* Sound command */ + AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ + AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ + AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */ + AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */ + AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ + AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */ + AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */ ADDRESS_MAP_END static WRITE8_HANDLER( splash_adpcm_data_w ){ @@ -149,13 +128,13 @@ static void splash_msm5205_int(const device_config *device) adpcm_data = (adpcm_data << 4) & 0xf0; } - -static ADDRESS_MAP_START( splash_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xd7ff) AM_WRITE(SMH_ROM) /* ROM */ - AM_RANGE(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w) /* ADPCM data for the MSM5205 chip */ -// AM_RANGE(0xe000, 0xe000) AM_WRITENOP /* ??? */ - AM_RANGE(0xf000, 0xf001) AM_DEVWRITE("ym", ym3812_w) /* YM3812 */ - AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM) /* RAM */ +static ADDRESS_MAP_START( splash_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xd7ff) AM_ROM /* ROM */ + AM_RANGE(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w) /* ADPCM data for the MSM5205 chip */ +// AM_RANGE(0xe000, 0xe000) AM_WRITENOP /* ??? */ + AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r) /* Sound latch */ + AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ym", ym3812_r,ym3812_w) /* YM3812 */ + AM_RANGE(0xf800, 0xffff) AM_RAM /* RAM */ ADDRESS_MAP_END /* Return of Lady Frog Maps */ @@ -168,84 +147,59 @@ static READ16_HANDLER( roldfrog_bombs_r ) return ret; } -static ADDRESS_MAP_START( roldfrog_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x3fffff) AM_READ(SMH_ROM) /* ROM */ - AM_RANGE(0x400000, 0x407fff) AM_ROM AM_BASE(&roldfrog_protdata) /* Protection Data */ - AM_RANGE(0x408000, 0x4087ff) AM_READ(SMH_RAM) /* Extra Ram */ - AM_RANGE(0x800000, 0x83ffff) AM_READ(SMH_RAM) /* Pixel Layer */ +static ADDRESS_MAP_START( roldfrog_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */ + AM_RANGE(0x400000, 0x407fff) AM_ROM AM_BASE(&roldfrog_protdata) /* Protection Data */ + AM_RANGE(0x408000, 0x4087ff) AM_RAM /* Extra Ram */ + AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram) /* Pixel Layer */ AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1") AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") - AM_RANGE(0x880000, 0x8817ff) AM_READ(splash_vram_r) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_READ(SMH_RAM) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_READ(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_READ(SMH_RAM) /* Palette */ + AM_RANGE(0x84000e, 0x84000f) AM_WRITE(roldf_sh_irqtrigger_w) /* Sound command */ + AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ + AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ + AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */ + AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */ + AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ AM_RANGE(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r) - AM_RANGE(0xd00000, 0xd00fff) AM_READ(SMH_RAM) /* Sprite RAM */ - AM_RANGE(0xffc000, 0xffffff) AM_READ(SMH_RAM) /* Work RAM */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( roldfrog_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x3fffff) AM_WRITE(SMH_ROM) /* ROM */ - AM_RANGE(0x408000, 0x4087ff) AM_WRITE(SMH_RAM) /* Extra Ram */ - AM_RANGE(0x800000, 0x83ffff) AM_WRITE(SMH_RAM) AM_BASE(&splash_pixelram) /* Pixel Layer */ - AM_RANGE(0x84000e, 0x84000f) AM_WRITE(roldf_sh_irqtrigger_w) /* Sound command */ - AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ - AM_RANGE(0x880000, 0x8817ff) AM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_WRITE(SMH_RAM) AM_BASE(&splash_vregs) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_WRITE(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ - AM_RANGE(0xd00000, 0xd00fff) AM_WRITE(SMH_RAM) AM_BASE(&splash_spriteram) /* Sprite RAM */ - AM_RANGE(0xe00000, 0xe00001) AM_WRITE(SMH_RAM) AM_BASE(&roldfrog_bitmap_mode) /* Bitmap Mode? */ - AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SMH_RAM) /* Work RAM */ + AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */ + AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_BASE(&roldfrog_bitmap_mode) /* Bitmap Mode? */ + AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */ ADDRESS_MAP_END - - -static ADDRESS_MAP_START( roldf_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( roldfrog_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x6fff) AM_ROM AM_RANGE(0x7000, 0x7fff) AM_RAM - AM_RANGE(0x8000, 0xffff) AM_REGION("audiocpu", 0x8000) /* wrong, probably banked somehow */ + AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x8000) /* wrong, probably banked somehow */ ADDRESS_MAP_END -static ADDRESS_MAP_START( roldf_sound_io_map, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( roldfrog_sound_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x12, 0x13) AM_DEVWRITE("ym", ym2203_w) AM_RANGE(0x40, 0x40) AM_NOP /* NMI ack */ AM_RANGE(0x70, 0x70) AM_READ(soundlatch_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( funystrp_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM) /* ROM */ - AM_RANGE(0x100000, 0x100fff) AM_READ(SMH_ROM) /* protection? RAM */ - AM_RANGE(0x800000, 0x83ffff) AM_READ(SMH_RAM) /* Pixel Layer */ +static ADDRESS_MAP_START( funystrp_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM */ + AM_RANGE(0x100000, 0x100fff) AM_RAM /* protection? RAM */ + AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram) /* Pixel Layer */ +// AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w) /* Sound command */ + AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1") AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") - AM_RANGE(0x880000, 0x8817ff) AM_READ(splash_vram_r) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_READ(SMH_RAM) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_READ(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_READ(SMH_RAM) /* Palette */ - AM_RANGE(0xD00000, 0xD01fff) AM_READ(SMH_RAM) /* Sprite RAM */ - AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* Work RAM */ + AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ + AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */ + AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */ + AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ + AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */ + AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */ ADDRESS_MAP_END -static ADDRESS_MAP_START( funystrp_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM) /* ROM */ - AM_RANGE(0x100000, 0x100fff) AM_WRITE(SMH_RAM) /* protection? RAM */ - AM_RANGE(0x800000, 0x83ffff) AM_WRITE(SMH_RAM) AM_BASE(&splash_pixelram) /* Pixel Layer */ -// AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w) /* Sound command */ - AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w) /* Coin Counters + Coin Lockout */ - AM_RANGE(0x880000, 0x8817ff) AM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */ - AM_RANGE(0x881800, 0x881803) AM_WRITE(SMH_RAM) AM_BASE(&splash_vregs) /* Scroll registers */ - AM_RANGE(0x881804, 0x881fff) AM_WRITE(SMH_RAM) /* Work RAM */ - AM_RANGE(0x8c0000, 0x8c0fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ - AM_RANGE(0xd00000, 0xd01fff) AM_WRITE(SMH_RAM) AM_BASE(&splash_spriteram) /* Sprite RAM */ - AM_RANGE(0xff0000, 0xffffff) AM_WRITE(SMH_RAM) /* Work RAM */ -ADDRESS_MAP_END static INPUT_PORTS_START( splash ) PORT_START("DSW1") @@ -436,12 +390,12 @@ static MACHINE_DRIVER_START( splash ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */ - MDRV_CPU_PROGRAM_MAP(splash_readmem,splash_writemem) + MDRV_CPU_PROGRAM_MAP(splash_map,0) MDRV_CPU_VBLANK_INT("screen", irq6_line_hold) MDRV_CPU_ADD("audiocpu", Z80,30000000/8) - MDRV_CPU_PROGRAM_MAP(splash_readmem_sound,splash_writemem_sound) - MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,64) /* needed for the msm5205 to play the samples */ + MDRV_CPU_PROGRAM_MAP(splash_sound_map,0) + MDRV_CPU_PERIODIC_INT(nmi_line_pulse,60*64) /* needed for the msm5205 to play the samples */ /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -449,7 +403,7 @@ static MACHINE_DRIVER_START( splash ) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(64*8, 64*8) - MDRV_SCREEN_VISIBLE_AREA(2*8, 49*8-1, 2*8, 32*8-1) + MDRV_SCREEN_VISIBLE_AREA(2*8, 48*8-1, 2*8, 32*8-1) MDRV_GFXDECODE(splash) MDRV_PALETTE_LENGTH(2048) @@ -489,13 +443,13 @@ static MACHINE_DRIVER_START( roldfrog ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz - verified */ - MDRV_CPU_PROGRAM_MAP(roldfrog_readmem,roldfrog_writemem) + MDRV_CPU_PROGRAM_MAP(roldfrog_map,0) MDRV_CPU_VBLANK_INT("screen", irq6_line_hold) MDRV_CPU_ADD("audiocpu", Z80,3000000) /* 3 MHz - verified */ - MDRV_CPU_PROGRAM_MAP(roldf_sound_map,0) - MDRV_CPU_IO_MAP(roldf_sound_io_map,0) -// MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,64) /* needed for the msm5205 to play the samples */ + MDRV_CPU_PROGRAM_MAP(roldfrog_sound_map,0) + MDRV_CPU_IO_MAP(roldfrog_sound_io_map,0) +// MDRV_CPU_PERIODIC_INT(nmi_line_pulse,60*64) /* needed for the msm5205 to play the samples */ /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -503,7 +457,7 @@ static MACHINE_DRIVER_START( roldfrog ) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(64*8, 64*8) - MDRV_SCREEN_VISIBLE_AREA(2*8, 49*8-1, 2*8, 32*8-1) + MDRV_SCREEN_VISIBLE_AREA(2*8, 48*8-1, 2*8, 32*8-1) // MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 64*8-1) MDRV_GFXDECODE(splash) @@ -529,12 +483,12 @@ static MACHINE_DRIVER_START( funystrp ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */ - MDRV_CPU_PROGRAM_MAP(funystrp_readmem,funystrp_writemem) + MDRV_CPU_PROGRAM_MAP(funystrp_map,0) MDRV_CPU_VBLANK_INT("screen", irq6_line_hold) // MDRV_CPU_ADD("audiocpu", Z80,30000000/8) // MDRV_CPU_PROGRAM_MAP(splash_readmem_sound,splash_writemem_sound) -// MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,64) /* needed for the msm5205 to play the samples */ +// MDRV_CPU_PERIODIC_INT(nmi_line_pulse,60*64) /* needed for the msm5205 to play the samples */ /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -542,7 +496,7 @@ static MACHINE_DRIVER_START( funystrp ) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(64*8, 64*8) - MDRV_SCREEN_VISIBLE_AREA(0*8, 47*8-1, 2*8, 32*8-1) + MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 32*8-1) MDRV_GFXDECODE(splash) MDRV_PALETTE_LENGTH(2048) diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c index 540983c2eac..7c4f2e253bd 100644 --- a/src/mame/drivers/sprcros2.c +++ b/src/mame/drivers/sprcros2.c @@ -70,23 +70,14 @@ WRITE8_HANDLER( sprcros2_bgscrolly_w ); PALETTE_INIT( sprcros2 ); VIDEO_START( sprcros2 ); VIDEO_UPDATE( sprcros2 ); -static UINT8 *sprcros2_sharedram; UINT8 sprcros2_m_port7 = 0; static UINT8 sprcros2_s_port3 = 0; -static READ8_HANDLER( sprcros2_sharedram_r ) -{ - return sprcros2_sharedram[offset]; -} -static WRITE8_HANDLER( sprcros2_sharedram_w ) -{ - sprcros2_sharedram[offset]=data; -} static WRITE8_HANDLER( sprcros2_m_port7_w ) { - UINT8 *RAM = memory_region(space->machine, "maincpu"); + UINT8 *RAM = memory_region(space->machine, "master"); //76543210 //x------- unused @@ -107,7 +98,7 @@ static WRITE8_HANDLER( sprcros2_m_port7_w ) static WRITE8_HANDLER( sprcros2_s_port3_w ) { - UINT8 *RAM = memory_region(space->machine, "audiocpu"); + UINT8 *RAM = memory_region(space->machine, "slave"); //76543210 //xxxx---- unused @@ -121,25 +112,18 @@ static WRITE8_HANDLER( sprcros2_s_port3_w ) sprcros2_s_port3 = data; } -static ADDRESS_MAP_START( sprcros2_m_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xe000, 0xf7ff) AM_READ(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM) //shared with slave cpu +static ADDRESS_MAP_START( sprcros2_master_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(1) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_fgvideoram_w) AM_BASE(&sprcros2_fgvideoram) + AM_RANGE(0xe800, 0xe817) AM_RAM //always zero + AM_RANGE(0xe818, 0xe83f) AM_RAM AM_BASE(&sprcros2_spriteram) AM_SIZE(&sprcros2_spriteram_size) + AM_RANGE(0xe840, 0xefff) AM_RAM //always zero + AM_RANGE(0xf000, 0xf7ff) AM_RAM + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE(1) //shared with slave cpu ADDRESS_MAP_END -static ADDRESS_MAP_START( sprcros2_m_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_BANK(1)) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(sprcros2_fgvideoram_w) AM_BASE(&sprcros2_fgvideoram) - AM_RANGE(0xe800, 0xe817) AM_WRITE(SMH_RAM) //always zero - AM_RANGE(0xe818, 0xe83f) AM_WRITE(SMH_RAM) AM_BASE(&sprcros2_spriteram) AM_SIZE(&sprcros2_spriteram_size) - AM_RANGE(0xe840, 0xefff) AM_WRITE(SMH_RAM) //always zero - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM) AM_BASE(&sprcros2_sharedram) //shared with slave cpu -ADDRESS_MAP_END - -static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( sprcros2_master_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76496_w) AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_DEVWRITE("sn2", sn76496_w) @@ -149,25 +133,16 @@ static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x07, 0x07) AM_WRITE(sprcros2_m_port7_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sprcros2_s_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(2)) - AM_RANGE(0xe000, 0xf7ff) AM_READ(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_READ(sprcros2_sharedram_r) +static ADDRESS_MAP_START( sprcros2_slave_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(2) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_bgvideoram_w) AM_BASE(&sprcros2_bgvideoram) + AM_RANGE(0xe800, 0xefff) AM_RAM //always zero + AM_RANGE(0xf000, 0xf7ff) AM_RAM + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE(1) ADDRESS_MAP_END -static ADDRESS_MAP_START( sprcros2_s_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_BANK(2)) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(sprcros2_bgvideoram_w) AM_BASE(&sprcros2_bgvideoram) - AM_RANGE(0xe800, 0xefff) AM_WRITE(SMH_RAM) //always zero - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_WRITE(sprcros2_sharedram_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( audio_io_map, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( sprcros2_slave_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_WRITE(sprcros2_bgscrollx_w) AM_RANGE(0x01, 0x01) AM_WRITE(sprcros2_bgscrolly_w) @@ -295,14 +270,14 @@ static MACHINE_START( sprcros2 ) static MACHINE_DRIVER_START( sprcros2 ) /* basic machine hardware */ - MDRV_CPU_ADD("maincpu", Z80,10000000/2) - MDRV_CPU_PROGRAM_MAP(sprcros2_m_readmem,sprcros2_m_writemem) - MDRV_CPU_IO_MAP(io_map,0) + MDRV_CPU_ADD("master", Z80,10000000/2) + MDRV_CPU_PROGRAM_MAP(sprcros2_master_map,0) + MDRV_CPU_IO_MAP(sprcros2_master_io_map,0) MDRV_CPU_VBLANK_INT_HACK(sprcros2_m_interrupt,2) //1 nmi + 1 irq - MDRV_CPU_ADD("audiocpu", Z80,10000000/2) - MDRV_CPU_PROGRAM_MAP(sprcros2_s_readmem,sprcros2_s_writemem) - MDRV_CPU_IO_MAP(audio_io_map,0) + MDRV_CPU_ADD("slave", Z80,10000000/2) + MDRV_CPU_PROGRAM_MAP(sprcros2_slave_map,0) + MDRV_CPU_IO_MAP(sprcros2_slave_io_map,0) MDRV_CPU_VBLANK_INT_HACK(sprcros2_s_interrupt,2) //2 nmis MDRV_MACHINE_START(sprcros2) @@ -336,14 +311,14 @@ static MACHINE_DRIVER_START( sprcros2 ) MACHINE_DRIVER_END ROM_START( sprcros2 ) - ROM_REGION( 0x14000, "maincpu", 0 ) + ROM_REGION( 0x14000, "master", 0 ) ROM_LOAD( "scm-03.10g", 0x00000, 0x4000, CRC(b9757908) SHA1(d59cb2aac1b6268fc766306850f5711d4a12d897) ) ROM_LOAD( "scm-02.10j", 0x04000, 0x4000, CRC(849c5c87) SHA1(0e02c4990e371d6a290efa53301818e769648945) ) ROM_LOAD( "scm-01.10k", 0x08000, 0x4000, CRC(385a62de) SHA1(847bf9d97ab3fa8949d9198e4e509948a940d6aa) ) ROM_LOAD( "scm-00.10l", 0x10000, 0x4000, CRC(13fa3684) SHA1(611b7a237e394f285dcc5beb027dacdbdd58a7a0) ) //banked into c000-dfff - ROM_REGION( 0x14000, "audiocpu", 0 ) + ROM_REGION( 0x14000, "slave", 0 ) ROM_LOAD( "scs-30.5f", 0x00000, 0x4000, CRC(c0a40e41) SHA1(e74131b353855749258dffa45091c825ccdbf05a) ) ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) ) ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) ) @@ -373,14 +348,14 @@ ROM_END /* this is probably an old revision */ ROM_START( sprcrs2a ) - ROM_REGION( 0x14000, "maincpu", 0 ) + ROM_REGION( 0x14000, "master", 0 ) ROM_LOAD( "15.bin", 0x00000, 0x4000, CRC(b9d02558) SHA1(775404c6c7648d9dab02b496541739ea700cd481) ) ROM_LOAD( "scm-02.10j", 0x04000, 0x4000, CRC(849c5c87) SHA1(0e02c4990e371d6a290efa53301818e769648945) ) ROM_LOAD( "scm-01.10k", 0x08000, 0x4000, CRC(385a62de) SHA1(847bf9d97ab3fa8949d9198e4e509948a940d6aa) ) ROM_LOAD( "scm-00.10l", 0x10000, 0x4000, CRC(13fa3684) SHA1(611b7a237e394f285dcc5beb027dacdbdd58a7a0) ) //banked into c000-dfff - ROM_REGION( 0x14000, "audiocpu", 0 ) + ROM_REGION( 0x14000, "slave", 0 ) ROM_LOAD( "scs-30.5f", 0x00000, 0x4000, CRC(c0a40e41) SHA1(e74131b353855749258dffa45091c825ccdbf05a) ) ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) ) ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) ) diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c index a5724985945..19dcd5ec311 100644 --- a/src/mame/drivers/sprint2.c +++ b/src/mame/drivers/sprint2.c @@ -246,9 +246,9 @@ static WRITE8_HANDLER( sprint2_lamp2_w ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(sprint2_wram_r) - AM_RANGE(0x0400, 0x07ff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( sprint2_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x03ff) AM_READWRITE(sprint2_wram_r,sprint2_wram_w) + AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sprint2_video_ram_w) AM_BASE(&sprint2_video_ram) AM_RANGE(0x0818, 0x081f) AM_READ(sprint2_input_A_r) AM_RANGE(0x0828, 0x082f) AM_READ(sprint2_input_B_r) AM_RANGE(0x0830, 0x0837) AM_READ(sprint2_dip_r) @@ -256,17 +256,6 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0880, 0x08bf) AM_READ(sprint2_steering1_r) AM_RANGE(0x08c0, 0x08ff) AM_READ(sprint2_steering2_r) AM_RANGE(0x0c00, 0x0fff) AM_READ(sprint2_sync_r) - AM_RANGE(0x1000, 0x13ff) AM_READ(sprint2_collision1_r) - AM_RANGE(0x1400, 0x17ff) AM_READ(sprint2_collision2_r) - AM_RANGE(0x1800, 0x1800) AM_READNOP /* debugger ROM location? */ - AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_WRITE(sprint2_wram_w) - AM_RANGE(0x0400, 0x07ff) AM_WRITE(sprint2_video_ram_w) AM_BASE(&sprint2_video_ram) AM_RANGE(0x0c00, 0x0c0f) AM_DEVWRITE("discrete", sprint2_attract_w) AM_RANGE(0x0c10, 0x0c1f) AM_DEVWRITE("discrete", sprint2_skid1_w) AM_RANGE(0x0c20, 0x0c2f) AM_DEVWRITE("discrete", sprint2_skid2_w) @@ -279,8 +268,11 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0e00, 0x0e7f) AM_WRITE(sprint2_steering_reset1_w) AM_RANGE(0x0e80, 0x0eff) AM_WRITE(sprint2_steering_reset2_w) AM_RANGE(0x0f00, 0x0f7f) AM_DEVWRITE("discrete", sprint2_noise_reset_w) - AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x1000, 0x13ff) AM_READ(sprint2_collision1_r) + AM_RANGE(0x1400, 0x17ff) AM_READ(sprint2_collision2_r) + AM_RANGE(0x1800, 0x1800) AM_READNOP /* debugger ROM location? */ + AM_RANGE(0x2000, 0x3fff) AM_ROM + AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -504,7 +496,7 @@ static MACHINE_DRIVER_START( sprint2 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16) - MDRV_CPU_PROGRAM_MAP(readmem, writemem) + MDRV_CPU_PROGRAM_MAP(sprint2_map, 0) MDRV_CPU_VBLANK_INT("screen", sprint2) MDRV_WATCHDOG_VBLANK_INIT(8) diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c index 6e4756eb51c..4c160d5caf0 100644 --- a/src/mame/drivers/sprint8.c +++ b/src/mame/drivers/sprint8.c @@ -113,36 +113,29 @@ static WRITE8_HANDLER( sprint8_attract_w ) {} static WRITE8_HANDLER( sprint8_motor_w ) {} -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x00ff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( sprint8_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x00ff) AM_RAM + AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(sprint8_video_ram_w) AM_BASE(&sprint8_video_ram) AM_RANGE(0x1c00, 0x1c00) AM_READ(sprint8_collision_r) AM_RANGE(0x1c01, 0x1c08) AM_READ(sprint8_input_r) AM_RANGE(0x1c09, 0x1c09) AM_READ_PORT("IN0") AM_RANGE(0x1c0a, 0x1c0a) AM_READ_PORT("IN1") AM_RANGE(0x1c0f, 0x1c0f) AM_READ_PORT("VBLANK") - AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0xf800, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x00ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1800, 0x1bff) AM_WRITE(sprint8_video_ram_w) AM_BASE(&sprint8_video_ram) - AM_RANGE(0x1c00, 0x1c0f) AM_WRITE(SMH_RAM) AM_BASE(&sprint8_pos_h_ram) - AM_RANGE(0x1c10, 0x1c1f) AM_WRITE(SMH_RAM) AM_BASE(&sprint8_pos_v_ram) - AM_RANGE(0x1c20, 0x1c2f) AM_WRITE(SMH_RAM) AM_BASE(&sprint8_pos_d_ram) + AM_RANGE(0x1c00, 0x1c0f) AM_WRITEONLY AM_BASE(&sprint8_pos_h_ram) + AM_RANGE(0x1c10, 0x1c1f) AM_WRITEONLY AM_BASE(&sprint8_pos_v_ram) + AM_RANGE(0x1c20, 0x1c2f) AM_WRITEONLY AM_BASE(&sprint8_pos_d_ram) AM_RANGE(0x1c30, 0x1c37) AM_WRITE(sprint8_lockout_w) AM_RANGE(0x1d00, 0x1d00) AM_WRITE(sprint8_int_reset_w) AM_RANGE(0x1d01, 0x1d01) AM_WRITE(sprint8_crash_w) AM_RANGE(0x1d02, 0x1d02) AM_WRITE(sprint8_explosion_w) AM_RANGE(0x1d03, 0x1d03) AM_WRITE(sprint8_bugle_w) AM_RANGE(0x1d04, 0x1d04) AM_WRITE(sprint8_bug_w) - AM_RANGE(0x1d05, 0x1d05) AM_WRITE(SMH_RAM) AM_BASE(&sprint8_team) + AM_RANGE(0x1d05, 0x1d05) AM_WRITEONLY AM_BASE(&sprint8_team) AM_RANGE(0x1d06, 0x1d06) AM_WRITE(sprint8_attract_w) AM_RANGE(0x1e00, 0x1e07) AM_WRITE(sprint8_motor_w) AM_RANGE(0x1f00, 0x1f00) AM_WRITENOP /* probably a watchdog, disabled in service mode */ - AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x2000, 0x3fff) AM_ROM + AM_RANGE(0xf800, 0xffff) AM_ROM ADDRESS_MAP_END @@ -467,7 +460,7 @@ static MACHINE_DRIVER_START( sprint8 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */ - MDRV_CPU_PROGRAM_MAP(readmem, writemem) + MDRV_CPU_PROGRAM_MAP(sprint8_map, 0) MDRV_MACHINE_RESET(sprint8) diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c index 790f19d2fee..5401af44cb9 100644 --- a/src/mame/drivers/srumbler.c +++ b/src/mame/drivers/srumbler.c @@ -66,28 +66,6 @@ static INTERRUPT_GEN( srumbler_interrupt ) cpu_set_input_line(device,M6809_FIRQ_LINE,HOLD_LINE); } - - -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_RAM) /* RAM (of 1 sort or another) */ - AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") - AM_RANGE(0x4009, 0x4009) AM_READ_PORT("P1") - AM_RANGE(0x400a, 0x400a) AM_READ_PORT("P2") - AM_RANGE(0x400b, 0x400b) AM_READ_PORT("DSW1") - AM_RANGE(0x400c, 0x400c) AM_READ_PORT("DSW2") - AM_RANGE(0x5000, 0x5fff) AM_READ(SMH_BANK(6)) /* Banked ROM */ - AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_BANK(7)) /* Banked ROM */ - AM_RANGE(0x7000, 0x7fff) AM_READ(SMH_BANK(8)) /* Banked ROM */ - AM_RANGE(0x8000, 0x8fff) AM_READ(SMH_BANK(9)) /* Banked ROM */ - AM_RANGE(0x9000, 0x9fff) AM_READ(SMH_BANK(10)) /* Banked ROM */ - AM_RANGE(0xa000, 0xafff) AM_READ(SMH_BANK(11)) /* Banked ROM */ - AM_RANGE(0xb000, 0xbfff) AM_READ(SMH_BANK(12)) /* Banked ROM */ - AM_RANGE(0xc000, 0xcfff) AM_READ(SMH_BANK(13)) /* Banked ROM */ - AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_BANK(14)) /* Banked ROM */ - AM_RANGE(0xe000, 0xefff) AM_READ(SMH_BANK(15)) /* Banked ROM */ - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_BANK(16)) /* Banked ROM */ -ADDRESS_MAP_END - /* The "scroll test" routine on the test screen appears to overflow and write over the control registers (0x4000-0x4080) when it clears the screen. @@ -98,31 +76,38 @@ to the page register. Ignore the warnings about writing to unmapped memory. */ -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1dff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1e00, 0x1fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0x2000, 0x3fff) AM_WRITE(srumbler_background_w) AM_BASE(&srumbler_backgroundram) - AM_RANGE(0x4008, 0x4008) AM_WRITE(srumbler_bankswitch_w) - AM_RANGE(0x4009, 0x4009) AM_WRITE(srumbler_4009_w) +static ADDRESS_MAP_START( srumbler_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */ + AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(srumbler_background_w) AM_BASE(&srumbler_backgroundram) + AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") AM_WRITE(srumbler_bankswitch_w) + AM_RANGE(0x4009, 0x4009) AM_READ_PORT("P1") AM_WRITE(srumbler_4009_w) + AM_RANGE(0x400a, 0x400a) AM_READ_PORT("P2") + AM_RANGE(0x400b, 0x400b) AM_READ_PORT("DSW1") + AM_RANGE(0x400c, 0x400c) AM_READ_PORT("DSW2") AM_RANGE(0x400a, 0x400d) AM_WRITE(srumbler_scroll_w) AM_RANGE(0x400e, 0x400e) AM_WRITE(soundlatch_w) - AM_RANGE(0x5000, 0x5fff) AM_WRITE(srumbler_foreground_w) AM_BASE(&srumbler_foregroundram) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM) /* Video RAM 2 ??? (not used) */ + AM_RANGE(0x5000, 0x5fff) AM_ROMBANK(6) AM_WRITE(srumbler_foreground_w) AM_BASE(&srumbler_foregroundram) /* Banked ROM */ + AM_RANGE(0x6000, 0x6fff) AM_ROMBANK(7) /* Banked ROM */ + AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* Video RAM 2 ??? (not used) */ + AM_RANGE(0x7000, 0x7fff) AM_ROMBANK(8) /* Banked ROM */ AM_RANGE(0x7000, 0x73ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram) - AM_RANGE(0x7400, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x8000, 0x8fff) AM_ROMBANK(9) /* Banked ROM */ + AM_RANGE(0x9000, 0x9fff) AM_ROMBANK(10) /* Banked ROM */ + AM_RANGE(0xa000, 0xafff) AM_ROMBANK(11) /* Banked ROM */ + AM_RANGE(0xb000, 0xbfff) AM_ROMBANK(12) /* Banked ROM */ + AM_RANGE(0xc000, 0xcfff) AM_ROMBANK(13) /* Banked ROM */ + AM_RANGE(0xd000, 0xdfff) AM_ROMBANK(14) /* Banked ROM */ + AM_RANGE(0xe000, 0xefff) AM_ROMBANK(15) /* Banked ROM */ + AM_RANGE(0xf000, 0xffff) AM_ROMBANK(16) /* Banked ROM */ ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) - AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( srumbler_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ym1", ym2203_w) AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym2", ym2203_w) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) + AM_RANGE(0xc000, 0xc7ff) AM_RAM + AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) ADDRESS_MAP_END @@ -257,11 +242,11 @@ static MACHINE_DRIVER_START( srumbler ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz (?) */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(srumbler_map,0) MDRV_CPU_VBLANK_INT_HACK(srumbler_interrupt,2) MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* 3 MHz ??? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(srumbler_sound_map,0) MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,4) MDRV_MACHINE_RESET(srumbler) diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c index 5a3314429bb..efe70d836fe 100644 --- a/src/mame/drivers/ssozumo.c +++ b/src/mame/drivers/ssozumo.c @@ -8,7 +8,6 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04 ***************************************************************************/ #include "driver.h" -#include "deprecat.h" #include "cpu/m6502/m6502.h" #include "cpu/m6809/m6809.h" #include "sound/ay8910.h" @@ -29,85 +28,45 @@ extern PALETTE_INIT( ssozumo ); extern VIDEO_START( ssozumo ); extern VIDEO_UPDATE( ssozumo ); - -static INTERRUPT_GEN( ssozumo_interrupt ) -{ - static int coin; - - if ((input_port_read(device->machine, "P1") & 0xc0) != 0xc0) - { - if (coin == 0) - { - coin = 1; - nmi_line_pulse(device); - return; - } - } - else coin = 0; - - irq0_line_hold(device); -} - - static WRITE8_HANDLER( ssozumo_sh_command_w ) { - soundlatch_w(space, offset, data); + soundlatch_w(space, 0, data); cpu_set_input_line(space->machine->cpu[1], M6502_IRQ_LINE, HOLD_LINE); } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x077f) AM_READ(SMH_RAM) - - AM_RANGE(0x2000, 0x27ff) AM_READ(SMH_RAM) - AM_RANGE(0x3000, 0x31ff) AM_READ(SMH_RAM) - - AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") - AM_RANGE(0x4010, 0x4010) AM_READ_PORT("P2") - AM_RANGE(0x4020, 0x4020) AM_READ_PORT("DSW2") +static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x077f) AM_RAM + AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2) + AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ssozumo_colorram2_w) AM_BASE(&ssozumo_colorram2) + AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&colorram) + AM_RANGE(0x3400, 0x35ff) AM_RAM + AM_RANGE(0x3600, 0x37ff) AM_RAM + AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w) + AM_RANGE(0x4010, 0x4010) AM_READ_PORT("P2") AM_WRITE(ssozumo_sh_command_w) + AM_RANGE(0x4020, 0x4020) AM_READ_PORT("DSW2") AM_WRITE(ssozumo_scroll_w) AM_RANGE(0x4030, 0x4030) AM_READ_PORT("DSW1") - - AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM) +// AM_RANGE(0x4030, 0x4030) AM_WRITEONLY + AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE(&paletteram) + AM_RANGE(0x6000, 0xffff) AM_ROM ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x077f) AM_WRITE(SMH_RAM) - - AM_RANGE(0x0780, 0x07ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0x2000, 0x23ff) AM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2) - AM_RANGE(0x2400, 0x27ff) AM_WRITE(ssozumo_colorram2_w) AM_BASE(&ssozumo_colorram2) - AM_RANGE(0x3000, 0x31ff) AM_WRITE(ssozumo_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x3200, 0x33ff) AM_WRITE(ssozumo_colorram_w) AM_BASE(&colorram) - AM_RANGE(0x3400, 0x35ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x3600, 0x37ff) AM_WRITE(SMH_RAM) - - AM_RANGE(0x4000, 0x4000) AM_WRITE(ssozumo_flipscreen_w) - AM_RANGE(0x4010, 0x4010) AM_WRITE(ssozumo_sh_command_w) - AM_RANGE(0x4020, 0x4020) AM_WRITE(ssozumo_scroll_w) -// AM_RANGE(0x4030, 0x4030) AM_WRITE(SMH_RAM) - AM_RANGE(0x4050, 0x407f) AM_WRITE(ssozumo_paletteram_w) AM_BASE(&paletteram) - - AM_RANGE(0x6000, 0xffff) AM_WRITE(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x01ff) AM_READ(SMH_RAM) - AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r) - AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x01ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( ssozumo_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_data_address_w) AM_RANGE(0x2002, 0x2003) AM_DEVWRITE("ay2", ay8910_data_address_w) AM_RANGE(0x2004, 0x2004) AM_DEVWRITE("dac", dac_signed_w) AM_RANGE(0x2005, 0x2005) AM_WRITE(interrupt_enable_w) - AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END +static INPUT_CHANGED( coin_inserted ) +{ + cputag_set_input_line(field->port->machine, "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : PULSE_LINE); +} static INPUT_PORTS_START( ssozumo ) PORT_START("P1") /* IN0 */ @@ -117,8 +76,8 @@ static INPUT_PORTS_START( ssozumo ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_CHANGED(coin_inserted, 0) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CHANGED(coin_inserted, 0) PORT_START("P2") /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) @@ -232,12 +191,12 @@ static MACHINE_DRIVER_START( ssozumo ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6502, 1200000) /* 1.2 MHz ???? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_VBLANK_INT("screen", ssozumo_interrupt) + MDRV_CPU_PROGRAM_MAP(ssozumo_map,0) + MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", M6502, 975000) /* 975 kHz ?? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) - MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,16) /* IRQs are triggered by the main CPU */ + MDRV_CPU_PROGRAM_MAP(ssozumo_sound_map,0) + MDRV_CPU_PERIODIC_INT(nmi_line_pulse,60*16) /* not accurate */ /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c index b319c1a5c21..8095ed06be2 100644 --- a/src/mame/drivers/sspeedr.c +++ b/src/mame/drivers/sspeedr.c @@ -77,20 +77,14 @@ static WRITE8_HANDLER( sspeedr_sound_w ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x21ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x2000, 0x21ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( sspeedr_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x2000, 0x21ff) AM_RAM AM_RANGE(0x7f00, 0x7f17) AM_WRITE(sspeedr_score_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( sspeedr_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") @@ -196,8 +190,8 @@ static MACHINE_DRIVER_START( sspeedr ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 19968000 / 8) - MDRV_CPU_PROGRAM_MAP(readmem, writemem) - MDRV_CPU_IO_MAP(io_map,0) + MDRV_CPU_PROGRAM_MAP(sspeedr_map, 0) + MDRV_CPU_IO_MAP(sspeedr_io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_assert) /* video hardware */ diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c index 2acc917b844..f964b9ec13d 100644 --- a/src/mame/drivers/starcrus.c +++ b/src/mame/drivers/starcrus.c @@ -34,18 +34,12 @@ extern int p2_sprite; extern int s1_sprite; extern int s2_sprite; -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) /* Program ROM */ - AM_RANGE(0x1000, 0x10ff) AM_READ(SMH_RAM) /* RAM */ +static ADDRESS_MAP_START( starcrus_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x1000, 0x10ff) AM_RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM) /* Program ROM */ - AM_RANGE(0x1000, 0x10ff) AM_WRITE(SMH_RAM) /* RAM */ -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( starcrus_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(starcrus_s1_x_w) AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_WRITE(starcrus_s1_y_w) AM_RANGE(0x02, 0x02) AM_READWRITE(starcrus_coll_det_r, starcrus_s2_x_w) @@ -164,8 +158,8 @@ static MACHINE_DRIVER_START( starcrus ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", 8080,9750000/9) /* 8224 chip is a divide by 9 */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_IO_MAP(io_map,0) + MDRV_CPU_PROGRAM_MAP(starcrus_map,0) + MDRV_CPU_IO_MAP(starcrus_io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) /* video hardware */ diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c index 0ed1c6284b9..0289d4cd8b2 100644 --- a/src/mame/drivers/starshp1.c +++ b/src/mame/drivers/starshp1.c @@ -164,31 +164,25 @@ static WRITE8_HANDLER( starshp1_misc_w ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x00ff) AM_READ(SMH_RAM) AM_MIRROR(0x100) - AM_RANGE(0x2c00, 0x3fff) AM_READ(SMH_ROM) +static ADDRESS_MAP_START( starshp1_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100) + AM_RANGE(0x2c00, 0x3fff) AM_ROM AM_RANGE(0xa000, 0xa000) AM_READ_PORT("SYSTEM") AM_RANGE(0xb000, 0xb000) AM_READ_PORT("VBLANK") - AM_RANGE(0xc400, 0xc400) AM_READ_PORT("COINAGE") - AM_RANGE(0xd800, 0xd800) AM_READ(starshp1_rng_r) - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x00ff) AM_WRITE(SMH_RAM) AM_MIRROR(0x100) - AM_RANGE(0x2c00, 0x3fff) AM_WRITE(SMH_ROM) AM_RANGE(0xc300, 0xc3ff) AM_WRITE(starshp1_sspic_w) /* spaceship picture */ + AM_RANGE(0xc400, 0xc400) AM_READ_PORT("COINAGE") AM_RANGE(0xc400, 0xc4ff) AM_WRITE(starshp1_ssadd_w) /* spaceship address */ - AM_RANGE(0xc800, 0xc9ff) AM_WRITE(starshp1_playfield_w) AM_BASE(&starshp1_playfield_ram) - AM_RANGE(0xcc00, 0xcc0f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_hpos_ram) - AM_RANGE(0xd000, 0xd00f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_vpos_ram) - AM_RANGE(0xd400, 0xd40f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_obj_ram) + AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE(starshp1_playfield_w) AM_BASE(&starshp1_playfield_ram) + AM_RANGE(0xcc00, 0xcc0f) AM_WRITEONLY AM_BASE(&starshp1_hpos_ram) + AM_RANGE(0xd000, 0xd00f) AM_WRITEONLY AM_BASE(&starshp1_vpos_ram) + AM_RANGE(0xd400, 0xd40f) AM_WRITEONLY AM_BASE(&starshp1_obj_ram) + AM_RANGE(0xd800, 0xd800) AM_READ(starshp1_rng_r) AM_RANGE(0xd800, 0xd80f) AM_WRITE(starshp1_collision_reset_w) AM_RANGE(0xdc00, 0xdc0f) AM_WRITE(starshp1_misc_w) AM_RANGE(0xdd00, 0xdd0f) AM_WRITE(starshp1_analog_in_w) AM_RANGE(0xde00, 0xde0f) AM_DEVWRITE("discrete", starshp1_audio_w) AM_RANGE(0xdf00, 0xdf0f) AM_DEVWRITE("discrete", starshp1_analog_out_w) - AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0xf000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -304,7 +298,7 @@ static MACHINE_DRIVER_START( starshp1 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6502, STARSHP1_CPU_CLOCK) - MDRV_CPU_PROGRAM_MAP(readmem, writemem) + MDRV_CPU_PROGRAM_MAP(starshp1_map, 0) MDRV_CPU_VBLANK_INT("screen", starshp1_interrupt) /* video hardware */ diff --git a/src/mame/video/splash.c b/src/mame/video/splash.c index ecbd7ae7d45..1eb0a93fba8 100644 --- a/src/mame/video/splash.c +++ b/src/mame/video/splash.c @@ -78,11 +78,6 @@ static TILE_GET_INFO( get_tile_info_splash_tilemap1 ) ***************************************************************************/ -READ16_HANDLER( splash_vram_r ) -{ - return splash_videoram[offset]; -} - WRITE16_HANDLER( splash_vram_w ) { COMBINE_DATA(&splash_videoram[offset]);