summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author 0kmg <9137159+0kmg@users.noreply.github.com>2021-12-19 07:15:38 -0900
committer GitHub <noreply@github.com>2021-12-20 03:15:38 +1100
commit22c0865cb43b8e046f63e21f02f2a7680b9911b1 (patch)
tree4279fcbbee99c8e2262822f608037c7bbdc88d62
parentc33663e3b745dd1eaf2a9d7f12057f251fe9bcb6 (diff)
bus/nes: Removed duplicate board and mapper assignment. (#9012)
BMC-810544-C-A1 and NTDEC 2746 are the same thing.
-rw-r--r--hash/nes.xml2
-rw-r--r--src/devices/bus/nes/multigame.cpp24
-rw-r--r--src/devices/bus/nes/multigame.h4
-rw-r--r--src/devices/bus/nes/nes_carts.cpp1
-rw-r--r--src/devices/bus/nes/nes_ines.hxx3
-rw-r--r--src/devices/bus/nes/nes_pcb.hxx1
-rw-r--r--src/devices/bus/nes/nes_slot.h2
-rw-r--r--src/devices/bus/nes/ntdec.cpp39
-rw-r--r--src/devices/bus/nes/ntdec.h15
9 files changed, 10 insertions, 81 deletions
diff --git a/hash/nes.xml b/hash/nes.xml
index 1886e1b7de5..741287093a4 100644
--- a/hash/nes.xml
+++ b/hash/nes.xml
@@ -79887,7 +79887,7 @@ be better to redump them properly. -->
<year>1988</year>
<publisher>NTDEC</publisher>
<part name="cart" interface="nes_cart">
- <feature name="slot" value="ntdec_2746" />
+ <feature name="slot" value="bmc_810544c" />
<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" />
diff --git a/src/devices/bus/nes/multigame.cpp b/src/devices/bus/nes/multigame.cpp
index a2d445a88de..0c4265482f0 100644
--- a/src/devices/bus/nes/multigame.cpp
+++ b/src/devices/bus/nes/multigame.cpp
@@ -663,11 +663,6 @@ void nes_bmc_80013b_device::pcb_reset()
update_prg();
}
-void nes_bmc_810544c_device::device_start()
-{
- common_start();
-}
-
void nes_bmc_810544c_device::pcb_reset()
{
prg16_89ab(0);
@@ -1628,9 +1623,9 @@ void nes_bmc_80013b_device::write_h(offs_t offset, u8 data)
/*-------------------------------------------------
- BMC-810544-C-A1
+ BMC-810544-C-A1, NTDEC 2746
- Games: 200-in-1 Elfland
+ Games: 200-in-1 Elfland, 14 in 1
NES 2.0: mapper 261
@@ -1640,20 +1635,15 @@ void nes_bmc_80013b_device::write_h(offs_t offset, u8 data)
void nes_bmc_810544c_device::write_h(offs_t offset, u8 data)
{
- u8 bank = (offset >> 7);
LOG_MMC(("bmc_810544c write_h, offset: %04x, data: %02x\n", offset, data));
- if (!BIT(offset, 6))
- {
- prg16_89ab((bank << 1) | BIT(offset, 5));
- prg16_cdef((bank << 1) | BIT(offset, 5));
- }
- else
- prg32(bank);
-
- set_nt_mirroring(BIT(offset, 4) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
+ 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);
}
/*-------------------------------------------------
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index 648e293f840..a5f2f1a307f 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -299,10 +299,6 @@ public:
virtual void write_h(offs_t offset, u8 data) override;
virtual void pcb_reset() override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
};
diff --git a/src/devices/bus/nes/nes_carts.cpp b/src/devices/bus/nes/nes_carts.cpp
index fa70103c0db..04cd8e3cdc3 100644
--- a/src/devices/bus/nes/nes_carts.cpp
+++ b/src/devices/bus/nes/nes_carts.cpp
@@ -197,7 +197,6 @@ void nes_cart(device_slot_interface &device)
device.option_add_internal("cne_shlz", NES_CNE_SHLZ);
device.option_add_internal("cocoma", NES_COCOMA);
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
diff --git a/src/devices/bus/nes/nes_ines.hxx b/src/devices/bus/nes/nes_ines.hxx
index 4e6baa00c5f..ba2250d7ae4 100644
--- a/src/devices/bus/nes/nes_ines.hxx
+++ b/src/devices/bus/nes/nes_ines.hxx
@@ -470,8 +470,7 @@ static const nes_mmc mmc_list[] =
// 432 Realtec 8090
{ 433, BMC_NC20MB },
// 434 S-009
- { 435, NTDEC_2746 },
- // 436...442 Unused
+ // 435...442 Unused
// 443 NC3000M multicart
// 444 NC7000M multicart
// 445...511 Unused
diff --git a/src/devices/bus/nes/nes_pcb.hxx b/src/devices/bus/nes/nes_pcb.hxx
index 647a9c00bfc..0bbb342430f 100644
--- a/src/devices/bus/nes/nes_pcb.hxx
+++ b/src/devices/bus/nes/nes_pcb.hxx
@@ -108,7 +108,6 @@ static const nes_pcb pcb_list[] =
{ "cne_shlz", CNE_SHLZ },
{ "cocoma", COCOMA_BOARD },
{ "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
diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h
index 1a0905f44d6..b678f70a1d4 100644
--- a/src/devices/bus/nes/nes_slot.h
+++ b/src/devices/bus/nes/nes_slot.h
@@ -64,7 +64,7 @@ enum
NAMCOT_163, NAMCOT_175, NAMCOT_340,
NAMCOT_3425, NAMCOT_34X3, NAMCOT_3446,
// NTDEC
- NTDEC_2746, NTDEC_ASDER, NTDEC_FIGHTINGHERO, NTDEC_N715021,
+ NTDEC_ASDER, NTDEC_FIGHTINGHERO, NTDEC_N715021,
// Rex Soft
REXSOFT_SL1632, REXSOFT_DBZ5,
// Sachen
diff --git a/src/devices/bus/nes/ntdec.cpp b/src/devices/bus/nes/ntdec.cpp
index 94c521dd6b8..d4554d9e4bd 100644
--- a/src/devices/bus/nes/ntdec.cpp
+++ b/src/devices/bus/nes/ntdec.cpp
@@ -8,7 +8,6 @@
Here we emulate the following PCBs
- * NTDEC 2746 [mapper 435]
* NTDEC ASDER [mapper 112]
* NTDEC Fighting Hero [mapper 193]
* NTDEC N715021 [mapper 81]
@@ -36,17 +35,11 @@
// 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)
{
@@ -65,13 +58,6 @@ 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();
@@ -111,31 +97,6 @@ void nes_ntdec_n715021_device::pcb_reset()
/*-------------------------------------------------
- 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
Games: Cobra Mission, Fighting Hero III, Huang Di, Master
diff --git a/src/devices/bus/nes/ntdec.h b/src/devices/bus/nes/ntdec.h
index 061dda0e32a..160511a388a 100644
--- a/src/devices/bus/nes/ntdec.h
+++ b/src/devices/bus/nes/ntdec.h
@@ -8,20 +8,6 @@
#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
@@ -72,7 +58,6 @@ 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)