From c699b8899a1e9ff7300a768b905c2e1128ec4845 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 25 Mar 2026 21:52:26 -0400 Subject: [PATCH] Fix modifies. 254 failures. --- OSBindings/Mac/Clock SignalTests/6809Tests.mm | 10 +--------- Processors/6809/6809.hpp | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/OSBindings/Mac/Clock SignalTests/6809Tests.mm b/OSBindings/Mac/Clock SignalTests/6809Tests.mm index 38abe97fc..9b7d3cb32 100644 --- a/OSBindings/Mac/Clock SignalTests/6809Tests.mm +++ b/OSBindings/Mac/Clock SignalTests/6809Tests.mm @@ -505,7 +505,7 @@ struct M6809Traits { test({0x37, 0x02}, {RW::Read, RW::Read, RW::NoData, RW::NoData, RW::Read, RW::NoData}); test({0x37, 0x41}, {RW::Read, RW::Read, RW::NoData, RW::NoData, RW::Read, RW::Read, RW::Read, RW::NoData}); - // TST direct, extended. TODO: indexed. + // TST direct, extended. test({0x0d, 0x00}, {RW::Read, RW::Read, RW::NoData, RW::Read, RW::NoData, RW::NoData}); test({0x7d, 0x00, 0x00}, {RW::Read, RW::Read, RW::Read, RW::NoData, RW::Read, RW::NoData, RW::NoData}); @@ -545,8 +545,6 @@ struct M6809Traits { sequence(0x7f); // CLR. (Confirmed: it really is read-modify-write.) } - // TODO: indexed modifies. High nibble 0x6. - // MARK: - [SUB, CMP, SBC, AND, BIT, LD, EOR, ADC, OR, ADD][A, B] { /* Immediate. */ @@ -630,8 +628,6 @@ struct M6809Traits { sequence(0xfb); // ADDB } - // TODO: indexeds, at 0xa and 0xe. - // MARK: - STA, STB. { /* Direct. */ @@ -650,8 +646,6 @@ struct M6809Traits { sequence(0xf7); // STB } - // TODO: indexed, 0xa7 and 0xe7. - // MARK: - ADDD, CMPX, SUBD. { /* Immediate. */ @@ -681,8 +675,6 @@ struct M6809Traits { sequence(0xb3); // SUBD } - // TODO: indexed, 0xe3, etc - // MARK: - CMPY, CMPD, CMPS, CMPU { /* Immediate. */ diff --git a/Processors/6809/6809.hpp b/Processors/6809/6809.hpp index 53da9f062..5a6c1fbd6 100644 --- a/Processors/6809/6809.hpp +++ b/Processors/6809/6809.hpp @@ -1169,7 +1169,7 @@ struct Processor { read(BusState::Normal, LIC::Inactive, Literal(address_.full), operand_.halves.low); perform_operation(LIC::Inactive); internal_cycle(LIC::Inactive); - write(BusState::Normal, LIC::Inactive, Literal(address_.full), operand_.halves.low); + write(BusState::Normal, LIC::Active, Literal(address_.full), operand_.halves.low); goto fetch_decode; }