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)
This commit is contained in:
Angelo Salese 2009-04-28 15:08:42 +00:00
parent 2a0bcb26f3
commit cc551d8d90
11 changed files with 205 additions and 370 deletions

View File

@ -386,7 +386,7 @@ static WRITE8_HANDLER( cntsteer_background_w )
static WRITE8_HANDLER( gekitsui_sub_irq_ack ) 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 ) static WRITE8_HANDLER( cntsteer_sound_w )
@ -399,23 +399,23 @@ static WRITE8_HANDLER( zerotrgt_ctrl_w )
{ {
/*TODO: check this.*/ /*TODO: check this.*/
logerror("CTRL: %04x: %04x: %04x\n",cpu_get_pc(space->cpu),offset,data); 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 // Wrong - bits 0 & 1 used on this
if (offset==1) cputag_set_input_line(space->machine, "audiocpu", M6809_IRQ_LINE, ASSERT_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, "audiocpu", INPUT_LINE_RESET, CLEAR_LINE); // if (offset==2) cputag_set_input_line(space->machine, "subcpu", INPUT_LINE_RESET, CLEAR_LINE);
} }
static WRITE8_HANDLER( cntsteer_sub_irq_w ) 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); // printf("%02x IRQ\n",data);
} }
static WRITE8_HANDLER( cntsteer_sub_nmi_w ) static WRITE8_HANDLER( cntsteer_sub_nmi_w )
{ {
// if(data) // 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); // popmessage("%02x",data);
} }
@ -588,7 +588,7 @@ INPUT_PORTS_END
static INPUT_CHANGED( coin_inserted ) 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 ) static INPUT_PORTS_START( cntsteer )
@ -738,7 +738,7 @@ static MACHINE_DRIVER_START( cntsteer )
MDRV_CPU_PROGRAM_MAP(cntsteer_cpu1_map,0) MDRV_CPU_PROGRAM_MAP(cntsteer_cpu1_map,0)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ 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_PROGRAM_MAP(cntsteer_cpu2_map,0)
// MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ // 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_PROGRAM_MAP(gekitsui_cpu1_map,0)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ 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_PROGRAM_MAP(gekitsui_cpu2_map,0)
// MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ // 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( "by02", 0x8000, 0x4000, CRC(b6fdd7fd) SHA1(e54cc31628966f747f9ccbf9db1017ed1eee0d5d) )
ROM_LOAD( "by01", 0xc000, 0x4000, CRC(932423a5) SHA1(0d8164359a79ae554328dfb4d729a8d07de7ee75) ) 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( "by12", 0x4000, 0x4000, CRC(278e7fed) SHA1(5def4c8919a507c64045c57de2da65e1d39e1185) )
ROM_LOAD( "by11", 0x8000, 0x4000, CRC(00624e34) SHA1(27bd472e9f2feef4a2c4753d8b0da26ff30d930d) ) ROM_LOAD( "by11", 0x8000, 0x4000, CRC(00624e34) SHA1(27bd472e9f2feef4a2c4753d8b0da26ff30d930d) )
ROM_LOAD( "by10", 0xc000, 0x4000, CRC(9227a9ce) SHA1(8c86f22f90a3a8853562469037ffa06693045f4c) ) ROM_LOAD( "by10", 0xc000, 0x4000, CRC(9227a9ce) SHA1(8c86f22f90a3a8853562469037ffa06693045f4c) )
@ -867,7 +867,7 @@ ROM_START( zerotrgt )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "ct01-s.4c", 0x8000, 0x8000, CRC(b35a16cb) SHA1(49581324c3e3d5219f0512d08a40161185368b10) ) 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( "ct08.16a", 0x4000, 0x4000, CRC(7e8db408) SHA1(2ae407d15645753a2a0d691c9f1cf1eb383d3e8a) )
ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) ) ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) )
ROM_LOAD( "ct06.13a", 0xc000, 0x4000, CRC(bce5adad) SHA1(86c4eef0d68679a24bab6460b49640a498f32ecd) ) ROM_LOAD( "ct06.13a", 0xc000, 0x4000, CRC(bce5adad) SHA1(86c4eef0d68679a24bab6460b49640a498f32ecd) )
@ -910,7 +910,7 @@ ROM_START( gekitsui )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "ct01", 0x8000, 0x8000, CRC(d3d82d8d) SHA1(c175c626d4cb89a2d82740c04892092db6faf616) ) 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( "ct08.16a", 0x4000, 0x4000, CRC(7e8db408) SHA1(2ae407d15645753a2a0d691c9f1cf1eb383d3e8a) )
ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) ) ROM_LOAD( "cty07.14a", 0x8000, 0x4000, CRC(119b6211) SHA1(2042f06387d34fad6b63bcb8ac6f9b06377f634d) )
ROM_LOAD( "ct06.13a", 0xc000, 0x4000, CRC(bce5adad) SHA1(86c4eef0d68679a24bab6460b49640a498f32ecd) ) 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 #if 0
static void init_cntsteer(void) 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[0xc2cf]=0x43; /* Patch out Cpu 1 ram test - it never ends..?! */
RAM[0xc2d0]=0x43; RAM[0xc2d0]=0x43;

