1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-01-11 08:30:55 +00:00

Differentiate non-fetching and fetching NOPs.

This commit is contained in:
Thomas Harte 2023-08-29 16:50:39 -04:00
parent 598a889c6d
commit 5dae726857

View File

@ -68,11 +68,14 @@ using namespace CPU::MOS6502;
#define ZeroNop() Program(Zero, CycleFetchOperandFromAddress)
#define ZeroXNop() Program(ZeroX, CycleFetchOperandFromAddress)
#define AbsoluteNop() Program(Absolute)
#define AbsoluteXNop() Program(AbsoluteX)
#define AbsoluteNop() Program(Absolute, CycleFetchOperandFromAddress)
#define AbsoluteXNop() Program(AbsoluteX, CycleFetchOperandFromAddress)
#define ImpliedNop() {OperationMoveToNextProgram}
#define ImmediateNop() Program(OperationIncrementPC)
#define AbsoluteNopNoFetch() Program(Absolute)
#define AbsoluteXNopNoFetch() Program(AbsoluteX)
#define JAM {CycleFetchOperand, OperationScheduleJam}
ProcessorStorage::ProcessorStorage(Personality personality) {
@ -425,10 +428,10 @@ ProcessorStorage::ProcessorStorage(Personality personality) {
}
} else {
for(int location = 0x0f; location <= 0xef; location += 0x20) {
Install(location, AbsoluteNop());
Install(location, AbsoluteNopNoFetch());
}
for(int location = 0x1f; location <= 0xff; location += 0x20) {
Install(location, AbsoluteXNop());
Install(location, AbsoluteXNopNoFetch());
}
for(int c = 0x07; c <= 0xe7; c += 0x20) {
Install(c, ZeroNop());