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

📄 guimouse.inc

📁 linux下的任天堂模拟器代码。供大家参考。
💻 INC
📖 第 1 页 / 共 5 页
字号:
  cmp byte[GUICBHold],3  je near GUIProcReset  cmp byte[GUICBHold],4  ; set video mode  je near GUIProcVideo%ifndef __MSDOS__  cmp byte[GUICBHold],12  ; set custom video mode  je near GUIProcCustomVideo%endif  cmp byte[GUICBHold],37 ; reset ntsc options  je near GUINTSCReset  cmp byte[GUICBHold],38 ; reset ntsc options  je near GUINTSCReset  cmp byte[GUICBHold],39 ; reset ntsc options  je near GUINTSCReset  cmp byte[GUICBHold],81 ; ntsc preset  je near GUINTSCPreset  cmp byte[GUICBHold],82 ; ntsc preset  je near GUINTSCPreset  cmp byte[GUICBHold],83 ; ntsc preset  je near GUINTSCPreset  cmp byte[GUICBHold],84 ; ntsc preset  je near GUINTSCPreset  cmp byte[GUICBHold],10  je near GUIProcStates  cmp byte[GUICBHold],11  je near GUIProcStates  cmp byte[GUICBHold],5  je near CheatCodeRemove  cmp byte[GUICBHold],6  je near CheatCodeToggle  cmp byte[GUICBHold],7  je near CheatCodeSave  cmp byte[GUICBHold],8  je near CheatCodeLoad  cmp byte[GUICBHold],9  je near ProcessCheatCode  cmp byte[GUICBHold],33  je near CheatCodeFix  cmp byte[GUICBHold],14  je near SetDevice  cmp byte[GUICBHold],15  je near CalibrateDev1  cmp byte[GUICBHold],16  ; movie replay  jne .notMoviePlay  mov byte[GUICBHold],0  pushad  call MoviePlay  popad  ret.notMoviePlay  cmp byte[GUICBHold],17  jne .notMovieRecord0    ; movie record  mov byte[GUICBHold],0  pushad  call MovieRecord  popad  ret.notMovieRecord0  cmp byte[GUICBHold],18  ; movie stop  jne .notMovieStop  mov byte[GUICBHold],0  pushad  call MovieStop  popad  ret.notMovieStop  cmp byte[GUICBHold],19  ; overwrite zmv ? yes  jne .notMovieRecord1  mov byte[GUICBHold],0  pushad  call MovieRecord  popad  ret.notMovieRecord1  cmp byte[GUICBHold],20  ; overwrite zmv ? no  jne .notSkipMovie  mov byte[GUICBHold],0  pushad  call SkipMovie  popad  ret.notSkipMovie  cmp byte[GUICBHold],29  ; insert chapter  jne .noInsertChap  mov byte[GUICBHold],0  pushad  call MovieInsertChapter  popad  ret.noInsertChap  cmp byte[GUICBHold],30  ; back to previous chapter  jne .noPrevChap  mov byte[GUICBHold],0  mov byte[GUIQuit],2  pushad  call MovieSeekBehind  popad  ret.noPrevChap  cmp byte[GUICBHold],31  ; jump to next chapter  jne .noNextChap  mov byte[GUICBHold],0  mov byte[GUIQuit],2  pushad  call MovieSeekAhead  popad  ret.noNextChap  cmp byte[GUICBHold],32  ; append movie  jne .noAppend  mov byte[GUICBHold],0  mov byte[GUIQuit],2  pushad  call MovieAppend  popad  ret.noAppend  cmp byte[GUICBHold],34  ; dump raw  jne .noDumpRaw  mov byte[GUICBHold],0  mov byte[GUIQuit],2  pushad  call SetMovieForcedLength  call MovieDumpRaw  popad  cmp byte[MovieVideoMode],2  jb .nomencoder  cmp byte[mencoderExists],0  jne .nomencoder  call guimencodermsg.nomencoder  cmp byte[MovieAudio],0  je .nolame  cmp byte[MovieAudioCompress],0  je .nolame  cmp byte[lameExists],0  jne .nolame  call guilamemsg.nolame  ret.noDumpRaw  cmp byte[GUICBHold],35  ; stop dump  jne .noStopDumping  mov byte[GUICBHold],0  mov byte[GUIQuit],2  pushad  call MovieStop  popad  ret.noStopDumping  cmp byte[GUICBHold],40  je near SetAllKeys  cmp byte[GUICBHold],50  jne .notstartcheat  call CheatCodeSearchInit.notstartcheat  cmp byte[GUICBHold],60  jne .nocombclear  mov byte[GUIComboTextH],0  mov byte[GUINumCombo],0  mov dword[GUIComboKey],0.nocombclear  cmp byte[GUICBHold],61  jne .nocomboadd  cmp byte[NumCombo],50  je .nocomboadd  call ComboAdder.nocomboadd  cmp byte[GUICBHold],62  jne .nocomboreplace  cmp byte[NumCombo],0  je .nocomboreplace  call ComboReplace.nocomboreplace  cmp byte[GUICBHold],63  jne .nocomboremove  cmp byte[NumCombo],0  je .nocomboremove  call ComboRemoval.nocomboremove  cmp byte[GUICBHold],51  jne .notrestartcheat  mov byte[CheatWinMode],0  mov byte[CheatSearchStatus],0.notrestartcheat  cmp byte[GUICBHold],52  jne .notviewcheat  mov byte[CheatWinMode],2.notviewcheat  cmp byte[GUICBHold],53  jne .notsearchprocess  call CheatCodeSearchProcess.notsearchprocess  cmp byte[GUICBHold],54  jne .notreturnview  mov byte[CheatWinMode],1.notreturnview  cmp byte[GUICBHold],55  jne .notadd  cmp dword[NumCheatSrc],0  je .notadd  mov byte[CheatWinMode],3  mov byte[CurCStextpos],0  mov byte[CSInputDisplay],'_'  mov byte[CSInputDisplay+1],0  mov byte[CSDescDisplay],0.notadd  cmp byte[GUICBHold],56  jne .notreturnadd  mov byte[CheatWinMode],2.notreturnadd  cmp byte[GUICBHold],57  jne .noinsertscc  call AddCSCheatCode;    call InsertSearchDescription.noinsertscc%ifndef __MSDOS__  cmp byte[GUICBHold],65  jne .nozsnespage  pushad  call ZsnesPage  popad.nozsnespage  cmp byte[GUICBHold],66  jne .nodocspage  pushad  call DocsPage  popad.nodocspage%endif  mov byte[GUICBHold],0  ret.checkmenuboxclick  mov byte[GUIpclicked],1  xor eax,eax  mov al,[GUIwinptr]  or eax,eax  jz near .nomore  dec eax  xor ebx,ebx  mov bl,[GUIwinorder+eax]  mov ecx,[GUIwinposx+ebx*4]  cmp ecx,[GUImouseposx]  jge .noinsdwin  mov ecx,[GUIwinposy+ebx*4]  cmp ecx,[GUImouseposy]  jge .noinsdwin  mov ecx,[GUIwinposx+ebx*4]  add ecx,[GUIwinsizex+ebx*4]  cmp ecx,[GUImouseposx]  jle .noinsdwin  mov ecx,[GUIwinposy+ebx*4]  add ecx,[GUIwinsizey+ebx*4]  add ecx,10  cmp ecx,[GUImouseposy]  jle .noinsdwin  jmp GUIWinClicked.noinsdwin.nextwindowfind  or eax,eax  jz near .nomore  dec eax  mov bl,[GUIwinorder+eax]  mov ecx,[GUIwinposx+ebx*4]  cmp ecx,[GUImouseposx]  jge .nextwindowfind  mov ecx,[GUIwinposy+ebx*4]  cmp ecx,[GUImouseposy]  jge .nextwindowfind  mov ecx,[GUIwinposx+ebx*4]  add ecx,[GUIwinsizex+ebx*4]  cmp ecx,[GUImouseposx]  jle .nextwindowfind  mov ecx,[GUIwinposy+ebx*4]  add ecx,[GUIwinsizey+ebx*4]  add ecx,10  cmp ecx,[GUImouseposy]  jle .nextwindowfind  ; Shift all following windows downwards by 1.nextfind  inc eax  cmp al,[GUIwinptr]  je .foundend  mov cl,[GUIwinorder+eax]  mov [GUIwinorder+eax-1],cl  jmp .nextfind.foundend  mov byte[GUIpclicked],0  mov [GUIwinorder+eax-1],bl  ret.nomore  cmp dword[SantaPos],272  je .nosanta  cmp byte[ShowTimer],0  jne .nosanta  mov dword[MsgGiftLeft],36*4  mov byte[ShowTimer],1.nosanta  retGUIProcVideo:  mov byte[GUICBHold],0%ifdef __MSDOS__  mov al,[GUIcurrentvideocursloc]  cmp al,3  je .yes16b  cmp al,5  je .yes16b  cmp al,7  je .yes16b  cmp al,10  je .yes16b  cmp al,8  jne .no16b.yes16b%endif;    mov byte[newengen],0;    mov byte[cfgnewgfx],0;    jmp .skipno16b.no16b  mov byte[newengen],1.skipno16b  call guiprevideo  mov al,[cvidmode]  mov [.prevvid],al  mov al,[GUIcurrentvideocursloc]  mov [cvidmode],al  mov byte[ExitFromGUI],1  call initvideo  cmp byte[videotroub],1  je .failed  call GUISetPal  call guipostvideo  cmp dword[GUIkeydelay],0  je .failed2  mov dword[GUIkeydelay],0  ret.fullsc%ifndef __MSDOS__  mov [PrevFSMode],al%endif  ret.failed  mov byte[videotroub],0  mov al,[.prevvid]  mov [cvidmode],al  call initvideo  call GUISetPal  call guipostvideofail  mov dword[GUIkeydelay],0  ret.failed2  mov byte[videotroub],0  mov al,[.prevvid]  mov [cvidmode],al  call initvideo  call GUISetPal  call vidpastecopyscr  mov dword[GUIkeydelay],0  retSECTION .bss.prevvid resb 1SECTION .textGUINTSCReset:  cmp byte[GUICBHold],38  je .reset2  cmp byte[GUICBHold],39  jne .reset1.reset1  mov byte[NTSCBlend],0  mov byte[NTSCRef],0  mov byte[NTSCHue],0  mov byte[NTSCSat],0  mov byte[NTSCCont],0  mov byte[NTSCBright],0  mov byte[NTSCSharp],0  cmp byte[GUICBHold],37  je .reset2done.reset2  mov byte[NTSCGamma],0  mov byte[NTSCRes],0  mov byte[NTSCArt],0  mov byte[NTSCFringe],0  mov byte[NTSCBleed],0  mov byte[NTSCWarp],0.reset2done  mov byte[GUICBHold],0%ifndef __MSDOS__  pushad  call NTSCFilterInit  popad%endif  retGUINTSCPreset:  cmp byte[GUICBHold],81  jne near .nextpreset  mov byte[NTSCPresetVar],0  jmp .lastpreset.nextpreset  cmp byte[GUICBHold],82  jne near .nextpreset2  mov byte[NTSCPresetVar],1  jmp .lastpreset.nextpreset2  cmp byte[GUICBHold],83  jne near .nextpreset3  mov byte[NTSCPresetVar],2  jmp .lastpreset.nextpreset3  cmp byte[GUICBHold],84  jne near .lastpreset  mov byte[NTSCPresetVar],3.lastpreset%ifndef __MSDOS__  pushad  call NTSCFilterInit  popad%endif  mov byte[NTSCPresetVar],4  mov byte[GUICBHold],0  ret%ifndef __MSDOS__GUIProcCustomVideo:  pushad  call SetCustomXY  popad  mov byte[GUICBHold],0  mov dword[GUIInputBox],0%ifdef __WIN32__  cmp byte[cvidmode],37%else  cmp byte[cvidmode],20%endif  jl .notcustomres  mov byte[changeRes],1  pushad  call initwinvideo  call Clear2xSaIBuffer  popad.notcustomres  ret%endifNEWSYM SwitchFullScreen  pushad  call Clear2xSaIBuffer  xor eax,eax  mov al,[cvidmode]%ifndef __MSDOS__  cmp byte[GUIWFVID+eax],0  je .fullsc%else  jmp .fullsc%endif%ifndef __MSDOS__  mov al,[PrevWinMode]  mov [cvidmode],al%endif  call initvideo  popad  ret.fullsc%ifndef __MSDOS__  mov al,[PrevFSMode]  mov [cvidmode],al%endif  call initvideo  popad  retGUIWindowMove:  xor eax,eax  mov al,[GUIwinptr]  dec eax  xor ebx,ebx  mov bl,[GUIwinorder+eax]  mov eax,[GUImouseposx]  sub eax,[GUIwinposx+ebx*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+ebx*4]  cmp ebx,13  je near DisplayGUICheatSearchClick2  cmp ebx,7  je near DisplayGUICheatClick2  cmp ebx,5  je near DisplayGUIVideoClick2  cmp ebx,3  je near DisplayGUIInputClick2  cmp ebx,16  je near DisplayGUIComboClick2  jmp DisplayGUIConfirmClick2GUIWinClicked:  mov ecx,[GUImouseposx]  sub ecx,[GUIwinposx+ebx*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+ebx*4]  mov esi,ecx  sub esi,[GUIwinsizex+ebx*4]  add esi,10  cmp esi,-1  jle .noclose  cmp esi,10  jge .noclose  cmp edx,0  jle .noclose  cmp edx,10  jge .noclose  mov byte[GUIwinorder+eax],0  mov byte[GUIwinactiv+ebx],0  dec byte[GUIwinptr]  ret.noclose  cmp edx,10  jge .nomove  mov byte[GUIHold],1  mov ax,[GUIwinposx+ebx*4]  movsx eax,ax  mov [GUIHoldxm],eax  mov ax,[GUIwinposy+ebx*4]  movsx eax,ax  mov [GUIHoldym],eax  xor eax,eax  mov ax,[GUImouseposx]  mov [GUIHoldx],eax  mov ax,[GUImouseposy]  mov [GUIHoldy],eax  ret.nomove  mov eax,[GUImouseposx]  sub eax,[GUIwinposx+ebx*4]  mov edx,[GUImouseposy]  sub edx,[GUIwinposy+ebx*4]  cmp ebx,1  je near DisplayGUIConfirmClick  cmp ebx,2  je near DisplayGUIChoseSaveClick  cmp ebx,3  je near DisplayGUIInputClick  cmp ebx,4  je near DisplayGUIOptionClick  cmp ebx,5  je near DisplayGUIVideoClick  cmp ebx,6  je near DisplayGUISoundClick  cmp ebx,7  je near DisplayGUICheatClick  cmp ebx,8  je near DisplayNetOptnsClick  cmp ebx,9  je near DisplayGameOptnsClick  cmp ebx,10  je near DisplayGUIOptnsClick  cmp ebx,11  je near DisplayGUIAboutClick  cmp ebx,12  je near DisplayGUIResetClick  cmp ebx,13  je near DisplayGUICheatSearchClick  cmp ebx,14  je near DisplayGUIStatesClick  cmp ebx,15  je near DisplayGUIMovieClick  cmp ebx,16  je near DisplayGUIComboClick  cmp ebx,17  je near DisplayGUIAddOnClick  cmp ebx,18  je near DisplayGUIChipClick  cmp ebx,19  je near DisplayGUIPathsClick  cmp ebx,20  je near DisplayGUISaveClick  cmp ebx,21  je near DisplayGUISpeedClick  ret%macro GUIClickArea 5  cmp eax,%1  jl %5  cmp edx,%2  jl %5  cmp eax,%3  jg %5  cmp edx,%4  jg %5%endmacro%macro GUIClickCButton 3  GUIClickArea %1+1,%2+3,%1+6,%2+8,%%noclick  xor %3,1%%noclick%endmacro%macro GUIClickCButtonf 4  GUIClickArea %1+1,%2+3,%1+6,%2+8,%%noclick  xor %3,1%ifdef __WIN32__  pushad  call %4  popad%endif%%noclick

⌨️ 快捷键说明

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