Super System support
This commit is contained in:
@@ -327,6 +327,8 @@ NEWSYM initregr
|
||||
setreg 4016h*4,reg4016r
|
||||
setreg 4017h*4,reg4017r
|
||||
|
||||
setreg 4100h*4,reg4100r
|
||||
|
||||
setreg 420Ah*4,reg420Ar
|
||||
setreg 420Bh*4,reg420Br
|
||||
setreg 420Ch*4,reg420Cr
|
||||
@@ -703,6 +705,13 @@ NEWSYM SPC700write, dd 0
|
||||
|
||||
NEWSYM JoyCRead, db 0
|
||||
|
||||
NEWSYM nssdip1, db 0
|
||||
NEWSYM nssdip2, db 0
|
||||
NEWSYM nssdip3, db 0
|
||||
NEWSYM nssdip4, db 0
|
||||
NEWSYM nssdip5, db 0
|
||||
NEWSYM nssdip6, db 0
|
||||
|
||||
NEWSYM ClearRegs
|
||||
mov word[VIRQLoc],0
|
||||
mov word[bg1ptr],0
|
||||
@@ -1170,6 +1179,33 @@ reg4017r:
|
||||
rol dword[JoyENow],1
|
||||
ret
|
||||
|
||||
reg4100r:
|
||||
cmp byte[nssdip1],1
|
||||
je .nodip1
|
||||
mov al,1
|
||||
.nodip1
|
||||
cmp byte[nssdip1],1
|
||||
je .nodip2
|
||||
or al,02h
|
||||
.nodip2
|
||||
cmp byte[nssdip3],1
|
||||
je .nodip3
|
||||
or al,04h
|
||||
.nodip3
|
||||
cmp byte[nssdip4],1
|
||||
je .nodip4
|
||||
or al,08h
|
||||
.nodip4
|
||||
cmp byte[nssdip5],1
|
||||
je .nodip5
|
||||
or al,10h
|
||||
.nodip5
|
||||
cmp byte[nssdip6],1
|
||||
je .nodip6
|
||||
or al,20h
|
||||
.nodip6
|
||||
ret
|
||||
|
||||
reg420Ar:
|
||||
reg420Br:
|
||||
reg420Cr:
|
||||
|
||||
@@ -171,6 +171,7 @@ EXTSYM ipxgetchar,ipxsendchar,TCPIPStoreByte
|
||||
EXTSYM TCPIPGetByte,GUIBIFIL
|
||||
EXTSYM ModemSendChar
|
||||
EXTSYM firstsaveinc
|
||||
EXTSYM nssdip1,nssdip2,nssdip3,nssdip4,nssdip5,nssdip6
|
||||
%ifdef __LINUX__
|
||||
EXTSYM numlockptr
|
||||
%endif
|
||||
@@ -620,7 +621,7 @@ ModemOKStat db 0 ; OK is detected on modem status
|
||||
GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,35 ,5 ,30 ,10 ,10 ,50 ,65 ,20 ,70 ,50 ,3 ,50
|
||||
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,20 ,20 ,30 ,20 ,20 ,20 ,60 ,30 ,65 ,50 ,22 ,60
|
||||
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,170 ,188 ,244 ,8*16,235 ,240 ,190 ,9*16,8*16,9*16,140 ,250 ,160
|
||||
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,189 ,150 ,190 ,42 ,40 ,42 ,70 ,190 ,60
|
||||
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,189 ,150 ,190 ,42 ,40 ,42 ,70 ,190 ,100
|
||||
GUIwinptr db 0
|
||||
|
||||
GUItextcolor db 0,0,0,0,0
|
||||
|
||||
@@ -3113,6 +3113,12 @@ DisplayGUIAddOnClick:
|
||||
GUIPButtonHole 9,35,byte[snesmouse],2
|
||||
GUIPButtonHole 9,45,byte[snesmouse],3
|
||||
GUIPButtonHole 9,55,byte[snesmouse],4
|
||||
GUIClickCButton 9,83,byte[nssdip1]
|
||||
GUIClickCButton 59,83,byte[nssdip2]
|
||||
GUIClickCButton 109,83,byte[nssdip3]
|
||||
GUIClickCButton 9,93,byte[nssdip4]
|
||||
GUIClickCButton 59,93,byte[nssdip5]
|
||||
GUIClickCButton 109,93,byte[nssdip6]
|
||||
ret
|
||||
|
||||
DrawMouse:
|
||||
|
||||
@@ -6023,17 +6023,67 @@ DisplayGUIAddOns:
|
||||
GUIOuttextwin2 17,21,38,GUIAddOnText3
|
||||
GUIOuttextwin2 17,21,48,GUIAddOnText4
|
||||
GUIOuttextwin2 17,21,58,GUIAddOnText5
|
||||
GUIOuttextwin2 17,10,78,GUIAddOnText6
|
||||
GUIOuttextwin2 17,21,88,GUIAddOnText7
|
||||
GUIOuttextwin2 17,71,88,GUIAddOnText8
|
||||
GUIOuttextwin2 17,121,88,GUIAddOnText9
|
||||
GUIOuttextwin2 17,21,98,GUIAddOnTextA
|
||||
GUIOuttextwin2 17,71,98,GUIAddOnTextB
|
||||
GUIOuttextwin2 17,121,98,GUIAddOnTextC
|
||||
add byte[GUItextcolor],15
|
||||
GUIOuttextwin2 17,20,17,GUIAddOnText1
|
||||
GUIOuttextwin2 17,20,27,GUIAddOnText2
|
||||
GUIOuttextwin2 17,20,37,GUIAddOnText3
|
||||
GUIOuttextwin2 17,20,47,GUIAddOnText4
|
||||
GUIOuttextwin2 17,20,57,GUIAddOnText5
|
||||
GUIOuttextwin2 17,9,77,GUIAddOnText6
|
||||
GUIOuttextwin2 17,20,87,GUIAddOnText7
|
||||
GUIOuttextwin2 17,70,87,GUIAddOnText8
|
||||
GUIOuttextwin2 17,120,87,GUIAddOnText9
|
||||
GUIOuttextwin2 17,20,97,GUIAddOnTextA
|
||||
GUIOuttextwin2 17,70,97,GUIAddOnTextB
|
||||
GUIOuttextwin2 17,120,97,GUIAddOnTextC
|
||||
GUIDisplayButtonHole 17,9,15,byte[snesmouse],0
|
||||
GUIDisplayButtonHole 17,9,25,byte[snesmouse],1
|
||||
GUIDisplayButtonHole 17,9,35,byte[snesmouse],2
|
||||
GUIDisplayButtonHole 17,9,45,byte[snesmouse],3
|
||||
GUIDisplayButtonHole 17,9,55,byte[snesmouse],4
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip1],0
|
||||
je .nodip1
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip1
|
||||
GUIDisplayIconWin 17,9,83,[GUITemp]
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip2],0
|
||||
je .nodip2
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip2
|
||||
GUIDisplayIconWin 17,59,83,[GUITemp]
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip3],0
|
||||
je .nodip3
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip3
|
||||
GUIDisplayIconWin 17,109,83,[GUITemp]
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip4],0
|
||||
je .nodip4
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip4
|
||||
GUIDisplayIconWin 17,9,93,[GUITemp]
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip5],0
|
||||
je .nodip5
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip5
|
||||
GUIDisplayIconWin 17,59,93,[GUITemp]
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[nssdip6],0
|
||||
je .nodip6
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nodip6
|
||||
GUIDisplayIconWin 17,109,93,[GUITemp]
|
||||
ret
|
||||
|
||||
GUIAddOnText1 db 'NONE',0
|
||||
@@ -6041,6 +6091,13 @@ GUIAddOnText2 db 'SNES MOUSE AT PORT #1',0
|
||||
GUIAddOnText3 db 'SNES MOUSE AT PORT #2',0
|
||||
GUIAddOnText4 db 'SUPER SCOPE',0
|
||||
GUIAddOnText5 db 'LETHAL ENFORCER GUN',0
|
||||
GUIAddOnText6 db 'SUPER SYSTEM',0
|
||||
GUIAddOnText7 db 'DIP 1',0
|
||||
GUIAddOnText8 db 'DIP 2',0
|
||||
GUIAddOnText9 db 'DIP 3',0
|
||||
GUIAddOnTextA db 'DIP 4',0
|
||||
GUIAddOnTextB db 'DIP 5',0
|
||||
GUIAddOnTextC db 'DIP 6',0
|
||||
|
||||
GUILoadDisp db 'LOAD GAME',0
|
||||
GUIResetDisp db 'RESET GAME',0
|
||||
|
||||
@@ -3981,6 +3981,13 @@ UnZipFile:
|
||||
UnZipSearch GUIfindBIN
|
||||
UnZipSearch GUIfindZIP
|
||||
UnZipSearch GUIfind1
|
||||
UnZipSearch GUIfindIC7
|
||||
UnZipSearch GUIfindIC6
|
||||
UnZipSearch GUIfindIC5
|
||||
UnZipSearch GUIfindIC4
|
||||
UnZipSearch GUIfindIC3
|
||||
UnZipSearch GUIfindIC2
|
||||
UnZipSearch GUIfindIC1
|
||||
UnZipSearch GUIfindBlank
|
||||
.failed
|
||||
call ZipDelete
|
||||
@@ -4007,6 +4014,14 @@ UnZipFile:
|
||||
mov byte[ZipSupport],2
|
||||
ret
|
||||
|
||||
GUIfindIC7 db '*.IC7',0
|
||||
GUIfindIC6 db '*.IC6',0
|
||||
GUIfindIC5 db '*.IC5',0
|
||||
GUIfindIC4 db '*.IC4',0
|
||||
GUIfindIC3 db '*.IC3',0
|
||||
GUIfindIC2 db '*.IC2',0
|
||||
GUIfindIC1 db '*.IC1',0
|
||||
|
||||
ZipDelete:
|
||||
mov esi,mode7tab
|
||||
call ZipDeleteRecurse
|
||||
@@ -4625,6 +4640,24 @@ NEWSYM loadfileGUI
|
||||
jnc near .nextfile
|
||||
dec byte[edi+1]
|
||||
.nonumer
|
||||
mov edi,[.dotpos]
|
||||
; search for ICx files
|
||||
cmp byte[edi],'.'
|
||||
jne .noicfile
|
||||
cmp byte[edi+3],'1'
|
||||
jb .noicfile
|
||||
cmp byte[edi+3],'7'
|
||||
ja .noicfile
|
||||
cmp byte[edi+4],0
|
||||
jne .noicfile
|
||||
dec byte[edi+3]
|
||||
xor ecx,ecx
|
||||
mov byte[.first],2
|
||||
mov edx,fname+1
|
||||
call Open_File
|
||||
jnc near .nextfile
|
||||
inc byte[edi+3]
|
||||
.noicfile
|
||||
; search for A,B,C, etc.
|
||||
cmp byte[.first],0
|
||||
je .yesgd
|
||||
|
||||
Reference in New Issue
Block a user