mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
segas16b.cpp: Replace MCU simulations with real code from a decapped/dumped MCU for Dynamite Dux (set 1) (8751 317-0095) [TeamEurope, Brian Troha, The Dumping Unionn]
This commit is contained in:
parent
6e98146ef4
commit
03c0a63bb4
@ -1354,27 +1354,6 @@ void segas16b_state::altbeasj_i8751_sim()
|
||||
}
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ddux_i8751_sim - simulate the I8751
|
||||
// from Dynamite Dux
|
||||
//-------------------------------------------------
|
||||
|
||||
void segas16b_state::ddux_i8751_sim()
|
||||
{
|
||||
// signal a VBLANK to the main CPU
|
||||
m_maincpu->set_input_line(4, HOLD_LINE);
|
||||
|
||||
// process any new sound data
|
||||
uint16_t temp = m_workram[0x0bd0/2];
|
||||
if ((temp & 0xff00) != 0x0000)
|
||||
{
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
m_mapper->write(space, 0x03, temp >> 8);
|
||||
m_workram[0x0bd0/2] = temp & 0x00ff;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// tturf_i8751_sim - simulate the I8751
|
||||
// from Tough Turf
|
||||
@ -6203,7 +6182,7 @@ ROM_START( ddux1 )
|
||||
ROM_LOAD( "epr-11916.a10", 0x0000, 0x8000, CRC(7ab541cf) SHA1(feb88022ca1796d020e53e95ad345159bd415530) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) // Intel i8751 protection MCU
|
||||
ROM_LOAD( "317-0095.c2", 0x00000, 0x1000, NO_DUMP )
|
||||
ROM_LOAD( "317-0095.c2", 0x00000, 0x1000, CRC(b06b4ca7) SHA1(563807dd8194179e25a2186f3572fb3738537c33) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -9392,12 +9371,6 @@ void segas16b_state::init_altbeas4_5521()
|
||||
downcast<mc8123_device &>(*m_soundcpu).decode(memregion("soundcpu")->base(), m_sound_decrypted_opcodes, 0x8000);
|
||||
}
|
||||
|
||||
void segas16b_state::init_ddux_5704()
|
||||
{
|
||||
init_generic_5704();
|
||||
m_i8751_vblank_hook = i8751_sim_delegate(&segas16b_state::ddux_i8751_sim, this);
|
||||
}
|
||||
|
||||
void segas16b_state::init_dunkshot_5358_small()
|
||||
{
|
||||
init_generic_5358_small();
|
||||
@ -9551,7 +9524,7 @@ GAME( 1991, cottonja, cotton, system16b_fd1094, cotton, segas16b_stat
|
||||
|
||||
GAME( 1988, ddux, 0, system16b_fd1094, ddux, segas16b_state, init_generic_5521, ROT0, "Sega", "Dynamite Dux (set 3, World) (FD1094 317-0096)", 0 )
|
||||
GAME( 1988, dduxj, ddux, system16b_fd1094, ddux, segas16b_state, init_generic_5521, ROT0, "Sega", "Dynamite Dux (set 2, Japan) (FD1094 317-0094)", 0 )
|
||||
GAME( 1988, ddux1, ddux, system16b_i8751, ddux, segas16b_state, init_ddux_5704, ROT0, "Sega", "Dynamite Dux (set 1) (8751 317-0095)", 0 )
|
||||
GAME( 1988, ddux1, ddux, system16b_i8751, ddux, segas16b_state, init_generic_5704, ROT0, "Sega", "Dynamite Dux (set 1) (8751 317-0095)", 0 )
|
||||
|
||||
GAME( 1987, dunkshot, 0, system16b_fd1089a, dunkshot, segas16b_state, init_dunkshot_5358_small,ROT0, "Sega", "Dunk Shot (Rev C, FD1089A 317-0022)", 0 )
|
||||
GAME( 1987, dunkshota, dunkshot, system16b_fd1089a, dunkshot, segas16b_state, init_dunkshot_5358_small,ROT0, "Sega", "Dunk Shot (Rev A, FD1089A 317-0022)", 0 )
|
||||
|
@ -111,7 +111,6 @@ public:
|
||||
void init_sdi_5358_small();
|
||||
void init_fpointbla();
|
||||
void init_altbeasj_5521();
|
||||
void init_ddux_5704();
|
||||
void init_snapper();
|
||||
void init_shinobi4_5521();
|
||||
void init_defense_5358_small();
|
||||
@ -226,7 +225,6 @@ protected:
|
||||
// i8751 simulations
|
||||
void altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoffs, int alt_bank);
|
||||
void altbeasj_i8751_sim();
|
||||
void ddux_i8751_sim();
|
||||
void tturf_i8751_sim();
|
||||
void wb3_i8751_sim();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user