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

📄 guiwindp.inc

📁 linux下的任天堂模拟器代码。供大家参考。
💻 INC
📖 第 1 页 / 共 5 页
字号:
  jne .yesfiles  mov dword[GUIcurrentfilewin],1.yesfiles  mov eax,[GUIfileentries]  sub eax,[GUIcurrentviewloc]  mov [cloadnleft],eax  mov eax,[GUIcurrentviewloc]  mov [cloadnposb],eax  mov dword[cloadmaxlen],23  GUIOuttextwinloadfile 1,8,29              ; Text/Shadow for Filename Box  GUIOuttextwinloadfile 1,8,29+7  GUIOuttextwinloadfile 1,8,29+7*2  GUIOuttextwinloadfile 1,8,29+7*3  GUIOuttextwinloadfile 1,8,29+7*4  GUIOuttextwinloadfile 1,8,29+7*5  GUIOuttextwinloadfile 1,8,29+7*6  GUIOuttextwinloadfile 1,8,29+7*7  GUIOuttextwinloadfile 1,8,29+7*8  GUIOuttextwinloadfile 1,8,29+7*9  GUIOuttextwinloadfile 1,8,29+7*10  GUIOuttextwinloadfile 1,8,29+7*11  GUIOuttextwinloadfile 1,8,29+7*12  GUIOuttextwinloadfile 1,8,29+7*13  GUIOuttextwinloadfile 1,8,29+7*14  mov eax,[GUIdirentries]  sub eax,[GUIcurrentdirviewloc]  mov [cloadnleft],eax  mov eax,[GUIcurrentdirviewloc]  mov [cloadnposb],eax  mov dword[cloadmaxlen],11  GUIOuttextwinloaddir 1,164,29              ; Text/Shadow for DIR Box  GUIOuttextwinloaddir 1,164,29+7  GUIOuttextwinloaddir 1,164,29+7*2  GUIOuttextwinloaddir 1,164,29+7*3  GUIOuttextwinloaddir 1,164,29+7*4  GUIOuttextwinloaddir 1,164,29+7*5  GUIOuttextwinloaddir 1,164,29+7*6  GUIOuttextwinloaddir 1,164,29+7*7  GUIOuttextwinloaddir 1,164,29+7*8  GUIOuttextwinloaddir 1,164,29+7*9  GUIOuttextwinloaddir 1,164,29+7*10  GUIOuttextwinloaddir 1,164,29+7*11  GUIOuttextwinloaddir 1,164,29+7*12  GUIOuttextwinloaddir 1,164,29+7*13  GUIOuttextwinloaddir 1,164,29+7*14  mov byte[GUItextcolor],221              ; Green Text  cmp byte[GUIWincoladd],0  je .zero4  mov byte[GUItextcolor],222.zero4  GUIOuttextwin2 1,7,147, GUILoadTextA  xor ebx,ebx  mov bl,[GUILoadPos]  mov byte[GUILoadTextA+ebx],0  GUIDisplayButtonHole 1,9,163,byte[GUIloadfntype],0 ; Radio Buttons  GUIDisplayButtonHole 1,9,171,byte[GUIloadfntype],1%ifdef __MSDOS__  GUIDisplayButtonHole 1,9,179,byte[GUIloadfntype],2%endif  GUIDisplayCheckboxTn 1,10,187,showallext,1,GUILoadText6         ; Checkboxes  GUIDisplayCheckboxTn 1,144,177,ForceROMTiming,1,GUILoadTextC  GUIDisplayCheckboxTn 1,144,187,ForceROMTiming,2,GUILoadTextD  GUIDisplayCheckboxTn 1,184,177,ForceHiLoROM,1,GUILoadTextE  GUIDisplayCheckboxTn 1,184,187,ForceHiLoROM,2,GUILoadTextF  ; Slidebar for Files  ; win#,X,Y start, %4-List Loc, %5-List size, %6-Screen size, %7-Bar Size  DrawSlideBarWin 1,146,33,[GUIcurrentviewloc],[GUIfileentries],15,94,GUILStA  cmp byte[GUICHold],1  jne .noholda  add byte[GUIWincoladd],3.noholda  GUIDisplayIconWin 1,146,25,GUIIconDataUpArrow  cmp byte[GUICHold],1  jne .noholda2  sub byte[GUIWincoladd],3.noholda2  cmp byte[GUICHold],2  jne .noholdb  add byte[GUIWincoladd],3.noholdb  GUIDisplayIconWin 1,146,127,GUIIconDataDownArrow  cmp byte[GUICHold],2  jne .noholdb2  sub byte[GUIWincoladd],3.noholdb2  ; Slidebar for DIR  DrawSlideBarWin 1,230,33,[GUIcurrentdirviewloc],[GUIdirentries],15,94,GUILStB  cmp byte[GUICHold],3  jne .noholdc  add byte[GUIWincoladd],3.noholdc  GUIDisplayIconWin 1,230,25,GUIIconDataUpArrow  cmp byte[GUICHold],3  jne .noholdc2  sub byte[GUIWincoladd],3.noholdc2  cmp byte[GUICHold],4  jne .noholdd  add byte[GUIWincoladd],3.noholdd  GUIDisplayIconWin 1,230,127,GUIIconDataDownArrow  cmp byte[GUICHold],4  jne .noholdd2  sub byte[GUIWincoladd],3.noholdd2  retSECTION .dataGUILoadText1 db 'SELECT FILE TO LOAD:',0%ifndef __MSDOS__GUILoadText3 db 'LONG FILENAME',0%elseGUILoadText2 db 'DISPLAY TYPE:',0GUILoadText3 db 'WIN9X LONG FILENAME',0GUILoadText4 db 'DOS 8.3 FORMAT',0%endifGUILoadText5 db 'SNES HEADER NAME',0GUILoadText6 db 'SHOW ALL EXTENSIONS',0GUILoadText7 db 'FILENAME',0GUILoadText8 db 'DIRECTORY',0GUILoadText9 db 'LOAD',0NEWSYM GUILoadTextA, times 38 db 0GUILoadTextB db 'FORCE',0GUILoadTextC db 'NTSC',0GUILoadTextD db 'PAL',0GUILoadTextE db 'LOROM',0GUILoadTextF db 'HIROM',0SECTION .bssGUILStA resd 3GUILStB resd 3NEWSYM GUILoadPos, resb 1SECTION .textDisplayGUIReset:              ; Reset Confirmation  GUIDrawWindowBox 12,GUIResetDisp  cmp byte[GUIWincoladd],0         ;Red Box around buttons  je .zero  mov byte[GUItextcolor],211.zero  mov dl,224  cmp byte[GUIWincoladd],0  je .zero4  inc dl.zero4  cmp byte[GUICResetPos],0  je near .resetboxa  DrawGUIWinBox 12,79,29,117,42,dl  jmp .resetboxb.resetboxa  DrawGUIWinBox 12,19,29,57,42,dl.resetboxb  DrawGUIButton 12,20,30,56,41,GUIResetText2,2,0,0   ; Buttons  DrawGUIButton 12,80,30,116,41,GUIResetText3,3,0,0  GUIDisplayTextY 12,6,16,GUIResetText1  retSECTION .dataGUIResetText1 db 'RESET: ARE YOU SURE ?',0GUIResetText2 db 'YES',0GUIResetText3 db 'NO',0SECTION .textDisplayGUIStates:                         ; Save/Load State Confirmation  GUIDrawWindowBox 14,GUIStatesDisp  cmp byte[GUIWincoladd],0             ; Red Box around buttons  je .zero  mov byte[GUItextcolor],211.zero  mov dl,224  cmp byte[GUIWincoladd],0  je .zero4  inc dl.zero4  cmp byte[GUICStatePos],0  je near .resetboxa  DrawGUIWinBox 14,79,29,117,42,dl  jmp .resetboxb.resetboxa  DrawGUIWinBox 14,19,29,57,42,dl.resetboxb  DrawGUIButton 14,20,30,56,41,GUIStatesText3,10,0,0    ; Buttons  DrawGUIButton 14,80,30,116,41,GUIStatesText4,11,0,0  cmp byte[GUIStatesText5],1              ; Determines Load or Save box  je near .load  GUIDisplayTextY 14,6,16,GUIStatesText1  jmp .save.load  GUIDisplayTextY 14,6,16,GUIStatesText2.save  retSECTION .dataGUIStatesText1 db 'OKAY TO SAVE STATE?',0GUIStatesText2 db 'OKAY TO LOAD STATE?',0GUIStatesText3 db 'YES',0GUIStatesText4 db 'NO',0GUIStatesText5 db 0SECTION .textDisplayGUIChoseSave:                    ; Pick Save State  GUIDrawWindowBox 2,GUIStateSelDisp  GUIDisplayTextY 2,6,16,GUIChoseSaveText1  mov byte[GUIChoseSaveText2],'0'  GUIDisplayText 2,21,31,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'1'  GUIDisplayText 2,41,31,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'2'  GUIDisplayText 2,61,31,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'3'  GUIDisplayText 2,81,31,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'4'  GUIDisplayText 2,101,31,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'5'  GUIDisplayText 2,21,46,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'6'  GUIDisplayText 2,41,46,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'7'  GUIDisplayText 2,61,46,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'8'  GUIDisplayText 2,81,46,GUIChoseSaveText2  mov byte[GUIChoseSaveText2],'9'  GUIDisplayText 2,101,46,GUIChoseSaveText2  GUIDisplayTextY 2,6,61,GUIChoseSlotText1  mov eax,[current_zst]  mov dl,10  div dl  add al,'0'  mov [GUIChoseSaveText2],ah  mov [GUIChoseSlotTextX],al  mov dword[GUITemp],GUIIconDataButtonHole           ; Radio Buttons  GUIDisplayButtonHole 2,10,28,byte[GUIChoseSaveText2],0  GUIDisplayButtonHole 2,30,28,byte[GUIChoseSaveText2],1  GUIDisplayButtonHole 2,50,28,byte[GUIChoseSaveText2],2  GUIDisplayButtonHole 2,70,28,byte[GUIChoseSaveText2],3  GUIDisplayButtonHole 2,90,28,byte[GUIChoseSaveText2],4  GUIDisplayButtonHole 2,10,43,byte[GUIChoseSaveText2],5  GUIDisplayButtonHole 2,30,43,byte[GUIChoseSaveText2],6  GUIDisplayButtonHole 2,50,43,byte[GUIChoseSaveText2],7  GUIDisplayButtonHole 2,70,43,byte[GUIChoseSaveText2],8  GUIDisplayButtonHole 2,90,43,byte[GUIChoseSaveText2],9  GUIDisplayBBox 2,72,59,90,66,167                  ; Save Slot Frameskip +/- Box  GUIDisplayTextG 2,83,61,GUIChoseSlotTextX  mov byte[GUItextcolor],217  cmp byte[GUIWincoladd],0  je .slotzero5  mov byte[GUItextcolor],211.slotzero5  DrawGUIButton 2,94,59,102,67,GUIChoseSlotTextY,80,-2,-1  DrawGUIButton 2,105,59,113,67,GUIChoseSlotTextZ,81,-2,-1  retSECTION .dataGUIChoseSaveText1 db 'SELECT SAVE SLOT:',0GUIChoseSaveText2 db '-',0GUIChoseSlotText1 db 'SLOT LEVEL:',0GUIChoseSlotTextX db '-',0GUIChoseSlotTextY db '+',0GUIChoseSlotTextZ db '-',0SECTION .text%macro DGOptnsBorderBox 3  mov dword[GUIWincol],148+10  cmp byte[cwindrawn],1  jne %%noone  mov dword[GUIWincol],148+5%%noone  cmp byte[cwindrawn],0  jne %%nozero  mov dword[GUIWincol],148%%nozero  mov dl,[GUIWincol]  DrawGUIWinBox %1,%2+1,%3,%2+18,%3,dl  mov dl,[GUIWincol]  inc dl  DrawGUIWinBox %1,%2,%3+1,%2-1,%3+5,dl  mov dl,[GUIWincol]  add dl,4  DrawGUIWinBox %1,%2+1,%3+8,%2+18,%3-8,dl  mov dl,[GUIWincol]  add dl,3  DrawGUIWinBox %1,%2+22,%3+1,%2-23,%3+5,dl%endmacro%macro DGOptnsDrawBox 3  mov eax,[GUIwinposx+9*4]  mov ebx,[GUIwinposy+9*4]  add eax,%1  add ebx,%2  mov ecx,eax  add ecx,20  mov dl,167  mov esi,7%%loop  DrawGUILine  dec esi  jnz %%loop  mov eax,%3  mov ebx,[ScanCodeListing+eax*3]  mov [GUIGameDisplayKy],ebx  mov byte[GUIGameDisplayKy+3],0  mov byte[GUItextcolor],223  GUIOuttextwin2 9,%1+3,%2+2,GUIGameDisplayKy  mov byte[GUItextcolor],221  cmp byte[GUIWincoladd],0  je %%zero  mov byte[GUItextcolor],222%%zero  GUIOuttextwin2 9,%1+2,%2+1,GUIGameDisplayKy%endmacro%macro DDrawBox 4  mov eax,[GUIwinposx+%1*4]  mov ebx,[GUIwinposy+%1*4]  add eax,%2+1  add ebx,%3+1  mov ecx,eax  add ecx,20  mov dl,167  mov esi,7%%loop  DrawGUILine  dec esi  jnz %%loop  mov eax,%4  mov ebx,[ScanCodeListing+eax*3]  mov [GUIGameDisplayKy],ebx  mov byte[GUIGameDisplayKy+3],0  mov byte[GUItextcolor],223  GUIOuttextwin2 %1,%2+4,%3+3,GUIGameDisplayKy  mov byte[GUItextcolor],221  cmp byte[GUIWincoladd],0  je %%zero  mov byte[GUItextcolor],222%%zero  GUIOuttextwin2 %1,%2+3,%3+2,GUIGameDisplayKy  DGOptnsBorderBox %1,%2,%3%endmacro%macro DGOptnsDrawBox2 3  mov eax,[GUIwinposx+3*4]  mov ebx,[GUIwinposy+3*4]  add eax,%1  add ebx,%2  mov ecx,eax  add ecx,20  mov dl,167  mov esi,7%%loop  DrawGUILine  dec esi  jnz %%loop  mov eax,%3  mov ebx,[ScanCodeListing+eax*3]  mov [GUIGameDisplayKy],ebx  mov byte[GUIGameDisplayKy+3],0  mov byte[GUItextcolor],223  GUIOuttextwin2 3,%1+3,%2+2,GUIGameDisplayKy  mov byte[GUItextcolor],221  cmp byte[GUIWincoladd],0  je %%zero  mov byte[GUItextcolor],222%%zero  GUIOuttextwin2 3,%1+2,%2+1,GUIGameDisplayKy%endmacro%macro GUIInputDispAll 1  GUIInputDispKey 45,102,%1upk    ; Up  GUIInputDispKey 45,112,%1downk  ; Down  GUIInputDispKey 45,122,%1leftk  ; Left  GUIInputDispKey 45,132,%1rightk ; Right  GUIInputDispKey 45,142,%1startk ; Start  GUIInputDispKey 45,152,%1selk   ; Select  GUIInputDispKey 85,102,%1Ak     ; A  GUIInputDispKey 85,112,%1Bk     ; B  GUIInputDispKey 85,122,%1Xk     ; X  GUIInputDispKey 85,132,%1Yk     ; Y  GUIInputDispKey 85,142,%1Lk     ; L  GUIInputDispKey 85,152,%1Rk     ; R  GUIInputDispKey 125,102,%1Xtk   ; X Turbo  GUIInputDispKey 125,112,%1Ytk   ; Y Turbo  GUIInputDispKey 125,122,%1Ltk   ; L Turbo  GUIInputDispKey 165,102,%1Atk   ; A Turbo  GUIInputDispKey 165,112,%1Btk   ; B Turbo  GUIInputDispKey 165,122,%1Rtk   ; R Turbo  GUIInputDispKey 125,142,%1DLk   ; Down-Left  GUIInputDispKey 125,152,%1DRk   ; Down-Right  GUIInputDispKey 165,142,%1ULk   ; Up-Left  GUIInputDispKey 165,152,%1URk   ; Up-Right%endmacro%macro GUIInputDispKey 3  mov eax,[%3]  mov [GUIInputTextE],eax  DGOptnsDrawBox2 %1,%2,[GUIInputTextE]%endmacroDisplayGUIInput:    ; Player Select, Joystick/keyboard Type List, Button Assignments  GUIDrawWindowBox 3,GUIInputDisp  mov eax,[GUIInputTabs]  dec al  mov [cplayernum],al  GUIDrawTArea 3  GUIDrawTabs GUIInputTabs  GUIDisplayTextY 3,6,26,GUIInputTextA  movzx eax,byte[cplayernum]  mov ebx,[GUIInputRefP+eax*4]  movzx ebx,byte[ebx]  cmp byte[GUIFreshInputSelect],0  je .notfreshinput  pushad  mov byte[GUIFreshInputSelect],0  mov dword[GUIJT_viewable],5  mov eax,[NumInputDevices]  mov [GUIJT_entries],eax  mov [GUIJT_offset],ebx  mov eax,GUIcurrentinputviewloc  mov [GUIJT_currentviewloc],eax  mov eax,GUIcurrentinputcursloc  mov [GUIJT_currentcursloc],eax  call GUIGenericJumpTo  popad.notfreshinput  mov al,bl  mov ebx,eax  shl eax,4  add eax,ebx  add eax,GUIInputNames  mov [GUITemp],eax  GUIDisplayTextY 3,6+54,83,[GUITemp]   ; CDV  GUIDisplayTextY 3,6,83,GUIInputTextA1  GUIDisplayTextY 3,6,94,GUIInputTextB  GUIDisplayText 3,6,104,GUIInputTextB1  GUIDisplayText 3,6,114,GUIInputTextB2  GUIDisplayText 3,6,124,GUIInputTextB3  GUIDisplayText 3,6,134,GUIInputTextB4  GUIDisplayText 3,6,144,GUIInputTextB5  GUIDisplayText 3,6,154,GUIInputTextB6  GUIDisplayText 3,76,104,GUIInputTextC1  GUIDisplayText 3,76,114,GUIInputTextC2  GUIDisplayText 3,76,124,GUIInputTextC3  GUIDisplayText 3,76,134,GUIInputTextC4  GUIDisplayText 3,76,144,GUIInputTextC5  GUIDisplayText 3,76,154,GUIInputTextC6  GUIDisplayTextY 3,116,94,GUIInputTextC  GUIDisplayText 3,156,104,GUIInputTextC1  GUIDisplayText 3,156,114,GUIInputTextC2  GUIDisplayText 3,156,124,GUIInputTextC6  GUIDisplayText 3,116,104,GUIInputTextC3  GUIDisplayText 3,116,114,GUIInputTextC4  GUIDisplayText 3,116,124,GUIInputTextC5  GUIDisplayTextY 3,113,134,GUIInputTextD  GUIDisplayText 3,153,144,GUIInputTextD1  GUIDisplayText 3,153,154,GUIInputTextD2  GUIDisplayText 3,113,144,GUIInputTextD3  GUIDisplayText 3,113,154,GUIInputTextD4%ifdef __MSDOS__  GUIDisplayCheckboxu 3,105,160,SidewinderFix,GUIInputTextE4,0  cmp byte[cplayernum],0  jne .notp1  GUIDisplayCheckboxu 3,5,190,pl1p209,GUIInputTextE5,4.notp1  cmp byte[cplayernum],1  jne .notp2  GUIDisplayCheckboxu 3,5,190,pl2p209,GUIInputTextE5,4.notp2  cmp byte[cplayernum],2  jne .notp3  GUIDisplayCheckboxu 3,5,190,pl3p209,GUIInputTextE5,4.notp3  cmp byte[cplayernum],3  jne .notp4  GUIDisplayCheckboxu 3,5,190,pl4p209,GUIInputTextE5,4.notp4  cmp byte[cplayernum],4  jne .notp5  GUIDisplayCheckboxu 3,5,190,pl5p209,GUIInputTextE5,4.notp5%endif  GUIDisplayCheckboxu 3,5,160,GameSpecificInput,GUIInputTextE6,0  GUIDisplayCheckboxu 3,5,170,AllowUDLR,GUIInputTextE7,0  GUIDisplayCheckboxu 3,105,170,Turbo30hz,GUIInputTextE8,0  GUIDisplayCheckboxu 3,5,180,pl12s34,GUIInputTextE9,0  DrawGUIButton 3,123,34,153,45,GUIInputTextE1,14,0,0   ; Buttons  DrawGUIButton 3,123,50,177,61,GUIInputTextE2,40,0,0%ifdef __MSDOS__  DrawGUIButton 3,123,66,183,77,GUIInputTextE3,15,0,0%endif  GUIDisplayBBoxS 3,5,34,107,77,167        ; Main Box  mov ebx,[GUIcurrentinputcursloc]  sub ebx,[GUIcurrentinputviewloc]  mov eax,ebx  lea ebx,[ebx*8]  add ebx,36  DrawGUIWinBox2 3,5,107,7,224  mov eax,[GUIcurrentinputviewloc]         ; Text&Shadow inside Main Box  shl eax,4  add eax,[GUIcurrentinputviewloc]  add eax,GUIInputNames  mov [GUITemp],eax

⌨️ 快捷键说明

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