X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=fce.c;h=282a26413864fab7684e7e880604075914c0d4b0;hp=e83085eb56cc960e7334eef677940df9a3eda101;hb=43725da7349c85fa13e828fdbf20cc7ac8d298d6;hpb=c8c88d89f9bb0df71360b3b68327300f686a1c20 diff --git a/fce.c b/fce.c index e83085e..282a264 100644 --- a/fce.c +++ b/fce.c @@ -98,6 +98,7 @@ static uint8 deemp=0; static int deempcnt[8]; FCEUGI FCEUGameInfo; +FCEUGI *GameInfo = &FCEUGameInfo; void (*GameInterface)(int h, void *param); void FP_FASTAPASS(1) (*PPU_hook)(uint32 A); @@ -631,7 +632,14 @@ static void LineUpdate(uint8 *target) return; } - if(scanline < FSettings.FirstSLine || scanline > FSettings.LastSLine) + if(!ScreenON) + { + tem=Pal[0]|0x40; + tem|=tem << 8; + tem|=tem << 16; + FCEU_dwmemset(target,tem,256); + } + else if(scanline < FSettings.FirstSLine || scanline > FSettings.LastSLine) { if(PPU_hook) PRefreshLine(); @@ -640,17 +648,7 @@ static void LineUpdate(uint8 *target) } else { - if(ScreenON) - { - BGRender(target); - } - else - { - tem=Pal[0]|0x40; - tem|=tem << 8; - tem|=tem << 16; - FCEU_dwmemset(target,tem,256); - } + BGRender(target); } if(InputScanlineHook) @@ -1117,7 +1115,7 @@ void ResetGameLoaded(void) char lastLoadedGameName [2048]; int LoadGameLastError = 0; int UNIFLoad(const char *name, int fp); -int iNESLoad(const char *name, int fp); +int iNESLoad(const char *name, int fp, int OverwriteVidMode); int FDSLoad(const char *name, int fp); int NSFLoad(int fp); @@ -1178,7 +1176,7 @@ FCEUGI *FCEUI_LoadGame(char *name) } GetFileBase(name2); - if(iNESLoad(name2,fp)) + if(iNESLoad(name2,fp,1)) goto endlseq; if(NSFLoad(fp)) goto endlseq; @@ -1521,9 +1519,9 @@ void ResetNES081(void) X6502_Reset(); } -#ifndef DEBUG_ASM_6502 -static void FCEU_MemoryRand(uint8 *ptr, uint32 size) +void FCEU_MemoryRand(uint8 *ptr, uint32 size) { +#ifndef DEBUG_ASM_6502 int x=0; while(size) { @@ -1532,8 +1530,8 @@ static void FCEU_MemoryRand(uint8 *ptr, uint32 size) size--; ptr++; } -} #endif +} void PowerNES(void) { @@ -1544,9 +1542,8 @@ void PowerNES(void) GeniePower(); -#ifndef DEBUG_ASM_6502 FCEU_MemoryRand(RAM,0x800); -#else +#ifdef DEBUG_ASM_6502 memset(RAM,0x00,0x800); memset(nes_internal_ram,0x00,0x800); #endif