All driver inits are now member of state classes.

Added DECLARE_DRIVER_INIT macro to define it H file, and
DRIVER_INIT_MEMBER for member declaration in C files 
Updated all drivers accordingly (no whatsnew)
This commit is contained in:
Miodrag Milanovic 2012-08-10 08:33:51 +00:00
parent 24991f6661
commit c75c14d4d3
1630 changed files with 17750 additions and 16480 deletions

View File

@ -183,6 +183,8 @@ public:
(machine.driver_data<_DriverClass>()->*_Function)(); (machine.driver_data<_DriverClass>()->*_Function)();
} }
void init_0() {};
// generic interrupt generators // generic interrupt generators
void generic_pulse_irq_line(device_execute_interface &exec, int irqline, int cycles); void generic_pulse_irq_line(device_execute_interface &exec, int irqline, int cycles);
void generic_pulse_irq_line_and_vector(device_execute_interface &exec, int irqline, int vector, int cycles); void generic_pulse_irq_line_and_vector(device_execute_interface &exec, int irqline, int vector, int cycles);

View File

@ -100,4 +100,4 @@ ROM_END
// GAME DRIVERS // GAME DRIVERS
//************************************************************************** //**************************************************************************
GAME( 2007, ___empty, 0, ___empty, 0, empty_state, 0, ROT0, "MAME", "No Driver Loaded", GAME_NO_SOUND ) GAME( 2007, ___empty, 0, ___empty, 0, driver_device, 0, ROT0, "MAME", "No Driver Loaded", GAME_NO_SOUND )

View File

@ -244,4 +244,4 @@ ROM_END
// GAME DRIVERS // GAME DRIVERS
//************************************************************************** //**************************************************************************
GAME( 2012, testcpu, 0, testcpu, 0, testcpu_state, 0, ROT0, "MAME", "CPU Tester", GAME_NO_SOUND ) GAME( 2012, testcpu, 0, testcpu, 0, driver_device, 0, ROT0, "MAME", "CPU Tester", GAME_NO_SOUND )

View File

@ -111,18 +111,15 @@ struct game_driver
//************************************************************************** //**************************************************************************
// wrappers for the DRIVER_INIT callback // wrappers for the DRIVER_INIT callback
#define DRIVER_INIT_NAME(name) driver_init_##name #define DRIVER_INIT_NAME(name) init_##name
#define DRIVER_INIT(name) void DRIVER_INIT_NAME(name)(running_machine &machine) #define DECLARE_DRIVER_INIT(name) void DRIVER_INIT_NAME(name)()
#define DRIVER_INIT_CALL(name) DRIVER_INIT_NAME(name)(machine) #define DRIVER_INIT_MEMBER(cls,name) void cls::DRIVER_INIT_NAME(name)()
#define DRIVER_INIT_CALL(name) DRIVER_INIT_NAME(name)()
#define driver_init_0 NULL
// wrappers for declaring and defining game drivers // wrappers for declaring and defining game drivers
#define GAME_NAME(name) driver_##name #define GAME_NAME(name) driver_##name
#define GAME_EXTERN(name) extern const game_driver GAME_NAME(name) #define GAME_EXTERN(name) extern const game_driver GAME_NAME(name)
#ifdef MODERN_DRIVER_INIT
// standard GAME() macro // standard GAME() macro
#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \ #define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0)) GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0))
@ -139,7 +136,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \ COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \ MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \ INPUT_PORTS_NAME(INPUT), \
&driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \ ROM_NAME(NAME), \
NULL, \ NULL, \
(MONITOR)|(FLAGS)|GAME_TYPE_ARCADE, \ (MONITOR)|(FLAGS)|GAME_TYPE_ARCADE, \
@ -158,7 +155,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \ COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \ MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \ INPUT_PORTS_NAME(INPUT), \
&driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \ ROM_NAME(NAME), \
#COMPAT, \ #COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_CONSOLE, \ ROT0|(FLAGS)|GAME_TYPE_CONSOLE, \
@ -177,7 +174,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \ COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \ MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \ INPUT_PORTS_NAME(INPUT), \
&driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \ ROM_NAME(NAME), \
#COMPAT, \ #COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_COMPUTER, \ ROT0|(FLAGS)|GAME_TYPE_COMPUTER, \
@ -196,97 +193,13 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \ COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \ MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \ INPUT_PORTS_NAME(INPUT), \
&driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \ ROM_NAME(NAME), \
#COMPAT, \ #COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_OTHER, \ ROT0|(FLAGS)|GAME_TYPE_OTHER, \
NULL \ NULL \
}; };
#else
// standard GAME() macro
#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0))
// standard macro with additional layout
#define GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,LAYOUT) \
extern const game_driver GAME_NAME(NAME) = \
{ \
__FILE__, \
#PARENT, \
#NAME, \
FULLNAME, \
#YEAR, \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
DRIVER_INIT_NAME(INIT), \
ROM_NAME(NAME), \
NULL, \
(MONITOR)|(FLAGS)|GAME_TYPE_ARCADE, \
&LAYOUT[0] \
};
// standard console definition macro
#define CONS(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
extern const game_driver GAME_NAME(NAME) = \
{ \
__FILE__, \
#PARENT, \
#NAME, \
FULLNAME, \
#YEAR, \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
DRIVER_INIT_NAME(INIT), \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_CONSOLE, \
NULL \
};
// standard computer definition macro
#define COMP(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
extern const game_driver GAME_NAME(NAME) = \
{ \
__FILE__, \
#PARENT, \
#NAME, \
FULLNAME, \
#YEAR, \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
DRIVER_INIT_NAME(INIT), \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_COMPUTER, \
NULL \
};
// standard system definition macro
#define SYST(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
extern const game_driver GAME_NAME(NAME) = \
{ \
__FILE__, \
#PARENT, \
#NAME, \
FULLNAME, \
#YEAR, \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
DRIVER_INIT_NAME(INIT), \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_OTHER, \
NULL \
};
#endif
//************************************************************************** //**************************************************************************
// GLOBAL VARIABLES // GLOBAL VARIABLES

View File

@ -503,10 +503,10 @@ ROM_START( 1942w )
ROM_END ROM_END
static DRIVER_INIT( 1942 ) DRIVER_INIT_MEMBER(_1942_state,1942)
{ {
UINT8 *ROM = machine.root_device().memregion("maincpu")->base(); UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
machine.root_device().membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000); machine().root_device().membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000);
} }

View File

@ -641,21 +641,20 @@ ROM_START( 1943b )
ROM_END ROM_END
static DRIVER_INIT( 1943 ) DRIVER_INIT_MEMBER(_1943_state,1943)
{ {
UINT8 *ROM = machine.root_device().memregion("maincpu")->base(); UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000); machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
} }
READ8_MEMBER(_1943_state::_1943b_c007_r){ return 0; } READ8_MEMBER(_1943_state::_1943b_c007_r){ return 0; }
static DRIVER_INIT( 1943b ) DRIVER_INIT_MEMBER(_1943_state,1943b)
{ {
_1943_state *state = machine.driver_data<_1943_state>(); DRIVER_INIT_CALL(1943);
DRIVER_INIT_CALL( 1943 );
//it expects 0x00 to be returned from the protection reads because the protection has been patched out. //it expects 0x00 to be returned from the protection reads because the protection has been patched out.
//AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r) //AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r)
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc007, 0xc007, read8_delegate(FUNC(_1943_state::_1943b_c007_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc007, 0xc007, read8_delegate(FUNC(_1943_state::_1943b_c007_r),this));
} }

View File

@ -303,4 +303,4 @@ ROM_START( 1945kiii )
ROM_LOAD( "m16m-3.u61", 0x00000, 0x200000, CRC(32fc80dd) SHA1(bee32493a250e9f21997114bba26b9535b1b636c) ) ROM_LOAD( "m16m-3.u61", 0x00000, 0x200000, CRC(32fc80dd) SHA1(bee32493a250e9f21997114bba26b9535b1b636c) )
ROM_END ROM_END
GAME( 2000, 1945kiii, 0, k3, k3, k3_state, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE ) GAME( 2000, 1945kiii, 0, k3, k3, driver_device, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE )

View File

@ -438,17 +438,15 @@ ROM_START( 20pacgalr0 ) /* Version 1.00 */
ROM_END ROM_END
static DRIVER_INIT(20pacgal) DRIVER_INIT_MEMBER(_20pacgal_state,20pacgal)
{ {
_20pacgal_state *state = machine.driver_data<_20pacgal_state>(); m_sprite_pal_base = 0x00<<2;
state->m_sprite_pal_base = 0x00<<2;
} }
static DRIVER_INIT(25pacman) DRIVER_INIT_MEMBER(_20pacgal_state,25pacman)
{ {
_20pacgal_state *state = machine.driver_data<_20pacgal_state>(); m_sprite_pal_base = 0x20<<2;
state->m_sprite_pal_base = 0x20<<2;
} }

View File

@ -60,6 +60,7 @@ public:
DECLARE_WRITE16_MEMBER(sensors_w); DECLARE_WRITE16_MEMBER(sensors_w);
DECLARE_READ16_MEMBER(drill_irq_r); DECLARE_READ16_MEMBER(drill_irq_r);
DECLARE_WRITE16_MEMBER(drill_irq_w); DECLARE_WRITE16_MEMBER(drill_irq_w);
DECLARE_DRIVER_INIT(drill);
}; };
@ -551,11 +552,10 @@ static void tile_decode(running_machine &machine)
} }
} }
static DRIVER_INIT( drill ) DRIVER_INIT_MEMBER(_2mindril_state,drill)
{ {
taito_f3_state *state = machine.driver_data<taito_f3_state>(); m_f3_game=TMDRILL;
state->m_f3_game=TMDRILL; tile_decode(machine());
tile_decode(machine);
} }
GAME( 1993, 2mindril, 0, drill, drill, _2mindril_state, drill, ROT0, "Taito", "Two Minute Drill", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_MECHANICAL) GAME( 1993, 2mindril, 0, drill, drill, _2mindril_state, drill, ROT0, "Taito", "Two Minute Drill", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_MECHANICAL)

View File

@ -273,4 +273,4 @@ ROM_START( 30test )
ROM_LOAD( "tt1-voi0.7p", 0x0000, 0x80000, CRC(b4fc5921) SHA1(92a88d5adb50dae48715847f12e88a35e37ef78c) ) ROM_LOAD( "tt1-voi0.7p", 0x0000, 0x80000, CRC(b4fc5921) SHA1(92a88d5adb50dae48715847f12e88a35e37ef78c) )
ROM_END ROM_END
GAMEL( 1997, 30test, 0, 30test, 30test, namco_30test_state, 0, ROT0, "Namco", "30 Test (Remake)", GAME_SUPPORTS_SAVE, layout_30test ) GAMEL( 1997, 30test, 0, 30test, 30test, driver_device, 0, ROT0, "Namco", "30 Test (Remake)", GAME_SUPPORTS_SAVE, layout_30test )

View File

@ -72,6 +72,7 @@ public:
DECLARE_READ32_MEMBER(cpld_r); DECLARE_READ32_MEMBER(cpld_r);
DECLARE_WRITE32_MEMBER(cpld_w); DECLARE_WRITE32_MEMBER(cpld_w);
DECLARE_READ32_MEMBER(prot_cheater_r); DECLARE_READ32_MEMBER(prot_cheater_r);
DECLARE_DRIVER_INIT(39in1);
}; };
@ -1455,16 +1456,15 @@ READ32_MEMBER(_39in1_state::prot_cheater_r)
return 0x37; return 0x37;
} }
static DRIVER_INIT( 39in1 ) DRIVER_INIT_MEMBER(_39in1_state,39in1)
{ {
_39in1_state *state = machine.driver_data<_39in1_state>();
state->m_dmadac[0] = machine.device<dmadac_sound_device>("dac1"); m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
state->m_dmadac[1] = machine.device<dmadac_sound_device>("dac2"); m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
state->m_eeprom = machine.device<eeprom_device>("eeprom"); m_eeprom = machine().device<eeprom_device>("eeprom");
address_space *space = machine.device<pxa255_device>("maincpu")->space(AS_PROGRAM); address_space *space = machine().device<pxa255_device>("maincpu")->space(AS_PROGRAM);
space->install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), state)); space->install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), this));
} }
static ADDRESS_MAP_START( 39in1_map, AS_PROGRAM, 32, _39in1_state ) static ADDRESS_MAP_START( 39in1_map, AS_PROGRAM, 32, _39in1_state )

View File

@ -245,7 +245,7 @@ ROM_END
***************************************************************************/ ***************************************************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
CONS( 1991, 3do, 0, 0, 3do, 3do, _3do_state, 0, "3DO", "3DO (NTSC)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT ) CONS( 1991, 3do, 0, 0, 3do, 3do, driver_device, 0, "3DO", "3DO (NTSC)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT )
CONS( 1991, 3do_pal, 3do, 0, 3do_pal, 3do, _3do_state, 0, "3DO", "3DO (PAL)", GAME_NOT_WORKING | GAME_NO_SOUND ) CONS( 1991, 3do_pal, 3do, 0, 3do_pal, 3do, driver_device, 0, "3DO", "3DO (PAL)", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 199?, orbatak, 3do, 3do, 3do, _3do_state, 0, ROT0, "<unknown>", "Orbatak (prototype)", GAME_NOT_WORKING | GAME_NO_SOUND ) GAME( 199?, orbatak, 3do, 3do, 3do, driver_device, 0, ROT0, "<unknown>", "Orbatak (prototype)", GAME_NOT_WORKING | GAME_NO_SOUND )

View File

@ -567,29 +567,27 @@ READ8_MEMBER(fortyl_state::undoukai_mcu_status_r)
/***************************************************************************/ /***************************************************************************/
static DRIVER_INIT( undoukai ) DRIVER_INIT_MEMBER(fortyl_state,undoukai)
{ {
fortyl_state *state = machine.driver_data<fortyl_state>(); UINT8 *ROM = memregion("maincpu")->base();
UINT8 *ROM = state->memregion("maincpu")->base(); membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
state->m_pix_color[0] = 0x000; m_pix_color[0] = 0x000;
state->m_pix_color[1] = 0x1e3; m_pix_color[1] = 0x1e3;
state->m_pix_color[2] = 0x16c; m_pix_color[2] = 0x16c;
state->m_pix_color[3] = 0x1ec; m_pix_color[3] = 0x1ec;
} }
static DRIVER_INIT( 40love ) DRIVER_INIT_MEMBER(fortyl_state,40love)
{ {
fortyl_state *state = machine.driver_data<fortyl_state>(); UINT8 *ROM = memregion("maincpu")->base();
UINT8 *ROM = state->memregion("maincpu")->base(); membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
#if 0 #if 0
/* character ROM hack /* character ROM hack
to show a white line on the opponent side */ to show a white line on the opponent side */
UINT8 *ROM = state->memregion("gfx2")->base(); UINT8 *ROM = memregion("gfx2")->base();
int adr = 0x10 * 0x022b; int adr = 0x10 * 0x022b;
ROM[adr + 0x000a] = 0x00; ROM[adr + 0x000a] = 0x00;
ROM[adr + 0x000b] = 0x00; ROM[adr + 0x000b] = 0x00;
@ -597,10 +595,10 @@ static DRIVER_INIT( 40love )
ROM[adr + 0x400b] = 0x00; ROM[adr + 0x400b] = 0x00;
#endif #endif
state->m_pix_color[0] = 0x000; m_pix_color[0] = 0x000;
state->m_pix_color[1] = 0x1e3; m_pix_color[1] = 0x1e3;
state->m_pix_color[2] = 0x16c; m_pix_color[2] = 0x16c;
state->m_pix_color[3] = 0x1ec; m_pix_color[3] = 0x1ec;
} }
/***************************************************************************/ /***************************************************************************/

View File

@ -389,12 +389,11 @@ ROM_START(unkpacg)
ROM_LOAD( "5.u18", 0x0000, 0x2000, CRC(44f272d2) SHA1(b39cbc1f290d9fb2453396906e4da4a682c41ef4) ) ROM_LOAD( "5.u18", 0x0000, 0x2000, CRC(44f272d2) SHA1(b39cbc1f290d9fb2453396906e4da4a682c41ef4) )
ROM_END ROM_END
static DRIVER_INIT( unkpacg ) DRIVER_INIT_MEMBER(_4enraya_state,unkpacg)
{ {
_4enraya_state *state = machine.driver_data<_4enraya_state>(); UINT8 *rom = memregion("maincpu")->base();
UINT8 *rom = state->memregion("maincpu")->base();
state->m_snd_latch_bit = 2; m_snd_latch_bit = 2;
{ {
for(int i=0x8000;i<0xa000;++i) for(int i=0x8000;i<0xa000;++i)
@ -404,5 +403,5 @@ static DRIVER_INIT( unkpacg )
} }
} }
GAME( 1990, 4enraya, 0, 4enraya, 4enraya, _4enraya_state, 0, ROT0, "IDSA", "4 En Raya", GAME_SUPPORTS_SAVE ) GAME( 1990, 4enraya, 0, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya", GAME_SUPPORTS_SAVE )
GAME( 199?, unkpacg, 0, unkpacg, unkpacg, _4enraya_state, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_IMPERFECT_SOUND ) GAME( 199?, unkpacg, 0, unkpacg, unkpacg, _4enraya_state, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_IMPERFECT_SOUND )

View File

@ -186,6 +186,7 @@ public:
_4roses_state(const machine_config &mconfig, device_type type, const char *tag) _4roses_state(const machine_config &mconfig, device_type type, const char *tag)
: funworld_state(mconfig, type, tag) { } : funworld_state(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(4roses);
}; };
@ -459,7 +460,7 @@ ROM_END
* Driver Initialization * * Driver Initialization *
**************************/ **************************/
static DRIVER_INIT( 4roses ) DRIVER_INIT_MEMBER(_4roses_state,4roses)
{ {
} }

View File

