diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 3d31c03d..da13b209 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -609,6 +609,7 @@ NEWSYM FFRatio, db 9 ; 0 = 2x, 28 = 30x NEWSYM SDRatio, db 0 ; 0 = /2, 28 = /30 NEWSYM KeyEmuSpeedUp, dd 0 NEWSYM KeyEmuSpeedDown, dd 0 +NEWSYM AllowUDLR, db 0 ;end NEWSYM end GUIsave equ $-GUIRAdd diff --git a/zsnes/src/gui/guikeys.inc b/zsnes/src/gui/guikeys.inc index ea5a01f2..e2680d62 100644 --- a/zsnes/src/gui/guikeys.inc +++ b/zsnes/src/gui/guikeys.inc @@ -677,6 +677,10 @@ GUIOptionKeys: jne .norominfo xor byte[RomInfo],1 .norominfo + cmp dh,'A' + jne .noallowudlr + xor byte[AllowUDLR],1 +.noallowudlr %ifdef __WIN32__ cmp dh,'I' jne .noscreensaver diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index f8af214f..4b4971b2 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2347,8 +2347,9 @@ DisplayGUIOptionClick: GUIClickCButton 11,120,byte[SmallMsgText] GUIClickCButton 11,130,byte[AutoPatch] GUIClickCButton 11,140,byte[RomInfo] + GUIClickCButton 11,150,byte[AllowUDLR] %ifdef __WIN32__ - GUIClickCButtonW 11,150,byte[DisableScreenSaver] + GUIClickCButtonW 11,160,byte[DisableScreenSaver] %endif ret diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 73e42633..a6759295 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1474,8 +1474,9 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi GUIOuttextwin2u 4,26,124,GUIOptionTextC,1 GUIOuttextwin2u 4,26,134,GUIOptionTextD,12 GUIOuttextwin2u 4,26,144,GUIOptionTextE,15 + GUIOuttextwin2u 4,26,154,GUIOptionTextF,0 %ifdef __WIN32__ - GUIOuttextwin2u 4,26,154,GUIOptionTextW,1 + GUIOuttextwin2u 4,26,164,GUIOptionTextW,1 %endif add byte[GUItextcolor],15 ; Text @@ -1496,8 +1497,9 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi GUIOuttextwin2 4,25,123,GUIOptionTextC GUIOuttextwin2 4,25,133,GUIOptionTextD GUIOuttextwin2 4,25,143,GUIOptionTextE + GUIOuttextwin2 4,25,153,GUIOptionTextF %ifdef __WIN32__ - GUIOuttextwin2 4,25,153,GUIOptionTextW + GUIOuttextwin2 4,25,163,GUIOptionTextW %endif @@ -1596,15 +1598,22 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi .nocheckbox12 GUIDisplayIconWin 4,11,140,[GUITemp] -%ifdef __WIN32__ mov dword[GUITemp],GUIIconDataCheckBoxUC - cmp byte[DisableScreenSaver],0 + cmp byte[AllowUDLR],0 je .nocheckbox13 mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckbox13 GUIDisplayIconWin 4,11,150,[GUITemp] + +%ifdef __WIN32__ + mov dword[GUITemp],GUIIconDataCheckBoxUC + cmp byte[DisableScreenSaver],0 + je .nocheckbox99 + mov dword[GUITemp],GUIIconDataCheckBoxC +.nocheckbox99 + GUIDisplayIconWin 4,11,160,[GUITemp] %endif - ret + ret SECTION .data @@ -1619,12 +1628,12 @@ GUIOptionText6b db 'HIGH PRIORITY MODE',0 GUIOptionText7 db 'FPS AT PROGRAM START',0 GUIOptionText8 db 'USE 30HZ FOR TURBO',0 GUIOptionText9 db 'ENABLE GAME CLOCK',0 -;GUIOptionTextA db 'TOGGLED FAST FWD/SLWDWN',0 GUIOptionTextA db 'OLD GFX MODE 2',0 GUIOptionTextB db 'DON',39,'T SAVE CUR PATH',0 GUIOptionTextC db 'USE SMALL MESSAGE TEXT',0 GUIOptionTextD db 'ENABLE AUTO-PATCH',0 GUIOptionTextE db 'ENABLE ROMINFO.TXT',0 +GUIOptionTextF db 'ALLOW U+D/L+R',0 GUIOptionTextW db 'DISABLE SCREENSAVER',0 ; Try to keep as last option, since its Win Only. GUIOptionTextX db '-',0 GUIOptionTextY db '+',0 @@ -3880,7 +3889,6 @@ DisplayGameOptns: GUIOuttextwin2 9,8+52,81,GUIGameOptnsTextB GUIOuttextwin2 9,136,81,GUIGameOptnsTextC - mov al,byte[GUIGameOptnsColA] mov byte[GUItextcolor],al mov al,byte[GUIGameOptnsColB] @@ -3996,7 +4004,6 @@ GUIGameOptnsTextC db 'SAVE SPC',0 GUIGameOptnsTextD db 'MISC TOGGLES :',0 GUIGameOptnsTextE db 'USE PL12/34',0 -;GUIGameOptnsTextEa db 'FREE SPACE',0 GUIGameOptnsTextF db 'CLRSWITCHES',0 GUIGameOptnsTextG db 'EXTRADEVICE',0 GUIGameOptnsTextGa db '+VOL',0 diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 0a93f433..0ec25df9 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -56,7 +56,7 @@ EXTSYM memaccessbankr1648mb,procexecloop,ram7fa,wramdata,wramdataa,fname,fnames EXTSYM GetCurDir,SRAMChdir,cfgloadsdir,fnamest,statefileloc,InitDir,InitDrive EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16 EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,ScrDispl,wramreadptr -EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw +EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw,AllowUDLR ;initc.c EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize @@ -687,6 +687,8 @@ CombContDatR dd 08000000h,04000000h,01000000h,02000000h,00800000h,80000000h SECTION .text %macro PlayerDeviceFix 1 + cmp byte[AllowUDLR],1 + je %%noleftright mov eax,[%1] and eax,0C000000h cmp eax,0C000000h