View File

@ -42,7 +42,6 @@ TS 2006.12.22:
***************************************************************************/ ***************************************************************************/
#include "driver.h" #include "driver.h"
#include "deprecat.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
@ -62,7 +61,6 @@ static int ret;
extern int splash_bitmap_type; extern int splash_bitmap_type;
extern int splash_sprite_attr2_shift; extern int splash_sprite_attr2_shift;
READ16_HANDLER( splash_vram_r );
WRITE16_HANDLER( splash_vram_w ); WRITE16_HANDLER( splash_vram_w );
VIDEO_START( splash ); VIDEO_START( splash );
VIDEO_UPDATE( splash ); VIDEO_UPDATE( splash );
@ -87,21 +85,6 @@ static WRITE16_HANDLER( roldf_sh_irqtrigger_w )
cpu_spinuntil_time(space->cpu, ATTOTIME_IN_USEC(40)); 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 ) static WRITE16_HANDLER( splash_coin_w )
{ {
if (ACCESSING_BITS_8_15){ 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 ) static ADDRESS_MAP_START( splash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x3fffff) AM_WRITE(SMH_ROM) /* ROM */ AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */
AM_RANGE(0x800000, 0x83ffff) AM_WRITE(SMH_RAM) AM_BASE(&splash_pixelram) /* Pixel Layer */ 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(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(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(0x880000, 0x8817ff) AM_RAM_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(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_WRITE(SMH_RAM) /* Work RAM */ AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
AM_RANGE(0x8c0000, 0x8c0fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_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(0x900000, 0x900fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SMH_RAM) /* Work RAM */ AM_RANGE(0xffc000, 0xffffff) AM_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 */
ADDRESS_MAP_END ADDRESS_MAP_END
static WRITE8_HANDLER( splash_adpcm_data_w ){ 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; adpcm_data = (adpcm_data << 4) & 0xf0;
} }
static ADDRESS_MAP_START( splash_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
static ADDRESS_MAP_START( splash_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xd7ff) AM_ROM /* ROM */
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(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
// AM_RANGE(0xe000, 0xe000) AM_WRITENOP /* ??? */ // AM_RANGE(0xe000, 0xe000) AM_WRITENOP /* ??? */
AM_RANGE(0xf000, 0xf001) AM_DEVWRITE("ym", ym3812_w) /* YM3812 */ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r) /* Sound latch */
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM) /* RAM */ AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ym", ym3812_r,ym3812_w) /* YM3812 */
AM_RANGE(0xf800, 0xffff) AM_RAM /* RAM */
ADDRESS_MAP_END ADDRESS_MAP_END
/* Return of Lady Frog Maps */ /* Return of Lady Frog Maps */
@ -168,84 +147,59 @@ static READ16_HANDLER( roldfrog_bombs_r )
return ret; return ret;
} }
static ADDRESS_MAP_START( roldfrog_readmem, ADDRESS_SPACE_PROGRAM, 16 ) static ADDRESS_MAP_START( roldfrog_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x3fffff) AM_READ(SMH_ROM) /* ROM */ AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */
AM_RANGE(0x400000, 0x407fff) AM_ROM AM_BASE(&roldfrog_protdata) /* Protection Data */ AM_RANGE(0x400000, 0x407fff) AM_ROM AM_BASE(&roldfrog_protdata) /* Protection Data */
AM_RANGE(0x408000, 0x4087ff) AM_READ(SMH_RAM) /* Extra Ram */ AM_RANGE(0x408000, 0x4087ff) AM_RAM /* Extra Ram */
AM_RANGE(0x800000, 0x83ffff) AM_READ(SMH_RAM) /* Pixel Layer */ AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram) /* Pixel Layer */
AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1") AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1")
AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") 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(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(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(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(0x880000, 0x8817ff) AM_RAM_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(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_WRITE(SMH_RAM) /* Work RAM */ AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
AM_RANGE(0x8c0000, 0x8c0fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_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(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r)
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(SMH_RAM) AM_BASE(&roldfrog_bitmap_mode) /* Bitmap Mode? */ AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SMH_RAM) /* Work 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 ADDRESS_MAP_END
static ADDRESS_MAP_START( roldfrog_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
static ADDRESS_MAP_START( roldf_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x6fff) AM_ROM AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM 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 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) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x12, 0x13) AM_DEVWRITE("ym", ym2203_w) AM_RANGE(0x12, 0x13) AM_DEVWRITE("ym", ym2203_w)
AM_RANGE(0x40, 0x40) AM_NOP /* NMI ack */ AM_RANGE(0x40, 0x40) AM_NOP /* NMI ack */
AM_RANGE(0x70, 0x70) AM_READ(soundlatch_r) AM_RANGE(0x70, 0x70) AM_READ(soundlatch_r)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( funystrp_readmem, ADDRESS_SPACE_PROGRAM, 16 ) static ADDRESS_MAP_START( funystrp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM) /* ROM */ AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100fff) AM_READ(SMH_ROM) /* protection? RAM */ AM_RANGE(0x100000, 0x100fff) AM_RAM /* protection? RAM */
AM_RANGE(0x800000, 0x83ffff) AM_READ(SMH_RAM) /* Pixel Layer */ 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(0x840000, 0x840001) AM_READ_PORT("DSW1")
AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2") AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1") AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2") AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
AM_RANGE(0x880000, 0x8817ff) AM_READ(splash_vram_r) /* Video RAM */ AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_READ(SMH_RAM) /* Scroll registers */ AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_READ(SMH_RAM) /* Work RAM */ AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
AM_RANGE(0x8c0000, 0x8c0fff) AM_READ(SMH_RAM) /* Palette */ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xD00000, 0xD01fff) AM_READ(SMH_RAM) /* Sprite RAM */ AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* Work RAM */ AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END 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 ) static INPUT_PORTS_START( splash )
PORT_START("DSW1") PORT_START("DSW1")
@ -436,12 +390,12 @@ static MACHINE_DRIVER_START( splash )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */ 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_VBLANK_INT("screen", irq6_line_hold)
MDRV_CPU_ADD("audiocpu", Z80,30000000/8) MDRV_CPU_ADD("audiocpu", Z80,30000000/8)
MDRV_CPU_PROGRAM_MAP(splash_readmem_sound,splash_writemem_sound) MDRV_CPU_PROGRAM_MAP(splash_sound_map,0)
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 */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) 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_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(64*8, 64*8) 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_GFXDECODE(splash)
MDRV_PALETTE_LENGTH(2048) MDRV_PALETTE_LENGTH(2048)
@ -489,13 +443,13 @@ static MACHINE_DRIVER_START( roldfrog )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz - verified */ 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_VBLANK_INT("screen", irq6_line_hold)
MDRV_CPU_ADD("audiocpu", Z80,3000000) /* 3 MHz - verified */ MDRV_CPU_ADD("audiocpu", Z80,3000000) /* 3 MHz - verified */
MDRV_CPU_PROGRAM_MAP(roldf_sound_map,0) MDRV_CPU_PROGRAM_MAP(roldfrog_sound_map,0)
MDRV_CPU_IO_MAP(roldf_sound_io_map,0) MDRV_CPU_IO_MAP(roldfrog_sound_io_map,0)
// 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 */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) 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_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(64*8, 64*8) 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_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 64*8-1)
MDRV_GFXDECODE(splash) MDRV_GFXDECODE(splash)
@ -529,12 +483,12 @@ static MACHINE_DRIVER_START( funystrp )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */ 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_VBLANK_INT("screen", irq6_line_hold)
// MDRV_CPU_ADD("audiocpu", Z80,30000000/8) // MDRV_CPU_ADD("audiocpu", Z80,30000000/8)
// MDRV_CPU_PROGRAM_MAP(splash_readmem_sound,splash_writemem_sound) // 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 */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) 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_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(64*8, 64*8) 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_GFXDECODE(splash)
MDRV_PALETTE_LENGTH(2048) MDRV_PALETTE_LENGTH(2048)

