diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 1cd65a3f..741e554d 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -498,7 +498,12 @@ prevloaddnamel times 512*10 db 0 prevloadfnamel times 512*10 db 0 NEWSYM PrevWinMode, db 0 -NEWSYM PrevFSMode, db 0 +%ifdef __WIN32__ +NEWSYM PrevFSMode, db 6 +%endif +%ifdef __LINUX__ +NEWSYM PrevFSMode, db 3 +%endif OldWinPos db 0 GUIwinposx dd 0,5 ,60 ,30 ,55 ,50 ,65 ,5 ,30 ,20 ,10 ,80 ,65 ,20 ,70 ,50 ,3 ,50 diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index fd060f23..27ee70a8 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -829,15 +829,6 @@ GUIProcVideo: cmp dword[GUIkeydelay],0 je .failed2 mov dword[GUIkeydelay],0 - xor eax,eax - mov al,[cvidmode] - cmp byte[GUIWFVID+eax],1 - je .fullsc - mov byte[PrevWinMode],al - ret -.fullsc - mov byte[PrevFSMode],al - ret .failed mov byte[videotroub],0 mov al,[.prevvid] diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index 20210029..2e7715b3 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -121,7 +121,7 @@ EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 EXTSYM ZsnesPage EXTSYM GetLocalTime EXTSYM V8Mode,GrayscaleMode -EXTSYM PrevWinMode +EXTSYM PrevWinMode,PrevFSMode NEWSYM WinIntRFAsmStart @@ -819,10 +819,13 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs xor eax,eax mov al,[cvidmode] - cmp byte[GUIWFVID+eax],1 - je .noprevwinmode + cmp byte[GUIWFVID+eax],0 + je .prevwinmode + mov byte[PrevFSMode],al + jmp .doneprevmode +.prevwinmode mov byte[PrevWinMode],al -.noprevwinmode +.doneprevmode cmp dword[firstvideo],1 je .skipinitgfx diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index 876e1865..286d137e 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -133,7 +133,7 @@ EXTSYM UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 EXTSYM ZsnesPage EXTSYM V8Mode,GrayscaleMode -EXTSYM PrevWinMode +EXTSYM PrevWinMode,PrevFSMode EXTSYM _imp__GetLocalTime@4 @@ -1097,10 +1097,13 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs xor eax,eax mov al,[cvidmode] - cmp byte[GUIWFVID+eax],1 - je .noprevwinmode + cmp byte[GUIWFVID+eax],0 + je .prevwinmode + mov byte[PrevFSMode],al + jmp .doneprevmode +.prevwinmode mov byte[PrevWinMode],al -.noprevwinmode +.doneprevmode cmp dword[firstvideo],1 je .skipinitgfx