summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/pgm.c36
-rw-r--r--src/mame/machine/pgmprot_igs027a_type3.c1
-rw-r--r--src/mame/mame.lst3
3 files changed, 36 insertions, 4 deletions
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 9e71af5bb7c..23522310452 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -3681,12 +3681,42 @@ ROM_END
ROM_START( happy6 )
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
PGM_68K_BIOS
+ ROM_LOAD16_WORD_SWAP( "v101cn.u5", 0x100000, 0x080000, CRC(aa4646e3) SHA1(e6772cc480ddd3e1d199364b1f2ff93b973e6842) )
+
+ ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
+ // data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles)
+// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP )
+ ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
+ ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) )
+
+
+ ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data) */
+ ROM_LOAD( "v102cn.u26", 0x000000, 0x400000, CRC(310510fb) SHA1(e0e80a04e9f7bf27e6581a8935c960bad33bb6de) )
+
+ ROM_REGION( 0xc00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */
+ PGM_VIDEO_BIOS
+ ROM_LOAD( "t01w64m.u29",0x180000, 0x800000, CRC(2d3feb8b) SHA1(9832b1c46b1ee73febf5c5c8913859f4e0581665) )
+
+ ROM_REGION( 0x1c00000, "sprcol", 0 ) /* Sprite Colour Data */
+ ROM_LOAD( "a01w64m.u5", 0x0000000, 0x0800000, CRC(bbaa3df3) SHA1(a72268d3989e96d571242279922291d0dc72db28) )
+ ROM_LOAD( "a02w64m.u6", 0x0800000, 0x0800000, CRC(f8c9cd36) SHA1(d9613a83bcc2364492fa922fde1c4f0d07b3009c) )
+
+ ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
+ ROM_LOAD( "b01w64m.u19", 0x0000000, 0x0800000, CRC(73f5f225) SHA1(507126fa96dcec967bdbc0978d79fbce9d25db37) )
+
+ ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
+ PGM_AUDIO_BIOS
+ ROM_LOAD( "w01w64m.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) )
+ROM_END
+
+ROM_START( happy6101 )
+ ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
+ PGM_68K_BIOS
ROM_LOAD16_WORD_SWAP( "happy6in1_v100cn.u5", 0x100000, 0x080000, CRC(a25418e8) SHA1(acd7e7b69956cb4ce8e26c6420cb97bb4bf404e7) )
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
// data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles)
// 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_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) )
@@ -3710,7 +3740,6 @@ ROM_START( happy6 )
ROM_LOAD( "w01w64m.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) )
ROM_END
-
/* all known revisions of ketsui have roms marked v100, even when the actual game revision is upgraded */
ROM_START( ket )
@@ -4181,7 +4210,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 )
+GAME( 2004, happy6, pgm, pgm_arm_type3, happy6, pgm_arm_type3_state, happy6, ROT0, "IGS", "Happy 6-in-1 (ver. 102CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2004, happy6101, happy6, 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
diff --git a/src/mame/machine/pgmprot_igs027a_type3.c b/src/mame/machine/pgmprot_igs027a_type3.c
index bfb8fd16625..74cc801fc99 100644
--- a/src/mame/machine/pgmprot_igs027a_type3.c
+++ b/src/mame/machine/pgmprot_igs027a_type3.c
@@ -162,6 +162,7 @@ MACHINE_RESET_MEMBER(pgm_arm_type3_state, pgm_arm_type3_reset)
if (!strcmp(machine().system().name, "theglad100")) base = 0x3316;
if (!strcmp(machine().system().name, "theglad101")) base = 0x3316;
if (!strcmp(machine().system().name, "happy6")) base = 0x3586;
+ if (!strcmp(machine().system().name, "happy6101")) base = 0x3586;
if (!strcmp(machine().system().name, "svgpcb")) base = 0x3a8e;
if (base != -1)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index a5078ab29ed..92a991d9f85 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -9582,7 +9582,8 @@ kovlsjb // bootleg
kovlsjba // bootleg
oldsplus // (c) 2004 Oriental Legend Super Plus
killbldp // (c) 2004 Killing Blade Plus
-happy6 // (c) 200? Happy 6
+happy6 // (c) 2004 Happy 6
+happy6101 //
svg // (c) 2003 Spectral vs Generation
svgpcb //
ket // (c) 2002 Ketsui