Fix some randomness in the SPC core for now
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user