diff options
-rw-r--r-- | src/devices/cpu/upd7810/upd7810.cpp | 11 | ||||
-rw-r--r-- | src/devices/cpu/upd7810/upd7810.h | 12 | ||||
-rw-r--r-- | src/devices/cpu/upd7810/upd7811.cpp | 8 | ||||
-rw-r--r-- | src/devices/cpu/upd7810/upd7811.h | 8 | ||||
-rw-r--r-- | src/mame/drivers/fitfight.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/gmaster.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/korgds8.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/metro.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/mpc3000.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/nibble.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/rz1.cpp | 2 |
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)) |