@ -482,6 +482,7 @@ public:
DECLARE_READ8_MEMBER(pia0_b_r); DECLARE_READ8_MEMBER(pia0_b_r);
DECLARE_READ8_MEMBER(pia1_b_r); DECLARE_READ8_MEMBER(pia1_b_r);
DECLARE_WRITE8_MEMBER(fclown_ay8910_w); DECLARE_WRITE8_MEMBER(fclown_ay8910_w);
DECLARE_DRIVER_INIT(fclown);
}; };
@ -1204,13 +1205,12 @@ ROM_END
* Driver Init * * Driver Init *
*************************/ *************************/
static DRIVER_INIT( fclown ) DRIVER_INIT_MEMBER(_5clown_state,fclown)
{ {
_5clown_state *state = machine.driver_data<_5clown_state>();
/* Decrypting main program */ /* Decrypting main program */
int x; int x;
UINT8 *src = state->memregion( "maincpu" )->base(); UINT8 *src = memregion( "maincpu" )->base();
for (x = 0x0000; x < 0x10000; x++) for (x = 0x0000; x < 0x10000; x++)
{ {
@ -1220,8 +1220,8 @@ static DRIVER_INIT( fclown )
/* Decrypting GFX by segments */ /* Decrypting GFX by segments */
UINT8 *gfx1_src = machine.root_device().memregion( "gfx1" )->base(); UINT8 *gfx1_src = machine().root_device().memregion( "gfx1" )->base();
UINT8 *gfx2_src = machine.root_device().memregion( "gfx2" )->base(); UINT8 *gfx2_src = machine().root_device().memregion( "gfx2" )->base();
for (x = 0x2000; x < 0x3000; x++) for (x = 0x2000; x < 0x3000; x++)
{ {
@ -1241,7 +1241,7 @@ static DRIVER_INIT( fclown )
/* Decrypting sound samples */ /* Decrypting sound samples */
UINT8 *samples_src = machine.root_device().memregion( "oki6295" )->base(); UINT8 *samples_src = machine().root_device().memregion( "oki6295" )->base();
for (x = 0x0000; x < 0x10000; x++) for (x = 0x0000; x < 0x10000; x++)
{ {
@ -1259,7 +1259,7 @@ static DRIVER_INIT( fclown )
/* Assigning AY-3-8910 sound device */ /* Assigning AY-3-8910 sound device */
state->m_ay8910 = machine.device("ay8910"); m_ay8910 = machine().device("ay8910");
} }

View File

@ -2165,11 +2165,11 @@ MACHINE_CONFIG_DERIVED_CLASS( vortex, mw8080bw_root, _8080bw_state )
MACHINE_CONFIG_END MACHINE_CONFIG_END
/* decrypt function for vortex */ /* decrypt function for vortex */
static DRIVER_INIT( vortex ) DRIVER_INIT_MEMBER(_8080bw_state,vortex)
{ {
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int length = machine.root_device().memregion("maincpu")->bytes(); int length = machine().root_device().memregion("maincpu")->bytes();
UINT8 *buf1 = auto_alloc_array(machine, UINT8, length); UINT8 *buf1 = auto_alloc_array(machine(), UINT8, length);
UINT32 x; UINT32 x;
for (x = 0; x < length; x++) for (x = 0; x < length; x++)
{ {
@ -2211,7 +2211,7 @@ static DRIVER_INIT( vortex )
memcpy(rom, buf1, length); memcpy(rom, buf1, length);
auto_free(machine, buf1); auto_free(machine(), buf1);
} }
@ -2550,11 +2550,11 @@ MACHINE_CONFIG_DERIVED_CLASS( invmulti, invaders, _8080bw_state )
MACHINE_CONFIG_END MACHINE_CONFIG_END
static DRIVER_INIT( invmulti ) DRIVER_INIT_MEMBER(_8080bw_state,invmulti)
{ {
UINT8 *src = machine.root_device().memregion("user1")->base(); UINT8 *src = machine().root_device().memregion("user1")->base();
int len = machine.root_device().memregion("user1")->bytes(); int len = machine().root_device().memregion("user1")->bytes();
UINT8 *dest = machine.root_device().memregion("maincpu")->base(); UINT8 *dest = machine().root_device().memregion("maincpu")->base();
// decrypt rom // decrypt rom
for (int i = 0; i < len; i++) for (int i = 0; i < len; i++)
@ -3698,86 +3698,86 @@ ROM_END
/* board # rom parent machine inp */ /* board # rom parent machine inp */
/* Taito games */ /* Taito games */
GAMEL(1978, sitv, invaders, invaders, sitv, mw8080bw_state, 0, ROT270, "Taito", "Space Invaders (TV Version)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, sitv, invaders, invaders, sitv, driver_device, 0, ROT270, "Taito", "Space Invaders (TV Version)", GAME_SUPPORTS_SAVE, layout_invaders )
GAME( 1979, sicv, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (CV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, sicv, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (CV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1978, sisv, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (SV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1978, sisv, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (SV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1978, sisv2, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (SV Version 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1978, sisv2, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (SV Version 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1978, spacerng, invaders, invadpt2, sitv, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics)", "Space Ranger (bootleg of Space Invaders)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // many modifications GAME( 1978, spacerng, invaders, invadpt2, sitv, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics)", "Space Ranger (bootleg of Space Invaders)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // many modifications
GAME( 1979, galxwars, 0, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal", "Galaxy Wars (Universal set 1)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1979, galxwars, 0, invadpt2, galxwars, driver_device, 0, ROT270, "Universal", "Galaxy Wars (Universal set 1)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1979, galxwars2,galxwars, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal", "Galaxy Wars (Universal set 2)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1979, galxwars2,galxwars, invadpt2, galxwars, driver_device, 0, ROT270, "Universal", "Galaxy Wars (Universal set 2)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1979, galxwarst,galxwars, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal (Taito license?)", "Galaxy Wars (Taito?)" , GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* Copyright Not Displayed */ GAME( 1979, galxwarst,galxwars, invadpt2, galxwars, driver_device, 0, ROT270, "Universal (Taito license?)", "Galaxy Wars (Taito?)" , GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* Copyright Not Displayed */
GAME( 1979, starw, galxwars, invaders, galxwars, mw8080bw_state, 0, ROT270, "bootleg", "Star Wars", GAME_SUPPORTS_SAVE ) GAME( 1979, starw, galxwars, invaders, galxwars, driver_device, 0, ROT270, "bootleg", "Star Wars", GAME_SUPPORTS_SAVE )
GAME( 1979, lrescue, 0, lrescue, lrescue, _8080bw_state, 0, ROT270, "Taito", "Lunar Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, lrescue, 0, lrescue, lrescue, driver_device, 0, ROT270, "Taito", "Lunar Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, mlander, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics)", "Moon Lander (bootleg of Lunar Rescue)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1980, mlander, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics)", "Moon Lander (bootleg of Lunar Rescue)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1978, lrescuem, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "bootleg (Model Racing)", "Lunar Rescue (Model Racing bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1978, lrescuem, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "bootleg (Model Racing)", "Lunar Rescue (Model Racing bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1979, grescue, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, grescue, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1979, desterth, lrescue, lrescue, invrvnge, _8080bw_state, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, desterth, lrescue, lrescue, invrvnge, driver_device, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1979, invadpt2, 0, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, invadpt2, 0, invadpt2, invadpt2, driver_device, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, driver_device, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, mw8080bw_state, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE ) GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, driver_device, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE )
GAME( 1980, vortex, 0, vortex, vortex, _8080bw_state, vortex, ROT270, "Zilec Electronics", "Vortex", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* Encrypted 8080/IO */ GAME( 1980, vortex, 0, vortex, vortex, _8080bw_state, vortex, ROT270, "Zilec Electronics", "Vortex", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* Encrypted 8080/IO */
GAME( 1979, cosmo, 0, cosmo, cosmo, _8080bw_state, 0, ROT90, "TDS & MINTS", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, cosmo, 0, cosmo, cosmo, driver_device, 0, ROT90, "TDS & MINTS", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1979, schaser, 0, schaser, schaser, _8080bw_state, 0, ROT270, "Taito", "Space Chaser", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_COLORS ) GAME( 1979, schaser, 0, schaser, schaser, driver_device, 0, ROT270, "Taito", "Space Chaser", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_COLORS )
GAME( 1979, schasercv,schaser, schasercv,schasercv, _8080bw_state,0, ROT270, "Taito", "Space Chaser (CV version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS ) GAME( 1979, schasercv,schaser, schasercv,schasercv, driver_device,0, ROT270, "Taito", "Space Chaser (CV version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
GAME( 1979, sflush, 0, sflush, sflush, _8080bw_state, 0, ROT270, "Taito", "Straight Flush",GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL) GAME( 1979, sflush, 0, sflush, sflush, driver_device, 0, ROT270, "Taito", "Straight Flush",GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL)
GAME( 1980, lupin3, 0, lupin3, lupin3, _8080bw_state, 0, ROT270, "Taito", "Lupin III (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, lupin3, 0, lupin3, lupin3, driver_device, 0, ROT270, "Taito", "Lupin III (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, lupin3a, lupin3, lupin3a, lupin3a, _8080bw_state, 0, ROT270, "Taito", "Lupin III (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, lupin3a, lupin3, lupin3a, lupin3a, driver_device, 0, ROT270, "Taito", "Lupin III (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, polaris, 0, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (Latest version)", GAME_SUPPORTS_SAVE ) GAME( 1980, polaris, 0, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (Latest version)", GAME_SUPPORTS_SAVE )
GAME( 1980, polarisa, polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (First revision)", GAME_SUPPORTS_SAVE ) GAME( 1980, polarisa, polaris, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (First revision)", GAME_SUPPORTS_SAVE )
GAME( 1980, polariso, polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (Original version)", GAME_SUPPORTS_SAVE ) GAME( 1980, polariso, polaris, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (Original version)", GAME_SUPPORTS_SAVE )
GAME( 1981, polarisbr,polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE ) GAME( 1981, polarisbr,polaris, polaris, polaris, driver_device, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE )
GAME( 1980, ballbomb, 0, ballbomb, ballbomb, _8080bw_state, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds */ GAME( 1980, ballbomb, 0, ballbomb, ballbomb, driver_device, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds */
GAME( 1980, indianbt, 0, indianbt, indianbt, _8080bw_state, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, indianbt, 0, indianbt, indianbt, driver_device, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, steelwkr, 0, steelwkr, steelwkr, _8080bw_state, 0, ROT0 , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, steelwkr, 0, steelwkr, steelwkr, driver_device, 0, ROT0 , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 19??, galactic, 0, invaders, galactic, mw8080bw_state, 0, ROT270, "Taito do Brasil", "Galactica - Batalha Espacial", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // 19?? = 79/80/81, copyright not displayed GAME( 19??, galactic, 0, invaders, galactic, driver_device, 0, ROT270, "Taito do Brasil", "Galactica - Batalha Espacial", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // 19?? = 79/80/81, copyright not displayed
GAME( 19??, spacmiss, galactic, invaders, galactic, mw8080bw_state, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 19??, spacmiss, galactic, invaders, galactic, driver_device, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
/* Misc. manufacturers */ /* Misc. manufacturers */
GAMEL(1980, searthin, invaders, invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Super Earth Invasion (set 1)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1980, searthin, invaders, invaders, searthin, driver_device, 0, ROT270, "bootleg", "Super Earth Invasion (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1980, searthina,invaders, invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Super Earth Invasion (set 2)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1980, searthina,invaders, invaders, searthin, driver_device, 0, ROT270, "bootleg", "Super Earth Invasion (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, invadrmr, invaders, invaders, invadrmr, mw8080bw_state, 0, ROT270, "bootleg? (Model Racing)", "Space Invaders (Model Racing)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, invadrmr, invaders, invaders, invadrmr, driver_device, 0, ROT270, "bootleg? (Model Racing)", "Space Invaders (Model Racing)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, spaceatt, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg (Video Games GmbH)", "Space Attack", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, spaceatt, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg (Video Games GmbH)", "Space Attack", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1980, spaceat2, invaders, invaders, spaceatt, mw8080bw_state, 0, ROT270, "bootleg (Video Games UK)", "Space Attack II", GAME_SUPPORTS_SAVE, layout_invaders ) // bootleg of super invaders GAMEL(1980, spaceat2, invaders, invaders, spaceatt, driver_device, 0, ROT270, "bootleg (Video Games UK)", "Space Attack II", GAME_SUPPORTS_SAVE, layout_invaders ) // bootleg of super invaders
GAMEL(19??, sinvzen, invaders, invaders, spaceatt, mw8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd", "Super Invaders (Zenitone-Microsec)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, sinvzen, invaders, invaders, spaceatt, driver_device, 0, ROT270, "Zenitone-Microsec Ltd", "Super Invaders (Zenitone-Microsec)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, sinvemag, invaders, invaders, sinvemag, mw8080bw_state, 0, ROT270, "bootleg (Emag)", "Super Invaders (Emag)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, sinvemag, invaders, invaders, sinvemag, driver_device, 0, ROT270, "bootleg (Emag)", "Super Invaders (Emag)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, tst_invd, invaders, invaders, sicv, mw8080bw_state, 0, ROT0, "<unknown>", "Space Invaders Test ROM", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, tst_invd, invaders, invaders, sicv, driver_device, 0, ROT0, "<unknown>", "Space Invaders Test ROM", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, alieninv, invaders, invaders, alieninv, mw8080bw_state, 0, ROT270, "bootleg (Margamatics)", "Alien Invasion", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, alieninv, invaders, invaders, alieninv, driver_device, 0, ROT270, "bootleg (Margamatics)", "Alien Invasion", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, alieninvp2,invaders,invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Alien Invasion Part II", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, alieninvp2,invaders,invaders, searthin, driver_device, 0, ROT270, "bootleg", "Alien Invasion Part II", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, spceking, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "Leijac Corporation","Space King", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, spceking, invaders, invaders, sicv, driver_device, 0, ROT270, "Leijac Corporation","Space King", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, spcewars, invaders, spcewars, spcewars, _8080bw_state, 0, ROT270, "bootleg? (Sanritsu)", "Space War (Sanritsu)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, spcewars, invaders, spcewars, spcewars, driver_device, 0, ROT270, "bootleg? (Sanritsu)", "Space War (Sanritsu)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
GAME (19??, astropal, 0, astropal, astropal, _8080bw_state, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME (19??, astropal, 0, astropal, astropal, driver_device, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAMEL(1978, spacewr3, invaders, spcewars, sicv, _8080bw_state, 0, ROT270, "bootleg", "Space War Part 3", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, spacewr3, invaders, spcewars, sicv, driver_device, 0, ROT270, "bootleg", "Space War Part 3", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, invaderl, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg? (Logitec)", "Space Invaders (Logitec)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, invaderl, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg? (Logitec)", "Space Invaders (Logitec)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1978, invader4, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg", "Space Invaders Part Four", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1978, invader4, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg", "Space Invaders Part Four", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1979, jspecter, invaders, invaders, jspecter, mw8080bw_state, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 1)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1979, jspecter, invaders, invaders, jspecter, driver_device, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1979, jspecter2,invaders, invaders, jspecter, mw8080bw_state, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 2)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(1979, jspecter2,invaders, invaders, jspecter, driver_device, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(1979, cosmicmo, invaders, invaders, cosmicmo, mw8080bw_state, 0, ROT270, "Universal", "Cosmic Monsters", GAME_SUPPORTS_SAVE, layout_cosmicm ) GAMEL(1979, cosmicmo, invaders, invaders, cosmicmo, driver_device, 0, ROT270, "Universal", "Cosmic Monsters", GAME_SUPPORTS_SAVE, layout_cosmicm )
GAMEL(1979, cosmicm2, invaders, invaders, cosmicmo, mw8080bw_state, 0, ROT270, "Universal", "Cosmic Monsters 2", GAME_SUPPORTS_SAVE, layout_cosmicm ) GAMEL(1979, cosmicm2, invaders, invaders, cosmicmo, driver_device, 0, ROT270, "Universal", "Cosmic Monsters 2", GAME_SUPPORTS_SAVE, layout_cosmicm )
GAMEL(19??, superinv, invaders, invaders, superinv, mw8080bw_state, 0, ROT270, "bootleg", "Super Invaders", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, superinv, invaders, invaders, superinv, driver_device, 0, ROT270, "bootleg", "Super Invaders", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, invasion, invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "Sidam", "Invasion (Sidam)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, invasion, invaders, invaders, invasion, driver_device, 0, ROT270, "Sidam", "Invasion (Sidam)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, invasiona,invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg", "Invasion (bootleg, set 1, normal graphics)", GAME_SUPPORTS_SAVE, layout_invaders ) // has Sidam replaced with 'Ufo Monster Attack' and standard GFX GAMEL(19??, invasiona,invaders, invaders, invasion, driver_device, 0, ROT270, "bootleg", "Invasion (bootleg, set 1, normal graphics)", GAME_SUPPORTS_SAVE, layout_invaders ) // has Sidam replaced with 'Ufo Monster Attack' and standard GFX
GAMEL(19??, invasionb,invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg", "Invasion (bootleg, set 2, no copyright)", GAME_SUPPORTS_SAVE, layout_invaders ) GAMEL(19??, invasionb,invaders, invaders, invasion, driver_device, 0, ROT270, "bootleg", "Invasion (bootleg, set 2, no copyright)", GAME_SUPPORTS_SAVE, layout_invaders )
GAMEL(19??, invasionrz,invaders,invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 3, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders ) GAMEL(19??, invasionrz,invaders,invaders, invasion, driver_device, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 3, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
GAMEL(19??, invasionrza,invaders,invaders,invasion, mw8080bw_state, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 4, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders ) GAMEL(19??, invasionrza,invaders,invaders,invasion, driver_device, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 4, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
GAME( 19??, darthvdr, invaders, darthvdr, darthvdr, _8080bw_state, 0, ROT270, "bootleg", "Darth Vader", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) GAME( 19??, darthvdr, invaders, darthvdr, darthvdr, driver_device, 0, ROT270, "bootleg", "Darth Vader", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
GAME( 1979, moonbase, invadpt2, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Nichibutsu (Taito license?)", "Moon Base (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has a 'Taito Corp' string hidden away in the rom - how do you get it to display? GAME( 1979, moonbase, invadpt2, invadpt2, invadpt2, driver_device, 0, ROT270, "Nichibutsu (Taito license?)", "Moon Base (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has a 'Taito Corp' string hidden away in the rom - how do you get it to display?
GAME( 1979, moonbasea,invadpt2, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Nichibutsu", "Moon Base (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has the same string replaced with Nichibutsu, no other differences GAME( 1979, moonbasea,invadpt2, invadpt2, invadpt2, driver_device, 0, ROT270, "Nichibutsu", "Moon Base (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has the same string replaced with Nichibutsu, no other differences
GAMEL(19??, invrvnge, 0, invrvnge, invrvnge, _8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd.", "Invader's Revenge", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge ) GAMEL(19??, invrvnge, 0, invrvnge, invrvnge, driver_device, 0, ROT270, "Zenitone-Microsec Ltd.", "Invader's Revenge", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
GAMEL(19??, invrvngea,invrvnge, invrvnge, invrvnge, _8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd. (Dutchford license)", "Invader's Revenge (Dutchford)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge ) GAMEL(19??, invrvngea,invrvnge, invrvnge, invrvnge, driver_device, 0, ROT270, "Zenitone-Microsec Ltd. (Dutchford license)", "Invader's Revenge (Dutchford)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
GAME( 1980, spclaser, 0, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Game Plan (Taito license)", "Space Laser", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1980, spclaser, 0, invadpt2, spclaser, driver_device, 0, ROT270, "Game Plan (Taito license)", "Space Laser", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1980, intruder, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Game Plan (Taito license)", "Intruder", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, intruder, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "Game Plan (Taito license)", "Intruder", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
GAME( 1980, laser, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics Inc.)", "Astro Laser (bootleg of Space Laser)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1980, laser, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics Inc.)", "Astro Laser (bootleg of Space Laser)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1979, spcewarl, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Leijac Corporation", "Space War (Leijac Corporation)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1979, spcewarl, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "Leijac Corporation", "Space War (Leijac Corporation)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1979, rollingc, 0, rollingc, rollingc, _8080bw_state, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, rollingc, 0, rollingc, rollingc, driver_device, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, ozmawars, 0, invaders, ozmawars, mw8080bw_state, 0, ROT270, "SNK", "Ozma Wars (set 1)", GAME_SUPPORTS_SAVE ) GAME( 1979, ozmawars, 0, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1979, ozmawars2,ozmawars, invaders, ozmawars, mw8080bw_state, 0, ROT270, "SNK", "Ozma Wars (set 2)", GAME_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */ GAME( 1979, ozmawars2,ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 2)", GAME_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */
GAME( 1979, solfight, ozmawars, invaders, ozmawars, mw8080bw_state, 0, ROT270, "bootleg", "Solar Fight", GAME_SUPPORTS_SAVE ) GAME( 1979, solfight, ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "bootleg", "Solar Fight", GAME_SUPPORTS_SAVE )
GAME( 1979, spaceph, ozmawars, invaders, spaceph, mw8080bw_state, 0, ROT270, "SNK (Zilec Games license?)", "Space Phantoms", GAME_SUPPORTS_SAVE ) // or bootleg? GAME( 1979, spaceph, ozmawars, invaders, spaceph, driver_device, 0, ROT270, "SNK (Zilec Games license?)", "Space Phantoms", GAME_SUPPORTS_SAVE ) // or bootleg?
GAME( 1979, yosakdon, 0, yosakdon, yosakdon, _8080bw_state, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */ GAME( 1979, yosakdon, 0, yosakdon, yosakdon, driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
GAME( 1979, yosakdona,yosakdon, yosakdon, yosakdon, _8080bw_state, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */ GAME( 1979, yosakdona,yosakdon, yosakdon, yosakdon, driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
GAMEL(1979, shuttlei, 0, shuttlei, shuttlei, _8080bw_state, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei ) GAMEL(1979, shuttlei, 0, shuttlei, shuttlei, driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
GAMEL(1979, skylove, 0, shuttlei, skylove, _8080bw_state, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei ) GAMEL(1979, skylove, 0, shuttlei, skylove, driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
GAME (19??, modelr, 0, modelr, invadrmr, _8080bw_state, 0, ROT0, "Model Racing", "unknown Model Racing gun game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no titlescreen GAME (19??, modelr, 0, modelr, invadrmr, driver_device, 0, ROT0, "Model Racing", "unknown Model Racing gun game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no titlescreen
GAME( 2002, invmulti, 0, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 2002, invmulti, 0, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 2002, invmultim3a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 2002, invmultim3a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )

View File

@ -589,6 +589,6 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1988, 88games, 0, 88games, 88games, _88games_state, 0, ROT0, "Konami", "'88 Games", GAME_SUPPORTS_SAVE ) GAME( 1988, 88games, 0, 88games, 88games, driver_device, 0, ROT0, "Konami", "'88 Games", GAME_SUPPORTS_SAVE )
GAME( 1988, konami88, 88games, 88games, 88games, _88games_state, 0, ROT0, "Konami", "Konami '88", GAME_SUPPORTS_SAVE ) GAME( 1988, konami88, 88games, 88games, 88games, driver_device, 0, ROT0, "Konami", "Konami '88", GAME_SUPPORTS_SAVE )
GAME( 1988, hypsptsp, 88games, 88games, 88games, _88games_state, 0, ROT0, "Konami", "Hyper Sports Special (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1988, hypsptsp, 88games, 88games, 88games, driver_device, 0, ROT0, "Konami", "Hyper Sports Special (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -393,4 +393,4 @@ ROM_START( ace )
ROM_END ROM_END
GAME( 1976, ace, 0, ace, ace, aceal_state, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) GAME( 1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )

View File

@ -36,6 +36,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(sidewndr_payout_r); DECLARE_CUSTOM_INPUT_MEMBER(sidewndr_payout_r);
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_coinage_r); DECLARE_CUSTOM_INPUT_MEMBER(starspnr_coinage_r);
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_payout_r); DECLARE_CUSTOM_INPUT_MEMBER(starspnr_payout_r);
DECLARE_DRIVER_INIT(sidewndr);
}; };
@ -602,9 +603,9 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
/* sound hardware */ /* sound hardware */
MACHINE_CONFIG_END MACHINE_CONFIG_END
static DRIVER_INIT( sidewndr ) DRIVER_INIT_MEMBER(acefruit_state,sidewndr)
{ {
UINT8 *ROM = machine.root_device().memregion( "maincpu" )->base(); UINT8 *ROM = machine().root_device().memregion( "maincpu" )->base();
/* replace "ret nc" ( 0xd0 ) with "di" */ /* replace "ret nc" ( 0xd0 ) with "di" */
ROM[ 0 ] = 0xf3; ROM[ 0 ] = 0xf3;
/* this is either a bad dump or the cpu core should set the carry flag on reset */ /* this is either a bad dump or the cpu core should set the carry flag on reset */
@ -741,8 +742,8 @@ ROM_END
GAMEL( 1981?, sidewndr, 0, acefruit, sidewndr, acefruit_state, sidewndr, ROT270, "ACE", "Sidewinder", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr ) GAMEL( 1981?, sidewndr, 0, acefruit, sidewndr, acefruit_state, sidewndr, ROT270, "ACE", "Sidewinder", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
GAMEL( 1981?, spellbnd, 0, acefruit, spellbnd, acefruit_state, 0, ROT270, "ACE", "Spellbound", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr ) GAMEL( 1981?, spellbnd, 0, acefruit, spellbnd, driver_device, 0, ROT270, "ACE", "Spellbound", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
GAME ( 1982?, starspnr, 0, acefruit, starspnr, acefruit_state, 0, ROT270, "ACE", "Starspinner (Dutch/Nederlands)", GAME_NOT_WORKING | GAME_NO_SOUND ) GAME ( 1982?, starspnr, 0, acefruit, starspnr, driver_device, 0, ROT270, "ACE", "Starspinner (Dutch/Nederlands)", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME ( 1982?, acefruit, 0, acefruit, spellbnd, acefruit_state, 0, ROT270, "ACE", "Silhouette", GAME_NOT_WORKING | GAME_NO_SOUND ) // inputs and video in bonus game need fixing on this one GAME ( 1982?, acefruit, 0, acefruit, spellbnd, driver_device, 0, ROT270, "ACE", "Silhouette", GAME_NOT_WORKING | GAME_NO_SOUND ) // inputs and video in bonus game need fixing on this one
// not dumped: Magnum? // not dumped: Magnum?

View File

@ -143,9 +143,7 @@ public:
// devices // devices
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
DECLARE_DRIVER_INIT(aces1);
protected:
}; };
@ -693,7 +691,7 @@ ROM_END
DRIVER_INIT( aces1 ) DRIVER_INIT_MEMBER(aces1_state,aces1)
{ {
} }

View File

@ -30,6 +30,9 @@ protected:
// devices // devices
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
public:
DECLARE_DRIVER_INIT(ace_sp);
DECLARE_DRIVER_INIT(ace_cr);
}; };
@ -3892,12 +3895,12 @@ ROM_END
// mpu4.c // mpu4.c
extern void descramble_crystal( UINT8* region, int start, int end, UINT8 extra_xor); extern void descramble_crystal( UINT8* region, int start, int end, UINT8 extra_xor);
DRIVER_INIT( ace_cr ) DRIVER_INIT_MEMBER(ace_sp_state,ace_cr)
{ {
descramble_crystal(machine.root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00); descramble_crystal(machine().root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00);
} }
DRIVER_INIT( ace_sp ) DRIVER_INIT_MEMBER(ace_sp_state,ace_sp)
{ {
} }

View File

@ -665,4 +665,4 @@ ROM_START( acommand )
ROM_LOAD( "jalmr17.bin", 0x080000, 0x080000, CRC(9d428fb7) SHA1(02f72938d73db932bd217620a175a05215f6016a) ) ROM_LOAD( "jalmr17.bin", 0x080000, 0x080000, CRC(9d428fb7) SHA1(02f72938d73db932bd217620a175a05215f6016a) )
ROM_END ROM_END
GAME( 1994, acommand, 0, acommand, acommand, acommand_state, 0, ROT0, "Jaleco", "Alien Command" , GAME_NOT_WORKING | GAME_MECHANICAL) GAME( 1994, acommand, 0, acommand, acommand, driver_device, 0, ROT0, "Jaleco", "Alien Command" , GAME_NOT_WORKING | GAME_MECHANICAL)

View File

@ -594,8 +594,8 @@ ROM_END
/******************************************************************************/ /******************************************************************************/
GAME( 1989, actfancr, 0, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", GAME_SUPPORTS_SAVE ) GAME( 1989, actfancr, 0, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, actfancr1,actfancr, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", GAME_SUPPORTS_SAVE ) GAME( 1989, actfancr1,actfancr, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, actfancrj,actfancr, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", GAME_SUPPORTS_SAVE ) GAME( 1989, actfancrj,actfancr, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, triothep, 0, triothep, triothep, actfancr_state, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", GAME_SUPPORTS_SAVE ) GAME( 1989, triothep, 0, triothep, triothep, driver_device, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", GAME_SUPPORTS_SAVE )
GAME( 1989, triothepj,triothep, triothep, triothep, actfancr_state, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1989, triothepj,triothep, triothep, triothep, driver_device, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -864,11 +864,11 @@ ROM_START( fstation )
ROM_END ROM_END
GAME( 1990, backgamn, 0, backgamn, skattv, adp_state, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING ) GAME( 1990, backgamn, 0, backgamn, skattv, driver_device, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING )
GAME( 1993, quickjac, 0, quickjac, skattv, adp_state, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING ) GAME( 1993, quickjac, 0, quickjac, skattv, driver_device, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING )
GAME( 1994, skattv, 0, skattv, skattv, adp_state, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING ) GAME( 1994, skattv, 0, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING )
GAME( 1995, skattva, skattv, skattv, skattv, adp_state, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING ) GAME( 1995, skattva, skattv, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING )
GAME( 1997, fashiong, 0, fashiong, skattv, adp_state, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING ) GAME( 1997, fashiong, 0, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING )
GAME( 1997, fashiong2, fashiong, fashiong, skattv, adp_state, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING ) GAME( 1997, fashiong2, fashiong, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING )
GAME( 1999, funlddlx, 0, funland, skattv, adp_state, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING ) GAME( 1999, funlddlx, 0, funland, skattv, driver_device, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING )
GAME( 2000, fstation, 0, fstation, skattv, adp_state, 0, ROT0, "ADP", "Fun Station Spielekoffer 9 Spiele", GAME_NOT_WORKING ) GAME( 2000, fstation, 0, fstation, skattv, driver_device, 0, ROT0, "ADP", "Fun Station Spielekoffer 9 Spiele", GAME_NOT_WORKING )

View File

@ -351,5 +351,5 @@ ROM_END
GAME( 1984, formatz, 0, formatz, formatz, aeroboto_state, 0, ROT0, "Jaleco", "Formation Z", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) GAME( 1984, formatz, 0, formatz, formatz, driver_device, 0, ROT0, "Jaleco", "Formation Z", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1984, aeroboto, formatz, formatz, formatz, aeroboto_state, 0, ROT0, "Jaleco (Williams license)", "Aeroboto", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) GAME( 1984, aeroboto, formatz, formatz, formatz, driver_device, 0, ROT0, "Jaleco (Williams license)", "Aeroboto", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )

View File

@ -2494,25 +2494,25 @@ ROM_START( wbbc97 )
ROM_END ROM_END
GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, aerofgt_state, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, driver_device, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1990, spinlbrku,spinlbrk, spinlbrk, spinlbrku, aerofgt_state,0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1990, spinlbrku,spinlbrk, spinlbrk, spinlbrku, driver_device,0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1990, spinlbrkj,spinlbrk, spinlbrk, spinlbrk, aerofgt_state, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1990, spinlbrkj,spinlbrk, spinlbrk, spinlbrk, driver_device, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, pspikes, 0, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, pspikes, 0, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, pspikesk, pspikes, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, pspikesk, pspikes, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, svolly91, pspikes, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, svolly91, pspikes, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, aerofgt_state, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, driver_device, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, spikes91, pspikes, spikes91, pspikes, aerofgt_state, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_NO_COCKTAIL ) GAME( 1991, spikes91, pspikes, spikes91, pspikes, driver_device, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_NO_COCKTAIL )
GAME( 1991, spikes91a,pspikes, spikes91, pspikes, aerofgt_state, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL ) GAME( 1991, spikes91a,pspikes, spikes91, pspikes, driver_device, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL )
GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, aerofgt_state, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, driver_device, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
GAME( 1991, karatblz, 0, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, karatblz, 0, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, karatblzu,karatblz, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, karatblzu,karatblz, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, karatblzj,karatblz, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, karatblzj,karatblz, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1991, turbofrc, 0, turbofrc, turbofrc, aerofgt_state, 0, ROT270, "Video System Co.", "Turbo Force (old revision)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1991, turbofrc, 0, turbofrc, turbofrc, driver_device, 0, ROT270, "Video System Co.", "Turbo Force (old revision)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
// there's also an undumped Turbo Force (new revision). Most notable thing in there is the points value of the rocks in level 6 (5.000 versus 500). // there's also an undumped Turbo Force (new revision). Most notable thing in there is the points value of the rocks in level 6 (5.000 versus 500).
GAME( 1992, aerofgt, 0, aerofgt, aerofgt, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1992, aerofgt, 0, aerofgt, aerofgt, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, aerofgt_state, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, driver_device, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, aerofgt_state, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, driver_device, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
GAME( 1997, wbbc97, 0, wbbc97, wbbc97, aerofgt_state, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1997, wbbc97, 0, wbbc97, wbbc97, driver_device, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )

View File

@ -786,10 +786,9 @@ ROM_END
/* Driver Initialization */ /* Driver Initialization */
static DRIVER_INIT( airbustr ) DRIVER_INIT_MEMBER(airbustr_state,airbustr)
{ {
airbustr_state *state = machine.driver_data<airbustr_state>(); machine().device("master")->memory().space(AS_PROGRAM)->install_read_handler(0xe000, 0xefff, read8_delegate(FUNC(airbustr_state::devram_r),this)); // protection device lives here
machine.device("master")->memory().space(AS_PROGRAM)->install_read_handler(0xe000, 0xefff, read8_delegate(FUNC(airbustr_state::devram_r),state)); // protection device lives here
} }
@ -797,4 +796,4 @@ static DRIVER_INIT( airbustr )
GAME( 1990, airbustr, 0, airbustr, airbustr, airbustr_state, airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (World)", GAME_SUPPORTS_SAVE ) // 891220 GAME( 1990, airbustr, 0, airbustr, airbustr, airbustr_state, airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (World)", GAME_SUPPORTS_SAVE ) // 891220
GAME( 1990, airbustrj, airbustr, airbustr, airbustrj, airbustr_state,airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (Japan)", GAME_SUPPORTS_SAVE) // 891229 GAME( 1990, airbustrj, airbustr, airbustr, airbustrj, airbustr_state,airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (Japan)", GAME_SUPPORTS_SAVE) // 891229
GAME( 1990, airbustrb, airbustr, airbustrb,airbustrj, airbustr_state,0, ROT0, "bootleg", "Air Buster: Trouble Specialty Raid Unit (bootleg)", GAME_SUPPORTS_SAVE) // based on Japan set (891229) GAME( 1990, airbustrb, airbustr, airbustrb,airbustrj, driver_device,0, ROT0, "bootleg", "Air Buster: Trouble Specialty Raid Unit (bootleg)", GAME_SUPPORTS_SAVE) // based on Japan set (891229)

View File

@ -412,6 +412,6 @@ ROM_START( ajaxj )
ROM_END ROM_END
GAME( 1987, ajax, 0, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Ajax", GAME_SUPPORTS_SAVE ) GAME( 1987, ajax, 0, ajax, ajax, driver_device, 0, ROT90, "Konami", "Ajax", GAME_SUPPORTS_SAVE )
GAME( 1987, typhoon, ajax, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Typhoon", GAME_SUPPORTS_SAVE ) GAME( 1987, typhoon, ajax, ajax, ajax, driver_device, 0, ROT90, "Konami", "Typhoon", GAME_SUPPORTS_SAVE )
GAME( 1987, ajaxj, ajax, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Ajax (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1987, ajaxj, ajax, ajax, ajax, driver_device, 0, ROT90, "Konami", "Ajax (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -309,4 +309,4 @@ ROM_START( hanaroku )
ROM_END ROM_END
GAME( 1988, hanaroku, 0, hanaroku, hanaroku, albazc_state, 0, ROT0, "Alba", "Hanaroku", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1988, hanaroku, 0, hanaroku, hanaroku, driver_device, 0, ROT0, "Alba", "Hanaroku", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )

View File

@ -432,4 +432,4 @@ ROM_START( yumefuda )
ROM_LOAD("zg1-007.u13", 0x000, 0x100, NO_DUMP ) //could be either PROM or PAL ROM_LOAD("zg1-007.u13", 0x000, 0x100, NO_DUMP ) //could be either PROM or PAL
ROM_END ROM_END
GAME( 1991, yumefuda, 0, yumefuda, yumefuda, albazg_state, 0, ROT0, "Alba", "Yumefuda [BET]", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) GAME( 1991, yumefuda, 0, yumefuda, yumefuda, driver_device, 0, ROT0, "Alba", "Yumefuda [BET]", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )

View File

@ -835,9 +835,9 @@ static MACHINE_CONFIG_START( aleck64, n64_state )
MCFG_N64_PERIPHS_ADD("rcp"); MCFG_N64_PERIPHS_ADD("rcp");
MACHINE_CONFIG_END MACHINE_CONFIG_END
static DRIVER_INIT( aleck64 ) DRIVER_INIT_MEMBER(n64_state,aleck64)
{ {
UINT8 *rom = machine.root_device().memregion("user2")->base(); UINT8 *rom = machine().root_device().memregion("user2")->base();
rom[0x67c] = 0; rom[0x67c] = 0;
rom[0x67d] = 0; rom[0x67d] = 0;

View File

@ -51,6 +51,11 @@ public:
DECLARE_WRITE8_MEMBER(alg_cia_0_portb_w); DECLARE_WRITE8_MEMBER(alg_cia_0_portb_w);
DECLARE_READ8_MEMBER(alg_cia_1_porta_r); DECLARE_READ8_MEMBER(alg_cia_1_porta_r);
DECLARE_WRITE8_MEMBER(alg_cia_1_porta_w); DECLARE_WRITE8_MEMBER(alg_cia_1_porta_w);
DECLARE_DRIVER_INIT(aplatoon);
DECLARE_DRIVER_INIT(palr3);
DECLARE_DRIVER_INIT(palr1);
DECLARE_DRIVER_INIT(none);
DECLARE_DRIVER_INIT(palr6);
}; };
static TIMER_CALLBACK( response_timer ); static TIMER_CALLBACK( response_timer );
@ -715,11 +720,11 @@ static void alg_init(running_machine &machine)
* *
*************************************/ *************************************/
static DRIVER_INIT( palr1 ) DRIVER_INIT_MEMBER(alg_state,palr1)
{ {
UINT32 length = machine.root_device().memregion("user2")->bytes(); UINT32 length = machine().root_device().memregion("user2")->bytes();
UINT8 *rom = machine.root_device().memregion("user2")->base(); UINT8 *rom = machine().root_device().memregion("user2")->base();
UINT8 *original = auto_alloc_array(machine, UINT8, length); UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr; UINT32 srcaddr;
memcpy(original, rom, length); memcpy(original, rom, length);
@ -730,16 +735,16 @@ static DRIVER_INIT( palr1 )
if (srcaddr & 0x8000) dstaddr ^= 0x4000; if (srcaddr & 0x8000) dstaddr ^= 0x4000;
rom[dstaddr] = original[srcaddr]; rom[dstaddr] = original[srcaddr];
} }
auto_free(machine, original); auto_free(machine(), original);
alg_init(machine); alg_init(machine());
} }
static DRIVER_INIT( palr3 ) DRIVER_INIT_MEMBER(alg_state,palr3)
{ {
UINT32 length = machine.root_device().memregion("user2")->bytes(); UINT32 length = machine().root_device().memregion("user2")->bytes();
UINT8 *rom = machine.root_device().memregion("user2")->base(); UINT8 *rom = machine().root_device().memregion("user2")->base();
UINT8 *original = auto_alloc_array(machine, UINT8, length); UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr; UINT32 srcaddr;
memcpy(original, rom, length); memcpy(original, rom, length);
@ -749,16 +754,16 @@ static DRIVER_INIT( palr3 )
if (srcaddr & 0x2000) dstaddr ^= 0x1000; if (srcaddr & 0x2000) dstaddr ^= 0x1000;
rom[dstaddr] = original[srcaddr]; rom[dstaddr] = original[srcaddr];
} }
auto_free(machine, original); auto_free(machine(), original);
alg_init(machine); alg_init(machine());
} }
static DRIVER_INIT( palr6 ) DRIVER_INIT_MEMBER(alg_state,palr6)
{ {
UINT32 length = machine.root_device().memregion("user2")->bytes(); UINT32 length = machine().root_device().memregion("user2")->bytes();
UINT8 *rom = machine.root_device().memregion("user2")->base(); UINT8 *rom = machine().root_device().memregion("user2")->base();
UINT8 *original = auto_alloc_array(machine, UINT8, length); UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr; UINT32 srcaddr;
memcpy(original, rom, length); memcpy(original, rom, length);
@ -770,16 +775,16 @@ static DRIVER_INIT( palr6 )
dstaddr ^= 0x20000; dstaddr ^= 0x20000;
rom[dstaddr] = original[srcaddr]; rom[dstaddr] = original[srcaddr];
} }
auto_free(machine, original); auto_free(machine(), original);
alg_init(machine); alg_init(machine());
} }
static DRIVER_INIT( aplatoon ) DRIVER_INIT_MEMBER(alg_state,aplatoon)
{ {
/* NOT DONE TODO FIGURE OUT THE RIGHT ORDER!!!! */ /* NOT DONE TODO FIGURE OUT THE RIGHT ORDER!!!! */
UINT8 *rom = machine.root_device().memregion("user2")->base(); UINT8 *rom = machine().root_device().memregion("user2")->base();
UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x40000); UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x40000);
int i; int i;
static const int shuffle[] = static const int shuffle[] =
@ -792,12 +797,12 @@ static DRIVER_INIT( aplatoon )
memcpy(decrypted + i * 0x1000, rom + shuffle[i] * 0x1000, 0x1000); memcpy(decrypted + i * 0x1000, rom + shuffle[i] * 0x1000, 0x1000);
memcpy(rom, decrypted, 0x40000); memcpy(rom, decrypted, 0x40000);
logerror("decrypt done\n "); logerror("decrypt done\n ");
alg_init(machine); alg_init(machine());
} }
static DRIVER_INIT( none ) DRIVER_INIT_MEMBER(alg_state,none)
{ {
alg_init(machine); alg_init(machine());
} }

View File

@ -119,4 +119,4 @@ ROM_START( alien )
ROM_END ROM_END
GAME( 2005, alien, 0, alien, alien, alien_state, 0, ROT0, "Capcom", "Alien: The Arcade Medal Edition", GAME_NO_SOUND | GAME_NOT_WORKING ) GAME( 2005, alien, 0, alien, alien, driver_device, 0, ROT0, "Capcom", "Alien: The Arcade Medal Edition", GAME_NO_SOUND | GAME_NOT_WORKING )

View File

@ -545,10 +545,10 @@ static KONAMI_SETLINES_CALLBACK( aliens_banking )
device->machine().root_device().membank("bank1")->set_entry(bank); device->machine().root_device().membank("bank1")->set_entry(bank);
} }
GAME( 1990, aliens, 0, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliens, 0, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliens2, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 2)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliens2, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliens3, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 3)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliens3, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 3)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliensu, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (US)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliensu, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (US)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliensj, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Japan set 1)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliensj, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Japan set 1)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliensj2, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Japan set 2)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliensj2, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Japan set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, aliensa, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Asia)", GAME_SUPPORTS_SAVE ) GAME( 1990, aliensa, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Asia)", GAME_SUPPORTS_SAVE )

View File

@ -19,6 +19,8 @@ protected:
// driver_device overrides // driver_device overrides
virtual void machine_reset(); virtual void machine_reset();
public:
DECLARE_DRIVER_INIT(allied);
}; };
@ -35,7 +37,7 @@ void allied_state::machine_reset()
{ {
} }
static DRIVER_INIT( allied ) DRIVER_INIT_MEMBER(allied_state,allied)
{ {
} }

View File

@ -3140,149 +3140,133 @@ ROM_END
/******************************************************************************/ /******************************************************************************/
static DRIVER_INIT( sstingry ) DRIVER_INIT_MEMBER(alpha68k_state,sstingry)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x00ff;
state->m_microcontroller_id = 0x00ff; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( kyros ) DRIVER_INIT_MEMBER(alpha68k_state,kyros)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x0012;
state->m_microcontroller_id = 0x0012; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = ALPHA68K_KYROS;
state->m_game_id = ALPHA68K_KYROS;
} }
static DRIVER_INIT( jongbou ) DRIVER_INIT_MEMBER(alpha68k_state,jongbou)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0c0000, 0x0c0001, read16_delegate(FUNC(alpha68k_state::jongbou_inputs_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0c0000, 0x0c0001, read16_delegate(FUNC(alpha68k_state::jongbou_inputs_r),state)); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x00ff;
state->m_microcontroller_id = 0x00ff; m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = ALPHA68K_JONGBOU;
state->m_game_id = ALPHA68K_JONGBOU;
} }
static DRIVER_INIT( paddlema ) DRIVER_INIT_MEMBER(alpha68k_state,paddlema)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0; // Not needed !
state->m_coin_id = 0; // Not needed ! m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( timesold ) DRIVER_INIT_MEMBER(alpha68k_state,timesold)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( timesold1 ) DRIVER_INIT_MEMBER(alpha68k_state,timesold1)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 1;
state->m_invert_controls = 1; m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( btlfield ) DRIVER_INIT_MEMBER(alpha68k_state,btlfield)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 1;
state->m_invert_controls = 1; m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( btlfieldb ) DRIVER_INIT_MEMBER(alpha68k_state,btlfieldb)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 1;
state->m_invert_controls = 1; m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0x22 | (0x22 << 8); //not checked
state->m_coin_id = 0x22 | (0x22 << 8); //not checked m_game_id = ALPHA68K_BTLFIELDB;
state->m_game_id = ALPHA68K_BTLFIELDB;
} }
static DRIVER_INIT( skysoldr ) DRIVER_INIT_MEMBER(alpha68k_state,skysoldr)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); membank("bank8")->set_base((memregion("user1")->base()) + 0x40000);
state->membank("bank8")->set_base((state->memregion("user1")->base()) + 0x40000); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0;
state->m_microcontroller_id = 0; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( goldmedl ) DRIVER_INIT_MEMBER(alpha68k_state,goldmedl)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8803; //AT
state->m_microcontroller_id = 0x8803; //AT m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( goldmedla ) DRIVER_INIT_MEMBER(alpha68k_state,goldmedla)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); membank("bank8")->set_base(memregion("maincpu")->base() + 0x20000);
state->membank("bank8")->set_base(state->memregion("maincpu")->base() + 0x20000); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
state->m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl' m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( skyadvnt ) DRIVER_INIT_MEMBER(alpha68k_state,skyadvnt)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8814;
state->m_microcontroller_id = 0x8814; m_coin_id = 0x22 | (0x22 << 8);
state->m_coin_id = 0x22 | (0x22 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( skyadvntu ) DRIVER_INIT_MEMBER(alpha68k_state,skyadvntu)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8814;
state->m_microcontroller_id = 0x8814; m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( gangwarsu ) DRIVER_INIT_MEMBER(alpha68k_state,gangwarsu)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); membank("bank8")->set_base(memregion("user1")->base());
state->membank("bank8")->set_base(state->memregion("user1")->base()); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8512;
state->m_microcontroller_id = 0x8512; m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( gangwars ) DRIVER_INIT_MEMBER(alpha68k_state,gangwars)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); membank("bank8")->set_base(memregion("user1")->base());
state->membank("bank8")->set_base(state->memregion("user1")->base()); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x8512;
state->m_microcontroller_id = 0x8512; m_coin_id = 0x23 | (0x24 << 8);
state->m_coin_id = 0x23 | (0x24 << 8); m_game_id = 0;
state->m_game_id = 0;
} }
static DRIVER_INIT( sbasebal ) DRIVER_INIT_MEMBER(alpha68k_state,sbasebal)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); UINT16 *rom = (UINT16 *)memregion("maincpu")->base();
UINT16 *rom = (UINT16 *)state->memregion("maincpu")->base();
/* Patch protection check, it does a divide by zero because the MCU is trying to /* Patch protection check, it does a divide by zero because the MCU is trying to
calculate the ball speed when a strike is scored, notice that current emulation calculate the ball speed when a strike is scored, notice that current emulation
@ -3303,19 +3287,18 @@ static DRIVER_INIT( sbasebal )
rom[0x2b6/2] = 0x4e71; rom[0x2b6/2] = 0x4e71;
#endif #endif
state->m_invert_controls = 0; m_invert_controls = 0;
state->m_microcontroller_id = 0x8512; // Same as 'gangwars' ? m_microcontroller_id = 0x8512; // Same as 'gangwars' ?
state->m_coin_id = 0x23 | (0x24 << 8); m_coin_id = 0x23 | (0x24 << 8);
state->m_game_id = 0; m_game_id = 0;
} }
static DRIVER_INIT( tnextspc ) DRIVER_INIT_MEMBER(alpha68k_state,tnextspc)
{ {
alpha68k_state *state = machine.driver_data<alpha68k_state>(); m_invert_controls = 0;
state->m_invert_controls = 0; m_microcontroller_id = 0x890a;
state->m_microcontroller_id = 0x890a; m_coin_id = 0; // Not needed !
state->m_coin_id = 0; // Not needed ! m_game_id = 0;
state->m_game_id = 0;
} }
/******************************************************************************/ /******************************************************************************/

View File

@ -17,6 +17,8 @@ protected:
// driver_device overrides // driver_device overrides
virtual void machine_reset(); virtual void machine_reset();
public:
DECLARE_DRIVER_INIT(alvg);
}; };
@ -33,7 +35,7 @@ void alvg_state::machine_reset()
{ {
} }
static DRIVER_INIT( alvg ) DRIVER_INIT_MEMBER(alvg_state,alvg)
{ {
} }

View File

@ -439,6 +439,10 @@ public:
UINT8 m_nmi_mask; UINT8 m_nmi_mask;
DECLARE_WRITE8_MEMBER(out_a_w); DECLARE_WRITE8_MEMBER(out_a_w);
DECLARE_WRITE8_MEMBER(out_c_w); DECLARE_WRITE8_MEMBER(out_c_w);
DECLARE_DRIVER_INIT(ama8000_3_o);
DECLARE_DRIVER_INIT(ama8000_2_i);
DECLARE_DRIVER_INIT(ama8000_2_v);
DECLARE_DRIVER_INIT(ama8000_1_x);
}; };
@ -1077,24 +1081,24 @@ static void decrypt(running_machine &machine, int key1, int key2)
} }
} }
static DRIVER_INIT( ama8000_1_x ) DRIVER_INIT_MEMBER(amaticmg_state,ama8000_1_x)
{ {
decrypt(machine, 0x4d1, 0xf5); decrypt(machine(), 0x4d1, 0xf5);
} }
static DRIVER_INIT( ama8000_2_i ) DRIVER_INIT_MEMBER(amaticmg_state,ama8000_2_i)
{ {
decrypt(machine, 0x436, 0x55); decrypt(machine(), 0x436, 0x55);
} }
static DRIVER_INIT( ama8000_2_v ) DRIVER_INIT_MEMBER(amaticmg_state,ama8000_2_v)
{ {
decrypt(machine, 0x703, 0xaf); decrypt(machine(), 0x703, 0xaf);
} }
static DRIVER_INIT( ama8000_3_o ) DRIVER_INIT_MEMBER(amaticmg_state,ama8000_3_o)
{ {
decrypt(machine, 0x56e, 0xa7); decrypt(machine(), 0x56e, 0xa7);
} }

View File

@ -330,6 +330,6 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1983, ambush, 0, ambush, ambusht, ambush_state, 0, ROT0, "Tecfri", "Ambush", GAME_SUPPORTS_SAVE ) GAME( 1983, ambush, 0, ambush, ambusht, driver_device, 0, ROT0, "Tecfri", "Ambush", GAME_SUPPORTS_SAVE )
GAME( 1983, ambushj, ambush, ambush, ambush, ambush_state, 0, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1983, ambushj, ambush, ambush, ambush, driver_device, 0, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1983, ambushv, ambush, ambush, ambush, ambush_state, 0, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", GAME_SUPPORTS_SAVE ) GAME( 1983, ambushv, ambush, ambush, ambush, driver_device, 0, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", GAME_SUPPORTS_SAVE )

View File

@ -1402,11 +1402,11 @@ ROM_END
* Driver Init * * Driver Init *
*************************/ *************************/
static DRIVER_INIT( rabbitpk ) DRIVER_INIT_MEMBER(ampoker2_state,rabbitpk)
{ {
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int size = machine.root_device().memregion("maincpu")->bytes(); int size = machine().root_device().memregion("maincpu")->bytes();
int start = 0; int start = 0;
int i; int i;
@ -1424,7 +1424,7 @@ static DRIVER_INIT( rabbitpk )
} }
} }
static DRIVER_INIT( piccolop ) DRIVER_INIT_MEMBER(ampoker2_state,piccolop)
{ {
/* /*
The protection is based on a stuck bit at RAM offset $C416. The protection is based on a stuck bit at RAM offset $C416.
@ -1457,7 +1457,7 @@ static DRIVER_INIT( piccolop )
*/ */
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* NOP'ing the mortal jump... */ /* NOP'ing the mortal jump... */
rom[0x154b] = 0x00; rom[0x154b] = 0x00;
@ -1472,16 +1472,16 @@ static DRIVER_INIT( piccolop )
*************************/ *************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ /* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, driver_device, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, ampoker2_state, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, driver_device, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "Videomat (Polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "Videomat (Polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, ampoker2_state, rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE, layout_ampoker2 ) GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, ampoker2_state, rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, ampoker2_state, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr ) GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, driver_device, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, ampoker2_state, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr ) GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, driver_device, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
GAME( 1990, piccolop, ampoker2, ampoker2, piccolop, ampoker2_state, piccolop, ROT0, "Admiral/Novomatic", "Piccolo Poker 100", GAME_SUPPORTS_SAVE ) GAME( 1990, piccolop, ampoker2, ampoker2, piccolop, ampoker2_state, piccolop, ROT0, "Admiral/Novomatic", "Piccolo Poker 100", GAME_SUPPORTS_SAVE )

View File

@ -400,5 +400,5 @@ ROM_END
/* (C) 1987 ETI 8402 MAGNOLIA ST. #C SANTEE, CA 92071 */ /* (C) 1987 ETI 8402 MAGNOLIA ST. #C SANTEE, CA 92071 */
GAME( 1987, amspdwy, 0, amspdwy, amspdwy, amspdwy_state, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 1)", GAME_SUPPORTS_SAVE ) GAME( 1987, amspdwy, 0, amspdwy, amspdwy, driver_device, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1987, amspdwya, amspdwy, amspdwy, amspdwya, amspdwy_state, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 2)", GAME_SUPPORTS_SAVE ) GAME( 1987, amspdwya, amspdwy, amspdwy, amspdwya, driver_device, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 2)", GAME_SUPPORTS_SAVE )

View File

@ -742,18 +742,18 @@ ROM_START( spcpostn )
ROM_END ROM_END
static DRIVER_INIT( angelkds ) DRIVER_INIT_MEMBER(angelkds_state,angelkds)
{ {
UINT8 *RAM = machine.root_device().memregion("user1")->base(); UINT8 *RAM = machine().root_device().memregion("user1")->base();
machine.root_device().membank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000); machine().root_device().membank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000);
} }
static DRIVER_INIT( spcpostn ) DRIVER_INIT_MEMBER(angelkds_state,spcpostn)
{ {
UINT8 *RAM = machine.root_device().memregion("user1")->base(); UINT8 *RAM = machine().root_device().memregion("user1")->base();
sega_317_0005_decode(machine, "maincpu"); sega_317_0005_decode(machine(), "maincpu");
machine.root_device().membank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000); machine().root_device().membank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000);
} }

View File

@ -610,15 +610,15 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT(robowres) DRIVER_INIT_MEMBER(appoooh_state,robowres)
{ {
sega_315_5179_decode(machine, "maincpu"); sega_315_5179_decode(machine(), "maincpu");
} }
static DRIVER_INIT(robowresb) DRIVER_INIT_MEMBER(appoooh_state,robowresb)
{ {
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x1c000); space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x1c000);
} }
@ -628,6 +628,6 @@ static DRIVER_INIT(robowresb)
* *
*************************************/ *************************************/
GAME( 1984, appoooh, 0, appoooh, appoooh, appoooh_state, 0, ROT0, "Sanritsu / Sega", "Appoooh", GAME_SUPPORTS_SAVE ) GAME( 1984, appoooh, 0, appoooh, appoooh, driver_device, 0, ROT0, "Sanritsu / Sega", "Appoooh", GAME_SUPPORTS_SAVE )
GAME( 1986, robowres, 0, robowres, robowres, appoooh_state, robowres, ROT0, "Sanritsu / Sega", "Robo Wres 2001", GAME_SUPPORTS_SAVE ) GAME( 1986, robowres, 0, robowres, robowres, appoooh_state, robowres, ROT0, "Sanritsu / Sega", "Robo Wres 2001", GAME_SUPPORTS_SAVE )
GAME( 1986, robowresb, robowres, robowres, robowres, appoooh_state, robowresb,ROT0, "bootleg", "Robo Wres 2001 (bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1986, robowresb, robowres, robowres, robowres, appoooh_state, robowresb,ROT0, "bootleg", "Robo Wres 2001 (bootleg)", GAME_SUPPORTS_SAVE )

View File

@ -237,15 +237,15 @@ static const gfx_layout tilelayout =
128*8 /* every sprite takes 128 consecutive bytes */ 128*8 /* every sprite takes 128 consecutive bytes */
}; };
static DRIVER_INIT( aquarium ) DRIVER_INIT_MEMBER(aquarium_state,aquarium)
{ {
UINT8 *Z80 = machine.root_device().memregion("audiocpu")->base(); UINT8 *Z80 = machine().root_device().memregion("audiocpu")->base();
/* The BG tiles are 5bpp, this rearranges the data from /* The BG tiles are 5bpp, this rearranges the data from
the roms containing the 1bpp data so we can decode it the roms containing the 1bpp data so we can decode it
correctly */ correctly */
UINT8 *DAT2 = machine.root_device().memregion("gfx1")->base() + 0x080000; UINT8 *DAT2 = machine().root_device().memregion("gfx1")->base() + 0x080000;
UINT8 *DAT = machine.root_device().memregion("user1")->base(); UINT8 *DAT = machine().root_device().memregion("user1")->base();
int len = 0x0200000; int len = 0x0200000;
for (len = 0; len < 0x020000; len++) for (len = 0; len < 0x020000; len++)
@ -260,8 +260,8 @@ static DRIVER_INIT( aquarium )
DAT2[len * 4 + 2] |= (DAT[len] & 0x01) << 3; DAT2[len * 4 + 2] |= (DAT[len] & 0x01) << 3;
} }
DAT2 = machine.root_device().memregion("gfx4")->base() + 0x080000; DAT2 = machine().root_device().memregion("gfx4")->base() + 0x080000;
DAT = machine.root_device().memregion("user2")->base(); DAT = machine().root_device().memregion("user2")->base();
for (len = 0; len < 0x020000; len++) for (len = 0; len < 0x020000; len++)
{ {
@ -276,8 +276,8 @@ static DRIVER_INIT( aquarium )
} }
/* configure and set up the sound bank */ /* configure and set up the sound bank */
machine.root_device().membank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000); machine().root_device().membank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000);
machine.root_device().membank("bank1")->set_entry(1); machine().root_device().membank("bank1")->set_entry(1);
} }

View File

@ -444,5 +444,5 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1983, arabian, 0, arabian, arabian, arabian_state, 0, ROT270, "Sun Electronics", "Arabian", GAME_SUPPORTS_SAVE ) GAME( 1983, arabian, 0, arabian, arabian, driver_device, 0, ROT270, "Sun Electronics", "Arabian", GAME_SUPPORTS_SAVE )
GAME( 1983, arabiana, arabian, arabian, arabiana, arabian_state, 0, ROT270, "Sun Electronics (Atari license)", "Arabian (Atari)", GAME_SUPPORTS_SAVE ) GAME( 1983, arabiana, arabian, arabian, arabiana, driver_device, 0, ROT270, "Sun Electronics (Atari license)", "Arabian (Atari)", GAME_SUPPORTS_SAVE )

View File

@ -396,9 +396,9 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( sparkz ) DRIVER_INIT_MEMBER(arcadecl_state,sparkz)
{ {
memset(machine.root_device().memregion("gfx1")->base(), 0, machine.root_device().memregion("gfx1")->bytes()); memset(machine().root_device().memregion("gfx1")->base(), 0, machine().root_device().memregion("gfx1")->bytes());
} }
@ -409,5 +409,5 @@ static DRIVER_INIT( sparkz )
* *
*************************************/ *************************************/
GAME( 1992, arcadecl, 0, arcadecl, arcadecl, arcadecl_state, 0, ROT0, "Atari Games", "Arcade Classics (prototype)", GAME_SUPPORTS_SAVE ) GAME( 1992, arcadecl, 0, arcadecl, arcadecl, driver_device, 0, ROT0, "Atari Games", "Arcade Classics (prototype)", GAME_SUPPORTS_SAVE )
GAME( 1992, sparkz, 0, arcadecl, sparkz, arcadecl_state, sparkz, ROT0, "Atari Games", "Sparkz (prototype)", GAME_SUPPORTS_SAVE ) GAME( 1992, sparkz, 0, arcadecl, sparkz, arcadecl_state, sparkz, ROT0, "Atari Games", "Sparkz (prototype)", GAME_SUPPORTS_SAVE )

View File

@ -68,6 +68,17 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_changed_callback); DECLARE_INPUT_CHANGED_MEMBER(coin_changed_callback);
DECLARE_WRITE8_MEMBER(arcadia_cia_0_porta_w); DECLARE_WRITE8_MEMBER(arcadia_cia_0_porta_w);
DECLARE_WRITE8_MEMBER(arcadia_cia_0_portb_w); DECLARE_WRITE8_MEMBER(arcadia_cia_0_portb_w);
DECLARE_DRIVER_INIT(xeon);
DECLARE_DRIVER_INIT(sdwr);
DECLARE_DRIVER_INIT(dart);
DECLARE_DRIVER_INIT(bowl);
DECLARE_DRIVER_INIT(none);
DECLARE_DRIVER_INIT(sprg);
DECLARE_DRIVER_INIT(rdwr);
DECLARE_DRIVER_INIT(ninj);
DECLARE_DRIVER_INIT(airh);
DECLARE_DRIVER_INIT(ldrba);
DECLARE_DRIVER_INIT(socc);
}; };
@ -826,19 +837,17 @@ static void arcadia_init(running_machine &machine)
* *
*************************************/ *************************************/
static DRIVER_INIT( none ) { arcadia_init(machine); } DRIVER_INIT_MEMBER(arcadia_amiga_state,none) { arcadia_init(machine()); }
static DRIVER_INIT( airh ) { arcadia_init(machine); generic_decode(machine, "user3", 5, 0, 2, 4, 7, 6, 1, 3); } DRIVER_INIT_MEMBER(arcadia_amiga_state,airh) { arcadia_init(machine()); generic_decode(machine(), "user3", 5, 0, 2, 4, 7, 6, 1, 3); }
static DRIVER_INIT( bowl ) { arcadia_init(machine); generic_decode(machine, "user3", 7, 6, 0, 1, 2, 3, 4, 5); } DRIVER_INIT_MEMBER(arcadia_amiga_state,bowl) { arcadia_init(machine()); generic_decode(machine(), "user3", 7, 6, 0, 1, 2, 3, 4, 5); }
static DRIVER_INIT( dart ) { arcadia_init(machine); generic_decode(machine, "user3", 4, 0, 7, 6, 3, 1, 2, 5); } DRIVER_INIT_MEMBER(arcadia_amiga_state,dart) { arcadia_init(machine()); generic_decode(machine(), "user3", 4, 0, 7, 6, 3, 1, 2, 5); }
static DRIVER_INIT( ldrba ) { arcadia_init(machine); generic_decode(machine, "user3", 2, 3, 4, 1, 0, 7, 5, 6); } DRIVER_INIT_MEMBER(arcadia_amiga_state,ldrba) { arcadia_init(machine()); generic_decode(machine(), "user3", 2, 3, 4, 1, 0, 7, 5, 6); }
static DRIVER_INIT( ninj ) { arcadia_init(machine); generic_decode(machine, "user3", 1, 6, 5, 7, 4, 2, 0, 3); } DRIVER_INIT_MEMBER(arcadia_amiga_state,ninj) { arcadia_init(machine()); generic_decode(machine(), "user3", 1, 6, 5, 7, 4, 2, 0, 3); }
static DRIVER_INIT( rdwr ) { arcadia_init(machine); generic_decode(machine, "user3", 3, 1, 6, 4, 0, 5, 2, 7); } DRIVER_INIT_MEMBER(arcadia_amiga_state,rdwr) { arcadia_init(machine()); generic_decode(machine(), "user3", 3, 1, 6, 4, 0, 5, 2, 7); }
static DRIVER_INIT( sdwr ) { arcadia_init(machine); generic_decode(machine, "user3", 6, 3, 4, 5, 2, 1, 0, 7); } DRIVER_INIT_MEMBER(arcadia_amiga_state,sdwr) { arcadia_init(machine()); generic_decode(machine(), "user3", 6, 3, 4, 5, 2, 1, 0, 7); }
static DRIVER_INIT( socc ) { arcadia_init(machine); generic_decode(machine, "user3", 0, 7, 1, 6, 5, 4, 3, 2); } DRIVER_INIT_MEMBER(arcadia_amiga_state,socc) { arcadia_init(machine()); generic_decode(machine(), "user3", 0, 7, 1, 6, 5, 4, 3, 2); }
static DRIVER_INIT( sprg ) { arcadia_init(machine); generic_decode(machine, "user3", 4, 7, 3, 0, 6, 5, 2, 1); } DRIVER_INIT_MEMBER(arcadia_amiga_state,sprg) { arcadia_init(machine()); generic_decode(machine(), "user3", 4, 7, 3, 0, 6, 5, 2, 1); }
static DRIVER_INIT( xeon ) { arcadia_init(machine); generic_decode(machine, "user3", 3, 1, 2, 4, 0, 5, 6, 7); } DRIVER_INIT_MEMBER(arcadia_amiga_state,xeon) { arcadia_init(machine()); generic_decode(machine(), "user3", 3, 1, 2, 4, 0, 5, 6, 7); }
/************************************* /*************************************
* *

View File

@ -807,7 +807,7 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME ) */ /* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME ) */
GAME( 1986, argus, 0, argus, argus, argus_state, 0, ROT270, "NMK (Jaleco license)", "Argus", GAME_IMPERFECT_GRAPHICS ) GAME( 1986, argus, 0, argus, argus, driver_device, 0, ROT270, "NMK (Jaleco license)", "Argus", GAME_IMPERFECT_GRAPHICS )
GAME( 1986, valtric, 0, valtric, valtric, argus_state, 0, ROT270, "NMK (Jaleco license)", "Valtric", GAME_IMPERFECT_GRAPHICS ) GAME( 1986, valtric, 0, valtric, valtric, driver_device, 0, ROT270, "NMK (Jaleco license)", "Valtric", GAME_IMPERFECT_GRAPHICS )
GAME( 1987, butasan, 0, butasan, butasan, argus_state, 0, ROT0, "NMK (Jaleco license)", "Butasan - Pig's & Bomber's (Japan, English)", GAME_IMPERFECT_GRAPHICS ) GAME( 1987, butasan, 0, butasan, butasan, driver_device, 0, ROT0, "NMK (Jaleco license)", "Butasan - Pig's & Bomber's (Japan, English)", GAME_IMPERFECT_GRAPHICS )
GAME( 1987, butasanj, butasan,butasan, butasan, argus_state, 0, ROT0, "NMK (Jaleco license)", "Butasan (Japan, Japanese)", GAME_IMPERFECT_GRAPHICS ) GAME( 1987, butasanj, butasan,butasan, butasan, driver_device, 0, ROT0, "NMK (Jaleco license)", "Butasan (Japan, Japanese)", GAME_IMPERFECT_GRAPHICS )

View File

@ -315,6 +315,7 @@ public:
DECLARE_READ8_MEMBER(pa1_r); DECLARE_READ8_MEMBER(pa1_r);
DECLARE_READ8_MEMBER(pb1_r); DECLARE_READ8_MEMBER(pb1_r);
DECLARE_READ8_MEMBER(pc1_r); DECLARE_READ8_MEMBER(pc1_r);
DECLARE_DRIVER_INIT(aristmk4);
}; };
/* Partial Cashcade protocol */ /* Partial Cashcade protocol */
@ -1622,12 +1623,11 @@ static PALETTE_INIT( aristmk4 )
} }
} }
static DRIVER_INIT( aristmk4 ) DRIVER_INIT_MEMBER(aristmk4_state,aristmk4)
{ {
aristmk4_state *state = machine.driver_data<aristmk4_state>(); m_shapeRomPtr = (UINT8 *)memregion("tile_gfx")->base();
state->m_shapeRomPtr = (UINT8 *)state->memregion("tile_gfx")->base(); memcpy(m_shapeRom,m_shapeRomPtr,sizeof(m_shapeRom)); // back up
memcpy(state->m_shapeRom,state->m_shapeRomPtr,sizeof(state->m_shapeRom)); // back up m_nvram = auto_alloc_array(machine(), UINT8, 0x1000);
state->m_nvram = auto_alloc_array(machine, UINT8, 0x1000);
} }
static MACHINE_START( aristmk4 ) static MACHINE_START( aristmk4 )

