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

📄 guiwindp.inc

📁 linux下的任天堂模拟器代码。供大家参考。
💻 INC
📖 第 1 页 / 共 5 页
字号:
.nocheckboxw  GUIDisplayTextY 5,13,110,GUIVideoTextB3         ; Misc Filters  GUIDisplayCheckboxu 5,18,115,GrayscaleMode,GUIVideoTextB3a,0  ; Grayscale  xor eax,eax                                     ; Hires Mode7  mov al,[cvidmode]  cmp byte[GUIM7VID+eax],0  je near .nocheckboxm72  cmp byte[newengen],0  je near .nocheckboxm72  GUIDisplayCheckboxu 5,128,115,Mode7HiRes16b,GUIVideoTextB3b,0.nocheckboxm72                                                  ; Monitor Refresh%ifndef __UNIXSDL__                               ; VSync  GUIDisplayTextY 5,13,140,GUIVideoTextB4  GUIDisplayCheckboxu 5,18,145,vsyncon,GUIVideoTextB4a,0%endif%ifdef __WIN32__  xor eax,eax                                     ; Triple Buffering  mov al,[cvidmode]  cmp byte[GUIWFVID+eax],0  je near .nocheckboxslw2  GUIDisplayCheckboxu 5,128,145,TripleBufferWin,GUIVideoTextB4b,0.nocheckboxslw2%endif%ifdef __MSDOS__  xor eax,eax  mov al,[cvidmode]  cmp byte[GUITBVID+eax],0  je near .nocheckboxtbb  cmp byte[TripBufAvail],0  je near .nocheckboxtbb  GUIDisplayCheckboxu 5,128,145,Triplebufen,GUIVideoTextB4b,0.nocheckboxtbb%endif%ifndef __MSDOS__  xor eax,eax                                     ; Keep 4:3 Ratio  mov al,[cvidmode]  cmp byte[GUIKEEP43+eax],0  je near .nocheckboxk43  pushad  call Keep43Check  popad  cmp byte[ShowKeep43],0  je near .nocheckboxk43  GUIDisplayTextY 5,13,170,GUIVideoTextB5  GUIDisplayCheckboxu 5,18,175,Keep4_3Ratio,GUIVideoTextB5a,8.nocheckboxk43%endif%ifdef __MSDOS__  xor eax,eax                                     ; Small Screen  mov al,[cvidmode]  cmp byte[GUISSVID+eax],0  je near .nocheckbox3b  GUIDisplayTextY 5,13,170,GUIVideoTextB5  GUIDisplayCheckboxu 5,18,175,smallscreenon,GUIVideoTextB5b,1.nocheckbox3b  xor eax,eax                                     ; Full/Widescreen  mov al,[cvidmode]  cmp byte[GUIFSVID+eax],0  je near .notext5  cmp byte[GUIWSVID+eax],0  jne near .notext4a  GUIDisplayTextY 5,13,170,GUIVideoTextB5  GUIDisplayCheckboxu 5,128,175,ScreenScale,GUIVideoTextB5c,6  jmp .notext5.notext4a  GUIDisplayTextY 5,13,170,GUIVideoTextB5  GUIDisplayCheckboxu 5,128,175,ScreenScale,GUIVideoTextB5d,6.notext5%endif.notfilterstab  cmp dword[GUIVntscTab],1                        ; NTSC Tab  jne near .notntsctab  GUIDisplayCheckboxu 5,5,25,NTSCBlend,GUIVideoTextC1a,0  GUIDisplayCheckboxu 5,135,25,NTSCRef,GUIVideoTextC1b,0  DrawGUIButton 5,8,166,67,177,GUIVideoTextC3a,81,0,0  DrawGUIButton 5,72,166,119,177,GUIVideoTextC3b,82,0,0  DrawGUIButton 5,124,166,147,177,GUIVideoTextC3c,83,0,0  DrawGUIButton 5,152,166,217,177,GUIVideoTextC3d,84,0,0  DrawGUIButton 5,102,186,137,197,GUIVideoTextCD1,37,0,0  DrawGUIButton 5,148,186,207,197,GUIVideoTextCD2,39,0,0  GUIDisplayTextY 5,7,46,GUIVideoTextC2a  GUIDisplayTextY 5,7,66,GUIVideoTextC2b  GUIDisplayTextY 5,7,86,GUIVideoTextC2c  GUIDisplayTextY 5,7,106,GUIVideoTextC2d  GUIDisplayTextY 5,7,126,GUIVideoTextC2e  GUIDisplayTextY 5,7,156,GUIVideoTextC3  GUIDrawSlider 5,8,200,56,NTSCHue,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,76,NTSCSat,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,96,NTSCCont,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,116,NTSCBright,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,136,NTSCSharp,GUIVideoTextCD3,NTSCslidSet,NTSCslidText.notntsctab  cmp dword[GUIVntscTab],2                        ; Advanced NTSC Options Tab  jne near .notadvntsctab  DrawGUIButton 5,102,186,137,197,GUIVideoTextCD1,38,0,0  DrawGUIButton 5,148,186,207,197,GUIVideoTextCD2,39,0,0  GUIDisplayTextY 5,7,36,GUIVideoTextD1a  GUIDisplayTextY 5,7,56,GUIVideoTextD1b  GUIDisplayTextY 5,7,76,GUIVideoTextD1c  GUIDisplayTextY 5,7,96,GUIVideoTextD1d  GUIDisplayTextY 5,7,116,GUIVideoTextD1e  GUIDisplayTextY 5,7,136,GUIVideoTextD1f  GUIDrawSlider 5,8,200,46,NTSCGamma,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,66,NTSCRes,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,86,NTSCArt,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,106,NTSCFringe,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,126,NTSCBleed,GUIVideoTextCD3,NTSCslidSet,NTSCslidText  GUIDrawSlider 5,8,200,146,NTSCWarp,GUIVideoTextCD3,NTSCslidSet,NTSCslidText.notadvntsctab  retSECTION .dataGUIVideoTabs dd 1,2  db 'MODES',0  db 'FILTERS',0GUIVntscTab dd 0,2  db 'NTSC',0  db 'ADV NTSC',0%ifndef __MSDOS__                        ; Modes TabGUIVideoTextA1 db 'LEGEND:',0GUIVideoTextA1a db 'D = ALLOW FILTERS',0GUIVideoTextA1b db 'S = STRETCH',0GUIVideoTextA1c db 'R = KEEP 8:7 RATIO',0GUIVideoTextA1d db 'W = WINDOWED',0GUIVideoTextA1e db 'F = FULLSCREEN',0%ifdef __OPENGL__GUIVideoTextA1f db 'O = USES OPENGL',0%endifGUIVideoTextA2 db 'CUSTOM:',0GUIVideoTextA2a db 'X',0%endifGUIVideoTextA3 db 'CURRENT:',0GUIVideoTextA4 db 'SET',0                ; set buttonGUIVideoTextB1 db 'VIDEO FILTERS:',0     ; Filters.ExclusiveGUIVideoTextB1a db 'INTERPOLATION',0     ; -y%ifdef __MSDOS__GUIVideoTextB1b db 'EAGLE ENGINE',0      ; same loc at interpolation   -y%endif%ifdef __OPENGL__GUIVideoTextB1c db 'BILINEAR FILTER',0%endifGUIVideoTextB1d db 'NTSC FILTER',0GUIVideoTextB1e db '2XSAI ENGINE',0GUIVideoTextB1f db 'SUPER EAGLE',0GUIVideoTextB1g db 'SUPER 2XSAI',0%ifdef __MSDOS__GUIVideoTextB1h db 'HQ2X',0%elseGUIVideoTextB1i db 'HQ FILTER',0GUIVideoTextB1j db '2X',0GUIVideoTextB1k db '3X',0GUIVideoTextB1l db '4X',0%endifGUIVideoTextB2 db 'SCANLINES:',0         ; Filters.ScanlinesGUIVideoTextB2a db 'NONE',0GUIVideoTextB2b db '25%',0GUIVideoTextB2c db '50%',0GUIVideoTextB2d db 'FULL',0GUIVideoTextB3 db 'MISC FILTERS:',0      ; Filters.OtherGUIVideoTextB3a db 'GRAYSCALE MODE',0    ; -v8GUIVideoTextB3b db 'HI-RES MODE 7',0     ;%ifndef __UNIXSDL__GUIVideoTextB4 db 'MONITOR SYNC:',0      ; Video.SyncGUIVideoTextB4a db 'VSYNC',0             ; -wGUIVideoTextB4b db 'TRIPLE BUFFERING',0  ; -3%endifGUIVideoTextB5 db 'DISPLAY OPTIONS:',0   ; Video.Display%ifndef __MSDOS__GUIVideoTextB5a db 'USE 4:3 RATIO',0NEWSYM ShowKeep43, db 0%elseGUIVideoTextB5b db 'SMALL SCREEN',0      ; -cGUIVideoTextB5c db 'FULL SCREEN',0       ; -ccGUIVideoTextB5d db 'WIDE SCREEN',0       ; -cc%endifGUIVideoTextC1a db 'BLEND FRAMES',0      ; NTSC TabGUIVideoTextC1b db 'REFRESH',0GUIVideoTextC2a db 'HUE:',0GUIVideoTextC2b db 'SATURATION:',0GUIVideoTextC2c db 'CONTRAST:',0GUIVideoTextC2d db 'BRIGHTNESS:',0GUIVideoTextC2e db 'SHARPNESS:',0GUIVideoTextC3 db 'PRESETS:',0           ; NTSC PresetsGUIVideoTextC3a db 'COMPOSITE',0GUIVideoTextC3b db 'S-VIDEO',0GUIVideoTextC3c db 'RGB',0GUIVideoTextC3d db 'MONOCHROME',0GUIVideoTextD1a db 'GAMMA:',0            ; NTSC Adv TabGUIVideoTextD1b db 'RESOLUTION:',0GUIVideoTextD1c db 'ARTIFACTS:',0GUIVideoTextD1d db 'FRINGING:',0GUIVideoTextD1e db 'BLEED:',0GUIVideoTextD1f db 'HUE WARPING:',0GUIVideoTextCD1 db 'RESET',0             ; NTSC buttons + counterGUIVideoTextCD2 db 'RESET ALL',0GUIVideoTextCD3 db '----%',0SECTION .bssGUIVStA resd 3GUIcurrentvideoviewloc resd 1GUIcurrentvideocursloc resd 1SECTION .text%macro VolslidSet 1 ; slider variable  mov al,[%1]%endmacro%macro VolslidText 2 ; slider var, text  mov word[%2],'  '  mov esi,%2+3  mov al,[%1]  mov bl,10%%asciilp                            ; turns decimal into ascii  dec esi  xor ah,ah  div bl  add ah,48  mov [esi],ah  cmp al,0  jne %%asciilp  mov esi,%2%endmacroDisplayGUISound:                     ; Sound Related Options  GUIDrawWindowBox 6,GUISoundDisp  GUIDisplayTextY 6,6,16,GUISoundTextA  GUIDisplayCheckboxu 6,11,21,SPCDisable,GUISoundTextA1,0  cmp byte[SPCDisable],0  jne near .nosound  GUIDisplayCheckboxu 6,11,31,soundon,GUISoundTextA2,0  cmp byte[soundon],1  jne near .nosound  GUIDisplayCheckboxu 6,11,41,StereoSound,GUISoundTextA3,7  cmp byte[StereoSound],1  jne near .nostereo  GUIDisplayCheckboxu 6,11,51,RevStereo,GUISoundTextA4,2  GUIDisplayCheckboxu 6,11,61,Surround,GUISoundTextA5,2.nostereo%ifdef __MSDOS__  GUIDisplayCheckboxu 6,11,71,Force8b,GUISoundTextA6,0%endif%ifdef __WIN32__  GUIDisplayCheckboxu 6,11,71,PrimaryBuffer,GUISoundTextA7,4%endif.nosound  GUIDisplayTextY 6,6,152,GUISoundTextD  GUIDisplayButtonHoleTu 6,11,157,byte[SoundInterpType],0,GUISoundTextF,0  GUIDisplayButtonHoleTu 6,11,167,byte[SoundInterpType],1,GUISoundTextD1,0  GUIDisplayButtonHoleTu 6,11,177,byte[SoundInterpType],2,GUISoundTextD2,0  cmp byte[MMXSupport],0  je near .no8ptinterp  GUIDisplayButtonHoleTu 6,11,187,byte[SoundInterpType],3,GUISoundTextD3,0.no8ptinterp  GUIDisplayTextY 6,106,152,GUISoundTextE  GUIDisplayButtonHoleTu 6,111,157,byte[LowPassFilterType],0,GUISoundTextF,1  GUIDisplayButtonHoleTu 6,111,167,byte[LowPassFilterType],1,GUISoundTextE1,1  GUIDisplayButtonHoleTu 6,111,177,byte[LowPassFilterType],2,GUISoundTextE2,1  cmp byte[MMXSupport],0  je near .nohiqualityfilter  GUIDisplayButtonHoleTu 6,111,187,byte[LowPassFilterType],3,GUISoundTextE3,0.nohiqualityfilter%ifdef __MSDOS__  cmp byte[SoundQuality],2  jbe .okay  cmp byte[SoundQuality],4  je .okay  cmp byte[StereoSound],1  jne .okay  cmp byte[SBHDMA],0  jne .okay  cmp byte[vibracard], 1  je .okay  GUIDisplayBBox 6,15,101,69,109,167  GUIDisplayTextG 6,23,104,GUISoundTextB0  jmp .nosrate.okay%endif  GUIDisplayTextY 6,6,93,GUISoundTextB  GUIDisplayBBox 6,15,101,69,109,167            ;Sampling Rate Box  mov eax,[SoundQuality]  lea eax,[eax*8+GUISoundTextB1]  mov [GUITemp],eax  GUIDisplayTextG 6,23,104,[GUITemp].nosrate  GUIDisplayTextY 6,6,116,GUISoundTextC  GUIDrawSlider 6,15,100,131,MusicRelVol,GUISoundTextC1,VolslidSet,VolslidText  retSECTION .dataGUISoundTextA db 'SOUND SWITCHES:',0GUISoundTextA1 db 'DISABLE SPC EMULATION',0GUISoundTextA2 db 'ENABLE SOUND',0GUISoundTextA3 db 'ENABLE STEREO SOUND',0GUISoundTextA4 db 'REVERSE STEREO CHANNELS',0GUISoundTextA5 db 'SIMULATE SURROUND SOUND',0GUISoundTextA6 db 'FORCE 8-BIT OUTPUT',0        ; DOS OnlyGUISoundTextA7 db 'USE PRIMARY BUFFER',0        ; Win OnlyGUISoundTextB db 'SAMPLING RATE:',0GUISoundTextB0 db 'N/A',0GUISoundTextB1 db ' 8000HZ',0GUISoundTextB2 db '11025HZ',0GUISoundTextB3 db '22050HZ',0GUISoundTextB4 db '44100HZ',0GUISoundTextB5 db '16000HZ',0GUISoundTextB6 db '32000HZ',0GUISoundTextB7 db '48000HZ',0GUISoundTextC db 'VOLUME LEVEL:',0GUISoundTextC1 db '---%',0GUISoundTextD db 'INTERPOLATION:',0GUISoundTextD1 db 'GAUSSIAN',0GUISoundTextD2 db 'CUBIC SPLINE',0GUISoundTextD3 db '8-POINT',0GUISoundTextE db 'LOWPASS:',0GUISoundTextE1 db 'SIMPLE',0GUISoundTextE2 db 'DYNAMIC',0GUISoundTextE3 db 'HI QUALITY',0GUISoundTextF db 'NONE',0SECTION .textDisplayGUICheatConv:  mov eax,[ccheatnpos]  add eax,4  xor ebx,ebx  mov ecx,3  mov edx,GUICheatTextZ3.loop  mov bl,[eax]  and bl,0Fh  mov bl,[GUICheatTextZ4+ebx]  mov [edx+1],bl  mov bl,[eax]  and bl,0F0h  shr bl,4  mov bl,[GUICheatTextZ4+ebx]  mov [edx],bl  add edx,2  dec eax  dec ecx  jnz .loop  mov eax,[ccheatnpos]  inc eax  mov edx,GUICheatTextZ3+7  mov bl,[eax]  and bl,0Fh  mov bl,[GUICheatTextZ4+ebx]  mov [edx+1],bl  mov bl,[eax]  and bl,0F0h  shr bl,4  mov bl,[GUICheatTextZ4+ebx]  mov [edx],bl  mov eax,[ccheatnpos]  add eax,5  mov edx,GUICheatTextZ3+10  mov bl,[eax]  and bl,0Fh  mov bl,[GUICheatTextZ4+ebx]  mov [edx+1],bl  mov bl,[eax]  and bl,0F0h  shr bl,4  mov bl,[GUICheatTextZ4+ebx]  mov [edx],bl  mov eax,[ccheatnpos]  test byte[eax-28],80h  jnz .src  test byte[eax],04h  jz .on  mov byte[GUICheatTextZ3+13],'O'  mov byte[GUICheatTextZ3+14],'F'  mov byte[GUICheatTextZ3+15],'F'  jmp .off.on  test byte[eax],80h  jnz .repl  mov byte[GUICheatTextZ3+13],'O'  mov byte[GUICheatTextZ3+14],'N'  mov byte[GUICheatTextZ3+15],' '  jmp .off.repl  mov byte[GUICheatTextZ3+13],'R'  mov byte[GUICheatTextZ3+14],'P'  mov byte[GUICheatTextZ3+15],'L'  jmp .off.src  mov byte[GUICheatTextZ3+13],'S'  mov byte[GUICheatTextZ3+14],'R'  mov byte[GUICheatTextZ3+15],'C'.off  mov ecx,20  add eax,8  mov edx,GUICheatTextZ3+17.loop2  mov bl,[eax]  mov [edx],bl  inc eax  inc edx  dec ecx  jnz .loop2  ret%macro GUIOuttextwin2cheat 2  test dword[ccheatnleft],80000000h  jnz near %%skip  call DisplayGUICheatConv  mov byte[GUItextcolor],223  GUIOuttextwin2 7,%1,%2,GUICheatTextZ3  mov byte[GUItextcolor],221               ;Text  cmp byte[GUIWincoladd],0  je %%zero  mov byte[GUItextcolor],222%%zero  GUIOuttextwin2 7,%1-1,%2-1,GUICheatTextZ3  add dword[ccheatnpos],28  dec dword[ccheatnleft]%%skip%endmacroDisplayGUICheat:       ; Add/Browse Cheats menu  GUIDrawWindowBox 7,GUICheatDisp  GUIDisplayText 7,6,13,GUICheatTextA  GUIDisplayText 7,6,132,GUICheatTextC1  GUIDisplayText 7,6,143,GUICheatTextC2  GUIDisplayText 7,11,154,GUICheatTextD1  GUIDisplayText 7,11,164,GUICheatTextD2  GUIDisplayText 7,11,172,GUICheatTextD3  GUIDisplayText 7,11,180,GUICheatTextD4  mov byte[GUItextcolor],217  cmp byte[GUIWincoladd],0  je .zero  mov byte[GUItextcolor],211.zero  DrawGUIButton 7,5,113,47,124,GUICheatTextB1,5,0,0      ; Draw Buttons  DrawGUIButton 7,52,113,94,124,GUICheatTextB2,6,0,0  DrawGUIButton 7,99,113,141,124,GUICheatTextB3,7,0,0  DrawGUIButton 7,146,113,188,124,GUICheatTextB4,8,0,0  DrawGUIButton 7,193,113,235,124,GUICheatTextB5,33,0,0  DrawGUIButton 7,212,134,236,145,GUICheatTextB6,9,0,0  GUIDisplayBBoxS 7,5,20,229,108,167           ; Draw Cheat Box  cmp dword[GUIcurrentcheatwin],0     ; Red Highlight for Cheats box  jne near .nowinbox  mov ebx,[GUIcurrentcheatcursloc]  sub ebx,[GUIcurrentcheatviewloc]  mov eax,ebx  lea ebx,[ebx*8]  sub ebx,eax  add ebx,22  DrawGUIWinBox2 7,5,229,7,224.nowinbox  mov dword[ccheatnpos],cheatdata         ; Green Text  mov eax,[NumCheats]  sub eax,[GUIcurrentcheatviewloc]  dec eax  mov [ccheatnleft],eax  mov eax,[GUIcurrentcheatviewloc]  mov ebx,eax  shl eax,5  sub eax,ebx  sub eax,ebx  sub eax,ebx  sub eax,ebx  add [ccheatnpos],eax  GUIOuttextwin2cheat 12,24  GUIOuttextwin2cheat 12,24+7  GUIOuttextwin2cheat 12,24+7*2  GUIOuttextwin2cheat 12,24+7*3  GUIOuttextwin2cheat 12,24+7*4  GUIOuttextwin2cheat 12,24+7*5  GUIOuttextwin2cheat 12,24+7*6  GUIOuttextwin2cheat 12,24+7*7  GUIOuttextwin2cheat 12,24+7*8  GUIOuttextwin2cheat 12,24+7*9  GUIOuttextwin2cheat 12,24+7*10  GUIOuttextwin2cheat 12,24+7*11;Scrollbar  DrawSlideBarWin 7,231,28,[GUIcurrentcheatviewloc],[NumCheats],12,73,GUICStA  cmp byte[GUICHold],7  jne .noholda  add byte[GUIWincoladd],3.noholda  GUIDisplayIconWin 7,231,20,GUIIconDataUpArrow  cmp byte[GUICHold],7  jne .noholda2  sub byte[GUIWincoladd],3.noholda2  cmp byte[GUI

⌨️ 快捷键说明

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