View File

@ -70,23 +70,14 @@ WRITE8_HANDLER( sprcros2_bgscrolly_w );
PALETTE_INIT( sprcros2 ); PALETTE_INIT( sprcros2 );
VIDEO_START( sprcros2 ); VIDEO_START( sprcros2 );
VIDEO_UPDATE( sprcros2 ); VIDEO_UPDATE( sprcros2 );
static UINT8 *sprcros2_sharedram;
UINT8 sprcros2_m_port7 = 0; UINT8 sprcros2_m_port7 = 0;
static UINT8 sprcros2_s_port3 = 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 ) static WRITE8_HANDLER( sprcros2_m_port7_w )
{ {
UINT8 *RAM = memory_region(space->machine, "maincpu"); UINT8 *RAM = memory_region(space->machine, "master");
//76543210 //76543210
//x------- unused //x------- unused
@ -107,7 +98,7 @@ static WRITE8_HANDLER( sprcros2_m_port7_w )
static WRITE8_HANDLER( sprcros2_s_port3_w ) static WRITE8_HANDLER( sprcros2_s_port3_w )
{ {
UINT8 *RAM = memory_region(space->machine, "audiocpu"); UINT8 *RAM = memory_region(space->machine, "slave");
//76543210 //76543210
//xxxx---- unused //xxxx---- unused
@ -121,25 +112,18 @@ static WRITE8_HANDLER( sprcros2_s_port3_w )
sprcros2_s_port3 = data; sprcros2_s_port3 = data;
} }
static ADDRESS_MAP_START( sprcros2_m_readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprcros2_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM) AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(1)) AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(1)
AM_RANGE(0xe000, 0xf7ff) AM_READ(SMH_RAM) AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_fgvideoram_w) AM_BASE(&sprcros2_fgvideoram)
AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM) //shared with slave cpu 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 ADDRESS_MAP_END
static ADDRESS_MAP_START( sprcros2_m_writemem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprcros2_master_io_map, ADDRESS_SPACE_IO, 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 )
ADDRESS_MAP_GLOBAL_MASK(0xff) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76496_w) 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) 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) AM_RANGE(0x07, 0x07) AM_WRITE(sprcros2_m_port7_w)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( sprcros2_s_readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprcros2_slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_ROM) AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(2)
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(2)) AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_bgvideoram_w) AM_BASE(&sprcros2_bgvideoram)
AM_RANGE(0xe000, 0xf7ff) AM_READ(SMH_RAM) AM_RANGE(0xe800, 0xefff) AM_RAM //always zero
AM_RANGE(0xf800, 0xffff) AM_READ(sprcros2_sharedram_r) AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE(1)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( sprcros2_s_writemem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprcros2_slave_io_map, ADDRESS_SPACE_IO, 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 )
ADDRESS_MAP_GLOBAL_MASK(0xff) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sprcros2_bgscrollx_w) AM_RANGE(0x00, 0x00) AM_WRITE(sprcros2_bgscrollx_w)
AM_RANGE(0x01, 0x01) AM_WRITE(sprcros2_bgscrolly_w) AM_RANGE(0x01, 0x01) AM_WRITE(sprcros2_bgscrolly_w)
@ -295,14 +270,14 @@ static MACHINE_START( sprcros2 )
static MACHINE_DRIVER_START( sprcros2 ) static MACHINE_DRIVER_START( sprcros2 )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,10000000/2) MDRV_CPU_ADD("master", Z80,10000000/2)
MDRV_CPU_PROGRAM_MAP(sprcros2_m_readmem,sprcros2_m_writemem) MDRV_CPU_PROGRAM_MAP(sprcros2_master_map,0)
MDRV_CPU_IO_MAP(io_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_VBLANK_INT_HACK(sprcros2_m_interrupt,2) //1 nmi + 1 irq
MDRV_CPU_ADD("audiocpu", Z80,10000000/2) MDRV_CPU_ADD("slave", Z80,10000000/2)
MDRV_CPU_PROGRAM_MAP(sprcros2_s_readmem,sprcros2_s_writemem) MDRV_CPU_PROGRAM_MAP(sprcros2_slave_map,0)
MDRV_CPU_IO_MAP(audio_io_map,0) MDRV_CPU_IO_MAP(sprcros2_slave_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(sprcros2_s_interrupt,2) //2 nmis MDRV_CPU_VBLANK_INT_HACK(sprcros2_s_interrupt,2) //2 nmis
MDRV_MACHINE_START(sprcros2) MDRV_MACHINE_START(sprcros2)
@ -336,14 +311,14 @@ static MACHINE_DRIVER_START( sprcros2 )
MACHINE_DRIVER_END MACHINE_DRIVER_END
ROM_START( sprcros2 ) 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-03.10g", 0x00000, 0x4000, CRC(b9757908) SHA1(d59cb2aac1b6268fc766306850f5711d4a12d897) )
ROM_LOAD( "scm-02.10j", 0x04000, 0x4000, CRC(849c5c87) SHA1(0e02c4990e371d6a290efa53301818e769648945) ) 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-01.10k", 0x08000, 0x4000, CRC(385a62de) SHA1(847bf9d97ab3fa8949d9198e4e509948a940d6aa) )
ROM_LOAD( "scm-00.10l", 0x10000, 0x4000, CRC(13fa3684) SHA1(611b7a237e394f285dcc5beb027dacdbdd58a7a0) ) //banked into c000-dfff 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-30.5f", 0x00000, 0x4000, CRC(c0a40e41) SHA1(e74131b353855749258dffa45091c825ccdbf05a) )
ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) ) ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) )
ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) ) ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) )
@ -373,14 +348,14 @@ ROM_END
/* this is probably an old revision */ /* this is probably an old revision */
ROM_START( sprcrs2a ) 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( "15.bin", 0x00000, 0x4000, CRC(b9d02558) SHA1(775404c6c7648d9dab02b496541739ea700cd481) )
ROM_LOAD( "scm-02.10j", 0x04000, 0x4000, CRC(849c5c87) SHA1(0e02c4990e371d6a290efa53301818e769648945) ) 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-01.10k", 0x08000, 0x4000, CRC(385a62de) SHA1(847bf9d97ab3fa8949d9198e4e509948a940d6aa) )
ROM_LOAD( "scm-00.10l", 0x10000, 0x4000, CRC(13fa3684) SHA1(611b7a237e394f285dcc5beb027dacdbdd58a7a0) ) //banked into c000-dfff 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-30.5f", 0x00000, 0x4000, CRC(c0a40e41) SHA1(e74131b353855749258dffa45091c825ccdbf05a) )
ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) ) ROM_LOAD( "scs-29.5h", 0x04000, 0x4000, CRC(83d49fa5) SHA1(7112110df2f382bbc0e651adcec975054a485b9b) )
ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) ) ROM_LOAD( "scs-28.5j", 0x08000, 0x4000, CRC(480d351f) SHA1(d1b86f441ae0e58b30e0f089ab25de219d5f30e3) )

