Trashed snesmouse, now using devices. pagefault: please look over.
This commit is contained in:
@@ -33,7 +33,8 @@ NEWSYM KeyBGDisble2, dd 4
|
|||||||
NEWSYM KeyBGDisble3, dd 5
|
NEWSYM KeyBGDisble3, dd 5
|
||||||
NEWSYM KeySprDisble, dd 6
|
NEWSYM KeySprDisble, dd 6
|
||||||
NEWSYM KeyResetAll, dd 7
|
NEWSYM KeyResetAll, dd 7
|
||||||
NEWSYM KeyExtraEnab, dd 8
|
NEWSYM KeyExtraEnab1, dd 0
|
||||||
|
NEWSYM KeyExtraEnab2, dd 0
|
||||||
NEWSYM KeyNewGfxSwt, dd 9
|
NEWSYM KeyNewGfxSwt, dd 9
|
||||||
NEWSYM KeyWinDisble, dd 10
|
NEWSYM KeyWinDisble, dd 10
|
||||||
NEWSYM KeyOffsetMSw, dd 11
|
NEWSYM KeyOffsetMSw, dd 11
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ EXTSYM cachesprites,opcjmptab,CheatOn
|
|||||||
EXTSYM INTEnab,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1,ReadInputDevice
|
EXTSYM INTEnab,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1,ReadInputDevice
|
||||||
EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi
|
EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi
|
||||||
EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen
|
EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen
|
||||||
EXTSYM oamaddr,oamaddrs,resolutn,showvideo,snesmouse,starthdma,switchtonmi
|
EXTSYM oamaddr,oamaddrs,resolutn,showvideo,starthdma,switchtonmi
|
||||||
EXTSYM switchtovirq,totlines,updatetimer,SA1Swap,SA1DoIRQ,JoyAOrig,JoyANow
|
EXTSYM switchtovirq,totlines,updatetimer,SA1Swap,SA1DoIRQ,JoyAOrig,JoyANow
|
||||||
EXTSYM JoyBOrig,JoyBNow,JoyCOrig,JoyCNow,JoyDOrig,JoyDNow,JoyEOrig,JoyENow
|
EXTSYM JoyBOrig,JoyBNow,JoyCOrig,JoyCNow,JoyDOrig,JoyDNow,JoyEOrig,JoyENow
|
||||||
EXTSYM SA1Message,MultiTapStat,idledetectspc,SA1Control,SA1Enable,SA1IRQEnable
|
EXTSYM SA1Message,MultiTapStat,idledetectspc,SA1Control,SA1Enable,SA1IRQEnable
|
||||||
@@ -54,6 +54,7 @@ EXTSYM MovieSeekBehind,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate
|
|||||||
EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead
|
EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead
|
||||||
EXTSYM ResetDuringMovie,EMUPauseKey,INCRFrameKey,MovieWaiting,NoInputRead
|
EXTSYM ResetDuringMovie,EMUPauseKey,INCRFrameKey,MovieWaiting,NoInputRead
|
||||||
EXTSYM AllocatedRewindStates,PauseFrameMode,RestorePauseFrame,BackupPauseFrame
|
EXTSYM AllocatedRewindStates,PauseFrameMode,RestorePauseFrame,BackupPauseFrame
|
||||||
|
EXTSYM device2
|
||||||
|
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
EXTSYM dssel,Game60hzcall,NextLineStart,FlipWait,LastLineStart
|
EXTSYM dssel,Game60hzcall,NextLineStart,FlipWait,LastLineStart
|
||||||
@@ -1365,11 +1366,18 @@ NEWSYM cpuover
|
|||||||
jmp DosExit
|
jmp DosExit
|
||||||
.noprocmovie
|
.noprocmovie
|
||||||
|
|
||||||
cmp byte[snesmouse],5
|
cmp byte[device2],3
|
||||||
jne .nolethalen
|
jne .nolethalen1
|
||||||
mov eax,[LethEnData]
|
mov eax,[LethEnData]
|
||||||
mov [JoyBNow],eax
|
mov [JoyBNow],eax
|
||||||
.nolethalen
|
.nolethalen1
|
||||||
|
;Todo, add second gun...
|
||||||
|
cmp byte[device2],4
|
||||||
|
jne .nolethalen2
|
||||||
|
mov eax,[LethEnData]
|
||||||
|
mov [JoyBNow],eax
|
||||||
|
.nolethalen2
|
||||||
|
|
||||||
|
|
||||||
test byte[INTEnab],1
|
test byte[INTEnab],1
|
||||||
jz .noresetjoy
|
jz .noresetjoy
|
||||||
@@ -2130,11 +2138,16 @@ NEWSYM execsingle
|
|||||||
mov byte[JoyCRead],0
|
mov byte[JoyCRead],0
|
||||||
.noresetjoy
|
.noresetjoy
|
||||||
|
|
||||||
cmp byte[snesmouse],4
|
cmp byte[device2],3
|
||||||
jne .nolethalen
|
jne .nolethalen1
|
||||||
mov eax,[LethEnData]
|
mov eax,[LethEnData]
|
||||||
mov [JoyBNow],eax
|
mov [JoyBNow],eax
|
||||||
.nolethalen
|
.nolethalen1
|
||||||
|
cmp byte[device2],4
|
||||||
|
jne .nolethalen2
|
||||||
|
mov eax,[LethEnData]
|
||||||
|
mov [JoyBNow],eax
|
||||||
|
.nolethalen2
|
||||||
|
|
||||||
mov byte[MultiTapStat],80h
|
mov byte[MultiTapStat],80h
|
||||||
mov byte[NMIEnab],81h
|
mov byte[NMIEnab],81h
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs
|
EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs
|
||||||
EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset,curypos,cycpl
|
EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset,curypos,cycpl
|
||||||
EXTSYM debuggeron,pdh,vram,romispal,reg1read,spcnumread,spcon,reg2read,reg3read
|
EXTSYM debuggeron,pdh,vram,romispal,reg1read,spcnumread,spcon,reg2read,reg3read
|
||||||
EXTSYM reg4read,JoyEOrig,JoyENow,snesmouse,cycphb,joycontren,totlines,DosExit
|
EXTSYM reg4read,JoyEOrig,JoyENow,device2,cycphb,joycontren,totlines,DosExit
|
||||||
EXTSYM invalid,numinst,previdmode,printhex,printnum
|
EXTSYM invalid,numinst,previdmode,printhex,printnum
|
||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
@@ -908,7 +908,7 @@ SECTION .text
|
|||||||
|
|
||||||
; Joystick Data for controller 2 and 4
|
; Joystick Data for controller 2 and 4
|
||||||
reg4017r:
|
reg4017r:
|
||||||
cmp byte[snesmouse],0
|
cmp byte[device2],0
|
||||||
jne .nomultitap
|
jne .nomultitap
|
||||||
cmp byte[MultiTap],1
|
cmp byte[MultiTap],1
|
||||||
je .multitap
|
je .multitap
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ EXTSYM RewindStates,RewindFrames,PauseRewind,PauseLoad,SRAMState,AutoState
|
|||||||
EXTSYM LatestSave,SRAMSave5Sec,AutoIncSaveSlot,pl3selk,pl4selk,pl5selk
|
EXTSYM LatestSave,SRAMSave5Sec,AutoIncSaveSlot,pl3selk,pl4selk,pl5selk
|
||||||
EXTSYM pl1Atk,pl2Atk,pl3Atk,pl4Atk,pl5Atk,pl3contrl,KeyUsePlayer1234
|
EXTSYM pl1Atk,pl2Atk,pl3Atk,pl4Atk,pl5Atk,pl3contrl,KeyUsePlayer1234
|
||||||
EXTSYM pl1Ltk,pl2Ltk,pl3Ltk,pl4Ltk,pl5Ltk,pl4contrl,KeyResetAll,CalibXmin
|
EXTSYM pl1Ltk,pl2Ltk,pl3Ltk,pl4Ltk,pl5Ltk,pl4contrl,KeyResetAll,CalibXmin
|
||||||
EXTSYM pl5contrl,KeyExtraEnab,CalibYmin
|
EXTSYM pl5contrl,KeyExtraEnab1,KeyExtraEnab2,CalibYmin
|
||||||
EXTSYM pl1ULk,pl2ULk,pl3ULk,pl4ULk,pl5ULk,KeyVolDown,KeyVolUp,CalibXmax
|
EXTSYM pl1ULk,pl2ULk,pl3ULk,pl4ULk,pl5ULk,KeyVolDown,KeyVolUp,CalibXmax
|
||||||
EXTSYM CalibYmax,CalibXmin209,CalibXmax209,CalibYmin209,CalibYmax209
|
EXTSYM CalibYmax,CalibXmin209,CalibXmax209,CalibYmin209,CalibYmax209
|
||||||
EXTSYM KeyBGDisble0,KeyBGDisble1,KeyBGDisble2,KeyBGDisble3,KeySprDisble
|
EXTSYM KeyBGDisble0,KeyBGDisble1,KeyBGDisble2,KeyBGDisble3,KeySprDisble
|
||||||
|
|||||||
@@ -2869,7 +2869,7 @@ DisplayGameOptnsClick:
|
|||||||
|
|
||||||
DGOptnsProcBox 78,100,[KeyUsePlayer1234]
|
DGOptnsProcBox 78,100,[KeyUsePlayer1234]
|
||||||
DGOptnsProcBox 78,110,[KeyResetAll]
|
DGOptnsProcBox 78,110,[KeyResetAll]
|
||||||
DGOptnsProcBox 78,120,[KeyExtraEnab]
|
;DGOptnsProcBox 78,120,[KeyExtraEnab]
|
||||||
DGOptnsProcBox 78,130,[KeyDisplayFPS]
|
DGOptnsProcBox 78,130,[KeyDisplayFPS]
|
||||||
DGOptnsProcBox 78,140,[KeyIncreaseGamma]
|
DGOptnsProcBox 78,140,[KeyIncreaseGamma]
|
||||||
DGOptnsProcBox 78,150,[KeyDecreaseGamma]
|
DGOptnsProcBox 78,150,[KeyDecreaseGamma]
|
||||||
|
|||||||
@@ -2989,7 +2989,7 @@ DisplayGameOptns: ; Misc Key Window
|
|||||||
|
|
||||||
DDrawBox 9,77,99,[KeyUsePlayer1234]
|
DDrawBox 9,77,99,[KeyUsePlayer1234]
|
||||||
DDrawBox 9,77,109,[KeyResetAll]
|
DDrawBox 9,77,109,[KeyResetAll]
|
||||||
DDrawBox 9,77,119,[KeyExtraEnab]
|
;DDrawBox 9,77,119,[KeyExtraEnab]
|
||||||
DDrawBox 9,77,129,[KeyDisplayFPS]
|
DDrawBox 9,77,129,[KeyDisplayFPS]
|
||||||
DDrawBox 9,77,139,[KeyIncreaseGamma]
|
DDrawBox 9,77,139,[KeyIncreaseGamma]
|
||||||
DDrawBox 9,77,149,[KeyDecreaseGamma]
|
DDrawBox 9,77,149,[KeyDecreaseGamma]
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ EXTSYM pl3Lk,pl3Rk,pl3Xk,pl3Yk,pl3contrl,pl3downk,pl3leftk,pl3rightk,pl3selk
|
|||||||
EXTSYM pl3startk,pl3upk,pl4Ak,pl4Bk,pl4Lk,pl4Rk,pl4Xk,pl4Yk,pl4contrl,pl4downk
|
EXTSYM pl3startk,pl3upk,pl4Ak,pl4Bk,pl4Lk,pl4Rk,pl4Xk,pl4Yk,pl4contrl,pl4downk
|
||||||
EXTSYM pl4leftk,pl4rightk,pl4selk,pl4startk,pl4upk,mousebuttons,mousexdir,pl5Ak
|
EXTSYM pl4leftk,pl4rightk,pl4selk,pl4startk,pl4upk,mousebuttons,mousexdir,pl5Ak
|
||||||
EXTSYM pl5Bk,pl5Lk,pl5Rk,pl5Xk,pl5Yk,pl5contrl,pl5downk,pl5leftk,pl5rightk
|
EXTSYM pl5Bk,pl5Lk,pl5Rk,pl5Xk,pl5Yk,pl5contrl,pl5downk,pl5leftk,pl5rightk
|
||||||
EXTSYM pl5selk,pl5startk,pl5upk,mouseydir,mousexpos,mouseypos,snesmouse,sram
|
EXTSYM pl5selk,pl5startk,pl5upk,mouseydir,mousexpos,mouseypos,sram
|
||||||
EXTSYM processmouse,ssautosw,GUIDelayB,pl12s34,pl1Xtk,pl1Ytk,pl1Atk,pl1Btk
|
EXTSYM ssautosw,GUIDelayB,pl12s34,pl1Xtk,pl1Ytk,pl1Atk,pl1Btk
|
||||||
EXTSYM pl2Xtk,pl2Ytk,pl2Atk,pl2Btk,pl3Xtk,pl3Ytk,pl3Atk,pl3Btk,pl4Xtk,pl4Ytk
|
EXTSYM pl2Xtk,pl2Ytk,pl2Atk,pl2Btk,pl3Xtk,pl3Ytk,pl3Atk,pl3Btk,pl4Xtk,pl4Ytk
|
||||||
EXTSYM pl4Atk,pl4Btk,pl1ULk,pl1URk,pl1DLk,pl1DRk,pl2ULk,pl2URk,pl2DLk,pl2DRk
|
EXTSYM pl4Atk,pl4Btk,pl1ULk,pl1URk,pl1DLk,pl1DRk,pl2ULk,pl2URk,pl2DLk,pl2DRk
|
||||||
EXTSYM pl3ULk,pl3URk,pl3DLk,pl3DRk,pl4ULk,pl4URk,pl4DLk,pl4DRk,pl5ULk,pl5URk
|
EXTSYM pl3ULk,pl3URk,pl3DLk,pl3DRk,pl4ULk,pl4URk,pl4DLk,pl4DRk,pl5ULk,pl5URk
|
||||||
@@ -55,6 +55,7 @@ EXTSYM GetCurDir,SRAMChdir,cfgloadsdir,fnamest,statefileloc,InitDir,InitDrive
|
|||||||
EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16
|
EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16
|
||||||
EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,wramreadptr
|
EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,wramreadptr
|
||||||
EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw,AllowUDLR
|
EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw,AllowUDLR
|
||||||
|
EXTSYM device1,device2,processmouse1,processmouse2
|
||||||
|
|
||||||
;initc.c
|
;initc.c
|
||||||
EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize
|
EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize
|
||||||
@@ -719,21 +720,10 @@ NEWSYM ReadInputDevice
|
|||||||
mov dword[JoyAOrig],0
|
mov dword[JoyAOrig],0
|
||||||
mov dword[JoyBOrig],0
|
mov dword[JoyBOrig],0
|
||||||
|
|
||||||
cmp byte[snesmouse],3
|
|
||||||
jne .nomultimouse
|
|
||||||
mov byte[MouseToRead],1
|
|
||||||
call processmouse
|
|
||||||
ProcSNESMouse JoyAOrig
|
|
||||||
mov byte[MouseToRead],2
|
|
||||||
call processmouse
|
|
||||||
ProcSNESMouse JoyBOrig
|
|
||||||
jmp .noinput2
|
|
||||||
.nomultimouse
|
|
||||||
|
|
||||||
; Get Player1 input device
|
; Get Player1 input device
|
||||||
cmp byte[snesmouse],1
|
cmp byte[device1],1
|
||||||
jne .nomouse1
|
jne .nomouse1
|
||||||
call processmouse
|
call processmouse1
|
||||||
ProcSNESMouse JoyAOrig
|
ProcSNESMouse JoyAOrig
|
||||||
jmp .noinput1
|
jmp .noinput1
|
||||||
.nomouse1
|
.nomouse1
|
||||||
@@ -781,15 +771,16 @@ NEWSYM ReadInputDevice
|
|||||||
and dword[JoyAOrig],7FFFFFFFh
|
and dword[JoyAOrig],7FFFFFFFh
|
||||||
.noinput1
|
.noinput1
|
||||||
mov dword[JoyBOrig],0
|
mov dword[JoyBOrig],0
|
||||||
cmp byte[snesmouse],2
|
cmp byte[device2],1
|
||||||
jne .nomouse2
|
jne .nomouse2
|
||||||
call processmouse
|
mov byte[MouseToRead],1
|
||||||
|
call processmouse2
|
||||||
ProcSNESMouse JoyBOrig
|
ProcSNESMouse JoyBOrig
|
||||||
jmp .noinput2
|
jmp .noinput2
|
||||||
.nomouse2
|
.nomouse2
|
||||||
cmp byte[snesmouse],4
|
cmp byte[device2],2
|
||||||
jne .nosuperscope
|
jne .nosuperscope
|
||||||
call processmouse
|
call processmouse2
|
||||||
mov byte[JoyBOrig+2],0FFh
|
mov byte[JoyBOrig+2],0FFh
|
||||||
mov al,[ssautosw]
|
mov al,[ssautosw]
|
||||||
test byte[mousebuttons],01h
|
test byte[mousebuttons],01h
|
||||||
@@ -807,9 +798,9 @@ NEWSYM ReadInputDevice
|
|||||||
mov [JoyBOrig+3],al
|
mov [JoyBOrig+3],al
|
||||||
jmp .noinput2
|
jmp .noinput2
|
||||||
.nosuperscope
|
.nosuperscope
|
||||||
cmp byte[snesmouse],5
|
cmp byte[device2],3
|
||||||
jne .nolethalen
|
jne .nolethalen
|
||||||
call processmouse
|
call processmouse2
|
||||||
mov eax,[romdata]
|
mov eax,[romdata]
|
||||||
cmp dword[eax+1000h],0AD20C203h
|
cmp dword[eax+1000h],0AD20C203h
|
||||||
jne .not
|
jne .not
|
||||||
@@ -982,24 +973,17 @@ NEWSYM ReadInputDevice
|
|||||||
or dword[JoyEOrig],00008000h ; Joystick Enable
|
or dword[JoyEOrig],00008000h ; Joystick Enable
|
||||||
.noinput5
|
.noinput5
|
||||||
cmp byte[pl12s34],1
|
cmp byte[pl12s34],1
|
||||||
je .pl1234
|
jne .nop24
|
||||||
.nopl1234
|
cmp byte[device1],0
|
||||||
ret
|
jne .nop13
|
||||||
.pl1234
|
|
||||||
cmp byte[snesmouse],5
|
|
||||||
je .nopl1234
|
|
||||||
cmp byte[snesmouse],1
|
|
||||||
je .nopl13
|
|
||||||
mov eax,[JoyCOrig]
|
mov eax,[JoyCOrig]
|
||||||
or [JoyAOrig],eax
|
or [JoyAOrig],eax
|
||||||
.nopl13
|
.nop13
|
||||||
cmp byte[snesmouse],2
|
cmp byte[device2],0
|
||||||
je .nopl24
|
jne .nop24
|
||||||
cmp byte[snesmouse],4
|
|
||||||
je .nopl24
|
|
||||||
mov eax,[JoyDOrig]
|
mov eax,[JoyDOrig]
|
||||||
or [JoyBOrig],eax
|
or [JoyBOrig],eax
|
||||||
.nopl24
|
.nop24
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
|
|||||||
@@ -1099,8 +1099,8 @@ bool NSRTHead(unsigned char *ROM)
|
|||||||
extern bool EMUPause;
|
extern bool EMUPause;
|
||||||
extern bool Sup48mbit;
|
extern bool Sup48mbit;
|
||||||
extern bool Sup16mbit;
|
extern bool Sup16mbit;
|
||||||
extern unsigned char snesmouse;
|
extern unsigned char device1, device2;
|
||||||
unsigned char snesinputdefault;
|
unsigned char snesinputdefault1, snesinputdefault2;
|
||||||
bool input1gp;
|
bool input1gp;
|
||||||
bool input1mouse;
|
bool input1mouse;
|
||||||
bool input2gp;
|
bool input2gp;
|
||||||
@@ -1201,7 +1201,8 @@ void loadROM()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
snesmouse = 0;
|
device1 = 0;
|
||||||
|
device2 = 0;
|
||||||
input1gp = true;
|
input1gp = true;
|
||||||
input1mouse = true;
|
input1mouse = true;
|
||||||
input2gp = true;
|
input2gp = true;
|
||||||
@@ -1226,7 +1227,7 @@ void loadROM()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x01: //Mouse port 2
|
case 0x01: //Mouse port 2
|
||||||
snesmouse = 2;
|
device2 = 1;
|
||||||
input2gp = false;
|
input2gp = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
@@ -1234,7 +1235,7 @@ void loadROM()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x03: //Super Scope port 2
|
case 0x03: //Super Scope port 2
|
||||||
snesmouse = 3;
|
device2 = 2;
|
||||||
input2gp = false;
|
input2gp = false;
|
||||||
input2mouse = false;
|
input2mouse = false;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
@@ -1242,14 +1243,14 @@ void loadROM()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x04: //Super Scope or Gamepad port 2
|
case 0x04: //Super Scope or Gamepad port 2
|
||||||
snesmouse = 3;
|
device2 = 2;
|
||||||
input2mouse = false;
|
input2mouse = false;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
input1mouse = false;
|
input1mouse = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x05: //Justifier (Lethal Enforcer gun) port 2
|
case 0x05: //Justifier (Lethal Enforcer gun) port 2
|
||||||
snesmouse = 4;
|
device2 = 3;
|
||||||
input2mouse = false;
|
input2mouse = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
input1mouse = false;
|
input1mouse = false;
|
||||||
@@ -1264,14 +1265,14 @@ void loadROM()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x08: //Mouse or Multitap port 2
|
case 0x08: //Mouse or Multitap port 2
|
||||||
snesmouse = 2;
|
device2 = 1;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
input1mouse = false;
|
input1mouse = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x10: //Mouse port 1
|
case 0x10: //Mouse port 1
|
||||||
snesmouse = 1;
|
device1 = 1;
|
||||||
input2mouse = false;
|
input2mouse = false;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
@@ -1279,14 +1280,15 @@ void loadROM()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x20: //Mouse or Gamepad port 1
|
case 0x20: //Mouse or Gamepad port 1
|
||||||
snesmouse = 1;
|
device1 = 1;
|
||||||
input2mouse = false;
|
input2mouse = false;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x22: //Mouse or Gamepad port 1 and port 2
|
case 0x22: //Mouse or Gamepad port 1 and port 2
|
||||||
snesmouse = 1;
|
device1 = 1;
|
||||||
|
device2 = 1;
|
||||||
input2just = false;
|
input2just = false;
|
||||||
input2scope = false;
|
input2scope = false;
|
||||||
break;
|
break;
|
||||||
@@ -1303,7 +1305,8 @@ void loadROM()
|
|||||||
memmove((unsigned char *)romdata, ((unsigned char *)romdata)+512, curromspace);
|
memmove((unsigned char *)romdata, ((unsigned char *)romdata)+512, curromspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
snesinputdefault = snesmouse;
|
snesinputdefault1 = device1;
|
||||||
|
snesinputdefault2 = device2;
|
||||||
|
|
||||||
SplitSupport();
|
SplitSupport();
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ unsigned char Sup48mbit = 1; // Support 48mbit roms
|
|||||||
unsigned char Sup16mbit = 0; // Support 16mbit roms
|
unsigned char Sup16mbit = 0; // Support 16mbit roms
|
||||||
unsigned char dmadeddis = 0; // DMA deduction
|
unsigned char dmadeddis = 0; // DMA deduction
|
||||||
unsigned char antienab = 0; // Interpolation Enabled
|
unsigned char antienab = 0; // Interpolation Enabled
|
||||||
unsigned char snesmouse = 0; // Mouse status (1 = enabled)
|
|
||||||
unsigned char device1 = 0; // Device in port 1? 0 = Gamepad
|
unsigned char device1 = 0; // Device in port 1? 0 = Gamepad
|
||||||
unsigned char device2 = 0; // Device in port 2?
|
unsigned char device2 = 0; // Device in port 2?
|
||||||
unsigned char OldStyle = 1; // Old style joystick on
|
unsigned char OldStyle = 1; // Old style joystick on
|
||||||
@@ -176,42 +175,56 @@ extern bool input2gp;
|
|||||||
extern bool input2mouse;
|
extern bool input2mouse;
|
||||||
extern bool input2scope;
|
extern bool input2scope;
|
||||||
extern bool input2just;
|
extern bool input2just;
|
||||||
extern unsigned char snesmouse;
|
void cycleinputdevice1()
|
||||||
void cycleinputdevice()
|
|
||||||
{
|
{
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
snesmouse++;
|
device1++;
|
||||||
if (snesmouse >= 6)
|
if (device1 >= 2)
|
||||||
{
|
{
|
||||||
snesmouse = 0;
|
device1 = 0;
|
||||||
}
|
}
|
||||||
if (snesmouse == 0)
|
if (device1 == 0)
|
||||||
{
|
{
|
||||||
if (input1gp && input2gp) { return; }
|
if (input1gp) { return; }
|
||||||
snesmouse++;
|
device1++;
|
||||||
}
|
}
|
||||||
if (snesmouse == 1)
|
if (device1 == 1)
|
||||||
{
|
{
|
||||||
if (input1mouse) { return; }
|
if (input1mouse) { return; }
|
||||||
snesmouse++;
|
|
||||||
}
|
}
|
||||||
if (snesmouse == 2)
|
}
|
||||||
|
}
|
||||||
|
void cycleinputdevice2()
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
device2++;
|
||||||
|
if (device2 >= 5)
|
||||||
|
{
|
||||||
|
device2 = 0;
|
||||||
|
}
|
||||||
|
if (device2 == 0)
|
||||||
|
{
|
||||||
|
if (input2gp) { return; }
|
||||||
|
device2++;
|
||||||
|
}
|
||||||
|
if (device2 == 1)
|
||||||
{
|
{
|
||||||
if (input2mouse) { return; }
|
if (input2mouse) { return; }
|
||||||
snesmouse++;
|
device2++;
|
||||||
}
|
}
|
||||||
if (snesmouse == 3)
|
if (device2 == 2)
|
||||||
{
|
|
||||||
if (input2mouse) { return; }
|
|
||||||
snesmouse++;
|
|
||||||
}
|
|
||||||
if (snesmouse == 4)
|
|
||||||
{
|
{
|
||||||
if (input2scope) { return; }
|
if (input2scope) { return; }
|
||||||
snesmouse++;
|
device2++;
|
||||||
}
|
}
|
||||||
if (snesmouse == 5)
|
if (device2 == 3)
|
||||||
|
{
|
||||||
|
if (input2just) { return; }
|
||||||
|
device2++;
|
||||||
|
}
|
||||||
|
if (device2 == 4)
|
||||||
{
|
{
|
||||||
if (input2just) { return; }
|
if (input2just) { return; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ EXTSYM Voice6Status,Voice7Disable,Voice7Status,bgcmsung,bgmode,cbackofsaddr
|
|||||||
EXTSYM cgmod,debuggeron,disableeffects,frameskip,frskipper
|
EXTSYM cgmod,debuggeron,disableeffects,frameskip,frskipper
|
||||||
EXTSYM maxbr,modeused,mousexloc,mouseyloc,newengen
|
EXTSYM maxbr,modeused,mousexloc,mouseyloc,newengen
|
||||||
EXTSYM nextdrawallng,oamaddr,pal16b,pal16bxcl,pressed,prevbright,prevpal
|
EXTSYM nextdrawallng,oamaddr,pal16b,pal16bxcl,pressed,prevbright,prevpal
|
||||||
EXTSYM scaddsngb,scaddtngb,scaddtngbx,scfbl,scrndis,snesmouse,sprprdrn,t1cc
|
EXTSYM scaddsngb,scaddtngb,scaddtngbx,scfbl,scrndis,sprprdrn,t1cc
|
||||||
EXTSYM vidbright,vidbuffer,vidbufferm,vidbufferofsa,vidbufferofsb,vidmemch2
|
EXTSYM vidbright,vidbuffer,vidbufferm,vidbufferofsa,vidbufferofsb,vidmemch2
|
||||||
EXTSYM statefileloc,fnamest,GUIClick,MousePRClick,ngmsdraw,cvidmode
|
EXTSYM statefileloc,fnamest,GUIClick,MousePRClick,ngmsdraw,cvidmode
|
||||||
EXTSYM KeyDisableSC0,KeyDisableSC1,KeyDisableSC2,KeyDisableSC3,KeyDisableSC4
|
EXTSYM KeyDisableSC0,KeyDisableSC1,KeyDisableSC2,KeyDisableSC3,KeyDisableSC4
|
||||||
@@ -46,9 +46,11 @@ EXTSYM FPSOn,pl12s34,bg1ptr,bg2ptr,bg3ptr,bg4ptr,cachebg1,resolutn,curypos
|
|||||||
EXTSYM oamram,objhipr,objptr,objptrn,objsize1,objsize2,spritetablea,sprleftpr
|
EXTSYM oamram,objhipr,objptr,objptrn,objsize1,objsize2,spritetablea,sprleftpr
|
||||||
EXTSYM sprlefttot,vcache4b,objadds1,objadds2,objmovs1,objmovs2,tltype4b
|
EXTSYM sprlefttot,vcache4b,objadds1,objadds2,objmovs1,objmovs2,tltype4b
|
||||||
EXTSYM vidmemch4,vram,bgptr,bgptrc,bgptrd,curtileptr,vcache2b,vcache8b,vidmemch8
|
EXTSYM vidmemch4,vram,bgptr,bgptrc,bgptrd,curtileptr,vcache2b,vcache8b,vidmemch8
|
||||||
EXTSYM offsetmshl,NextLineCache,tltype2b,tltype8b,objwlrpos,snesinputdefault
|
EXTSYM offsetmshl,NextLineCache,tltype2b,tltype8b,objwlrpos
|
||||||
EXTSYM cycleinputdevice,SRAMChdir,EmuSpeed,SDRatio,FFRatio,DisplayBatteryStatus
|
EXTSYM cycleinputdevice,SRAMChdir,EmuSpeed,SDRatio,FFRatio,DisplayBatteryStatus
|
||||||
EXTSYM KeyResetSpeed,KeyEmuSpeedUp,KeyEmuSpeedDown,KeyDisplayBatt,EMUPause
|
EXTSYM KeyResetSpeed,KeyEmuSpeedUp,KeyEmuSpeedDown,KeyDisplayBatt,EMUPause
|
||||||
|
EXTSYM device1,device2,snesinputdefault1,snesinputdefault2
|
||||||
|
EXTSYM KeyExtraEnab1,KeyExtraEnab2,cycleinputdevice1,cycleinputdevice2
|
||||||
|
|
||||||
; Process stuff & Cache sprites
|
; Process stuff & Cache sprites
|
||||||
|
|
||||||
@@ -408,7 +410,9 @@ NEWSYM cachevideo
|
|||||||
push edx
|
push edx
|
||||||
cmp byte[GUIClick],0
|
cmp byte[GUIClick],0
|
||||||
je .noclick
|
je .noclick
|
||||||
cmp byte[snesmouse],0
|
cmp byte[device1],0
|
||||||
|
jne .noclick
|
||||||
|
cmp byte[device2],0
|
||||||
jne .noclick
|
jne .noclick
|
||||||
call Get_MouseData
|
call Get_MouseData
|
||||||
test bx,02h
|
test bx,02h
|
||||||
@@ -528,46 +532,60 @@ NEWSYM cachevideo
|
|||||||
mov byte[disableeffects],0
|
mov byte[disableeffects],0
|
||||||
mov byte[osm2dis],0
|
mov byte[osm2dis],0
|
||||||
mov byte[EmuSpeed],29
|
mov byte[EmuSpeed],29
|
||||||
mov al,[snesinputdefault]
|
mov al,[snesinputdefault1]
|
||||||
mov [snesmouse],al
|
mov [device1],al
|
||||||
|
mov al,[snesinputdefault2]
|
||||||
|
mov [device2],al
|
||||||
mov dword[Msgptr],panickeyp
|
mov dword[Msgptr],panickeyp
|
||||||
mov eax,[MsgCount]
|
mov eax,[MsgCount]
|
||||||
mov [MessageOn],eax
|
mov [MessageOn],eax
|
||||||
.nodis6
|
.nodis6
|
||||||
mov eax,[KeyExtraEnab]
|
mov eax,[KeyExtraEnab1]
|
||||||
test byte[pressed+eax],1
|
test byte[pressed+eax],1
|
||||||
je near .nodis7
|
je near .nodisd1
|
||||||
mov byte[pressed+eax],2
|
mov byte[pressed+eax],2
|
||||||
pushad
|
pushad
|
||||||
call cycleinputdevice
|
call cycleinputdevice1
|
||||||
popad
|
popad
|
||||||
mov dword[Msgptr],snesle
|
|
||||||
cmp byte[snesmouse],0
|
|
||||||
jne .nom0
|
|
||||||
mov dword[Msgptr],snesmousep0
|
mov dword[Msgptr],snesmousep0
|
||||||
.nom0
|
cmp byte[device1],1
|
||||||
cmp byte[snesmouse],1
|
jne .nom11
|
||||||
jne .nom1
|
|
||||||
mov dword[Msgptr],snesmousep1
|
mov dword[Msgptr],snesmousep1
|
||||||
.nom1
|
.nom11
|
||||||
cmp byte[snesmouse],2
|
|
||||||
jne .nom2
|
|
||||||
mov dword[Msgptr],snesmousep2
|
|
||||||
.nom2
|
|
||||||
cmp byte[snesmouse],3
|
|
||||||
jne .nom3
|
|
||||||
mov dword[Msgptr],snesmouse12
|
|
||||||
.nom3
|
|
||||||
cmp byte[snesmouse],4
|
|
||||||
jne .nom4
|
|
||||||
mov dword[Msgptr],snesss
|
|
||||||
mov word[mousexloc],128
|
|
||||||
mov word[mouseyloc],112
|
|
||||||
.nom4
|
|
||||||
mov eax,[MsgCount]
|
mov eax,[MsgCount]
|
||||||
mov [MessageOn],eax
|
mov [MessageOn],eax
|
||||||
call Get_MousePositionDisplacement
|
call Get_MousePositionDisplacement
|
||||||
.nodis7
|
.nodisd1
|
||||||
|
mov eax,[KeyExtraEnab2]
|
||||||
|
test byte[pressed+eax],1
|
||||||
|
je near .nodisd2
|
||||||
|
mov byte[pressed+eax],2
|
||||||
|
pushad
|
||||||
|
call cycleinputdevice2
|
||||||
|
popad
|
||||||
|
mov dword[Msgptr],snesmousep0
|
||||||
|
cmp byte[device2],1
|
||||||
|
jne .nom21
|
||||||
|
mov dword[Msgptr],snesmousep2
|
||||||
|
.nom21
|
||||||
|
cmp byte[device2],2
|
||||||
|
jne .nom22
|
||||||
|
mov dword[Msgptr],snesss
|
||||||
|
mov word[mousexloc],128
|
||||||
|
mov word[mouseyloc],112
|
||||||
|
.nom22
|
||||||
|
cmp byte[device2],3
|
||||||
|
jne .nom23
|
||||||
|
mov dword[Msgptr],snesle1
|
||||||
|
.nom23
|
||||||
|
cmp byte[device2],4
|
||||||
|
jne .nom24
|
||||||
|
mov dword[Msgptr],snesle2
|
||||||
|
.nom24
|
||||||
|
mov eax,[MsgCount]
|
||||||
|
mov [MessageOn],eax
|
||||||
|
call Get_MousePositionDisplacement
|
||||||
|
.nodisd2
|
||||||
mov eax,[KeyNewGfxSwt]
|
mov eax,[KeyNewGfxSwt]
|
||||||
test byte[pressed+eax],1
|
test byte[pressed+eax],1
|
||||||
je near .nodis8
|
je near .nodis8
|
||||||
@@ -955,12 +973,12 @@ NEWSYM curcolbg2, db 0
|
|||||||
NEWSYM curcolbg3, db 0
|
NEWSYM curcolbg3, db 0
|
||||||
NEWSYM curcolbg4, db 0
|
NEWSYM curcolbg4, db 0
|
||||||
NEWSYM panickeyp, db 'ALL SWITCHES NORMAL',0
|
NEWSYM panickeyp, db 'ALL SWITCHES NORMAL',0
|
||||||
NEWSYM snesmousep0, db 'MOUSE/SUPER SCOPE DISABLED',0
|
NEWSYM snesmousep0, db 'EXTRA DEVICES DISABLED',0
|
||||||
NEWSYM snesmousep1, db 'MOUSE ENABLED IN PORT 1',0
|
NEWSYM snesmousep1, db 'MOUSE ENABLED IN PORT 1',0
|
||||||
NEWSYM snesmousep2, db 'MOUSE ENABLED IN PORT 2',0
|
NEWSYM snesmousep2, db 'MOUSE ENABLED IN PORT 2',0
|
||||||
NEWSYM snesmouse12, db 'MOUSE ENABLED IN PORT 1 AND 2',0
|
|
||||||
NEWSYM snesss, db 'SUPER SCOPE ENABLED',0
|
NEWSYM snesss, db 'SUPER SCOPE ENABLED',0
|
||||||
NEWSYM snesle, db 'LETHAL ENFORCER GUN ENABLED',0
|
NEWSYM snesle1, db '1 JUSTIFIER ENABLED',0
|
||||||
|
NEWSYM snesle2, db '2 JUSTIFIERS ENABLED',0
|
||||||
NEWSYM windissw, db 'WINDOWING DISABLED',0
|
NEWSYM windissw, db 'WINDOWING DISABLED',0
|
||||||
NEWSYM winenasw, db 'WINDOWING ENABLED',0
|
NEWSYM winenasw, db 'WINDOWING ENABLED',0
|
||||||
NEWSYM ofsdissw, db 'OFFSET MODE DISABLED',0
|
NEWSYM ofsdissw, db 'OFFSET MODE DISABLED',0
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ EXTSYM BGMA,V8Mode,antienab,cacheud,cbitmode,ccud,cfield,cgram,coladdb,coladdg
|
|||||||
EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI
|
EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI
|
||||||
EXTSYM gammalevel,hirestiledat,ignor512,latchx,latchy,maxbr,ForceNewGfxOff
|
EXTSYM gammalevel,hirestiledat,ignor512,latchx,latchy,maxbr,ForceNewGfxOff
|
||||||
EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,resolutn
|
EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,resolutn
|
||||||
EXTSYM romispal,scaddtype,scanlines,selcA000,snesmouse,t1cc,vcache4b,vesa2_bpos
|
EXTSYM romispal,scaddtype,scanlines,selcA000,t1cc,vcache4b,vesa2_bpos
|
||||||
EXTSYM spritetablea,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec
|
EXTSYM spritetablea,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec
|
||||||
EXTSYM vidbuffer,vram,KeyStateSelct,soundon,Open_File,Read_File
|
EXTSYM vidbuffer,vram,KeyStateSelct,soundon,Open_File,Read_File
|
||||||
EXTSYM Close_File,Create_File,Write_File,Get_File_Date,makepal
|
EXTSYM Close_File,Create_File,Write_File,Get_File_Date,makepal
|
||||||
@@ -39,6 +39,7 @@ EXTSYM CSStatus2,CSStatus3,SpecialLine,Clear2xSaIBuffer,vidbufferofsb,bg1scroly
|
|||||||
EXTSYM bg1objptr,DecompAPtr,HalfTransB,HalfTransC,cur_zst_size,old_zst_size
|
EXTSYM bg1objptr,DecompAPtr,HalfTransB,HalfTransC,cur_zst_size,old_zst_size
|
||||||
EXTSYM MovieProcessing,mzt_chdir,UpChdir,MovieFrameStr,GetMovieFrameStr
|
EXTSYM MovieProcessing,mzt_chdir,UpChdir,MovieFrameStr,GetMovieFrameStr
|
||||||
EXTSYM MovieDisplayFrame
|
EXTSYM MovieDisplayFrame
|
||||||
|
EXTSYM MouseCount,device2
|
||||||
|
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
EXTSYM SB_blank,vsyncon,Triplebufen,granadd
|
EXTSYM SB_blank,vsyncon,Triplebufen,granadd
|
||||||
@@ -147,14 +148,61 @@ NEWSYM showvideo
|
|||||||
EXTSYM multiMouseMode,Mouse1MoveX,Mouse1MoveY,Mouse2MoveX,Mouse2MoveY,MultiMouseProcess,MouseToRead
|
EXTSYM multiMouseMode,Mouse1MoveX,Mouse1MoveY,Mouse2MoveX,Mouse2MoveY,MultiMouseProcess,MouseToRead
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
NEWSYM processmouse
|
NEWSYM processmouse1
|
||||||
push esi
|
push esi
|
||||||
push edi
|
push edi
|
||||||
push edx
|
push edx
|
||||||
push ebx
|
push ebx
|
||||||
call Get_MouseData
|
call Get_MouseData
|
||||||
mov [mousebuttons],bx
|
mov [mousebuttons],bx
|
||||||
cmp byte[snesmouse],4
|
cmp byte[MouseCount],1
|
||||||
|
jle .nomultimouse
|
||||||
|
pushad
|
||||||
|
call MultiMouseProcess
|
||||||
|
popad
|
||||||
|
mov cx,[Mouse1MoveX]
|
||||||
|
mov dx,[Mouse1MoveY]
|
||||||
|
jmp .mousestuff
|
||||||
|
.nomultimouse
|
||||||
|
call Get_MousePositionDisplacement
|
||||||
|
.mousestuff
|
||||||
|
mov word[mousexpos],0
|
||||||
|
cmp cx,0
|
||||||
|
je .noxchange
|
||||||
|
mov byte[mousexdir],0
|
||||||
|
cmp cx,0
|
||||||
|
jge .noneg
|
||||||
|
mov byte[mousexdir],1
|
||||||
|
neg cx
|
||||||
|
.noneg
|
||||||
|
mov [mousexpos],cx
|
||||||
|
.noxchange
|
||||||
|
mov word[mouseypos],0
|
||||||
|
cmp dx,0
|
||||||
|
je .noychange
|
||||||
|
mov byte[mouseydir],0
|
||||||
|
cmp dx,0
|
||||||
|
jge .noneg2
|
||||||
|
mov byte[mouseydir],1
|
||||||
|
neg dx
|
||||||
|
.noneg2
|
||||||
|
mov [mouseypos],dx
|
||||||
|
.noychange
|
||||||
|
xor ecx,ecx
|
||||||
|
pop ebx
|
||||||
|
pop edx
|
||||||
|
pop edi
|
||||||
|
pop esi
|
||||||
|
ret
|
||||||
|
|
||||||
|
NEWSYM processmouse2
|
||||||
|
push esi
|
||||||
|
push edi
|
||||||
|
push edx
|
||||||
|
push ebx
|
||||||
|
call Get_MouseData
|
||||||
|
mov [mousebuttons],bx
|
||||||
|
cmp byte[device2],2
|
||||||
jne .ss
|
jne .ss
|
||||||
cmp byte[pressed+13],0
|
cmp byte[pressed+13],0
|
||||||
je .noautosw
|
je .noautosw
|
||||||
@@ -173,26 +221,22 @@ NEWSYM processmouse
|
|||||||
.noautosw
|
.noautosw
|
||||||
mov byte[ssautoswb],0
|
mov byte[ssautoswb],0
|
||||||
.ss
|
.ss
|
||||||
cmp byte[snesmouse],3
|
cmp byte[MouseCount],1
|
||||||
jne .nomultimouse
|
jle .nomultimouse
|
||||||
pushad
|
pushad
|
||||||
call MultiMouseProcess
|
call MultiMouseProcess
|
||||||
popad
|
popad
|
||||||
cmp byte[MouseToRead],2
|
|
||||||
je .getmouse2
|
|
||||||
mov cx,[Mouse1MoveX]
|
|
||||||
mov dx,[Mouse1MoveY]
|
|
||||||
jmp .mousestuff
|
|
||||||
.getmouse2
|
|
||||||
mov cx,[Mouse2MoveX]
|
mov cx,[Mouse2MoveX]
|
||||||
mov dx,[Mouse2MoveY]
|
mov dx,[Mouse2MoveY]
|
||||||
jmp .mousestuff
|
jmp .mousestuff
|
||||||
.nomultimouse
|
.nomultimouse
|
||||||
call Get_MousePositionDisplacement
|
call Get_MousePositionDisplacement
|
||||||
.mousestuff
|
.mousestuff
|
||||||
cmp byte[snesmouse],5
|
cmp byte[device2],3
|
||||||
je .le
|
je .le
|
||||||
cmp byte[snesmouse],4
|
cmp byte[device2],4
|
||||||
|
je .le
|
||||||
|
cmp byte[device2],2
|
||||||
jne .ss2
|
jne .ss2
|
||||||
.le
|
.le
|
||||||
add word[mousexloc],cx
|
add word[mousexloc],cx
|
||||||
@@ -220,9 +264,11 @@ NEWSYM processmouse
|
|||||||
.noneg
|
.noneg
|
||||||
mov [mousexpos],cx
|
mov [mousexpos],cx
|
||||||
.noxchange
|
.noxchange
|
||||||
cmp byte[snesmouse],5
|
cmp byte[device2],3
|
||||||
je .le2
|
je .le2
|
||||||
cmp byte[snesmouse],4
|
cmp byte[device2],4
|
||||||
|
je .le2
|
||||||
|
cmp byte[device2],2
|
||||||
jne .ss3
|
jne .ss3
|
||||||
.le2
|
.le2
|
||||||
add word[mouseyloc],dx
|
add word[mouseyloc],dx
|
||||||
@@ -3325,7 +3371,7 @@ NEWSYM vidpaste
|
|||||||
je .noclock
|
je .noclock
|
||||||
call ClockOutput
|
call ClockOutput
|
||||||
.noclock
|
.noclock
|
||||||
cmp byte[snesmouse],4
|
cmp byte[device2],2
|
||||||
je near .drawss
|
je near .drawss
|
||||||
.returnfromdraw
|
.returnfromdraw
|
||||||
mov ax,[resolutn]
|
mov ax,[resolutn]
|
||||||
|
|||||||
@@ -2904,7 +2904,7 @@ void WinUpdateDevices()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern BYTE snesmouse;
|
extern unsigned char device1, device2;
|
||||||
|
|
||||||
int GetMouseX(void)
|
int GetMouseX(void)
|
||||||
{
|
{
|
||||||
@@ -2923,7 +2923,7 @@ int GetMouseX(void)
|
|||||||
SetCursorPos(X + WindowWidth + 32, (int)(Y + (MouseY * WindowHeight / 224)));
|
SetCursorPos(X + WindowWidth + 32, (int)(Y + (MouseY * WindowHeight / 224)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (FullScreen == 0 && snesmouse == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
else if (FullScreen == 0 && device1 == 0 && device2 == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
||||||
{
|
{
|
||||||
MouseInput->Unacquire();
|
MouseInput->Unacquire();
|
||||||
SetCursorPos(X + WindowWidth + 1, (int)(Y + (MouseY * WindowHeight / 224)));
|
SetCursorPos(X + WindowWidth + 1, (int)(Y + (MouseY * WindowHeight / 224)));
|
||||||
@@ -2942,7 +2942,7 @@ int GetMouseX(void)
|
|||||||
SetCursorPos(X - 32, (int)(Y + (MouseY * WindowHeight / 224)));
|
SetCursorPos(X - 32, (int)(Y + (MouseY * WindowHeight / 224)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (FullScreen == 0 && snesmouse == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
else if (FullScreen == 0 && device1 == 0 && device2 == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
||||||
{
|
{
|
||||||
MouseInput->Unacquire();
|
MouseInput->Unacquire();
|
||||||
SetCursorPos(X - 1, (int)(Y + (MouseY * WindowHeight / 224)));
|
SetCursorPos(X - 1, (int)(Y + (MouseY * WindowHeight / 224)));
|
||||||
@@ -2967,7 +2967,7 @@ int GetMouseY(void)
|
|||||||
SetCursorPos((int)(X+(MouseX * WindowWidth / 256)), Y + WindowHeight + 32);
|
SetCursorPos((int)(X+(MouseX * WindowWidth / 256)), Y + WindowHeight + 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (FullScreen == 0 && snesmouse == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
else if (FullScreen == 0 && device1 == 0 && device2 == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
||||||
{
|
{
|
||||||
MouseInput->Unacquire();
|
MouseInput->Unacquire();
|
||||||
SetCursorPos((int)(X+(MouseX * WindowWidth / 256)), Y + WindowHeight + 1);
|
SetCursorPos((int)(X+(MouseX * WindowWidth / 256)), Y + WindowHeight + 1);
|
||||||
@@ -2986,7 +2986,7 @@ int GetMouseY(void)
|
|||||||
SetCursorPos((int)(X + (MouseX * WindowWidth / 256)), Y - 32);
|
SetCursorPos((int)(X + (MouseX * WindowWidth / 256)), Y - 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (FullScreen == 0 && snesmouse == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
else if (FullScreen == 0 && device1 == 0 && device2 == 0 && MouseButtonPressed == 0 && GUIOn2 == 1)
|
||||||
{
|
{
|
||||||
MouseInput->Unacquire();
|
MouseInput->Unacquire();
|
||||||
SetCursorPos((int)(X + (MouseX * WindowWidth / 256)), Y - 1);
|
SetCursorPos((int)(X + (MouseX * WindowWidth / 256)), Y - 1);
|
||||||
|
|||||||
@@ -73,11 +73,11 @@ bool MovieWaiting = false;
|
|||||||
enum MovieStatus { MOVIE_OFF = 0, MOVIE_PLAYBACK, MOVIE_RECORD, MOVIE_OLD_PLAY };
|
enum MovieStatus { MOVIE_OFF = 0, MOVIE_PLAYBACK, MOVIE_RECORD, MOVIE_OLD_PLAY };
|
||||||
#define SetMovieMode(mode) (MovieProcessing = (unsigned char)mode)
|
#define SetMovieMode(mode) (MovieProcessing = (unsigned char)mode)
|
||||||
|
|
||||||
extern unsigned char snesmouse;
|
extern unsigned char device1, device2;
|
||||||
extern unsigned short latchx, latchy;
|
extern unsigned short latchx, latchy;
|
||||||
#define IS_MOUSE_1() (snesmouse == 1)
|
#define IS_MOUSE_1() (device1 == 1)
|
||||||
#define IS_MOUSE_2() (snesmouse == 2)
|
#define IS_MOUSE_2() (device2 == 1)
|
||||||
#define IS_SCOPE() (snesmouse == 3)
|
#define IS_SCOPE() (device2 == 2)
|
||||||
|
|
||||||
void GUIDoReset();
|
void GUIDoReset();
|
||||||
void powercycle(bool);
|
void powercycle(bool);
|
||||||
|
|||||||
Reference in New Issue
Block a user