mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
bus/nes: Added support for a Big Nose 2-in-1 cart.
- Demoted bignfo to unsupported. It has timing issues like many Camerica games. It is likewise not working in the added 2-in-1. New working software list additions (nes.xml) ----------------------------------- 2 in 1 - Big Nose the Caveman & Big Nose Freaks Out [MLX]
This commit is contained in:
parent
4d513fc86d
commit
48357fe653
23
hash/nes.xml
23
hash/nes.xml
@ -4201,7 +4201,7 @@ license:CC0
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bignfo">
|
||||
<software name="bignfo" supported="no">
|
||||
<description>Big Nose Freaks Out (USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Camerica</publisher>
|
||||
@ -61302,6 +61302,24 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
|
||||
<!-- OTHER TAIWANESE ~ CHINESE ~ ASIAN PIRATES-->
|
||||
|
||||
<software name="2bignose" supported="partial">
|
||||
<description>2 in 1 - Big Nose the Caveman & Big Nose Freaks Out</description>
|
||||
<year>199?</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="serial" value="BC-019"/>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="kn42" />
|
||||
<feature name="mirroring" value="vertical" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="2-in-1 high standard game (bc-019).prg" size="524288" crc="330623a4" sha1="ad189495ed8b6d60dddcbb970be17174b2389e63" status="baddump" />
|
||||
</dataarea>
|
||||
<!-- 8k VRAM on cartridge -->
|
||||
<dataarea name="vram" size="8192">
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="2dkjb" supported="no">
|
||||
<description>2 in 1 - Donkey Kong & Jungle Book</description>
|
||||
<year>19??</year>
|
||||
@ -78732,6 +78750,7 @@ be better to redump them properly. -->
|
||||
<description>4 in 1 (Alt 2)</description>
|
||||
<year>19??</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_reset4" />
|
||||
<feature name="mirroring" value="vertical" />
|
||||
@ -78748,6 +78767,7 @@ be better to redump them properly. -->
|
||||
<description>4 in 1 (Alt 3)</description>
|
||||
<year>19??</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_reset4" />
|
||||
<dataarea name="chr" size="32768">
|
||||
@ -80849,6 +80869,7 @@ to check why this is different -->
|
||||
<description>Reset Based 4 in 1</description>
|
||||
<year>19??</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_reset4" />
|
||||
<feature name="pcb" value="BMC-RESETBASED-4IN1" />
|
||||
|
@ -32,6 +32,7 @@ DEFINE_DEVICE_TYPE(NES_ACTION52, nes_action52_device, "nes_action52"
|
||||
DEFINE_DEVICE_TYPE(NES_CALTRON6IN1, nes_caltron_device, "nes_caltron", "NES Cart Caltron 6 in 1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_RUMBLESTATION, nes_rumblestat_device, "nes_rumblestat", "NES Cart Rumblestation PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_SVISION16, nes_svision16_device, "nes_svision16", "NES Cart Supervision 16 in 1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_KN42, nes_kn42_device, "nes_kn42", "NES Cart KN-42 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_N625092, nes_n625092_device, "nes_n625092", "NES Cart N625092 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_A65AS, nes_a65as_device, "nes_a65as", "NES Cart A65AS PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_T262, nes_t262_device, "nes_t262", "NES Cart T-262 PCB")
|
||||
@ -102,6 +103,11 @@ nes_svision16_device::nes_svision16_device(const machine_config &mconfig, const
|
||||
{
|
||||
}
|
||||
|
||||
nes_kn42_device::nes_kn42_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_KN42, tag, owner, clock), m_latch(0)
|
||||
{
|
||||
}
|
||||
|
||||
nes_n625092_device::nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: nes_nrom_device(mconfig, NES_N625092, tag, owner, clock), m_latch1(0), m_latch2(0)
|
||||
{
|
||||
@ -406,6 +412,20 @@ void nes_svision16_device::pcb_reset()
|
||||
m_latch2 = 0;
|
||||
}
|
||||
|
||||
void nes_kn42_device::device_start()
|
||||
{
|
||||
common_start();
|
||||
save_item(NAME(m_latch));
|
||||
}
|
||||
|
||||
void nes_kn42_device::pcb_reset()
|
||||
{
|
||||
m_latch ^= 0x10;
|
||||
prg16_89ab(m_latch);
|
||||
prg16_cdef(m_latch | 0x0f); // fixed to last bank for either game
|
||||
chr8(0, CHRRAM);
|
||||
}
|
||||
|
||||
void nes_n625092_device::device_start()
|
||||
{
|
||||
common_start();
|
||||
@ -1215,6 +1235,32 @@ void nes_svision16_device::write_h(offs_t offset, uint8_t data)
|
||||
update_prg();
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Bootleg Board KN-42
|
||||
|
||||
Games: 2 in 1 - Big Nose & Big Nose Freaks Out
|
||||
|
||||
NES 2.0: mapper 381
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
TODO: Big Nose Freaks Out has timing issues like
|
||||
many Camerica games. It happens with the singleton
|
||||
dump and is unrelated to the bootleg board here.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_kn42_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kn42 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
|
||||
prg16_89ab(m_latch | (data & 0x07) << 1 | BIT(data, 4));
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Bootleg Board N625092
|
||||
@ -1265,7 +1311,6 @@ void nes_n625092_device::write_h(offs_t offset, uint8_t data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Board BMC-A65AS
|
||||
|
@ -94,6 +94,27 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_kn42_device
|
||||
|
||||
class nes_kn42_device : public nes_nrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_kn42_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual void write_h(offs_t offset, u8 data) override;
|
||||
|
||||
virtual void pcb_reset() override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
u8 m_latch;
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_n625092_device
|
||||
|
||||
class nes_n625092_device : public nes_nrom_device
|
||||
@ -1018,6 +1039,7 @@ DECLARE_DEVICE_TYPE(NES_ACTION52, nes_action52_device)
|
||||
DECLARE_DEVICE_TYPE(NES_CALTRON6IN1, nes_caltron_device)
|
||||
DECLARE_DEVICE_TYPE(NES_RUMBLESTATION, nes_rumblestat_device)
|
||||
DECLARE_DEVICE_TYPE(NES_SVISION16, nes_svision16_device)
|
||||
DECLARE_DEVICE_TYPE(NES_KN42, nes_kn42_device)
|
||||
DECLARE_DEVICE_TYPE(NES_N625092, nes_n625092_device)
|
||||
DECLARE_DEVICE_TYPE(NES_A65AS, nes_a65as_device)
|
||||
DECLARE_DEVICE_TYPE(NES_T262, nes_t262_device)
|
||||
|
@ -352,6 +352,7 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("maxi15", NES_MAXI15); // mapper 234
|
||||
device.option_add_internal("rumblestation", NES_RUMBLESTATION); // mapper 46
|
||||
device.option_add_internal("svision16", NES_SVISION16); // mapper 53
|
||||
device.option_add_internal("kn42", NES_KN42);
|
||||
device.option_add_internal("n625092", NES_N625092);
|
||||
device.option_add_internal("a65as", NES_A65AS);
|
||||
device.option_add_internal("t262", NES_T262);
|
||||
|
@ -415,7 +415,7 @@ static const nes_mmc mmc_list[] =
|
||||
// 378 8-in-1 multicart, which one?
|
||||
// 379 35-in-1 multicart, similar to mapper 38
|
||||
// 380 970630C multicart
|
||||
// 381 KN-42 2-in-1 with the Big Nose games
|
||||
{ 381, UNL_KN42 }, // 2-in-1 Big Nose games
|
||||
// 382 830928C 5-in-1 and 9-in-1 multicarts
|
||||
// 383 JY-014 multicart
|
||||
// 384 4-in-1 VRC4 clone with Crisis Force
|
||||
|
@ -237,6 +237,7 @@ static const nes_pcb pcb_list[] =
|
||||
{ "caltron6in1", CALTRON_6IN1 },
|
||||
{ "rumblestation", RUMBLESTATION_BOARD }, // mapper 46
|
||||
{ "svision16", SVISION16_BOARD },
|
||||
{ "kn42", UNL_KN42 },
|
||||
{ "n625092", UNL_N625092 },
|
||||
{ "a65as", BMC_A65AS },
|
||||
{ "t262", BMC_T262 },
|
||||
|
@ -102,7 +102,7 @@ enum
|
||||
BMC_12IN1, BMC_4IN1RESET, BMC_42IN1RESET,
|
||||
BMC_CTC09, BMC_K3046, BMC_SA005A, BMC_TJ03,
|
||||
// Unlicensed
|
||||
UNL_8237, UNL_CC21, UNL_AX5705, UNL_KOF97,
|
||||
UNL_8237, UNL_CC21, UNL_AX5705, UNL_KN42, UNL_KOF97,
|
||||
UNL_N625092, UNL_SC127, UNL_SMB2J, UNL_T230, UNL_MMALEE,
|
||||
UNL_UXROM, UNL_MK2, UNL_XIAOZY, UNL_KOF96, UNL_FS6,
|
||||
UNL_SF3, UNL_RACERMATE, UNL_EDU2K,
|
||||
|
Loading…
Reference in New Issue
Block a user