gameboy: Added support for Li Cheng pirate mapper. [taizou, Fabio Priuli]

This commit is contained in:
Fabio Priuli 2014-06-25 15:03:02 +00:00
parent 5c17ad131e
commit eb461a5057
6 changed files with 273 additions and 23 deletions

View File

@ -23636,6 +23636,224 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
</part>
</software>
<!-- Li Cheng games -->
<!--
* CBA010 Shui Hu Shen Shou 水浒神兽
* CBA011 Shu Ma Bao Long 3 - Shui Jing Ban 数码暴龙-水晶版
* CBA033 Emo Cheng 2 - Fengyun Pian 恶魔城2-风云篇
* CBA060 Mingzhu Koudai Guaishou 2 明珠口袋怪兽2
* CBA064 Gangdan Wuyu 2 钢弹物语2
* CBA065 Mingzhu Koudai Guaishou 3 明珠口袋怪兽3
* CBA073 Shuihu Zhuan - Jingdian Ban 水浒传-经典版
* CBA075 Yingxiong Jian 2 英雄剑2
* CBA076 Xi You Ji 西游记
* CBA078 Shuma Baolong - Diannao Pian 数码暴龙-电脑篇
* CBA079 Yingxiong Tianxia 英雄天下
* CBA080 Sanguozhi Wudai 三国志五代
-->
<software name="shuihusslc" cloneof="shuihuss">
<description>Shui Hu Shen Shou (Chi, Li Cheng)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA010"/>
<info name="alt_title" value="水浒神兽"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="2097152">
<rom name="shuihu shenshou (unlicensed, chinese) (cba010) [raw dump].bin" size="2097152" crc="618080cd" sha1="93aaddc93941cf53978acd9a88e6525b61c7ea24" offset="0" />
</dataarea>
<dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="smbl3lc" cloneof="smbl3">
<description>Shu Ma Bao Long 3 - Shui Jing Ban (Chi, Li Cheng)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA011"/>
<info name="alt_title" value="数码暴龙-水晶版 (Box)"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="1048576">
<rom name="shuma baolong - shuijing ban (unlicensed, chinese) (cba011) [raw dump].bin" size="1048576" crc="ba03bd71" sha1="39d8ebe977cf139be398d87be735ea4f7e6885f7" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="emochen2">
<description>Emo Cheng 2 - Fengyun Pian (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA033"/>
<info name="alt_title" value="恶魔城2-风云篇"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="524288">
<rom name="emo cheng 2 - fengyun pian (unlicensed, chinese) (cba033) [raw dump].bin" size="524288" crc="a98eec81" sha1="6da2499578b3cd362a21594034278c3ab2b9b374" offset="0" />
</dataarea>
<dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<!-- AKA Digimon D-4 published by SKOB -->
<software name="mingzhu2">
<description>Ming Zhu Kou Dai Guai Shou II (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA060"/>
<info name="alt_title" value="明珠口袋怪兽2"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="2097152">
<rom name="mingzhu koudai guaishou 2 (unlicensed, chinese) (cba060) [raw dump].bin" size="2097152" crc="a477c7ce" sha1="0e1b3e60d4a982538d4645c36693d5fd548cb641" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="gangdanw">
<description>Gang Dan Wu Yu II (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA064"/>
<info name="alt_title" value="钢弹物语2"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="2097152">
<rom name="gangdan wuyu 2 (unlicensed, chinese) (cba064) [raw dump].bin" size="2097152" crc="09dee8cb" sha1="6753a7a34f057f952172dff5ef9e8961d3af6649" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="mingzhu3">
<description>Ming Zhu Kou Dai Guai Shou III ~ Digimon Fight ~ El Monstruo (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA065"/>
<info name="alt_title" value="明珠口袋怪兽3"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="4194304">
<rom name="mingzhu koudai guaishou 3 (unlicensed, multi3) (cba065) [raw dump].bin" size="4194304" crc="a477c7ce" sha1="0e1b3e60d4a982538d4645c36693d5fd548cb641" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="shuihujd">
<description>Shui Hu Zhuan - Jing Dian Ban (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA073"/>
<info name="alt_title" value="水浒传-经典版"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="1048576">
<rom name="shuihu zhuan - jingdian ban (unlicensed, chinese) (cba073) [raw dump].bin" size="1048576" crc="4a083b6e" sha1="c40a80ab26a2a5d884434c215e649dbfebf64fc3" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="yingxj2">
<description>Ying Xiong Jian 2 (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA075"/>
<info name="alt_title" value="英雄剑2"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="2097152">
<rom name="yingxiong jian 2 (unlicensed, chinese) (cba075) [raw dump].bin" size="2097152" crc="786eb7a4" sha1="3920e7d5a900981d6877ef99b5f3bed8a061c31f" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="xiyouji">
<description>Xi You Ji (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA076"/>
<info name="alt_title" value="西游记"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<dataarea name="rom" size="524288">
<rom name="xi you ji (unlicensed, chinese) (cba076) [raw dump].bin" size="524288" crc="f2fc4884" sha1="1f1bb35c47b8bd51edf9511513bb5e5e5e07eec1" offset="0" />
</dataarea>
</part>
</software>
<software name="smbldnp">
<description>Shu Ma Bao Long - Dian Nao Pian (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA078"/>
<info name="alt_title" value="数码暴龙-电脑篇"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="1048576">
<rom name="shuma baolong - diannao pian (unlicensed, chinese) (cba078) [raw dump].bin" size="1048576" crc="363808b4" sha1="bac6e8b313e87c06dd4838ebc5098e0ef6383925" offset="0" />
</dataarea>
<dataarea name="nvram" size="32768"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<software name="yxtx">
<description>Ying Xiong Tian Xia (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA079"/>
<info name="alt_title" value="英雄天下"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<dataarea name="rom" size="2097152">
<rom name="yingxiong tianxia (unlicensed, chinese) (cba079) [raw dump].bin" size="2097152" crc="5f2d6317" sha1="41f5f0c11e4e99b7d2d1433b09922a0fd2c48d7f" offset="0" />
</dataarea>
</part>
</software>
<software name="sanguowd">
<description>San Guo Zhi Wu Dai (Chi)</description>
<year>200?</year>
<publisher>Li Cheng</publisher>
<info name="serial" value="CBA080"/>
<info name="alt_title" value="三国志五代"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_licheng" />
<!-- cartridge ram -->
<dataarea name="rom" size="2097152">
<rom name="sanguozhi wudai (unlicensed, chinese) (cba080) [raw dump].bin" size="2097152" crc="de136996" sha1="8e476e9db9caceb52d048b28163227d987a09a21" offset="0" />
</dataarea>
<dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
<!-- Sintax games -->
<!--
* ST-0206002E Harry Boy Second Edition: The secretx of the chamber of secrets (english)
@ -24076,7 +24294,7 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
</part>
</software>
<software name="qtdsheng">
<software name="qtdsheng" cloneof="xiyouji">
<description>Qi Tian Da Sheng - Sun Wu Kong (Chi, Ripped from 8 in 1 multicart)</description>
<year>200?</year>
<publisher>&lt;unknown&gt;</publisher>

View File

@ -214,6 +214,7 @@ static const gb_slot slot_list[] =
{ GB_MBC_ATVRACIN, "rom_atvrac" },
{ GB_MBC_SINTAX, "rom_sintax" },
{ GB_MBC_CHONGWU, "rom_chong" },
{ GB_MBC_LICHENG, "rom_licheng" },
{ GB_MBC_DIGIMON, "rom_digimon" },
{ GB_MBC_ROCKMAN8, "rom_rock8" },
{ GB_MBC_SM3SP, "rom_sm3sp" },
@ -532,23 +533,24 @@ int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
}
// Check for some unlicensed games
if (type == GB_MBC_MBC5)
//if (type == GB_MBC_MBC5)
{
int count = 0;
for (int i = 0x0184; i < 0x0184 + 0x30; i++)
{
count += ROM[i];
}
if (count == 4876)
{
// printf("Niutoude!\n");
// type = GB_MBC_NIUTOUDE;
// printf("Li Cheng %d\n", count);
type = GB_MBC_LICHENG;
}
if (count == 4138 || count == 4125)
{
// Zhi Huan Wang uses 4138
// most sintax use 4125
printf("Sintax %d!\n", count);
// printf("Sintax %d!\n", count);
type = GB_MBC_SINTAX;
}
}

View File

@ -29,6 +29,7 @@ enum
GB_MBC_CAMERA,
GB_MBC_SINTAX,
GB_MBC_CHONGWU,
GB_MBC_LICHENG,
GB_MBC_DIGIMON,
GB_MBC_ROCKMAN8,
GB_MBC_SM3SP,

View File

@ -26,6 +26,7 @@ const device_type GB_ROM_MBC7 = &device_creator<gb_rom_mbc7_device>;
const device_type GB_ROM_MMM01 = &device_creator<gb_rom_mmm01_device>;
const device_type GB_ROM_SINTAX = &device_creator<gb_rom_sintax_device>;
const device_type GB_ROM_CHONGWU = &device_creator<gb_rom_chongwu_device>;
const device_type GB_ROM_LICHENG = &device_creator<gb_rom_licheng_device>;
const device_type GB_ROM_DIGIMON = &device_creator<gb_rom_digimon_device>;
const device_type GB_ROM_ROCKMAN8 = &device_creator<gb_rom_rockman8_device>;
const device_type GB_ROM_SM3SP = &device_creator<gb_rom_sm3sp_device>;
@ -92,6 +93,11 @@ gb_rom_chongwu_device::gb_rom_chongwu_device(const machine_config &mconfig, cons
{
}
gb_rom_licheng_device::gb_rom_licheng_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: gb_rom_mbc5_device(mconfig, GB_ROM_LICHENG, "GB MBC5 Li Cheng Carts", tag, owner, clock, "gb_rom_licheng", __FILE__)
{
}
gb_rom_digimon_device::gb_rom_digimon_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: gb_rom_mbc5_device(mconfig, GB_ROM_DIGIMON, "GB Digimon", tag, owner, clock, "gb_rom_digimon", __FILE__)
{
@ -683,6 +689,16 @@ WRITE8_MEMBER(gb_rom_mmm01_device::write_bank)
}
}
// MBC5 variant used by Li Cheng / Niutoude games
WRITE8_MEMBER(gb_rom_licheng_device::write_bank)
{
if (offset > 0x2100 && offset < 0x3000)
return;
gb_rom_mbc5_device::write_bank(space, offset, data);
}
// MBC5 variant used by Chong Wu Xiao Jing Ling (this appears to be a re-release of a Li Cheng / Niutoude game,
// given that it contains the Niutoude logo, with most protection checks patched out)

View File

@ -214,6 +214,17 @@ public:
UINT8 m_protection_checked;
};
// ======================> gb_rom_licheng_device
class gb_rom_licheng_device : public gb_rom_mbc5_device
{
public:
// construction/destruction
gb_rom_licheng_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual DECLARE_WRITE8_MEMBER(write_bank);
};
// ======================> gb_rom_digimon_device
class gb_rom_digimon_device : public gb_rom_mbc5_device
@ -284,6 +295,7 @@ extern const device_type GB_ROM_MBC7;
extern const device_type GB_ROM_MMM01;
extern const device_type GB_ROM_SINTAX;
extern const device_type GB_ROM_CHONGWU;
extern const device_type GB_ROM_LICHENG;
extern const device_type GB_ROM_DIGIMON;
extern const device_type GB_ROM_ROCKMAN8;
extern const device_type GB_ROM_SM3SP;

View File

@ -610,30 +610,31 @@ static INPUT_PORTS_START( gameboy )
INPUT_PORTS_END
static SLOT_INTERFACE_START(gb_cart)
SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM)
SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1)
SLOT_INTERFACE_INTERNAL("rom_mbc1col", GB_ROM_MBC1_COL)
SLOT_INTERFACE_INTERNAL("rom_mbc2", GB_ROM_MBC2)
SLOT_INTERFACE_INTERNAL("rom_mbc3", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_huc1", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_huc3", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_mbc5", GB_ROM_MBC5)
SLOT_INTERFACE_INTERNAL("rom_mbc6", GB_ROM_MBC6)
SLOT_INTERFACE_INTERNAL("rom_mbc7", GB_ROM_MBC7)
SLOT_INTERFACE_INTERNAL("rom_tama5", GB_ROM_TAMA5)
SLOT_INTERFACE_INTERNAL("rom_mmm01", GB_ROM_MMM01)
SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM)
SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1)
SLOT_INTERFACE_INTERNAL("rom_mbc1col", GB_ROM_MBC1_COL)
SLOT_INTERFACE_INTERNAL("rom_mbc2", GB_ROM_MBC2)
SLOT_INTERFACE_INTERNAL("rom_mbc3", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_huc1", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_huc3", GB_ROM_MBC3)
SLOT_INTERFACE_INTERNAL("rom_mbc5", GB_ROM_MBC5)
SLOT_INTERFACE_INTERNAL("rom_mbc6", GB_ROM_MBC6)
SLOT_INTERFACE_INTERNAL("rom_mbc7", GB_ROM_MBC7)
SLOT_INTERFACE_INTERNAL("rom_tama5", GB_ROM_TAMA5)
SLOT_INTERFACE_INTERNAL("rom_mmm01", GB_ROM_MMM01)
SLOT_INTERFACE_INTERNAL("rom_wisdom", GB_ROM_WISDOM)
SLOT_INTERFACE_INTERNAL("rom_yong", GB_ROM_YONG)
SLOT_INTERFACE_INTERNAL("rom_yong", GB_ROM_YONG)
SLOT_INTERFACE_INTERNAL("rom_lasama", GB_ROM_LASAMA)
SLOT_INTERFACE_INTERNAL("rom_atvrac", GB_ROM_ATVRAC)
SLOT_INTERFACE_INTERNAL("rom_camera", GB_STD_ROM)
SLOT_INTERFACE_INTERNAL("rom_sintax", GB_ROM_SINTAX)
SLOT_INTERFACE_INTERNAL("rom_chong", GB_ROM_CHONGWU)
SLOT_INTERFACE_INTERNAL("rom_digimon", GB_ROM_DIGIMON)
SLOT_INTERFACE_INTERNAL("rom_rock8", GB_ROM_ROCKMAN8)
SLOT_INTERFACE_INTERNAL("rom_sm3sp", GB_ROM_SM3SP)
SLOT_INTERFACE_INTERNAL("rom_chong", GB_ROM_CHONGWU)
SLOT_INTERFACE_INTERNAL("rom_licheng", GB_ROM_LICHENG)
SLOT_INTERFACE_INTERNAL("rom_digimon", GB_ROM_DIGIMON)
SLOT_INTERFACE_INTERNAL("rom_rock8", GB_ROM_ROCKMAN8)
SLOT_INTERFACE_INTERNAL("rom_sm3sp", GB_ROM_SM3SP)
// SLOT_INTERFACE_INTERNAL("rom_dkong5", GB_ROM_DKONG5)
// SLOT_INTERFACE_INTERNAL("rom_unk01", GB_ROM_UNK01)
// SLOT_INTERFACE_INTERNAL("rom_unk01", GB_ROM_UNK01)
SLOT_INTERFACE_END
static SLOT_INTERFACE_START(megaduck_cart)