mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
bus/nes: Added support for Chinese translations of Genghis Khan, Square's Tom Sawyer, and Tenchi wo Kurau II. (#9569)
Software list items promoted to working (nes.xml) --------------------------------------- Dàtáng Fēngyún VI Dài (China) Chéngjísīhán (China) Fēngsè Huànxiǎng (China) Tāngmǔ Lìxiǎn Jì (China) Tenchi wo Kurau II - Shokatsu Koumei Den (China) Tenchi wo Kurau II - Shokatsu Koumei Den (China, alt) Tūnshí Tiāndì II (China) Tūnshí Tiāndì II (China, alt) Tūnshí Tiāndì II (China, alt 2) Tūnshí Tiāndì III (China)
This commit is contained in:
parent
acb30d42ba
commit
2aeed0b4fa
114
hash/nes.xml
114
hash/nes.xml
@ -57904,21 +57904,24 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="chengji" supported="no">
|
<software name="chengji" cloneof="genghis">
|
||||||
<description>Cheng Ji Si Han (Chi)</description>
|
<description>Chéngjísīhán (China)</description>
|
||||||
<year>19??</year>
|
<year>2005</year>
|
||||||
<publisher>Waixing</publisher>
|
<publisher>Waixing</publisher>
|
||||||
<info name="serial" value="ES-1110"/>
|
<info name="serial" value="ES-1110"/>
|
||||||
<info name="alt_title" value="成吉思汗"/>
|
<info name="alt_title" value="成吉思汗"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_a" />
|
<feature name="slot" value="waixing_f1" />
|
||||||
<feature name="pcb" value="WAIXING-A" /> <!-- Wrong pcb, but header says mapper 198 which is wrong too -->
|
<feature name="pcb" value="WAIXING-F1" />
|
||||||
<dataarea name="prg" size="524288">
|
<dataarea name="prg" size="524288">
|
||||||
<rom name="[es-1110] cheng ji si han (c).prg" size="524288" crc="935f2119" sha1="ca7fe978a1926827c6d3eb670d8e1ff9903614b7" offset="00000" status="baddump" />
|
<rom name="[es-1110] cheng ji si han (c).prg" size="524288" crc="935f2119" sha1="ca7fe978a1926827c6d3eb670d8e1ff9903614b7" offset="00000" status="baddump" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -57926,21 +57929,24 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tmlxj" cloneof="sqtomsaw" supported="no">
|
<software name="tmlxj" cloneof="sqtomsaw">
|
||||||
<description>Tang Mu Li Xian Ji (Chi)</description>
|
<description>Tāngmǔ Lìxiǎn Jì (China)</description>
|
||||||
<year>19??</year>
|
<year>2005</year>
|
||||||
<publisher>Waixing</publisher>
|
<publisher>Waixing</publisher>
|
||||||
<info name="serial" value="ES-1111"/>
|
<info name="serial" value="ES-1111"/>
|
||||||
<info name="alt_title" value="汤姆历险记"/>
|
<info name="alt_title" value="湯姆歷險記"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_i" />
|
<feature name="slot" value="waixing_f1" />
|
||||||
<feature name="pcb" value="WAIXING-I" />
|
<feature name="pcb" value="WAIXING-F1" />
|
||||||
<dataarea name="prg" size="524288">
|
<dataarea name="prg" size="524288">
|
||||||
<rom name="tang mu li xian ji (ch).prg" size="524288" crc="2ca9bf7f" sha1="b9f444ff60f60c177eeec8671bec3731b0f6fe49" offset="00000" status="baddump" />
|
<rom name="tang mu li xian ji (ch).prg" size="524288" crc="2ca9bf7f" sha1="b9f444ff60f60c177eeec8671bec3731b0f6fe49" offset="00000" status="baddump" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -58102,21 +58108,28 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="fengshx" supported="no">
|
<software name="fengshx" cloneof="sqtomsaw">
|
||||||
<description>Feng Se Huan Xiang (Chi)</description>
|
<description>Fēngsè Huànxiǎng (China)</description>
|
||||||
<year>19??</year>
|
<year>2005</year>
|
||||||
<publisher>Waixing</publisher>
|
<publisher>Waixing</publisher>
|
||||||
<info name="serial" value="ES-1138"/>
|
<info name="serial" value="ES-1138"/>
|
||||||
<info name="alt_title" value="风色幻想"/>
|
<info name="alt_title" value="风色幻想"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="txrom" />
|
<feature name="slot" value="waixing_f1" />
|
||||||
<feature name="pcb" value="NES-TLROM" /> <!-- Header says mapper 4 but there are tons of unmapped accesses -->
|
<feature name="pcb" value="WAIXING-F1" />
|
||||||
<dataarea name="prg" size="524288">
|
<dataarea name="prg" size="524288">
|
||||||
<rom name="[es-1138] feng se huan xiang (c).prg" size="524288" crc="2389335f" sha1="8148813ca6225c01088bbc9a4af2031176632b4d" offset="00000" status="baddump" />
|
<rom name="[es-1138] feng se huan xiang (c).prg" size="524288" crc="2389335f" sha1="8148813ca6225c01088bbc9a4af2031176632b4d" offset="00000" status="baddump" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
|
<dataarea name="bwram" size="8192">
|
||||||
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
@ -62301,9 +62314,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tenchik2c" cloneof="tenchik2" supported="no">
|
<software name="tenchik2c" cloneof="tenchik2">
|
||||||
<description>Tenchi wo Kurau II - Shokatsu Koumei Den (Chi, Simplified)</description>
|
<description>Tenchi wo Kurau II - Shokatsu Koumei Den (China)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>Waixing?</publisher>
|
<publisher>Waixing?</publisher>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_f" />
|
<feature name="slot" value="waixing_f" />
|
||||||
@ -62314,6 +62327,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -62321,9 +62337,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tenchik2c1" cloneof="tenchik2" supported="no">
|
<software name="tenchik2c1" cloneof="tenchik2">
|
||||||
<description>Tenchi wo Kurau II - Shokatsu Koumei Den (Chi, Traditional)</description>
|
<description>Tenchi wo Kurau II - Shokatsu Koumei Den (China, alt)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>Waixing?</publisher>
|
<publisher>Waixing?</publisher>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_f" />
|
<feature name="slot" value="waixing_f" />
|
||||||
@ -62334,6 +62350,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -62341,9 +62360,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tstd2b" cloneof="tenchik2" supported="no">
|
<software name="tstd2b" cloneof="tenchik2">
|
||||||
<description>Tun Shi Tian Di II (Chi, Alt 2)</description>
|
<description>Tūnshí Tiāndì II (China, alt 2)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>XianFeng Katong</publisher>
|
<publisher>XianFeng Katong</publisher>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_f" />
|
<feature name="slot" value="waixing_f" />
|
||||||
@ -62354,6 +62373,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -62361,9 +62383,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tstd2" cloneof="tenchik2" supported="no">
|
<software name="tstd2" cloneof="tenchik2">
|
||||||
<description>Tun Shi Tian Di II (Chi)</description>
|
<description>Tūnshí Tiāndì II (China)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>XianFeng Katong</publisher>
|
<publisher>XianFeng Katong</publisher>
|
||||||
<info name="alt_title" value="吞食天地II-诸葛孔明传"/>
|
<info name="alt_title" value="吞食天地II-诸葛孔明传"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
@ -62375,6 +62397,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -62382,9 +62407,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tstd2a" cloneof="tenchik2" supported="no">
|
<software name="tstd2a" cloneof="tenchik2">
|
||||||
<description>Tun Shi Tian Di II (Chi, Alt)</description>
|
<description>Tūnshí Tiāndì II (China, alt)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>XianFeng Katong</publisher>
|
<publisher>XianFeng Katong</publisher>
|
||||||
<info name="alt_title" value="吞食天地II-诸葛孔明传"/>
|
<info name="alt_title" value="吞食天地II-诸葛孔明传"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
@ -62396,6 +62421,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -62403,11 +62431,11 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tstd3" cloneof="tenchik2" supported="no">
|
<software name="tstd3" cloneof="tenchik2">
|
||||||
<description>Tun Shi Tian Di III (Chi)</description>
|
<description>Tūnshí Tiāndì III (China)</description>
|
||||||
<year>19??</year>
|
<year>1994</year>
|
||||||
<publisher>Waixing?</publisher>
|
<publisher>Waixing?</publisher>
|
||||||
<info name="alt_title" value="吞Ⅲ"/>
|
<info name="alt_title" value="吞食天地Ⅲ"/>
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_f" />
|
<feature name="slot" value="waixing_f" />
|
||||||
<feature name="pcb" value="WAIXING-F" />
|
<feature name="pcb" value="WAIXING-F" />
|
||||||
@ -62417,6 +62445,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
@ -64214,20 +64245,23 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="datangf6" supported="no">
|
<software name="datangf6" cloneof="genghis">
|
||||||
<description>Da Tang Feng Yun VI Dai (Chi)</description>
|
<description>Dàtáng Fēngyún VI Dài (China)</description>
|
||||||
<year>19??</year>
|
<year>19??</year>
|
||||||
<publisher>HengGedianzi</publisher>
|
<publisher>HengGedianzi</publisher>
|
||||||
<info name="alt_title" value="大唐风云VI代"/>
|
<info name="alt_title" value="大唐风云VI代"/> <!-- Is 代 really in the title? -->
|
||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="waixing_a" />
|
<feature name="slot" value="waixing_f1" />
|
||||||
<feature name="pcb" value="WAIXING-A" />
|
<feature name="pcb" value="WAIXING-F1" />
|
||||||
<dataarea name="prg" size="524288">
|
<dataarea name="prg" size="524288">
|
||||||
<rom name="[hengge] da tang feng yun vi dai (c).prg" size="524288" crc="92a14846" sha1="3660539682971d5727140d3cd298c3fdd979208a" offset="00000" status="baddump" />
|
<rom name="[hengge] da tang feng yun vi dai (c).prg" size="524288" crc="92a14846" sha1="3660539682971d5727140d3cd298c3fdd979208a" offset="00000" status="baddump" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
<!-- 8k VRAM on cartridge -->
|
<!-- 8k VRAM on cartridge -->
|
||||||
<dataarea name="vram" size="8192">
|
<dataarea name="vram" size="8192">
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
<!-- 4k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="4096">
|
||||||
|
</dataarea>
|
||||||
<!-- 8k WRAM on cartridge, battery backed up -->
|
<!-- 8k WRAM on cartridge, battery backed up -->
|
||||||
<dataarea name="bwram" size="8192">
|
<dataarea name="bwram" size="8192">
|
||||||
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
<rom value="0x00" size="8192" offset="0" loadflag="fill" />
|
||||||
|
@ -345,7 +345,7 @@ void nes_txrom_device::write_m(offs_t offset, uint8_t data)
|
|||||||
{
|
{
|
||||||
if (!m_battery.empty())
|
if (!m_battery.empty())
|
||||||
m_battery[offset & (m_battery.size() - 1)] = data;
|
m_battery[offset & (m_battery.size() - 1)] = data;
|
||||||
if (!m_prgram.empty())
|
else if (!m_prgram.empty())
|
||||||
m_prgram[offset & (m_prgram.size() - 1)] = data;
|
m_prgram[offset & (m_prgram.size() - 1)] = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -237,6 +237,7 @@ void nes_cart(device_slot_interface &device)
|
|||||||
device.option_add_internal("waixing_d", NES_WAIXING_D);
|
device.option_add_internal("waixing_d", NES_WAIXING_D);
|
||||||
device.option_add_internal("waixing_e", NES_WAIXING_E);
|
device.option_add_internal("waixing_e", NES_WAIXING_E);
|
||||||
device.option_add_internal("waixing_f", NES_WAIXING_F);
|
device.option_add_internal("waixing_f", NES_WAIXING_F);
|
||||||
|
device.option_add_internal("waixing_f1", NES_WAIXING_F1);
|
||||||
device.option_add_internal("waixing_g", NES_WAIXING_G);
|
device.option_add_internal("waixing_g", NES_WAIXING_G);
|
||||||
device.option_add_internal("waixing_h", NES_WAIXING_H);
|
device.option_add_internal("waixing_h", NES_WAIXING_H);
|
||||||
device.option_add_internal("waixing_h1", NES_WAIXING_H1); // FIXME: Made up boards the different WRAM protect banks (see Shen Mi Jin San Jiao)
|
device.option_add_internal("waixing_h1", NES_WAIXING_H1); // FIXME: Made up boards the different WRAM protect banks (see Shen Mi Jin San Jiao)
|
||||||
|
@ -232,7 +232,7 @@ static const nes_mmc mmc_list[] =
|
|||||||
{ 196, BTL_SBROS11 },
|
{ 196, BTL_SBROS11 },
|
||||||
{ 197, UNL_SF3 },
|
{ 197, UNL_SF3 },
|
||||||
{ 198, WAIXING_TYPE_F },
|
{ 198, WAIXING_TYPE_F },
|
||||||
{ 199, WAIXING_TYPE_G },
|
{ 199, WAIXING_TYPE_F1 },
|
||||||
{ 200, BMC_36IN1 },
|
{ 200, BMC_36IN1 },
|
||||||
{ 201, BMC_21IN1 },
|
{ 201, BMC_21IN1 },
|
||||||
{ 202, BMC_150IN1 },
|
{ 202, BMC_150IN1 },
|
||||||
|
@ -145,6 +145,7 @@ static const nes_pcb pcb_list[] =
|
|||||||
{ "waixing_d", WAIXING_TYPE_D },
|
{ "waixing_d", WAIXING_TYPE_D },
|
||||||
{ "waixing_e", WAIXING_TYPE_E },
|
{ "waixing_e", WAIXING_TYPE_E },
|
||||||
{ "waixing_f", WAIXING_TYPE_F },
|
{ "waixing_f", WAIXING_TYPE_F },
|
||||||
|
{ "waixing_f1", WAIXING_TYPE_F1 },
|
||||||
{ "waixing_g", WAIXING_TYPE_G },
|
{ "waixing_g", WAIXING_TYPE_G },
|
||||||
{ "waixing_h", WAIXING_TYPE_H },
|
{ "waixing_h", WAIXING_TYPE_H },
|
||||||
{ "waixing_h1", WAIXING_TYPE_H1 },
|
{ "waixing_h1", WAIXING_TYPE_H1 },
|
||||||
|
@ -139,7 +139,7 @@ enum
|
|||||||
CNE_DECATHLON, CNE_FSB, CNE_SHLZ, COCOMA_BOARD, CONY_BOARD, CONY1K_BOARD, SMD133_BOARD, YOKO_BOARD,
|
CNE_DECATHLON, CNE_FSB, CNE_SHLZ, COCOMA_BOARD, CONY_BOARD, CONY1K_BOARD, SMD133_BOARD, YOKO_BOARD,
|
||||||
RCM_GS2015, RCM_GS2004, RCM_GS2013, RCM_TF9IN1, RCM_3DBLOCK,
|
RCM_GS2015, RCM_GS2004, RCM_GS2013, RCM_TF9IN1, RCM_3DBLOCK,
|
||||||
WAIXING_TYPE_A, WAIXING_TYPE_A1, WAIXING_TYPE_B, WAIXING_TYPE_C, WAIXING_TYPE_D,
|
WAIXING_TYPE_A, WAIXING_TYPE_A1, WAIXING_TYPE_B, WAIXING_TYPE_C, WAIXING_TYPE_D,
|
||||||
WAIXING_TYPE_E, WAIXING_TYPE_F, WAIXING_TYPE_G, WAIXING_TYPE_H, WAIXING_TYPE_H1,
|
WAIXING_TYPE_E, WAIXING_TYPE_F, WAIXING_TYPE_F1, WAIXING_TYPE_G, WAIXING_TYPE_H, WAIXING_TYPE_H1,
|
||||||
WAIXING_TYPE_I, WAIXING_TYPE_J, WAIXING_FS304,
|
WAIXING_TYPE_I, WAIXING_TYPE_J, WAIXING_FS304,
|
||||||
WAIXING_SGZLZ, WAIXING_SGZ, WAIXING_WXZS, WAIXING_SECURITY, WAIXING_SH2,
|
WAIXING_SGZLZ, WAIXING_SGZ, WAIXING_WXZS, WAIXING_SECURITY, WAIXING_SH2,
|
||||||
WAIXING_DQ8, WAIXING_FFV, WAIXING_WXZS2, SUPERGAME_LIONKING, SUPERGAME_BOOGERMAN,
|
WAIXING_DQ8, WAIXING_FFV, WAIXING_WXZS2, SUPERGAME_LIONKING, SUPERGAME_BOOGERMAN,
|
||||||
|
@ -38,6 +38,7 @@ DEFINE_DEVICE_TYPE(NES_WAIXING_C, nes_waixing_c_device, "nes_waixing_c",
|
|||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device, "nes_waixing_d", "NES Cart Waixing Type D PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device, "nes_waixing_d", "NES Cart Waixing Type D PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device, "nes_waixing_e", "NES Cart Waixing Type E PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device, "nes_waixing_e", "NES Cart Waixing Type E PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device, "nes_waixing_f", "NES Cart Waixing Type F PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device, "nes_waixing_f", "NES Cart Waixing Type F PCB")
|
||||||
|
DEFINE_DEVICE_TYPE(NES_WAIXING_F1, nes_waixing_f1_device, "nes_waixing_f1", "NES Cart Waixing Type F1 PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device, "nes_waixing_g", "NES Cart Waixing Type G PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device, "nes_waixing_g", "NES Cart Waixing Type G PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device, "nes_waixing_h", "NES Cart Waixing Type H PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device, "nes_waixing_h", "NES Cart Waixing Type H PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device, "nes_waixing_h1", "NES Cart Waixing Type H (Alt) PCB")
|
DEFINE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device, "nes_waixing_h1", "NES Cart Waixing Type H (Alt) PCB")
|
||||||
@ -88,8 +89,18 @@ nes_waixing_e_device::nes_waixing_e_device(const machine_config &mconfig, const
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
nes_waixing_f_device::nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
nes_waixing_f_device::nes_waixing_f_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
|
||||||
: nes_waixing_a_device(mconfig, NES_WAIXING_F, tag, owner, clock)
|
: nes_txrom_device(mconfig, type, tag, owner, clock)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
nes_waixing_f_device::nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_waixing_f_device(mconfig, NES_WAIXING_F, tag, owner, clock)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
nes_waixing_f1_device::nes_waixing_f1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_waixing_f_device(mconfig, NES_WAIXING_F1, tag, owner, clock)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,19 +189,6 @@ void nes_waixing_a_device::pcb_reset()
|
|||||||
std::fill(std::begin(mapper_ram), std::end(mapper_ram), 0x00);
|
std::fill(std::begin(mapper_ram), std::end(mapper_ram), 0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nes_waixing_f_device::pcb_reset()
|
|
||||||
{
|
|
||||||
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
|
||||||
mmc3_common_initialize(0xff, 0xff, 0);
|
|
||||||
|
|
||||||
std::fill(std::begin(mapper_ram), std::end(mapper_ram), 0x00);
|
|
||||||
m_mmc_prg_bank[0] = 0x00;
|
|
||||||
m_mmc_prg_bank[1] = 0x01;
|
|
||||||
m_mmc_prg_bank[2] = 0x4e;
|
|
||||||
m_mmc_prg_bank[3] = 0x4f;
|
|
||||||
set_prg(m_prg_base, m_prg_mask);
|
|
||||||
}
|
|
||||||
|
|
||||||
void nes_waixing_g_device::pcb_reset()
|
void nes_waixing_g_device::pcb_reset()
|
||||||
{
|
{
|
||||||
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
||||||
@ -500,77 +498,49 @@ void nes_waixing_e_device::chr_cb(int start, int bank, int source)
|
|||||||
chr1_x(start, bank, chr_src);
|
chr1_x(start, bank, chr_src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
|
||||||
Waixing Board Type F
|
Waixing Board Type F, F1
|
||||||
|
|
||||||
Games: Tenchi wo Kurau II (C)
|
Games: Tenchi wo Kurau II translations (mapper 198),
|
||||||
|
and (mapper 199) Chengjisihan, Tangmu Lixian Ji,
|
||||||
|
Fengse Huanxiang, Datang Fengyun VI Dai
|
||||||
|
|
||||||
MMC3 clone.
|
MMC3 clone with an extra 4K WRAM at 0x5000-0x5fff.
|
||||||
|
Mapper 198 banks its 8K CHR RAM and 199 does not.
|
||||||
|
|
||||||
iNES: mapper 198
|
iNES: mappers 198, 199
|
||||||
|
|
||||||
In MESS: Preliminary support.
|
In MAME: Supported.
|
||||||
|
|
||||||
|
TODO: Sort out G board games which were assigned
|
||||||
|
to mapper 199 previously.
|
||||||
|
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void nes_waixing_f_device::chr_cb(int start, int bank, int source)
|
u8 nes_waixing_f_device::read_l(offs_t offset)
|
||||||
{
|
{
|
||||||
chr1_x(start, bank, CHRRAM);
|
// LOG_MMC(("waixing_f read_l, offset: %04x\n", offset));
|
||||||
|
|
||||||
|
offset += 0x100;
|
||||||
|
if (!m_prgram.empty() && offset >= 0x1000)
|
||||||
|
return m_prgram[offset & 0x0fff & (m_prgram.size() - 1)];
|
||||||
|
|
||||||
|
return get_open_bus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void nes_waixing_f_device::prg_cb(int start, int bank)
|
void nes_waixing_f_device::write_l(offs_t offset, u8 data)
|
||||||
{
|
{
|
||||||
// if (bank > 0x3f)
|
// LOG_MMC(("waixing_f write_l, offset: %04x, data: %02x\n", offset, data));
|
||||||
// bank = 0x40 | (bank & 0xf);
|
|
||||||
prg8_x(start, bank);
|
offset += 0x100;
|
||||||
|
if (!m_prgram.empty() && offset >= 0x1000)
|
||||||
|
m_prgram[offset & 0x0fff & (m_prgram.size() - 1)] = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void nes_waixing_f_device::set_prg( int prg_base, int prg_mask )
|
void nes_waixing_f1_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||||
{
|
{
|
||||||
uint8_t prg_flip = (m_latch & 0x40) ? 2 : 0;
|
// ignore CHR banking as all F1 games use 8K unbanked CHR RAM
|
||||||
|
|
||||||
prg_cb(0, m_mmc_prg_bank[0 ^ prg_flip]);
|
|
||||||
prg_cb(1, m_mmc_prg_bank[1]);
|
|
||||||
prg_cb(2, m_mmc_prg_bank[2 ^ prg_flip]);
|
|
||||||
prg_cb(3, m_mmc_prg_bank[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void nes_waixing_f_device::write_h(offs_t offset, uint8_t data)
|
|
||||||
{
|
|
||||||
uint8_t cmd;
|
|
||||||
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
|
|
||||||
|
|
||||||
switch (offset & 0x6001)
|
|
||||||
{
|
|
||||||
case 0x0001:
|
|
||||||
cmd = m_latch & 0x07;
|
|
||||||
switch (cmd)
|
|
||||||
{
|
|
||||||
case 0: case 1: // these do not need to be separated: we take care of them in set_chr!
|
|
||||||
case 2: case 3: case 4: case 5:
|
|
||||||
m_mmc_vrom_bank[cmd] = data;
|
|
||||||
set_chr(m_chr_source, m_chr_base, m_chr_mask);
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
case 7:
|
|
||||||
case 8:
|
|
||||||
case 9:
|
|
||||||
m_mmc_prg_bank[cmd - 6] = data;
|
|
||||||
//printf("prg bank %d value %x\n", cmd - 6, data);
|
|
||||||
set_prg(m_prg_base, m_prg_mask);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0x2001:
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
waixing_write(offset, data);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
@ -56,7 +56,6 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -69,7 +68,6 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -82,7 +80,6 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -95,28 +92,37 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> nes_waixing_f_device
|
// ======================> nes_waixing_f_device
|
||||||
|
|
||||||
class nes_waixing_f_device : public nes_waixing_a_device
|
class nes_waixing_f_device : public nes_txrom_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
// device-level overrides
|
virtual u8 read_l(offs_t offset) override;
|
||||||
virtual void write_h(offs_t offset, uint8_t data) override;
|
virtual void write_l(offs_t offset, u8 data) override;
|
||||||
virtual void prg_cb(int start, int bank) override;
|
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
|
||||||
|
|
||||||
virtual void pcb_reset() override;
|
protected:
|
||||||
|
// construction/destruction
|
||||||
|
nes_waixing_f_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
|
||||||
virtual void set_prg(int prg_base, int prg_mask) override;
|
// ======================> nes_waixing_f1_device
|
||||||
|
|
||||||
|
class nes_waixing_f1_device : public nes_waixing_f_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction/destruction
|
||||||
|
nes_waixing_f1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void set_chr(uint8_t chr, int chr_base, int chr_mask) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -128,7 +134,6 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void write_h(offs_t offset, uint8_t data) override;
|
virtual void write_h(offs_t offset, uint8_t data) override;
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
|
|
||||||
@ -147,15 +152,13 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
|
virtual void write_h(offs_t offset, uint8_t data) override;
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
|
|
||||||
// This PCB does not have 1K of internal RAM, so it's not derived from nes_waixing_a_device!!
|
// This PCB does not have 1K of internal RAM, so it's not derived from nes_waixing_a_device!!
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void write_h(offs_t offset, uint8_t data) override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -167,7 +170,6 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void write_h(offs_t offset, uint8_t data) override;
|
virtual void write_h(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
// This variant does not ignore the wram protect!
|
// This variant does not ignore the wram protect!
|
||||||
@ -215,14 +217,15 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
nes_waixing_sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
nes_waixing_sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
|
||||||
virtual void device_start() override;
|
|
||||||
virtual uint8_t chr_r(offs_t offset) override;
|
virtual uint8_t chr_r(offs_t offset) override;
|
||||||
virtual void chr_cb(int start, int bank, int source) override;
|
virtual void chr_cb(int start, int bank, int source) override;
|
||||||
|
|
||||||
virtual void pcb_reset() override;
|
virtual void pcb_reset() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
// device-level overrides
|
||||||
|
virtual void device_start() override;
|
||||||
|
|
||||||
uint8_t m_reg[2];
|
uint8_t m_reg[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -355,6 +358,7 @@ DECLARE_DEVICE_TYPE(NES_WAIXING_C, nes_waixing_c_device)
|
|||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device)
|
||||||
|
DECLARE_DEVICE_TYPE(NES_WAIXING_F1, nes_waixing_f1_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device)
|
DECLARE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device)
|
||||||
|
Loading…
Reference in New Issue
Block a user