View File

@ -80,6 +80,7 @@ public:
DECLARE_WRITE32_MEMBER(mk5_ioc_w); DECLARE_WRITE32_MEMBER(mk5_ioc_w);
DECLARE_READ32_MEMBER(Ns5r50); DECLARE_READ32_MEMBER(Ns5r50);
DECLARE_WRITE32_MEMBER(sram_banksel_w); DECLARE_WRITE32_MEMBER(sram_banksel_w);
DECLARE_DRIVER_INIT(aristmk5);
}; };
@ -357,15 +358,15 @@ static INPUT_PORTS_START( aristmk5 )
PORT_CONFSETTING( 0x03, "Game Mode" ) PORT_CONFSETTING( 0x03, "Game Mode" )
INPUT_PORTS_END INPUT_PORTS_END
static DRIVER_INIT( aristmk5 ) DRIVER_INIT_MEMBER(aristmk5_state,aristmk5)
{ {
UINT8 *SRAM = machine.root_device().memregion("sram")->base(); UINT8 *SRAM = machine().root_device().memregion("sram")->base();
UINT8 *SRAM_NZ = machine.root_device().memregion("sram")->base(); UINT8 *SRAM_NZ = machine().root_device().memregion("sram")->base();
archimedes_driver_init(machine); archimedes_driver_init(machine());
machine.root_device().membank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000); machine().root_device().membank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000);
machine.root_device().membank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000); machine().root_device().membank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000);
} }

