mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
igs_m027.cpp - add 2 more 027A internal dumps (and 2 in igs_m027_link too) [Guru, XingXing] (#12680)
This commit is contained in:
parent
001418f8b9
commit
a2a1bc3406
@ -952,7 +952,7 @@ Notes:
|
|||||||
W24257 - Winbond 32kx8 SRAM (SOJ28)
|
W24257 - Winbond 32kx8 SRAM (SOJ28)
|
||||||
Custom ICs -
|
Custom ICs -
|
||||||
IGS027A - ARM7/9? based CPU (QFP120, labelled 'J8')
|
IGS027A - ARM7/9? based CPU (QFP120, labelled 'J8')
|
||||||
IGS033 - likely GFX processor. Appears to be linked to the 3.6V battery. However,
|
IGS031 - likely GFX processor. Appears to be linked to the 3.6V battery. However,
|
||||||
the battery was dead and the PCB still works, so maybe the battery is not used? (QFP208)
|
the battery was dead and the PCB still works, so maybe the battery is not used? (QFP208)
|
||||||
ROMs -
|
ROMs -
|
||||||
P2600.U10 - 27C4096 EPROM, Main program
|
P2600.U10 - 27C4096 EPROM, Main program
|
||||||
@ -966,7 +966,7 @@ Notes:
|
|||||||
ROM_START( zhongguo )
|
ROM_START( zhongguo )
|
||||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||||
// Internal ROM of IGS027A ARM based MCU
|
// Internal ROM of IGS027A ARM based MCU
|
||||||
ROM_LOAD( "zhongguo_igs027a", 0x00000, 0x4000, NO_DUMP )
|
ROM_LOAD( "j8_igs027a", 0x00000, 0x4000, CRC(95c51462) SHA1(818aad8ac25355950ba00438d0eecf58f0a17d8a) )
|
||||||
|
|
||||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||||
ROM_LOAD( "p2600.u10", 0x000000, 0x80000, CRC(9ad34135) SHA1(54717753d1296efe49946369fd4a27181f19dbc0) )
|
ROM_LOAD( "p2600.u10", 0x000000, 0x80000, CRC(9ad34135) SHA1(54717753d1296efe49946369fd4a27181f19dbc0) )
|
||||||
@ -1060,7 +1060,7 @@ Notes:
|
|||||||
ROM_START( lthy ) // appears to be a different edition of lhzb3 (GFX and sound ROM match)
|
ROM_START( lthy ) // appears to be a different edition of lhzb3 (GFX and sound ROM match)
|
||||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||||
// Internal ROM of IGS027A type G ARM based MCU
|
// Internal ROM of IGS027A type G ARM based MCU
|
||||||
ROM_LOAD( "d6_igs027a", 0x00000, 0x4000, NO_DUMP )
|
ROM_LOAD( "d6_igs027a", 0x00000, 0x4000, CRC(b29ee32b) SHA1(aa5f1f8ed8d61dd328c4c28a7bba700935526d26) )
|
||||||
|
|
||||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||||
ROM_LOAD( "27c4096.u10", 0x000000, 0x80000, CRC(bd04f2e9) SHA1(3d5a2101c7214a37f159e0d17f3e66a9b6ab94ff) )
|
ROM_LOAD( "27c4096.u10", 0x000000, 0x80000, CRC(bd04f2e9) SHA1(3d5a2101c7214a37f159e0d17f3e66a9b6ab94ff) )
|
||||||
@ -1324,7 +1324,7 @@ ROM_START( extradrw ) // IGS PCB 0326-05-DV-1
|
|||||||
ROM_LOAD( "e1_igs027a", 0x00000, 0x4000, NO_DUMP ) // has a 'E1' sticker
|
ROM_LOAD( "e1_igs027a", 0x00000, 0x4000, NO_DUMP ) // has a 'E1' sticker
|
||||||
|
|
||||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg?
|
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg?
|
||||||
ROM_LOAD( "u21", 0x00000, 0x80000, CRC(c1641b14) SHA1(bd2525a5b38d4d8a39e99e43ef62e1d2fd3c044d) ) // 1ST AND 2ND HALF IDENTICAL, label not readable, suspected bad dump (doesn't decrypt with usual methods)
|
ROM_LOAD( "u21", 0x00000, 0x80000, BAD_DUMP CRC(c1641b14) SHA1(bd2525a5b38d4d8a39e99e43ef62e1d2fd3c044d) ) // 1ST AND 2ND HALF IDENTICAL, label not readable, suspected bad dump (doesn't decrypt with usual methods)
|
||||||
|
|
||||||
ROM_REGION( 0x280000, "igs017_igs031:tilemaps", 0 )
|
ROM_REGION( 0x280000, "igs017_igs031:tilemaps", 0 )
|
||||||
ROM_LOAD16_WORD_SWAP( "u12", 0x000000, 0x200000, CRC(642247fb) SHA1(69c01c3551551120a3786522b28a80621a0d5082) ) // 1xxxxxxxxxxxxxxxxxxxx = 0xFF, label not readable
|
ROM_LOAD16_WORD_SWAP( "u12", 0x000000, 0x200000, CRC(642247fb) SHA1(69c01c3551551120a3786522b28a80621a0d5082) ) // 1xxxxxxxxxxxxxxxxxxxx = 0xFF, label not readable
|
||||||
@ -1420,8 +1420,8 @@ void igs_m027_state::init_gonefsh2()
|
|||||||
void igs_m027_state::init_zhongguo()
|
void igs_m027_state::init_zhongguo()
|
||||||
{
|
{
|
||||||
zhongguo_decrypt(machine());
|
zhongguo_decrypt(machine());
|
||||||
//m_igs017_igs031->sdwx_gfx_decrypt();
|
m_igs017_igs031->mgcs_decrypt_tiles(); // close, but wrong, see copyright date
|
||||||
pgm_create_dummy_internal_arm_region();
|
// sprites aren't encrypted
|
||||||
}
|
}
|
||||||
|
|
||||||
void igs_m027_state::init_slqz3()
|
void igs_m027_state::init_slqz3()
|
||||||
@ -1491,8 +1491,8 @@ void igs_m027_state::init_jking02()
|
|||||||
void igs_m027_state::init_lthy()
|
void igs_m027_state::init_lthy()
|
||||||
{
|
{
|
||||||
lthy_decrypt(machine());
|
lthy_decrypt(machine());
|
||||||
//qlgs_gfx_decrypt(machine());
|
//m_igs017_igs031->sdwx_gfx_decrypt(); // wrong
|
||||||
pgm_create_dummy_internal_arm_region();
|
//pgm_create_dummy_internal_arm_region();
|
||||||
}
|
}
|
||||||
|
|
||||||
void igs_m027_state::init_luckycrs()
|
void igs_m027_state::init_luckycrs()
|
||||||
@ -1513,14 +1513,14 @@ void igs_m027_state::init_lhdmg()
|
|||||||
{
|
{
|
||||||
//lhdmg_decrypt(machine());
|
//lhdmg_decrypt(machine());
|
||||||
//qlgs_gfx_decrypt(machine());
|
//qlgs_gfx_decrypt(machine());
|
||||||
pgm_create_dummy_internal_arm_region();
|
//pgm_create_dummy_internal_arm_region();
|
||||||
}
|
}
|
||||||
|
|
||||||
void igs_m027_state::init_lhdmgp()
|
void igs_m027_state::init_lhdmgp()
|
||||||
{
|
{
|
||||||
//lhdmgp_decrypt(machine());
|
//lhdmgp_decrypt(machine());
|
||||||
//qlgs_gfx_decrypt(machine());
|
//qlgs_gfx_decrypt(machine());
|
||||||
pgm_create_dummy_internal_arm_region();
|
//pgm_create_dummy_internal_arm_region();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1539,6 +1539,8 @@ GAME( 1999, qlgs, 0, igs_mahjong, qlgs, igs_m027_state, init_qlg
|
|||||||
GAME( 1999, fruitpar, 0, igs_mahjong, base, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214)", MACHINE_IS_SKELETON )
|
GAME( 1999, fruitpar, 0, igs_mahjong, base, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214)", MACHINE_IS_SKELETON )
|
||||||
GAME( 1999, lhdmg, 0, igs_mahjong, base, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Man Guan", MACHINE_IS_SKELETON )
|
GAME( 1999, lhdmg, 0, igs_mahjong, base, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Man Guan", MACHINE_IS_SKELETON )
|
||||||
GAME( 1999, lhdmgp, lhdmg, igs_mahjong, base, igs_m027_state, init_lhdmgp, ROT0, "IGS", "Long Hu Da Man Guan Plus", MACHINE_IS_SKELETON )
|
GAME( 1999, lhdmgp, lhdmg, igs_mahjong, base, igs_m027_state, init_lhdmgp, ROT0, "IGS", "Long Hu Da Man Guan Plus", MACHINE_IS_SKELETON )
|
||||||
|
GAME( 1999, lthy, 0, igs_mahjong, base, igs_m027_state, init_lthy, ROT0, "IGS", "Long Teng Hu Yue", MACHINE_IS_SKELETON )
|
||||||
|
GAME( 2000, zhongguo, 0, igs_mahjong, base, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhong Guo Chu Da D", MACHINE_IS_SKELETON )
|
||||||
GAME( 200?, jking02, 0, igs_mahjong, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_IS_SKELETON )
|
GAME( 200?, jking02, 0, igs_mahjong, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_IS_SKELETON )
|
||||||
GAME( 2003, mgzz, 0, igs_mahjong, base, igs_m027_state, init_mgzz, ROT0, "IGS", "Man Guan Zhi Zun (V100CN)", MACHINE_IS_SKELETON )
|
GAME( 2003, mgzz, 0, igs_mahjong, base, igs_m027_state, init_mgzz, ROT0, "IGS", "Man Guan Zhi Zun (V100CN)", MACHINE_IS_SKELETON )
|
||||||
GAME( 2007, mgcs3, 0, igs_mahjong, base, igs_m027_state, init_mgcs3, ROT0, "IGS", "Man Guan Caishen 3 (V101CN)", MACHINE_IS_SKELETON )
|
GAME( 2007, mgcs3, 0, igs_mahjong, base, igs_m027_state, init_mgcs3, ROT0, "IGS", "Man Guan Caishen 3 (V101CN)", MACHINE_IS_SKELETON )
|
||||||
@ -1548,7 +1550,6 @@ GAME( 1999, amazonia, 0, igs_mahjong, amazonia, igs_m027_state, init_ama
|
|||||||
GAME( 1999, amazonkp, amazonia, igs_mahjong, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King Plus (V204BR)", MACHINE_IS_SKELETON )
|
GAME( 1999, amazonkp, amazonia, igs_mahjong, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King Plus (V204BR)", MACHINE_IS_SKELETON )
|
||||||
GAME( 1999, oceanpar, 0, igs_mahjong, base, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V105US)", MACHINE_IS_SKELETON ) // 1999 copyright in ROM
|
GAME( 1999, oceanpar, 0, igs_mahjong, base, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V105US)", MACHINE_IS_SKELETON ) // 1999 copyright in ROM
|
||||||
GAME( 1999, oceanpara, oceanpar, igs_mahjong, base, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", MACHINE_IS_SKELETON ) // 1999 copyright in ROM
|
GAME( 1999, oceanpara, oceanpar, igs_mahjong, base, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", MACHINE_IS_SKELETON ) // 1999 copyright in ROM
|
||||||
GAME( 1999, lthy, 0, igs_mahjong, base, igs_m027_state, init_lthy, ROT0, "IGS", "Long Teng Hu Yue", MACHINE_IS_SKELETON )
|
|
||||||
GAME( 200?, luckycrs, 0, igs_mahjong, base, igs_m027_state, init_luckycrs, ROT0, "IGS", "Lucky Cross (V106SA)", MACHINE_IS_SKELETON )
|
GAME( 200?, luckycrs, 0, igs_mahjong, base, igs_m027_state, init_luckycrs, ROT0, "IGS", "Lucky Cross (V106SA)", MACHINE_IS_SKELETON )
|
||||||
GAME( 2005, olympic5, 0, igs_mahjong, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V112US)", MACHINE_IS_SKELETON ) // IGS FOR V112US 2005 02 14
|
GAME( 2005, olympic5, 0, igs_mahjong, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V112US)", MACHINE_IS_SKELETON ) // IGS FOR V112US 2005 02 14
|
||||||
GAME( 2003, olympic5a, olympic5, igs_mahjong, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V107US)", MACHINE_IS_SKELETON ) // IGS FOR V107US 2003 10 2
|
GAME( 2003, olympic5a, olympic5, igs_mahjong, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V107US)", MACHINE_IS_SKELETON ) // IGS FOR V107US 2003 10 2
|
||||||
@ -1559,7 +1560,7 @@ GAME( 200?, lhzb3, 0, igs_mahjong, base, igs_m027_state, init_lhz
|
|||||||
GAME( 2004, lhzb4, 0, igs_mahjong, base, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4", MACHINE_IS_SKELETON ) // 龙虎争霸4
|
GAME( 2004, lhzb4, 0, igs_mahjong, base, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4", MACHINE_IS_SKELETON ) // 龙虎争霸4
|
||||||
GAME( 200?, klxyj, 0, igs_mahjong, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_IS_SKELETON )
|
GAME( 200?, klxyj, 0, igs_mahjong, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_IS_SKELETON )
|
||||||
GAME( 2000, mgfx, 0, igs_mahjong, base, igs_m027_state, init_mgfx, ROT0, "IGS", "Man Guan Fu Xing", MACHINE_IS_SKELETON )
|
GAME( 2000, mgfx, 0, igs_mahjong, base, igs_m027_state, init_mgfx, ROT0, "IGS", "Man Guan Fu Xing", MACHINE_IS_SKELETON )
|
||||||
GAME( 200?, gonefsh2, 0, igs_mahjong, base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_IS_SKELETON )
|
|
||||||
GAME( 2000, zhongguo, 0, igs_mahjong, base, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhong Guo Chu Da D", MACHINE_IS_SKELETON )
|
|
||||||
GAME( 2002, chessc2, 0, igs_mahjong, base, igs_m027_state, init_chessc2, ROT0, "IGS", "Chess Challenge II", MACHINE_IS_SKELETON )
|
|
||||||
GAME( 200?, extradrw, 0, igs_mahjong, base, igs_m027_state, init_qlgs, ROT0, "IGS", "Extra Draw", MACHINE_IS_SKELETON )
|
GAME( 200?, extradrw, 0, igs_mahjong, base, igs_m027_state, init_qlgs, ROT0, "IGS", "Extra Draw", MACHINE_IS_SKELETON )
|
||||||
|
// these have an IGS025 protection device instead of the 8255
|
||||||
|
GAME( 200?, gonefsh2, 0, igs_mahjong, base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_IS_SKELETON )
|
||||||
|
GAME( 2002, chessc2, 0, igs_mahjong, base, igs_m027_state, init_chessc2, ROT0, "IGS", "Chess Challenge II", MACHINE_IS_SKELETON )
|
||||||
|
@ -180,7 +180,7 @@ void extension_state::video_start()
|
|||||||
void host_state::host_map(address_map &map)
|
void host_state::host_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x00000000, 0x00003fff).rom(); // Internal ROM
|
map(0x00000000, 0x00003fff).rom(); // Internal ROM
|
||||||
map(0x08000000, 0x0800ffff).rom().region("user1", 0); // Game ROM
|
map(0x08000000, 0x0800ffff).rom().region("user1", 0); // Game ROM (does it really map here? it appears to be connected indirectly via the 025)
|
||||||
}
|
}
|
||||||
|
|
||||||
void extension_state::extension_map(address_map &map)
|
void extension_state::extension_map(address_map &map)
|
||||||
@ -304,7 +304,7 @@ void extension_state::extension(machine_config &config)
|
|||||||
ROM_START( mgcsh )
|
ROM_START( mgcsh )
|
||||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||||
// Internal ROM of IGS027A type G ARM based MCU
|
// Internal ROM of IGS027A type G ARM based MCU
|
||||||
ROM_LOAD( "y7_027a.bin", 0x00000, 0x4000, NO_DUMP )
|
ROM_LOAD( "y7_027a.bin", 0x00000, 0x4000, CRC(3e726eeb) SHA1(41b4e5f8a9d35b82b1a62029b34c1e19e188a3bc) )
|
||||||
|
|
||||||
ROM_REGION32_LE( 0x10000, "user1", 0 ) // external ARM data / prg
|
ROM_REGION32_LE( 0x10000, "user1", 0 ) // external ARM data / prg
|
||||||
ROM_LOAD( "v206cmmbox.u13", 0x00000, 0x10000, CRC(2bfdeeeb) SHA1(c92f8994f75e0eefb4dbf25daa0d62ad72a7ddfa) )
|
ROM_LOAD( "v206cmmbox.u13", 0x00000, 0x10000, CRC(2bfdeeeb) SHA1(c92f8994f75e0eefb4dbf25daa0d62ad72a7ddfa) )
|
||||||
@ -313,7 +313,7 @@ ROM_END
|
|||||||
ROM_START( cjslh )
|
ROM_START( cjslh )
|
||||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||||
// Internal ROM of IGS027A type G ARM based MCU
|
// Internal ROM of IGS027A type G ARM based MCU
|
||||||
ROM_LOAD( "s2_027a.bin", 0x00000, 0x4000, NO_DUMP )
|
ROM_LOAD( "s2_027a.bin", 0x00000, 0x4000, CRC(6be397fd) SHA1(ccd2469995a0b90800e891c39f4b3eaa033783ec) )
|
||||||
|
|
||||||
ROM_REGION32_LE( 0x10000, "user1", 0 ) // external ARM data / prg
|
ROM_REGION32_LE( 0x10000, "user1", 0 ) // external ARM data / prg
|
||||||
ROM_LOAD( "v-106csm.u13", 0x00000, 0x10000, CRC(5b3f3446) SHA1(1d5b9523ac7f221eb7cc2e5db90cc859c640cc18) )
|
ROM_LOAD( "v-106csm.u13", 0x00000, 0x10000, CRC(5b3f3446) SHA1(1d5b9523ac7f221eb7cc2e5db90cc859c640cc18) )
|
||||||
|
Loading…
Reference in New Issue
Block a user