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

📄 guimouse.inc

📁 linux下的任天堂模拟器代码。供大家参考。
💻 INC
📖 第 1 页 / 共 5 页
字号:
%endif  xor ebx,ebx  mov bl,[cvidmode]%ifdef __MSDOS__  cmp byte[GUIHSVID+ebx],0%else  cmp byte[GUIDSIZE+ebx],0%endif  je near .nohsline  FilterExcl 68,87,En2xSaI,hqFilter,NTSCFilter  FilterExcl 118,87,En2xSaI,hqFilter,NTSCFilter  GUIPButtonHoleS 68,87,byte[scanlines],2  GUIPButtonHoleS 118,87,byte[scanlines],3.nohsline  GUIClickCButton 18,115,byte[GrayscaleMode]  ; Grayscale  xor ebx,ebx                             ; Hires Mode7  mov bl,[cvidmode]  cmp byte[GUIM7VID+ebx],0  je .nocheckboxtm7  GUIClickCButton5 128,115,byte[Mode7HiRes16b],1.nocheckboxtm7%ifdef __MSDOS__  xor ebx,ebx                             ; Triple buffs/vsyncs  mov bl,[cvidmode]  cmp byte[GUITBVID+ebx],0  je .nocheckboxttb  GUIClickCButtonT 128,145,byte[Triplebufen],byte[vsyncon].nocheckboxttb  GUIClickCButtonT 18,145,byte[vsyncon],byte[Triplebufen]%endif%ifdef __WIN32__  xor ebx,ebx  mov bl,[cvidmode]  cmp byte[GUIWFVID+ebx],0  je near .notriplebufferwin  GUIClickCButtonf 128,145,byte[TripleBufferWin],initDirectDraw.notriplebufferwin  GUIClickCButtonf 18,145,byte[vsyncon],initDirectDraw%endif%ifndef __MSDOS__  xor ebx,ebx                             ; Keep 4:3 Ratio  mov bl,[cvidmode]  cmp byte[GUIKEEP43+ebx],0  je near .nocheckboxk43  GUIClickCButtonK 18,175,byte[Keep4_3Ratio],initwinvideo.nocheckboxk43%endif%ifdef __MSDOS__  xor ebx,ebx                             ; Small Screen  mov bl,[cvidmode]  cmp byte[GUISSVID+ebx],0  je .nocheckbox2b  FilterExcl 18,175,ScreenScale,antienab,En2xSaI,scanlines  GUIClickCButton3 18,175,byte[smallscreenon].nocheckbox2b  xor ebx,ebx                             ; Full/Wide Screen  mov bl,[cvidmode]  cmp byte[GUIFSVID+ebx],0  je .nocheckbox3b  FilterExcl 128,175,smallscreenon,antienab,En2xSaI  GUIClickCButton3 128,175,byte[ScreenScale].nocheckbox3b%endif.notfilterstab  cmp dword[GUIVntscTab],1  ; NTSC Tab  jne near .notntsctab  mov eax,[GUImouseposx]    ; update mouse location  sub eax,[GUIwinposx+5*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+5*4]  GUIClickCButton 5,25,byte[NTSCBlend]     ; Checkboxes  GUIClickCButton 135,25,byte[NTSCRef]  GUIPHoldbutton 8,166,67,177,81  GUIPHoldbutton 72,166,119,177,82  GUIPHoldbutton 124,166,147,177,83  GUIPHoldbutton 152,166,217,177,84  GUIPHoldbutton 102,186,137,197,37  ; button  GUIPHoldbutton 148,186,207,197,39  ; button  ;Sliders  cmp eax,8                      ; X-Range for click-area  jl near .nomovebar  cmp eax,8+200  jg near .nomovebar  sub al,108  cmp edx,54                     ; Y-Range for click-area  jl near .nomovebar  cmp edx,58  jg .nohuebar  mov [NTSCHue],al  mov [ntscCurVar],al  mov byte[ntscWhVar],0  mov byte[GUIHold],7            ; Lock mouse to bar when clicked  mov eax,[GUIwinposy+5*4]  add eax,56  mov [GUIHoldYlim],eax  jmp .nosharpbar.nohuebar  cmp edx,74  jl near .nomovebar  cmp edx,78  jg .nosatbar  mov [NTSCSat],al  mov [ntscCurVar],al  mov byte[ntscWhVar],1  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,76  mov [GUIHoldYlim],eax  jmp .nosharpbar.nosatbar  cmp edx,94  jl near .nomovebar  cmp edx,98  jg .nocontbar  mov [NTSCCont],al  mov [ntscCurVar],al  mov byte[ntscWhVar],2  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,96  mov [GUIHoldYlim],eax  jmp .nosharpbar.nocontbar  cmp edx,114  jl near .nomovebar  cmp edx,118  jg .nobrightbar  mov [NTSCBright],al  mov [ntscCurVar],al  mov byte[ntscWhVar],3  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,116  mov [GUIHoldYlim],eax  jmp .nosharpbar.nobrightbar  cmp edx,134  jl near .nomovebar  cmp edx,138  jg .nosharpbar  mov [NTSCSharp],al  mov [ntscCurVar],al  mov byte[ntscWhVar],4  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,136  mov [GUIHoldYlim],eax  jmp .nowarpbar.nosharpbar  mov eax,[GUIwinposx+5*4]  add eax,8  mov [GUIHoldXlimL],eax  add eax,200  mov [GUIHoldXlimR],eax.nomovebar  cmp byte[NTSCRef],0  je .notntsctab%ifndef __MSDOS__  mov dword[NTSCPresetVar],4  pushad  call NTSCFilterInit  popad%endif.notntsctab  cmp dword[GUIVntscTab],2  ; NTSC Tab  jne near .notadvntsctab  mov eax,[GUImouseposx]    ; update mouse location  sub eax,[GUIwinposx+5*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+5*4]  GUIPHoldbutton 102,186,137,197,38  ; button  GUIPHoldbutton 148,186,207,197,39  ; button  ;Sliders  cmp eax,8                      ; X-Range for click-area  jl near .nomovebar2  cmp eax,8+200  jg near .nomovebar2  sub al,108  cmp edx,44                     ; Y-Range for click-area  jl near .nomovebar2  cmp edx,48  jg .nogammabar  mov [NTSCGamma],al  mov [ntscCurVar],al  mov byte[ntscWhVar],0  mov byte[GUIHold],7            ; Lock mouse to bar when clicked  mov eax,[GUIwinposy+5*4]  add eax,46  mov [GUIHoldYlim],eax  jmp .nowarpbar.nogammabar  cmp edx,64  jl near .nomovebar2  cmp edx,68  jg .noresbar  mov [NTSCRes],al  mov [ntscCurVar],al  mov byte[ntscWhVar],1  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,66  mov [GUIHoldYlim],eax  jmp .nowarpbar.noresbar  cmp edx,84  jl near .nomovebar2  cmp edx,88  jg .noartbar  mov [NTSCArt],al  mov [ntscCurVar],al  mov byte[ntscWhVar],2  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,86  mov [GUIHoldYlim],eax  jmp .nowarpbar.noartbar  cmp edx,104  jl near .nomovebar2  cmp edx,108  jg .nofringebar  mov [NTSCFringe],al  mov [ntscCurVar],al  mov byte[ntscWhVar],3  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,106  mov [GUIHoldYlim],eax  jmp .nowarpbar.nofringebar  cmp edx,124  jl near .nomovebar2  cmp edx,128  jg .nobleedbar  mov [NTSCBleed],al  mov [ntscCurVar],al  mov byte[ntscWhVar],4  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,126  mov [GUIHoldYlim],eax  jmp .nowarpbar.nobleedbar  cmp edx,144  jl .nomovebar2  cmp edx,148  jg .nomovebar2  mov [NTSCWarp],al  mov [ntscCurVar],al  mov byte[ntscWhVar],5  mov byte[GUIHold],7  mov eax,[GUIwinposy+5*4]  add eax,146  mov [GUIHoldYlim],eax.nowarpbar  mov eax,[GUIwinposx+5*4]  add eax,8  mov [GUIHoldXlimL],eax  add eax,200  mov [GUIHoldXlimR],eax.nomovebar2  cmp byte[NTSCRef],0  je .notadvntsctab%ifndef __MSDOS__  mov dword[NTSCPresetVar],4  pushad  call NTSCFilterInit  popad%endif.notadvntsctab  xor eax,eax  retSECTION .bssGUINumValue resd 1GUIBlankVar resd 1ntscLastVar resb 6ntscCurVar resb 1ntscWhVar resb 1SECTION .dataNEWSYM NTSCPresetVar, dd 4SECTION .textDisplayGUISoundClick:  mov eax,[GUImouseposx]  sub eax,[GUIwinposx+6*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+6*4]  GUIClickCButton 11,21,byte[SPCDisable]  GUIClickCButtonf 11,31,byte[soundon],reInitSound  GUIClickCButton 11,41,byte[StereoSound]  GUIClickCButton 11,51,byte[RevStereo]  GUIClickCButton 11,61,byte[Surround]%ifdef __MSDOS__  GUIClickCButton 11,71,byte[Force8b]%endif%ifdef __WIN32__  GUIClickCButton 11,71,byte[PrimaryBuffer]%endif  GUIPButtonHole 11,157,byte[SoundInterpType],0  GUIPButtonHole 11,167,byte[SoundInterpType],1  GUIPButtonHole 11,177,byte[SoundInterpType],2  cmp byte[MMXSupport],0  je near .no8ptintrp  GUIPButtonHole 11,187,byte[SoundInterpType],3.no8ptintrp  GUIPButtonHole 111,157,byte[LowPassFilterType],0  GUIPButtonHole 111,167,byte[LowPassFilterType],1  GUIPButtonHole 111,177,byte[LowPassFilterType],2  cmp byte[MMXSupport],0  je near .nohiqualityfilter  GUIPButtonHole 111,187,byte[LowPassFilterType],3.nohiqualityfilter  GUIClickArea 15,101,69,109,.nosrate  mov eax,[SoundQuality]  mov al,[sampratenext+eax]  mov [SoundQuality],al.nosrate  GUIClickArea 15,129,115,133,{near .nomovebar}  sub eax,15  mov [MusicRelVol],al  mov byte[GUIHold],5  mov eax,[GUIwinposy+6*4]  add eax,131  mov [GUIHoldYlim],eax  xor eax,eax  xor edx,edx  mov al,[MusicRelVol]  shl eax,7  mov ebx,100  div ebx  cmp al,127  jb .noof  mov al,127.noof  mov [MusicVol],al  mov al,[DSPMem+0Ch]  call WDSPReg0C  mov al,[DSPMem+1Ch]  call WDSPReg1C  mov eax,[GUIwinposx+6*4]  add eax,15  mov [GUIHoldXlimL],eax  add eax,100  mov [GUIHoldXlimR],eax.nomovebar  retSECTION .datasampratenext db 1,4,5,6,2,3,0,0SECTION .textDisplayGUICheatClick2:  GUISlidebarPostImpl 231,28,238,100,.scrollup,.scrolldown,7,12,GUIcurrentcheatviewloc,GUIcurrentcheatcursloc,NumCheats,GUIBlankVar,1  GUIPostWinBoxMove 5,22,229,22+12*7,GUIcurrentcheatviewloc,GUIcurrentcheatcursloc,NumCheats,.scrollup,.scrolldown,DisplayGUICheatClick.skipscrol,12DisplayGUICheatClick:  GUIBoxVar 5,20,181,110,GUIcurrentcheatwin,0      ; Main Box  GUIBoxVar 82,129,173,136,GUIcurrentcheatwin,1    ; Enter Code Box  GUIBoxVar 82,140,196,147,GUIcurrentcheatwin,2    ; Description Box  ; SlideBar Implementation  GUISlidebarImpl 231,28,238,100,GUICStA,12,GUIcurrentcheatviewloc,GUIcurrentcheatcursloc,NumCheats,7.skipscrol  cmp byte[GUIcurrentcheatwin],0  jne near .nowin  GUIWinControl 5,23,229,21+12*7,GUIBlankVar,GUIcurrentcheatviewloc,NumCheats,22,7,GUIcurrentcheatcursloc,3,7,30.nowin  GUIPHoldbutton 5,113,47,124,5                  ; Buttons  GUIPHoldbutton 52,113,94,124,6  GUIPHoldbutton 99,113,141,124,7  GUIPHoldbutton 146,113,188,124,8  GUIPHoldbutton 212,134,236,145,9  GUIPHoldbutton 193,113,235,124,33  GUIClickCButton5 11,186,byte[AutoLoadCht],1    ; Checkbox  retDisplayNetOptnsClick:  retguipresstest:  xor ebx,ebx  mov ecx,256+128+64.a  mov byte[pressed+ebx],0  inc ebx  dec ecx  jnz .a  call GUIUnBuffer  call DisplayBoxes  call DisplayMenu  GUIBox 75,95,180,131,160  GUIBox 75,95,180,95,162  GUIBox 75,95,75,131,161  GUIBox 180,95,180,131,159  GUIBox 75,131,180,131,158  GUIOuttext 81,101,guipresstext1,220-15  GUIOuttext 80,100,guipresstext1,220  GUIOuttext 81,111,guipresstext2,220-15  GUIOuttext 80,110,guipresstext2,220  GUIOuttext 81,121,guipresstext3,220-15  GUIOuttext 80,120,guipresstext3,220  call vidpastecopyscr.again  call JoyRead;    mov dword[pressed+0CCh],0;    mov dword[pressed+0CCh+80h],0;    mov dword[pressed+0E8h],0;    mov dword[pressed+0E8h+80h],0  xor ebx,ebx  mov ecx,256+128+64.b  cmp byte[pressed+ebx],0  jne .pressedokay  inc ebx  dec ecx  jnz .b  jmp .again.pressedokay  push ebx  xor ebx,ebx  mov ecx,256+128+64.a2  cmp byte[pressed+ebx],0  je .pressedokayb  mov byte[pressed+ebx],2.pressedokayb  inc ebx  dec ecx  jnz .a2  pop ebx.again2  call Check_Key  or al,al  jz .nokey  call Get_Key  jmp .again2.nokey;    push ebx;    mov eax,0Bh;    int 33h;    pop ebx  retSECTION .dataguipresstext1 db 'ENTER THE KEY',0guipresstext2 db 'OR BUTTON TO USE',0guipresstext3 db '(ESC TO CLEAR)',0SECTION .textguipresstestb:  call GUIUnBuffer  call DisplayBoxes  call DisplayMenu  GUIBox 65,80,194,126,160  GUIBox 65,80,194,80,162  GUIBox 65,80,65,126,161  GUIBox 194,80,194,126,159  GUIBox 65,126,194,126,158  GUIOuttext 71,86,guipresstext1,220-15  GUIOuttext 70,85,guipresstext1,220  GUIOuttext 71,96,guipresstext2,220-15  GUIOuttext 70,95,guipresstext2,220  GUIOuttext 71,116,guipresstext3b,220-15  GUIOuttext 70,115,guipresstext3b,220  mov eax,[guipressptr]  GUIOuttext 71,106,eax,220-15  mov eax,[guipressptr]  GUIOuttext 70,105,eax,220  call vidpastecopyscr  mov ecx,8192  call delay.tryagain  call JoyRead  xor ebx,ebx  mov ecx,256+128+64.b2  cmp byte[pressed+ebx],0  jne .tryagain  inc ebx  dec ecx  jnz .b2.again  call JoyRead;    mov dword[pressed+0CCh],0;    mov dword[pressed+0CCh+80h],0;    mov dword[pressed+0E8h],0;    mov dword[pressed+0E8h+80h],0  xor ebx,ebx  mov ecx,256+128+64.b  cmp byte[pressed+ebx],0  jne .pressedokay  inc ebx  dec ecx  jnz .b  jmp .again.pressedokay.again2  call Check_Key  or al,al  jz .nokey  call Get_Key  jmp .again2.nokey  cmp ebx,1  je .skip  cmp ebx,3Bh  je .skip  mov eax,[guicpressptr]  mov [eax],ebx.skip;    push ebx;    mov eax,0Bh;    int 33h;    pop ebx  retSECTION .dataguipresstext3b db '(ESC TO SKIP)',0guipresstext4b db 'FOR UP              ',0  db 'FOR DOWN            ',0  db 'FOR LEFT            ',0  db 'FOR RIGHT           ',0  db 'FOR START           ',0  db 'FOR SELECT          ',0  db 'FOR A (RIGHT BUTTON)',0  db 'FOR B (DOWN BUTTON) ',0  db 'FOR X (TOP BUTTON)  ',0  db 'FOR Y (LEFT BUTTON) ',0  db 'FOR THE L BUTTON    ',0  db 'FOR THE R BUTTON    ',0SECTION .bssguipressptr resd 1guicpressptr resd 1SECTION .textDisplayGameOptnsClick:  mov dword[keycontrolval],0                  ; Shortcut Boxes  DGOptnsProcBox 27,23,[KeyBGDisble0]  DGOptnsProcBox 27+45,23,[KeyBGDisble1]  DGOptnsProcBox 27+45*2,23,[KeyBGDisble2]  DGOptnsProcBox 27+45*3,23,[KeyBGDisble3]  DGOptnsProcBox 27+45*4,23,[KeySprDisble]  DGOptnsProcBox 27,41,[KeyDisableSC0]  DGOptnsProcBox 27+45,41,[KeyDisableSC1]  DGOptnsProcBox 27+45*2,41,[KeyDisableSC2]  DGOptnsProcBox 27+45*3,41,[KeyDisableSC3]  DGOptnsProcBox 34+45*4,41,[KeyVolUp]  DGOptnsProcBox 27,50,[KeyDisableSC4]  DGOptnsProcBox 27+45,50,[KeyDisableSC5]  DGOptnsProcBox 27+45*2,50,[KeyDisableSC6]  DGOptnsProcBox 27+45*3,50,[KeyDisableSC7]  DGOptnsProcBox 34+45*4,50,[KeyVolDown]  DGOptnsProcBox 8+25,70,[KeyQuickLoad]  DGOptnsProcBox 8+57+26,70,[KeyQuickRst]  DGOptnsProcBox 8+114+20,70,[KeyQuickExit]  DGOptnsProcBox 8+114+78,70,[KeyQuickClock]  DGOptnsProcBox 8+25,80,[KeyQuickChat]  DGOptnsProcBox 8+57+45,80,[KeyQuickSnapShot]  DGOptnsProcBox 8+108+70,80,[KeyQuickSaveSPC]  DGOptnsProcBox 78,100,[KeyUsePlayer1234]  DGOptnsProcBox 78,110,[KeyResetAll]  DGOptnsProcBox 78,120,[KeyDisplayFPS]%ifndef __MSDOS__  DGOptnsProcBox 78,130,[KeyDisplayBatt]%endif  DGOptnsProcBox 191,100,[KeyNewGfxSwt]  DGOptnsProcBox 191,110,[KeyWinDisble]  DGOptnsProcBox 191,120,[KeyOffsetMSw]  DGOptnsProcBox 191,130,[KeyIncreaseGamma]  DGOptnsProcBox 191,140,[KeyDecreaseGamma]  retDisplayGUIOptnsClick:  mov eax,[GUImouseposx]  sub eax,[GUIwinposx+10*4]

⌨️ 快捷键说明

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