diff --git a/cpu/decoder.cpp b/cpu/decoder.cpp index 010b7b2..9898da0 100644 --- a/cpu/decoder.cpp +++ b/cpu/decoder.cpp @@ -276,13 +276,9 @@ void Cpu::executeInstruction() state.subtract = true; state.halfcarry = true; - case 0xC3: // JP nn - { - u16 nn = readPC16(); - state.PC = nn; - mcycles = 4; - } + state.PC = readPC16(); + mcycles = 4; break; case 0xE9: // JP HL state.PC = state.HL; @@ -291,11 +287,18 @@ void Cpu::executeInstruction() state.PC += (s8)readPC8(); break; case 0xCD: // CALL nn - doCall(readPC16()); mcycles = 6; break; + doCall(readPC16()); + mcycles = 6; + break; case 0xC9: // RET - doRet(); mcycles = 4; break; + doRet(); + mcycles = 4; + break; case 0xD9: // RETI - doRet(); state.IME = IME_ON; mcycles = 4; break; + doRet(); + state.IME = IME_ON; + mcycles = 4; + break; case 0xF3: // DI state.IME = IME_OFF;