Uniracers 2p fix
This commit is contained in:
@@ -497,8 +497,11 @@ reg2102w:
|
|||||||
shr word[oamaddr],1
|
shr word[oamaddr],1
|
||||||
mov [oamaddr],al
|
mov [oamaddr],al
|
||||||
shl word[oamaddr],1
|
shl word[oamaddr],1
|
||||||
|
or al,al
|
||||||
|
jz .skipstore
|
||||||
mov bx,[oamaddr]
|
mov bx,[oamaddr]
|
||||||
mov [oamaddrs],bx
|
mov [oamaddrs],bx
|
||||||
|
.skipstore
|
||||||
cmp byte[nexthprior],1
|
cmp byte[nexthprior],1
|
||||||
je .priorset
|
je .priorset
|
||||||
mov byte[objhipr],0
|
mov byte[objhipr],0
|
||||||
@@ -516,11 +519,18 @@ reg2102w:
|
|||||||
|
|
||||||
; OAM address register
|
; OAM address register
|
||||||
reg2103w:
|
reg2103w:
|
||||||
|
mov byte[debstop3],1
|
||||||
mov bl,al
|
mov bl,al
|
||||||
and bl,01h
|
and bl,01h
|
||||||
shr word[oamaddr],1
|
shr word[oamaddr],1
|
||||||
mov [oamaddr+1],bl
|
mov [oamaddr+1],bl
|
||||||
shl word[oamaddr],1
|
shl word[oamaddr],1
|
||||||
|
cmp word[oamaddr],200h
|
||||||
|
jne .notinvptr
|
||||||
|
mov bx,[oamaddrs]
|
||||||
|
dec bx
|
||||||
|
mov [oamaddr],bx
|
||||||
|
.notinvptr
|
||||||
mov bx,[oamaddr]
|
mov bx,[oamaddr]
|
||||||
mov [oamaddrs],bx
|
mov [oamaddrs],bx
|
||||||
test al,80h
|
test al,80h
|
||||||
@@ -534,6 +544,8 @@ reg2103w:
|
|||||||
|
|
||||||
; OAM data register
|
; OAM data register
|
||||||
reg2104w:
|
reg2104w:
|
||||||
|
mov byte[debstop3],1
|
||||||
|
mov byte[NextLineCache],1
|
||||||
mov ebx,[oamaddr]
|
mov ebx,[oamaddr]
|
||||||
inc dword[oamaddr]
|
inc dword[oamaddr]
|
||||||
cmp ebx,544
|
cmp ebx,544
|
||||||
@@ -921,31 +933,21 @@ reg2117w:
|
|||||||
|
|
||||||
; Video port data (Low)
|
; Video port data (Low)
|
||||||
reg2118:
|
reg2118:
|
||||||
cmp dword[vramaddr],0E000h
|
|
||||||
jb .skip
|
|
||||||
mov byte[debstop],1
|
|
||||||
.skip
|
|
||||||
mov ebx,[vramaddr]
|
mov ebx,[vramaddr]
|
||||||
; cmp [vrama+ebx],al
|
|
||||||
; je .nochange
|
|
||||||
mov [vrama+ebx],al
|
mov [vrama+ebx],al
|
||||||
shr ebx,4
|
shr ebx,4
|
||||||
mov byte[vidmemch2+ebx],1
|
mov byte[vidmemch2+ebx],1
|
||||||
mov byte[vidmemch4+ebx],1
|
mov byte[vidmemch4+ebx],1
|
||||||
mov byte[vidmemch8+ebx],1
|
mov byte[vidmemch8+ebx],1
|
||||||
.nochange
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
reg2118inc:
|
reg2118inc:
|
||||||
mov ebx,[vramaddr]
|
mov ebx,[vramaddr]
|
||||||
; cmp [vrama+ebx],al
|
|
||||||
; je .nochange
|
|
||||||
mov [vrama+ebx],al
|
mov [vrama+ebx],al
|
||||||
shr ebx,4
|
shr ebx,4
|
||||||
mov byte[vidmemch2+ebx],1
|
mov byte[vidmemch2+ebx],1
|
||||||
mov byte[vidmemch4+ebx],1
|
mov byte[vidmemch4+ebx],1
|
||||||
mov byte[vidmemch8+ebx],1
|
mov byte[vidmemch8+ebx],1
|
||||||
.nochange
|
|
||||||
mov ebx,[addrincr]
|
mov ebx,[addrincr]
|
||||||
add [vramaddr],bx
|
add [vramaddr],bx
|
||||||
ret
|
ret
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ EXTSYM spritetablea,sprleftpr,sprlefttot,vcache4b
|
|||||||
EXTSYM objadds1,objadds2,objmovs1,objmovs2,tltype4b,vidmemch4,vram
|
EXTSYM objadds1,objadds2,objmovs1,objmovs2,tltype4b,vidmemch4,vram
|
||||||
EXTSYM bgptr,bgptrc,bgptrd,curtileptr,vcache2b
|
EXTSYM bgptr,bgptrc,bgptrd,curtileptr,vcache2b
|
||||||
EXTSYM vcache8b,vidmemch8
|
EXTSYM vcache8b,vidmemch8
|
||||||
EXTSYM offsetmshl
|
EXTSYM offsetmshl,NextLineCache
|
||||||
EXTSYM tltype2b,UpdateSoundAgain
|
EXTSYM tltype2b,UpdateSoundAgain
|
||||||
EXTSYM tltype8b,objwlrpos
|
EXTSYM tltype8b,objwlrpos
|
||||||
|
|
||||||
@@ -240,6 +240,7 @@ SaveRamSaved db 'SAVED SRAM DATA',0
|
|||||||
NEWSYM CSprWinPtr, dd 0
|
NEWSYM CSprWinPtr, dd 0
|
||||||
|
|
||||||
NEWSYM cachevideo
|
NEWSYM cachevideo
|
||||||
|
mov byte[NextLineCache],0
|
||||||
mov dword[objwlrpos],0FFFFFFFFh
|
mov dword[objwlrpos],0FFFFFFFFh
|
||||||
mov dword[CSprWinPtr],0
|
mov dword[CSprWinPtr],0
|
||||||
mov byte[pressed],0
|
mov byte[pressed],0
|
||||||
|
|||||||
Reference in New Issue
Block a user