From e1e31119762514e696ade685ce5cef048ba41dbe Mon Sep 17 00:00:00 2001 From: Max Regan Date: Sun, 22 Jul 2018 16:15:52 -0700 Subject: [PATCH] cpu: add more asserts for unimplemented ops Since the bootrom is now executing successfully, these will be more necessary for identifying when new instructions are used. --- src/gbemu/cpu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gbemu/cpu.c b/src/gbemu/cpu.c index 8943e77..3f76b86 100644 --- a/src/gbemu/cpu.c +++ b/src/gbemu/cpu.c @@ -967,6 +967,7 @@ int lr35902_cycle(struct lr35902_state *cpu) POP_16(cpu, cpu->bc); break; case 0xc2: + ASSERT(0); case 0xc3: /* JP a16 */ val_16 = gb_mem_read(cpu->memory, cpu->pc++); val_16 |= ((uint16_t) gb_mem_read(cpu->memory, cpu->pc++) << 8); @@ -983,6 +984,7 @@ int lr35902_cycle(struct lr35902_state *cpu) PUSH_16(cpu, cpu->bc); break; case 0xc6: + ASSERT(0); case 0xc7: /* RST 00 */ RST(cpu, 0); break; @@ -1342,6 +1344,7 @@ int lr35902_cycle(struct lr35902_state *cpu) CALL(cpu); break; case 0xce: + ASSERT(0); case 0xcf: /* RST 08 */ RST(cpu, 0x08); break; @@ -1376,6 +1379,7 @@ int lr35902_cycle(struct lr35902_state *cpu) PUSH_16(cpu, cpu->de); break; case 0xd6: + ASSERT(0); case 0xd7: /* RST 0x10 */ RST(cpu, 0x10); break; @@ -1389,6 +1393,7 @@ int lr35902_cycle(struct lr35902_state *cpu) cpu->int_state = LR35902_INT_ON; break; case 0xda: + ASSERT(0); case 0xdb: /* UNDEF */ break; case 0xdc: /* CALL C */ @@ -1401,6 +1406,7 @@ int lr35902_cycle(struct lr35902_state *cpu) case 0xdd: /* UNDEF */ break; case 0xde: + ASSERT(0); case 0xdf: /* RST 0x18 */ RST(cpu, 0x18); break; @@ -1426,6 +1432,7 @@ int lr35902_cycle(struct lr35902_state *cpu) break; case 0xe8: case 0xe9: + ASSERT(0); case 0xea: /* LD (a16), A */ val_16 = gb_mem_read(cpu->memory, cpu->pc++); val_16 |= gb_mem_read(cpu->memory, cpu->pc++) << 8; @@ -1438,6 +1445,7 @@ int lr35902_cycle(struct lr35902_state *cpu) case 0xed: /* UNDEF */ break; case 0xee: + ASSERT(0); case 0xef: /* RST 0x28 */ RST(cpu, 0x28); break; @@ -1455,6 +1463,7 @@ int lr35902_cycle(struct lr35902_state *cpu) break; case 0xf2: case 0xf3: + ASSERT(0); case 0xf4: /* UNDEF */ break; case 0xf5: /* PUSH AF */ @@ -1468,6 +1477,7 @@ int lr35902_cycle(struct lr35902_state *cpu) case 0xf9: case 0xfa: case 0xfb: + ASSERT(0); case 0xfc: /* UNDEF */ break; case 0xfd: /* UNDEF */