View File

@ -231,19 +231,19 @@ ROM_START( thaiprin )
ROM_LOAD32_WORD("30127721.u72", 0x0800002, 0x0100000, BAD_DUMP CRC(613cea6b) SHA1(f04a3ee53074b7cd84879d752df5dbb80437475e) ) // wrong size?! ROM_LOAD32_WORD("30127721.u72", 0x0800002, 0x0100000, BAD_DUMP CRC(613cea6b) SHA1(f04a3ee53074b7cd84879d752df5dbb80437475e) ) // wrong size?!
ROM_END ROM_END
GAME( 200?, aristmk6, 0, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Aristocrat MK-6 Base (15011025)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT) // Possibly Malaysia/ASP (Asia/South Pacific) GAME( 200?, aristmk6, 0, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Aristocrat MK-6 Base (15011025)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT) // Possibly Malaysia/ASP (Asia/South Pacific)
// Dates listed below are for the combination (reel layout), not release dates // Dates listed below are for the combination (reel layout), not release dates
GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 754, B - 12/07/04 GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 754, B - 12/07/04
GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, A - 11/10/02 GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, A - 11/10/02
GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "50 Lions (10156111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, D - 20/10/03 GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "50 Lions (10156111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, D - 20/10/03
GAME( 2003, choysun, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Choy Sun Doa (20131511, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 688, D - 23/01/03 GAME( 2003, choysun, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Choy Sun Doa (20131511, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 688, D - 23/01/03
GAME( 2003, crystals, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Crystal Springs (10155811, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 740, A - 28/05/03 GAME( 2003, crystals, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Crystal Springs (10155811, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 740, A - 28/05/03
GAME( 2003, indianmm, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Indian Dreaming - Maximillion$ (10130711, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 628/12, A - 17/01/03 GAME( 2003, indianmm, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Indian Dreaming - Maximillion$ (10130711, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 628/12, A - 17/01/03
GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Where's the Gold (20177111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 756, C - 17/06/04 GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Where's the Gold (20177111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 756, C - 17/06/04
GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Whales of Cash (20155711, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 695, A - 14/06/02 GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Whales of Cash (20155711, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 695, A - 14/06/02
GAME( 2003, wildways, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Wild Ways (10130111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 698/1, A - 25/02/03 GAME( 2003, wildways, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Wild Ways (10130111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 698/1, A - 25/02/03
GAME( 2003, thaiprin, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Thai Princess (30127721, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 707, E - 21/03/03 GAME( 2003, thaiprin, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Thai Princess (30127721, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 707, E - 21/03/03
/* /*
List of known MK6 games, excluding Hyperlink variations List of known MK6 games, excluding Hyperlink variations

View File

@ -1580,27 +1580,24 @@ static void arkanoid_bootleg_init( running_machine &machine )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd008, 0xd008, read8_delegate(FUNC(arkanoid_state::arkanoid_bootleg_d008_r),state) ); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd008, 0xd008, read8_delegate(FUNC(arkanoid_state::arkanoid_bootleg_d008_r),state) );
} }
static DRIVER_INIT( arkangc ) DRIVER_INIT_MEMBER(arkanoid_state,arkangc)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = ARKANGC;
state->m_bootleg_id = ARKANGC; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( arkangc2 ) DRIVER_INIT_MEMBER(arkanoid_state,arkangc2)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = ARKANGC2;
state->m_bootleg_id = ARKANGC2; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( block2 ) DRIVER_INIT_MEMBER(arkanoid_state,block2)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>();
// the graphics on this bootleg have the data scrambled // the graphics on this bootleg have the data scrambled
int tile; int tile;
UINT8* srcgfx = state->memregion("gfx1")->base(); UINT8* srcgfx = memregion("gfx1")->base();
UINT8* buffer = auto_alloc_array(machine, UINT8, 0x18000); UINT8* buffer = auto_alloc_array(machine(), UINT8, 0x18000);
for (tile = 0; tile < 0x3000; tile++) for (tile = 0; tile < 0x3000; tile++)
{ {
@ -1624,45 +1621,40 @@ static DRIVER_INIT( block2 )
memcpy(srcgfx, buffer, 0x18000); memcpy(srcgfx, buffer, 0x18000);
auto_free(machine, buffer); auto_free(machine(), buffer);
state->m_bootleg_id = BLOCK2; m_bootleg_id = BLOCK2;
arkanoid_bootleg_init(machine); arkanoid_bootleg_init(machine());
} }
static DRIVER_INIT( arkblock ) DRIVER_INIT_MEMBER(arkanoid_state,arkblock)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = ARKBLOCK;
state->m_bootleg_id = ARKBLOCK; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( arkbloc2 ) DRIVER_INIT_MEMBER(arkanoid_state,arkbloc2)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = ARKBLOC2;
state->m_bootleg_id = ARKBLOC2; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( arkgcbl ) DRIVER_INIT_MEMBER(arkanoid_state,arkgcbl)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = ARKGCBL;
state->m_bootleg_id = ARKGCBL; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( paddle2 ) DRIVER_INIT_MEMBER(arkanoid_state,paddle2)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); m_bootleg_id = PADDLE2;
state->m_bootleg_id = PADDLE2; arkanoid_bootleg_init(machine());
arkanoid_bootleg_init(machine);
} }
static DRIVER_INIT( tetrsark ) DRIVER_INIT_MEMBER(arkanoid_state,tetrsark)
{ {
arkanoid_state *state = machine.driver_data<arkanoid_state>(); UINT8 *ROM = memregion("maincpu")->base();
UINT8 *ROM = state->memregion("maincpu")->base();
int x; int x;
for (x = 0; x < 0x8000; x++) for (x = 0; x < 0x8000; x++)
@ -1670,13 +1662,13 @@ static DRIVER_INIT( tetrsark )
ROM[x] = ROM[x] ^ 0x94; ROM[x] = ROM[x] ^ 0x94;
} }
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd008, 0xd008, write8_delegate(FUNC(arkanoid_state::tetrsark_d008_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd008, 0xd008, write8_delegate(FUNC(arkanoid_state::tetrsark_d008_w),this));
} }
static DRIVER_INIT( hexa ) DRIVER_INIT_MEMBER(arkanoid_state,hexa)
{ {
UINT8 *RAM = machine.root_device().memregion("maincpu")->base(); UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
#if 0 #if 0
@ -1690,20 +1682,20 @@ static DRIVER_INIT( hexa )
RAM[0x0126] = 0x00; RAM[0x0126] = 0x00;
#endif #endif
machine.root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000); machine().root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
} }
/* Game Drivers */ /* Game Drivers */
GAME( 1986, arkanoid, 0, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoid, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "Taito Corporation", "Arkanoid (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoidjo, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoidjo, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkanoidjb2,arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkanoidjb2,arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, arkanoid_state, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", GAME_SUPPORTS_SAVE ) GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, driver_device, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
@ -1713,9 +1705,9 @@ GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, block2,
GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkgcbla, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkgcbla, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", GAME_SUPPORTS_SAVE ) GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE ) GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE )
GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE ) GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE )
GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", GAME_SUPPORTS_SAVE ) GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", GAME_SUPPORTS_SAVE )
GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, 0, ROT0, "Cheil Computer System", "Brixian", GAME_SUPPORTS_SAVE|GAME_NOT_WORKING ) GAME( 1993, brixian, 0, brixian, brixian, driver_device, 0, ROT0, "Cheil Computer System", "Brixian", GAME_SUPPORTS_SAVE|GAME_NOT_WORKING )

View File

@ -2036,95 +2036,86 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( terraf ) DRIVER_INIT_MEMBER(armedf_state,terraf)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 0;
state->m_scroll_type = 0;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c006, 0x07c007, write16_delegate(FUNC(armedf_state::terraf_fg_scrolly_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c006, 0x07c007, write16_delegate(FUNC(armedf_state::terraf_fg_scrolly_w),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c008, 0x07c009, write16_delegate(FUNC(armedf_state::terraf_fg_scrollx_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c008, 0x07c009, write16_delegate(FUNC(armedf_state::terraf_fg_scrollx_w),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0c0001, write16_delegate(FUNC(armedf_state::terraf_fg_scroll_msb_arm_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0c0001, write16_delegate(FUNC(armedf_state::terraf_fg_scroll_msb_arm_w),this));
} }
static DRIVER_INIT( terrafu ) DRIVER_INIT_MEMBER(armedf_state,terrafu)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 0;
state->m_scroll_type = 0;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
} }
static DRIVER_INIT( terrafb ) DRIVER_INIT_MEMBER(armedf_state,terrafb)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 0;
state->m_scroll_type = 0;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terrafb_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terrafb_io_w),this));
} }
static DRIVER_INIT( armedf ) DRIVER_INIT_MEMBER(armedf_state,armedf)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 1;
state->m_scroll_type = 1;
} }
static DRIVER_INIT( kozure ) DRIVER_INIT_MEMBER(armedf_state,kozure)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 0;
state->m_scroll_type = 0;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
} }
static DRIVER_INIT( legion ) DRIVER_INIT_MEMBER(armedf_state,legion)
{ {
armedf_state *state = machine.driver_data<armedf_state>();
#if LEGION_HACK #if LEGION_HACK
/* This is a hack to allow you to use the extra features /* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */ of 3 of the "Unused" Dip Switches (see notes above). */
UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base(); UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
RAM[0x0001d6 / 2] = 0x0001; RAM[0x0001d6 / 2] = 0x0001;
/* To avoid checksum error */ /* To avoid checksum error */
RAM[0x000488 / 2] = 0x4e71; RAM[0x000488 / 2] = 0x4e71;
#endif #endif
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
state->m_scroll_type = 2; m_scroll_type = 2;
} }
static DRIVER_INIT( legiono ) DRIVER_INIT_MEMBER(armedf_state,legiono)
{ {
armedf_state *state = machine.driver_data<armedf_state>();
#if LEGION_HACK #if LEGION_HACK
/* This is a hack to allow you to use the extra features /* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */ of 3 of the "Unused" Dip Switches (see notes above). */
UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base(); UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
RAM[0x0001d6/2] = 0x0001; RAM[0x0001d6/2] = 0x0001;
/* No need to patch the checksum routine (see notes) ! */ /* No need to patch the checksum routine (see notes) ! */
#endif #endif
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),this));
state->m_scroll_type = 2; m_scroll_type = 2;
} }
static DRIVER_INIT( cclimbr2 ) DRIVER_INIT_MEMBER(armedf_state,cclimbr2)
{ {
armedf_state *state = machine.driver_data<armedf_state>();
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
state->m_scroll_type = 3; m_scroll_type = 3;
} }
static DRIVER_INIT( bigfghtr ) DRIVER_INIT_MEMBER(bigfghtr_state,bigfghtr)
{ {
armedf_state *state = machine.driver_data<armedf_state>(); m_scroll_type = 1;
state->m_scroll_type = 1;
} }
/************************************* /*************************************

View File

@ -1162,42 +1162,38 @@ static void decrypt_cheesech(running_machine &machine)
} }
static DRIVER_INIT( ultennis ) DRIVER_INIT_MEMBER(artmagic_state,ultennis)
{ {
artmagic_state *state = machine.driver_data<artmagic_state>(); decrypt_ultennis(machine());
decrypt_ultennis(machine); m_is_stoneball = 0;
state->m_is_stoneball = 0; m_protection_handler = ultennis_protection;
state->m_protection_handler = ultennis_protection;
/* additional (protection?) hack */ /* additional (protection?) hack */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x300000, 0x300001, read16_delegate(FUNC(artmagic_state::ultennis_hack_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x300000, 0x300001, read16_delegate(FUNC(artmagic_state::ultennis_hack_r),this));
} }
static DRIVER_INIT( cheesech ) DRIVER_INIT_MEMBER(artmagic_state,cheesech)
{ {
artmagic_state *state = machine.driver_data<artmagic_state>(); decrypt_cheesech(machine());
decrypt_cheesech(machine); m_is_stoneball = 0;
state->m_is_stoneball = 0; m_protection_handler = cheesech_protection;
state->m_protection_handler = cheesech_protection;
} }
static DRIVER_INIT( stonebal ) DRIVER_INIT_MEMBER(artmagic_state,stonebal)
{ {
artmagic_state *state = machine.driver_data<artmagic_state>(); decrypt_ultennis(machine());
decrypt_ultennis(machine); m_is_stoneball = 1; /* blits 1 line high are NOT encrypted, also different first pixel decrypt */
state->m_is_stoneball = 1; /* blits 1 line high are NOT encrypted, also different first pixel decrypt */ m_protection_handler = stonebal_protection;
state->m_protection_handler = stonebal_protection;
} }
static DRIVER_INIT( shtstar ) DRIVER_INIT_MEMBER(artmagic_state,shtstar)
{ {
artmagic_state *state = machine.driver_data<artmagic_state>();
/* wrong */ /* wrong */
decrypt_ultennis(machine); decrypt_ultennis(machine());
state->m_is_stoneball =0; m_is_stoneball =0;
state->m_protection_handler = stonebal_protection; m_protection_handler = stonebal_protection;
} }

View File

@ -461,12 +461,12 @@ ROM_START( ashnojoe )
ROM_LOAD( "sj401-nw.10r", 0x00000, 0x80000, CRC(25dfab59) SHA1(7d50159204ba05323a2442778f35192e66117dda) ) ROM_LOAD( "sj401-nw.10r", 0x00000, 0x80000, CRC(25dfab59) SHA1(7d50159204ba05323a2442778f35192e66117dda) )
ROM_END ROM_END
static DRIVER_INIT( ashnojoe ) DRIVER_INIT_MEMBER(ashnojoe_state,ashnojoe)
{ {
UINT8 *ROM = machine.root_device().memregion("adpcm")->base(); UINT8 *ROM = machine().root_device().memregion("adpcm")->base();
machine.root_device().membank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000); machine().root_device().membank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
machine.root_device().membank("bank4")->set_entry(0); machine().root_device().membank("bank4")->set_entry(0);
} }
GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe_state, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE ) GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe_state, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )

View File

@ -458,11 +458,11 @@ ROM_START( asterixj )
ROM_END ROM_END
static DRIVER_INIT( asterix ) DRIVER_INIT_MEMBER(asterix_state,asterix)
{ {
#if 0 #if 0
*(UINT16 *)(machine.root_device().memregion("maincpu")->base() + 0x07f34) = 0x602a; *(UINT16 *)(machine().root_device().memregion("maincpu")->base() + 0x07f34) = 0x602a;
*(UINT16 *)(machine.root_device().memregion("maincpu")->base() + 0x00008) = 0x0400; *(UINT16 *)(machine().root_device().memregion("maincpu")->base() + 0x00008) = 0x0400;
#endif #endif
} }

View File

@ -933,17 +933,16 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( asteroidb ) DRIVER_INIT_MEMBER(asteroid_state,asteroidb)
{ {
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2000, 0x2000, "IN0"); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2000, 0x2000, "IN0");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2003, 0x2003, "HS"); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2003, 0x2003, "HS");
} }
static DRIVER_INIT( asterock ) DRIVER_INIT_MEMBER(asteroid_state,asterock)
{ {
asteroid_state *state = machine.driver_data<asteroid_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2000, 0x2007, read8_delegate(FUNC(asteroid_state::asterock_IN0_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2000, 0x2007, read8_delegate(FUNC(asteroid_state::asterock_IN0_r),state));
} }
@ -954,16 +953,16 @@ static DRIVER_INIT( asterock )
* *
*************************************/ *************************************/
GAME( 1979, asteroid, 0, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 4)", GAME_SUPPORTS_SAVE ) GAME( 1979, asteroid, 0, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 4)", GAME_SUPPORTS_SAVE )
GAME( 1979, asteroid2,asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 2)", GAME_SUPPORTS_SAVE ) GAME( 1979, asteroid2,asteroid, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1979, asteroid1,asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 1)", GAME_SUPPORTS_SAVE ) GAME( 1979, asteroid1,asteroid, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1979, asteroidb,asteroid, asteroid, asteroidb, asteroid_state,asteroidb,ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", GAME_SUPPORTS_SAVE ) GAME( 1979, asteroidb,asteroid, asteroid, asteroidb, asteroid_state,asteroidb,ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", GAME_SUPPORTS_SAVE )
GAME( 1979, asterock, asteroid, asterock, asterock, asteroid_state, asterock, ROT0, "bootleg (Sidam)", "Asterock (bootleg of Asteroids)", GAME_SUPPORTS_SAVE ) GAME( 1979, asterock, asteroid, asterock, asterock, asteroid_state, asterock, ROT0, "bootleg (Sidam)", "Asterock (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
GAME( 1979, meteorts, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (VGG)", "Meteorites (bootleg of Asteroids)", GAME_SUPPORTS_SAVE ) GAME( 1979, meteorts, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (VGG)", "Meteorites (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
GAME( 1979, meteorho, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (Hoei)", "Meteor (bootleg of Asteroids)", GAME_SUPPORTS_SAVE ) GAME( 1979, meteorho, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (Hoei)", "Meteor (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
GAME( 1979, hyperspc, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (Rumiano)", "Hyperspace (bootleg of Asteroids)", GAME_SUPPORTS_SAVE ) GAME( 1979, hyperspc, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (Rumiano)", "Hyperspace (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
GAMEL(1980, astdelux, 0, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", GAME_SUPPORTS_SAVE, layout_ho88ffff ) GAMEL(1980, astdelux, 0, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
GAMEL(1980, astdelux2,astdelux, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", GAME_SUPPORTS_SAVE, layout_ho88ffff ) GAMEL(1980, astdelux2,astdelux, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
GAMEL(1980, astdelux1,astdelux, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", GAME_SUPPORTS_SAVE, layout_ho88ffff ) GAMEL(1980, astdelux1,astdelux, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
GAME( 1979, llander, 0, llander, llander, asteroid_state, 0, ROT0, "Atari", "Lunar Lander (rev 2)", GAME_SUPPORTS_SAVE ) GAME( 1979, llander, 0, llander, llander, driver_device, 0, ROT0, "Atari", "Lunar Lander (rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1979, llander1, llander, llander, llander1, asteroid_state, 0, ROT0, "Atari", "Lunar Lander (rev 1)", GAME_SUPPORTS_SAVE ) GAME( 1979, llander1, llander, llander, llander1, driver_device, 0, ROT0, "Atari", "Lunar Lander (rev 1)", GAME_SUPPORTS_SAVE )

View File

@ -74,6 +74,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(spaceint_coin_inserted); DECLARE_INPUT_CHANGED_MEMBER(spaceint_coin_inserted);
DECLARE_WRITE8_MEMBER(astinvad_sound1_w); DECLARE_WRITE8_MEMBER(astinvad_sound1_w);
DECLARE_WRITE8_MEMBER(astinvad_sound2_w); DECLARE_WRITE8_MEMBER(astinvad_sound2_w);
DECLARE_DRIVER_INIT(kamikaze);
DECLARE_DRIVER_INIT(spcking2);
}; };
@ -736,21 +738,19 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( kamikaze ) DRIVER_INIT_MEMBER(astinvad_state,kamikaze)
{ {
astinvad_state *state = machine.driver_data<astinvad_state>();
/* the flip screen logic adds 32 to the Y after flipping */ /* the flip screen logic adds 32 to the Y after flipping */
state->m_flip_yoffs = 32; m_flip_yoffs = 32;
} }
static DRIVER_INIT( spcking2 ) DRIVER_INIT_MEMBER(astinvad_state,spcking2)
{ {
astinvad_state *state = machine.driver_data<astinvad_state>();
/* don't have the schematics, but the blanking must center the screen here */ /* don't have the schematics, but the blanking must center the screen here */
state->m_flip_yoffs = 0; m_flip_yoffs = 0;
} }
@ -765,5 +765,5 @@ GAME( 1979, kamikaze, 0, kamikaze, kamikaze, astinvad_state, kamikaze, RO
GAME( 1980, astinvad, kamikaze, kamikaze, astinvad, astinvad_state, kamikaze, ROT270, "Leijac Corporation (Stern Electronics license)", "Astro Invader", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1980, astinvad, kamikaze, kamikaze, astinvad, astinvad_state, kamikaze, ROT270, "Leijac Corporation (Stern Electronics license)", "Astro Invader", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 19??, kosmokil, kamikaze, kamikaze, kamikaze, astinvad_state, kamikaze, ROT270, "bootleg", "Kosmo Killer", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // says >BEM< Mi Italy but it looks hacked in, dif revision of game tho. GAME( 19??, kosmokil, kamikaze, kamikaze, kamikaze, astinvad_state, kamikaze, ROT270, "bootleg", "Kosmo Killer", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // says >BEM< Mi Italy but it looks hacked in, dif revision of game tho.
GAME( 1979, spcking2, 0, spcking2, spcking2, astinvad_state, spcking2, ROT270, "Konami", "Space King 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, spcking2, 0, spcking2, spcking2, astinvad_state, spcking2, ROT270, "Konami", "Space King 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, spaceint, 0, spaceint, spaceint, astinvad_state, 0, ROT90, "Shoei", "Space Intruder", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1980, spaceint, 0, spaceint, spaceint, driver_device, 0, ROT90, "Shoei", "Space Intruder", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1980, spaceintj,spaceint, spaceint, spaceintj, astinvad_state,0, ROT90, "Shoei", "Space Intruder (Japan)", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) GAME( 1980, spaceintj,spaceint, spaceint, spaceintj, driver_device,0, ROT90, "Shoei", "Space Intruder (Japan)", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )

View File

@ -116,6 +116,10 @@ public:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_slavecpu; optional_device<cpu_device> m_slavecpu;
DECLARE_DRIVER_INIT(astradec_sml);
DECLARE_DRIVER_INIT(astradec);
DECLARE_DRIVER_INIT(astradec_dual);
DECLARE_DRIVER_INIT(astradec_sml_dual);
}; };
@ -2109,55 +2113,55 @@ void astra_addresslines( UINT16* src, size_t srcsize, int small )
} }
static DRIVER_INIT( astradec ) DRIVER_INIT_MEMBER(astrafr_state,astradec)
{ {
astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 0 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 0 );
} }
static DRIVER_INIT( astradec_dual ) DRIVER_INIT_MEMBER(astrafr_state,astradec_dual)
{ {
astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 0 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 0 );
astra_addresslines( (UINT16*)machine.root_device().memregion( "slavecpu" )->base(), machine.root_device().memregion( "slavecpu" )->bytes(), 0 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "slavecpu" )->base(), machine().root_device().memregion( "slavecpu" )->bytes(), 0 );
} }
static DRIVER_INIT( astradec_sml ) DRIVER_INIT_MEMBER(astrafr_state,astradec_sml)
{ {
astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 1 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 1 );
} }
static DRIVER_INIT( astradec_sml_dual ) DRIVER_INIT_MEMBER(astrafr_state,astradec_sml_dual)
{ {
astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 1 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 1 );
astra_addresslines( (UINT16*)machine.root_device().memregion( "slavecpu" )->base(), machine.root_device().memregion( "slavecpu" )->bytes(), 1 ); astra_addresslines( (UINT16*)machine().root_device().memregion( "slavecpu" )->base(), machine().root_device().memregion( "slavecpu" )->bytes(), 1 );
} }
// Single games? // Single games?
GAME( 200?, as_srb, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V004)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srb, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V004)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_srba, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V100)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srba, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_srbb, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srbb, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_srbc, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V201)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srbc, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_srbd, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V202)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srbd, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V202)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_srbe, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V203)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_srbe, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
// Linked games (single rom per CPU with master/slave?) // Linked games (single rom per CPU with master/slave?)
GAME( 200?, as_party, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V105)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_party, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V105)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_partya, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V110)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_partya, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_partyb, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V112)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_partyb, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V112)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_partyc, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V206)" ,GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_partyc, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V206)" ,GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_partyd, as_party , astrafr_dual_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V401)", GAME_IS_SKELETON_MECHANICAL) // significantly different set GAME( 200?, as_partyd, as_party , astrafr_dual_37, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V401)", GAME_IS_SKELETON_MECHANICAL) // significantly different set
GAME( 200?, as_partye, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V907)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_partye, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V907)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_partyf, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V906)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_partyf, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V906)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_letsp, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Let's Party (Astra, V904)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_letsp, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Let's Party (Astra, V904)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_topsl, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_topsl, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V103)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_topsla, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V104)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_topsla, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V104)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_topslb, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V201)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_topslb, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_topslc, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V203)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_topslc, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_topsld, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V205)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_topsld, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V205)", GAME_IS_SKELETON_MECHANICAL)
// Other HW? (has u1/u2 pairing) // Other HW? (has u1/u2 pairing)
@ -2181,32 +2185,32 @@ GAME( 200?, as_hcd, as_hc , astrafr_dual_37 , astrafr, astrafr_state,
GAME( 200?, as_cshah, 0 , astra_single_alt_57 , astrafr, astrafr_state, astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)", GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_cshah, 0 , astra_single_alt_57 , astrafr, astrafr_state, astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)", GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_big10, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V500)", GAME_IS_SKELETON_MECHANICAL) // BB96 GAME( 200?, as_big10, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V500)", GAME_IS_SKELETON_MECHANICAL) // BB96
GAME( 200?, as_big10a, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V503)", GAME_IS_SKELETON_MECHANICAL) // BB96 GAME( 200?, as_big10a, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V503)", GAME_IS_SKELETON_MECHANICAL) // BB96
GAME( 200?, as_big10b, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V507)", GAME_IS_SKELETON_MECHANICAL) // BB96 GAME( 200?, as_big10b, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V507)", GAME_IS_SKELETON_MECHANICAL) // BB96
GAME( 200?, as_big10c, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V601)", GAME_IS_SKELETON_MECHANICAL) // BB96 GAME( 200?, as_big10c, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V601)", GAME_IS_SKELETON_MECHANICAL) // BB96
GAME( 200?, as_big10d, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V605)", GAME_IS_SKELETON_MECHANICAL) // BB96 GAME( 200?, as_big10d, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V605)", GAME_IS_SKELETON_MECHANICAL) // BB96
GAME( 200?, as_big15, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 15 (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // DL98 GAME( 200?, as_big15, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 15 (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // DL98
GAME( 200?, as_bigcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big Cash (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98 GAME( 200?, as_bigcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big Cash (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
GAME( 200?, as_bigcsa, as_bigcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big Cash (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98 GAME( 200?, as_bigcsa, as_bigcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big Cash (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
GAME( 200?, as_bbr, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98 GAME( 200?, as_bbr, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
GAME( 200?, as_bbra, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98 GAME( 200?, as_bbra, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
GAME( 200?, as_bbrb, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V201)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98 GAME( 200?, as_bbrb, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V201)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
GAME( 200?, as_bbrc, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) // CU98 GAME( 200?, as_bbrc, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) // CU98
GAME( 200?, as_bbrd, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // CU98 GAME( 200?, as_bbrd, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // CU98
GAME( 200?, as_bbre, as_bbr , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) // FG01 GAME( 200?, as_bbre, as_bbr , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) // FG01
GAME( 200?, as_bbrf, as_bbr , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FN01 GAME( 200?, as_bbrf, as_bbr , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FN01
GAME( 200?, as_dblcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V110)" , GAME_IS_SKELETON_MECHANICAL) // BR97 GAME( 200?, as_dblcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V110)" , GAME_IS_SKELETON_MECHANICAL) // BR97
GAME( 200?, as_dblcsa, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V112)" , GAME_IS_SKELETON_MECHANICAL) // BR97 GAME( 200?, as_dblcsa, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V112)" , GAME_IS_SKELETON_MECHANICAL) // BR97
GAME( 200?, as_dblcsb, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) // BR97 GAME( 200?, as_dblcsb, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) // BR97
GAME( 200?, as_dblcsc, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) // CN97 GAME( 200?, as_dblcsc, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) // CN97
GAME( 200?, as_dblcsd, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) // CN97 GAME( 200?, as_dblcsd, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) // CN97
GAME( 200?, as_dblcse, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // FB00 GAME( 200?, as_dblcse, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // FB00
GAME( 200?, as_dblcsf, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // FB00 GAME( 200?, as_dblcsf, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // FB00
GAME( 200?, as_dblcsg, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL) // DN98 GAME( 200?, as_dblcsg, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL) // DN98
GAME( 200?, as_dblcsh, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FO01 GAME( 200?, as_dblcsh, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FO01
GAME( 200?, as_fortn, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_fortn, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , GAME_IS_SKELETON_MECHANICAL)
@ -2218,19 +2222,19 @@ GAME( 200?, as_hr, 0 , astra_single, astrafr, astrafr_state, astra
GAME( 200?, as_djp, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_djp, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_djpa, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Double Jackpot (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_djpa, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Double Jackpot (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_djpb, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_djpb, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_cshcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_cshcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmn, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_colmn, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmna, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_colmna, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmnb, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_colmnb, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmnc, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_colmnc, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmnd, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V908)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_colmnd, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V908)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jackb, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jackb, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpx, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jpx, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpxa, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jpxa, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpxb, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jpxb, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jolly, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jolly Roger (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jolly, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jolly Roger (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jmpj, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jmpj, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jmpja, as_jmpj , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jmpja, as_jmpj , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjive, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjive, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjivea, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjivea, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjiveb, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjiveb, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
@ -2239,37 +2243,37 @@ GAME( 200?, as_jjived, as_jjive , astra_single, astrafr, astrafr_state,
GAME( 200?, as_jjivee, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjivee, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjivef, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjivef, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjiveg, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_jjiveg, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_kingc, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_kingc, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_kingca, as_kingc , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Cash (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_kingca, as_kingc , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Cash (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_koc, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Of Clubs (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_koc, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Of Clubs (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_koca, as_koc , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Of Clubs (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_koca, as_koc , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Of Clubs (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_lbt, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Big 10 (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_lbt, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Big 10 (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_lbta, as_lbt , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Big 10 (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_lbta, as_lbt , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Big 10 (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldl, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldl, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldla, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldla, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldlb, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldlb, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldlc, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldlc, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldld, as_ldl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Devils (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldld, as_ldl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Devils (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldle, as_ldl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Devils (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ldle, as_ldl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Devils (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_mp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_mp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_mp2, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_mp2, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_otr, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_otr, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_otra, as_otr , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // incomplete set GAME( 200?, as_otra, as_otr , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // incomplete set
GAME( 200?, as_ptf, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // strange extra sound(?) roms in here GAME( 200?, as_ptf, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // strange extra sound(?) roms in here
GAME( 200?, as_ptfa, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V803)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ptfa, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V803)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ptfb, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V905)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ptfb, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V905)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ptfc, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ptfc, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pia, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_pia, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_piaa, as_pia , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V206)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_piaa, as_pia , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V206)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_piab, as_pia , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V904)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_piab, as_pia , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V904)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharg, 0 , astra_single_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_pharg, 0 , astra_single_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharga, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_pharga, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargb, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_phargb, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargc, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_phargc, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargd, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_phargd, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharge, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_pharge, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pb, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Piggy Banking (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_pb, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Piggy Banking (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
// this might be another mix of master / slave sets, and multiple games.... // this might be another mix of master / slave sets, and multiple games....
GAME( 200?, as_rtr, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rtr, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rtra, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rtra, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , GAME_IS_SKELETON_MECHANICAL)
@ -2281,44 +2285,44 @@ GAME( 200?, as_rtrf, as_rtr , astra_single_2e, astrafr, astrafr_state,
GAME( 200?, as_rtrg, as_rtr , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rtrg, as_rtr , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rtrh, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rtrh, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rab, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rab, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_raba, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_raba, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rabb, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rabb, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rabc, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rabc, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbg, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbg, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbga, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbga, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbgb, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbgb, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbgc, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbgc, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbgd, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbgd, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbge, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbge, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbglo, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Lowen", "River Boat Gambler (Lowen, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rbglo, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Lowen", "River Boat Gambler (Lowen, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rox, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Roll X (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_rox, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Roll X (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_csv, 0 , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_csv, 0 , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_sltcl, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Slots Classic (?) (Astra)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_sltcl, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Slots Classic (?) (Astra)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_stp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stpa, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_stpa, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stpb, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_stpb, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_siu, 0 , astra_single_37, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) // extra sound roms(?) in this set GAME( 200?, as_siu, 0 , astra_single_37, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) // extra sound roms(?) in this set
GAME( 200?, as_siua, as_siu , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_siua, as_siu , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_sld, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_sld, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_slda, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_slda, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_sldb, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V500)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_sldb, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V500)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_sldc, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V400)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_sldc, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V400)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_sldd, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_sldd, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_slde, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_slde, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tem, 0 , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tem, 0 , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tema, as_tem , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tema, as_tem , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tbl, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tbl, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tbla, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tbla, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tblb, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tblb, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tblc, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tblc, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tbld, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tbld, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tble, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tble, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tblf, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V301)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_tblf, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V301)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_td, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_td, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_twp, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Twin Pots (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_twp, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Twin Pots (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_twpa, as_twp , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Twin Pots (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_twpa, as_twp , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Twin Pots (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vn, 0 , astrafr_dual_alt_37, astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vn, 0 , astrafr_dual_alt_37, astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcv, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vcv, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcva, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vcva, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
@ -2326,11 +2330,11 @@ GAME( 200?, as_vcvb, as_vcv , astra_single, astrafr, astrafr_state, as
GAME( 200?, as_vcvc, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vcvc, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcvd, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vcvd, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcve, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_vcve, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ww, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_ww, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_wwa, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V204)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_wwa, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V204)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_wwb, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_wwb, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_wwc, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_wwc, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_wwd, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_wwd, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_wwe, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) GAME( 200?, as_wwe, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ws, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // incomplete dump GAME( 200?, as_ws, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // incomplete dump

View File

@ -1733,111 +1733,102 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( seawolf2 ) DRIVER_INIT_MEMBER(astrocde_state,seawolf2)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = 0x00;
state->m_video_config = 0x00; machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x40, 0x40, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_1_w),this));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x40, 0x40, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_1_w),state)); machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x41, 0x41, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_2_w),this));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x41, 0x41, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_2_w),state)); machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x42, 0x43, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_lamps_w),this));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x42, 0x43, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_lamps_w),state));
} }
static DRIVER_INIT( ebases ) DRIVER_INIT_MEMBER(astrocde_state,ebases)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = AC_SOUND_PRESENT;
state->m_video_config = AC_SOUND_PRESENT; machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x20, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_coin_w),this));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x20, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_coin_w),state)); machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x28, 0x28, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_trackball_select_w),this));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x28, 0x28, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_trackball_select_w),state));
} }
static DRIVER_INIT( spacezap ) DRIVER_INIT_MEMBER(astrocde_state,spacezap)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = AC_SOUND_PRESENT | AC_MONITOR_BW;
state->m_video_config = AC_SOUND_PRESENT | AC_MONITOR_BW; machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x13, 0x13, 0x03ff, 0xff00, read8_delegate(FUNC(astrocde_state::spacezap_io_r),this));
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x13, 0x13, 0x03ff, 0xff00, read8_delegate(FUNC(astrocde_state::spacezap_io_r),state));
} }
static DRIVER_INIT( wow ) DRIVER_INIT_MEMBER(astrocde_state,wow)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
state->m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS; machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::wow_io_r),this));
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::wow_io_r),state)); machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(wow_speech_r));
machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(wow_speech_r));
} }
static DRIVER_INIT( gorf ) DRIVER_INIT_MEMBER(astrocde_state,gorf)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
state->m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS; machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_1_r),this));
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_1_r),state)); machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_2_r),this));
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_2_r),state)); machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(gorf_speech_r));
machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(gorf_speech_r));
} }
static DRIVER_INIT( robby ) DRIVER_INIT_MEMBER(astrocde_state,robby)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); m_video_config = AC_SOUND_PRESENT;
state->m_video_config = AC_SOUND_PRESENT; machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::robby_io_r),this));
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::robby_io_r),state));
} }
static DRIVER_INIT( profpac ) DRIVER_INIT_MEMBER(astrocde_state,profpac)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
state->m_video_config = AC_SOUND_PRESENT; m_video_config = AC_SOUND_PRESENT;
iospace->install_read_handler(0x14, 0x14, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_1_r),state)); iospace->install_read_handler(0x14, 0x14, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_1_r),this));
iospace->install_read_handler(0x15, 0x15, 0x77ff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_2_r),state)); iospace->install_read_handler(0x15, 0x15, 0x77ff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_2_r),this));
/* reset banking */ /* reset banking */
state->profpac_banksw_w(*iospace, 0, 0); profpac_banksw_w(*iospace, 0, 0);
machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine)); machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
} }
static DRIVER_INIT( demndrgn ) DRIVER_INIT_MEMBER(astrocde_state,demndrgn)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
state->m_video_config = 0x00; m_video_config = 0x00;
iospace->install_read_handler(0x14, 0x14, 0x1fff, 0xff00, read8_delegate(FUNC(astrocde_state::demndrgn_io_r),state)); iospace->install_read_handler(0x14, 0x14, 0x1fff, 0xff00, read8_delegate(FUNC(astrocde_state::demndrgn_io_r),this));
iospace->install_read_port(0x1c, 0x1c, 0x0000, 0xff00, "FIREX"); iospace->install_read_port(0x1c, 0x1c, 0x0000, 0xff00, "FIREX");
iospace->install_read_port(0x1d, 0x1d, 0x0000, 0xff00, "FIREY"); iospace->install_read_port(0x1d, 0x1d, 0x0000, 0xff00, "FIREY");
iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::demndrgn_sound_w),state)); iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::demndrgn_sound_w),this));
/* reset banking */ /* reset banking */
state->profpac_banksw_w(*iospace, 0, 0); profpac_banksw_w(*iospace, 0, 0);
machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine)); machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
} }
static DRIVER_INIT( tenpindx ) DRIVER_INIT_MEMBER(astrocde_state,tenpindx)
{ {
astrocde_state *state = machine.driver_data<astrocde_state>(); address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
state->m_video_config = 0x00; m_video_config = 0x00;
iospace->install_read_port(0x60, 0x60, 0x0000, 0xff00, "P60"); iospace->install_read_port(0x60, 0x60, 0x0000, 0xff00, "P60");
iospace->install_read_port(0x61, 0x61, 0x0000, 0xff00, "P61"); iospace->install_read_port(0x61, 0x61, 0x0000, 0xff00, "P61");
iospace->install_read_port(0x62, 0x62, 0x0000, 0xff00, "P62"); iospace->install_read_port(0x62, 0x62, 0x0000, 0xff00, "P62");
iospace->install_read_port(0x63, 0x63, 0x0000, 0xff00, "P63"); iospace->install_read_port(0x63, 0x63, 0x0000, 0xff00, "P63");
iospace->install_read_port(0x64, 0x64, 0x0000, 0xff00, "P64"); iospace->install_read_port(0x64, 0x64, 0x0000, 0xff00, "P64");
iospace->install_write_handler(0x65, 0x66, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lamp_w),state)); iospace->install_write_handler(0x65, 0x66, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lamp_w),this));
iospace->install_write_handler(0x67, 0x67, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_counter_w),state)); iospace->install_write_handler(0x67, 0x67, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_counter_w),this));
iospace->install_write_handler(0x68, 0x68, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lights_w),state)); iospace->install_write_handler(0x68, 0x68, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lights_w),this));
iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_sound_w),state)); iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_sound_w),this));
/* reset banking */ /* reset banking */
state->profpac_banksw_w(*iospace, 0, 0); profpac_banksw_w(*iospace, 0, 0);
machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine)); machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
} }

