From ed17d0003728513034f2e30284bc161b3d8e37c3 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 25 Mar 2024 18:47:17 +0100 Subject: [PATCH] New systems marked not working ------------------------------ Man Guan Caishen 3 (V101CN) [dyq, little0, Guru] Man Guan Zhi Zun (V100CN) [dyq, little0, Guru] --- src/mame/igs/igs036crypt.cpp | 2 +- src/mame/igs/igs_m027.cpp | 40 ++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 2 ++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/mame/igs/igs036crypt.cpp b/src/mame/igs/igs036crypt.cpp index 352717c45d0..4ca83b8f5c3 100644 --- a/src/mame/igs/igs036crypt.cpp +++ b/src/mame/igs/igs036crypt.cpp @@ -19,7 +19,7 @@ The address-based XOR can be thought as 16 one-bit XORs against key bits controlled by certain combinations of up to three address bits. The game key is comprised of 256 8-bits values provided by the internal ARM; every 8-bit value in the key is used on those words whose address match the index modulus 256; -in a given key byte, every bit affects two positions of the correponding 16-bits +in a given key byte, every bit affects two positions of the corresponding 16-bits encrypted words. This use of the key is similar to the one found in previous instantiations of IGS circuits. diff --git a/src/mame/igs/igs_m027.cpp b/src/mame/igs/igs_m027.cpp index 40ad2f4ffc1..543b32968b0 100644 --- a/src/mame/igs/igs_m027.cpp +++ b/src/mame/igs/igs_m027.cpp @@ -707,6 +707,25 @@ ROM_START( mgfx ) ROM_END +ROM_START( mgzz ) // IGS PCB 0295-00 (IGS027A, M6295, IGS031, 8255, Battery) + ROM_REGION( 0x04000, "maincpu", 0 ) + // Internal ROM of IGS027A type G ARM based MCU + ROM_LOAD( "mgzz_igs027a", 0x00000, 0x4000, NO_DUMP ) + + ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg + ROM_LOAD( "v-100cn.u10", 0x000000, 0x80000, CRC(278964f7) SHA1(75e48e3124d038f16f93fe3c1f63dd1568f0c018) ) + + ROM_REGION( 0x80000, "igs017_igs031:tilemaps", 0 ) + ROM_LOAD( "text.u9", 0x000000, 0x80000, CRC(10792638) SHA1(ae5d93659140252da332a3dd03cb188ddf79ad5a) ) + + ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 ) + ROM_LOAD( "cg.u17", 0x000000, 0x400000, CRC(1643fa78) SHA1(4c08b62d3dd7171a9ad3182634f66befa82cb581) ) // FIXED BITS (xxxxxxxx0xxxxxxx) + + ROM_REGION( 0x80000, "oki", 0 ) + ROM_LOAD( "sp.u14", 0x00000, 0x80000, CRC(f037952e) SHA1(0fa83e164937c9e8245861da7fd11f225525918d) ) +ROM_END + + /* @@ -993,6 +1012,25 @@ ROM_START( qlgs ) ROM_LOAD( "sp_u5.u5", 0x00000, 0x200000, CRC(6049b892) SHA1(f87285a288bd3fd169080045f70ff15181661582) ) // 11xxxxxxxxxxxxxxxxxxx = 0x00 ROM_END +// PCB-0489-15-FM-1 (IGS027A, M6295, IGS031, 8255, Battery) - same PCB as qlgs +ROM_START( mgcs3 ) + ROM_REGION( 0x04000, "maincpu", 0 ) + // Internal ROM of IGS027A type G ARM based MCU + ROM_LOAD( "mgcs3_igs027a", 0x00000, 0x4000, NO_DUMP ) + + ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg + ROM_LOAD( "m2401_v101cn.u17", 0x000000, 0x200000, CRC(d0d78fb6) SHA1(10a16f1ce0a89b5281822be26a2cdcc86702b188) ) // 11xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x200000, "igs017_igs031:tilemaps", 0 ) + ROM_LOAD( "text.u26", 0x000000, 0x200000, CRC(14881df6) SHA1(261e813498981a30a938a9f6205c8c8f79a57029) ) // 11xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 ) + ROM_LOAD( "cg1.u28", 0x000000, 0x400000, CRC(59522cf8) SHA1(b33448d72769e78b097edd2e8055c9144491120d) ) // FIXED BITS (xxxxxxx0xxxxxxxx) + + ROM_REGION( 0x200000, "oki", 0 ) + ROM_LOAD( "sp.u5", 0x00000, 0x200000, CRC(eb27b166) SHA1(eb9641516245d9094861d6ba6e902eac62019968) ) +ROM_END + ROM_START( extradrw ) // IGS PCB 0326-05-DV-1 ROM_REGION( 0x04000, "maincpu", 0 ) // Internal rom of IGS027A ARM based MCU @@ -1178,3 +1216,5 @@ GAME( 2002, chessc2, 0, igs_mahjong, sdwx, igs_m027_state, init_che GAME( 200?, haunthig, 0, igs_mahjong, sdwx, igs_m027_state, init_hauntedh, ROT0, "IGS", "Haunted House (IGS)", MACHINE_IS_SKELETON ) GAME( 200?, extradrw, 0, igs_mahjong, sdwx, igs_m027_state, init_qlgs, ROT0, "IGS", "Extra Draw", MACHINE_IS_SKELETON ) GAME( 200?, crzybugs, 0, igs_mahjong, sdwx, igs_m027_state, init_qlgs, ROT0, "IGS", "Crazy Bugs (V103JP)", MACHINE_IS_SKELETON ) // 2006 according to some sources +GAME( 2003, mgzz, 0, igs_mahjong, sdwx, igs_m027_state, init_qlgs, ROT0, "IGS", "Man Guan Zhi Zun (V100CN)", MACHINE_IS_SKELETON ) +GAME( 200?, mgcs3, 0, igs_mahjong, sdwx, igs_m027_state, init_qlgs, ROT0, "IGS", "Man Guan Caishen 3 (V101CN)", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5d75f561246..380ebbeb2df 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20122,7 +20122,9 @@ haunthig // (c) 200? klxyj // (c) 200? lhzb3 // (c) 200? lhzb4 // (c) 200? +mgcs3 // (c) 200? mgfx // (c) 200? +mgzz // (c) 2003 qlgs // (c) 1999 sddz // (c) 200? sdwx // (c) 2002