mirror of
https://github.com/holub/mame
synced 2025-07-01 00:09:18 +03:00
new WORKING game
Happy 6-in-1 (ver. 101CN) [rtw, iq_132, David Haywood]
This commit is contained in:
parent
e3a409d9bd
commit
d411bdd758
@ -3688,7 +3688,7 @@ ROM_START( happy6 )
|
||||
// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP )
|
||||
// for testing only, this is from the gladiator and wrong for this game.
|
||||
ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
||||
ROM_LOAD( "happy6_igs027a_v100_japan.bin", 0x0188, 0x3e78, BAD_DUMP CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
||||
ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) )
|
||||
|
||||
|
||||
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data) */
|
||||
@ -4181,6 +4181,8 @@ GAME( 2003, thegladpcb, theglad, pgm_arm_type3, pgm, pgm_arm_type3_st
|
||||
|
||||
GAME( 2005, svgpcb, svg, pgm_arm_type3, svg, pgm_arm_type3_state, svgpcb, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V100JP) (ARM label V100JP ROM 05/12/05 S.V.G V100) (Japan, JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )// ARM time: 15:31:35 // PCB version only released in Japan?
|
||||
|
||||
GAME( 2004, happy6, pgm, pgm_arm_type3, happy6, pgm_arm_type3_state, happy6, ROT0, "IGS", "Happy 6-in-1 (ver. 101CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
|
||||
|
||||
/* -----------------------------------------------------------------------------------------------------------------------
|
||||
Partially Working, playable, but some imperfections
|
||||
-----------------------------------------------------------------------------------------------------------------------*/
|
||||
@ -4237,7 +4239,7 @@ GAME( 2004, kovlsjb, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_sta
|
||||
GAME( 2004, kovlsjba, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Jie Ba / Sangoku Senki: Luan Shi Jie Ba (ver. 200CN, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
|
||||
|
||||
GAME( 2004, happy6, pgm, pgm_arm_type3, happy6, pgm_arm_type3_state, happy6, ROT0, "IGS", "Happy 6-in-1 (ver. 101CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
|
||||
|
||||
// this is kludged to boot but isn't really going to work properly without the real internal ROM
|
||||
GAME( 2005, svg, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, svg, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V200) (ARM label V200, ROM 10/11/05 S.V.G V201)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // label was 200, but it's code rev 201? // ARM time: 10:07:20
|
||||
|
@ -353,6 +353,7 @@ public:
|
||||
DECLARE_READ16_MEMBER( dmnfrnt_main_speedup_r );
|
||||
DECLARE_READ32_MEMBER( killbldp_speedup_r );
|
||||
DECLARE_READ32_MEMBER( theglad_speedup_r );
|
||||
DECLARE_READ32_MEMBER( happy6_speedup_r );
|
||||
DECLARE_READ32_MEMBER( svg_speedup_r );
|
||||
DECLARE_MACHINE_RESET(pgm_arm_type3_reset);
|
||||
};
|
||||
|
@ -161,7 +161,7 @@ MACHINE_RESET_MEMBER(pgm_arm_type3_state, pgm_arm_type3_reset)
|
||||
if (!strcmp(machine().system().name, "theglad")) base = 0x3316;
|
||||
if (!strcmp(machine().system().name, "theglad100")) base = 0x3316;
|
||||
if (!strcmp(machine().system().name, "theglad101")) base = 0x3316;
|
||||
if (!strcmp(machine().system().name, "happy6")) base = 0x3316;
|
||||
if (!strcmp(machine().system().name, "happy6")) base = 0x3586;
|
||||
if (!strcmp(machine().system().name, "svgpcb")) base = 0x3a8e;
|
||||
|
||||
if (base != -1)
|
||||
@ -255,6 +255,15 @@ READ32_MEMBER(pgm_arm_type3_state::theglad_speedup_r )
|
||||
return m_arm_ram2[0x00c/4];
|
||||
}
|
||||
|
||||
|
||||
READ32_MEMBER(pgm_arm_type3_state::happy6_speedup_r )
|
||||
{
|
||||
int pc = space.device().safe_pc();
|
||||
if (pc == 0x0a08) space.device().execute().eat_cycles(500);
|
||||
//else printf("theglad_speedup_r %08x\n", pc);
|
||||
return m_arm_ram2[0x00c/4];
|
||||
}
|
||||
|
||||
// installed over rom
|
||||
READ32_MEMBER(pgm_arm_type3_state::svg_speedup_r )
|
||||
{
|
||||
@ -832,7 +841,6 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,happy6)
|
||||
pgm_happy6_decrypt(machine());
|
||||
svg_latch_init();
|
||||
pgm_create_dummy_internal_arm_region_theglad(0);
|
||||
pgm_patch_external_arm_rom_jumptable_theglada(0x5f1c0);
|
||||
|
||||
machine().device("prot")->memory().space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32_delegate(FUNC(pgm_arm_type3_state::theglad_speedup_r),this));
|
||||
machine().device("prot")->memory().space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32_delegate(FUNC(pgm_arm_type3_state::happy6_speedup_r),this));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user