cpu: implement LDH instructions
This commit is contained in:
@@ -1338,7 +1338,10 @@ void lr35902_cycle(struct lr35902_state *cpu)
|
||||
case 0xdf: /* RST 0x18 */
|
||||
RST(cpu, 0x18);
|
||||
break;
|
||||
case 0xe0:
|
||||
case 0xe0: /* LDH (a8), A / LD ($FF00+a8),A */
|
||||
val = cpu->mem_read(cpu, cpu->pc++);
|
||||
cpu->mem_write(cpu, 0xff00 + val, cpu->a);
|
||||
break;
|
||||
case 0xe1: /* POP HL */
|
||||
POP_16(cpu, cpu->hl);
|
||||
break;
|
||||
@@ -1371,7 +1374,10 @@ void lr35902_cycle(struct lr35902_state *cpu)
|
||||
case 0xef: /* RST 0x28 */
|
||||
RST(cpu, 0x28);
|
||||
break;
|
||||
case 0xf0:
|
||||
case 0xf0: /* LDH A,(a8) / LD A,($FF00+a8) */
|
||||
val = cpu->mem_read(cpu, cpu->pc++);
|
||||
cpu->a = cpu->mem_read(cpu, 0xff00 + val);
|
||||
break;
|
||||
case 0xf1: /* POP AF */
|
||||
cpu->a = cpu->mem_read(cpu, cpu->sp++);
|
||||
val = cpu->mem_read(cpu, cpu->sp++);
|
||||
|
||||
Reference in New Issue
Block a user