mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
bus/nes: Added support for an NTDEC 14 in 1 cartridge.
New working software list additions (nes.xml) ----------------------------------- 14 in 1 (NTDEC) [Consolethinks, Nikolka]
This commit is contained in:
parent
f24933a077
commit
8e1a92eb3d
16
hash/nes.xml
16
hash/nes.xml
@ -78478,6 +78478,22 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_14ntd">
|
||||
<description>14 in 1 (NTDEC)</description>
|
||||
<year>1988</year>
|
||||
<publisher>NTDEC</publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="ntdec_2746" />
|
||||
<feature name="pcb_model" value="2746" />
|
||||
<dataarea name="prg" size="262144">
|
||||
<rom name="14-in-1 (ntdec).prg" size="262144" crc="24aebe85" sha1="ba0d04564c4e95b997426815b7cda88e76f4239d" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="131072">
|
||||
<rom name="14-in-1 (ntdec).chr" size="131072" crc="29fc5d0e" sha1="1ce3d2be76674fc77f50f71628e3740e5491bd85" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_15ks">
|
||||
<description>15 in 1 (KS-122)</description>
|
||||
<year>19??</year>
|
||||
|
@ -194,6 +194,7 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("cne_fsb", NES_CNE_FSB);
|
||||
device.option_add_internal("cne_shlz", NES_CNE_SHLZ);
|
||||
device.option_add_internal("nanjing", NES_NANJING); // mapper 163
|
||||
device.option_add_internal("ntdec_2746", NES_NTDEC_2746);
|
||||
device.option_add_internal("ntdec_asder", NES_NTDEC_ASDER); // mapper 112
|
||||
device.option_add_internal("ntdec_fh", NES_NTDEC_FH); // mapper 193
|
||||
device.option_add_internal("ntdec_n715021", NES_NTDEC_N715021); // mapper 81
|
||||
|
@ -469,7 +469,9 @@ static const nes_mmc mmc_list[] =
|
||||
// 431 Realtec GN-91B
|
||||
// 432 Realtec 8090
|
||||
// 433 NC-20MB 20 in 1 (CA-006)
|
||||
// 434...442 Unused
|
||||
// 434 S-009
|
||||
{ 435, NTDEC_2746 },
|
||||
// 436...442 Unused
|
||||
// 443 NC3000M multicart
|
||||
// 444 NC7000M multicart
|
||||
// 445...511 Unused
|
||||
|
@ -108,6 +108,7 @@ static const nes_pcb pcb_list[] =
|
||||
{ "cne_fsb", CNE_FSB },
|
||||
{ "cne_shlz", CNE_SHLZ },
|
||||
{ "nanjing", NANJING_BOARD }, // mapper 163
|
||||
{ "ntdec_2746", NTDEC_2746 },
|
||||
{ "ntdec_asder", NTDEC_ASDER }, // mapper 112
|
||||
{ "ntdec_fh", NTDEC_FIGHTINGHERO }, // mapper 193
|
||||
{ "ntdec_n715021", NTDEC_N715021 }, // mapper 81
|
||||
|
@ -65,7 +65,7 @@ enum
|
||||
NAMCOT_163, NAMCOT_175, NAMCOT_340,
|
||||
NAMCOT_3425, NAMCOT_34X3, NAMCOT_3446,
|
||||
// NTDEC
|
||||
NTDEC_ASDER, NTDEC_FIGHTINGHERO, NTDEC_N715021,
|
||||
NTDEC_2746, NTDEC_ASDER, NTDEC_FIGHTINGHERO, NTDEC_N715021,
|
||||
// Rex Soft
|
||||
REXSOFT_SL1632, REXSOFT_DBZ5,
|
||||
// Sachen
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
Here we emulate the following PCBs
|
||||
|
||||
* NTDEC 2746 [mapper 435]
|
||||
* NTDEC ASDER [mapper 112]
|
||||
* NTDEC Fighting Hero [mapper 193]
|
||||
* NTDEC N715021 [mapper 81]
|
||||
@ -35,13 +36,19 @@
|
||||
// constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
DEFINE_DEVICE_TYPE(NES_NTDEC_2746, nes_ntdec_2746_device, "nes_ntdec_2746", "NES Cart NTDEC 2746 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_NTDEC_ASDER, nes_ntdec_asder_device, "nes_ntdec_asder", "NES Cart NTDEC Asder PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_NTDEC_FH, nes_ntdec_fh_device, "nes_ntdec_fh", "NES Cart NTDEC Fighting Hero PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_NTDEC_N715021, nes_ntdec_n715021_device, "nes_ntdec_n715021", "NES Cart NTDEC N715021 PCB")
|
||||
|
||||
|
||||
nes_ntdec_2746_device::nes_ntdec_2746_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_NTDEC_2746, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
nes_ntdec_asder_device::nes_ntdec_asder_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_NTDEC_ASDER, tag, owner, clock) , m_latch(0), m_chr_outer(0)
|
||||
: nes_nrom_device(mconfig, NES_NTDEC_ASDER, tag, owner, clock), m_latch(0), m_chr_outer(0)
|
||||
{
|
||||
}
|
||||
|
||||
@ -58,6 +65,13 @@ nes_ntdec_n715021_device::nes_ntdec_n715021_device(const machine_config &mconfig
|
||||
|
||||
|
||||
|
||||
void nes_ntdec_2746_device::pcb_reset()
|
||||
{
|
||||
prg16_89ab(0);
|
||||
prg16_cdef(0);
|
||||
chr8(0, CHRROM);
|
||||
}
|
||||
|
||||
void nes_ntdec_asder_device::device_start()
|
||||
{
|
||||
common_start();
|
||||
@ -95,6 +109,31 @@ void nes_ntdec_n715021_device::pcb_reset()
|
||||
mapper specific handlers
|
||||
-------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
NTDEC 2746 Board
|
||||
|
||||
Games: 14 in 1
|
||||
|
||||
NES 2.0: mapper 435
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_ntdec_2746_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntdec_2746 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
|
||||
u8 bank = bitswap<4>(offset, 9, 8, 7, 5);
|
||||
u8 mode = BIT(offset, 6);
|
||||
prg16_89ab(bank & ~mode);
|
||||
prg16_cdef(bank | mode);
|
||||
|
||||
chr8(offset & 0x0f, CHRROM);
|
||||
set_nt_mirroring(BIT(offset, 4) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
NTDEC ASDER Bootleg Board
|
||||
@ -206,7 +245,7 @@ void nes_ntdec_fh_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_ntdec_n715021_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntdec_n715021 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG_MMC(("ntdec_n715021 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
prg16_89ab((offset >> 2) & 0x03);
|
||||
chr8(offset & 0x03, CHRROM);
|
||||
}
|
||||
|
@ -8,6 +8,20 @@
|
||||
#include "nxrom.h"
|
||||
|
||||
|
||||
// ======================> nes_ntdec_2746_device
|
||||
|
||||
class nes_ntdec_2746_device : public nes_nrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_ntdec_2746_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;
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_ntdec_asder_device
|
||||
|
||||
class nes_ntdec_asder_device : public nes_nrom_device
|
||||
@ -58,6 +72,7 @@ public:
|
||||
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(NES_NTDEC_2746, nes_ntdec_2746_device)
|
||||
DECLARE_DEVICE_TYPE(NES_NTDEC_ASDER, nes_ntdec_asder_device)
|
||||
DECLARE_DEVICE_TYPE(NES_NTDEC_FH, nes_ntdec_fh_device)
|
||||
DECLARE_DEVICE_TYPE(NES_NTDEC_N715021, nes_ntdec_n715021_device)
|
||||
|
Loading…
Reference in New Issue
Block a user