diff options
author | 0kmg <9137159+0kmg@users.noreply.github.com> | 2021-08-19 07:09:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-19 11:09:06 -0400 |
commit | cef3a78e7254b6334d7c045d6e9c83daf73653d2 (patch) | |
tree | 2d828d2770ba01e1c08a3ba0bfd262461cb8b46d | |
parent | 0154c068f6643c54abf05f32cfd15635bfb237d5 (diff) |
bus/nes: Added support for a Mortal Kombat 6/7 cart. (#8466)
- Removed MK6 and MK7 sets that were listed as extracts from this cart.
- Marked all Yu Yu Hakusho Final bootlegs (what MK7 really is) as partially supported since they all have significant background graphics issues.
New working software list additions
-----------------------------------
2 in 1 - Mortal Kombat 6 & Mortal Kombat 7
-rw-r--r-- | hash/nes.xml | 53 | ||||
-rw-r--r-- | src/devices/bus/nes/mmc3_clones.cpp | 41 | ||||
-rw-r--r-- | src/devices/bus/nes/mmc3_clones.h | 15 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_carts.cpp | 1 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_ines.hxx | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_pcb.hxx | 1 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_slot.h | 2 |
7 files changed, 78 insertions, 37 deletions
diff --git a/hash/nes.xml b/hash/nes.xml index 0d8a8d6c70e..b9e96892c00 100644 --- a/hash/nes.xml +++ b/hash/nes.xml @@ -61530,6 +61530,21 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx </part> </software> + <software name="2mk67" supported="partial"> + <description>2 in 1 - Mortal Kombat 6 & Mortal Kombat 7</description> + <year>199?</year> + <publisher>Kasheng</publisher> + <part name="cart" interface="nes_cart"> + <feature name="slot" value="nt639" /> + <dataarea name="prg" size="262144"> + <rom name="2-in-1 - mortal kombat 6 + 7 (nt-639).prg" size="262144" crc="e1e81430" sha1="4478cd97d34a1e5b7e0498851b36d6afa8172a76" status="baddump" /> + </dataarea> + <dataarea name="chr" size="524288"> + <rom name="2-in-1 - mortal kombat 6 + 7 (nt-639).chr" size="524288" crc="de87a98e" sha1="35ad99a2a3964be112d5a449f7208b52e6f476a3" status="baddump" /> + </dataarea> + </part> + </software> + <software name="2s5ej3" supported="no"> <description>2 in 1 - Sonic 5 + Earthworm Jim 3 (Asia)</description> <year>19??</year> @@ -76444,38 +76459,6 @@ be better to redump them properly. --> </part> </software> - <software name="mk6u1" cloneof="mk6"> - <description>Mortal Kombat 6 (Asia, Unprotected, Ripped from multicart)</description> - <year>1996</year> - <publisher>N.T</publisher> - <part name="cart" interface="nes_cart"> - <feature name="slot" value="txrom" /> - <feature name="pcb" value="NES-TLROM" /> - <dataarea name="chr" size="262144"> - <rom name="mortal kombat 6 (unprotected)(unl).chr" size="262144" crc="93c43dc7" sha1="5828c8d83ef5d70e935312f64d47bcc06e059fac" offset="00000" status="baddump" /> - </dataarea> - <dataarea name="prg" size="131072"> - <rom name="mortal kombat 6 (unprotected)(unl).prg" size="131072" crc="fa1a7d21" sha1="2ddfe7490716b960074b48c9e37f2ecf69975e7f" offset="00000" status="baddump" /> - </dataarea> - </part> - </software> - - <software name="mk7" supported="no"> - <description>Mortal Kombat 7 (Asia, Unprotected, Ripped from multicart)</description> - <year>1996</year> - <publisher>N.T</publisher> - <part name="cart" interface="nes_cart"> - <feature name="slot" value="txrom" /> - <feature name="pcb" value="NES-TLROM" /> - <dataarea name="chr" size="262144"> - <rom name="mortal kombat 7 (unprotected)(unl).chr" size="262144" crc="991f0081" sha1="578c2ef7c90fd1397b3a5e82bafd4f0a16abd01f" offset="00000" status="baddump" /> - </dataarea> - <dataarea name="prg" size="131072"> - <rom name="mortal kombat 7 (unprotected)(unl).prg" size="131072" crc="11dff499" sha1="7f059f45d194559ac40a9c0f6097a88e0b5a76a1" offset="00000" status="baddump" /> - </dataarea> - </part> - </software> - <software name="mk2blue" supported="partial"> <description>Mortal Kombat II (Asia, Blue Version)</description> <year>19??</year> @@ -77458,7 +77441,7 @@ be better to redump them properly. --> </part> </software> - <software name="yuyu97"> + <software name="yuyu97" supported="partial"> <description>Yu Yu Hakusho 97 V (Asia)</description> <year>1997</year> <publisher>N.T</publisher> @@ -77477,7 +77460,7 @@ be better to redump them properly. --> </part> </software> - <software name="yuyufinc" cloneof="yuyufin"> + <software name="yuyufinc" cloneof="yuyufin" supported="partial"> <description>Yu Yu Hakusho Final - Makai Saikyou Retsuden (Asia, Chinese, Hacked)</description> <year>1996</year> <publisher>N.T</publisher> @@ -77494,7 +77477,7 @@ be better to redump them properly. --> </part> </software> - <software name="yuyufin"> + <software name="yuyufin" supported="partial"> <description>Yu Yu Hakusho Final - Makai Saikyou Retsuden (Asia, English)</description> <year>1996</year> <publisher>N.T</publisher> diff --git a/src/devices/bus/nes/mmc3_clones.cpp b/src/devices/bus/nes/mmc3_clones.cpp index e9bd7de2e22..328efb0837e 100644 --- a/src/devices/bus/nes/mmc3_clones.cpp +++ b/src/devices/bus/nes/mmc3_clones.cpp @@ -53,6 +53,7 @@ DEFINE_DEVICE_TYPE(NES_SACHEN_SHERO, nes_sachen_shero_device, "nes_shero", DEFINE_DEVICE_TYPE(NES_FCGJ8IN1, nes_fcgj8in1_device, "nes_fcgj8in1", "NES Cart BMC FC Genjin 8 in 1 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_S24IN1SC03, nes_s24in1sc03_device, "nes_s24in1c03", "NES Cart Super 24 in 1 SC-03 PCB") DEFINE_DEVICE_TYPE(NES_BMC_8IN1, nes_bmc_8in1_device, "nes_bmc_8in1", "NES Cart BMC GRM070 8 in 1 PCB") DEFINE_DEVICE_TYPE(NES_BMC_15IN1, nes_bmc_15in1_device, "nes_bmc_15in1", "NES Cart BMC 15 in 1 PCB") @@ -198,6 +199,11 @@ nes_fk23ca_device::nes_fk23ca_device(const machine_config &mconfig, const char * { } +nes_nt639_device::nes_nt639_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : nes_txrom_device(mconfig, NES_NT639, tag, owner, clock) +{ +} + nes_s24in1sc03_device::nes_s24in1sc03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : nes_txrom_device(mconfig, NES_S24IN1SC03, tag, owner, clock) { @@ -520,6 +526,12 @@ void nes_fk23ca_device::pcb_reset() fk23c_set_chr(); } +void nes_nt639_device::pcb_reset() +{ + m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM; + mmc3_common_initialize(0x0f, 0xff, 0); +} + void nes_s24in1sc03_device::device_start() { mmc3_start(); @@ -2044,6 +2056,35 @@ void nes_fk23c_device::write_h(offs_t offset, uint8_t data) /*------------------------------------------------- + BMC-NT-639 + + Unknown Bootleg Multigame Board + Games: 2 in 1 Mortal Kombat VI/VII + + NES 2.0: mapper 291 + + In MAME: Supported. + + -------------------------------------------------*/ + +void nes_nt639_device::write_m(offs_t offset, u8 data) +{ + LOG_MMC(("nt639 write_m, offset: %04x, data: %02x\n", offset, data)); + + if (BIT(data, 5)) + prg32(bitswap<3>(data, 6, 2, 1)); + else + { + m_prg_base = (data & 0x40) >> 2; + set_prg(m_prg_base, m_prg_mask); + } + + m_chr_base = (data & 0x40) << 2; + set_chr(m_chr_source, m_chr_base, m_chr_mask); +} + +/*------------------------------------------------- + Board BMC-SUPER24IN1SC03 Games: Super 24-in-1 diff --git a/src/devices/bus/nes/mmc3_clones.h b/src/devices/bus/nes/mmc3_clones.h index 65ae5ede1ec..5e0f926543c 100644 --- a/src/devices/bus/nes/mmc3_clones.h +++ b/src/devices/bus/nes/mmc3_clones.h @@ -487,6 +487,20 @@ public: }; +// ======================> nes_nt639_device + +class nes_nt639_device : public nes_txrom_device +{ +public: + // construction/destruction + nes_nt639_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + virtual void write_m(offs_t offset, u8 data) override; + + virtual void pcb_reset() override; +}; + + // ======================> nes_s24in1sc03_device class nes_s24in1sc03_device : public nes_txrom_device @@ -849,6 +863,7 @@ DECLARE_DEVICE_TYPE(NES_A9746, nes_a9746_device) DECLARE_DEVICE_TYPE(NES_FCGJ8IN1, nes_fcgj8in1_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_S24IN1SC03, nes_s24in1sc03_device) DECLARE_DEVICE_TYPE(NES_BMC_8IN1, nes_bmc_8in1_device) DECLARE_DEVICE_TYPE(NES_BMC_15IN1, nes_bmc_15in1_device) diff --git a/src/devices/bus/nes/nes_carts.cpp b/src/devices/bus/nes/nes_carts.cpp index 118bf667da9..08ae42d4b63 100644 --- a/src/devices/bus/nes/nes_carts.cpp +++ b/src/devices/bus/nes/nes_carts.cpp @@ -422,6 +422,7 @@ void nes_cart(device_slot_interface &device) device.option_add_internal("fcgj8in1", NES_FCGJ8IN1); 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("s24in1c03", NES_S24IN1SC03); device.option_add_internal("bmc_8in1", NES_BMC_8IN1); device.option_add_internal("bmc_15in1", NES_BMC_15IN1); diff --git a/src/devices/bus/nes/nes_ines.hxx b/src/devices/bus/nes/nes_ines.hxx index 65cd60caca0..e8446e2fd0e 100644 --- a/src/devices/bus/nes/nes_ines.hxx +++ b/src/devices/bus/nes/nes_ines.hxx @@ -326,7 +326,7 @@ static const nes_mmc mmc_list[] = { 288, BMC_GKCXIN1 }, { 289, BMC_60311C }, { 290, BMC_NTD_03 }, - // 291 Kasheng 2-in-1 multicarts not yet in nes.xml? + { 291, BMC_NT639 }, // { 292, UNL_DRAGONFIGHTER }, in nes.xml, not emulated yet // 293 NewStar multicarts, do we have these in nes.xml? // 294 variant of mapper 134? diff --git a/src/devices/bus/nes/nes_pcb.hxx b/src/devices/bus/nes/nes_pcb.hxx index 0bc0023b60b..22a09d3b5c4 100644 --- a/src/devices/bus/nes/nes_pcb.hxx +++ b/src/devices/bus/nes/nes_pcb.hxx @@ -299,6 +299,7 @@ static const nes_pcb pcb_list[] = { "fcgj8in1", BMC_FCGENJIN_8IN1 }, { "fk23c", BMC_FK23C }, { "fk23ca", BMC_FK23CA }, + { "nt639", BMC_NT639 }, { "s24in1c03", BMC_S24IN1SC03 }, { "bmc_8in1", BMC_8IN1 }, { "bmc_15in1", BMC_15IN1 }, diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h index 49f634080d9..d59b39d28c9 100644 --- a/src/devices/bus/nes/nes_slot.h +++ b/src/devices/bus/nes/nes_slot.h @@ -97,7 +97,7 @@ enum BMC_70IN1, BMC_500IN1, BMC_800IN1, BMC_1200IN1, BMC_GKA, BMC_GKB, BMC_GKCXIN1, BMC_VT5201, BMC_BENSHIENG, BMC_60311C, BMC_80013B, BMC_810544C, BMC_830425C, BMC_850437C, - BMC_NTD_03, BMC_G63IN1, BMC_FCGENJIN_8IN1, BMC_FK23C, BMC_FK23CA, + BMC_NT639, BMC_NTD_03, BMC_G63IN1, BMC_FCGENJIN_8IN1, BMC_FK23C, BMC_FK23CA, BMC_PJOY84, BMC_TH22913, BMC_11160, BMC_G146, BMC_2751, BMC_8157, BMC_830118C, BMC_830832C, BMC_841101C, BMC_411120C, BMC_GOLD150, BMC_GOLD260, BMC_SUPER22, |