View File

@ -61,6 +61,8 @@ public:
DECLARE_WRITE16_MEMBER(astrocorp_palette_w); DECLARE_WRITE16_MEMBER(astrocorp_palette_w);
DECLARE_WRITE16_MEMBER(astrocorp_sound_bank_w); DECLARE_WRITE16_MEMBER(astrocorp_sound_bank_w);
DECLARE_WRITE16_MEMBER(skilldrp_sound_bank_w); DECLARE_WRITE16_MEMBER(skilldrp_sound_bank_w);
DECLARE_DRIVER_INIT(showhanc);
DECLARE_DRIVER_INIT(showhand);
}; };
/*************************************************************************** /***************************************************************************
@ -1009,10 +1011,10 @@ ROM_END
static DRIVER_INIT( showhand ) DRIVER_INIT_MEMBER(astrocorp_state,showhand)
{ {
#if 0 #if 0
UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base(); UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
rom[0x0a1a/2] = 0x6000; // hopper jam rom[0x0a1a/2] = 0x6000; // hopper jam
@ -1025,10 +1027,10 @@ static DRIVER_INIT( showhand )
#endif #endif
} }
static DRIVER_INIT( showhanc ) DRIVER_INIT_MEMBER(astrocorp_state,showhanc)
{ {
#if 0 #if 0
UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base(); UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
rom[0x14d4/2] = 0x4e71; // enable full test mode rom[0x14d4/2] = 0x4e71; // enable full test mode
rom[0x14d6/2] = 0x4e71; // "" rom[0x14d6/2] = 0x4e71; // ""
@ -1040,9 +1042,9 @@ static DRIVER_INIT( showhanc )
GAME( 2000, showhand, 0, showhand, showhand, astrocorp_state, showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", GAME_SUPPORTS_SAVE ) GAME( 2000, showhand, 0, showhand, showhand, astrocorp_state, showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", GAME_SUPPORTS_SAVE )
GAME( 2000, showhanc, showhand, showhanc, showhanc, astrocorp_state, showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue (China)", GAME_SUPPORTS_SAVE ) GAME( 2000, showhanc, showhand, showhanc, showhanc, astrocorp_state, showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue (China)", GAME_SUPPORTS_SAVE )
GAME( 2002, skilldrp, 0, skilldrp, skilldrp, astrocorp_state, 0, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", GAME_SUPPORTS_SAVE ) GAME( 2002, skilldrp, 0, skilldrp, skilldrp, driver_device, 0, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", GAME_SUPPORTS_SAVE )
GAME( 2003, speeddrp, 0, speeddrp, skilldrp, astrocorp_state, 0, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", GAME_SUPPORTS_SAVE ) GAME( 2003, speeddrp, 0, speeddrp, skilldrp, driver_device, 0, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", GAME_SUPPORTS_SAVE )
GAME( 2005?, winbingo, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 1)", GAME_NOT_WORKING ) GAME( 2005?, winbingo, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 1)", GAME_NOT_WORKING )
GAME( 2005?, winbingoa, winbingo, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 2)", GAME_NOT_WORKING ) GAME( 2005?, winbingoa, winbingo, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 2)", GAME_NOT_WORKING )
GAME( 2005?, zoo, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D)", GAME_NOT_WORKING ) GAME( 2005?, zoo, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D)", GAME_NOT_WORKING )
GAME( 2007?, westvent, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Western Venture (Ver. AA.02.D)", GAME_NOT_WORKING ) GAME( 2007?, westvent, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Western Venture (Ver. AA.02.D)", GAME_NOT_WORKING )

View File

@ -1286,50 +1286,47 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( abattle ) DRIVER_INIT_MEMBER(astrof_state,abattle)
{ {
/* use the protection PROM to decrypt the ROMs */ /* use the protection PROM to decrypt the ROMs */
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
UINT8 *prom = machine.root_device().memregion("user1")->base(); UINT8 *prom = machine().root_device().memregion("user1")->base();
int i; int i;
for(i = 0xd000; i < 0x10000; i++) for(i = 0xd000; i < 0x10000; i++)
rom[i] = prom[rom[i]]; rom[i] = prom[rom[i]];
/* set up protection handlers */ /* set up protection handlers */
astrof_state *state = machine.driver_data<astrof_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),state));
} }
static DRIVER_INIT( afire ) DRIVER_INIT_MEMBER(astrof_state,afire)
{ {
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i; int i;
for(i = 0xd000; i < 0x10000; i++) for(i = 0xd000; i < 0x10000; i++)
rom[i] = ~rom[i]; rom[i] = ~rom[i];
/* set up protection handlers */ /* set up protection handlers */
astrof_state *state = machine.driver_data<astrof_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::afire_coin_prot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::afire_coin_prot_r),state));
} }
static DRIVER_INIT( sstarbtl ) DRIVER_INIT_MEMBER(astrof_state,sstarbtl)
{ {
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i; int i;
for(i = 0xd000; i < 0x10000; i++) for(i = 0xd000; i < 0x10000; i++)
rom[i] = ~rom[i]; rom[i] = ~rom[i];
/* set up protection handlers */ /* set up protection handlers */
astrof_state *state = machine.driver_data<astrof_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),state));
} }
@ -1340,16 +1337,16 @@ static DRIVER_INIT( sstarbtl )
* *
*************************************/ *************************************/
GAME( 1979, astrof, 0, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, astrof, 0, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, astrof2, astrof, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, astrof2, astrof, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, astrof3, astrof, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, astrof3, astrof, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, abattle, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, abattle, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, abattle2, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, abattle2, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, afire, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg (Rene Pierre)", "Astro Fire", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, afire, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg (Rene Pierre)", "Astro Fire", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, acombat, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (newer, CB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, acombat, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (newer, CB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, acombato, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (older, PZ)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, acombato, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (older, PZ)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, sstarbtl, astrof, abattle, abattle, astrof_state, sstarbtl,ROT90, "bootleg", "Super Star Battle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, sstarbtl, astrof, abattle, abattle, astrof_state, sstarbtl,ROT90, "bootleg", "Super Star Battle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, spfghmk2, 0, spfghmk2, spfghmk2, astrof_state, 0, ROT90, "Data East", "Space Fighter Mark II (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, spfghmk2, 0, spfghmk2, spfghmk2, driver_device, 0, ROT90, "Data East", "Space Fighter Mark II (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, spfghmk22,spfghmk2, spfghmk2, spfghmk22, astrof_state,0, ROT90, "Data East", "Space Fighter Mark II (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1979, spfghmk22,spfghmk2, spfghmk2, spfghmk22, driver_device,0, ROT90, "Data East", "Space Fighter Mark II (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, tomahawk, 0, tomahawk, tomahawk, astrof_state, 0, ROT90, "Data East", "Tomahawk 777 (rev 5)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1980, tomahawk, 0, tomahawk, tomahawk, driver_device, 0, ROT90, "Data East", "Tomahawk 777 (rev 5)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, tomahawk1,tomahawk, tomahawk, tomahawk1, astrof_state,0, ROT90, "Data East", "Tomahawk 777 (rev 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1980, tomahawk1,tomahawk, tomahawk, tomahawk1, driver_device,0, ROT90, "Data East", "Tomahawk 777 (rev 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )

View File

@ -25,6 +25,8 @@ protected:
// devices // devices
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
public:
DECLARE_DRIVER_INIT(astropc);
}; };
static ADDRESS_MAP_START( astropc_map, AS_PROGRAM, 32, astropc_state ) static ADDRESS_MAP_START( astropc_map, AS_PROGRAM, 32, astropc_state )
@ -154,7 +156,7 @@ ROM_START( rasce )
ROM_END ROM_END
static DRIVER_INIT(astropc) DRIVER_INIT_MEMBER(astropc_state,astropc)
{ {
} }

View File

@ -1536,19 +1536,19 @@ ROM_START( eto )
ROM_END ROM_END
GAME( 1988, bonzeadv, 0, bonzeadv, bonzeadv, asuka_state, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Newer)", GAME_SUPPORTS_SAVE ) GAME( 1988, bonzeadv, 0, bonzeadv, bonzeadv, driver_device, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Newer)", GAME_SUPPORTS_SAVE )
GAME( 1988, bonzeadvo, bonzeadv, bonzeadv, bonzeadv, asuka_state, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Older)", GAME_SUPPORTS_SAVE ) GAME( 1988, bonzeadvo, bonzeadv, bonzeadv, bonzeadv, driver_device, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Older)", GAME_SUPPORTS_SAVE )
GAME( 1988, bonzeadvu, bonzeadv, bonzeadv, jigkmgri, asuka_state, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US)", GAME_SUPPORTS_SAVE ) GAME( 1988, bonzeadvu, bonzeadv, bonzeadv, jigkmgri, driver_device, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US)", GAME_SUPPORTS_SAVE )
GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, asuka_state, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, driver_device, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1988, asuka, 0, asuka, asuka, asuka_state, 0, ROT270, "Taito Corporation", "Asuka & Asuka (World)", GAME_SUPPORTS_SAVE ) GAME( 1988, asuka, 0, asuka, asuka, driver_device, 0, ROT270, "Taito Corporation", "Asuka & Asuka (World)", GAME_SUPPORTS_SAVE )
GAME( 1988, asukaj, asuka, asuka, asuka, asuka_state, 0, ROT270, "Taito Corporation", "Asuka & Asuka (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1988, asukaj, asuka, asuka, asuka, driver_device, 0, ROT270, "Taito Corporation", "Asuka & Asuka (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, mofflott, 0, mofflott, mofflott, asuka_state, 0, ROT270, "Taito Corporation", "Maze of Flott (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1989, mofflott, 0, mofflott, mofflott, driver_device, 0, ROT270, "Taito Corporation", "Maze of Flott (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadash, 0, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (World)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadash, 0, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (World)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadashj, cadash, cadash, cadashj, asuka_state, 0, ROT0, "Taito Corporation", "Cadash (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadashj, cadash, cadash, cadashj, driver_device, 0, ROT0, "Taito Corporation", "Cadash (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadashu, cadash, cadash, cadashu, asuka_state, 0, ROT0, "Taito America Corporation", "Cadash (US)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadashu, cadash, cadash, cadashu, driver_device, 0, ROT0, "Taito America Corporation", "Cadash (US)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadashi, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (Italy)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadashi, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (Italy)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadashf, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (France)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadashf, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (France)", GAME_SUPPORTS_SAVE )
GAME( 1989, cadashg, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (Germany)", GAME_SUPPORTS_SAVE ) GAME( 1989, cadashg, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (Germany)", GAME_SUPPORTS_SAVE )
GAME( 1992, galmedes, 0, galmedes, galmedes, asuka_state, 0, ROT270, "Visco", "Galmedes (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1992, galmedes, 0, galmedes, galmedes, driver_device, 0, ROT270, "Visco", "Galmedes (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1993, earthjkr, 0, galmedes, earthjkr, asuka_state, 0, ROT270, "Visco", "U.N. Defense Force: Earth Joker", GAME_SUPPORTS_SAVE ) GAME( 1993, earthjkr, 0, galmedes, earthjkr, driver_device, 0, ROT270, "Visco", "U.N. Defense Force: Earth Joker", GAME_SUPPORTS_SAVE )
GAME( 1994, eto, 0, eto, eto, asuka_state, 0, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1994, eto, 0, eto, eto, driver_device, 0, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -22,6 +22,8 @@ protected:
// driver_device overrides // driver_device overrides
virtual void machine_reset(); virtual void machine_reset();
public:
DECLARE_DRIVER_INIT(atari_s1);
}; };
static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state ) static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state )
@ -39,7 +41,7 @@ void atari_s1_state::machine_reset()
{ {
} }
static DRIVER_INIT( atari_s1 ) DRIVER_INIT_MEMBER(atari_s1_state,atari_s1)
{ {
} }

View File

@ -21,6 +21,8 @@ protected:
// driver_device overrides // driver_device overrides
virtual void machine_reset(); virtual void machine_reset();
public:
DECLARE_DRIVER_INIT(atari_s2);
}; };
@ -39,7 +41,7 @@ void atari_s2_state::machine_reset()
{ {
} }
static DRIVER_INIT( atari_s2 ) DRIVER_INIT_MEMBER(atari_s2_state,atari_s2)
{ {
} }

