mirror of
https://github.com/holub/mame
synced 2025-04-16 05:24:54 +03:00
bus/nes: Set multicart bank size in softlist when appropriate. (#8644)
New working software list additions (nes.xml) ----------------------------------- 1996 Super HiK 4 in 1 (JY-004) [NewRisingSun, taizou] 1998 Super Game 8 in 1 (JY-111) [Consolethinks, NewRisingSun] 1997 8 in 1 (JY-112) [Consolethinks, NewRisingSun]
This commit is contained in:
parent
af18af07e9
commit
9cc814751e
128
hash/nes.xml
128
hash/nes.xml
@ -51718,7 +51718,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1994 super hik 4-in-1 (jy-001 rev1).prg" size="524288" crc="dbdfef5e" sha1="289a97175056bc5bff5c5c09635a450bda7058ad" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51734,7 +51736,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1993 heroe series 4-in-1 (jy-001).prg" size="524288" crc="8e40296d" sha1="5d0b50d195f11a656f6d46c369bb3f60000ed085" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51750,7 +51754,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1994 super hik 4-in-1 (jy-002).prg" size="524288" crc="fbc1ee6b" sha1="7c82449372191ac3b6cfa4cc72e53b860c9f635b" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51766,7 +51772,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1994 super hik 4-in-1 (jy-003).prg" size="524288" crc="f6822fe5" sha1="81dcace66ae60a4fe4035bb8b2e7901a8b33170f" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51779,6 +51787,24 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_4jy4">
|
||||
<description>1996 Super HiK 4 in 1 (JY-004)</description>
|
||||
<year>1996</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-004).prg" size="524288" crc="1ad4b9d5" sha1="87911ce6cae6799f8fa2a785190b54e397472b35" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-004).chr" size="524288" crc="d851081c" sha1="688ff9f483751d42ec6eb3c1eb4c90c019746609" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_3jy7">
|
||||
<description>1994 Super HiK 3 in 1 (JY-007)</description>
|
||||
<year>1994</year>
|
||||
@ -51800,7 +51826,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-008).prg" size="524288" crc="74a6176e" sha1="920e7a9a42b903b98c80166bc3dbf0aa50367709" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51835,7 +51863,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="mario series 4-in-1 (jy-013).prg" size="524288" crc="4558acd5" sha1="86d99d13e813f19c792fac8802c15888739179d2" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51946,7 +51976,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-023).prg" size="524288" crc="cadebc3e" sha1="92024688aaa583c673801bc585c4d693458f4d78" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51965,7 +51997,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1997 super hik 4-in-1 (jy-024 rev1).prg" size="524288" crc="cef38f6c" sha1="5aebb9e0bb157d3eaa53204607610c22e8bc2548" status="baddump" />
|
||||
</dataarea>
|
||||
@ -51984,7 +52018,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-024).prg" size="524288" crc="cef38f6c" sha1="5aebb9e0bb157d3eaa53204607610c22e8bc2548" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52003,7 +52039,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-038).prg" size="524288" crc="bd705234" sha1="499393d8bd79b3de5a2ada099fc9477a573cc6ef" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52019,7 +52057,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom2" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="256K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-039).prg" size="524288" crc="a32b698b" sha1="f12d34c330d0577aa560507d15c3083a885138fa" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52035,7 +52075,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom2" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="256K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-040).prg" size="524288" crc="677c6862" sha1="1f212b29ac4c7fa52eed6dbe4ef2ce62ed7e3bda" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52066,7 +52108,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom1" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="256K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="1048576">
|
||||
<rom name="1995 super hik 4-in-1 (jy-043).prg" size="1048576" crc="a5d89dc1" sha1="cf238422714e35e86e6e2fa5dd3fc0a64230db6e" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52083,7 +52127,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1997 super hik 4-in-1 (jy-047).prg" size="524288" crc="7a82a25c" sha1="f05a95eecd16073e82d5ec8e05c6cdf262025735" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52099,7 +52145,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-047 rev0).prg" size="524288" crc="113688e2" sha1="600e52f8a93cf3aa0bbb09e56bf570ad09d10184" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52147,7 +52195,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom2" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="256K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-057).prg" size="524288" crc="142184be" sha1="eec27f45ded5a7111e7b2d5ac8e0d33b0f6449cc" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52166,7 +52216,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom2" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="256K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-058).prg" size="524288" crc="019a5cf7" sha1="ace2c8eada92bda13ca9bd3e3dc336648ebb28c7" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52182,7 +52234,9 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom0" />
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-072).prg" size="524288" crc="8b1f7c74" sha1="0987c7b4aaf4419605e71a65405c9fe7a1e98a04" status="baddump" />
|
||||
</dataarea>
|
||||
@ -52222,12 +52276,48 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_8j111">
|
||||
<description>1998 Super Game 8 in 1 (JY-111)</description>
|
||||
<year>1998</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_el86xc" />
|
||||
<feature name="pcb" value="EL860947C" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<dataarea name="prg" size="1048576">
|
||||
<rom name="1998 super game 8-in-1 (jy-111).prg" size="1048576" crc="8d6805f0" sha1="c13d1a3c72f48ad00db939f088f67750fafef13e" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="1048576">
|
||||
<rom name="1998 super game 8-in-1 (jy-111).chr" size="1048576" crc="c907cacf" sha1="de2a790ca0ce7e5aa2312f97cb8d92ac3836ddc5" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_8j112">
|
||||
<description>1997 8 in 1 (JY-112)</description>
|
||||
<year>1997</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_el86xc" />
|
||||
<feature name="pcb" value="EL860947C" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<dataarea name="prg" size="1048576">
|
||||
<rom name="1997 8-in-1 (jy-112).prg" size="1048576" crc="c6971394" sha1="d3f37dd47c9a857515b40035debe6d2dbd2ec825" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="1048576">
|
||||
<rom name="1997 8-in-1 (jy-112).chr" size="1048576" crc="6751a900" sha1="fc88086b13d379848d8582aee932c3d821eea7c1" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_8j119">
|
||||
<description>FC Genjin 8 in 1 (JY-119)</description>
|
||||
<year>199?</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="fcgj8in1" />
|
||||
<feature name="slot" value="bmc_el86xc" />
|
||||
<feature name="pcb" value="EL861121C" />
|
||||
<feature name="outer-prg-size" value="256K" />
|
||||
<dataarea name="prg" size="2097152">
|
||||
<rom name="8-in-1 (jy-119).prg" size="2097152" crc="acb1f4e9" sha1="e65bf41010b4f3d4692b458698e355c233ecd729" status="baddump" />
|
||||
</dataarea>
|
||||
|
@ -53,13 +53,11 @@ DEFINE_DEVICE_TYPE(NES_SACHEN_SHERO, nes_sachen_shero_device, "nes_shero",
|
||||
DEFINE_DEVICE_TYPE(NES_A9746, nes_a9746_device, "nes_bmc_a9746", "NES Cart A-9746 PCB")
|
||||
|
||||
DEFINE_DEVICE_TYPE(NES_A88S1, nes_a88s1_device, "nes_a88s1", "NES Cart BMC A88S-1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_FCGJ8IN1, nes_fcgj8in1_device, "nes_fcgj8in1", "NES Cart BMC FC Genjin 8 in 1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_EL86XC, nes_bmc_el86xc_device, "nes_bmc_el86xc", "NES Cart BMC EL860947C/EL861121C PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_FK23C, nes_fk23c_device, "nes_fk23c", "NES Cart FK23C PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_FK23CA, nes_fk23ca_device, "nes_fk23ca", "NES Cart FK23CA PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_NT639, nes_nt639_device, "nes_nt639", "NES Cart NT-639 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_RESETTXROM0, nes_resettxrom0_device, "nes_resettxrom0", "NES Cart BMC RESET-TXROM 128K/128K PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_RESETTXROM1, nes_resettxrom1_device, "nes_resettxrom1", "NES Cart BMC RESET-TXROM 256K/128K PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_RESETTXROM2, nes_resettxrom2_device, "nes_resettxrom2", "NES Cart BMC RESET-TXROM 128K/256K PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_RESETTXROM, nes_resettxrom_device, "nes_resettxrom", "NES Cart BMC RESET-TXROM PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_S24IN1SC03, nes_s24in1sc03_device, "nes_s24in1c03", "NES Cart Super 24 in 1 SC-03 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_TECHLINE9IN1, nes_tech9in1_device, "nes_tech9in1", "NES Cart Techline 9 in 1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_8IN1, nes_bmc_8in1_device, "nes_bmc_8in1", "NES Cart BMC GRM070 8 in 1 PCB")
|
||||
@ -257,8 +255,8 @@ nes_a88s1_device::nes_a88s1_device(const machine_config &mconfig, const char *ta
|
||||
{
|
||||
}
|
||||
|
||||
nes_fcgj8in1_device::nes_fcgj8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_txrom_device(mconfig, NES_FCGJ8IN1, tag, owner, clock)
|
||||
nes_bmc_el86xc_device::nes_bmc_el86xc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_txrom_device(mconfig, NES_BMC_EL86XC, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -282,23 +280,8 @@ nes_nt639_device::nes_nt639_device(const machine_config &mconfig, const char *ta
|
||||
{
|
||||
}
|
||||
|
||||
nes_resettxrom0_device::nes_resettxrom0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prg_shift, int chr_shift)
|
||||
: nes_txrom_device(mconfig, type, tag, owner, clock), m_count(-1), m_prg_shift(prg_shift), m_chr_shift(chr_shift)
|
||||
{
|
||||
}
|
||||
|
||||
nes_resettxrom0_device::nes_resettxrom0_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_resettxrom0_device(mconfig, NES_RESETTXROM0, tag, owner, clock, 4, 7)
|
||||
{
|
||||
}
|
||||
|
||||
nes_resettxrom1_device::nes_resettxrom1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_resettxrom0_device(mconfig, NES_RESETTXROM1, tag, owner, clock, 5, 7)
|
||||
{
|
||||
}
|
||||
|
||||
nes_resettxrom2_device::nes_resettxrom2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_resettxrom0_device(mconfig, NES_RESETTXROM2, tag, owner, clock, 4, 8)
|
||||
nes_resettxrom_device::nes_resettxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_txrom_device(mconfig, NES_RESETTXROM, tag, owner, clock), m_count(-1)
|
||||
{
|
||||
}
|
||||
|
||||
@ -620,10 +603,10 @@ void nes_a88s1_device::pcb_reset()
|
||||
update_banks();
|
||||
}
|
||||
|
||||
void nes_fcgj8in1_device::pcb_reset()
|
||||
void nes_bmc_el86xc_device::pcb_reset()
|
||||
{
|
||||
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
||||
mmc3_common_initialize(0x1f, 0x7f, 0);
|
||||
mmc3_common_initialize((m_outer_prg_size >> 3) - 1, 0x7f, 0);
|
||||
}
|
||||
|
||||
void nes_fk23c_device::device_start()
|
||||
@ -666,20 +649,20 @@ void nes_nt639_device::pcb_reset()
|
||||
}
|
||||
|
||||
// These reset-based PCBs are emulated here with no additional handlers
|
||||
void nes_resettxrom0_device::device_start()
|
||||
void nes_resettxrom_device::device_start()
|
||||
{
|
||||
mmc3_start();
|
||||
save_item(NAME(m_count));
|
||||
}
|
||||
|
||||
void nes_resettxrom0_device::pcb_reset()
|
||||
void nes_resettxrom_device::pcb_reset()
|
||||
{
|
||||
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
||||
mmc3_common_initialize((1 << m_prg_shift) - 1, (1 << m_chr_shift) - 1, 0);
|
||||
mmc3_common_initialize((m_outer_prg_size >> 3) - 1, m_outer_chr_size - 1, 0);
|
||||
|
||||
m_count = (m_count + 1) & 3;
|
||||
m_prg_base = m_count << m_prg_shift;
|
||||
m_chr_base = m_count << m_chr_shift;
|
||||
m_prg_base = m_count << (31 - count_leading_zeros_32(m_outer_prg_size) - 3); // << std::countr_zero(m_outer_prg_size) - 3; in C++20
|
||||
m_chr_base = m_count << (31 - count_leading_zeros_32(m_outer_chr_size)); // << std::countr_zero(m_outer_chr_size); in C++20
|
||||
set_prg(m_prg_base, m_prg_mask);
|
||||
set_chr(m_chr_source, m_chr_base, m_chr_mask);
|
||||
}
|
||||
@ -2759,27 +2742,27 @@ void nes_bmc_f600_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
BMC-FCGENJIN-8IN1
|
||||
BMC EL860947C and EL861121C boards
|
||||
|
||||
Unknown Multigame Bootleg Board
|
||||
Games: 8 in 1 (JY-119)
|
||||
Games: 8 in 1 (JY-111, JY-112, and JY-119)
|
||||
|
||||
MMC3 clone with banking for multigame menu.
|
||||
|
||||
NES 2.0: mapper 267
|
||||
NES 2.0: mapper 267 and mapper 377
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_fcgj8in1_device::write_m(offs_t offset, u8 data)
|
||||
void nes_bmc_el86xc_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("fcgj8in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG_MMC(("bmc_el86xc write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
if (!(offset & 0x1000)) // game only banks via 0x6000, this mask is a guess
|
||||
{
|
||||
m_prg_base = (data & 0x20) << 2 | (data & 0x06) << 4;
|
||||
int outer = bitswap<3>(data, 5, 2, 1);
|
||||
m_prg_base = outer << (31 - count_leading_zeros_32(m_outer_prg_size) - 3); // << std::countr_zero(m_outer_prg_size) - 3; in C++20
|
||||
set_prg(m_prg_base, m_prg_mask);
|
||||
m_chr_base = m_prg_base << 2;
|
||||
m_chr_base = outer << 7;
|
||||
set_chr(m_chr_source, m_chr_base, m_chr_mask);
|
||||
}
|
||||
}
|
||||
|
@ -475,13 +475,13 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_fcgj8in1_device
|
||||
// ======================> nes_bmc_el86xc_device
|
||||
|
||||
class nes_fcgj8in1_device : public nes_txrom_device
|
||||
class nes_bmc_el86xc_device : public nes_txrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_fcgj8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
nes_bmc_el86xc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual void write_m(offs_t offset, u8 data) override;
|
||||
|
||||
@ -543,46 +543,22 @@ public:
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_resettxrom0_device
|
||||
// ======================> nes_resettxrom_device
|
||||
|
||||
class nes_resettxrom0_device : public nes_txrom_device
|
||||
class nes_resettxrom_device : public nes_txrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_resettxrom0_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
nes_resettxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual void pcb_reset() override;
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
nes_resettxrom0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prg_shift, int chr_shift);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
int m_count;
|
||||
int m_prg_shift, m_chr_shift;
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_resettxrom1_device
|
||||
|
||||
class nes_resettxrom1_device : public nes_resettxrom0_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_resettxrom1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_resettxrom2_device
|
||||
|
||||
class nes_resettxrom2_device : public nes_resettxrom0_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_resettxrom2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
|
||||
@ -1072,13 +1048,11 @@ DECLARE_DEVICE_TYPE(NES_SACHEN_SHERO, nes_sachen_shero_device)
|
||||
DECLARE_DEVICE_TYPE(NES_A9746, nes_a9746_device)
|
||||
|
||||
DECLARE_DEVICE_TYPE(NES_A88S1, nes_a88s1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_FCGJ8IN1, nes_fcgj8in1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_EL86XC, nes_bmc_el86xc_device)
|
||||
DECLARE_DEVICE_TYPE(NES_FK23C, nes_fk23c_device)
|
||||
DECLARE_DEVICE_TYPE(NES_FK23CA, nes_fk23ca_device)
|
||||
DECLARE_DEVICE_TYPE(NES_NT639, nes_nt639_device)
|
||||
DECLARE_DEVICE_TYPE(NES_RESETTXROM0, nes_resettxrom0_device)
|
||||
DECLARE_DEVICE_TYPE(NES_RESETTXROM1, nes_resettxrom1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_RESETTXROM2, nes_resettxrom2_device)
|
||||
DECLARE_DEVICE_TYPE(NES_RESETTXROM, nes_resettxrom_device)
|
||||
DECLARE_DEVICE_TYPE(NES_S24IN1SC03, nes_s24in1sc03_device)
|
||||
DECLARE_DEVICE_TYPE(NES_TECHLINE9IN1, nes_tech9in1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_8IN1, nes_bmc_8in1_device)
|
||||
|
@ -430,13 +430,11 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("resetsxrom", NES_RESETSXROM);
|
||||
// misc multigame cart MMC3 clone boards
|
||||
device.option_add_internal("a88s1", NES_A88S1);
|
||||
device.option_add_internal("fcgj8in1", NES_FCGJ8IN1);
|
||||
device.option_add_internal("bmc_el86xc", NES_BMC_EL86XC);
|
||||
device.option_add_internal("fk23c", NES_FK23C);
|
||||
device.option_add_internal("fk23ca", NES_FK23CA);
|
||||
device.option_add_internal("nt639", NES_NT639);
|
||||
device.option_add_internal("resettxrom0", NES_RESETTXROM0);
|
||||
device.option_add_internal("resettxrom1", NES_RESETTXROM1);
|
||||
device.option_add_internal("resettxrom2", NES_RESETTXROM2);
|
||||
device.option_add_internal("resettxrom", NES_RESETTXROM);
|
||||
device.option_add_internal("s24in1c03", NES_S24IN1SC03);
|
||||
device.option_add_internal("tech9in1", NES_TECHLINE9IN1);
|
||||
device.option_add_internal("bmc_8in1", NES_BMC_8IN1);
|
||||
|
@ -302,7 +302,7 @@ static const nes_mmc mmc_list[] =
|
||||
{ 264, YOKO_BOARD },
|
||||
{ 265, BMC_T262 },
|
||||
{ 266, UNL_CITYFIGHT },
|
||||
{ 267, BMC_FCGENJIN_8IN1 },
|
||||
{ 267, BMC_EL861121C },
|
||||
// 268 COOLBOY and MINDKIDS
|
||||
// 269 mc_gx121 seems to be a PnP, but there are two actual multicarts for this mapper?
|
||||
// 270 multicarts on OneBus Famiclones
|
||||
@ -348,7 +348,7 @@ static const nes_mmc mmc_list[] =
|
||||
// 310 variant of mapper 125?
|
||||
// 311 Unused (previously assigned in error to a bad SMB2 pirate dump)
|
||||
{ 312, KAISER_KS7013B }, // Highway Star Kaiser bootleg
|
||||
{ 313, BMC_RESETTXROM0 },
|
||||
{ 313, BMC_RESETTXROM },
|
||||
{ 314, BMC_64IN1NR },
|
||||
// 315 820732C and 830134C multicarts, not in nes.xml?
|
||||
// 316 Unused
|
||||
@ -412,7 +412,7 @@ static const nes_mmc mmc_list[] =
|
||||
{ 374, BMC_RESETSXROM },
|
||||
// 375 135-in-1 2MB multicart
|
||||
{ 376, BMC_YY841155C },
|
||||
// 377 JY-111 multicart, similar to mapper 367
|
||||
{ 377, BMC_EL860947C },
|
||||
// 378 8-in-1 multicart, which one?
|
||||
// 379 35-in-1 multicart, similar to mapper 38
|
||||
{ 380, BMC_970630C },
|
||||
@ -748,6 +748,32 @@ void nes_cart_slot_device::call_load_ines()
|
||||
submapper = 0;
|
||||
logerror("Unimplemented NES 2.0 submapper: CAMERICA-BF9096.\n");
|
||||
}
|
||||
// 313: BMC RESET-TXROM
|
||||
else if (mapper == 313)
|
||||
{
|
||||
if (submapper == 0)
|
||||
{
|
||||
m_cart->set_outer_prg_size(128);
|
||||
m_cart->set_outer_chr_size(128);
|
||||
}
|
||||
else if (submapper == 1)
|
||||
{
|
||||
m_cart->set_outer_prg_size(256);
|
||||
m_cart->set_outer_chr_size(128);
|
||||
}
|
||||
else if (submapper == 2)
|
||||
{
|
||||
m_cart->set_outer_prg_size(128);
|
||||
m_cart->set_outer_chr_size(256);
|
||||
}
|
||||
else if (submapper == 3)
|
||||
{
|
||||
m_cart->set_outer_prg_size(256);
|
||||
m_cart->set_outer_chr_size(256);
|
||||
}
|
||||
else
|
||||
logerror("Unimplemented NES 2.0 submapper: %d\n", submapper);
|
||||
}
|
||||
else if (submapper)
|
||||
{
|
||||
submapper = 0;
|
||||
@ -937,15 +963,6 @@ void nes_cart_slot_device::call_load_ines()
|
||||
m_pcb_id = RCM_GS2013;
|
||||
break;
|
||||
|
||||
case BMC_RESETTXROM0:
|
||||
if (submapper == 1)
|
||||
m_pcb_id = BMC_RESETTXROM1;
|
||||
else if (submapper == 2)
|
||||
m_pcb_id = BMC_RESETTXROM2;
|
||||
else if (submapper > 2)
|
||||
logerror("Unimplemented NES 2.0 submapper: %d\n", submapper);
|
||||
break;
|
||||
|
||||
case HES_BOARD:
|
||||
if (crc_hack)
|
||||
m_cart->set_pcb_ctrl_mirror(true); // Mapper 113 is used for 2 diff boards
|
||||
@ -999,7 +1016,16 @@ void nes_cart_slot_device::call_load_ines()
|
||||
case NAMCOT_163:
|
||||
mapper_sram_size = m_cart->get_mapper_sram_size();
|
||||
break;
|
||||
//FIXME: we also have to fix Action 52 PRG loading somewhere...
|
||||
|
||||
case BMC_EL860947C:
|
||||
m_cart->set_outer_prg_size(128);
|
||||
break;
|
||||
|
||||
case BMC_EL861121C:
|
||||
m_cart->set_outer_prg_size(256);
|
||||
break;
|
||||
|
||||
//FIXME: we also have to fix Action 52 PRG loading somewhere...
|
||||
|
||||
case BANDAI_DATACH:
|
||||
fatalerror("Bandai Datach games have to be mounted in the Datach subslot!\n");
|
||||
@ -1283,13 +1309,6 @@ const char * nes_cart_slot_device::get_default_card_ines(get_default_card_softwa
|
||||
if (ROM[4] >= 20)
|
||||
pcb_id = RCM_GS2013;
|
||||
break;
|
||||
|
||||
case BMC_RESETTXROM0: // Mapper 313 is used for 3 diff boards
|
||||
if (submapper == 1)
|
||||
pcb_id = BMC_RESETTXROM1;
|
||||
if (submapper == 2)
|
||||
pcb_id = BMC_RESETTXROM2;
|
||||
break;
|
||||
}
|
||||
|
||||
return nes_get_slot(pcb_id);
|
||||
|
@ -303,14 +303,12 @@ static const nes_pcb pcb_list[] =
|
||||
{ "bmc_g146", BMC_G146 },
|
||||
{ "bmc_11160", BMC_11160 },
|
||||
{ "a88s1", BMC_A88S1 },
|
||||
{ "fcgj8in1", BMC_FCGENJIN_8IN1 },
|
||||
{ "bmc_el86xc", BMC_EL860947C },
|
||||
{ "fk23c", BMC_FK23C },
|
||||
{ "fk23ca", BMC_FK23CA },
|
||||
{ "nt639", BMC_NT639 },
|
||||
{ "resetsxrom", BMC_RESETSXROM },
|
||||
{ "resettxrom0", BMC_RESETTXROM0 },
|
||||
{ "resettxrom1", BMC_RESETTXROM1 },
|
||||
{ "resettxrom2", BMC_RESETTXROM2 },
|
||||
{ "resettxrom", BMC_RESETTXROM },
|
||||
{ "s24in1c03", BMC_S24IN1SC03 },
|
||||
{ "tech9in1", BMC_TECHLINE9IN1 },
|
||||
{ "bmc_8in1", BMC_8IN1 },
|
||||
@ -668,6 +666,28 @@ void nes_cart_slot_device::call_load_pcb()
|
||||
m_cart->set_n163_vol(n163_get_submapper_num(get_feature("n163-vol")));
|
||||
}
|
||||
|
||||
// get outer PRG bank size for multicart boards that use this feature
|
||||
if (m_pcb_id == BMC_EL860947C || m_pcb_id == BMC_RESETTXROM)
|
||||
{
|
||||
const char *size = get_feature("outer-prg-size");
|
||||
int kbyte = 128;
|
||||
|
||||
if (size == nullptr || sscanf(size, "%u%*c", &kbyte) != 1 || kbyte & (kbyte - 1) || kbyte <= 0)
|
||||
logerror("Unexpected outer-prg-size: %s\n", size ? size : "(nullptr)");
|
||||
m_cart->set_outer_prg_size(kbyte);
|
||||
}
|
||||
|
||||
// get outer CHR bank size for multicart boards that use this feature
|
||||
if (m_pcb_id == BMC_RESETTXROM)
|
||||
{
|
||||
const char *size = get_feature("outer-chr-size");
|
||||
int kbyte = 128;
|
||||
|
||||
if (size == nullptr || sscanf(size, "%u%*c", &kbyte) != 1 || kbyte & (kbyte - 1) || kbyte <= 0)
|
||||
logerror("Unexpected outer-chr-size: %s\n", size ? size : "(nullptr)");
|
||||
m_cart->set_outer_chr_size(kbyte);
|
||||
}
|
||||
|
||||
|
||||
// pirate variants of boards with bus conflict are often not suffering from it
|
||||
// and actually games glitch if bus conflict is emulated...
|
||||
|
@ -126,6 +126,9 @@ device_nes_cart_interface::device_nes_cart_interface(const machine_config &mconf
|
||||
, m_vrc_ls_prg_a(0)
|
||||
, m_vrc_ls_prg_b(0)
|
||||
, m_vrc_ls_chr(0)
|
||||
, m_n163_vol(0)
|
||||
, m_outer_prg_size(0)
|
||||
, m_outer_chr_size(0)
|
||||
, m_mirroring(PPU_MIRROR_NONE)
|
||||
, m_pcb_ctrl_mirror(false)
|
||||
, m_four_screen_vram(false)
|
||||
|
@ -98,14 +98,14 @@ enum
|
||||
BMC_60311C, BMC_80013B, BMC_810544C, BMC_830425C,
|
||||
BMC_830928C, BMC_850437C, BMC_970630C,
|
||||
BMC_N32_4IN1, BMC_NT639, BMC_NTD_03,
|
||||
BMC_FCGENJIN_8IN1, BMC_FK23C, BMC_FK23CA, BMC_JY820845C,
|
||||
BMC_EL860947C, BMC_EL861121C, BMC_FK23C, BMC_FK23CA, BMC_JY820845C,
|
||||
BMC_PJOY84, BMC_TH22913, BMC_11160, BMC_G146,
|
||||
BMC_2751, BMC_8157, BMC_00202650,
|
||||
BMC_820720C, BMC_830118C, BMC_830832C, BMC_YY841101C, BMC_YY841155C,
|
||||
BMC_411120C, BMC_GOLD150, BMC_GOLD260,
|
||||
BMC_12IN1, BMC_4IN1RESET, BMC_42IN1RESET, BMC_LITTLECOM160, BMC_CTC09,
|
||||
BMC_K1029, BMC_K3006, BMC_K3033, BMC_K3036, BMC_K3046, BMC_SA005A, BMC_TJ03,
|
||||
BMC_RESETSXROM, BMC_RESETTXROM0, BMC_RESETTXROM1, BMC_RESETTXROM2, BMC_TECHLINE9IN1,
|
||||
BMC_RESETSXROM, BMC_RESETTXROM, BMC_TECHLINE9IN1,
|
||||
// Unlicensed
|
||||
UNL_8237, UNL_8237A, UNL_CC21, UNL_AX5705, UNL_KN42, UNL_KOF97,
|
||||
UNL_N625092, UNL_SC127, UNL_SMB2J, UNL_T230, UNL_MMALEE,
|
||||
@ -223,6 +223,8 @@ public:
|
||||
void set_mmc1_type(mmc1_type val) { m_mmc1_type = val; }
|
||||
void set_vrc_lines(int PRG_A, int PRG_B, int CHR) { m_vrc_ls_prg_a = PRG_A; m_vrc_ls_prg_b = PRG_B; m_vrc_ls_chr = CHR; }
|
||||
void set_n163_vol(int vol) { m_n163_vol = vol; }
|
||||
void set_outer_prg_size(int val) { m_outer_prg_size = val; }
|
||||
void set_outer_chr_size(int val) { m_outer_chr_size = val; }
|
||||
void set_x1_005_alt(bool val) { m_x1_005_alt_mirroring = val; }
|
||||
void set_bus_conflict(bool val) { m_bus_conflict = val; }
|
||||
uint8_t get_open_bus() { return m_open_bus; }
|
||||
@ -296,6 +298,8 @@ protected:
|
||||
int m_vrc_ls_prg_b;
|
||||
int m_vrc_ls_chr;
|
||||
int m_n163_vol;
|
||||
int m_outer_prg_size;
|
||||
int m_outer_chr_size;
|
||||
|
||||
int m_mirroring;
|
||||
bool m_pcb_ctrl_mirror, m_four_screen_vram, m_has_trainer;
|
||||
|
Loading…
Reference in New Issue
Block a user