cmdline parser fix, missing init stuff
[fceu.git] / fce.c
diff --git a/fce.c b/fce.c
index d3b5c63..d540aff 100644 (file)
--- a/fce.c
+++ b/fce.c
@@ -39,6 +39,7 @@
 #include       "fds.h"
 #include       "ines.h"
 #include       "unif.h"
+#include       "vsuni.h"
 #include        "cheat.h"
 
 #include       "state.h"
@@ -145,6 +146,8 @@ void asmcpu_unpack(void)
        X6502_Rebase_a();
        nes_registers[4] = X.S << 24;
        nes_registers[4]|= X.IRQlow << 8;
+       if (MapIRQHook)
+               nes_registers[4] |= 1<<16; // MapIRQHook set bit
        nes_registers[7] = (uint32)X.count << 16;
 
        // NVUB DIZC
@@ -1514,15 +1517,18 @@ void PowerNES(void)
         memset(RAM,0x00,0x800);
 #endif
         ResetMapping();
-       GameInterface(GI_POWER, 0);
         PowerSound();
        PowerPPU();
-       timestampbase=0;
+       GameInterface(GI_POWER, 0);
+        if(FCEUGameInfo.type==GIT_VSUNI)
+         FCEU_VSUniPower();
 #ifdef ASM_6502
        if (geniestage)
         GenieSetPages(0);
 #endif
+       timestampbase=0;
        X6502_Power();
+       FCEU_PowerCheats();
 }