diff options
author | 2021-12-19 07:15:38 -0900 | |
---|---|---|
committer | 2021-12-20 03:15:38 +1100 | |
commit | 22c0865cb43b8e046f63e21f02f2a7680b9911b1 (patch) | |
tree | 4279fcbbee99c8e2262822f608037c7bbdc88d62 | |
parent | c33663e3b745dd1eaf2a9d7f12057f251fe9bcb6 (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.xml | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/multigame.cpp | 24 | ||||
-rw-r--r-- | src/devices/bus/nes/multigame.h | 4 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_carts.cpp | 1 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_ines.hxx | 3 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_pcb.hxx | 1 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_slot.h | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/ntdec.cpp | 39 | ||||
-rw-r--r-- | src/devices/bus/nes/ntdec.h | 15 |
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) |