summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/arkanoid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/arkanoid.cpp')
-rw-r--r--src/mame/drivers/arkanoid.cpp101
1 files changed, 47 insertions, 54 deletions
diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp
index 49cfdc3893c..2ccab2fd017 100644
--- a/src/mame/drivers/arkanoid.cpp
+++ b/src/mame/drivers/arkanoid.cpp
@@ -2104,39 +2104,36 @@ void arkanoid_state::arkanoid_bootleg_init( )
m_maincpu->space(AS_PROGRAM).install_read_handler(0xd008, 0xd008, read8_delegate(FUNC(arkanoid_state::arkanoid_bootleg_d008_r),this) );
}
-DRIVER_INIT_MEMBER(arkanoid_state,arkangc)
+void arkanoid_state::init_arkangc()
{
m_bootleg_id = ARKANGC;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,arkangc2)
+void arkanoid_state::init_arkangc2()
{
m_bootleg_id = ARKANGC2;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,block2)
+void arkanoid_state::init_block2()
{
// the graphics on this bootleg have the data scrambled
- int tile;
uint8_t* srcgfx = memregion("gfx1")->base();
std::vector<uint8_t> buffer(0x18000);
- for (tile = 0; tile < 0x3000; tile++)
+ for (int tile = 0; tile < 0x3000; tile++)
{
- int srctile;
-
// combine these into a single swap..
- srctile = bitswap<16>(tile,15,14,13,12,
- 11,10,9,8,
- 7,5,6,3,
- 1,2,4,0);
+ int srctile = bitswap<16>(tile,15,14,13,12,
+ 11,10, 9, 8,
+ 7, 5, 6, 3,
+ 1, 2, 4, 0);
srctile = bitswap<16>(srctile,15,14,13,12,
- 11,9,10,5,
- 7,6,8,4,
- 3,2,1,0);
+ 11, 9,10, 5,
+ 7, 6, 8, 4,
+ 3, 2, 1, 0);
srctile = srctile ^ 0xd4;
@@ -2149,37 +2146,35 @@ DRIVER_INIT_MEMBER(arkanoid_state,block2)
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,arkblock)
+void arkanoid_state::init_arkblock()
{
m_bootleg_id = ARKBLOCK;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,arkbloc2)
+void arkanoid_state::init_arkbloc2()
{
m_bootleg_id = ARKBLOC2;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,arkgcbl)
+void arkanoid_state::init_arkgcbl()
{
m_bootleg_id = ARKGCBL;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,paddle2)
+void arkanoid_state::init_paddle2()
{
m_bootleg_id = PADDLE2;
arkanoid_bootleg_init();
}
-DRIVER_INIT_MEMBER(arkanoid_state,tetrsark)
+void arkanoid_state::init_tetrsark()
{
uint8_t *ROM = memregion("maincpu")->base();
- int x;
-
- for (x = 0; x < 0x8000; x++)
+ for (int x = 0; x < 0x8000; x++)
{
ROM[x] = ROM[x] ^ 0x94;
}
@@ -2188,12 +2183,10 @@ DRIVER_INIT_MEMBER(arkanoid_state,tetrsark)
}
-DRIVER_INIT_MEMBER(arkanoid_state,hexa)
+void arkanoid_state::init_hexa()
{
uint8_t *RAM = memregion("maincpu")->base();
#if 0
-
-
/* Hexa is not protected or anything, but it keeps writing 0x3f to register */
/* 0x07 of the AY8910, to read the input ports. This causes clicks in the */
/* music since the output channels are continuously disabled and reenabled. */
@@ -2207,9 +2200,9 @@ DRIVER_INIT_MEMBER(arkanoid_state,hexa)
membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
}
-DRIVER_INIT_MEMBER(arkanoid_state,hexaa)
+void arkanoid_state::init_hexaa()
{
- DRIVER_INIT_CALL(hexa);
+ init_hexa();
m_hexaa_from_main = 0;
m_hexaa_from_sub = 0;
@@ -2218,7 +2211,7 @@ DRIVER_INIT_MEMBER(arkanoid_state,hexaa)
save_item(NAME(m_hexaa_from_sub));
}
-DRIVER_INIT_MEMBER(arkanoid_state,brixian)
+void arkanoid_state::init_brixian()
{
uint8_t *RAM = memregion("protdata")->base();
@@ -2230,34 +2223,34 @@ DRIVER_INIT_MEMBER(arkanoid_state,brixian)
/* Game Drivers */
// original sets of Arkanoid
-// YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS
-GAME( 1986, arkanoid, 0, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World, older)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, newer)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, arkanoid_state, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoidja, arkanoid, arkanoid, arkanoidj, arkanoid_state, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer w/level select)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, arkanoid_state, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", MACHINE_SUPPORTS_SAVE )
+// YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS
+GAME( 1986, arkanoid, 0, arkanoid, arkanoid, arkanoid_state, empty_init, ROT90, "Taito Corporation Japan", "Arkanoid (World, older)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, arkanoid_state, empty_init, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, newer)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, arkanoid_state, empty_init, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, arkanoid_state, empty_init, ROT90, "Taito Corporation", "Arkanoid (Japan, newer)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidja, arkanoid, arkanoid, arkanoidj, arkanoid_state, empty_init, ROT90, "Taito Corporation", "Arkanoid (Japan, newer w/level select)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, arkanoid_state, empty_init, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", MACHINE_SUPPORTS_SAVE )
// bootlegs of Arkanoid
-GAME( 1986, arkanoidjbl, arkanoid, p3mcu, arkanoidj, arkanoid_state, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjbl2,arkanoid, p3mcu, arkanoidj, arkanoid_state, 0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, ark1ball, arkanoid, p3mcuay, ark1ball, arkanoid_state, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkanoid_state, arkbloc2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkbloc3, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // Both these sets (arkblock3, block2) have an extra unknown rom
-GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (S.P.A. Co.)", "Block 2 (S.P.A. Co. bootleg)", MACHINE_SUPPORTS_SAVE ) // and scrambled gfx roms with 'space invader' themed gfx
-GAME( 1986, arkgcbl, arkanoid, aysnd, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkgcbla, arkanoid, aysnd, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arkatayt, arkanoid, aysnd, arkatayt, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, arktayt2, arkanoid, aysnd, arktayt2, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjbl, arkanoid, p3mcu, arkanoidj, arkanoid_state, empty_init, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjbl2, arkanoid, p3mcu, arkanoidj, arkanoid_state, empty_init, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, ark1ball, arkanoid, p3mcuay, ark1ball, arkanoid_state, empty_init, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, init_arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, init_arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, init_arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkanoid_state, init_arkbloc2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkbloc3, arkanoid, bootleg, block2, arkanoid_state, init_block2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // Both these sets (arkblock3, block2) have an extra unknown rom
+GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, init_block2, ROT90, "bootleg (S.P.A. Co.)", "Block 2 (S.P.A. Co. bootleg)", MACHINE_SUPPORTS_SAVE ) // and scrambled gfx roms with 'space invader' themed gfx
+GAME( 1986, arkgcbl, arkanoid, aysnd, arkgcbl, arkanoid_state, init_arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkgcbla, arkanoid, aysnd, arkgcbl, arkanoid_state, init_arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, init_paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arkatayt, arkanoid, aysnd, arkatayt, arkanoid_state, empty_init, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, arktayt2, arkanoid, aysnd, arktayt2, arkanoid_state, empty_init, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE )
// Other games
-GAME( 1987, arkatour, 0, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, arkatour, 0, arkanoid, arkanoid, arkanoid_state, empty_init, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", MACHINE_SUPPORTS_SAVE )
-GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", MACHINE_SUPPORTS_SAVE )
+GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, init_tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", MACHINE_SUPPORTS_SAVE )
-GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, hexaa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING )
+GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, init_hexa, ROT0, "D.R. Korea", "Hexa", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, init_hexaa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING )
-GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, brixian, ROT0, "Cheil Computer System", "Brixian", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, init_brixian, ROT0, "Cheil Computer System", "Brixian", MACHINE_SUPPORTS_SAVE )