summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/tumbleb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tumbleb.cpp')
-rw-r--r--src/mame/drivers/tumbleb.cpp72
1 files changed, 36 insertions, 36 deletions
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 46f0e6127f8..21dc6fcef06 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -2392,6 +2392,16 @@ void tumbleb_state::htchctch(machine_config &config) // OSCs: 15MHz, 4.096MHz
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
+void tumbleb_state::htchctch_mcu(machine_config &config) // OSCs: 15MHz, 4.096MHz
+{
+ htchctch(config);
+
+ i87c52_device &prot(I87C52(config, "protection", 15_MHz_XTAL)); // decapped as 87C51FA (chip was marked as P87C52)
+ prot.port_out_cb<0>().set(FUNC(tumbleb_state::prot_p0_w));
+ prot.port_out_cb<1>().set(FUNC(tumbleb_state::prot_p1_w));
+ prot.port_out_cb<2>().set(FUNC(tumbleb_state::prot_p2_w));
+}
+
void tumbleb_state::cookbib(machine_config &config)
{
htchctch(config);
@@ -2401,13 +2411,7 @@ void tumbleb_state::cookbib(machine_config &config)
// some Choky! Choky! PCBs have left factory with a 3.57mhz while some have a 4.096 which matches other games, assuming the former are factory errors
void tumbleb_state::chokchok(machine_config &config) // OSCs: 15MHz, 4.096MHz
{
- htchctch(config);
-
- /* basic machine hardware */
- i87c52_device &prot(I87C52(config, "protection", 15_MHz_XTAL));
- prot.port_out_cb<0>().set(FUNC(tumbleb_state::prot_p0_w));
- prot.port_out_cb<1>().set(FUNC(tumbleb_state::prot_p1_w));
- prot.port_out_cb<2>().set(FUNC(tumbleb_state::prot_p2_w));
+ htchctch_mcu(config);
m_palette->set_format(palette_device::xBGR_444, 1024);
}
@@ -3076,12 +3080,8 @@ ROM_START( htchctch )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 Code */
ROM_LOAD( "p02.b5", 0x00000, 0x10000 , CRC(c5a03186) SHA1(42561ab36e6d7a43828d3094e64bd1229ab893ba) )
- ROM_REGION( 0x10000, "cpu2", 0 ) /* Intel 87C52 MCU Code */
- ROM_LOAD( "87c52.mcu", 0x00000, 0x2000, NO_DUMP ) /* can't be dumped */
-
- ROM_REGION16_BE( 0x200, "user1", 0 ) /* Data from Shared RAM */
- /* this is not a real rom but instead the data extracted from shared ram, the MCU puts it there */
- ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(5b27adb6) SHA1(a0821093d8c73765ff15767bdfc0afa95aa1371d) )
+ ROM_REGION( 0x10000, "protection", 0 ) /* Intel 87C52 MCU Code */
+ ROM_LOAD( "87c51fa.bin", 0x00000, 0x2000, CRC(a30312f3) SHA1(e61a89b4ed9555252fc1a64c50d345085f7674c7) ) // decapped
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
ROM_LOAD( "p01.c1", 0x00000, 0x20000, CRC(18c06829) SHA1(46b180319ed33abeaba70d2cc61f17639e59bfdb) )
@@ -3858,46 +3858,46 @@ void tumbleb_state::init_dquizgo()
/******************************************************************************/
/* Misc 'bootleg' hardware - close to base Tumble Pop */
-GAME( 1991, tumbleb, tumblep, tumblepb, tumblepb, tumbleb_state, init_tumblepb, ROT0, "bootleg", "Tumble Pop (bootleg)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tumbleb2, tumblep, tumbleb2, tumblepb, tumbleb_state, init_tumbleb2, ROT0, "bootleg", "Tumble Pop (bootleg with PIC)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
-GAME( 1991, tumblepba,tumblep, tumblepba, tumblepb, tumbleb_state, init_tumblepba,ROT0, "bootleg (Playmark)", "Tumble Pop (Playmark bootleg)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // Playmark stickers on ROMs, offset pf1_alt tilemap, OKI not hooked up
+GAME( 1991, tumbleb, tumblep, tumblepb, tumblepb, tumbleb_state, init_tumblepb, ROT0, "bootleg", "Tumble Pop (bootleg)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tumbleb2, tumblep, tumbleb2, tumblepb, tumbleb_state, init_tumbleb2, ROT0, "bootleg", "Tumble Pop (bootleg with PIC)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
+GAME( 1991, tumblepba,tumblep, tumblepba, tumblepb, tumbleb_state, init_tumblepba,ROT0, "bootleg (Playmark)", "Tumble Pop (Playmark bootleg)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // Playmark stickers on ROMs, offset pf1_alt tilemap, OKI not hooked up
-GAME( 1992, funkyjetb,funkyjet,funkyjetb, tumblepb, tumbleb_pic_state, init_tumblepb, ROT0, "bootleg", "Funky Jet (bootleg)", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // wrong palette, inputs not working, PIC driving an OKI
+GAME( 1992, funkyjetb,funkyjet,funkyjetb, tumblepb, tumbleb_pic_state, init_tumblepb, ROT0, "bootleg", "Funky Jet (bootleg)", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // wrong palette, inputs not working, PIC driving an OKI
-GAME( 1993, jumpkids, 0, jumpkids, tumblepb, tumbleb_state, init_jumpkids, ROT0, "Comad", "Jump Kids", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, jumpkids, 0, jumpkids, tumblepb, tumbleb_state, init_jumpkids, ROT0, "Comad", "Jump Kids", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, pangpang, 0, pangpang, tumblepb, tumbleb_state, init_tumbleb2, ROT0, "Dong Gue La Mi Ltd.", "Pang Pang", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
+GAME( 1994, pangpang, 0, pangpang, tumblepb, tumbleb_state, init_tumbleb2, ROT0, "Dong Gue La Mi Ltd.", "Pang Pang", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
/* Misc 'bootleg' hardware - more changes from base hardware */
-GAME( 1994, suprtrio, 0, suprtrio, suprtrio, tumbleb_state, init_suprtrio, ROT0, "Gameace", "Super Trio", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, suprtrio, 0, suprtrio, suprtrio, tumbleb_state, init_suprtrio, ROT0, "Gameace", "Super Trio", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, fncywld, 0, fncywld, fncywld, tumbleb_state, init_fncywld, ROT0, "Unico", "Fancy World - Earth of Crisis" , MACHINE_SUPPORTS_SAVE ) // game says 1996, testmode 1995?
+GAME( 1996, fncywld, 0, fncywld, fncywld, tumbleb_state, init_fncywld, ROT0, "Unico", "Fancy World - Earth of Crisis" , MACHINE_SUPPORTS_SAVE ) // game says 1996, testmode 1995?
-GAME( 1996, magipur, 0, magipur, magipur, tumbleb_state, init_magipur, ROT0, "Unico", "Magic Purple" , MACHINE_SUPPORTS_SAVE )
+GAME( 1996, magipur, 0, magipur, magipur, tumbleb_state, init_magipur, ROT0, "Unico", "Magic Purple" , MACHINE_SUPPORTS_SAVE )
/* First Amusement / Mijin / SemiCom hardware (MCU protected) */
-GAME( 1994, metlsavr, 0, metlsavr, metlsavr, tumbleb_state, init_chokchok, ROT0, "First Amusement", "Metal Saver", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, metlsavr, 0, metlsavr, metlsavr, tumbleb_state, init_chokchok, ROT0, "First Amusement", "Metal Saver", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, magicbal, 0, metlsavr, magicbal, tumbleb_state, init_chokchok, ROT0, "SemiCom", "Magicball Fighting (Korea)", MACHINE_SUPPORTS_SAVE ) // also still has the Metal Saver (c)1994 First Amusement tiles in the GFX
+GAME( 1994, magicbal, 0, metlsavr, magicbal, tumbleb_state, init_chokchok, ROT0, "SemiCom", "Magicball Fighting (Korea)", MACHINE_SUPPORTS_SAVE ) // also still has the Metal Saver (c)1994 First Amusement tiles in the GFX
-GAME( 1995, chokchok, 0, chokchok, chokchok, tumbleb_state, init_chokchok, ROT0, "SemiCom", "Choky! Choky!", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1995, chokchok, 0, chokchok, chokchok, tumbleb_state, init_chokchok, ROT0, "SemiCom", "Choky! Choky!", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1995, wlstar, 0, cookbib_mcu, wlstar, tumbleb_state, init_wlstar, ROT0, "Mijin", "Wonder League Star - Sok-Magicball Fighting (Korea)", MACHINE_SUPPORTS_SAVE ) // translates to 'Wonder League Star - Return of Magicball Fighting'
+GAME( 1995, wlstar, 0, cookbib_mcu, wlstar, tumbleb_state, init_wlstar, ROT0, "Mijin", "Wonder League Star - Sok-Magicball Fighting (Korea)", MACHINE_SUPPORTS_SAVE ) // translates to 'Wonder League Star - Return of Magicball Fighting'
-GAME( 1995, htchctch, 0, htchctch, htchctch, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Hatch Catch" , MACHINE_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
+GAME( 1995, htchctch, 0, htchctch_mcu, htchctch, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Hatch Catch" , MACHINE_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
-GAME( 1995, cookbib, 0, cookbib, cookbib, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Cookie & Bibi (set 1)" , MACHINE_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
-GAME( 1995, cookbiba, cookbib, cookbib, cookbib, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Cookie & Bibi (set 2)" , MACHINE_SUPPORTS_SAVE )
+GAME( 1995, cookbib, 0, cookbib, cookbib, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Cookie & Bibi (set 1)" , MACHINE_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
+GAME( 1995, cookbiba, cookbib, cookbib, cookbib, tumbleb_state, init_htchctch, ROT0, "SemiCom", "Cookie & Bibi (set 2)" , MACHINE_SUPPORTS_SAVE )
-GAME( 1996, carket, 0, htchctch, carket, tumbleb_state, init_carket, ROT0, "SemiCom", "Carket Ball", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, carket, 0, htchctch, carket, tumbleb_state, init_carket, ROT0, "SemiCom", "Carket Ball", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, wondl96, 0, cookbib_mcu, wondl96, tumbleb_state, init_wondl96, ROT0, "SemiCom", "Wonder League '96 (Korea)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, wondl96, 0, cookbib_mcu, wondl96, tumbleb_state, init_wondl96, ROT0, "SemiCom", "Wonder League '96 (Korea)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, sdfight, 0, sdfight, sdfight, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "SD Fighters (Korea)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, sdfight, 0, sdfight, sdfight, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "SD Fighters (Korea)", MACHINE_SUPPORTS_SAVE )
-GAME( 1997, bcstry, 0, bcstory, bcstory, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "B.C. Story (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // gfx offsets?
-GAME( 1997, bcstrya, bcstry, bcstory, bcstory, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "B.C. Story (set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // gfx offsets?
+GAME( 1997, bcstry, 0, bcstory, bcstory, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "B.C. Story (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // gfx offsets?
+GAME( 1997, bcstrya, bcstry, bcstory, bcstory, tumbleb_state, init_bcstory, ROT0, "SemiCom / Tirano", "B.C. Story (set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // gfx offsets?
-GAME( 1997, semibase, 0, semibase, semibase, tumbleb_state, init_bcstory, ROT0, "SemiCom / DMD", "MuHanSeungBu (SemiCom Baseball) (Korea)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )// sprite offsets..
+GAME( 1997, semibase, 0, semibase, semibase, tumbleb_state, init_bcstory, ROT0, "SemiCom / DMD", "MuHanSeungBu (SemiCom Baseball) (Korea)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )// sprite offsets..
-GAME( 1998, dquizgo, 0, cookbib, dquizgo, tumbleb_state, init_dquizgo, ROT0, "SemiCom / AceVer", "Date Quiz Go Go (Korea)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // check layer offsets
+GAME( 1998, dquizgo, 0, cookbib, dquizgo, tumbleb_state, init_dquizgo, ROT0, "SemiCom / AceVer", "Date Quiz Go Go (Korea)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // check layer offsets