View File

@ -246,9 +246,9 @@ static WRITE8_HANDLER( sprint2_lamp2_w )
} }
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprint2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_READ(sprint2_wram_r) AM_RANGE(0x0000, 0x03ff) AM_READWRITE(sprint2_wram_r,sprint2_wram_w)
AM_RANGE(0x0400, 0x07ff) AM_READ(SMH_RAM) 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(0x0818, 0x081f) AM_READ(sprint2_input_A_r)
AM_RANGE(0x0828, 0x082f) AM_READ(sprint2_input_B_r) AM_RANGE(0x0828, 0x082f) AM_READ(sprint2_input_B_r)
AM_RANGE(0x0830, 0x0837) AM_READ(sprint2_dip_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(0x0880, 0x08bf) AM_READ(sprint2_steering1_r)
AM_RANGE(0x08c0, 0x08ff) AM_READ(sprint2_steering2_r) AM_RANGE(0x08c0, 0x08ff) AM_READ(sprint2_steering2_r)
AM_RANGE(0x0c00, 0x0fff) AM_READ(sprint2_sync_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(0x0c00, 0x0c0f) AM_DEVWRITE("discrete", sprint2_attract_w)
AM_RANGE(0x0c10, 0x0c1f) AM_DEVWRITE("discrete", sprint2_skid1_w) AM_RANGE(0x0c10, 0x0c1f) AM_DEVWRITE("discrete", sprint2_skid1_w)
AM_RANGE(0x0c20, 0x0c2f) AM_DEVWRITE("discrete", sprint2_skid2_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(0x0e00, 0x0e7f) AM_WRITE(sprint2_steering_reset1_w)
AM_RANGE(0x0e80, 0x0eff) AM_WRITE(sprint2_steering_reset2_w) AM_RANGE(0x0e80, 0x0eff) AM_WRITE(sprint2_steering_reset2_w)
AM_RANGE(0x0f00, 0x0f7f) AM_DEVWRITE("discrete", sprint2_noise_reset_w) AM_RANGE(0x0f00, 0x0f7f) AM_DEVWRITE("discrete", sprint2_noise_reset_w)
AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM) AM_RANGE(0x1000, 0x13ff) AM_READ(sprint2_collision1_r)
AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_ROM) 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 ADDRESS_MAP_END
@ -504,7 +496,7 @@ static MACHINE_DRIVER_START( sprint2 )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16) 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_CPU_VBLANK_INT("screen", sprint2)
MDRV_WATCHDOG_VBLANK_INIT(8) MDRV_WATCHDOG_VBLANK_INIT(8)

