diff --git a/z80.cpp b/z80.cpp index 107e7e7..f2b59aa 100644 --- a/z80.cpp +++ b/z80.cpp @@ -643,7 +643,11 @@ namespace z80 if (!iff1) return; exit_from_halt = true; PUSH(rPC); - rPC = 0x38; + if (im==1) { + rPC = 0x38; + } else if (im==2) { + rPC = (rI<<8) | 0xFF; + } } void RST(uint8_t vec)