mirror of https://github.com/mgba-emu/mgba.git
LR35902: Mostly fix DAA
This commit is contained in:
parent
6ab3bdcc46
commit
a8b473870d
|
@ -590,14 +590,23 @@ DEFINE_INSTRUCTION_LR35902(CPL_,
|
||||||
cpu->f.n = 1;)
|
cpu->f.n = 1;)
|
||||||
|
|
||||||
DEFINE_INSTRUCTION_LR35902(DAA,
|
DEFINE_INSTRUCTION_LR35902(DAA,
|
||||||
if ((cpu->a & 0xF) > 0x9 || cpu->f.h) {
|
if (cpu->f.n) {
|
||||||
cpu->a += 0x6;
|
if (cpu->f.h) {
|
||||||
}
|
cpu->a += 0xFA;
|
||||||
if ((cpu->a & 0xF0) > 0x90 || cpu->f.c) {
|
}
|
||||||
cpu->a += 0x60;
|
if (cpu->f.c) {
|
||||||
cpu->f.c = 1;
|
cpu->a += 0xA0;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cpu->f.c = 0;
|
if ((cpu->a & 0xF) > 0x9 || cpu->f.h) {
|
||||||
|
cpu->a += 0x6;
|
||||||
|
}
|
||||||
|
if ((cpu->a & 0xF0) > 0x90 || cpu->f.c) {
|
||||||
|
cpu->a += 0x60;
|
||||||
|
cpu->f.c = 1;
|
||||||
|
} else {
|
||||||
|
cpu->f.c = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cpu->f.h = 0;
|
cpu->f.h = 0;
|
||||||
cpu->f.z = !cpu->a;)
|
cpu->f.z = !cpu->a;)
|
||||||
|
|
Loading…
Reference in New Issue