diff --git a/zsnes/src/cfg.psr b/zsnes/src/cfg.psr index 023afc1d..d618a593 100644 --- a/zsnes/src/cfg.psr +++ b/zsnes/src/cfg.psr @@ -352,6 +352,7 @@ NEWSYM MovieVideoMode, db 4 NEWSYM MovieAudio, db 1 NEWSYM MovieVideoAudio, db 0 NEWSYM MovieAudioCompress, db 0 +NEWSYM TwelveHourClock, db 0 NEWSYM NTSCFilter, db 0 NEWSYM NTSCBlend, db 0 NEWSYM NTSCHue, db 0 diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 1386c11a..04a72cac 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -141,7 +141,7 @@ EXTSYM GUIEnableTransp,FilteredGUI,MouseWheel,TrapMouseCursor,AlwaysOnTop EXTSYM pl1p209,pl1p209b,SaveMainWindowPos,FastFwdToggle,SidewinderFix,RaisePitch EXTSYM KeyDisplayBatt,PauseFocusChange,KeyIncreaseGamma,KeyDecreaseGamma EXTSYM MovieVideoMode, MovieAudio,MovieVideoAudio,MovieAudioCompress -EXTSYM device1,device2 +EXTSYM device1,device2,TwelveHourClock %ifdef __UNIXSDL__ EXTSYM numlockptr diff --git a/zsnes/src/gui/guikeys.inc b/zsnes/src/gui/guikeys.inc index b8a42f70..b172a9b2 100644 --- a/zsnes/src/gui/guikeys.inc +++ b/zsnes/src/gui/guikeys.inc @@ -788,6 +788,7 @@ GUIOptionKeys: GUIKeyCheckbox FPSAtStart,'F' GUIKeyCheckbox Turbo30hz,'E' GUIKeyCheckbox TimerEnable,'C' + GUIKeyCheckbox TwelveHourClock,'1' GUIKeyCheckbox OldGfxMode2,'O' GUIKeyCheckbox DontSavePath,'D' GUIKeyCheckbox SmallMsgText,'S' diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 94c27cd4..aa60afae 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2392,6 +2392,7 @@ DisplayGUIOptionClick: GUIClickCButton 11,70,byte[FPSAtStart] GUIClickCButton 11,80,byte[Turbo30hz] GUIClickCButton 11,90,byte[TimerEnable] + GUIClickCButton 130,90,byte[TwelveHourClock] GUIClickCButtonO 11,100,byte[OldGfxMode2] GUIClickCButton 11,110,byte[DontSavePath] GUIClickCButton 11,120,byte[SmallMsgText] diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 20e0b873..6335c5cb 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1606,6 +1606,7 @@ DisplayGUIOption: ; Emu Options GUIDisplayCheckboxu 4,11,70,FPSAtStart,GUIOptionText7,0 GUIDisplayCheckboxu 4,11,80,Turbo30hz,GUIOptionText8,2 GUIDisplayCheckboxu 4,11,90,TimerEnable,GUIOptionText9,12 + GUIDisplayCheckboxu 4,130,90,TwelveHourClock,GUIOptionText9a,0 GUIDisplayCheckboxu 4,11,100,OldGfxMode2,GUIOptionTextA,0 GUIDisplayCheckboxu 4,11,110,DontSavePath,GUIOptionTextB,0 GUIDisplayCheckboxu 4,11,120,SmallMsgText,GUIOptionTextC,1 @@ -1629,6 +1630,7 @@ 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 +GUIOptionText9a db '12HR',0 GUIOptionTextA db 'OLD GFX MODE 2',0 GUIOptionTextB db 'DON',39,'T SAVE CUR PATH',0 GUIOptionTextC db 'USE SMALL MESSAGE TEXT',0 diff --git a/zsnes/src/video/procvid.asm b/zsnes/src/video/procvid.asm index 6e5a190e..99d810c5 100644 --- a/zsnes/src/video/procvid.asm +++ b/zsnes/src/video/procvid.asm @@ -2667,6 +2667,7 @@ NEWSYM tempoffset, resw 1 NEWSYM Testval, resd 1 SECTION .text +EXTSYM TwelveHourClock NEWSYM ClockOutput cmp byte[cbitmode],1 @@ -2733,6 +2734,10 @@ NEWSYM ClockOutput call .output pop eax ; eax = hours + cmp byte[TwelveHourClock],1 + jne .no12hour + sub eax,12 +.no12hour xor edx,edx mov ebx,10 div ebx