View File

@ -21,6 +21,8 @@ protected:
// driver_device overrides // driver_device overrides
virtual void machine_reset(); virtual void machine_reset();
public:
DECLARE_DRIVER_INIT(atari_s3);
}; };
@ -39,7 +41,7 @@ void atari_s3_state::machine_reset()
{ {
} }
static DRIVER_INIT( atari_s3 ) DRIVER_INIT_MEMBER(atari_s3_state,atari_s3)
{ {
} }

View File

@ -781,9 +781,9 @@ ROM_END
*************************************/ *************************************/
/* YEAR NAME PARENT MACHINE INPUT */ /* YEAR NAME PARENT MACHINE INPUT */
GAMEL( 1978, atarifb, 0, atarifb, atarifb, atarifb_state, 0, ROT0, "Atari", "Atari Football (revision 2)", GAME_SUPPORTS_SAVE, layout_atarifb ) GAMEL( 1978, atarifb, 0, atarifb, atarifb, driver_device, 0, ROT0, "Atari", "Atari Football (revision 2)", GAME_SUPPORTS_SAVE, layout_atarifb )
GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, atarifb_state, 0, ROT0, "Atari", "Atari Football (revision 1)", GAME_SUPPORTS_SAVE, layout_atarifb ) GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, driver_device, 0, ROT0, "Atari", "Atari Football (revision 1)", GAME_SUPPORTS_SAVE, layout_atarifb )
GAMEL( 1979, atarifb4, atarifb, atarifb4, atarifb4, atarifb_state, 0, ROT0, "Atari", "Atari Football (4 players)", GAME_SUPPORTS_SAVE, layout_atarifb4 ) GAMEL( 1979, atarifb4, atarifb, atarifb4, atarifb4, driver_device, 0, ROT0, "Atari", "Atari Football (4 players)", GAME_SUPPORTS_SAVE, layout_atarifb4 )
GAMEL( 1979, abaseb, 0, abaseb, abaseb, atarifb_state, 0, ROT0, "Atari", "Atari Baseball (set 1)", GAME_SUPPORTS_SAVE, layout_abaseb ) GAMEL( 1979, abaseb, 0, abaseb, abaseb, driver_device, 0, ROT0, "Atari", "Atari Baseball (set 1)", GAME_SUPPORTS_SAVE, layout_abaseb )
GAMEL( 1979, abaseb2, abaseb, abaseb, abaseb, atarifb_state, 0, ROT0, "Atari", "Atari Baseball (set 2)", GAME_SUPPORTS_SAVE, layout_abaseb ) GAMEL( 1979, abaseb2, abaseb, abaseb, abaseb, driver_device, 0, ROT0, "Atari", "Atari Baseball (set 2)", GAME_SUPPORTS_SAVE, layout_abaseb )
GAME ( 1980, soccer, 0, soccer, soccer, atarifb_state, 0, ROT0, "Atari", "Atari Soccer", GAME_SUPPORTS_SAVE ) GAME ( 1980, soccer, 0, soccer, soccer, driver_device, 0, ROT0, "Atari", "Atari Soccer", GAME_SUPPORTS_SAVE )

