new clone

---------
Bubble Pong Pong (clone of Miss Bubble 2) [David Haywood, Smitdogg, The Dumping Union]
This commit is contained in:
Angelo Salese 2011-02-23 19:29:47 +00:00
parent 0fdc20682f
commit f64672d9b0
2 changed files with 103 additions and 2 deletions

View File

@ -1,8 +1,10 @@
/* Miss Bubble 2 /* Miss Bubble 2 / Bubble Pong Pong
A rather odd bootleg of Bubble Bobble with level select, redesigned levels, A rather odd bootleg of Bubble Bobble with level select, redesigned levels,
redesigned (8bpp!) graphics and different sound hardware... Crazy redesigned (8bpp!) graphics and different sound hardware... Crazy
Miss Bubble 2 notes:
The Sound NMI and/or Interrupts aren't likely to be right. The Sound CPU The Sound NMI and/or Interrupts aren't likely to be right. The Sound CPU
starts writing to unusual memory ports - either because the NMI/Interrupt starts writing to unusual memory ports - either because the NMI/Interrupt
timing is out, or the sheer fact that the Sound CPU code is rather poorly timing is out, or the sheer fact that the Sound CPU code is rather poorly
@ -322,6 +324,61 @@ static const gfx_layout bglayout =
NULL NULL
}; };
static const UINT32 bglayout_xoffset_alt[256] =
{
(256*0+0)*8 , (256*0+1)*8 , (256*0+2)*8 , (256*0+3)*8 , (256*0+4)*8 , (256*0+5)*8 , (256*0+6)*8 , (256*0+7)*8,
(256*0+8)*8 , (256*0+9)*8 , (256*0+10)*8, (256*0+11)*8, (256*0+12)*8, (256*0+13)*8, (256*0+14)*8, (256*0+15)*8,
(256*1+0)*8 , (256*1+1)*8 , (256*1+2)*8 , (256*1+3)*8 , (256*1+4)*8 , (256*1+5)*8 , (256*1+6)*8 , (256*1+7)*8,
(256*1+8)*8 , (256*1+9)*8 , (256*1+10)*8, (256*1+11)*8, (256*1+12)*8, (256*1+13)*8, (256*1+14)*8, (256*1+15)*8,
(256*2+0)*8 , (256*2+1)*8 , (256*2+2)*8 , (256*2+3)*8 , (256*2+4)*8 , (256*2+5)*8 , (256*2+6)*8 , (256*2+7)*8,
(256*2+8)*8 , (256*2+9)*8 , (256*2+10)*8, (256*2+11)*8, (256*2+12)*8, (256*2+13)*8, (256*2+14)*8, (256*2+15)*8,
(256*3+0)*8 , (256*3+1)*8 , (256*3+2)*8 , (256*3+3)*8 , (256*3+4)*8 , (256*3+5)*8 , (256*3+6)*8 , (256*3+7)*8,
(256*3+8)*8 , (256*3+9)*8 , (256*3+10)*8, (256*3+11)*8, (256*3+12)*8, (256*3+13)*8, (256*3+14)*8, (256*3+15)*8,
(256*4+0)*8 , (256*4+1)*8 , (256*4+2)*8 , (256*4+3)*8 , (256*4+4)*8 , (256*4+5)*8 , (256*4+6)*8 , (256*4+7)*8,
(256*4+8)*8 , (256*4+9)*8 , (256*4+10)*8, (256*4+11)*8, (256*4+12)*8, (256*4+13)*8, (256*4+14)*8, (256*4+15)*8,
(256*5+0)*8 , (256*5+1)*8 , (256*5+2)*8 , (256*5+3)*8 , (256*5+4)*8 , (256*5+5)*8 , (256*5+6)*8 , (256*5+7)*8,
(256*5+8)*8 , (256*5+9)*8 , (256*5+10)*8, (256*5+11)*8, (256*5+12)*8, (256*5+13)*8, (256*5+14)*8, (256*5+15)*8,
(256*6+0)*8 , (256*6+1)*8 , (256*6+2)*8 , (256*6+3)*8 , (256*6+4)*8 , (256*6+5)*8 , (256*6+6)*8 , (256*6+7)*8,
(256*6+8)*8 , (256*6+9)*8 , (256*6+10)*8, (256*6+11)*8, (256*6+12)*8, (256*6+13)*8, (256*6+14)*8, (256*6+15)*8,
(256*7+0)*8 , (256*7+1)*8 , (256*7+2)*8 , (256*7+3)*8 , (256*7+4)*8 , (256*7+5)*8 , (256*7+6)*8 , (256*7+7)*8,
(256*7+8)*8 , (256*7+9)*8 , (256*7+10)*8, (256*7+11)*8, (256*7+12)*8, (256*7+13)*8, (256*7+14)*8, (256*7+15)*8,
(256*8+0)*8 , (256*8+1)*8 , (256*8+2)*8 , (256*8+3)*8 , (256*8+4)*8 , (256*8+5)*8 , (256*8+6)*8 , (256*8+7)*8,
(256*8+8)*8 , (256*8+9)*8 , (256*8+10)*8, (256*8+11)*8, (256*8+12)*8, (256*8+13)*8, (256*8+14)*8, (256*8+15)*8,
(256*9+0)*8 , (256*9+1)*8 , (256*9+2)*8 , (256*9+3)*8 , (256*9+4)*8 , (256*9+5)*8 , (256*9+6)*8 , (256*9+7)*8,
(256*9+8)*8 , (256*9+9)*8 , (256*9+10)*8, (256*9+11)*8, (256*9+12)*8, (256*9+13)*8, (256*9+14)*8, (256*9+15)*8,
(256*10+0)*8 , (256*10+1)*8 , (256*10+2)*8 , (256*10+3)*8 , (256*10+4)*8 , (256*10+5)*8 , (256*10+6)*8 , (256*10+7)*8,
(256*10+8)*8 , (256*10+9)*8 , (256*10+10)*8, (256*10+11)*8, (256*10+12)*8, (256*10+13)*8, (256*10+14)*8, (256*10+15)*8,
(256*11+0)*8 , (256*11+1)*8 , (256*11+2)*8 , (256*11+3)*8 , (256*11+4)*8 , (256*11+5)*8 , (256*11+6)*8 , (256*11+7)*8,
(256*11+8)*8 , (256*11+9)*8 , (256*11+10)*8, (256*11+11)*8, (256*11+12)*8, (256*11+13)*8, (256*11+14)*8, (256*11+15)*8,
(256*12+0)*8 , (256*12+1)*8 , (256*12+2)*8 , (256*12+3)*8 , (256*12+4)*8 , (256*12+5)*8 , (256*12+6)*8 , (256*12+7)*8,
(256*12+8)*8 , (256*12+9)*8 , (256*12+10)*8, (256*12+11)*8, (256*12+12)*8, (256*12+13)*8, (256*12+14)*8, (256*12+15)*8,
(256*13+0)*8 , (256*13+1)*8 , (256*13+2)*8 , (256*13+3)*8 , (256*13+4)*8 , (256*13+5)*8 , (256*13+6)*8 , (256*13+7)*8,
(256*13+8)*8 , (256*13+9)*8 , (256*13+10)*8, (256*13+11)*8, (256*13+12)*8, (256*13+13)*8, (256*13+14)*8, (256*13+15)*8,
(256*14+0)*8 , (256*14+1)*8 , (256*14+2)*8 , (256*14+3)*8 , (256*14+4)*8 , (256*14+5)*8 , (256*14+6)*8 , (256*14+7)*8,
(256*14+8)*8 , (256*14+9)*8 , (256*14+10)*8, (256*14+11)*8, (256*14+12)*8, (256*14+13)*8, (256*14+14)*8, (256*14+15)*8,
(256*15+0)*8 , (256*15+1)*8 , (256*15+2)*8 , (256*15+3)*8 , (256*15+4)*8 , (256*15+5)*8 , (256*15+6)*8 , (256*15+7)*8,
(256*15+8)*8 , (256*15+9)*8 , (256*15+10)*8, (256*15+11)*8, (256*15+12)*8, (256*15+13)*8, (256*15+14)*8, (256*15+15)*8,
};
static const gfx_layout bglayout_alt =
{
256,16,
RGN_FRAC(1,1),
8,
{ 0,1,2,3,4,5,6,7 },
EXTENDED_XOFFS,
{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 },
256*128,
bglayout_xoffset_alt,
NULL
};
/* Graphics Decode Information */ /* Graphics Decode Information */
static GFXDECODE_START( missb2 ) static GFXDECODE_START( missb2 )
@ -329,6 +386,10 @@ static GFXDECODE_START( missb2 )
GFXDECODE_ENTRY( "gfx2", 0x00000, bglayout, 0, 2 ) GFXDECODE_ENTRY( "gfx2", 0x00000, bglayout, 0, 2 )
GFXDECODE_END GFXDECODE_END
static GFXDECODE_START( bublpong )
GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 0, 1 )
GFXDECODE_ENTRY( "gfx2", 0x00000, bglayout_alt, 0, 2 )
GFXDECODE_END
#define MAIN_XTAL 24000000 // not sure about this #define MAIN_XTAL 24000000 // not sure about this
@ -424,6 +485,10 @@ static MACHINE_CONFIG_START( missb2, bublbobl_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bublpong, missb2 )
MCFG_GFXDECODE(bublpong)
MACHINE_CONFIG_END
/* ROMs */ /* ROMs */
ROM_START( missb2 ) ROM_START( missb2 )
@ -459,6 +524,40 @@ ROM_START( missb2 )
ROM_LOAD( "a71-25.bin", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing - taken from bublbobl */ ROM_LOAD( "a71-25.bin", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing - taken from bublbobl */
ROM_END ROM_END
ROM_START( bublpong )
ROM_REGION( 0x30000, "maincpu", 0 )
ROM_LOAD( "u204", 0x00000, 0x8000, CRC(daeff303) SHA1(1bb2637b4f5555e0a4209b4549e1992501060909) )
/* ROMs banked at 8000-bfff */
ROM_LOAD( "u203", 0x10000, 0x10000, CRC(29fd8afe) SHA1(94ead80d20cd3974dd4fb0358915e3bd8b793158) )
/* 20000-2ffff empty */
ROM_REGION( 0x10000, "slave", 0 ) /* 64k for the second CPU */
ROM_LOAD( "ic11", 0x0000, 0x10000, CRC(dc1c72ba) SHA1(89b3835884f46bea1ca49356a1faeddd87f772c9) )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the third CPU */
ROM_LOAD( "s-1.u21", 0x0000, 0x08000, CRC(08e5d846) SHA1(8509a71df984f0348bdc6ab60eb2ba7ceb9b1246) )
ROM_REGION( 0x100000, "gfx1", ROMREGION_INVERT )
ROM_LOAD( "mp-6.ic14", 0x00000, 0x40000, CRC(00f4896b) SHA1(3d3d267c9c400de6898d362a230355792ca081ef) )
ROM_LOAD( "mp-5.ic126", 0x40000, 0x40000, CRC(1fd30a32) SHA1(9ebffe1087752079627c0f42427019c376ca595b) )
ROM_LOAD( "5.ic124", 0x80000, 0x40000, CRC(55666102) SHA1(db1d8b763324e0d93c53df0308506cdc1e857cf4) )
ROM_LOAD( "6.ic125", 0xc0000, 0x40000, CRC(aa1c4c32) SHA1(6c6f7c8e0ac34f8e07c454644f01586fef3e0a1a) )
ROM_REGION( 0x200000, "gfx2", 0 ) /* background images */
ROM_LOAD16_BYTE( "4.ic1", 0x100001, 0x80000, CRC(652a49f8) SHA1(53d2d73f95ba3b51576bd317b54ccb2653358f4e) )
ROM_LOAD16_BYTE( "2.ic3", 0x100000, 0x80000, CRC(f8b52c29) SHA1(4f6468cdad91d1f4d68f2dbd38a1fe79d60b8a58) )
ROM_LOAD16_BYTE( "3.ic2", 0x000001, 0x80000, CRC(10263373) SHA1(700589d583dc609a6dba0cc51d8fa7f55df32e71) )
ROM_LOAD16_BYTE( "1.ic4", 0x000000, 0x80000, CRC(9e19ad78) SHA1(b45c305152a7a3c58416837812f64f606d1ab610) )
ROM_REGION( 0x40000, "oki", 0 ) /* samples */
ROM_LOAD( "ic13", 0x00000, 0x20000, CRC(7a4f4272) SHA1(07712494f5166bcc8156a2152ae552a74f2184eb) )
/* todo: verify if it has a prom */
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "a71-25.bin", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing - taken from bublbobl */
ROM_END
static void configure_banks( running_machine* machine ) static void configure_banks( running_machine* machine )
{ {
UINT8 *ROM = machine->region("maincpu")->base(); UINT8 *ROM = machine->region("maincpu")->base();
@ -481,4 +580,5 @@ static DRIVER_INIT( missb2 )
/* Game Drivers */ /* Game Drivers */
GAME( 1996, missb2, 0, missb2, missb2, missb2, ROT0, "Alpha Co.", "Miss Bubble II", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1996, missb2, 0, missb2, missb2, missb2, ROT0, "Alpha Co.", "Miss Bubble II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1996, bublpong, missb2, bublpong, missb2, missb2, ROT0, "Top Ltd.", "Bubble Pong Pong", GAME_SUPPORTS_SAVE )

View File

@ -1859,6 +1859,7 @@ const game_driver * const drivers[] =
DRIVER( bub68705 ) /* bootleg */ DRIVER( bub68705 ) /* bootleg */
DRIVER( dland ) /* bootleg */ DRIVER( dland ) /* bootleg */
DRIVER( missb2 ) /* bootleg on enhanced hardware */ DRIVER( missb2 ) /* bootleg on enhanced hardware */
DRIVER( bublpong ) /* bootleg on enhanced hardware */
DRIVER( kikikai ) /* A85 (c) 1986 Taito Corporation */ DRIVER( kikikai ) /* A85 (c) 1986 Taito Corporation */
DRIVER( knightb ) /* bootleg */ DRIVER( knightb ) /* bootleg */
DRIVER( kicknrun ) /* A87 (c) 1986 Taito Corporation */ DRIVER( kicknrun ) /* A87 (c) 1986 Taito Corporation */