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.
This commit is contained in:
2018-07-22 16:15:52 -07:00
parent f659af54e1
commit e1e3111976

View File

@@ -967,6 +967,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
POP_16(cpu, cpu->bc); POP_16(cpu, cpu->bc);
break; break;
case 0xc2: case 0xc2:
ASSERT(0);
case 0xc3: /* JP a16 */ case 0xc3: /* JP a16 */
val_16 = gb_mem_read(cpu->memory, cpu->pc++); val_16 = gb_mem_read(cpu->memory, cpu->pc++);
val_16 |= ((uint16_t) gb_mem_read(cpu->memory, cpu->pc++) << 8); 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); PUSH_16(cpu, cpu->bc);
break; break;
case 0xc6: case 0xc6:
ASSERT(0);
case 0xc7: /* RST 00 */ case 0xc7: /* RST 00 */
RST(cpu, 0); RST(cpu, 0);
break; break;
@@ -1342,6 +1344,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
CALL(cpu); CALL(cpu);
break; break;
case 0xce: case 0xce:
ASSERT(0);
case 0xcf: /* RST 08 */ case 0xcf: /* RST 08 */
RST(cpu, 0x08); RST(cpu, 0x08);
break; break;
@@ -1376,6 +1379,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
PUSH_16(cpu, cpu->de); PUSH_16(cpu, cpu->de);
break; break;
case 0xd6: case 0xd6:
ASSERT(0);
case 0xd7: /* RST 0x10 */ case 0xd7: /* RST 0x10 */
RST(cpu, 0x10); RST(cpu, 0x10);
break; break;
@@ -1389,6 +1393,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
cpu->int_state = LR35902_INT_ON; cpu->int_state = LR35902_INT_ON;
break; break;
case 0xda: case 0xda:
ASSERT(0);
case 0xdb: /* UNDEF */ case 0xdb: /* UNDEF */
break; break;
case 0xdc: /* CALL C */ case 0xdc: /* CALL C */
@@ -1401,6 +1406,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
case 0xdd: /* UNDEF */ case 0xdd: /* UNDEF */
break; break;
case 0xde: case 0xde:
ASSERT(0);
case 0xdf: /* RST 0x18 */ case 0xdf: /* RST 0x18 */
RST(cpu, 0x18); RST(cpu, 0x18);
break; break;
@@ -1426,6 +1432,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
break; break;
case 0xe8: case 0xe8:
case 0xe9: case 0xe9:
ASSERT(0);
case 0xea: /* LD (a16), A */ case 0xea: /* LD (a16), A */
val_16 = gb_mem_read(cpu->memory, cpu->pc++); val_16 = gb_mem_read(cpu->memory, cpu->pc++);
val_16 |= gb_mem_read(cpu->memory, cpu->pc++) << 8; val_16 |= gb_mem_read(cpu->memory, cpu->pc++) << 8;
@@ -1438,6 +1445,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
case 0xed: /* UNDEF */ case 0xed: /* UNDEF */
break; break;
case 0xee: case 0xee:
ASSERT(0);
case 0xef: /* RST 0x28 */ case 0xef: /* RST 0x28 */
RST(cpu, 0x28); RST(cpu, 0x28);
break; break;
@@ -1455,6 +1463,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
break; break;
case 0xf2: case 0xf2:
case 0xf3: case 0xf3:
ASSERT(0);
case 0xf4: /* UNDEF */ case 0xf4: /* UNDEF */
break; break;
case 0xf5: /* PUSH AF */ case 0xf5: /* PUSH AF */
@@ -1468,6 +1477,7 @@ int lr35902_cycle(struct lr35902_state *cpu)
case 0xf9: case 0xf9:
case 0xfa: case 0xfa:
case 0xfb: case 0xfb:
ASSERT(0);
case 0xfc: /* UNDEF */ case 0xfc: /* UNDEF */
break; break;
case 0xfd: /* UNDEF */ case 0xfd: /* UNDEF */