View File

@ -113,36 +113,29 @@ static WRITE8_HANDLER( sprint8_attract_w ) {}
static WRITE8_HANDLER( sprint8_motor_w ) {} static WRITE8_HANDLER( sprint8_motor_w ) {}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sprint8_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x00ff) AM_READ(SMH_RAM) 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(0x1c00, 0x1c00) AM_READ(sprint8_collision_r)
AM_RANGE(0x1c01, 0x1c08) AM_READ(sprint8_input_r) AM_RANGE(0x1c01, 0x1c08) AM_READ(sprint8_input_r)
AM_RANGE(0x1c09, 0x1c09) AM_READ_PORT("IN0") AM_RANGE(0x1c09, 0x1c09) AM_READ_PORT("IN0")
AM_RANGE(0x1c0a, 0x1c0a) AM_READ_PORT("IN1") AM_RANGE(0x1c0a, 0x1c0a) AM_READ_PORT("IN1")
AM_RANGE(0x1c0f, 0x1c0f) AM_READ_PORT("VBLANK") AM_RANGE(0x1c0f, 0x1c0f) AM_READ_PORT("VBLANK")
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_ROM) AM_RANGE(0x1c00, 0x1c0f) AM_WRITEONLY AM_BASE(&sprint8_pos_h_ram)
AM_RANGE(0xf800, 0xffff) AM_READ(SMH_ROM) AM_RANGE(0x1c10, 0x1c1f) AM_WRITEONLY AM_BASE(&sprint8_pos_v_ram)
ADDRESS_MAP_END AM_RANGE(0x1c20, 0x1c2f) AM_WRITEONLY AM_BASE(&sprint8_pos_d_ram)
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(0x1c30, 0x1c37) AM_WRITE(sprint8_lockout_w) AM_RANGE(0x1c30, 0x1c37) AM_WRITE(sprint8_lockout_w)
AM_RANGE(0x1d00, 0x1d00) AM_WRITE(sprint8_int_reset_w) AM_RANGE(0x1d00, 0x1d00) AM_WRITE(sprint8_int_reset_w)
AM_RANGE(0x1d01, 0x1d01) AM_WRITE(sprint8_crash_w) AM_RANGE(0x1d01, 0x1d01) AM_WRITE(sprint8_crash_w)
AM_RANGE(0x1d02, 0x1d02) AM_WRITE(sprint8_explosion_w) AM_RANGE(0x1d02, 0x1d02) AM_WRITE(sprint8_explosion_w)
AM_RANGE(0x1d03, 0x1d03) AM_WRITE(sprint8_bugle_w) AM_RANGE(0x1d03, 0x1d03) AM_WRITE(sprint8_bugle_w)
AM_RANGE(0x1d04, 0x1d04) AM_WRITE(sprint8_bug_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(0x1d06, 0x1d06) AM_WRITE(sprint8_attract_w)
AM_RANGE(0x1e00, 0x1e07) AM_WRITE(sprint8_motor_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(0x1f00, 0x1f00) AM_WRITENOP /* probably a watchdog, disabled in service mode */
AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM) AM_RANGE(0x2000, 0x3fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_ROM) AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -467,7 +460,7 @@ static MACHINE_DRIVER_START( sprint8 )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */ MDRV_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */
MDRV_CPU_PROGRAM_MAP(readmem, writemem) MDRV_CPU_PROGRAM_MAP(sprint8_map, 0)
MDRV_MACHINE_RESET(sprint8) MDRV_MACHINE_RESET(sprint8)

View File

@ -66,28 +66,6 @@ static INTERRUPT_GEN( srumbler_interrupt )
cpu_set_input_line(device,M6809_FIRQ_LINE,HOLD_LINE); 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 The "scroll test" routine on the test screen appears to overflow and write
over the control registers (0x4000-0x4080) when it clears the screen. 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. Ignore the warnings about writing to unmapped memory.
*/ */
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( srumbler_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1dff) AM_WRITE(SMH_RAM) AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */
AM_RANGE(0x1e00, 0x1fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x2000, 0x3fff) AM_WRITE(srumbler_background_w) AM_BASE(&srumbler_backgroundram) AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(srumbler_background_w) AM_BASE(&srumbler_backgroundram)
AM_RANGE(0x4008, 0x4008) AM_WRITE(srumbler_bankswitch_w) AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") AM_WRITE(srumbler_bankswitch_w)
AM_RANGE(0x4009, 0x4009) AM_WRITE(srumbler_4009_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(0x400a, 0x400d) AM_WRITE(srumbler_scroll_w)
AM_RANGE(0x400e, 0x400e) AM_WRITE(soundlatch_w) AM_RANGE(0x400e, 0x400e) AM_WRITE(soundlatch_w)
AM_RANGE(0x5000, 0x5fff) AM_WRITE(srumbler_foreground_w) AM_BASE(&srumbler_foregroundram) AM_RANGE(0x5000, 0x5fff) AM_ROMBANK(6) AM_WRITE(srumbler_foreground_w) AM_BASE(&srumbler_foregroundram) /* Banked ROM */
AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM) /* Video RAM 2 ??? (not used) */ 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(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 ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( srumbler_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) AM_RANGE(0x0000, 0x7fff) AM_ROM
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)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ym1", ym2203_w) AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ym1", ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym2", 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 ADDRESS_MAP_END
@ -257,11 +242,11 @@ static MACHINE_DRIVER_START( srumbler )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz (?) */ 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_VBLANK_INT_HACK(srumbler_interrupt,2)
MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* 3 MHz ??? */ 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_CPU_VBLANK_INT_HACK(irq0_line_hold,4)
MDRV_MACHINE_RESET(srumbler) MDRV_MACHINE_RESET(srumbler)

View File

@ -8,7 +8,6 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
***************************************************************************/ ***************************************************************************/
#include "driver.h" #include "driver.h"
#include "deprecat.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
@ -29,85 +28,45 @@ extern PALETTE_INIT( ssozumo );
extern VIDEO_START( ssozumo ); extern VIDEO_START( ssozumo );
extern VIDEO_UPDATE( 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 ) 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); cpu_set_input_line(space->machine->cpu[1], M6502_IRQ_LINE, HOLD_LINE);
} }
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x077f) AM_READ(SMH_RAM) AM_RANGE(0x0000, 0x077f) AM_RAM
AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x2000, 0x27ff) AM_READ(SMH_RAM) AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2)
AM_RANGE(0x3000, 0x31ff) AM_READ(SMH_RAM) 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(0x4000, 0x4000) AM_READ_PORT("P1") AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x4010, 0x4010) AM_READ_PORT("P2") AM_RANGE(0x3400, 0x35ff) AM_RAM
AM_RANGE(0x4020, 0x4020) AM_READ_PORT("DSW2") 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(0x4030, 0x4030) AM_READ_PORT("DSW1")
// AM_RANGE(0x4030, 0x4030) AM_WRITEONLY
AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM) AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE(&paletteram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( ssozumo_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM
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)
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_data_address_w) AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_data_address_w)
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE("ay2", 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(0x2004, 0x2004) AM_DEVWRITE("dac", dac_signed_w)
AM_RANGE(0x2005, 0x2005) AM_WRITE(interrupt_enable_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 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 ) static INPUT_PORTS_START( ssozumo )
PORT_START("P1") /* IN0 */ 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( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_CHANGED(coin_inserted, 0)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CHANGED(coin_inserted, 0)
PORT_START("P2") /* IN1 */ PORT_START("P2") /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) 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 */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 1200000) /* 1.2 MHz ???? */ MDRV_CPU_ADD("maincpu", M6502, 1200000) /* 1.2 MHz ???? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem) MDRV_CPU_PROGRAM_MAP(ssozumo_map,0)
MDRV_CPU_VBLANK_INT("screen", ssozumo_interrupt) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
MDRV_CPU_ADD("audiocpu", M6502, 975000) /* 975 kHz ?? */ MDRV_CPU_ADD("audiocpu", M6502, 975000) /* 975 kHz ?? */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) MDRV_CPU_PROGRAM_MAP(ssozumo_sound_map,0)
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,16) /* IRQs are triggered by the main CPU */ MDRV_CPU_PERIODIC_INT(nmi_line_pulse,60*16) /* not accurate */
/* video hardware */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) MDRV_SCREEN_ADD("screen", RASTER)

