diff options
author | 2020-03-04 14:20:05 -0500 | |
---|---|---|
committer | 2020-03-04 14:20:05 -0500 | |
commit | 30094c0abc79d86a4a34e60f0d15d92c25a78c54 (patch) | |
tree | 63f9bf42eec1e51bb3c8c812a0cc10e8b0e705f8 | |
parent | c641fe72db4cf7a7a90e8c8b58157d8092b05207 (diff) |
upd7801, upd7807, upd7810, upd78c11: Divide internal clock by 2 or 3
-rw-r--r-- | src/devices/cpu/upd7810/upd7810.h | 4 | ||||
-rw-r--r-- | src/mame/drivers/korgds8.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/nibble.cpp | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/devices/cpu/upd7810/upd7810.h b/src/devices/cpu/upd7810/upd7810.h index 6e7a1464fa0..5905b931af1 100644 --- a/src/devices/cpu/upd7810/upd7810.h +++ b/src/devices/cpu/upd7810/upd7810.h @@ -131,6 +131,8 @@ protected: virtual void device_reset() override; // device_execute_interface overrides + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 3 - 1) / 3; } + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 3); } virtual uint32_t execute_min_cycles() const noexcept override { return 1; } virtual uint32_t execute_max_cycles() const noexcept override { return 40; } virtual uint32_t execute_input_lines() const noexcept override { return 2; } @@ -1374,6 +1376,8 @@ public: protected: virtual void device_reset() override; + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 2 - 1) / 2; } + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 2); } virtual void execute_set_input(int inputnum, int state) override; virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; virtual void handle_timers(int cycles) override; diff --git a/src/mame/drivers/korgds8.cpp b/src/mame/drivers/korgds8.cpp index 88dd50fc9a2..e564434afb0 100644 --- a/src/mame/drivers/korgds8.cpp +++ b/src/mame/drivers/korgds8.cpp @@ -196,7 +196,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 / 3); // µPD78C10CW (FIXME: internalize divider) + UPD7810(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/nibble.cpp b/src/mame/drivers/nibble.cpp index 7cad912b972..72f3d6e9d45 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 / 3); // type guessed; clock not verified + UPD7811(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)); |