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 MessageOn,MsgCount,Msgptr,StartGUI,cbitmode,debuggeron,romdata
EXTSYM frameskip,initvideo,newgfx16b,soundon,cvidmode EXTSYM frameskip,initvideo,newgfx16b,soundon,cvidmode
EXTSYM vidbuffer,vidbufferofsa,vidbufferofsb,disable65816sh,GUISaveVars,virqnodisable 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 KeyOnStA,KeyOnStB,ProcessKeyOn,printnum,sramsavedis,DSPDisable,C4Enable
EXTSYM KeyQuickClock,KeyQuickSaveSPC,TimerEnable,AutoIncSaveSlot EXTSYM KeyQuickClock,KeyQuickSaveSPC,TimerEnable,AutoIncSaveSlot
EXTSYM IRQHack,HIRQLoc,Offby1line,splitflags,joinflags,KeyQuickSnapShot EXTSYM IRQHack,HIRQLoc,Offby1line,splitflags,joinflags,KeyQuickSnapShot
@@ -1315,6 +1315,7 @@ reexecuteb2:
jz .noreset jz .noreset
.activatereset .activatereset
pushad pushad
mov byte[GUIReset],1
call GUIDoReset call GUIDoReset
popad popad
mov byte[ReturnFromSPCStall],0 mov byte[ReturnFromSPCStall],0

View File

@@ -762,7 +762,7 @@ NEWSYM GUICMessage, resd 1
NEWSYM GUICTimer, resd 1 NEWSYM GUICTimer, resd 1
NEWSYM GUIOn, resb 1 NEWSYM GUIOn, resb 1
NEWSYM GUIOn2, resb 1 NEWSYM GUIOn2, resb 1
NEWSYM GUIReset, resb 1 NEWSYM GUIReset, resb 0
;GOSPort db 0 ;GOSPort db 0
NEWSYM CurPalSelect, resb 1 NEWSYM CurPalSelect, resb 1
NEWSYM MotionBlur, resb 1 NEWSYM MotionBlur, resb 1

View File

@@ -67,7 +67,7 @@ EXTSYM opexec268cphb,opexec358,opexec358b,opexec358cph,spcextraram
EXTSYM opexec358cphb,prevoamptr,reg1read,reg2read,reg3read EXTSYM opexec358cphb,prevoamptr,reg1read,reg2read,reg3read
EXTSYM reg4read,resolutn,romdata,scrndis,spcBuffera,spcP,spcRam EXTSYM reg4read,resolutn,romdata,scrndis,spcBuffera,spcP,spcRam
EXTSYM spcnumread,spchalted,tableD,timeron,vidbright,DSPMem,OldGfxMode2 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 InitC4,SA1Reset,SetAddressingModesSA1,SetAddressingModes,SDD1BankA,SPC7110init
EXTSYM RTCinit,InitOBC EXTSYM RTCinit,InitOBC
EXTSYM memaccessspc7110r8,memaccessspc7110r16,memaccessspc7110w8 EXTSYM memaccessspc7110r8,memaccessspc7110r16,memaccessspc7110w8
@@ -1672,8 +1672,14 @@ NEWSYM init65816
;popad ;popad
;.notbsx ;.notbsx
cmp byte[GUIReset],1
jne .notreseting
mov byte[GUIReset],0
jmp .afterramclear
.notreseting
helpclearmem wramdataa, 65536 helpclearmem wramdataa, 65536
helpclearmem ram7fa, 65536 helpclearmem ram7fa, 65536
.afterramclear
cmp byte[BSEnable],1 cmp byte[BSEnable],1
jne .notbsx2 jne .notbsx2
cmp byte[romtype],1 ;Hack for BS HiROMs cmp byte[romtype],1 ;Hack for BS HiROMs