added more instructions

This commit is contained in:
Lauchmelder 2021-10-23 00:47:33 +02:00
parent f872e19707
commit a345421963
6 changed files with 558 additions and 39 deletions

View file

@ -8,7 +8,7 @@ void logBusState(struct Bus* bus)
{
const char buffer[32];
Word oldPC = bus->cpu->pc - bus->cpu->currentOpcode->length;
Word oldPC = bus->cpu->pc.word - bus->cpu->currentOpcode->length;
printf("%04X ", oldPC);
@ -27,11 +27,11 @@ void logBusState(struct Bus* bus)
case ABS: sprintf(buffer, "$%04X", bus->cpu->fetchedAddress); break;
case ABX: sprintf(buffer, "$%04X, X -> $%04X", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case ABY: sprintf(buffer, "$%04X, Y -> $%04X", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case IMM: sprintf(buffer, "#$%04X", bus->cpu->fetchedVal); break;
case IMM: sprintf(buffer, "#$%02X", bus->cpu->fetchedVal); break;
case IMP: sprintf(buffer, ""); break;
case IND: sprintf(buffer, "($%04X) -> $%04x", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case INDX: sprintf(buffer, "($%04X, X) -> $%04x", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case INDY: sprintf(buffer, "($%04X), Y -> $%04x", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case IND: sprintf(buffer, "($%04X) -> $%04X", (instructionBytes[2] << 8) | instructionBytes[1], bus->cpu->fetchedAddress); break;
case INDX: sprintf(buffer, "($%02X, X) -> $%04X", instructionBytes[1], bus->cpu->fetchedAddress); break;
case INDY: sprintf(buffer, "($%02X), Y -> $%04X", instructionBytes[1], bus->cpu->fetchedAddress); break;
case REL: sprintf(buffer, "$%02X", bus->cpu->fetchedRelAddress); break;
case ZPG: sprintf(buffer, "$%02X", bus->cpu->fetchedAddress); break;
case ZPX: sprintf(buffer, "$%02X, X -> $%02X", instructionBytes[1], bus->cpu->fetchedAddress); break;