1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-25 16:31:42 +00:00

Revise guess on JMP (abs, x).

This commit is contained in:
Thomas Harte 2023-12-20 16:04:48 -05:00
parent d33deb676f
commit 24c80060c8

View File

@ -346,11 +346,14 @@ ProcessorStorage::ProcessorStorage(Personality personality) {
}
// Correct JMP (abs) and install JMP (abs, x).
//
// Guess: JMP (abs, x) uses the faster abs,x of ASL, LSL, etc rather than the older, slower of INC and DEC.
Install(0x6c, Program(CycleReadAddressHLoadAddressL, CycleReadPCLFromAddress, CycleReadPCHFromAddressLowInc, CycleReadPCHFromAddressFixed));
Install(0x7c, Program(
CycleReadAddressHLoadAddressL, // (3) read second byte of (addr)
CycleAddXToAddressLowRead, // (4) calculate addr+x, read from (addr+x) with high byte not yet calculated
OperationCorrectAddressHigh, CycleReadPCLFromAddress, // (5) read from real (addr+x)
CycleAddYToAddressLow,
OperationCorrectAddressHigh, // (4?) read from incorrectly-calculated address
CycleReadPCLFromAddress, // (4/5) read from real (addr+x)
CycleReadPCHFromAddressInc // (6) read from addr+x+1
));