View File

@ -1230,14 +1230,14 @@ static void init_g1_common(running_machine &machine, offs_t slapstic_base, int s
state->m_is_pitfight = is_pitfight; state->m_is_pitfight = is_pitfight;
} }
static DRIVER_INIT( hydra ) { init_g1_common(machine, 0x078000, 116, 0); } DRIVER_INIT_MEMBER(atarig1_state,hydra) { init_g1_common(machine(), 0x078000, 116, 0); }
static DRIVER_INIT( hydrap ) { init_g1_common(machine, 0x000000, 0, 0); } DRIVER_INIT_MEMBER(atarig1_state,hydrap) { init_g1_common(machine(), 0x000000, 0, 0); }
static DRIVER_INIT( pitfight9 ) { init_g1_common(machine, 0x038000, 114, 1); } DRIVER_INIT_MEMBER(atarig1_state,pitfight9) { init_g1_common(machine(), 0x038000, 114, 1); }
static DRIVER_INIT( pitfight7 ) { init_g1_common(machine, 0x038000, 112, 1); } DRIVER_INIT_MEMBER(atarig1_state,pitfight7) { init_g1_common(machine(), 0x038000, 112, 1); }
static DRIVER_INIT( pitfight ) { init_g1_common(machine, 0x038000, 111, 1); } DRIVER_INIT_MEMBER(atarig1_state,pitfight) { init_g1_common(machine(), 0x038000, 111, 1); }
static DRIVER_INIT( pitfightj ) { init_g1_common(machine, 0x038000, 113, 1); } DRIVER_INIT_MEMBER(atarig1_state,pitfightj) { init_g1_common(machine(), 0x038000, 113, 1); }
static DRIVER_INIT( pitfightb ) { init_g1_common(machine, 0x038000, -1, 1); } DRIVER_INIT_MEMBER(atarig1_state,pitfightb) { init_g1_common(machine(), 0x038000, -1, 1); }
/************************************* /*************************************

View File

@ -782,18 +782,17 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( roadriot ) DRIVER_INIT_MEMBER(atarig42_state,roadriot)
{ {
atarig42_state *state = machine.driver_data<atarig42_state>(); atarijsa_init(machine(), "IN2", 0x0040);
atarijsa_init(machine, "IN2", 0x0040);
state->m_playfield_base = 0x400; m_playfield_base = 0x400;
address_space *main = machine.device<m68000_device>("maincpu")->space(AS_PROGRAM); address_space *main = machine().device<m68000_device>("maincpu")->space(AS_PROGRAM);
state->m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::roadriot_sloop_data_r),state), write16_delegate(FUNC(atarig42_state::roadriot_sloop_data_w),state)); m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::roadriot_sloop_data_r),this), write16_delegate(FUNC(atarig42_state::roadriot_sloop_data_w),this));
main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), state)); main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), this));
asic65_config(machine, ASIC65_ROMBASED); asic65_config(machine(), ASIC65_ROMBASED);
/* /*
Road Riot color MUX Road Riot color MUX
@ -817,22 +816,21 @@ static DRIVER_INIT( roadriot )
} }
static DRIVER_INIT( guardian ) DRIVER_INIT_MEMBER(atarig42_state,guardian)
{ {
atarig42_state *state = machine.driver_data<atarig42_state>(); atarijsa_init(machine(), "IN2", 0x0040);
atarijsa_init(machine, "IN2", 0x0040);
state->m_playfield_base = 0x000; m_playfield_base = 0x000;
/* it looks like they jsr to $80000 as some kind of protection */ /* it looks like they jsr to $80000 as some kind of protection */
/* put an RTS there so we don't die */ /* put an RTS there so we don't die */
*(UINT16 *)&state->memregion("maincpu")->base()[0x80000] = 0x4E75; *(UINT16 *)&memregion("maincpu")->base()[0x80000] = 0x4E75;
address_space *main = machine.device<m68000_device>("maincpu")->space(AS_PROGRAM); address_space *main = machine().device<m68000_device>("maincpu")->space(AS_PROGRAM);
state->m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::guardians_sloop_data_r),state), write16_delegate(FUNC(atarig42_state::guardians_sloop_data_w),state)); m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::guardians_sloop_data_r),this), write16_delegate(FUNC(atarig42_state::guardians_sloop_data_w),this));
main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), state)); main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), this));
asic65_config(machine, ASIC65_GUARDIANS); asic65_config(machine(), ASIC65_GUARDIANS);
/* /*
Guardians color MUX Guardians color MUX

View File

@ -1261,22 +1261,21 @@ WRITE32_MEMBER(atarigt_state::tmek_pf_w)
atarigen_playfield32_w(&space, offset, data, mem_mask); atarigen_playfield32_w(&space, offset, data, mem_mask);
} }
static DRIVER_INIT( tmek ) DRIVER_INIT_MEMBER(atarigt_state,tmek)
{ {
atarigt_state *state = machine.driver_data<atarigt_state>();
state->m_eeprom_default = NULL; m_eeprom_default = NULL;
state->m_is_primrage = 0; m_is_primrage = 0;
cage_init(machine, 0x4fad); cage_init(machine(), 0x4fad);
cage_set_irq_handler(cage_irq_callback); cage_set_irq_handler(cage_irq_callback);
/* setup protection */ /* setup protection */
state->m_protection_r = tmek_protection_r; m_protection_r = tmek_protection_r;
state->m_protection_w = tmek_protection_w; m_protection_w = tmek_protection_w;
/* temp hack */ /* temp hack */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd72000, 0xd75fff, write32_delegate(FUNC(atarigt_state::tmek_pf_w),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd72000, 0xd75fff, write32_delegate(FUNC(atarigt_state::tmek_pf_w),this));
} }
@ -1295,10 +1294,8 @@ static void primrage_init_common(running_machine &machine, offs_t cage_speedup)
state->m_protection_w = primrage_protection_w; state->m_protection_w = primrage_protection_w;
} }
static DRIVER_INIT( primrage ) { primrage_init_common(machine, 0x42f2); } DRIVER_INIT_MEMBER(atarigt_state,primrage) { primrage_init_common(machine(), 0x42f2); }
static DRIVER_INIT( primrage20 ) { primrage_init_common(machine, 0x48a4); } DRIVER_INIT_MEMBER(atarigt_state,primrage20) { primrage_init_common(machine(), 0x48a4); }
/************************************* /*************************************
* *

View File

@ -2186,23 +2186,21 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( spclords ) DRIVER_INIT_MEMBER(atarigx2_state,spclords)
{ {
atarigx2_state *state = machine.driver_data<atarigx2_state>();
atarijsa_init(machine, "SERVICE", 0x0040); atarijsa_init(machine(), "SERVICE", 0x0040);
state->m_playfield_base = 0x000; m_playfield_base = 0x000;
} }
static DRIVER_INIT( motofren ) DRIVER_INIT_MEMBER(atarigx2_state,motofren)
{ {
atarigx2_state *state = machine.driver_data<atarigx2_state>();
atarijsa_init(machine, "SERVICE", 0x0040); atarijsa_init(machine(), "SERVICE", 0x0040);
state->m_playfield_base = 0x400; m_playfield_base = 0x400;
/* /*
L/W=!68.A23*!E.A22*!E.A21 = 000x xxxx = 000000-1fffff L/W=!68.A23*!E.A22*!E.A21 = 000x xxxx = 000000-1fffff
+68.A23*E.A22*E.A21*68.A20*68.A19*68.A18*68.A17 = 1111 111x = fe0000-ffffff +68.A23*E.A22*E.A21*68.A20*68.A19*68.A18*68.A17 = 1111 111x = fe0000-ffffff
@ -2232,15 +2230,14 @@ READ32_MEMBER(atarigx2_state::rrreveng_prot_r)
return 0; return 0;
} }
static DRIVER_INIT( rrreveng ) DRIVER_INIT_MEMBER(atarigx2_state,rrreveng)
{ {
atarigx2_state *state = machine.driver_data<atarigx2_state>();
atarijsa_init(machine, "SERVICE", 0x0040); atarijsa_init(machine(), "SERVICE", 0x0040);
state->m_playfield_base = 0x000; m_playfield_base = 0x000;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),state)); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),this));
} }

View File

@ -2340,69 +2340,63 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( marble ) DRIVER_INIT_MEMBER(atarisy1_state,marble)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 103); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 103);
state->m_joystick_type = 0; /* none */ m_joystick_type = 0; /* none */
state->m_trackball_type = 1; /* rotated */ m_trackball_type = 1; /* rotated */
} }
static DRIVER_INIT( peterpak ) DRIVER_INIT_MEMBER(atarisy1_state,peterpak)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 107); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 107);
state->m_joystick_type = 1; /* digital */ m_joystick_type = 1; /* digital */
state->m_trackball_type = 0; /* none */ m_trackball_type = 0; /* none */
} }
static DRIVER_INIT( indytemp ) DRIVER_INIT_MEMBER(atarisy1_state,indytemp)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 105); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 105);
state->m_joystick_type = 1; /* digital */ m_joystick_type = 1; /* digital */
state->m_trackball_type = 0; /* none */ m_trackball_type = 0; /* none */
} }
static DRIVER_INIT( roadrunn ) DRIVER_INIT_MEMBER(atarisy1_state,roadrunn)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 108); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 108);
state->m_joystick_type = 2; /* analog */ m_joystick_type = 2; /* analog */
state->m_trackball_type = 0; /* none */ m_trackball_type = 0; /* none */
} }
static DRIVER_INIT( roadb109 ) DRIVER_INIT_MEMBER(atarisy1_state,roadb109)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 109); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 109);
state->m_joystick_type = 3; /* pedal */ m_joystick_type = 3; /* pedal */
state->m_trackball_type = 2; /* steering wheel */ m_trackball_type = 2; /* steering wheel */
} }
static DRIVER_INIT( roadb110 ) DRIVER_INIT_MEMBER(atarisy1_state,roadb110)
{ {
atarisy1_state *state = machine.driver_data<atarisy1_state>();
atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 110); atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 110);
state->m_joystick_type = 3; /* pedal */ m_joystick_type = 3; /* pedal */
state->m_trackball_type = 2; /* steering wheel */ m_trackball_type = 2; /* steering wheel */
} }

View File

@ -3191,13 +3191,12 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( paperboy ) DRIVER_INIT_MEMBER(atarisy2_state,paperboy)
{ {
int i; int i;
atarisy2_state *state = machine.driver_data<atarisy2_state>(); UINT8 *cpu1 = memregion("maincpu")->base();
UINT8 *cpu1 = state->memregion("maincpu")->base();
slapstic_init(machine, 105); slapstic_init(machine(), 105);
/* expand the 16k program ROMs into full 64k chunks */ /* expand the 16k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000) for (i = 0x10000; i < 0x90000; i += 0x20000)
@ -3207,69 +3206,65 @@ static DRIVER_INIT( paperboy )
memcpy(&cpu1[i + 0x18000], &cpu1[i], 0x8000); memcpy(&cpu1[i + 0x18000], &cpu1[i], 0x8000);
} }
state->m_pedal_count = 0; m_pedal_count = 0;
state->m_has_tms5220 = 1; m_has_tms5220 = 1;
tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
} }
static DRIVER_INIT( 720 ) DRIVER_INIT_MEMBER(atarisy2_state,720)
{ {
/* without the default EEPROM, 720 hangs at startup due to communication /* without the default EEPROM, 720 hangs at startup due to communication
issues with the sound CPU; temporarily increasing the sound CPU frequency issues with the sound CPU; temporarily increasing the sound CPU frequency
to ~2.2MHz "fixes" the problem */ to ~2.2MHz "fixes" the problem */
atarisy2_state *state = machine.driver_data<atarisy2_state>(); slapstic_init(machine(), 107);
slapstic_init(machine, 107);
state->m_pedal_count = -1; m_pedal_count = -1;
state->m_has_tms5220 = 1; m_has_tms5220 = 1;
tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
} }
static DRIVER_INIT( ssprint ) DRIVER_INIT_MEMBER(atarisy2_state,ssprint)
{ {
atarisy2_state *state = machine.driver_data<atarisy2_state>();
int i; int i;
UINT8 *cpu1 = state->memregion("maincpu")->base(); UINT8 *cpu1 = memregion("maincpu")->base();
slapstic_init(machine, 108); slapstic_init(machine(), 108);
/* expand the 32k program ROMs into full 64k chunks */ /* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000) for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000); memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000);
state->m_pedal_count = 3; m_pedal_count = 3;
state->m_has_tms5220 = 0; m_has_tms5220 = 0;
} }
static DRIVER_INIT( csprint ) DRIVER_INIT_MEMBER(atarisy2_state,csprint)
{ {
int i; int i;
atarisy2_state *state = machine.driver_data<atarisy2_state>(); UINT8 *cpu1 = memregion("maincpu")->base();
UINT8 *cpu1 = state->memregion("maincpu")->base();
slapstic_init(machine, 109); slapstic_init(machine(), 109);
/* expand the 32k program ROMs into full 64k chunks */ /* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000) for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000); memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000);
state->m_pedal_count = 2; m_pedal_count = 2;
state->m_has_tms5220 = 0; m_has_tms5220 = 0;
} }
static DRIVER_INIT( apb ) DRIVER_INIT_MEMBER(atarisy2_state,apb)
{ {
atarisy2_state *state = machine.driver_data<atarisy2_state>();
slapstic_init(machine, 110); slapstic_init(machine(), 110);
state->m_pedal_count = 2; m_pedal_count = 2;
state->m_has_tms5220 = 1; m_has_tms5220 = 1;
tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
} }

View File

@ -52,6 +52,8 @@ public:
DECLARE_READ16_MEMBER(dsp1_bio_r); DECLARE_READ16_MEMBER(dsp1_bio_r);
DECLARE_WRITE16_MEMBER(dsp1_bank_w); DECLARE_WRITE16_MEMBER(dsp1_bank_w);
DECLARE_READ16_MEMBER(analog_r); DECLARE_READ16_MEMBER(analog_r);
DECLARE_DRIVER_INIT(airrace);
DECLARE_DRIVER_INIT(laststar);
}; };
@ -960,43 +962,41 @@ next_line:
} }
} }
static DRIVER_INIT( laststar ) DRIVER_INIT_MEMBER(atarisy4_state,laststar)
{ {
atarisy4_state *state = machine.driver_data<atarisy4_state>(); address_space *main = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *main = machine.device("maincpu")->memory().space(AS_PROGRAM);
/* Allocate 16kB of shared RAM */ /* Allocate 16kB of shared RAM */
state->m_shared_ram[0] = auto_alloc_array_clear(machine, UINT16, 0x2000); m_shared_ram[0] = auto_alloc_array_clear(machine(), UINT16, 0x2000);
/* Populate the 68000 address space with data from the HEX files */ /* Populate the 68000 address space with data from the HEX files */
load_hexfile(main, state->memregion("code")->base()); load_hexfile(main, memregion("code")->base());
load_hexfile(main, state->memregion("data")->base()); load_hexfile(main, memregion("data")->base());
/* Set up the DSP */ /* Set up the DSP */
state->membank("dsp0_bank0")->set_base(state->m_shared_ram[0]); membank("dsp0_bank0")->set_base(m_shared_ram[0]);
state->membank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]); membank("dsp0_bank1")->set_base(&m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), state->memregion("dsp")->base()); load_ldafile(machine().device("dsp0")->memory().space(AS_PROGRAM), memregion("dsp")->base());
} }
static DRIVER_INIT( airrace ) DRIVER_INIT_MEMBER(atarisy4_state,airrace)
{ {
atarisy4_state *state = machine.driver_data<atarisy4_state>();
/* Allocate two sets of 32kB shared RAM */ /* Allocate two sets of 32kB shared RAM */
state->m_shared_ram[0] = auto_alloc_array_clear(machine, UINT16, 0x4000); m_shared_ram[0] = auto_alloc_array_clear(machine(), UINT16, 0x4000);
state->m_shared_ram[1] = auto_alloc_array_clear(machine, UINT16, 0x4000); m_shared_ram[1] = auto_alloc_array_clear(machine(), UINT16, 0x4000);
/* Populate RAM with data from the HEX files */ /* Populate RAM with data from the HEX files */
load_hexfile(machine.device("maincpu")->memory().space(AS_PROGRAM), state->memregion("code")->base()); load_hexfile(machine().device("maincpu")->memory().space(AS_PROGRAM), memregion("code")->base());
/* Set up the first DSP */ /* Set up the first DSP */
state->membank("dsp0_bank0")->set_base(state->m_shared_ram[0]); membank("dsp0_bank0")->set_base(m_shared_ram[0]);
state->membank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]); membank("dsp0_bank1")->set_base(&m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), state->memregion("dsp")->base()); load_ldafile(machine().device("dsp0")->memory().space(AS_PROGRAM), memregion("dsp")->base());
/* Set up the second DSP */ /* Set up the second DSP */
state->membank("dsp1_bank0")->set_base(state->m_shared_ram[1]); membank("dsp1_bank0")->set_base(m_shared_ram[1]);
state->membank("dsp1_bank1")->set_base(&state->m_shared_ram[1][0x800]); membank("dsp1_bank1")->set_base(&m_shared_ram[1][0x800]);
load_ldafile(machine.device("dsp1")->memory().space(AS_PROGRAM), state->memregion("dsp")->base()); load_ldafile(machine().device("dsp1")->memory().space(AS_PROGRAM), memregion("dsp")->base());
} }
static MACHINE_RESET( atarisy4 ) static MACHINE_RESET( atarisy4 )

View File

@ -705,82 +705,79 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( ataxx ) DRIVER_INIT_MEMBER(leland_state,ataxx)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* set up additional input ports */ /* set up additional input ports */
leland_state *state = machine.driver_data<leland_state>(); machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),this));
machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),state));
} }
static DRIVER_INIT( ataxxj ) DRIVER_INIT_MEMBER(leland_state,ataxxj)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* set up additional input ports */ /* set up additional input ports */
leland_state *state = machine.driver_data<leland_state>(); machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),this));
machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),state));
} }
static DRIVER_INIT( wsf ) DRIVER_INIT_MEMBER(leland_state,wsf)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* set up additional input ports */ /* set up additional input ports */
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1_P2"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1_P2");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P3_P4"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P3_P4");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "BUTTONS"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "BUTTONS");
} }
static DRIVER_INIT( indyheat ) DRIVER_INIT_MEMBER(leland_state,indyheat)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* set up additional input ports */ /* set up additional input ports */
leland_state *state = machine.driver_data<leland_state>(); machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x02, read8_delegate(FUNC(leland_state::indyheat_wheel_r),this));
machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x02, read8_delegate(FUNC(leland_state::indyheat_wheel_r),state)); machine().device("master")->memory().space(AS_IO)->install_read_handler(0x08, 0x0b, read8_delegate(FUNC(leland_state::indyheat_analog_r),this));
machine.device("master")->memory().space(AS_IO)->install_read_handler(0x08, 0x0b, read8_delegate(FUNC(leland_state::indyheat_analog_r),state)); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P2");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P2"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
/* set up additional output ports */ /* set up additional output ports */
machine.device("master")->memory().space(AS_IO)->install_write_handler(0x08, 0x0b, write8_delegate(FUNC(leland_state::indyheat_analog_w),state)); machine().device("master")->memory().space(AS_IO)->install_write_handler(0x08, 0x0b, write8_delegate(FUNC(leland_state::indyheat_analog_w),this));
} }
static DRIVER_INIT( brutforc ) DRIVER_INIT_MEMBER(leland_state,brutforc)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* set up additional input ports */ /* set up additional input ports */
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
} }
static DRIVER_INIT( asylum ) DRIVER_INIT_MEMBER(leland_state,asylum)
{ {
leland_rotate_memory(machine, "master"); leland_rotate_memory(machine(), "master");
leland_rotate_memory(machine, "slave"); leland_rotate_memory(machine(), "slave");
/* asylum appears to have some extra RAM for the slave CPU */ /* asylum appears to have some extra RAM for the slave CPU */
machine.device("slave")->memory().space(AS_PROGRAM)->install_ram(0xf000, 0xfffb); machine().device("slave")->memory().space(AS_PROGRAM)->install_ram(0xf000, 0xfffb);
/* set up additional input ports */ /* set up additional input ports */
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3"); machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
} }

View File

@ -493,14 +493,13 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( atetris ) DRIVER_INIT_MEMBER(atetris_state,atetris)
{ {
atetris_state *state = machine.driver_data<atetris_state>(); UINT8 *rgn = memregion("maincpu")->base();
UINT8 *rgn = state->memregion("maincpu")->base();
slapstic_init(machine, 101); slapstic_init(machine(), 101);
state->m_slapstic_source = &rgn[0x10000]; m_slapstic_source = &rgn[0x10000];
state->m_slapstic_base = &rgn[0x04000]; m_slapstic_base = &rgn[0x04000];
} }

View File

