From e4b27e0b27c36469c0895f50f9bcf26f946a8983 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Wed, 2 Dec 2009 07:34:35 +0000 Subject: [PATCH] Fix for MT03558: drivers with Access Violation since 0.135u2 I hope these are the only regressions I introduced in svn 7449... --- src/mame/drivers/actfancr.c | 10 +++++++++- src/mame/drivers/ambush.c | 4 ++-- src/mame/drivers/brkthru.c | 1 + src/mame/drivers/marineb.c | 3 +++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c index 78cc2e4e06b..52d6745c649 100644 --- a/src/mame/drivers/actfancr.c +++ b/src/mame/drivers/actfancr.c @@ -276,12 +276,19 @@ static const ym3812_interface ym3812_config = /******************************************************************************/ -static MACHINE_START( triothep ) +static MACHINE_START( actfancr ) { actfancr_state *state = (actfancr_state *)machine->driver_data; state->maincpu = devtag_get_device(machine, "maincpu"); state->audiocpu = devtag_get_device(machine, "audiocpu"); +} + +static MACHINE_START( triothep ) +{ + actfancr_state *state = (actfancr_state *)machine->driver_data; + + MACHINE_START_CALL(actfancr); state_save_register_global(machine, state->trio_control_select); } @@ -322,6 +329,7 @@ static MACHINE_DRIVER_START( actfancr ) MDRV_CPU_ADD("audiocpu",M6502, 1500000) /* Should be accurate */ MDRV_CPU_PROGRAM_MAP(dec0_s_map) + MDRV_MACHINE_START(actfancr) MDRV_MACHINE_RESET(actfancr) /* video hardware */ diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c index 20da5c2d8c0..7f8198d701b 100644 --- a/src/mame/drivers/ambush.c +++ b/src/mame/drivers/ambush.c @@ -70,8 +70,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xc080, 0xc09f) AM_BASE_MEMBER(ambush_state, scrollram) AM_RANGE(0xc100, 0xc1ff) AM_BASE_MEMBER(ambush_state, colorram) - AM_RANGE(0xc200, 0xc3ff) AM_BASE_SIZE_MEMBER(ambush_state, spriteram, spriteram) - AM_RANGE(0xc400, 0xc7ff) AM_BASE_SIZE_MEMBER(ambush_state, videoram, videoram) + AM_RANGE(0xc200, 0xc3ff) AM_BASE_SIZE_MEMBER(ambush_state, spriteram, spriteram_size) + AM_RANGE(0xc400, 0xc7ff) AM_BASE_SIZE_MEMBER(ambush_state, videoram, videoram_size) AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW1") AM_RANGE(0xcc00, 0xcc03) AM_WRITENOP AM_RANGE(0xcc04, 0xcc04) AM_WRITE(flip_screen_w) diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c index d8569586962..132faf5933f 100644 --- a/src/mame/drivers/brkthru.c +++ b/src/mame/drivers/brkthru.c @@ -441,6 +441,7 @@ static MACHINE_DRIVER_START( darwin ) MDRV_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */ MDRV_CPU_PROGRAM_MAP(sound_map) + MDRV_MACHINE_START(brkthru) MDRV_MACHINE_RESET(brkthru) /* video hardware */ diff --git a/src/mame/drivers/marineb.c b/src/mame/drivers/marineb.c index f86eb3b8ebf..596d19e4185 100644 --- a/src/mame/drivers/marineb.c +++ b/src/mame/drivers/marineb.c @@ -69,6 +69,9 @@ static MACHINE_START( marineb ) { espial_state *state = (espial_state *)machine->driver_data; + state->maincpu = devtag_get_device(machine, "maincpu"); + state->audiocpu = NULL; + state_save_register_global(machine, state->marineb_active_low_flipscreen); }