From 9b3d05e05f844c6b5e8729ffea0326fd62f6d38c Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 14 Jun 2017 22:24:44 -0400 Subject: [PATCH] Simplified decoding logic. --- Machines/ZX8081/ZX8081.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Machines/ZX8081/ZX8081.cpp b/Machines/ZX8081/ZX8081.cpp index 680b78817..84e8d6c8c 100644 --- a/Machines/ZX8081/ZX8081.cpp +++ b/Machines/ZX8081/ZX8081.cpp @@ -64,11 +64,8 @@ int Machine::perform_machine_cycle(const CPU::Z80::MachineCycle &cycle) { set_vsync(false); line_counter_ = 0; - switch(address & 7) { - default: break; - case 0x5: nmi_is_enabled_ = false; break; - case 0x6: nmi_is_enabled_ = is_zx81_; break; - } + if(!(address & 2)) nmi_is_enabled_ = false; + if(!(address & 1)) nmi_is_enabled_ = is_zx81_; break; case CPU::Z80::BusOperation::Input: { @@ -103,7 +100,7 @@ int Machine::perform_machine_cycle(const CPU::Z80::MachineCycle &cycle) { set_interrupt_line(false); // Check for use of the fast tape hack. - if(address == tape_trap_address_) { // TODO: && fast_tape_hack_enabled_ +/* if(address == tape_trap_address_) { // TODO: && fast_tape_hack_enabled_ int next_byte = parser_.get_next_byte(tape_player_.get_tape()); if(next_byte != -1) { uint16_t hl = get_value_of_register(CPU::Z80::Register::HL); @@ -112,7 +109,7 @@ int Machine::perform_machine_cycle(const CPU::Z80::MachineCycle &cycle) { set_value_of_register(CPU::Z80::Register::ProgramCounter, tape_return_address_ - 1); return 0; } - } + }*/ case CPU::Z80::BusOperation::Read: if(address < ram_base_) {