Reset now doesn't reset parts of RAM that shouldn't be.

This commit is contained in:
n-a-c-h
2004-10-13 18:03:16 +00:00
parent 96796f0f31
commit d0db70d50b
3 changed files with 18 additions and 11 deletions

View File

@@ -31,7 +31,7 @@ EXTSYM UpdateDPage
EXTSYM MessageOn,MsgCount,Msgptr,StartGUI,cbitmode,debuggeron,romdata
EXTSYM frameskip,initvideo,newgfx16b,soundon,cvidmode
EXTSYM vidbuffer,vidbufferofsa,vidbufferofsb,disable65816sh,GUISaveVars,virqnodisable
EXTSYM KeySaveState,KeyLoadState,KeyQuickExit,KeyQuickLoad,KeyQuickRst,GUIDoReset
EXTSYM KeySaveState,KeyLoadState,KeyQuickExit,KeyQuickLoad,KeyQuickRst,GUIDoReset, GUIReset
EXTSYM KeyOnStA,KeyOnStB,ProcessKeyOn,printnum,sramsavedis,DSPDisable,C4Enable
EXTSYM KeyQuickClock,KeyQuickSaveSPC,TimerEnable,AutoIncSaveSlot
EXTSYM IRQHack,HIRQLoc,Offby1line,splitflags,joinflags,KeyQuickSnapShot
@@ -490,7 +490,7 @@ NEWSYM BackupSystemVars
BackupCVMac timer2upd,1
BackupCVMac xa,14
BackupCVMacB spcnumread,4
BackupCVMacB spchalted,4
BackupCVMacB spchalted,4
BackupCVMac opcd,6
BackupCVMacB HIRQCycNext,5
BackupCVMac oamaddr,14
@@ -517,7 +517,7 @@ NEWSYM RestoreSystemVars
BackupCVRMac timer2upd,1
BackupCVRMac xa,14
BackupCVRMacB spcnumread,4
BackupCVRMacB spchalted,4
BackupCVRMacB spchalted,4
BackupCVRMac opcd,6
BackupCVRMacB HIRQCycNext,5
BackupCVRMac oamaddr,14
@@ -591,7 +591,7 @@ NEWSYM BackupCVFrame
BackupCVMac timer2upd,1
BackupCVMac xa,14
BackupCVMacB spcnumread,4
BackupCVMacB spchalted,4
BackupCVMacB spchalted,4
BackupCVMac opcd,6
BackupCVMacB HIRQCycNext,5
BackupCVMac oamaddr,14
@@ -1315,6 +1315,7 @@ reexecuteb2:
jz .noreset
.activatereset
pushad
mov byte[GUIReset],1
call GUIDoReset
popad
mov byte[ReturnFromSPCStall],0
@@ -1998,7 +1999,7 @@ NEWSYM stateloader
call repackfunct
mov dword[cycpbl],0
mov dword[spcnumread],0
mov dword[spchalted],-1
mov dword[spchalted],-1
mov byte[nexthdma],0
call headerhack
call initpitch

View File

@@ -762,7 +762,7 @@ NEWSYM GUICMessage, resd 1
NEWSYM GUICTimer, resd 1
NEWSYM GUIOn, resb 1
NEWSYM GUIOn2, resb 1
NEWSYM GUIReset, resb 1
NEWSYM GUIReset, resb 0
;GOSPort db 0
NEWSYM CurPalSelect, resb 1
NEWSYM MotionBlur, resb 1
@@ -2324,7 +2324,7 @@ NEWSYM StartGUI
mov dword[nmiprevline],224
mov dword[nmistatus],0
mov dword[spcnumread],0
mov dword[spchalted],-1
mov dword[spchalted],-1
mov byte[NextLineCache],0
mov byte[DSPMem+08h],0
mov byte[DSPMem+18h],0

View File

@@ -67,7 +67,7 @@ EXTSYM opexec268cphb,opexec358,opexec358b,opexec358cph,spcextraram
EXTSYM opexec358cphb,prevoamptr,reg1read,reg2read,reg3read
EXTSYM reg4read,resolutn,romdata,scrndis,spcBuffera,spcP,spcRam
EXTSYM spcnumread,spchalted,tableD,timeron,vidbright,DSPMem,OldGfxMode2
EXTSYM SPC700read,SPC700write,GUIDoReset,spc700read
EXTSYM SPC700read,SPC700write,GUIDoReset,spc700read, GUIReset
EXTSYM InitC4,SA1Reset,SetAddressingModesSA1,SetAddressingModes,SDD1BankA,SPC7110init
EXTSYM RTCinit,InitOBC
EXTSYM memaccessspc7110r8,memaccessspc7110r16,memaccessspc7110w8
@@ -1545,7 +1545,7 @@ NEWSYM init65816
mov byte [reg4read],0
mov dword[cycpbl],0
mov dword[spcnumread],0
mov dword[spchalted],-1
mov dword[spchalted],-1
mov dword[coladdr],0
mov byte[NMIEnab],1
mov word[VIRQLoc],0
@@ -1672,8 +1672,14 @@ NEWSYM init65816
;popad
;.notbsx
cmp byte[GUIReset],1
jne .notreseting
mov byte[GUIReset],0
jmp .afterramclear
.notreseting
helpclearmem wramdataa, 65536
helpclearmem ram7fa, 65536
.afterramclear
cmp byte[BSEnable],1
jne .notbsx2
cmp byte[romtype],1 ;Hack for BS HiROMs
@@ -4763,9 +4769,9 @@ int 3h
mov dword[memtabler16+60h*4],setaaccessbankr16a
mov dword[memtablew16+60h*4],setaaccessbankw16a
mov dword[SetaCmdEnable],00000080h ; 60:0000
mov dword[SetaCmdEnable],00000080h ; 60:0000
mov esi,[setaramdata]
mov ecx,1024 ; 4096 bytes
mov ecx,1024 ; 4096 bytes
.loopsetaclear
mov dword[esi],0
add esi,4