mirror of
https://github.com/holub/mame
synced 2025-07-05 01:48:29 +03:00
bus/nes: Added support for an 82 in 1 cartridge. (#9288)
New working software list additions (nes.xml) ----------------------------------- 82 in 1 [flaviocaste]
This commit is contained in:
parent
d83c79a1ea
commit
56db643ab0
17
hash/nes.xml
17
hash/nes.xml
@ -83395,6 +83395,23 @@ be better to redump them properly. -->
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="mc_82">
|
||||||
|
<description>82 in 1</description>
|
||||||
|
<year>199?</year>
|
||||||
|
<publisher><pirate></publisher>
|
||||||
|
<part name="cart" interface="nes_cart">
|
||||||
|
<feature name="slot" value="bmc_82ab" />
|
||||||
|
<feature name="pcb_model" value="82AB" />
|
||||||
|
<dataarea name="prg" size="2097152">
|
||||||
|
<rom name="ncn-82a" size="1048576" crc="ba6b565e" sha1="941cf81cc160371c9ae1a675a4c8195687b9fcdc" offset="0x000000" status="baddump" />
|
||||||
|
<rom name="ncn-82b" size="1048576" crc="f4b62953" sha1="fb2a89fd6c2c776f0ee4db807621a061c7cff065" offset="0x100000" status="baddump" />
|
||||||
|
</dataarea>
|
||||||
|
<!-- 8k VRAM on cartridge -->
|
||||||
|
<dataarea name="vram" size="8192">
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="mc_83">
|
<software name="mc_83">
|
||||||
<description>83 in 1</description>
|
<description>83 in 1</description>
|
||||||
<year>19??</year>
|
<year>19??</year>
|
||||||
|
@ -97,6 +97,7 @@ DEFINE_DEVICE_TYPE(NES_BMC_1200IN1, nes_bmc_1200in1_device, "nes_bmc_1200i
|
|||||||
DEFINE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device, "nes_bmc_gold150", "NES Cart BMC Golden 150 in 1 PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device, "nes_bmc_gold150", "NES Cart BMC Golden 150 in 1 PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device, "nes_bmc_gold260", "NES Cart BMC Golden 260 in 1 PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device, "nes_bmc_gold260", "NES Cart BMC Golden 260 in 1 PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device, "nes_bmc_th22913", "NES Cart BMC TH2291-3 PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device, "nes_bmc_th22913", "NES Cart BMC TH2291-3 PCB")
|
||||||
|
DEFINE_DEVICE_TYPE(NES_BMC_82AB, nes_bmc_82ab_device, "nes_bmc_82ab", "NES Cart BMC 82AB PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device, "nes_bmc_4in1reset", "NES Cart BMC 4 in 1 (Reset Based) PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device, "nes_bmc_4in1reset", "NES Cart BMC 4 in 1 (Reset Based) PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device, "nes_bmc_42in1reset", "NES Cart BMC 42 in 1 (Reset Based) PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device, "nes_bmc_42in1reset", "NES Cart BMC 42 in 1 (Reset Based) PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device, "nes_bmc_nc20mb", "NES Cart BMC NC-20MB PCB")
|
DEFINE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device, "nes_bmc_nc20mb", "NES Cart BMC NC-20MB PCB")
|
||||||
@ -498,8 +499,18 @@ nes_n625092_device::nes_n625092_device(const machine_config &mconfig, const char
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nes_bmc_th22913_device::nes_bmc_th22913_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_vram_protect_device(mconfig, type, tag, owner, clock), m_vram_prot_bit(type == NES_BMC_TH22913 ? 10 : 9)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
nes_bmc_th22913_device::nes_bmc_th22913_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
nes_bmc_th22913_device::nes_bmc_th22913_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: nes_vram_protect_device(mconfig, NES_BMC_TH22913, tag, owner, clock)
|
: nes_bmc_th22913_device(mconfig, NES_BMC_TH22913, tag, owner, clock)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
nes_bmc_82ab_device::nes_bmc_82ab_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_bmc_th22913_device(mconfig, NES_BMC_82AB, tag, owner, clock)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3481,9 +3492,9 @@ void nes_n625092_device::write_h(offs_t offset, u8 data)
|
|||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
|
||||||
BMC-TH2291-3, BMC-CH-011
|
BMC-TH2291-3, BMC-CH-011, BMC-82AB
|
||||||
|
|
||||||
Games: Powerful 250 in 1, Powerful 255 in 1
|
Games: Powerful 250 in 1, Powerful 255 in 1, 82 in 1
|
||||||
|
|
||||||
iNES: mapper 63
|
iNES: mapper 63
|
||||||
|
|
||||||
@ -3501,5 +3512,5 @@ void nes_bmc_th22913_device::write_h(offs_t offset, u8 data)
|
|||||||
prg16_cdef(bank | mode);
|
prg16_cdef(bank | mode);
|
||||||
|
|
||||||
set_nt_mirroring(BIT(offset, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
set_nt_mirroring(BIT(offset, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||||
m_vram_protect = BIT(offset, 10);
|
m_vram_protect = BIT(offset, m_vram_prot_bit);
|
||||||
}
|
}
|
||||||
|
@ -1280,6 +1280,23 @@ public:
|
|||||||
virtual void write_h(offs_t offset, u8 data) override;
|
virtual void write_h(offs_t offset, u8 data) override;
|
||||||
|
|
||||||
virtual void pcb_reset() override;
|
virtual void pcb_reset() override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// construction/destruction
|
||||||
|
nes_bmc_th22913_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
|
private:
|
||||||
|
u8 m_vram_prot_bit;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> nes_bmc_82ab_device
|
||||||
|
|
||||||
|
class nes_bmc_82ab_device : public nes_bmc_th22913_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction/destruction
|
||||||
|
nes_bmc_82ab_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1353,5 +1370,6 @@ DECLARE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device)
|
|||||||
DECLARE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device)
|
DECLARE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_BMC_LC160, nes_bmc_lc160_device)
|
DECLARE_DEVICE_TYPE(NES_BMC_LC160, nes_bmc_lc160_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device)
|
DECLARE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device)
|
||||||
|
DECLARE_DEVICE_TYPE(NES_BMC_82AB, nes_bmc_82ab_device)
|
||||||
|
|
||||||
#endif // MAME_BUS_NES_MULTIGAME_H
|
#endif // MAME_BUS_NES_MULTIGAME_H
|
||||||
|
@ -383,6 +383,7 @@ void nes_cart(device_slot_interface &device)
|
|||||||
device.option_add_internal("bmc_60311c", NES_BMC_60311C);
|
device.option_add_internal("bmc_60311c", NES_BMC_60311C);
|
||||||
device.option_add_internal("bmc_80013b", NES_BMC_80013B);
|
device.option_add_internal("bmc_80013b", NES_BMC_80013B);
|
||||||
device.option_add_internal("bmc_810544c", NES_BMC_810544C);
|
device.option_add_internal("bmc_810544c", NES_BMC_810544C);
|
||||||
|
device.option_add_internal("bmc_82ab", NES_BMC_82AB);
|
||||||
device.option_add_internal("bmc_830425c", NES_BMC_830425C);
|
device.option_add_internal("bmc_830425c", NES_BMC_830425C);
|
||||||
device.option_add_internal("bmc_830506c", NES_BMC_830506C);
|
device.option_add_internal("bmc_830506c", NES_BMC_830506C);
|
||||||
device.option_add_internal("bmc_830928c", NES_BMC_830928C);
|
device.option_add_internal("bmc_830928c", NES_BMC_830928C);
|
||||||
|
@ -263,6 +263,7 @@ static const nes_pcb pcb_list[] =
|
|||||||
{ "bmc_60311c", BMC_60311C },
|
{ "bmc_60311c", BMC_60311C },
|
||||||
{ "bmc_80013b", BMC_80013B },
|
{ "bmc_80013b", BMC_80013B },
|
||||||
{ "bmc_810544c", BMC_810544C },
|
{ "bmc_810544c", BMC_810544C },
|
||||||
|
{ "bmc_82ab", BMC_82AB },
|
||||||
{ "bmc_830425c", BMC_830425C },
|
{ "bmc_830425c", BMC_830425C },
|
||||||
{ "bmc_830506c", BMC_830506C },
|
{ "bmc_830506c", BMC_830506C },
|
||||||
{ "bmc_830928c", BMC_830928C },
|
{ "bmc_830928c", BMC_830928C },
|
||||||
|
@ -97,7 +97,7 @@ enum
|
|||||||
BMC_70IN1, BMC_500IN1, BMC_800IN1, BMC_1200IN1,
|
BMC_70IN1, BMC_500IN1, BMC_800IN1, BMC_1200IN1,
|
||||||
BMC_GKA, BMC_GKB, BMC_GKCXIN1, BMC_GN91B,
|
BMC_GKA, BMC_GKB, BMC_GKCXIN1, BMC_GN91B,
|
||||||
BMC_HP898F, BMC_VT5201, BMC_BENSHIENG,
|
BMC_HP898F, BMC_VT5201, BMC_BENSHIENG,
|
||||||
BMC_CTC09, BMC_CTC_12IN1, BMC_60311C, BMC_80013B, BMC_810544C,
|
BMC_CTC09, BMC_CTC_12IN1, BMC_60311C, BMC_80013B, BMC_810544C, BMC_82AB,
|
||||||
BMC_830425C, BMC_830506C, BMC_830928C, BMC_850437C, BMC_891227, BMC_970630C,
|
BMC_830425C, BMC_830506C, BMC_830928C, BMC_850437C, BMC_891227, BMC_970630C,
|
||||||
BMC_N32_4IN1, BMC_NC20MB, BMC_NT639, BMC_NTD_03, BMC_SRPG_5IN1,
|
BMC_N32_4IN1, BMC_NC20MB, BMC_NT639, BMC_NTD_03, BMC_SRPG_5IN1,
|
||||||
BMC_EL860947C, BMC_EL861121C, BMC_FAM250, BMC_FK23C, BMC_FK23CA,
|
BMC_EL860947C, BMC_EL861121C, BMC_FAM250, BMC_FK23C, BMC_FK23CA,
|
||||||
|
Loading…
Reference in New Issue
Block a user