mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
New systems marked not working
------------------------------ Chaoji Dou Dizhu Liang Fu Pai [dyq, little0, Guru] New working clones ------------------ Chaoji Damanguan II (China, V754C, set 2) [dyq, little0, Guru] New clones marked not working ----------------------------- Chaoji Dou Dizhu (V219CN) [dyq, little0, Guru] Chaoji Dou Dizhu (V217CN) [dyq, little0, Guru] Long Hu Zhengba III (unknown version, set 1) [dyq, little0, Guru] Long Hu Zhengba III (unknown version, set 2) [dyq, little0, Guru] Long Hu Zhengba 4 (V203CN) [dyq, little0, Guru] - igs/igs_m027.cpp: renamed Long Teng Hu Yue to Long Teng Hu Yue Duizhan Jiaqiang Ban, as per title screen [dyq]
This commit is contained in:
parent
7bbf56ec82
commit
764f17e453
@ -671,6 +671,7 @@ public:
|
||||
void init_mgdh();
|
||||
void init_mgdha();
|
||||
void init_sdmg2();
|
||||
void init_sdmg2a();
|
||||
void init_sdmg2p();
|
||||
void init_slqz2();
|
||||
void init_spkrform();
|
||||
@ -1461,6 +1462,57 @@ void igs017_state::init_sdmg2()
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void igs017_state::init_sdmg2a()
|
||||
{
|
||||
const int rom_size = memregion("maincpu")->bytes();
|
||||
u16 * const rom = (u16 *)memregion("maincpu")->base();
|
||||
|
||||
for (int i = 0; i < rom_size / 2; i++)
|
||||
{
|
||||
u16 x = rom[i];
|
||||
|
||||
// bit 0 xor layer
|
||||
|
||||
if (i & 0x20/2)
|
||||
{
|
||||
if (i & 0x02/2)
|
||||
{
|
||||
x ^= 0x0001;
|
||||
}
|
||||
}
|
||||
|
||||
if (!(i & 0x4000/2))
|
||||
{
|
||||
if (!(i & 0x300/2))
|
||||
{
|
||||
x ^= 0x0001;
|
||||
}
|
||||
}
|
||||
|
||||
// bit 9 xor layer
|
||||
if (i & 0x20000/2)
|
||||
{
|
||||
x ^= 0x0200;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(i & 0x200/2))
|
||||
{
|
||||
x ^= 0x0200;
|
||||
}
|
||||
}
|
||||
|
||||
// bit 12 xor layer
|
||||
if (i & 0x20000/2)
|
||||
{
|
||||
x ^= 0x1000;
|
||||
}
|
||||
|
||||
rom[i] = x;
|
||||
}
|
||||
}
|
||||
|
||||
// sdmg2p
|
||||
|
||||
void igs017_state::init_sdmg2p()
|
||||
@ -5387,6 +5439,21 @@ ROM_START( sdmg2 )
|
||||
ROM_LOAD( "s0903.u15", 0x00000, 0x80000, CRC(ae5a441c) SHA1(923774ef73ab0f70e0db1738a4292dcbd70d2384) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sdmg2a ) // supposedly earlier / easier, but reports same version as the other set
|
||||
ROM_REGION( 0x80000, "maincpu", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "p0900.u25", 0x00000, 0x80000,CRC(1afc95d8) SHA1(924e198437359beec2abe6ee42a985f63d70b7e3) ) // SLDH
|
||||
|
||||
ROM_REGION( 0x280000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "m0901.u5", 0x000000, 0x200000, CRC(9699db24) SHA1(50fc2f173c20b48d10595f01f1e9545f1b13a61b) ) // FIXED BITS (xxxxxxxx0xxxxxxx)
|
||||
ROM_LOAD( "m0902.u4", 0x200000, 0x080000, CRC(3298b13b) SHA1(13b21ddeed368b7f4fea1408c8fc511244342faf) ) // FIXED BITS (xxxxxxxx0xxxxxxx)
|
||||
|
||||
ROM_REGION( 0x20000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD( "text.u6", 0x000000, 0x020000, CRC(cb34cbc0) SHA1(ceedbdda085fd1acc9a575502bdf7cf998f54f05) )
|
||||
|
||||
ROM_REGION( 0x80000, "oki", 0 )
|
||||
ROM_LOAD( "s0903.u15", 0x00000, 0x80000, CRC(ae5a441c) SHA1(923774ef73ab0f70e0db1738a4292dcbd70d2384) )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Maque Wangchao / Chaoji Damanguan 2 - Jiaqiang Ban
|
||||
@ -6094,7 +6161,8 @@ GAME ( 1996, iqblocka, iqblock, iqblocka, iqblocka, igs017_state, init_iqb
|
||||
GAME ( 1997, iqblockf, iqblock, iqblockf, iqblockf, igs017_state, init_iqblocka, ROT0, "IGS", "IQ Block (V113FR, gambling)", 0 )
|
||||
GAME ( 1997, mgdh, 0, mgdh, mgdh, igs017_state, init_mgdh, ROT0, "IGS", "Manguan Daheng (Taiwan, V125T1)", MACHINE_IMPERFECT_COLORS | MACHINE_UNEMULATED_PROTECTION) // 滿貫大亨, wrong colors in betting screen, game id check (patched out)
|
||||
GAME ( 1997, mgdha, mgdh, mgdha, mgdh, igs017_state, init_mgdha, ROT0, "IGS", "Manguan Daheng (Taiwan, V123T1)", 0 ) // 滿貫大亨
|
||||
GAME ( 1997, sdmg2, 0, sdmg2, sdmg2, igs017_state, init_sdmg2, ROT0, "IGS", "Chaoji Damanguan II (China, V754C)", 0 ) // 超級大滿貫II
|
||||
GAME ( 1997, sdmg2, 0, sdmg2, sdmg2, igs017_state, init_sdmg2, ROT0, "IGS", "Chaoji Damanguan II (China, V754C, set 1)", 0 ) // 超級大滿貫II
|
||||
GAME ( 1997, sdmg2a, sdmg2, sdmg2, sdmg2, igs017_state, init_sdmg2a, ROT0, "IGS", "Chaoji Damanguan II (China, V754C, set 2)", 0 ) // 超級大滿貫II
|
||||
GAME ( 1997, tjsb, 0, tjsb, tjsb, igs017_state, init_tjsb, ROT0, "IGS", "Tian Jiang Shen Bing (China, V137C)", MACHINE_UNEMULATED_PROTECTION ) // 天將神兵, fails the bonus round protection check (if enabled via DSW), see e.g. demo mode
|
||||
GAME ( 1998, genius6, 0, genius6, genius6, igs017_state, init_iqblocka, ROT0, "IGS", "Genius 6 (V110F)", 0 ) // shows Chinese text in puzzle game
|
||||
GAME ( 1997, genius6a, genius6, genius6, genius6, igs017_state, init_iqblocka, ROT0, "IGS", "Genius 6 (V133F)", 0 ) // clone because it has older copyright year
|
||||
|
@ -7,14 +7,14 @@
|
||||
These games use the IGS027A processor. This is an ARM7 with internal
|
||||
ROM (also used on later PGM games).
|
||||
|
||||
In some cases the first part of the Internal ROM is execute only, and
|
||||
In some cases the first part of the internal ROM is execute only, and
|
||||
cannot be read out with a trojan. It hasn't been confirmed if these
|
||||
games make use of that feature.
|
||||
|
||||
To emulate these games the Internal ROM will need dumping
|
||||
To emulate these games the internal ROM will need dumping.
|
||||
There are at least 20 other games on this and similar platforms.
|
||||
|
||||
Hold service on boot to access input test and sond test when
|
||||
Hold service on boot to access input test and sound test when
|
||||
implemented.
|
||||
|
||||
Some DIP switch settings stick in non-volatile RAM (e.g. link settings
|
||||
@ -24,6 +24,10 @@
|
||||
TODO:
|
||||
* I/O for remaining games
|
||||
* Coin lockout (zhongguo displays a coin error on unexpected coins)
|
||||
* Verify I/O hasn't changed between versions of cjddz (current based on V215CN)
|
||||
* Verify I/O hasn't changed between versions of lhzb3 (current based on V400CN).
|
||||
(once the other versions work)
|
||||
* Verify I/O hasn't changed between versions of lhzb4 (current based on V104CN)
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -89,7 +93,7 @@ public:
|
||||
void lhdmg(machine_config &config) ATTR_COLD;
|
||||
void cjddz(machine_config &config) ATTR_COLD;
|
||||
void lhzb4(machine_config &config) ATTR_COLD;
|
||||
void lthy(machine_config &config) ATTR_COLD;
|
||||
void lthyp(machine_config &config) ATTR_COLD;
|
||||
void zhongguo(machine_config &config) ATTR_COLD;
|
||||
void mgzz(machine_config &config) ATTR_COLD;
|
||||
void oceanpar(machine_config &config) ATTR_COLD;
|
||||
@ -114,7 +118,7 @@ public:
|
||||
void init_mgcs3() ATTR_COLD;
|
||||
void init_jking02() ATTR_COLD;
|
||||
void init_lhdmg() ATTR_COLD;
|
||||
void init_lthy() ATTR_COLD;
|
||||
void init_lthyp() ATTR_COLD;
|
||||
void init_luckycrs() ATTR_COLD;
|
||||
void init_olympic5() ATTR_COLD;
|
||||
void init_tripslot() ATTR_COLD;
|
||||
@ -818,7 +822,14 @@ INPUT_PORTS_START( lhzb4 )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( lthy )
|
||||
INPUT_PORTS_START( lhzb4_todo )
|
||||
PORT_INCLUDE(lhzb4)
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( lthyp )
|
||||
PORT_INCLUDE(mahjong_kbd_joy)
|
||||
|
||||
PORT_MODIFY("TEST")
|
||||
@ -1144,6 +1155,17 @@ INPUT_PORTS_START( cjddz )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( cjddz_todo )
|
||||
PORT_INCLUDE(cjddz)
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:3" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:4" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( cjddzp )
|
||||
PORT_INCLUDE(igs_mahjong_matrix)
|
||||
|
||||
@ -1844,7 +1866,7 @@ void igs_m027_state::lhzb4(machine_config &config)
|
||||
m_oki->set_clock(2'000'000);
|
||||
}
|
||||
|
||||
void igs_m027_state::lthy(machine_config &config)
|
||||
void igs_m027_state::lthyp(machine_config &config)
|
||||
{
|
||||
m027_1ppi<true>(config);
|
||||
|
||||
@ -1859,7 +1881,7 @@ void igs_m027_state::lthy(machine_config &config)
|
||||
|
||||
void igs_m027_state::zhongguo(machine_config &config)
|
||||
{
|
||||
lthy(config);
|
||||
lthyp(config);
|
||||
|
||||
HOPPER(config, m_hopper, attotime::from_msec(50));
|
||||
}
|
||||
@ -2353,6 +2375,47 @@ ROM_START( lhzb3 )
|
||||
ROM_LOAD( "s2402.u14", 0x00000, 0x100000, CRC(56083fe2) SHA1(62afd651809bf5e639bfda6e5579dbf4b903b664) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lhzb3unk )
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A type G ARM based MCU
|
||||
// stickered u10. Doesn't seem to be compatible with the lhzb3 dump. Needs trojan.
|
||||
ROM_LOAD( "u10_027a.bin", 0x00000, 0x4000, NO_DUMP )
|
||||
|
||||
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "106c5n.u27", 0x000000, 0x200000, CRC(86031487) SHA1(d7bfe102ef4248e692d653edd479392ed7e20c28) ) // 11xxxxxxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION( 0x080000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD( "igs_m2403.u17", 0x000000, 0x080000, CRC(a82398a9) SHA1(4d2987f57096b7f24ce6571ed3be6dcb33bce88d) )
|
||||
|
||||
ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "igs_m2401.u29", 0x000000, 0x400000, CRC(81428f18) SHA1(9fb19c8a79cc3443642f4b044e04735df2cb45be) ) // FIXED BITS (xxxxxxxx0xxxxxxx)
|
||||
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "igs_s2402.u26", 0x000000, 0x200000, CRC(84bc2f3e) SHA1(49dcf5eaa39accd5c6bf01782fd4221298cb43ed) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
ROM_END
|
||||
|
||||
// This board is a bit different to the others. Main osc is 22.1184MHz
|
||||
// Everything is the same except no IGS027A. Instead there is a QFP128 chip in the place where the 027A would be.
|
||||
// It's clear this is a 027A replacement. The PCB still has the silk-screening for the pin numbers on the 027A but no QFP pads for it.
|
||||
// Only the QFP128 chip is there. With external program ROM removed and powered on, it only shows garbage.
|
||||
ROM_START( lhzb3unk2 ) // sent as Long Hu Zheng Ba 3 Upgrade Version
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A sub (if there is one)
|
||||
ROM_LOAD( "lhzb3unk2_igs027a", 0x00000, 0x4000, NO_DUMP )
|
||||
|
||||
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "igs_p2401.u10", 0x000000, 0x80000, CRC(47d26b39) SHA1(85016799ee9cd2ccb905262a9ec7f0dee0d6537e) ) // 11xxxxxxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION( 0x080000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD( "igs_m2403.u9", 0x000000, 0x080000, CRC(a82398a9) SHA1(4d2987f57096b7f24ce6571ed3be6dcb33bce88d) )
|
||||
|
||||
ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "igs_m2404.u18", 0x000000, 0x400000, CRC(2379cdf3) SHA1(6f73dcb9c48e7bf02d67e6580c3ff86be3d9133c) ) // FIXED BITS (xxxxxxxx0xxxxxxx)
|
||||
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "igs_s2402.u26", 0x000000, 0x200000, CRC(84bc2f3e) SHA1(49dcf5eaa39accd5c6bf01782fd4221298cb43ed) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
ROM_END
|
||||
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
@ -2398,7 +2461,7 @@ Notes:
|
||||
|
||||
*********************************************************************************/
|
||||
|
||||
ROM_START( lhdmg ) // appears to be a different edition of lhzb3 and lthy (GFX and sound ROM match)
|
||||
ROM_START( lhdmg ) // appears to be a different edition of lhzb3 and lthyp (GFX and sound ROM match)
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A type G ARM based MCU
|
||||
ROM_LOAD( "b6_igs027a", 0x00000, 0x4000, CRC(75645f8c) SHA1(738fba64a906f4f10e78e332ad30b8da9dc86b21) )
|
||||
@ -2416,7 +2479,7 @@ ROM_START( lhdmg ) // appears to be a different edition of lhzb3 and lthy (GFX a
|
||||
ROM_LOAD( "s2402.u14", 0x000000, 0x100000, CRC(56083fe2) SHA1(62afd651809bf5e639bfda6e5579dbf4b903b664) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lhdmgp ) // appears to be a different edition of lhzb3 and lthy (GFX and sound ROM match)
|
||||
ROM_START( lhdmgp ) // appears to be a different edition of lhzb3 and lthyp (GFX and sound ROM match)
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A type G ARM based MCU
|
||||
ROM_LOAD( "b4_igs027a", 0x00000, 0x4000, CRC(6fd48959) SHA1(75cb6fc6ea3c36805d1a61536e2f2476942c0c49) )
|
||||
@ -2577,7 +2640,7 @@ Notes:
|
||||
|
||||
*********************************************************************************/
|
||||
|
||||
ROM_START( lthy ) // appears to be a different edition of lhzb3 (GFX and sound ROM match)
|
||||
ROM_START( lthyp ) // appears to be a different edition of lhzb3 (GFX and sound ROM match)
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A type G ARM based MCU
|
||||
ROM_LOAD( "d6_igs027a", 0x00000, 0x4000, CRC(b29ee32b) SHA1(aa5f1f8ed8d61dd328c4c28a7bba700935526d26) )
|
||||
@ -2765,10 +2828,52 @@ ROM_END
|
||||
// samples at u4 (or u5?)
|
||||
|
||||
// 超级斗地主 (Chāojí Dòu Dìzhǔ)
|
||||
ROM_START( cjddz )
|
||||
ROM_START( cjddz ) // PCB-0489-05-FM-1
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "cjddz_igs027a", 0x00000, 0x4000, CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) ) // unknown sticker
|
||||
// stickered B6 but doesn't work with other B6 dumps. Using the dump for cjddz215cn which works, waiting for trojan
|
||||
ROM_LOAD( "cjddz_igs027a", 0x00000, 0x4000, BAD_DUMP CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "p1.u17", 0x000000, 0x80000, CRC(81bc6ff6) SHA1(ca07b9becf6dd8724be339d8eee29c908dc10422) )
|
||||
|
||||
ROM_REGION( 0x80000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "m3.u27", 0x000000, 0x80000, CRC(520dc392) SHA1(0ab2620f20af8253806b6ff4e1d9d77a694da17c) )
|
||||
|
||||
ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "m4.u28", 0x000000, 0x400000, CRC(72487508) SHA1(9f4bbc858960ddaae403e4a3330b2345f6fd6cb3))
|
||||
|
||||
// OKI, sample tables are every 0x20000 starting at 0x40000
|
||||
// 00000-1ffff and 20000-3ffff are likely music, always mapped at 20000 for any of the above banks
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "s2.u5", 0x000000, 0x200000, CRC(64fbba95) SHA1(1aecb1b8426939262688e4dbed09d6a56e71b8d5) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cjddz217cn ) // PCB-0489-05-FM-1
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
// stickered s12. Using the dump for cjddz215cn which works, waiting for trojan
|
||||
ROM_LOAD( "cjddz217cn_igs027a", 0x00000, 0x4000, BAD_DUMP CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) )
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "v-217cn.u17", 0x000000, 0x80000, CRC(42df949c) SHA1(262237d8219d41b04a99156289858fc63f9614dd) )
|
||||
|
||||
ROM_REGION( 0x80000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "text.u27", 0x000000, 0x80000, CRC(520dc392) SHA1(0ab2620f20af8253806b6ff4e1d9d77a694da17c) )
|
||||
|
||||
ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "igs_w05005w32m_f9ce_1d10.u28", 0x000000, 0x400000, CRC(72487508) SHA1(9f4bbc858960ddaae403e4a3330b2345f6fd6cb3))
|
||||
|
||||
// OKI, sample tables are every 0x20000 starting at 0x40000
|
||||
// 00000-1ffff and 20000-3ffff are likely music, always mapped at 20000 for any of the above banks
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "igs_w05004b16m_8fa9_427d.u5", 0x000000, 0x200000, CRC(64fbba95) SHA1(1aecb1b8426939262688e4dbed09d6a56e71b8d5) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cjddz215cn )
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "cjddz215cn_igs027a", 0x00000, 0x4000, CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) ) // unknown sticker
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "ddz_218cn.u17", 0x000000, 0x80000, CRC(3cfe38d5) SHA1(9c7f82ecffbc22879583519d5f753bb35e973ee3) )
|
||||
@ -2789,7 +2894,7 @@ ROM_END
|
||||
ROM_START( cjddzp )
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "sddzp_027a.rom", 0x00000, 0x4000, CRC(6cf26c3d) SHA1(c74d4ff71ff07c38449242e7e067e956a5c441be) ) // E10
|
||||
ROM_LOAD( "e10_igs027a.rom", 0x00000, 0x4000, CRC(6cf26c3d) SHA1(c74d4ff71ff07c38449242e7e067e956a5c441be) ) // E10
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "cjddzp_s300cn.u17", 0x000000, 0x80000, CRC(5c1501ee) SHA1(701ba1cd1c4487846159c444bc58204348c1f590) )
|
||||
@ -2805,8 +2910,49 @@ ROM_START( cjddzp )
|
||||
ROM_LOAD( "cjddzp_sp-1.u4", 0x00000, 0x200000, CRC(7ef65d95) SHA1(345c587cd449d6d06908e9687480be76b2cb2d28) )
|
||||
ROM_END
|
||||
|
||||
// Chaoji Dou Dizhu Liang Fu Pai
|
||||
ROM_START( cjddzlf )
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "cjddz215cn_igs027a", 0x00000, 0x4000, CRC(124f4bee) SHA1(bf9785516ef36290c2a7bac307bb2d849f2045ae) ) // unknown sticker
|
||||
|
||||
ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "igs_l2405.u17", 0x000000, 0x80000, CRC(ec310408) SHA1(acf7998017b86fff8b515f239459fff0c1eb43b6) )
|
||||
|
||||
ROM_REGION( 0x80000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "igs_m2401.u27", 0x000000, 0x80000, CRC(670aa9f3) SHA1(20cf2210ce4616d82712fcc71b2e950986279b58) )
|
||||
|
||||
ROM_REGION( 0x800000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "igs_s2402.u28", 0x000000, 0x400000, CRC(78d9c5a4) SHA1(1943b0f3b639c1b974a26e29ccc5edd61499f6f9) ) // FIXED BITS (xxxxxxx0xxxxxxxx)
|
||||
ROM_LOAD( "igs_m2403.u29", 0x400000, 0x400000, CRC(a6d09c16) SHA1(c900c79d755e897b343d5b607d8395fb68158867) ) // FIXED BITS (xxxxxxxx0xxxxxxx)
|
||||
|
||||
// OKI, sample tables are every 0x20000 starting at 0x140000
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "igs_l2404.u5", 0x00000, 0x200000, CRC(55f6dfac) SHA1(876bec8db5aa3dfd10869ecdcd98bccb2ef860ef) )
|
||||
ROM_END
|
||||
|
||||
// 龙虎争霸4 (Lóng Hǔ Zhēngbà 4)
|
||||
ROM_START( lhzb4 )
|
||||
ROM_START( lhzb4 ) // was sent as 'Flower Version'. Only 2 DIP banks are populated.
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
// stickered F12. Using the dump for lhzb4104cn which works, waiting for trojan
|
||||
ROM_LOAD( "f12_igs027a", 0x00000, 0x4000, CRC(de12c918) SHA1(87c1cf92a95565d78c6fe7629c19729f5fb5c2a5) ) // F12
|
||||
|
||||
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
|
||||
ROM_LOAD( "v-203cn.u46", 0x000000, 0x200000, CRC(96d0cb19) SHA1(e5a450a9767327f5ceb0611400fe40b3582c0e8d) )
|
||||
|
||||
ROM_REGION( 0x200000, "igs017_igs031:tilemaps", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "text_u26.u26", 0x000000, 0x200000, CRC(39d10d8f) SHA1(2c4869ee0cf142a7eb34378bbdfbb6eb58ebc954) )
|
||||
|
||||
ROM_REGION( 0x400000, "igs017_igs031:sprites", 0 )
|
||||
ROM_LOAD( "igs_a05501w032_d07e_01e0.u28", 0x000000, 0x400000, CRC(f78b3714) SHA1(c73d8e50b04126bc4f91783384713624ed133ee2) )
|
||||
|
||||
// OKI, sample tables are every 0x20000 starting at 0x140000
|
||||
ROM_REGION( 0x200000, "oki", 0 )
|
||||
ROM_LOAD( "igs_w05502b016_45d1_756d.u5", 0x00000, 0x200000, CRC(467f677e) SHA1(63927c0d606176c0e22db89ea3a9777ed702abbd) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lhzb4104cn )
|
||||
ROM_REGION( 0x04000, "maincpu", 0 )
|
||||
// Internal ROM of IGS027A ARM based MCU
|
||||
ROM_LOAD( "lhzb4_igs027a", 0x00000, 0x4000, CRC(de12c918) SHA1(87c1cf92a95565d78c6fe7629c19729f5fb5c2a5) ) // unknown sticker
|
||||
@ -3023,9 +3169,9 @@ void igs_m027_state::init_jking02()
|
||||
// the sprite ROM at 0x400000 doesn't require decryption
|
||||
}
|
||||
|
||||
void igs_m027_state::init_lthy()
|
||||
void igs_m027_state::init_lthyp()
|
||||
{
|
||||
lthy_decrypt(machine());
|
||||
lthyp_decrypt(machine());
|
||||
m_igs017_igs031->set_text_reverse_bits(false);
|
||||
}
|
||||
|
||||
@ -3090,8 +3236,9 @@ GAME( 1999, qlgs, 0, qlgs, qlgs, igs_m027_stat
|
||||
GAME( 1999, lhdmg, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan (V102C3M)", 0 )
|
||||
GAME( 1999, lhdmgp, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan Duizhan Jiaqiang Ban (V400C3M)", 0 )
|
||||
GAME( 1999, lhzb3, 0, lhdmg, lhzb3, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Zhengba III (V400CN)", 0 )
|
||||
GAME( 2004, lhzb4, 0, lhzb4, lhzb4, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4 (V104CN)", 0 )
|
||||
GAME( 1999, lthy, 0, lthy, lthy, igs_m027_state, init_lthy, ROT0, "IGS", "Long Teng Hu Yue (S104CN)", MACHINE_NODEVICE_LAN )
|
||||
GAME( 2004, lhzb4, 0, lhzb4, lhzb4_todo, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4 (V203CN)", MACHINE_NOT_WORKING ) // needs I/O verifying
|
||||
GAME( 2004, lhzb4104cn, lhzb4, lhzb4, lhzb4, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4 (V104CN)", 0 )
|
||||
GAME( 1999, lthyp, 0, lthyp, lthyp, igs_m027_state, init_lthyp, ROT0, "IGS", "Long Teng Hu Yue Duizhan Jiaqiang Ban (S104CN)", MACHINE_NODEVICE_LAN )
|
||||
GAME( 2000, zhongguo, 0, zhongguo, zhongguo, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhongguo Chu Da D (V102C)", 0 )
|
||||
GAMEL( 200?, jking02, 0, jking02, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_NODEVICE_LAN, layout_jking02 ) // shows V212US in bookkeeping menu
|
||||
GAME( 2003, mgzz, 0, mgzz, mgzz101cn, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V101CN)", 0 )
|
||||
@ -3101,7 +3248,9 @@ GAMEL( 1999, oceanpar, 0, oceanpar, oceanpar105us, igs_m027_stat
|
||||
GAMEL( 1999, oceanpar101us, oceanpar, oceanpar, oceanpar101us, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", 0, layout_oceanpar ) // 1999 copyright in ROM
|
||||
GAMEL( 1999, fruitpar, 0, oceanpar, oceanpar105us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214US)", 0, layout_oceanpar )
|
||||
GAMEL( 1999, fruitpar206us, fruitpar, oceanpar, fruitpar206us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V206US)", 0, layout_oceanpar )
|
||||
GAME( 200?, cjddz, 0, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V215CN)", 0 )
|
||||
GAME( 200?, cjddz, 0, cjddz, cjddz_todo, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V219CN)", MACHINE_NOT_WORKING ) // needs I/O verifying
|
||||
GAME( 200?, cjddz217cn, cjddz, cjddz, cjddz_todo, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V217CN)", MACHINE_NOT_WORKING ) // needs I/O verifying
|
||||
GAME( 200?, cjddz215cn, cjddz, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu (V215CN)", 0 )
|
||||
GAME( 200?, cjddzp, 0, cjddz, cjddzp, igs_m027_state, init_cjddzp, ROT0, "IGS", "Chaoji Dou Dizhu Jiaqiang Ban (S300CN)", MACHINE_NODEVICE_LAN )
|
||||
GAMEL( 2007, tripslot, 0, tripslot, tripslot, igs_m027_state, init_tripslot, ROT0, "IGS", "Triple Slot (V200VE)", 0, layout_tripslot ) // 2007 date in internal ROM at least, could be later, default settings password is all 'start 1'
|
||||
// this has a 2nd 8255
|
||||
@ -3118,5 +3267,8 @@ GAME( 200?, luckycrs, 0, m027_1ppi<false>, base, igs_m027_state
|
||||
GAME( 2003, amazoni2, 0, m027_1ppi<false>, base, igs_m027_state, init_amazoni2, ROT0, "IGS", "Amazonia King II (V202BR)", MACHINE_NOT_WORKING )
|
||||
GAME( 2002, sdwx, 0, m027_1ppi<false>, base, igs_m027_state, init_sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", MACHINE_NOT_WORKING ) // aka Christmas 5 Line? (or Amazonia King II, shares roms at least?)
|
||||
GAME( 200?, klxyj, 0, m027_1ppi<false>, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_NOT_WORKING )
|
||||
GAME( 1999, lhzb3unk, lhzb3, m027_1ppi<false>, base, igs_m027_state, empty_init, ROT0, "IGS", "Long Hu Zhengba III (unknown version, set 1)", MACHINE_NOT_WORKING )
|
||||
GAME( 1999, lhzb3unk2, lhzb3, m027_1ppi<false>, base, igs_m027_state, empty_init, ROT0, "IGS", "Long Hu Zhengba III (unknown version, set 2)", MACHINE_NOT_WORKING )
|
||||
GAME( 200?, cjddzlf, 0, m027_1ppi<false>, base, igs_m027_state, empty_init, ROT0, "IGS", "Chaoji Dou Dizhu Liang Fu Pai", MACHINE_NOT_WORKING )
|
||||
// these have an IGS025 protection device instead of the 8255
|
||||
GAME( 200?, gonefsh2, 0, m027_noppi<false>,base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_NOT_WORKING )
|
||||
|
@ -1802,7 +1802,7 @@ void wldfruit_decrypt(running_machine &machine)
|
||||
|
||||
|
||||
// IGS MAHJONG CHINA S104CN
|
||||
void lthy_decrypt(running_machine &machine)
|
||||
void lthyp_decrypt(running_machine &machine)
|
||||
{
|
||||
memory_region *const region = machine.root_device().memregion("user1");
|
||||
auto const src = util::little_endian_cast<u16>(reinterpret_cast<u32 *>(region->base()));
|
||||
|
@ -56,7 +56,7 @@ void olympic5_decrypt(running_machine &machine);
|
||||
void icescape_decrypt(running_machine &machine);
|
||||
void tripfev_decrypt(running_machine &machine);
|
||||
void wldfruit_decrypt(running_machine &machine);
|
||||
void lthy_decrypt(running_machine &machine);
|
||||
void lthyp_decrypt(running_machine &machine);
|
||||
void lhdmg_decrypt(running_machine &machine);
|
||||
void tripslot_decrypt(running_machine &machine);
|
||||
void extradrw_decrypt(running_machine &machine);
|
||||
|
@ -20302,6 +20302,7 @@ mgcsa // (c) 1998
|
||||
mgdh // (c) 1997
|
||||
mgdha // (c) 1997
|
||||
sdmg2 // (c) 1997
|
||||
sdmg2a // (c) 1997
|
||||
sdmg2p // (c) 2000
|
||||
slqz2 // (c) 1998
|
||||
slqz2a // (c) 1998
|
||||
@ -20324,6 +20325,9 @@ amazonia // (c) 1999
|
||||
amazonkp // (c) 1999
|
||||
chessc2 // (c) 200?
|
||||
cjddz // (c) 200?
|
||||
cjddz215cn // (c) 200?
|
||||
cjddz217cn // (c) 200?
|
||||
cjddzlf // (c) 200?
|
||||
cjddzp // (c) 200?
|
||||
extradrw // (c) 200?
|
||||
fruitpar // (c) 1999
|
||||
@ -20334,8 +20338,11 @@ klxyj // (c) 200?
|
||||
lhdmg // (c) 1999
|
||||
lhdmgp // (c) 1999
|
||||
lhzb3 // (c) 200?
|
||||
lhzb3unk // (c) 200?
|
||||
lhzb3unk2 // (c) 200?
|
||||
lhzb4 // (c) 200?
|
||||
lthy // (c) 1999
|
||||
lhzb4104cn // (c) 200?
|
||||
lthyp // (c) 1999
|
||||
luckycrs // (c) 200?
|
||||
mgcs3 // (c) 200?
|
||||
mgzz // (c) 2003
|
||||
|
Loading…
Reference in New Issue
Block a user