⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guiwindp.inc

📁 linux下的任天堂模拟器代码。供大家参考。
💻 INC
📖 第 1 页 / 共 5 页
字号:
  GUIDisplayTextG 3,11,38,[GUITemp]  add dword[GUITemp],17  GUIDisplayTextG 3,11,38+8,[GUITemp]  add dword[GUITemp],17  GUIDisplayTextG 3,11,38+8*2,[GUITemp]  add dword[GUITemp],17  GUIDisplayTextG 3,11,38+8*3,[GUITemp]  add dword[GUITemp],17  GUIDisplayTextG 3,11,38+8*4,[GUITemp]  ; Sidebar  DrawSlideBarWin 3,109,42,[GUIcurrentinputviewloc],[NumInputDevices],5,28,GUIIStA  cmp byte[GUICHold],9  jne .noholda  add byte[GUIWincoladd],3.noholda  GUIDisplayIconWin 3,109,34,GUIIconDataUpArrow  cmp byte[GUICHold],9  jne .noholda2  sub byte[GUIWincoladd],3.noholda2  cmp byte[GUICHold],10  jne .noholdb  add byte[GUIWincoladd],3.noholdb  GUIDisplayIconWin 3,109,70,GUIIconDataDownArrow  cmp byte[GUICHold],10  jne .noholdb2  sub byte[GUIWincoladd],3.noholdb2 ; Hotkey Boxes  cmp byte[cplayernum],0  jne near .notpl1  GUIInputDispAll pl1.notpl1  cmp byte[cplayernum],1  jne near .notpl2  GUIInputDispAll pl2.notpl2  cmp byte[cplayernum],2  jne near .notpl3  GUIInputDispAll pl3.notpl3  cmp byte[cplayernum],3  jne near .notpl4  GUIInputDispAll pl4.notpl4  cmp byte[cplayernum],4  jne near .notpl5  GUIInputDispAll pl5.notpl5  DGOptnsBorderBox 3,44,101    ; Box borders, keep them at bottom  DGOptnsBorderBox 3,44,111  DGOptnsBorderBox 3,44,121  DGOptnsBorderBox 3,44,131  DGOptnsBorderBox 3,44,141  DGOptnsBorderBox 3,44,151  DGOptnsBorderBox 3,84,101  DGOptnsBorderBox 3,84,111  DGOptnsBorderBox 3,84,121  DGOptnsBorderBox 3,84,131  DGOptnsBorderBox 3,84,141  DGOptnsBorderBox 3,84,151  DGOptnsBorderBox 3,124,101  DGOptnsBorderBox 3,124,111  DGOptnsBorderBox 3,124,121  DGOptnsBorderBox 3,124,141  DGOptnsBorderBox 3,124,151  DGOptnsBorderBox 3,164,101  DGOptnsBorderBox 3,164,111  DGOptnsBorderBox 3,164,121  DGOptnsBorderBox 3,164,141  DGOptnsBorderBox 3,164,151  retSECTION .dataGUIInputTabs dd 1,5  db '#1',0  db '#2',0  db '#3',0  db '#4',0  db '#5',0GUIInputRefP dd pl1contrl,pl2contrl,pl3contrl,pl4contrl,pl5contrlGUIInputTextA db 'DEVICE:',0GUIInputTextA1 db 'CURRENT:',0GUIInputTextB db 'KEYS:',0GUIInputTextB1 db '    UP',0GUIInputTextB2 db '  DOWN',0GUIInputTextB3 db '  LEFT',0GUIInputTextB4 db ' RIGHT',0GUIInputTextB5 db ' START',0GUIInputTextB6 db 'SELECT',0GUIInputTextC db 'TURBO:',0GUIInputTextC1 db 'A',0GUIInputTextC2 db 'B',0GUIInputTextC3 db 'X',0GUIInputTextC4 db 'Y',0GUIInputTextC5 db 'L',0GUIInputTextC6 db 'R',0GUIInputTextD db 'DIAGONALS:',0GUIInputTextD1 db 'UL',0GUIInputTextD2 db 'UR',0GUIInputTextD3 db 'DL',0GUIInputTextD4 db 'DR',0GUIInputTextE dd 0GUIInputTextE1 db 'SET',0GUIInputTextE2 db 'SET KEYS',0%ifdef __MSDOS__GUIInputTextE3 db 'CALIBRATE',0GUIInputTextE4 db 'SIDEWINDER FIX',0GUIInputTextE5 db 'USE JOYSTICK PORT 209H',0%endifGUIInputTextE6 db 'GAME SPECIFIC',0GUIInputTextE7 db 'ALLOW U+D/L+R',0GUIInputTextE8 db 'TURBO AT 30HZ',0GUIInputTextE9 db 'USE PL3/4 AS PL1/2',0GUIFreshInputSelect db 1SECTION .bssGUIIStA resd 3GUIcurrentinputviewloc resd 1GUIcurrentinputcursloc resd 1SECTION .textDisplayGUIOption:       ; Emu Options  GUIDrawWindowBox 4,GUIOptionDisp%ifndef __WIN32__  cmp byte[ShowMMXSupport],1  jne near .nommx%endif  GUIDisplayTextY 4,11,13,GUIOptionTextA  cmp byte[ShowMMXSupport],1  jne near .nommx  GUIDisplayCheckboxu 4,11,18,MMXSupport,GUIOptionTextA1,7.nommx%ifdef __WIN32__  GUIDisplayCheckboxu 4,11,28,PauseFocusChange,GUIOptionTextA2,13  GUIDisplayCheckboxu 4,11,38,HighPriority,GUIOptionTextA3,16  GUIDisplayCheckboxu 4,11,48,DisableScreenSaver,GUIOptionTextA4,0%endif  GUIDisplayTextY 4,11,63,GUIOptionTextB  GUIDisplayCheckboxu 4,11,68,newengen,GUIOptionTextB1,4  cmp byte[newengen],0  jne near .newengen  GUIDisplayCheckboxu 4,11,78,bgfixer,GUIOptionTextB2,4.newengen  GUIDisplayTextY 4,140,63,GUIOptionTextF  GUIDisplayButtonHoleTu 4,143,70,byte[ScreenShotFormat],0,GUIOptionTextF1,2%ifndef NO_PNG  GUIDisplayButtonHoleTu 4,143,80,byte[ScreenShotFormat],1,GUIOptionTextF2,2%endif  GUIDisplayTextY 4,11,93,GUIOptionTextC  GUIDisplayCheckboxu 4,11,98,AutoPatch,GUIOptionTextC1,7  GUIDisplayCheckboxu 4,11,108,DisplayInfo,GUIOptionTextC2,3  GUIDisplayCheckboxu 4,11,118,RomInfo,GUIOptionTextC3,4  GUIDisplayTextY 4,11,133,GUIOptionTextD  GUIDisplayCheckboxu 4,11,138,FPSAtStart,GUIOptionTextD1,5  GUIDisplayCheckboxu 4,11,148,TimerEnable,GUIOptionTextD2,5  cmp byte[TimerEnable],1  jne near .noclock  GUIDisplayCheckboxu 4,89,148,TwelveHourClock,GUIOptionTextD3,0  GUIDisplayCheckboxu 4,11,158,ClockBox,GUIOptionTextD4,13.noclock  GUIDisplayTextY 4,11,173,GUIOptionTextE  GUIDisplayCheckboxu 4,11,178,SmallMsgText,GUIOptionTextE1,4  GUIDisplayCheckboxu 4,11,188,GUIEnableTransp,GUIOptionTextE2,4  retSECTION .dataGUIOptionTextA db 'SYSTEM:',0GUIOptionTextA1 db 'ENABLE MMX SUPPORT',0%ifdef __WIN32__GUIOptionTextA2 db 'PAUSE EMU IN BACKGROUND',0GUIOptionTextA3 db 'INCREASE EMU PRIORITY',0GUIOptionTextA4 db 'DISABLE POWER MANAGEMENT',0%endifNEWSYM ShowMMXSupport, db 2GUIOptionTextB db 'GFX ENGINES:',0GUIOptionTextB1 db 'USE NEW GFX ENG',0GUIOptionTextB2 db 'USE ALT OLD GFX ENG',0GUIOptionTextC db 'ROM:',0GUIOptionTextC1 db 'ENABLE IPS AUTO-PATCHING',0GUIOptionTextC2 db 'SHOW ROM INFO ON LOAD',0GUIOptionTextC3 db 'LOG ROM INFO',0GUIOptionTextD db 'OVERLAYS:',0GUIOptionTextD1 db 'SHOW FPS CNTR ON EMU LOAD',0GUIOptionTextD2 db 'SHOW CLOCK',0GUIOptionTextD3 db '12 HOUR MODE',0GUIOptionTextD4 db 'SHOW CLOCK BOX',0GUIOptionTextE db 'MESSAGES:',0GUIOptionTextE1 db 'USE SMALL MESSAGE TEXT',0GUIOptionTextE2 db 'USE TRANSPARENT TEXT',0GUIOptionTextF db 'SSHOTS:',0GUIOptionTextF1 db 'BMP',0%ifndef NO_PNGGUIOptionTextF2 db 'PNG',0%endifSECTION .text%macro NTSCslidSet 1 ; slider variable  mov al,[%1]  add al,100%endmacro%macro NTSCslidText 2 ; slider var, text  mov dword[%2],'    '  mov esi,%2+3  mov al,[%1]  mov bl,10  test al,128  jz %%asciilp  xor al,255  inc al%%asciilp                            ; turns decimal into ascii  xor ah,ah  div bl  add ah,48  mov [esi],ah  dec esi  cmp al,0  jne %%asciilp  test byte[%1],128  jz %%pos  mov byte[esi],'-'%%pos  mov esi,%2%endmacroDisplayGUIVideo:  cmp byte[TripBufAvail],0        ; Check features  jne .notexttb%ifdef __MSDOS__  mov byte[Triplebufen],0%endif.notexttb  cmp byte[MMXSupport],1  jne .2xSaIdis  cmp byte[newgfx16b],0  je .2xSaIdis  jmp .no2xSaIdis.2xSaIdis  mov byte[En2xSaI],0  mov byte[hqFilter],0.no2xSaIdis  cmp byte[En2xSaI],0  je .no2xsaien%ifdef __MSDOS__  mov byte[Triplebufen],0%endif  mov byte[hqFilter],0  mov byte[scanlines],0  mov byte[antienab],0.no2xsaien  cmp byte[hqFilter],0  je .nohqen  mov byte[En2xSaI],0  mov byte[scanlines],0  mov byte[antienab],0.nohqen  GUIDrawWindowBox 5,GUIVideoDisp  xor eax,eax  mov al,[cvidmode]  cmp byte[GUINTVID+eax],0  jne .ntsc  mov byte[NTSCFilter],0  mov dword[GUIVntscTab],0  cmp byte[GUIVideoTabs],0  jne .ntsc  mov byte[GUIVideoTabs],1.ntsc  GUIDrawTArea 5  GUIDrawTabs GUIVideoTabs  cmp byte[NTSCFilter],0  je near .nontsc  GUIDrawTabs GUIVntscTab.nontsc  cmp dword[GUIVideoTabs],1                   ; Video Modes List/Options Tab  jne near .notmodestab  DrawGUIButton 5,128,30,164,41,GUIVideoTextA4,4,0,0        ; Mode Set Button%ifndef __MSDOS__                              ; Legend  GUIDisplayTextY 5,130,50,GUIVideoTextA1  GUIDisplayText 5,130,58,GUIVideoTextA1a  GUIDisplayText 5,130,66,GUIVideoTextA1b  GUIDisplayText 5,130,74,GUIVideoTextA1c  GUIDisplayText 5,130,82,GUIVideoTextA1d  GUIDisplayText 5,130,90,GUIVideoTextA1e%ifdef __OPENGL__  GUIDisplayText 5,130,98,GUIVideoTextA1f%endif  DrawGUIButton 5,180,115,216,126,GUIVideoTextA4,12,0,0        ; Custom Set Button  GUIDisplayText 5,130,120,GUIVideoTextA2  GUIDisplayText 5,180,135,GUIVideoTextA2a  GUIDisplayBBox 5,130,130,170,140,167  GUIDisplayBBox 5,191,130,231,140,167  pushad  call GetCustomXY  popad  GUIOuttextwin2d 5,138,133,GUICustomX,4  GUIOuttextwin2d 5,199,133,GUICustomY,4%endif  GUIDisplayBBoxS 5,5,26,115,189,167           ; Video Modes Box  DrawSlideBarWin 5,117,34,[GUIcurrentvideoviewloc],[NumVideoModes],20,148,GUIVStA  cmp byte[GUICHold],5                        ; Scrollbar  jne .noholda  add byte[GUIWincoladd],3.noholda  GUIDisplayIconWin 5,117,26,GUIIconDataUpArrow  cmp byte[GUICHold],5  jne .noholdb  sub byte[GUIWincoladd],3.noholdb  cmp byte[GUICHold],6  jne .noholdc  add byte[GUIWincoladd],3.noholdc  GUIDisplayIconWin 5,117,182,GUIIconDataDownArrow  cmp byte[GUICHold],6  jne .noholdd  sub byte[GUIWincoladd],3.noholdd  mov ebx,[GUIcurrentvideocursloc]          ; Box  sub ebx,[GUIcurrentvideoviewloc]  lea ebx,[ebx*8]  add ebx,28  DrawGUIWinBox2 5,5,115,7,224  mov byte[GUItextcolor],223               ; Text in Box  mov eax,[GUIcurrentvideoviewloc]  mov ebx,eax  shl eax,4  add eax,ebx  add eax,ebx  add eax,GUIVideoModeNames  mov [GUITemp],eax  GUIDisplayTextG 5,11,30,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*2,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*3,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*4,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*5,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*6,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*7,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*8,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*9,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*10,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*11,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*12,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*13,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*14,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*15,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*16,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*17,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*18,[GUITemp]  add dword[GUITemp],18  GUIDisplayTextG 5,11,30+8*19,[GUITemp]  xor eax,eax                      ; Mode Value  mov al,[cvidmode]  mov ebx,eax  shl eax,4  add eax,ebx  add eax,ebx  add eax,GUIVideoModeNames  mov [GUITemp],eax  GUIDisplayTextY 5,7,194,GUIVideoTextA3  GUIDisplayTextY 5,91,194,[GUITemp] ; (5,61,194).notmodestab                                                  ; Filters tab  cmp dword[GUIVideoTabs],2  jne near .notfilterstab                                                  ; Video Filters%ifdef __MSDOS__  cmp byte[smallscreenon],1  je .nocheckboxw  cmp byte[ScreenScale],1  je .notexthq4xa%endif  xor eax,eax                                     ; Interpolations  mov al,[cvidmode]%ifdef __WIN32__  cmp byte[GUIDSIZE+eax],0%else  cmp byte[GUII2VID+eax],0%endif  je near .notext3  GUIDisplayTextY 5,13,30,GUIVideoTextB1  GUIDisplayCheckboxu 5,18,35,antienab,GUIVideoTextB1a,0.notext3%ifdef __MSDOS__                                  ; Eagle Filter  xor eax,eax  mov al,[cvidmode]  cmp byte[GUIEAVID+eax],0  je near .notext4  GUIDisplayTextY 5,13,30,GUIVideoTextB1  GUIDisplayCheckboxu 5,18,35,antienab,GUIVideoTextB1b,9.notext4%endif%ifdef __OPENGL__  xor eax,eax                                     ; Bilinear  mov al,[cvidmode]  cmp byte[GUIBIFIL+eax],0  je near .nocheckboxe  GUIDisplayTextY 5,13,30,GUIVideoTextB1  GUIDisplayCheckboxu 5,18,35,BilinearFilter,GUIVideoTextB1c,1.nocheckboxe%endif  xor eax,eax                                     ; NTSC filter  mov al,[cvidmode]  cmp byte[GUINTVID+eax],0  je near .nocheckboxbf  GUIDisplayCheckboxu 5,128,35,NTSCFilter,GUIVideoTextB1d,0.nocheckboxbf  cmp byte[MMXSupport],0  je near .nocheckboxx  xor eax,eax                                     ; Kreed 2x filters  mov al,[cvidmode]%ifdef __MSDOS__  cmp byte[GUI2xVID+eax],0%else  cmp byte[GUIDSIZE+eax],0%endif  je near .nocheckboxx  GUIDisplayCheckboxun 5,18,45,En2xSaI,1,GUIVideoTextB1e,2   ;2x  GUIDisplayCheckboxun 5,128,45,En2xSaI,2,GUIVideoTextB1f,6  ;Seagle  GUIDisplayCheckboxun 5,18,55,En2xSaI,3,GUIVideoTextB1g,2   ;S2x.nocheckboxx  cmp byte[MMXSupport],0  je near .notexthq4xa  xor eax,eax                                     ; Hq*x  mov al,[cvidmode]  cmp byte[GUIHQ2X+eax],0  je near .notexthq2xa%ifdef __MSDOS__  GUIDisplayCheckboxu 5,128,55,hqFilter,GUIVideoTextB1h,1%else  GUIDisplayCheckboxu 5,128,55,hqFilter,GUIVideoTextB1i,1  cmp byte[hqFilter],0  je near .notexthq4xa  GUIDisplayButtonHoleTu 5,128,68,byte[hqFilterlevel],2,GUIVideoTextB1j,1  jmp .notexthq2xa%endif  jmp .notexthq4xa.notexthq2xa%ifndef __MSDOS__  xor eax,eax  mov al,[cvidmode]  cmp byte[GUIHQ3X+eax],0  je near .notexthq3xa  GUIDisplayButtonHoleTu 5,158,68,byte[hqFilterlevel],3,GUIVideoTextB1k,0.notexthq3xa  xor eax,eax  mov al,[cvidmode]  cmp byte[GUIHQ4X+eax],0  je near .notexthq4xa  GUIDisplayButtonHoleTu 5,188,68,byte[hqFilterlevel],4,GUIVideoTextB1l,0%endif.notexthq4xa  xor eax,eax                                     ; Scanlines  mov al,[cvidmode]%ifdef __MSDOS__  cmp byte[GUISLVID+eax],0%else  cmp byte[GUIDSIZE+eax],0%endif  je near .nocheckboxb  GUIDisplayTextY 5,13,80,GUIVideoTextB2          ; Scanlines text  GUIDisplayButtonHoleTu 5,18,87,byte[scanlines],0,GUIVideoTextB2a,1   ; None  GUIDisplayButtonHoleTu 5,168,87,byte[scanlines],1,GUIVideoTextB2d,0  ; Full.nocheckboxb%ifdef __MSDOS__  cmp byte[ScreenScale],1  je .nocheckboxw%endif  xor eax,eax  mov al,[cvidmode]%ifdef __MSDOS__  cmp byte[GUIHSVID+eax],0%else  cmp byte[GUIDSIZE+eax],0%endif  je near .nocheckboxw  GUIDisplayButtonHoleTu 5,68,87,byte[scanlines],2,GUIVideoTextB2b,0   ; 25%  GUIDisplayButtonHoleTu 5,118,87,byte[scanlines],3,GUIVideoTextB2c,0  ; 50%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -