1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-27 01:31:42 +00:00

Corrects DEX mapping, notes new Dormann failure case.

This commit is contained in:
Thomas Harte 2020-10-07 18:48:03 -04:00
parent eac722cf59
commit 84c4fa197b
3 changed files with 3 additions and 2 deletions

View File

@ -44,6 +44,7 @@ class KlausDormannTests: XCTestCase {
switch address {
case 0x3399: return nil // success!
case 0x052a: return "DEX did not correctly set zero flag"
case 0x33a7: return "Decimal ADC result has wrong value"
case 0x3502: return "Binary SBC result has wrong value"
case 0x33b9: return "Decimal SBC result has wrong value"

View File

@ -51,7 +51,7 @@ template <typename BusHandler> void Processor<BusHandler>::run_for(const Cycles
case OperationDecode: {
// A VERY TEMPORARY piece of logging.
printf("[%04x] %02x\n", pc_ - 2, instruction_buffer_.value); // pc_ - 1 would be correct but this matches a log I made of the 6502.
printf("[%04x] %02x a:%04x x:%04x y:%04x p:%02x\n", pc_ - 1, instruction_buffer_.value, a_.full, x_.full, y_.full, flags_.get()); // pc_ - 1 would be correct but this matches a log I made of the 6502.
active_instruction_ = &instructions[instruction_buffer_.value];
const auto size_flag = mx_flags_[active_instruction_->size_field];

View File

@ -926,7 +926,7 @@ ProcessorStorage::ProcessorStorage() {
/* 0xc7 CMP [d] */ op(direct_indirect_long, CMP);
/* 0xc8 INY i */ op(implied, INY);
/* 0xc9 CMP # */ op(immediate, CMP);
/* 0xca DEX i */ op(implied, DEC);
/* 0xca DEX i */ op(implied, DEX);
/* 0xcb WAI i */ op(wai, WAI);
/* 0xcc CPY a */ op(absolute, CPY);
/* 0xcd CMP a */ op(absolute, CMP);