diff options
Diffstat (limited to 'src/mame/drivers/arkanoid.cpp')
-rw-r--r-- | src/mame/drivers/arkanoid.cpp | 101 |
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 ) |