@ -45,6 +45,7 @@ class atlantis_state : public driver_device
public: public:
atlantis_state(const machine_config &mconfig, device_type type, const char *tag) atlantis_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) {} : driver_device(mconfig, type, tag) {}
DECLARE_DRIVER_INIT(mwskins);
}; };
@ -207,9 +208,9 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( mwskins ) DRIVER_INIT_MEMBER(atlantis_state,mwskins)
{ {
dcs2_init(machine, 8, 0); dcs2_init(machine(), 8, 0);
} }
/************************************* /*************************************

View File

@ -811,33 +811,33 @@ ROM_END
GAME( 1999, atronic, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", GAME_IS_SKELETON) GAME( 1999, atronic, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", GAME_IS_SKELETON)
GAME( 1999, atronica, atronic, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", GAME_IS_SKELETON) GAME( 1999, atronica, atronic, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", GAME_IS_SKELETON)
GAME( 2002, atlantca, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", GAME_IS_SKELETON) GAME( 2002, atlantca, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
GAME( 2002, atlantcaa, atlantca, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", GAME_IS_SKELETON) GAME( 2002, atlantcaa, atlantca, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
GAME( 2002, baboshka, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, baboshka, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, cfblue, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", GAME_IS_SKELETON) GAME( 2002, cfblue, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
GAME( 2002, cfbluea, cfblue, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", GAME_IS_SKELETON) GAME( 2002, cfbluea, cfblue, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
GAME( 2002, cfgreen, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, cfgreen, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, chicken, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Chicken (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, chicken, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Chicken (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, aclown, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Clown (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, aclown, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Clown (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, goldglen, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, goldglen, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, iccash, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, iccash, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, shpinxii, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, shpinxii, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, bearnec, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, bearnec, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, beachpt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, beachpt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, beetleup, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, beetleup, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, abigchs, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, abigchs, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, bigblue, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, bigblue, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, castaway, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", GAME_IS_SKELETON) GAME( 2002, castaway, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
GAME( 2002, castawaya, castaway, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", GAME_IS_SKELETON) GAME( 2002, castawaya, castaway, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
GAME( 2002, dncsprt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, dncsprt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, drmmake, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, drmmake, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, goldcity, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Gold City (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, goldcity, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Gold City (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, jumpjkpt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, jumpjkpt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, mushmagi, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, mushmagi, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, santam, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, santam, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, splmastr, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, splmastr, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, tajmah, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, tajmah, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", GAME_IS_SKELETON)
GAME( 2002, 3wishrd, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", GAME_IS_SKELETON) GAME( 2002, 3wishrd, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", GAME_IS_SKELETON)

View File

@ -233,4 +233,4 @@ ROM_START( attckufo )
ROM_COPY( "maincpu", 0x02000, 0x00000, 0x400) ROM_COPY( "maincpu", 0x02000, 0x00000, 0x400)
ROM_END ROM_END
GAME( 1980, attckufo, 0, attckufo, attckufo, attckufo_state, 0, ROT270, "Ryoto Electric Co.", "Attack Ufo", GAME_SUPPORTS_SAVE ) GAME( 1980, attckufo, 0, attckufo, attckufo, driver_device, 0, ROT270, "Ryoto Electric Co.", "Attack Ufo", GAME_SUPPORTS_SAVE )

View File

@ -428,5 +428,5 @@ ROM_START( atvtracka )
ROM_LOAD32_BYTE("k9f2808u0b.ic19", 0x0000003, 0x1080000, CRC(856c1e6a) SHA1(a6b2839120d61811c36cc6b4095de9cefceb394b) ) ROM_LOAD32_BYTE("k9f2808u0b.ic19", 0x0000003, 0x1080000, CRC(856c1e6a) SHA1(a6b2839120d61811c36cc6b4095de9cefceb394b) )
ROM_END ROM_END
GAME( 2002, atvtrack, 0, atvtrack, atvtrack, atvtrack_state, 0, ROT0, "Gaelco", "ATV Track (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND ) GAME( 2002, atvtrack, 0, atvtrack, atvtrack, driver_device, 0, ROT0, "Gaelco", "ATV Track (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 2002, atvtracka, atvtrack, atvtrack, atvtrack, atvtrack_state, 0, ROT0, "Gaelco", "ATV Track (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND ) GAME( 2002, atvtracka, atvtrack, atvtrack, atvtrack, driver_device, 0, ROT0, "Gaelco", "ATV Track (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )

View File

@ -329,6 +329,6 @@ ROM_END
* *
*************************************/ *************************************/
GAMEL( 1978, avalnche, 0, avalnche, avalnche, avalnche_state, 0, ROT0, "Atari", "Avalanche", GAME_SUPPORTS_SAVE, layout_avalnche ) GAMEL( 1978, avalnche, 0, avalnche, avalnche, driver_device, 0, ROT0, "Atari", "Avalanche", GAME_SUPPORTS_SAVE, layout_avalnche )
GAMEL( 1978, cascade, avalnche, avalnche, cascade, avalnche_state, 0, ROT0, "bootleg? (Sidam)", "Cascade", GAME_SUPPORTS_SAVE, layout_avalnche ) GAMEL( 1978, cascade, avalnche, avalnche, cascade, driver_device, 0, ROT0, "bootleg? (Sidam)", "Cascade", GAME_SUPPORTS_SAVE, layout_avalnche )
GAME ( 1977, catchp, 0, catch, catch, avalnche_state, 0, ROT0, "Atari", "Catch (prototype)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // pre-production board, evolved into Avalanche GAME ( 1977, catchp, 0, catch, catch, driver_device, 0, ROT0, "Atari", "Catch (prototype)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // pre-production board, evolved into Avalanche

View File

@ -991,7 +991,7 @@ ROM_END
*********************************************/ *********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
GAME( 1985, avtsym14, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", GAME_NOT_WORKING ) GAME( 1985, avtsym14, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", GAME_NOT_WORKING )
GAME( 1985, avtsym25, avtsym14, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", GAME_NOT_WORKING ) GAME( 1985, avtsym25, avtsym14, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", GAME_NOT_WORKING )
GAME( 1985, avtbingo, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", GAME_NOT_WORKING ) GAME( 1985, avtbingo, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", GAME_NOT_WORKING )
GAME( 1989, avtnfl, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", GAME_NOT_WORKING ) GAME( 1989, avtnfl, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", GAME_NOT_WORKING )

View File

@ -219,4 +219,4 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1983, aztarac, 0, aztarac, aztarac, aztarac_state, 0, ROT0, "Centuri", "Aztarac", 0 ) GAME( 1983, aztarac, 0, aztarac, aztarac, driver_device, 0, ROT0, "Centuri", "Aztarac", 0 )

View File

@ -76,6 +76,7 @@ public:
DECLARE_READ32_MEMBER(backfire_wheel2_r); DECLARE_READ32_MEMBER(backfire_wheel2_r);
DECLARE_READ32_MEMBER(backfire_eeprom_r); DECLARE_READ32_MEMBER(backfire_eeprom_r);
DECLARE_WRITE32_MEMBER(backfire_eeprom_w); DECLARE_WRITE32_MEMBER(backfire_eeprom_w);
DECLARE_DRIVER_INIT(backfire);
}; };
//UINT32 *backfire_180010, *backfire_188010; //UINT32 *backfire_180010, *backfire_188010;
@ -707,15 +708,14 @@ READ32_MEMBER(backfire_state::backfire_speedup_r)
} }
static DRIVER_INIT( backfire ) DRIVER_INIT_MEMBER(backfire_state,backfire)
{ {
deco56_decrypt_gfx(machine, "gfx1"); /* 141 */ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
deco56_decrypt_gfx(machine, "gfx2"); /* 141 */ deco56_decrypt_gfx(machine(), "gfx2"); /* 141 */
deco156_decrypt(machine); deco156_decrypt(machine());
machine.device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */ machine().device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */
descramble_sound(machine); descramble_sound(machine());
backfire_state *state = machine.driver_data<backfire_state>(); machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0170018, 0x017001b, read32_delegate(FUNC(backfire_state::backfire_speedup_r), this));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0170018, 0x017001b, read32_delegate(FUNC(backfire_state::backfire_speedup_r), state));
} }
GAME( 1995, backfire, 0, backfire, backfire, backfire_state, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE ) GAME( 1995, backfire, 0, backfire, backfire, backfire_state, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE )

View File

@ -581,13 +581,12 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( badlands ) DRIVER_INIT_MEMBER(badlands_state,badlands)
{ {
badlands_state *state = machine.driver_data<badlands_state>();
/* initialize the audio system */ /* initialize the audio system */
state->m_bank_base = &state->memregion("audiocpu")->base()[0x03000]; m_bank_base = &memregion("audiocpu")->base()[0x03000];
state->m_bank_source_data = &state->memregion("audiocpu")->base()[0x10000]; m_bank_source_data = &memregion("audiocpu")->base()[0x10000];
} }
@ -810,5 +809,5 @@ ROM_END
GAME( 1989, badlandsb, badlands, badlandsb, badlands, badlands_state, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg)", GAME_NOT_WORKING ) GAME( 1989, badlandsb, badlands, badlandsb, badlands, driver_device, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg)", GAME_NOT_WORKING )
GAME( 1989, badlandsb2,badlands, badlandsb, badlands, badlands_state, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg, alternate)", GAME_NOT_WORKING ) GAME( 1989, badlandsb2,badlands, badlandsb, badlands, driver_device, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg, alternate)", GAME_NOT_WORKING )

View File

@ -928,14 +928,13 @@ ROM_START( squaitsa )
ROM_LOAD( "mmi6331.3r", 0x0020, 0x0020,CRC(86c1e7db) SHA1(5c974b51d770a555ddab5c23f03a666c6f286cbf) ) ROM_LOAD( "mmi6331.3r", 0x0020, 0x0020,CRC(86c1e7db) SHA1(5c974b51d770a555ddab5c23f03a666c6f286cbf) )
ROM_END ROM_END
static DRIVER_INIT( bagman ) DRIVER_INIT_MEMBER(bagman_state,bagman)
{ {
bagman_state *state = machine.driver_data<bagman_state>();
/* Unmap video enable register, not available on earlier hardware revision(s) /* Unmap video enable register, not available on earlier hardware revision(s)
Bagman is supposed to have glitches during screen transitions */ Bagman is supposed to have glitches during screen transitions */
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0xa003, 0xa003); machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0xa003, 0xa003);
*state->m_video_enable = 1; *m_video_enable = 1;
} }
@ -945,8 +944,8 @@ GAME( 1982, bagnarda, bagman, bagman, bagman, bagman_state, bagman, ROT270,
GAME( 1982, bagmans, bagman, bagman, bagmans, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", 0 ) GAME( 1982, bagmans, bagman, bagman, bagmans, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", 0 )
GAME( 1982, bagmans2, bagman, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", 0 ) GAME( 1982, bagmans2, bagman, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", 0 )
GAME( 1984, sbagman, 0, bagman, sbagman, bagman_state, 0, ROT270, "Valadon Automation", "Super Bagman", 0 ) GAME( 1984, sbagman, 0, bagman, sbagman, driver_device, 0, ROT270, "Valadon Automation", "Super Bagman", 0 )
GAME( 1984, sbagmans, sbagman, bagman, sbagman, bagman_state, 0, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", 0 ) GAME( 1984, sbagmans, sbagman, bagman, sbagman, driver_device, 0, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", 0 )
GAME( 1983, pickin, 0, pickin, pickin, bagman_state, 0, ROT270, "Valadon Automation", "Pickin'", 0 ) GAME( 1983, pickin, 0, pickin, pickin, driver_device, 0, ROT270, "Valadon Automation", "Pickin'", 0 )
GAME( 1984, botanic, 0, botanic, botanic, bagman_state, 0, ROT270, "Valadon Automation (Itisa license)", "Botanic", 0 ) GAME( 1984, botanic, 0, botanic, botanic, driver_device, 0, ROT270, "Valadon Automation (Itisa license)", "Botanic", 0 )
GAME( 1984, squaitsa, 0, squaitsa,squaitsa, bagman_state,0, ROT0, "Itisa", "Squash (Itisa)", 0 ) GAME( 1984, squaitsa, 0, squaitsa,squaitsa, driver_device,0, ROT0, "Itisa", "Squash (Itisa)", 0 )

View File

@ -2143,80 +2143,73 @@ INLINE void config_shooter_adc(running_machine &machine, UINT8 shooter, UINT8 ad
state->m_adc_shift = adc_shift; state->m_adc_shift = adc_shift;
} }
static DRIVER_INIT( sentetst ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,sentetst) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( cshift ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,cshift) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( gghost ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); } DRIVER_INIT_MEMBER(balsente_state,gghost) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
static DRIVER_INIT( hattrick ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,hattrick) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( otwalls ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0); } DRIVER_INIT_MEMBER(balsente_state,otwalls) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0); }
static DRIVER_INIT( snakepit ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); } DRIVER_INIT_MEMBER(balsente_state,snakepit) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
static DRIVER_INIT( snakjack ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); } DRIVER_INIT_MEMBER(balsente_state,snakjack) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
static DRIVER_INIT( stocker ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0); } DRIVER_INIT_MEMBER(balsente_state,stocker) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0); }
static DRIVER_INIT( triviag1 ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,triviag1) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( triviag2 ) DRIVER_INIT_MEMBER(balsente_state,triviag2)
{ {
UINT8 *rom = machine.root_device().memregion("maincpu")->base(); UINT8 *rom = machine().root_device().memregion("maincpu")->base();
memcpy(&rom[0x20000], &rom[0x28000], 0x4000); memcpy(&rom[0x20000], &rom[0x28000], 0x4000);
memcpy(&rom[0x24000], &rom[0x28000], 0x4000); memcpy(&rom[0x24000], &rom[0x28000], 0x4000);
expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0 /* noanalog */); expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0 /* noanalog */);
} }
static DRIVER_INIT( triviaes ) { expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,triviaes) { expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( gimeabrk ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); } DRIVER_INIT_MEMBER(balsente_state,gimeabrk) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
static DRIVER_INIT( minigolf ) { expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 2); } DRIVER_INIT_MEMBER(balsente_state,minigolf) { expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 2); }
static DRIVER_INIT( minigolf2 ) { expand_roms(machine, 0x0c); config_shooter_adc(machine, FALSE, 2); } DRIVER_INIT_MEMBER(balsente_state,minigolf2) { expand_roms(machine(), 0x0c); config_shooter_adc(machine(), FALSE, 2); }
static DRIVER_INIT( toggle ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,toggle) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( nametune ) DRIVER_INIT_MEMBER(balsente_state,nametune)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state)); expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0 /* noanalog */);
expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0 /* noanalog */);
} }
static DRIVER_INIT( nstocker ) DRIVER_INIT_MEMBER(balsente_state,nstocker)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state)); expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), TRUE, 1);
expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, TRUE, 1);
} }
static DRIVER_INIT( sfootbal ) DRIVER_INIT_MEMBER(balsente_state,sfootbal)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state)); expand_roms(machine(), EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0);
expand_roms(machine, EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0);
} }
static DRIVER_INIT( spiker ) DRIVER_INIT_MEMBER(balsente_state,spiker)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_readwrite_handler(0x9f80, 0x9f8f, read8_delegate(FUNC(balsente_state::spiker_expand_r),this), write8_delegate(FUNC(balsente_state::spiker_expand_w),this));
space->install_readwrite_handler(0x9f80, 0x9f8f, read8_delegate(FUNC(balsente_state::spiker_expand_r),state), write8_delegate(FUNC(balsente_state::spiker_expand_w),state)); space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state)); expand_roms(machine(), EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 1);
expand_roms(machine, EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine, FALSE, 1);
} }
static DRIVER_INIT( stompin ) DRIVER_INIT_MEMBER(balsente_state,stompin)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state)); expand_roms(machine(), 0x0c | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 32);
expand_roms(machine, 0x0c | SWAP_HALVES); config_shooter_adc(machine, FALSE, 32);
} }
static DRIVER_INIT( rescraid ) { expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0 /* noanalog */); } DRIVER_INIT_MEMBER(balsente_state,rescraid) { expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
static DRIVER_INIT( grudge ) DRIVER_INIT_MEMBER(balsente_state,grudge)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_read_handler(0x9400, 0x9400, read8_delegate(FUNC(balsente_state::grudge_steering_r),this));
space->install_read_handler(0x9400, 0x9400, read8_delegate(FUNC(balsente_state::grudge_steering_r),state)); expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0);
expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0);
} }
static DRIVER_INIT( shrike ) DRIVER_INIT_MEMBER(balsente_state,shrike)
{ {
balsente_state *state = machine.driver_data<balsente_state>(); address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); space->install_readwrite_handler(0x9e00, 0x9fff, read8_delegate(FUNC(balsente_state::shrike_shared_6809_r),this), write8_delegate(FUNC(balsente_state::shrike_shared_6809_w),this));
space->install_readwrite_handler(0x9e00, 0x9fff, read8_delegate(FUNC(balsente_state::shrike_shared_6809_r),state), write8_delegate(FUNC(balsente_state::shrike_shared_6809_w),state)); space->install_write_handler(0x9e01, 0x9e01, write8_delegate(FUNC(balsente_state::shrike_sprite_select_w),this));
space->install_write_handler(0x9e01, 0x9e01, write8_delegate(FUNC(balsente_state::shrike_sprite_select_w),state)); machine().device("68k")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x10000, 0x1001f, read16_delegate(FUNC(balsente_state::shrike_io_68k_r),this), write16_delegate(FUNC(balsente_state::shrike_io_68k_w),this));
machine.device("68k")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x10000, 0x1001f, read16_delegate(FUNC(balsente_state::shrike_io_68k_r),state), write16_delegate(FUNC(balsente_state::shrike_io_68k_w),state));
expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 32); expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 32);
} }

View File

@ -409,5 +409,5 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1984, bankp, 0, bankp, bankp, bankp_state, 0, ROT0, "Sanritsu / Sega", "Bank Panic", GAME_SUPPORTS_SAVE ) GAME( 1984, bankp, 0, bankp, bankp, driver_device, 0, ROT0, "Sanritsu / Sega", "Bank Panic", GAME_SUPPORTS_SAVE )
GAME( 1987, combh, 0, bankp, combh, bankp_state, 0, ROT270, "Sanritsu / Sega", "Combat Hawk", GAME_SUPPORTS_SAVE ) GAME( 1987, combh, 0, bankp, combh, driver_device, 0, ROT270, "Sanritsu / Sega", "Combat Hawk", GAME_SUPPORTS_SAVE )

View File

@ -530,13 +530,13 @@ ROM_START( metrocrsa )
ROM_END ROM_END
static DRIVER_INIT( baraduke ) DRIVER_INIT_MEMBER(baraduke_state,baraduke)
{ {
UINT8 *rom; UINT8 *rom;
int i; int i;
/* unpack the third tile ROM */ /* unpack the third tile ROM */
rom = machine.root_device().memregion("gfx2")->base() + 0x8000; rom = machine().root_device().memregion("gfx2")->base() + 0x8000;
for (i = 0x2000;i < 0x4000;i++) for (i = 0x2000;i < 0x4000;i++)
{ {
rom[i + 0x2000] = rom[i]; rom[i + 0x2000] = rom[i];

View File

@ -152,4 +152,4 @@ ROM_START(barbball)
ROM_LOAD( "5200.rom", 0xf800, 0x0800, BAD_DUMP CRC(4248d3e3) SHA1(6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530) ) ROM_LOAD( "5200.rom", 0xf800, 0x0800, BAD_DUMP CRC(4248d3e3) SHA1(6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530) )
ROM_END ROM_END
GAME( 1983, barbball, 0, a5200, bartop52, bartop52_state, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING ) GAME( 1983, barbball, 0, a5200, bartop52, driver_device, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING )

View File

@ -330,9 +330,9 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( batman ) DRIVER_INIT_MEMBER(batman_state,batman)
{ {
atarijsa_init(machine, "260010", 0x0040); atarijsa_init(machine(), "260010", 0x0040);
} }

View File

@ -420,6 +420,6 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1986, battlane, 0, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, battlane, 0, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, battlane2, battlane, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 2)", GAME_SUPPORTS_SAVE ) GAME( 1986, battlane2, battlane, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, battlane3, battlane, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 3)", GAME_SUPPORTS_SAVE ) GAME( 1986, battlane3, battlane, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 3)", GAME_SUPPORTS_SAVE )

View File

@ -330,6 +330,6 @@ ROM_END
/******************************************************************************/ /******************************************************************************/
GAME( 1988, battlera, 0, battlera, battlera, battlera_state, 0, ROT0, "Data East Corporation", "Battle Rangers (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1988, battlera, 0, battlera, battlera, driver_device, 0, ROT0, "Data East Corporation", "Battle Rangers (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1988, bldwolf, battlera, battlera, battlera, battlera_state, 0, ROT0, "Data East USA", "Bloody Wolf (US)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1988, bldwolf, battlera, battlera, battlera, driver_device, 0, ROT0, "Data East USA", "Bloody Wolf (US)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1988, bldwolfj, battlera, battlera, battlera, battlera_state, 0, ROT0, "Data East Corporation", "Narazumono Sentoubutai Bloody Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1988, bldwolfj, battlera, battlera, battlera, driver_device, 0, ROT0, "Data East Corporation", "Narazumono Sentoubutai Bloody Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )

View File

@ -313,11 +313,11 @@ ROM_END
* *
*************************************/ *************************************/
static DRIVER_INIT( battlex ) DRIVER_INIT_MEMBER(battlex_state,battlex)
{ {
UINT8 *colormask = machine.root_device().memregion("user1")->base(); UINT8 *colormask = machine().root_device().memregion("user1")->base();
UINT8 *gfxdata = machine.root_device().memregion("user2")->base(); UINT8 *gfxdata = machine().root_device().memregion("user2")->base();
UINT8 *dest = machine.root_device().memregion("gfx1")->base(); UINT8 *dest = machine().root_device().memregion("gfx1")->base();
int tile, line, bit; int tile, line, bit;

View File

@ -416,10 +416,10 @@ static void shuffle( UINT8 *buf, int len )
} }
static DRIVER_INIT( rackemup ) DRIVER_INIT_MEMBER(battlnts_state,rackemup)
{ {
/* rearrange char ROM */ /* rearrange char ROM */
shuffle(machine.root_device().memregion("gfx1")->base(), machine.root_device().memregion("gfx1")->bytes()); shuffle(machine().root_device().memregion("gfx1")->base(), machine().root_device().memregion("gfx1")->bytes());
} }
@ -430,9 +430,9 @@ static DRIVER_INIT( rackemup )
* *
*************************************/ *************************************/
GAME( 1987, battlnts, 0, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (program code G)", GAME_SUPPORTS_SAVE ) GAME( 1987, battlnts, 0, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (program code G)", GAME_SUPPORTS_SAVE )
GAME( 1987, battlntsa, battlnts, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (program code F)", GAME_SUPPORTS_SAVE ) GAME( 1987, battlntsa, battlnts, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (program code F)", GAME_SUPPORTS_SAVE )
GAME( 1987, battlntsj, battlnts, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (Japan, program code E)", GAME_SUPPORTS_SAVE ) GAME( 1987, battlntsj, battlnts, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (Japan, program code E)", GAME_SUPPORTS_SAVE )
GAME( 1987, rackemup, 0, battlnts, rackemup, battlnts_state, rackemup, ROT90, "Konami", "Rack 'em Up (program code L)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) GAME( 1987, rackemup, 0, battlnts, rackemup, battlnts_state, rackemup, ROT90, "Konami", "Rack 'em Up (program code L)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1987, thehustl, rackemup, battlnts, thehustl, battlnts_state, 0, ROT90, "Konami", "The Hustler (Japan, program code M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) GAME( 1987, thehustl, rackemup, battlnts, thehustl, driver_device, 0, ROT90, "Konami", "The Hustler (Japan, program code M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1987, thehustlj, rackemup, battlnts, thehustl, battlnts_state, 0, ROT90, "Konami", "The Hustler (Japan, program code J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) GAME( 1987, thehustlj, rackemup, battlnts, thehustl, driver_device, 0, ROT90, "Konami", "The Hustler (Japan, program code J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )

View File

@ -919,8 +919,8 @@ ROM_END
/******************************************************************************/ /******************************************************************************/
// as soon as you calibrate the guns in test mode the game refuses to boot // as soon as you calibrate the guns in test mode the game refuses to boot
GAME( 1989, bbusters, 0, bbusters, bbusters, bbusters_state, 0, ROT0, "SNK", "Beast Busters (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1989, bbusters, 0, bbusters, bbusters, driver_device, 0, ROT0, "SNK", "Beast Busters (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1989, bbustersu,bbusters, bbusters, bbusters, bbusters_state, 0, ROT0, "SNK", "Beast Busters (US, Version 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1989, bbustersu,bbusters, bbusters, bbusters, driver_device, 0, ROT0, "SNK", "Beast Busters (US, Version 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1989, mechatt, 0, mechatt, mechatt, bbusters_state, 0, ROT0, "SNK", "Mechanized Attack (World)", 0 ) GAME( 1989, mechatt, 0, mechatt, mechatt, driver_device, 0, ROT0, "SNK", "Mechanized Attack (World)", 0 )
GAME( 1989, mechattu, mechatt, mechatt, mechattu, bbusters_state, 0, ROT0, "SNK", "Mechanized Attack (US)", 0 ) GAME( 1989, mechattu, mechatt, mechatt, mechattu, driver_device, 0, ROT0, "SNK", "Mechanized Attack (US)", 0 )

View File

@ -385,5 +385,5 @@ ROM_END
* *
*************************************/ *************************************/
GAMEL( 1979, beaminv, 0, beaminv, beaminv, beaminv_state, 0, ROT270, "Tekunon Kougyou", "Beam Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv ) GAMEL( 1979, beaminv, 0, beaminv, beaminv, driver_device, 0, ROT270, "Tekunon Kougyou", "Beam Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, beaminv_state, 0, ROT270, "Pacom Corporation", "Pacom Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv ) GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, driver_device, 0, ROT270, "Pacom Corporation", "Pacom Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )

View File

@ -525,16 +525,15 @@ READ32_MEMBER( beathead_state::movie_speedup_r )
* *
*************************************/ *************************************/
static DRIVER_INIT( beathead ) DRIVER_INIT_MEMBER(beathead_state,beathead)
{ {
beathead_state *state = machine.driver_data<beathead_state>();
/* initialize the common systems */ /* initialize the common systems */
atarijsa_init(machine, "IN2", 0x0040); atarijsa_init(machine(), "IN2", 0x0040);
/* prepare the speedups */ /* prepare the speedups */
state->m_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), state)); m_speedup_data = m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), this));
state->m_movie_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), state)); m_movie_speedup_data = m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), this));
} }

Some files were not shown because too many files have changed in this diff Show More