ようやくデバッグ終わりました。。
巷のGBSファイルでも8割以上は動作できると思います。
あれから2,3個つぶして
最後のバグはAND命令のフラグ間違い(写経ミス)でした。。
誤
IWRAM_CODE void CpuExecAnd(u8 r2) { u8 result = Cpu.AF.b.h & r2; Cpu.AF.b.h = result; CpuFlagToggle(CPU_FLAG_HALF); CpuFlagToggleZeroFromResult(result); }
正
IWRAM_CODE void CpuExecAnd(u8 r2) { u8 result = Cpu.AF.b.h & r2; Cpu.AF.b.h = result; CpuFlagSet(CPU_FLAG_HALF); // ← CpuFlagToggleZeroFromResult(result); }
パッと見わかりません。orz