Fix some randomness in the SPC core for now

This commit is contained in:
pagefault
2005-09-06 01:21:34 +00:00
parent 072986fb68
commit 9b69ec0dc1

View File

@@ -130,10 +130,8 @@ SECTION .text
cmp ebx,0f0h+SPCRAM cmp ebx,0f0h+SPCRAM
jb %%normalmem jb %%normalmem
sub ebx,SPCRAM sub ebx,SPCRAM
push dword %%finished call dword near [spcWptr+ebx*4-0f0h*4]
jmp dword near [spcWptr+ebx*4-0f0h*4] jmp %%finished
; call dword near [spcWptr+ebx*4-0f0h*4]
; jmp .finished
%%extramem %%extramem
cmp ebx,0ffc0h+SPCRAM cmp ebx,0ffc0h+SPCRAM
jb %%normalmem jb %%normalmem
@@ -156,10 +154,8 @@ SECTION .text
cmp ebx,0ffh+SPCRAM cmp ebx,0ffh+SPCRAM
ja %%normalmem ja %%normalmem
sub ebx,SPCRAM sub ebx,SPCRAM
push dword %%finished call dword near [spcRptr+ebx*4-0f0h*4]
jmp dword near [spcRptr+ebx*4-0f0h*4] jmp %%finished
; call dword near [spcRptr+ebx*4-0f0h*4]
; jmp .rfinished
%%normalmem %%normalmem
; cmp ebx,0ffc0h+SPCRAM ; cmp ebx,0ffc0h+SPCRAM
; jb .rnormalmem2 ; jb .rnormalmem2
@@ -228,8 +224,8 @@ NEWSYM updatetimer
mov [timinl0],al mov [timinl0],al
cmp byte[SPCRAM+0FDh],1 cmp byte[SPCRAM+0FDh],1
jne .noin0 jne .noin0
cmp byte[spchalted],0 ; cmp byte[spchalted],0
jz .noin0 ; jz .noin0
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin0 .noin0
@@ -242,8 +238,8 @@ NEWSYM updatetimer
mov [timinl1],al mov [timinl1],al
cmp byte[SPCRAM+0FEh],1 cmp byte[SPCRAM+0FEh],1
jne .noin1 jne .noin1
cmp byte[spchalted+1],0 ; cmp byte[spchalted+1],0
jz .noin1 ; jz .noin1
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin1 .noin1
@@ -257,8 +253,8 @@ NEWSYM updatetimer
mov [timinl2],al mov [timinl2],al
cmp byte[SPCRAM+0FFh],1 cmp byte[SPCRAM+0FFh],1
jne .noin2 jne .noin2
cmp byte[spchalted+2],0 ; cmp byte[spchalted+2],0
jz .noin2 ; jz .noin2
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin2 .noin2
@@ -269,8 +265,8 @@ NEWSYM updatetimer
mov [timinl2],al mov [timinl2],al
cmp byte[SPCRAM+0FFh],1 cmp byte[SPCRAM+0FFh],1
jne .noin2b jne .noin2b
cmp byte[spchalted+2],0 ; cmp byte[spchalted+2],0
jz .noin2b ; jz .noin2b
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin2b .noin2b
@@ -281,8 +277,8 @@ NEWSYM updatetimer
mov [timinl2],al mov [timinl2],al
cmp byte[SPCRAM+0FFh],1 cmp byte[SPCRAM+0FFh],1
jne .noin2c jne .noin2c
cmp byte[spchalted+2],0 ; cmp byte[spchalted+2],0
jz .noin2c ; jz .noin2c
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin2c .noin2c
@@ -293,8 +289,8 @@ NEWSYM updatetimer
mov [timinl2],al mov [timinl2],al
cmp byte[SPCRAM+0FFh],1 cmp byte[SPCRAM+0FFh],1
jne .noin2d jne .noin2d
cmp byte[spchalted+2],0 ; cmp byte[spchalted+2],0
jz .noin2d ; jz .noin2d
reenablespc reenablespc
mov dword[cycpbl],0 mov dword[cycpbl],0
.noin2d .noin2d
@@ -581,7 +577,7 @@ NEWSYM RSPCRegFE
cmp byte[SPCRAM+0feh],0 cmp byte[SPCRAM+0feh],0
je .spcnextskip je .spcnextskip
mov byte[SPCRAM+0feh],0 mov byte[SPCRAM+0feh],0
mov byte[spcnumread+1],0 mov byte[spcnumread],0
ret ret
skipmacro 1 skipmacro 1
@@ -591,7 +587,7 @@ NEWSYM RSPCRegFF
cmp byte[SPCRAM+0ffh],0 cmp byte[SPCRAM+0ffh],0
je .spcnextskip je .spcnextskip
mov byte[SPCRAM+0ffh],0 mov byte[SPCRAM+0ffh],0
mov byte[spcnumread+2],0 mov byte[spcnumread],0
ret ret
skipmacro 2 skipmacro 2