tumbleb.cpp: decapped htchctch MCU [Team Caps0ff, Guru]

This commit is contained in:
Ivan Vangelista 2019-12-18 19:19:10 +01:00
parent aff09c95d5
commit 33852d33ad
2 changed files with 37 additions and 36 deletions

View File

@ -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) )
@ -3884,7 +3884,7 @@ GAME( 1995, chokchok, 0, chokchok, chokchok, tumbleb_state, init_chokch
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 )

View File

@ -44,6 +44,7 @@ public:
void magipur(machine_config &config);
void suprtrio(machine_config &config);
void htchctch(machine_config &config);
void htchctch_mcu(machine_config &config);
void sdfight(machine_config &config);
void chokchok(machine_config &config);
void cookbib_mcu(machine_config &config);