mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Merge pull request #8396 from 0kmg/nes-mapper361
bus/nes: Added support for several JY Company 4-in-1 bootlegs carts.
This commit is contained in:
commit
7ce90f4e64
68
hash/nes.xml
68
hash/nes.xml
@ -51669,6 +51669,69 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
</software>
|
||||
|
||||
|
||||
<!-- J.Y. Company -->
|
||||
|
||||
<software name="mc_4jy9">
|
||||
<description>1994 Ball 4 in 1 Series (JY-009)</description>
|
||||
<year>1994</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_841101c" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1994 ball 4-in-1 series (jy-009).prg" size="524288" crc="a75d2f6d" sha1="2b4250e0d0ad2225003d7f178bcc8fc353a27ea3" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="1994 ball 4-in-1 series (jy-009).chr" size="524288" crc="560ca283" sha1="d00cfd3c0c65db543a635fcddb1b0cf86149f257" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_4jy18">
|
||||
<description>1996 Super HiK 4 in 1 (JY-018)</description>
|
||||
<year>1996</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_841101c" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-018).prg" size="524288" crc="b8740880" sha1="8e05438c36323e8c400c257d5d8007bfe5841d20" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-018).chr" size="524288" crc="29b559a8" sha1="e6456668069a8e2f615b8d4724dd99903a79028c" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_4jy19">
|
||||
<description>1995 Super HiK 4 in 1 (JY-019)</description>
|
||||
<year>1995</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_841101c" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-019).prg" size="524288" crc="5bb37e97" sha1="126b4701467e9cb94c69b079563937429f3fd3bf" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="1995 super hik 4-in-1 (jy-019).chr" size="524288" crc="ad775257" sha1="ec4cad29b83ba3aa8fdd50ce259b75c56fdbe639" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_4jy20">
|
||||
<description>1996 Super HiK 4 in 1 (JY-020)</description>
|
||||
<year>1996</year>
|
||||
<publisher>J.Y. Company</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_841101c" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-020).prg" size="524288" crc="e858f260" sha1="60e0d13f27f567ed259aa8b91fe0f2b07e8a719e" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="1996 super hik 4-in-1 (jy-020).chr" size="524288" crc="934f22fd" sha1="ff90c43fe41912b560b865c03fefa1e897bb4352" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!-- Sachen / Thin Chen (and clones) -->
|
||||
|
||||
<software name="englpyrm">
|
||||
@ -79084,13 +79147,12 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_4o411" supported="no">
|
||||
<software name="mc_4o411">
|
||||
<description>4 in 1 (OK-411)</description>
|
||||
<year>19??</year>
|
||||
<publisher><unknown></publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_15in1" />
|
||||
<feature name="pcb" value="BMC-15IN1" />
|
||||
<feature name="slot" value="bmc_841101c" />
|
||||
<dataarea name="chr" size="524288">
|
||||
<rom name="4-in-1 (ok-411)[p1].chr" size="524288" crc="b9300c30" sha1="90cef987aac482e7402891892779847cffaa6ef0" offset="00000" status="baddump" />
|
||||
</dataarea>
|
||||
|
@ -62,6 +62,7 @@ DEFINE_DEVICE_TYPE(NES_BMC_GOLD7IN1, nes_bmc_gold7in1_device, "nes_bmc_gold7in
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_GC6IN1, nes_bmc_gc6in1_device, "nes_bmc_gc6in1", "NES Cart BMC Golden Card 6 in 1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_411120C, nes_bmc_411120c_device, "nes_bmc_411120c", "NES Cart BMC 411120C PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_830118C, nes_bmc_830118c_device, "nes_bmc_830118c", "NES Cart BMC 830118C PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_841101C, nes_bmc_841101c_device, "nes_bmc_841101c", "NES Cart BMC 841101C PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_PJOY84, nes_pjoy84_device, "nes_pjoy84", "NES Cart Powerjoy 84 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_COOLBOY, nes_coolboy_device, "nes_coolboy", "NES Cart CoolBoy PCB")
|
||||
|
||||
@ -236,6 +237,11 @@ nes_bmc_830118c_device::nes_bmc_830118c_device(const machine_config &mconfig, co
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_841101c_device::nes_bmc_841101c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_txrom_device(mconfig, NES_BMC_841101C, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
nes_pjoy84_device::nes_pjoy84_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: nes_txrom_device(mconfig, NES_PJOY84, tag, owner, clock)
|
||||
{
|
||||
@ -601,6 +607,12 @@ void nes_bmc_830118c_device::pcb_reset()
|
||||
mmc3_common_initialize(0x7f, 0x7f, 0);
|
||||
}
|
||||
|
||||
void nes_bmc_841101c_device::pcb_reset()
|
||||
{
|
||||
m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM;
|
||||
mmc3_common_initialize(0x0f, 0x7f, 0);
|
||||
}
|
||||
|
||||
void nes_pjoy84_device::device_start()
|
||||
{
|
||||
mmc3_start();
|
||||
@ -2437,6 +2449,32 @@ void nes_bmc_830118c_device::write_m(offs_t offset, uint8_t data)
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
BMC-841101C
|
||||
|
||||
Games: 4 in 1 (OK-411, JY-009, JY-018, JY-019, JY-020)
|
||||
|
||||
MMC3 clone with banking for multigame menu.
|
||||
|
||||
NES 2.0: mapper 361
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_bmc_841101c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_841101c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
if (offset & 0x1000) // games only write 0x7000, this mask is a guess
|
||||
{
|
||||
m_prg_base = data & 0xf0;
|
||||
set_prg(m_prg_base, m_prg_mask);
|
||||
m_chr_base = (data & 0xf0) << 3;
|
||||
set_chr(m_chr_source, m_chr_base, m_chr_mask);
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
BMC-POWERJOY
|
||||
|
@ -675,6 +675,20 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_bmc_841101c_device
|
||||
|
||||
class nes_bmc_841101c_device : public nes_txrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_bmc_841101c_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_pjoy84_device
|
||||
|
||||
class nes_pjoy84_device : public nes_txrom_device
|
||||
@ -753,6 +767,7 @@ DECLARE_DEVICE_TYPE(NES_BMC_GOLD7IN1, nes_bmc_gold7in1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GC6IN1, nes_bmc_gc6in1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_411120C, nes_bmc_411120c_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_830118C, nes_bmc_830118c_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_841101C, nes_bmc_841101c_device)
|
||||
DECLARE_DEVICE_TYPE(NES_PJOY84, nes_pjoy84_device)
|
||||
DECLARE_DEVICE_TYPE(NES_COOLBOY, nes_coolboy_device)
|
||||
|
||||
|
@ -419,6 +419,7 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("bmc_gc6in1", NES_BMC_GC6IN1);
|
||||
device.option_add_internal("bmc_411120c", NES_BMC_411120C);
|
||||
device.option_add_internal("bmc_830118c", NES_BMC_830118C);
|
||||
device.option_add_internal("bmc_841101c", NES_BMC_841101C);
|
||||
device.option_add_internal("pjoy84", NES_PJOY84);
|
||||
device.option_add_internal("nocash_nochr", NES_NOCHR);
|
||||
device.option_add_internal("action53", NES_ACTION53);
|
||||
|
@ -396,7 +396,7 @@ static const nes_mmc mmc_list[] =
|
||||
// 358 JY multicarts, variant of mapper 282
|
||||
// 359 BMC-SB-5013 multicarts
|
||||
// 360 Bit Corp 31-in-1 (ID 3150) (has five accessible DIP switches!)
|
||||
// 361 JY multicarts
|
||||
{ 361, BMC_841101C },
|
||||
// 362 JY-005 multicart
|
||||
// 363 variant of mapper 358?
|
||||
// 364 JY-007, is this ttoons6 in nes.xml?
|
||||
|
@ -296,6 +296,7 @@ static const nes_pcb pcb_list[] =
|
||||
{ "bmc_gc6in1", BMC_GOLDENCARD_6IN1 },
|
||||
{ "bmc_411120c", BMC_411120C },
|
||||
{ "bmc_830118c", BMC_830118C },
|
||||
{ "bmc_841101c", BMC_841101C },
|
||||
{ "pjoy84", BMC_PJOY84 },
|
||||
{ "bmc_gold150", BMC_GOLD150 },
|
||||
{ "bmc_gold260", BMC_GOLD260 },
|
||||
|
@ -97,7 +97,7 @@ enum
|
||||
BMC_70IN1, BMC_800IN1, BMC_1200IN1,
|
||||
BMC_GKA, BMC_GKB, BMC_VT5201, BMC_BENSHIENG, BMC_80013B, BMC_810544C,
|
||||
BMC_NTD_03, BMC_G63IN1, BMC_FK23C, BMC_FK23CA, BMC_PJOY84,
|
||||
BMC_POWERFUL_255, BMC_11160, BMC_G146, BMC_8157, BMC_830118C,
|
||||
BMC_POWERFUL_255, BMC_11160, BMC_G146, BMC_8157, BMC_830118C, BMC_841101C,
|
||||
BMC_411120C, BMC_GOLD150, BMC_GOLD260, BMC_CH001, BMC_SUPER22,
|
||||
BMC_12IN1, BMC_4IN1RESET, BMC_42IN1RESET, BMC_LITTLECOM160,
|
||||
BMC_CTC09, BMC_K3046, BMC_SA005A, BMC_TJ03,
|
||||
|
Loading…
Reference in New Issue
Block a user