another batch from my backlog (most new additions don't work,

but I hope to add support for some of the new mappers soon). nw.
This commit is contained in:
etabeta78 2016-05-04 21:50:25 +02:00
parent 61f5136f63
commit 149dd41add
6 changed files with 876 additions and 169 deletions

File diff suppressed because it is too large Load Diff

View File

@ -63,6 +63,7 @@ const device_type NES_BMC_GC6IN1 = &device_creator<nes_bmc_gc6in1_device>;
const device_type NES_BMC_411120C = &device_creator<nes_bmc_411120c_device>;
const device_type NES_BMC_830118C = &device_creator<nes_bmc_830118c_device>;
const device_type NES_PJOY84 = &device_creator<nes_pjoy84_device>;
const device_type NES_COOLBOY = &device_creator<nes_coolboy_device>;
nes_nitra_device::nes_nitra_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
@ -240,6 +241,11 @@ nes_pjoy84_device::nes_pjoy84_device(const machine_config &mconfig, const char *
{
}
nes_coolboy_device::nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: nes_txrom_device(mconfig, NES_COOLBOY, "NES Cart CoolBoy PCB", tag, owner, clock, "nes_coolboy", __FILE__)
{
}
void nes_family4646_device::pcb_reset()
@ -2495,6 +2501,38 @@ WRITE8_MEMBER(nes_pjoy84_device::write_m)
}
}
/*-------------------------------------------------
COOLBOY
Games: several multigame carts
In MESS: Not Supported.
-------------------------------------------------*/
void nes_coolboy_device::prg_cb(int start, int bank)
{
bank = (bank & 3) | ((bank & 8) >> 1) | ((bank & 4) << 1);
prg8_x(start, bank);
}
void nes_coolboy_device::chr_cb(int start, int bank, int source)
{
bank = (bank & 0xdd) | ((bank & 0x20) >> 4) | ((bank & 2) << 4);
chr1_x(start, bank, source);
}
WRITE8_MEMBER(nes_coolboy_device::write_m)
{
LOG_MMC(("coolboy write_m, offset: %04x, data: %02x\n", offset, data));
m_reg[offset & 0x03] = data;
//set_base_mask();
set_chr(m_chr_source, m_chr_base, m_chr_mask);
set_prg(m_prg_base, m_prg_mask);
}
#ifdef UNUSED_FUNCTION
/*-------------------------------------------------

View File

@ -654,6 +654,27 @@ private:
UINT8 m_reg[4];
};
// ======================> nes_coolboy_device
class nes_coolboy_device : public nes_txrom_device
{
public:
// construction/destruction
nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device-level overrides
// virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
// virtual void pcb_reset() override;
private:
// inline void set_base_mask();
UINT8 m_reg[4];
};
@ -693,5 +714,6 @@ extern const device_type NES_BMC_GC6IN1;
extern const device_type NES_BMC_411120C;
extern const device_type NES_BMC_830118C;
extern const device_type NES_PJOY84;
extern const device_type NES_COOLBOY;
#endif

View File

@ -343,6 +343,16 @@ SLOT_INTERFACE_START(nes_cart)
SLOT_INTERFACE_INTERNAL("onebus", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("dance2k", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("pec586", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("coolboy", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("bmc_f15", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("bmc_hp898f", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("bmc_8in1", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("unl_eh8813a", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("unl_158b", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("unl_drgnfgt", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("ks7016", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("ks7037", NES_NROM) // UNSUPPORTED
SLOT_INTERFACE_INTERNAL("rt01", NES_NROM) // UNSUPPORTED
// are there dumps of games with these boards?
SLOT_INTERFACE_INTERNAL("bmc_hik_kof", NES_NROM) // mapper 251 - UNSUPPORTED
SLOT_INTERFACE_INTERNAL("bmc_13in1jy110", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED

View File

@ -319,6 +319,15 @@ static const nes_pcb pcb_list[] =
{ "a9746", UNSUPPORTED_BOARD },
{ "dance2k", UNSUPPORTED_BOARD },
{ "pec586", UNSUPPORTED_BOARD },
{ "bmc_f15", UNSUPPORTED_BOARD }, // 150-in-1 Unchained Melody
{ "bmc_hp898f", UNSUPPORTED_BOARD }, // Primasoft 9999999-in-1
{ "bmc_8in1", UNSUPPORTED_BOARD }, // Super 8-in-1 (Incl. Rockin' Kats)
{ "unl_eh8813a", UNSUPPORTED_BOARD }, // Dr. Mario II
{ "unl_158b", UNSUPPORTED_BOARD }, // Blood of Jurassic
{ "unl_drgnfgt", UNSUPPORTED_BOARD }, // Dragon Fighter by Flying Star
{ "ks7016", UNSUPPORTED_BOARD }, // Exciting Basketball FDS
{ "ks7037", UNSUPPORTED_BOARD }, // Metroid FDS Chinese
{ "rt01", UNSUPPORTED_BOARD }, // Russian Test Cart
{ "test", TEST_BOARD },
{ "unknown", UNKNOWN_BOARD } // a few pirate dumps uses the wrong mapper...
};

View File

@ -137,10 +137,20 @@ static const unif unif_list[] =
{ "BMC-70IN1", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // mapper 236?
{ "BMC-70IN1B", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // mapper 236?
{ "BMC-42IN1RESETSWITCH", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // mapper 60?
{ "PEC-586", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "BMC-F-15", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // 150-in-1 Unchained Melody
{ "BMC-HP898F", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Primasoft 9999999-in-1
{ "BMC-8-IN-1", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Super 8-in-1 (Incl. Rockin' Kats)
{ "UNL-EH8813A", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Dr. Mario II
{ "UNL-158B", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Blood of Jurassic
{ "UNL-DRAGONFIGHTER", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Dragon Fighter by Flying Star
{ "UNL-KS7016", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Exciting Basketball FDS
{ "UNL-KS7037", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Metroid FDS Chinese
{ "UNL-RT-01", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // Russian Test Cart
{ "PEC-586", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "UNL-DANCE", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "UNL-DRIPGAME", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}, // [by Quietust - we need more info]
{ "UNL-CITYFIGHT", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "COOLBOY", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "UNL-OneBus", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD},
{ "UNL-DANCE2000", 0, 0, CHRRAM_0, UNSUPPORTED_BOARD}
};