Refined OAM fix

This commit is contained in:
zsknight
2001-05-22 03:27:15 +00:00
parent ff381befca
commit 9cc37b1bf1
3 changed files with 11 additions and 3 deletions

View File

@@ -111,7 +111,7 @@ EXTSYM sfx128lineloc,sfx160lineloc,sfx192lineloc,sfxobjlineloc,sfxclineloc
EXTSYM PLOTJmpa,PLOTJmpb,FxTable,FxTableb,FxTablec,FxTabled EXTSYM PLOTJmpa,PLOTJmpb,FxTable,FxTableb,FxTablec,FxTabled
EXTSYM SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,hdmaearlstart,SFXCounter EXTSYM SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,hdmaearlstart,SFXCounter
EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal
EXTSYM SfxSFR EXTSYM SfxSFR,nosprincr
EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb
EXTSYM ReadSPC7110log,WriteSPC7110log EXTSYM ReadSPC7110log,WriteSPC7110log
@@ -1679,6 +1679,8 @@ NEWSYM savestate
.fname2 db 9,'image.dat',0 .fname2 db 9,'image.dat',0
cycpblblah dd 0,0
; Load State ; Load State
NEWSYM stateloader NEWSYM stateloader
mov byte[MovieProcessing],0 mov byte[MovieProcessing],0
@@ -3608,6 +3610,7 @@ NEWSYM cpuover
.novirqz .novirqz
mov ax,[oamaddrs] mov ax,[oamaddrs]
mov [oamaddr],ax mov [oamaddr],ax
mov byte[nosprincr],0
call showvideo call showvideo
; call dsp1teststuff ; call dsp1teststuff
xor ebx,ebx xor ebx,ebx

View File

@@ -392,8 +392,10 @@ NEWSYM SDD1BankB, db 1
NEWSYM SDD1BankC, db 2 NEWSYM SDD1BankC, db 2
NEWSYM SDD1BankD, db 3 NEWSYM SDD1BankD, db 3
NEWSYM vramread2, db 0 ; previous character for vram read NEWSYM vramread2, db 0 ; previous character for vram read
NEWSYM nosprincr, db 0
NEWSYM tempdat, times 483 db 0 ; expandable area
NEWSYM tempdat, times 482 db 0 ; expandable area
num2writeppureg equ $-sndrot num2writeppureg equ $-sndrot
; pharos equ hack *sigh* ; pharos equ hack *sigh*

View File

@@ -528,8 +528,8 @@ reg2103w:
cmp word[oamaddr],200h cmp word[oamaddr],200h
jne .notinvptr jne .notinvptr
mov bx,[oamaddrs] mov bx,[oamaddrs]
dec bx
mov [oamaddr],bx mov [oamaddr],bx
mov byte[nosprincr],1
.notinvptr .notinvptr
mov bx,[oamaddr] mov bx,[oamaddr]
mov [oamaddrs],bx mov [oamaddrs],bx
@@ -547,9 +547,12 @@ reg2104w:
mov byte[debstop3],1 mov byte[debstop3],1
mov byte[NextLineCache],1 mov byte[NextLineCache],1
mov ebx,[oamaddr] mov ebx,[oamaddr]
cmp byte[nosprincr],1
je .noinc
inc dword[oamaddr] inc dword[oamaddr]
cmp ebx,544 cmp ebx,544
je .overflow je .overflow
.noinc
mov [oamram+ebx],al mov [oamram+ebx],al
ret ret
.overflow .overflow