View File

@ -77,20 +77,14 @@ static WRITE8_HANDLER( sspeedr_sound_w )
} }
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sspeedr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x21ff) AM_READ(SMH_RAM) AM_RANGE(0x2000, 0x21ff) AM_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)
AM_RANGE(0x7f00, 0x7f17) AM_WRITE(sspeedr_score_w) AM_RANGE(0x7f00, 0x7f17) AM_WRITE(sspeedr_score_w)
ADDRESS_MAP_END 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) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@ -196,8 +190,8 @@ static MACHINE_DRIVER_START( sspeedr )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 19968000 / 8) MDRV_CPU_ADD("maincpu", Z80, 19968000 / 8)
MDRV_CPU_PROGRAM_MAP(readmem, writemem) MDRV_CPU_PROGRAM_MAP(sspeedr_map, 0)
MDRV_CPU_IO_MAP(io_map,0) MDRV_CPU_IO_MAP(sspeedr_io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert) MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
/* video hardware */ /* video hardware */

View File

@ -34,18 +34,12 @@ extern int p2_sprite;
extern int s1_sprite; extern int s1_sprite;
extern int s2_sprite; extern int s2_sprite;
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( starcrus_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) /* Program ROM */ AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x10ff) AM_READ(SMH_RAM) /* RAM */ AM_RANGE(0x1000, 0x10ff) AM_RAM
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( starcrus_io_map, ADDRESS_SPACE_IO, 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 )
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(starcrus_s1_x_w) 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(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) 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 */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", 8080,9750000/9) /* 8224 chip is a divide by 9 */ MDRV_CPU_ADD("maincpu", 8080,9750000/9) /* 8224 chip is a divide by 9 */
MDRV_CPU_PROGRAM_MAP(readmem,writemem) MDRV_CPU_PROGRAM_MAP(starcrus_map,0)
MDRV_CPU_IO_MAP(io_map,0) MDRV_CPU_IO_MAP(starcrus_io_map,0)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
/* video hardware */ /* video hardware */

