LD, LDH, WRAM, and HRAM
This commit is contained in:
@ -26,4 +26,26 @@ u16 cpu_read_reg(reg_type rt) {
|
||||
case RT_SP: return ctx.regs.sp;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void cpu_set_reg(reg_type rt, u16 val) {
|
||||
switch(rt) {
|
||||
case RT_A: ctx.regs.a = val & 0XFF; break;
|
||||
case RT_F: ctx.regs.f = val & 0XFF; break;
|
||||
case RT_B: ctx.regs.b = val & 0XFF; break;
|
||||
case RT_C: ctx.regs.c = val & 0XFF; break;
|
||||
case RT_D: ctx.regs.d = val & 0XFF; break;
|
||||
case RT_E: ctx.regs.e = val & 0XFF; break;
|
||||
case RT_H: ctx.regs.h = val & 0XFF; break;
|
||||
case RT_L: ctx.regs.l = val & 0XFF; break;
|
||||
|
||||
case RT_AF: *((u16 *)&ctx.regs.a) = reverse(val); break;
|
||||
case RT_BC: *((u16 *)&ctx.regs.b) = reverse(val); break;
|
||||
case RT_DE: *((u16 *)&ctx.regs.d) = reverse(val); break;
|
||||
case RT_HL: *((u16 *)&ctx.regs.h) = reverse(val); break;
|
||||
|
||||
case RT_PC: ctx.regs.pc = val; break;
|
||||
case RT_SP: ctx.regs.sp = val; break;
|
||||
case RT_NONE: break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user