vram read fix - Smash Tennis working again

This commit is contained in:
zsknight
2001-05-19 01:24:16 +00:00
parent cd95a48c68
commit 57f110a2dd
2 changed files with 37 additions and 4 deletions

View File

@@ -571,20 +571,23 @@ reg2138r:
; Read VRAM Data (Low) ; Read VRAM Data (Low)
reg2139r: reg2139r:
mov al,[vramread]
xor ebx,ebx xor ebx,ebx
mov bx,[vramaddr] mov bx,[vramaddr]
add ebx,[vram] add ebx,[vram]
mov bl,[ebx] mov bl,[ebx]
mov al,[vramread]
mov [vramread],bl mov [vramread],bl
cmp byte[vramincr],0 cmp byte[vramincr],0
je .noincr je near .noincr
mov bx,[addrincr] mov bx,[addrincr]
add [vramaddr],bx add [vramaddr],bx
cmp byte[vramincby8on],1 cmp byte[vramincby8on],1
jne .noincr jne .noincr
dec byte[vramincby8left] dec byte[vramincby8left]
jnz .noincr jnz .noincr
add word[vramaddr],2 add word[vramaddr],2
mov bl,byte[vramincby8totl] mov bl,byte[vramincby8totl]
mov byte[vramincby8left],bl mov byte[vramincby8left],bl
@@ -601,20 +604,23 @@ reg2139r:
; Read VRAM Data (High) ; Read VRAM Data (High)
reg213Ar: reg213Ar:
mov al,[vramread2]
xor ebx,ebx xor ebx,ebx
mov bx,[vramaddr] mov bx,[vramaddr]
add ebx,[vram] add ebx,[vram]
mov bl,[ebx+1] mov bl,[ebx+1]
mov al,[vramread2]
mov [vramread2],bl mov [vramread2],bl
cmp byte[vramincr],1 cmp byte[vramincr],1
je .noincr je near .noincr
mov bx,[addrincr] mov bx,[addrincr]
add [vramaddr],bx add [vramaddr],bx
cmp byte[vramincby8on],1 cmp byte[vramincby8on],1
jne .noincr jne .noincr
dec byte[vramincby8left] dec byte[vramincby8left]
jnz .noincr jnz .noincr
add word[vramaddr],2 add word[vramaddr],2
mov bl,byte[vramincby8totl] mov bl,byte[vramincby8totl]
mov byte[vramincby8left],bl mov byte[vramincby8left],bl

View File

@@ -906,6 +906,17 @@ reg2117w:
mov byte[vramaddr+1],al mov byte[vramaddr+1],al
shl word[vramaddr],1 shl word[vramaddr],1
mov byte[vramread],0 mov byte[vramread],0
xor ebx,ebx
mov bx,[vramaddr]
add ebx,[vram]
mov bl,[ebx]
mov [vramread],bl
xor ebx,ebx
mov bx,[vramaddr]
add ebx,[vram]
mov bl,[ebx+1]
mov [vramread2],bl
ret ret
; Video port data (Low) ; Video port data (Low)
@@ -1166,9 +1177,17 @@ reg2122w:
reg2123w: reg2123w:
mov bl,al mov bl,al
and bl,0Fh and bl,0Fh
test bl,0Ah
jnz .nen1
; or bl,02h
.nen1
mov [winbg1en],bl mov [winbg1en],bl
mov bl,al mov bl,al
shr bl,4 shr bl,4
test bl,0Ah
jnz .nen2
; or bl,02h
.nen2
mov [winbg2en],bl mov [winbg2en],bl
ret ret
@@ -1176,9 +1195,17 @@ reg2123w:
reg2124w: reg2124w:
mov bl,al mov bl,al
and bl,0Fh and bl,0Fh
test bl,0Ah
jnz .nen1
; or bl,02h
.nen1
mov [winbg3en],bl mov [winbg3en],bl
mov bl,al mov bl,al
shr bl,4 shr bl,4
test bl,0Ah
jnz .nen2
; or bl,02h
.nen2
mov [winbg4en],bl mov [winbg4en],bl
ret ret