retro-extend(1) better error message on invalid instructions

FossilOrigin-Name: e79f2ee0c8ff46f0f6537fd820188e517c06a28bc0429576ee2bde0baddd13de
This commit is contained in:
crc 2022-06-07 10:41:27 +00:00
parent e89789839b
commit 3aa560c9dc

View file

@ -261,7 +261,7 @@ void update_rx() {
/* The `execute` function runs a word in the Retro image. */
void execute(CELL cell) {
CELL opcode;
CELL opcode, a, i;
rp = 1;
ip = cell;
while (ip < IMAGE_SIZE) {
@ -272,7 +272,15 @@ void execute(CELL cell) {
if (ngaValidatePackedOpcodes(opcode) != 0) {
ngaProcessPackedOpcodes(opcode);
} else {
printf("Invalid instruction!\n");
printf("\nERROR: Invalid instruction!\n");
printf("At %lld, opcode %lld\n", (long long)ip, (long long)opcode);
printf("Instructions: ");
a = opcode;
for (i = 0; i < 4; i++) {
printf("%lldd ", (long long)a & 0xFF);
a = a >> 8;
}
printf("\n");
exit(1);
}
ip++;