diff options
author | 2019-11-09 13:54:02 -0500 | |
---|---|---|
committer | 2019-11-09 13:55:31 -0500 | |
commit | 0d28b52096e314f264cf37eca0bc33ddf356153b (patch) | |
tree | 0c6013993821ab81023a47a784ab1d115acaf09c /src | |
parent | 62af304b910efbc6697fef31552151943d4e2de2 (diff) |
t11: Minor, somewhat speculative fixes (nw)
- Increase the maximum number of cycles to take interrupt acknowledgment into account
- Change do { ... } while to while { ... } because interrupt acknowledgment can devour lots of cycles before this
- Remove the probably mistaken recursive call in t11_check_irqs
Diffstat (limited to 'src')
-rw-r--r-- | src/devices/cpu/t11/t11.cpp | 7 | ||||
-rw-r--r-- | src/devices/cpu/t11/t11.h | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/devices/cpu/t11/t11.cpp b/src/devices/cpu/t11/t11.cpp index a771b61b241..a4d52ffceb9 100644 --- a/src/devices/cpu/t11/t11.cpp +++ b/src/devices/cpu/t11/t11.cpp @@ -221,7 +221,7 @@ void t11_device::t11_check_irqs() PUSH(PC); PCD = new_pc; PSW = new_psw; - t11_check_irqs(); + //t11_check_irqs(); /* count cycles and clear the WAIT flag */ m_icount -= 114; @@ -409,7 +409,7 @@ void t11_device::execute_run() return; } - do + while (m_icount > 0) { uint16_t op; @@ -419,8 +419,7 @@ void t11_device::execute_run() op = ROPCODE(); (this->*s_opcode_table[op >> 3])(op); - - } while (m_icount > 0); + } } std::unique_ptr<util::disasm_interface> t11_device::create_disassembler() diff --git a/src/devices/cpu/t11/t11.h b/src/devices/cpu/t11/t11.h index 842a48e53d3..03b73d99267 100644 --- a/src/devices/cpu/t11/t11.h +++ b/src/devices/cpu/t11/t11.h @@ -47,7 +47,7 @@ protected: // device_execute_interface overrides virtual uint32_t execute_min_cycles() const override { return 12; } - virtual uint32_t execute_max_cycles() const override { return 110; } + virtual uint32_t execute_max_cycles() const override { return 114; } virtual uint32_t execute_input_lines() const override { return 4; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; |