summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-03-30 22:18:24 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-03-30 22:18:24 -0400
commit7d263a9da6b65cdfe0ef54eff031953feb48fe98 (patch)
tree84d48139c554b445843c11ac936c21b534a2809c
parent3f1e8ad0ca010fe24ab5e119fdfe415270d9f4b0 (diff)
upd7810, upd7811: Nominally distinguish NMOS and CMOS device types (nw)
-rw-r--r--src/devices/cpu/upd7810/upd7810.cpp11
-rw-r--r--src/devices/cpu/upd7810/upd7810.h12
-rw-r--r--src/devices/cpu/upd7810/upd7811.cpp8
-rw-r--r--src/devices/cpu/upd7810/upd7811.h8
-rw-r--r--src/mame/drivers/fitfight.cpp2
-rw-r--r--src/mame/drivers/gmaster.cpp8
-rw-r--r--src/mame/drivers/korgds8.cpp2
-rw-r--r--src/mame/drivers/metro.cpp4
-rw-r--r--src/mame/drivers/mpc3000.cpp4
-rw-r--r--src/mame/drivers/nibble.cpp2
-rw-r--r--src/mame/drivers/rz1.cpp2
11 files changed, 50 insertions, 13 deletions
diff --git a/src/devices/cpu/upd7810/upd7810.cpp b/src/devices/cpu/upd7810/upd7810.cpp
index 251006a1107..37087ea3e51 100644
--- a/src/devices/cpu/upd7810/upd7810.cpp
+++ b/src/devices/cpu/upd7810/upd7810.cpp
@@ -382,6 +382,7 @@ STOP 01001000 10111011 12 stop
DEFINE_DEVICE_TYPE(UPD7810, upd7810_device, "upd7810", "NEC uPD7810")
+DEFINE_DEVICE_TYPE(UPD78C10, upd78c10_device, "upd78c10", "NEC uPD78C10")
DEFINE_DEVICE_TYPE(UPD7807, upd7807_device, "upd7807", "NEC uPD7807")
DEFINE_DEVICE_TYPE(UPD7801, upd7801_device, "upd7801", "NEC uPD7801")
DEFINE_DEVICE_TYPE(UPD78C05, upd78c05_device, "upd78c05", "NEC uPD78C05")
@@ -450,6 +451,16 @@ upd7810_device::upd7810_device(const machine_config &mconfig, const char *tag, d
{
}
+upd78c10_device::upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+ : upd7810_device(mconfig, type, tag, owner, clock, internal_map)
+{
+}
+
+upd78c10_device::upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : upd78c10_device(mconfig, UPD78C10, tag, owner, clock, address_map_constructor(FUNC(upd78c10_device::upd_internal_256_ram_map), this))
+{
+}
+
void upd7807_device::configure_ops()
{
m_opXX = s_opXX_7807;
diff --git a/src/devices/cpu/upd7810/upd7810.h b/src/devices/cpu/upd7810/upd7810.h
index 6e81369617e..a6a9d4e0466 100644
--- a/src/devices/cpu/upd7810/upd7810.h
+++ b/src/devices/cpu/upd7810/upd7810.h
@@ -1368,6 +1368,17 @@ protected:
};
+class upd78c10_device : public upd7810_device
+{
+public:
+ // construction/destruction
+ upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+};
+
+
class upd7807_device : public upd7810_device
{
public:
@@ -1427,6 +1438,7 @@ public:
DECLARE_DEVICE_TYPE(UPD7810, upd7810_device)
+DECLARE_DEVICE_TYPE(UPD78C10, upd78c10_device)
DECLARE_DEVICE_TYPE(UPD7807, upd7807_device)
DECLARE_DEVICE_TYPE(UPD7801, upd7801_device)
DECLARE_DEVICE_TYPE(UPD78C05, upd78c05_device)
diff --git a/src/devices/cpu/upd7810/upd7811.cpp b/src/devices/cpu/upd7810/upd7811.cpp
index 3c81116bfc8..7ea05837903 100644
--- a/src/devices/cpu/upd7810/upd7811.cpp
+++ b/src/devices/cpu/upd7810/upd7811.cpp
@@ -29,9 +29,15 @@ void upd7810_device::upd_internal_4096_rom_map(address_map &map)
map(0xff00, 0xffff).ram();
}
-DEFINE_DEVICE_TYPE(UPD7811, upd7811_device, "upd78c11", "NEC uPD78C11")
+DEFINE_DEVICE_TYPE(UPD7811, upd7811_device, "upd7811", "NEC uPD7811")
+DEFINE_DEVICE_TYPE(UPD78C11, upd78c11_device, "upd78c11", "NEC uPD78C11")
upd7811_device::upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: upd7810_device(mconfig, UPD7811, tag, owner, clock, address_map_constructor(FUNC(upd7811_device::upd_internal_4096_rom_map), this))
{
}
+
+upd78c11_device::upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : upd78c10_device(mconfig, UPD78C11, tag, owner, clock, address_map_constructor(FUNC(upd78c11_device::upd_internal_4096_rom_map), this))
+{
+}
diff --git a/src/devices/cpu/upd7810/upd7811.h b/src/devices/cpu/upd7810/upd7811.h
index a91111dba52..2d98f64da5f 100644
--- a/src/devices/cpu/upd7810/upd7811.h
+++ b/src/devices/cpu/upd7810/upd7811.h
@@ -9,6 +9,7 @@
#include "upd7810.h"
DECLARE_DEVICE_TYPE(UPD7811, upd7811_device)
+DECLARE_DEVICE_TYPE(UPD78C11, upd78c11_device)
class upd7811_device : public upd7810_device
{
@@ -17,4 +18,11 @@ public:
upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
+class upd78c11_device : public upd78c10_device
+{
+public:
+ // construction/destruction
+ upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
#endif // MAME_CPU_UPD7810_UPD7811_H
diff --git a/src/mame/drivers/fitfight.cpp b/src/mame/drivers/fitfight.cpp
index 6067a24fa30..7be3be463ac 100644
--- a/src/mame/drivers/fitfight.cpp
+++ b/src/mame/drivers/fitfight.cpp
@@ -725,7 +725,7 @@ void fitfight_state::fitfight(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &fitfight_state::fitfight_main_map);
m_maincpu->set_vblank_int("screen", FUNC(fitfight_state::irq2_line_hold));
- upd7810_device &audiocpu(UPD7810(config, m_audiocpu, 12000000));
+ upd78c10_device &audiocpu(UPD78C10(config, m_audiocpu, 12000000));
audiocpu.set_addrmap(AS_PROGRAM, &fitfight_state::snd_mem);
audiocpu.pa_in_cb().set(FUNC(fitfight_state::snd_porta_r));
audiocpu.pa_out_cb().set(FUNC(fitfight_state::snd_porta_w));
diff --git a/src/mame/drivers/gmaster.cpp b/src/mame/drivers/gmaster.cpp
index 50d263337ce..578c4373e6d 100644
--- a/src/mame/drivers/gmaster.cpp
+++ b/src/mame/drivers/gmaster.cpp
@@ -6,7 +6,7 @@
#include "emu.h"
-#include "cpu/upd7810/upd7810.h"
+#include "cpu/upd7810/upd7811.h"
#include "sound/spkrdev.h"
#include "bus/generic/slot.h"
@@ -241,7 +241,7 @@ WRITE8_MEMBER(gmaster_state::gmaster_portf_w)
void gmaster_state::gmaster_mem(address_map &map)
{
- map(0x0000, 0x3fff).rom();
+ //map(0x0000, 0x3fff).rom();
map(0x4000, 0x7fff).rw(FUNC(gmaster_state::gmaster_io_r), FUNC(gmaster_state::gmaster_io_w));
//map(0x8000, 0xfeff) // mapped by the cartslot
}
@@ -329,7 +329,7 @@ void gmaster_state::machine_start()
void gmaster_state::gmaster(machine_config &config)
{
- upd7810_device &upd(UPD7810(config, m_maincpu, 12_MHz_XTAL/2/*?*/)); // µPD78C11 in the unit
+ upd78c11_device &upd(UPD78C11(config, m_maincpu, 12_MHz_XTAL/2/*?*/)); // µPD78C11 in the unit
upd.set_addrmap(AS_PROGRAM, &gmaster_state::gmaster_mem);
upd.pa_in_cb().set_ioport("JOY");
upd.pb_in_cb().set(FUNC(gmaster_state::gmaster_portb_r));
@@ -362,7 +362,7 @@ void gmaster_state::gmaster(machine_config &config)
ROM_START(gmaster)
- ROM_REGION(0x10000,"maincpu", 0)
+ ROM_REGION(0x1000,"maincpu", 0)
ROM_LOAD("d78c11agf_e19.u1", 0x0000, 0x1000, CRC(05cc45e5) SHA1(05d73638dea9657ccc2791c0202d9074a4782c1e) )
ROM_END
diff --git a/src/mame/drivers/korgds8.cpp b/src/mame/drivers/korgds8.cpp
index d742cb8d318..f6d80b7b8d2 100644
--- a/src/mame/drivers/korgds8.cpp
+++ b/src/mame/drivers/korgds8.cpp
@@ -204,7 +204,7 @@ void korg_ds8_state::palette_init_ds8(palette_device &palette)
void korg_ds8_state::ds8(machine_config &config)
{
- UPD7810(config, m_maincpu, 12_MHz_XTAL); // µPD78C10CW
+ UPD78C10(config, m_maincpu, 12_MHz_XTAL); // µPD78C10CW
m_maincpu->set_addrmap(AS_PROGRAM, &korg_ds8_state::mem_map);
m_maincpu->pa_in_cb().set(FUNC(korg_ds8_state::kbd_sw_r));
m_maincpu->pb_out_cb().set(FUNC(korg_ds8_state::scan_w));
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index 2ef77b5a178..63bb06f44b4 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -3162,7 +3162,7 @@ void metro_state::batlbubl(machine_config &config)
void metro_state::metro_upd7810_sound(machine_config &config)
{
- upd7810_device &upd(UPD7810(config, m_audiocpu, 24_MHz_XTAL/2));
+ upd78c10_device &upd(UPD78C10(config, m_audiocpu, 24_MHz_XTAL/2));
upd.rxd_func().set(FUNC(metro_state::rxd_r));
upd.set_addrmap(AS_PROGRAM, &metro_state::upd7810_map);
upd.pa_in_cb().set(FUNC(metro_state::upd7810_porta_r));
@@ -3173,7 +3173,7 @@ void metro_state::metro_upd7810_sound(machine_config &config)
void metro_state::daitorid_upd7810_sound(machine_config &config)
{
- upd7810_device &upd(UPD7810(config, m_audiocpu, 12_MHz_XTAL));
+ upd78c10_device &upd(UPD78C10(config, m_audiocpu, 12_MHz_XTAL));
upd.rxd_func().set(FUNC(metro_state::rxd_r));
upd.set_addrmap(AS_PROGRAM, &metro_state::upd7810_map);
upd.pa_in_cb().set(FUNC(metro_state::upd7810_porta_r));
diff --git a/src/mame/drivers/mpc3000.cpp b/src/mame/drivers/mpc3000.cpp
index 7209f45f14a..fddecf2138b 100644
--- a/src/mame/drivers/mpc3000.cpp
+++ b/src/mame/drivers/mpc3000.cpp
@@ -15,7 +15,7 @@
SCSI: MB89352
LCD: LC7981
Quad-UART: TE7774
- Panel controller CPU: NEC uPD7810 @ 12 MHz
+ Panel controller CPU: NEC uPD78C10AGQ @ 12 MHz
Sound DSP: L7A1045-L6048
DSP's wavedata bus is 16 bits wide and has 24 address bits
@@ -215,7 +215,7 @@ void mpc3000_state::mpc3000(machine_config &config)
hiledlatch.q_out_cb<6>().set_output("led14").invert(); // 16 Levels
hiledlatch.q_out_cb<7>().set_output("led15").invert(); // After
- UPD7810(config, m_subcpu, 12_MHz_XTAL);
+ UPD78C10(config, m_subcpu, 12_MHz_XTAL);
m_subcpu->set_addrmap(AS_PROGRAM, &mpc3000_state::mpc3000_sub_map);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
diff --git a/src/mame/drivers/nibble.cpp b/src/mame/drivers/nibble.cpp
index f9b41fa9fd0..dfe35d1767b 100644
--- a/src/mame/drivers/nibble.cpp
+++ b/src/mame/drivers/nibble.cpp
@@ -336,7 +336,7 @@ GFXDECODE_END
void nibble_state::nibble(machine_config &config)
{
- UPD7811(config, m_maincpu, MASTER_CLOCK); // type guessed; clock not verified
+ UPD78C11(config, m_maincpu, MASTER_CLOCK); // type guessed; clock not verified
m_maincpu->set_addrmap(AS_PROGRAM, &nibble_state::nibble_map);
//m_maincpu->set_vblank_int("screen", FUNC(nibble_state::nibble_interrupt));
diff --git a/src/mame/drivers/rz1.cpp b/src/mame/drivers/rz1.cpp
index eced82164a0..85d1dd30ed8 100644
--- a/src/mame/drivers/rz1.cpp
+++ b/src/mame/drivers/rz1.cpp
@@ -389,7 +389,7 @@ void rz1_state::rz1(machine_config &config)
ROM_START( rz1 )
ROM_REGION(0x1000, "maincpu", 0)
- ROM_LOAD("upd7811.bin", 0x0000, 0x1000, CRC(597ac04a) SHA1(96451a764296eaa22aaad3cba121226dcba865f4))
+ ROM_LOAD("upd7811g-120.bin", 0x0000, 0x1000, CRC(597ac04a) SHA1(96451a764296eaa22aaad3cba121226dcba865f4))
ROM_REGION(0x4000, "program", 0)
ROM_LOAD("program.bin", 0x0000, 0x4000, CRC(b44b2652) SHA1(b77f8daece9adb177b6ce1ef518fc3238b8c0a9c))