mirror of
https://github.com/holub/mame
synced 2025-05-19 12:18:56 +03:00
new clone
--------- Bubble Pong Pong (clone of Miss Bubble 2) [David Haywood, Smitdogg, The Dumping Union]
This commit is contained in:
parent
0fdc20682f
commit
f64672d9b0
@ -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 )
|
||||||
|
@ -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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user