X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=fce.c;h=d540affa8add8064861077dda7363a2170a25818;hp=d3b5c63343c3f4cf623f889728fd91c5e49cf490;hb=15d2d2584cc71389f06b969d7cd836332add97c6;hpb=c0623dcfadb00843e43c0f8cdcb8898bfc1f08f5 diff --git a/fce.c b/fce.c index d3b5c63..d540aff 100644 --- 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(); }