Super System support

This commit is contained in:
pagefault
2002-04-26 20:25:47 +00:00
parent 4f0ccdf18e
commit e41b33c87c
5 changed files with 134 additions and 1 deletions

View File

@@ -327,6 +327,8 @@ NEWSYM initregr
setreg 4016h*4,reg4016r setreg 4016h*4,reg4016r
setreg 4017h*4,reg4017r setreg 4017h*4,reg4017r
setreg 4100h*4,reg4100r
setreg 420Ah*4,reg420Ar setreg 420Ah*4,reg420Ar
setreg 420Bh*4,reg420Br setreg 420Bh*4,reg420Br
setreg 420Ch*4,reg420Cr setreg 420Ch*4,reg420Cr
@@ -703,6 +705,13 @@ NEWSYM SPC700write, dd 0
NEWSYM JoyCRead, db 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 NEWSYM ClearRegs
mov word[VIRQLoc],0 mov word[VIRQLoc],0
mov word[bg1ptr],0 mov word[bg1ptr],0
@@ -1170,6 +1179,33 @@ reg4017r:
rol dword[JoyENow],1 rol dword[JoyENow],1
ret 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: reg420Ar:
reg420Br: reg420Br:
reg420Cr: reg420Cr:

View File

@@ -171,6 +171,7 @@ EXTSYM ipxgetchar,ipxsendchar,TCPIPStoreByte
EXTSYM TCPIPGetByte,GUIBIFIL EXTSYM TCPIPGetByte,GUIBIFIL
EXTSYM ModemSendChar EXTSYM ModemSendChar
EXTSYM firstsaveinc EXTSYM firstsaveinc
EXTSYM nssdip1,nssdip2,nssdip3,nssdip4,nssdip5,nssdip6
%ifdef __LINUX__ %ifdef __LINUX__
EXTSYM numlockptr EXTSYM numlockptr
%endif %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 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 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 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 GUIwinptr db 0
GUItextcolor db 0,0,0,0,0 GUItextcolor db 0,0,0,0,0

View File

@@ -3113,6 +3113,12 @@ DisplayGUIAddOnClick:
GUIPButtonHole 9,35,byte[snesmouse],2 GUIPButtonHole 9,35,byte[snesmouse],2
GUIPButtonHole 9,45,byte[snesmouse],3 GUIPButtonHole 9,45,byte[snesmouse],3
GUIPButtonHole 9,55,byte[snesmouse],4 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 ret
DrawMouse: DrawMouse:

View File

@@ -6023,17 +6023,67 @@ DisplayGUIAddOns:
GUIOuttextwin2 17,21,38,GUIAddOnText3 GUIOuttextwin2 17,21,38,GUIAddOnText3
GUIOuttextwin2 17,21,48,GUIAddOnText4 GUIOuttextwin2 17,21,48,GUIAddOnText4
GUIOuttextwin2 17,21,58,GUIAddOnText5 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 add byte[GUItextcolor],15
GUIOuttextwin2 17,20,17,GUIAddOnText1 GUIOuttextwin2 17,20,17,GUIAddOnText1
GUIOuttextwin2 17,20,27,GUIAddOnText2 GUIOuttextwin2 17,20,27,GUIAddOnText2
GUIOuttextwin2 17,20,37,GUIAddOnText3 GUIOuttextwin2 17,20,37,GUIAddOnText3
GUIOuttextwin2 17,20,47,GUIAddOnText4 GUIOuttextwin2 17,20,47,GUIAddOnText4
GUIOuttextwin2 17,20,57,GUIAddOnText5 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,15,byte[snesmouse],0
GUIDisplayButtonHole 17,9,25,byte[snesmouse],1 GUIDisplayButtonHole 17,9,25,byte[snesmouse],1
GUIDisplayButtonHole 17,9,35,byte[snesmouse],2 GUIDisplayButtonHole 17,9,35,byte[snesmouse],2
GUIDisplayButtonHole 17,9,45,byte[snesmouse],3 GUIDisplayButtonHole 17,9,45,byte[snesmouse],3
GUIDisplayButtonHole 17,9,55,byte[snesmouse],4 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 ret
GUIAddOnText1 db 'NONE',0 GUIAddOnText1 db 'NONE',0
@@ -6041,6 +6091,13 @@ GUIAddOnText2 db 'SNES MOUSE AT PORT #1',0
GUIAddOnText3 db 'SNES MOUSE AT PORT #2',0 GUIAddOnText3 db 'SNES MOUSE AT PORT #2',0
GUIAddOnText4 db 'SUPER SCOPE',0 GUIAddOnText4 db 'SUPER SCOPE',0
GUIAddOnText5 db 'LETHAL ENFORCER GUN',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 GUILoadDisp db 'LOAD GAME',0
GUIResetDisp db 'RESET GAME',0 GUIResetDisp db 'RESET GAME',0

View File

@@ -3981,6 +3981,13 @@ UnZipFile:
UnZipSearch GUIfindBIN UnZipSearch GUIfindBIN
UnZipSearch GUIfindZIP UnZipSearch GUIfindZIP
UnZipSearch GUIfind1 UnZipSearch GUIfind1
UnZipSearch GUIfindIC7
UnZipSearch GUIfindIC6
UnZipSearch GUIfindIC5
UnZipSearch GUIfindIC4
UnZipSearch GUIfindIC3
UnZipSearch GUIfindIC2
UnZipSearch GUIfindIC1
UnZipSearch GUIfindBlank UnZipSearch GUIfindBlank
.failed .failed
call ZipDelete call ZipDelete
@@ -4007,6 +4014,14 @@ UnZipFile:
mov byte[ZipSupport],2 mov byte[ZipSupport],2
ret 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: ZipDelete:
mov esi,mode7tab mov esi,mode7tab
call ZipDeleteRecurse call ZipDeleteRecurse
@@ -4625,6 +4640,24 @@ NEWSYM loadfileGUI
jnc near .nextfile jnc near .nextfile
dec byte[edi+1] dec byte[edi+1]
.nonumer .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. ; search for A,B,C, etc.
cmp byte[.first],0 cmp byte[.first],0
je .yesgd je .yesgd