DI should not be delayed.

This commit is contained in:
Lior Halphon 2017-02-15 19:04:53 +02:00
parent 4b6fda0cb6
commit 3fbc2c5716

View File

@ -1061,16 +1061,11 @@ static void ld_a_da16(GB_gameboy_t *gb, uint8_t opcode)
static void di(GB_gameboy_t *gb, uint8_t opcode) static void di(GB_gameboy_t *gb, uint8_t opcode)
{ {
/* DI is NOT delayed, not even on a CGB. Mooneye's di_timing-GS test fails on a CGB
for different reasons.*/
GB_advance_cycles(gb, 4); GB_advance_cycles(gb, 4);
/* di is delayed in CGB */
if (!gb->is_cgb) {
gb->ime = false; gb->ime = false;
} }
else if (gb->ime) {
gb->ime_toggle = true;
}
}
static void ei(GB_gameboy_t *gb, uint8_t opcode) static void ei(GB_gameboy_t *gb, uint8_t opcode)
{ {