From cd96e8983063223a666664feeeb53bd75ff03036 Mon Sep 17 00:00:00 2001 From: Phil Bennett Date: Mon, 5 Oct 2009 17:03:34 +0000 Subject: New non-working clones added ---------------------------- Block 2 (bootleg of Arkanoid) [David Haywood, Andy Welburn] --- src/mame/drivers/arkanoid.c | 55 ++++++++++++++++++++++++++++++++++++++++++++ src/mame/includes/arkanoid.h | 4 +++- src/mame/machine/arkanoid.c | 15 ++++++++++++ src/mame/mamedriv.c | 1 + 4 files changed, 74 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c index 201b49e4921..395da3a0933 100644 --- a/src/mame/drivers/arkanoid.c +++ b/src/mame/drivers/arkanoid.c @@ -981,6 +981,24 @@ ROM_START( arkangc2 ) ROM_LOAD( "a75-09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END +ROM_START( block2 ) + ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_LOAD( "1.bin", 0x00000, 0x8000, CRC(2b026cae) SHA1(73d1d5d3e6d65fbe378ce85ff501610573ae5e95) ) + ROM_LOAD( "2.bin", 0x08000, 0x8000, CRC(e3843fea) SHA1(8c654dcf78d9e4f4c6a7a7d384fdf622536234c1) ) + ROM_LOAD( "3.bin", 0x10000, 0x8000, CRC(e336c219) SHA1(e1dce37727e7084a83e73f15a138312ab6224061) ) // ?? is it more data or something else like sound or palette? + + ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_LOAD( "4.bin", 0x00000, 0x8000, CRC(6d2c6123) SHA1(26f32099d363ab2c8505722513638b827e49a8fc) ) + ROM_LOAD( "5.bin", 0x08000, 0x8000, CRC(09a1f9d9) SHA1(c7e21aba6efb51c5501aa1428f6d9a817cb86555) ) + ROM_LOAD( "6.bin", 0x10000, 0x8000, CRC(dfb9f7e2) SHA1(8d938ee6f8dcac0a564d5fa7cd5da34e0db07c71) ) + + // no proms were present in this set.. assumed to be the same + ROM_REGION( 0x0600, "proms", 0 ) + ROM_LOAD( "a75-07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ + ROM_LOAD( "a75-08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ + ROM_LOAD( "a75-09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ +ROM_END + ROM_START( arkblock ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ark-6.bin", 0x0000, 0x8000, CRC(0be015de) SHA1(f4209085b59d2c96a62ac9657c7bf097da55362b) ) @@ -1180,6 +1198,42 @@ static DRIVER_INIT( tetrsark ) memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xd008, 0xd008, 0, 0, tetrsark_d008_w ); } +static DRIVER_INIT( block2 ) +{ + // the graphics on this bootleg have the data scrambled + int tile; + UINT8* srcgfx = memory_region(machine,"gfx1"); + UINT8* buffer = alloc_array_or_die(UINT8, 0x18000); + + for (tile=0;tile<0x3000;tile++) + { + int srctile; + + // combine these into a single swap.. + srctile = BITSWAP16(tile,15,14,13,12, + 11,10,9,8, + 7,5,6,3, + 1,2,4,0); + + srctile = BITSWAP16(srctile,15,14,13,12, + 11,9,10,5, + 7,6,8,4, + 3,2,1,0); + + srctile = srctile^0xd4; + + + + memcpy(&buffer[tile*8], &srcgfx[srctile*8], 8); + } + + memcpy(srcgfx,buffer,0x18000); + + arkanoid_bootleg_id = BLOCK2; + arkanoid_bootleg_init(machine); + + memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xf000, 0xf000, 0, 0, block2_bootleg_f000_r ); +} /* Game Drivers */ @@ -1195,6 +1249,7 @@ GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkblock, ROT90, "bootleg", GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkbloc2, ROT90, "bootleg", "Block (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware)", GAME_SUPPORTS_SAVE ) GAME( 1988, paddle2, arkanoid, bootleg, paddle2, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", GAME_SUPPORTS_SAVE ) +GAME( 1986, block2, arkanoid, bootleg, arkangc, block2, ROT90, "bootleg", "Block 2 (bootleg of Arkanoid)", GAME_NOT_WORKING ) // 'autoplays' GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, 0, ROT90, "bootleg", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, 0, ROT90, "bootleg", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE ) GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/arkanoid.h b/src/mame/includes/arkanoid.h index e211d44c112..4a761560be6 100644 --- a/src/mame/includes/arkanoid.h +++ b/src/mame/includes/arkanoid.h @@ -6,7 +6,8 @@ enum { ARKBLOCK, ARKBLOC2, ARKGCBL, - PADDLE2 + PADDLE2, + BLOCK2 }; @@ -50,4 +51,5 @@ extern CUSTOM_INPUT( arkanoid_input_mux ); extern READ8_HANDLER( arkanoid_bootleg_f002_r ); extern WRITE8_HANDLER( arkanoid_bootleg_d018_w ); extern READ8_HANDLER( arkanoid_bootleg_d008_r ); +extern READ8_HANDLER( block2_bootleg_f000_r ); diff --git a/src/mame/machine/arkanoid.c b/src/mame/machine/arkanoid.c index f919e24eeb4..8a48ae058ed 100644 --- a/src/mame/machine/arkanoid.c +++ b/src/mame/machine/arkanoid.c @@ -507,12 +507,27 @@ WRITE8_HANDLER( arkanoid_bootleg_d018_w ) } LOG_D018_W break; + case BLOCK2: + switch (data) + { + default: + arkanoid_bootleg_cmd = data; + break; + } + LOG_D018_W + break; + default: logerror("%04x: arkanoid_bootleg_d018_w - data = %02x - unknown bootleg !\n",cpu_get_pc(space->cpu),data); break; } } +READ8_HANDLER( block2_bootleg_f000_r ) +{ + return arkanoid_bootleg_cmd; +} + /* Kludge for some bootlegs that read this address */ READ8_HANDLER( arkanoid_bootleg_d008_r ) { diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 2c279710c4e..4e69ce99442 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -1759,6 +1759,7 @@ const game_driver * const drivers[] = DRIVER( arkbloc2 ) /* bootleg */ DRIVER( arkgcbl ) /* bootleg */ DRIVER( paddle2 ) /* bootleg */ + DRIVER( block2 ) /* bootleg */ DRIVER( arkatayt ) /* bootleg */ DRIVER( arktayt2 ) /* bootleg */ DRIVER( arkatour ) /* ??? (c) 1987 Taito America Corporation + Romstar license (US) */ -- cgit v1.2.3