View File

@ -164,31 +164,25 @@ static WRITE8_HANDLER( starshp1_misc_w )
} }
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( starshp1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x00ff) AM_READ(SMH_RAM) AM_MIRROR(0x100) AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100)
AM_RANGE(0x2c00, 0x3fff) AM_READ(SMH_ROM) AM_RANGE(0x2c00, 0x3fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("SYSTEM") AM_RANGE(0xa000, 0xa000) AM_READ_PORT("SYSTEM")
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("VBLANK") 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(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(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(0xc800, 0xc9ff) AM_RAM_WRITE(starshp1_playfield_w) AM_BASE(&starshp1_playfield_ram)
AM_RANGE(0xcc00, 0xcc0f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_hpos_ram) AM_RANGE(0xcc00, 0xcc0f) AM_WRITEONLY AM_BASE(&starshp1_hpos_ram)
AM_RANGE(0xd000, 0xd00f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_vpos_ram) AM_RANGE(0xd000, 0xd00f) AM_WRITEONLY AM_BASE(&starshp1_vpos_ram)
AM_RANGE(0xd400, 0xd40f) AM_WRITE(SMH_RAM) AM_BASE(&starshp1_obj_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(0xd800, 0xd80f) AM_WRITE(starshp1_collision_reset_w)
AM_RANGE(0xdc00, 0xdc0f) AM_WRITE(starshp1_misc_w) AM_RANGE(0xdc00, 0xdc0f) AM_WRITE(starshp1_misc_w)
AM_RANGE(0xdd00, 0xdd0f) AM_WRITE(starshp1_analog_in_w) AM_RANGE(0xdd00, 0xdd0f) AM_WRITE(starshp1_analog_in_w)
AM_RANGE(0xde00, 0xde0f) AM_DEVWRITE("discrete", starshp1_audio_w) AM_RANGE(0xde00, 0xde0f) AM_DEVWRITE("discrete", starshp1_audio_w)
AM_RANGE(0xdf00, 0xdf0f) AM_DEVWRITE("discrete", starshp1_analog_out_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 ADDRESS_MAP_END
@ -304,7 +298,7 @@ static MACHINE_DRIVER_START( starshp1 )
/* basic machine hardware */ /* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, STARSHP1_CPU_CLOCK) 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) MDRV_CPU_VBLANK_INT("screen", starshp1_interrupt)
/* video hardware */ /* video hardware */

View File

@ -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 ) WRITE16_HANDLER( splash_vram_w )
{ {
COMBINE_DATA(&splash_videoram[offset]); COMBINE_DATA(&splash_videoram[offset]);