Wordsize memory read at 001FFF fix (fixes Super Tetris 2)
This commit is contained in:
@@ -2635,7 +2635,7 @@ NEWSYM regaccessbankr16
|
|||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
ret
|
ret
|
||||||
.regacc
|
.regacc
|
||||||
cmp ecx,2000h
|
cmp ecx,1FFFh
|
||||||
jae .regs
|
jae .regs
|
||||||
mov ax,[wramdataa+ecx]
|
mov ax,[wramdataa+ecx]
|
||||||
ret
|
ret
|
||||||
@@ -2832,7 +2832,7 @@ NEWSYM regaccessbankw8
|
|||||||
NEWSYM regaccessbankw16
|
NEWSYM regaccessbankw16
|
||||||
test ecx,8000h
|
test ecx,8000h
|
||||||
jnz .romacc
|
jnz .romacc
|
||||||
cmp ecx,2000h
|
cmp ecx,1FFFh
|
||||||
jae .regs
|
jae .regs
|
||||||
mov [wramdataa+ecx],ax
|
mov [wramdataa+ecx],ax
|
||||||
ret
|
ret
|
||||||
@@ -3016,14 +3016,16 @@ NEWSYM GenerateBank0Table
|
|||||||
writetobank0table membank0w8rom,81h
|
writetobank0table membank0w8rom,81h
|
||||||
writetobank0table membank0w8romram,1h
|
writetobank0table membank0w8romram,1h
|
||||||
mov eax,Bank0datr16
|
mov eax,Bank0datr16
|
||||||
writetobank0table membank0r16ram,20h
|
writetobank0table membank0r16ram,1Fh
|
||||||
|
writetobank0table membank0r16ramh,1
|
||||||
writetobank0table membank0r16reg,28h
|
writetobank0table membank0r16reg,28h
|
||||||
writetobank0table membank0r16inv,17h
|
writetobank0table membank0r16inv,17h
|
||||||
writetobank0table membank0r16chip,1Fh
|
writetobank0table membank0r16chip,1Fh
|
||||||
writetobank0table membank0r16rom,81h
|
writetobank0table membank0r16rom,81h
|
||||||
writetobank0table membank0r16romram,1h
|
writetobank0table membank0r16romram,1h
|
||||||
mov eax,Bank0datw16
|
mov eax,Bank0datw16
|
||||||
writetobank0table membank0w16ram,20h
|
writetobank0table membank0w16ram,1Fh
|
||||||
|
writetobank0table membank0w16ramh,1
|
||||||
writetobank0table membank0w16reg,28h
|
writetobank0table membank0w16reg,28h
|
||||||
writetobank0table membank0w16inv,17h
|
writetobank0table membank0w16inv,17h
|
||||||
writetobank0table membank0w16chip,1Fh
|
writetobank0table membank0w16chip,1Fh
|
||||||
@@ -3148,9 +3150,19 @@ NEWSYM membank0r8romram ; 0000-1FFF
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
; --- 16 BIT READ STUFF ---
|
; --- 16 BIT READ STUFF ---
|
||||||
NEWSYM membank0r16ram ; 0000-1FFF
|
NEWSYM membank0r16ram ; 0000-1EFF
|
||||||
mov ax,[wramdataa+ebx+ecx]
|
mov ax,[wramdataa+ebx+ecx]
|
||||||
ret
|
ret
|
||||||
|
NEWSYM membank0r16ramh ; 1F00-1FFF
|
||||||
|
add ecx,ebx
|
||||||
|
cmp ecx,1FFFh
|
||||||
|
je .over
|
||||||
|
mov ax,[wramdataa+ecx]
|
||||||
|
ret
|
||||||
|
.over
|
||||||
|
mov al,[wramdataa+ecx]
|
||||||
|
xor ah,ah
|
||||||
|
ret
|
||||||
NEWSYM membank0r16reg ; 2000-48FF
|
NEWSYM membank0r16reg ; 2000-48FF
|
||||||
add ecx,ebx
|
add ecx,ebx
|
||||||
call dword near [regptra+ecx*4-8000h]
|
call dword near [regptra+ecx*4-8000h]
|
||||||
@@ -3257,9 +3269,18 @@ NEWSYM membank0w8romram ; 0000-1FFF
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
; --- 16 BIT WRITE STUFF ---
|
; --- 16 BIT WRITE STUFF ---
|
||||||
NEWSYM membank0w16ram ; 0000-1FFF
|
NEWSYM membank0w16ram ; 0000-1EFF
|
||||||
mov [wramdataa+ebx+ecx],ax
|
mov [wramdataa+ebx+ecx],ax
|
||||||
ret
|
ret
|
||||||
|
NEWSYM membank0w16ramh ; 1F00-1FFF
|
||||||
|
add ecx,ebx
|
||||||
|
cmp ecx,1FFFh
|
||||||
|
je .over
|
||||||
|
mov [wramdataa+ecx],ax
|
||||||
|
ret
|
||||||
|
.over
|
||||||
|
mov [wramdataa+ecx],al
|
||||||
|
ret
|
||||||
NEWSYM membank0w16reg ; 2000-48FF
|
NEWSYM membank0w16reg ; 2000-48FF
|
||||||
add ecx,ebx
|
add ecx,ebx
|
||||||
call dword near [regptwa+ecx*4-8000h]
|
call dword near [regptwa+ecx*4-8000h]
|
||||||
|
|||||||
@@ -766,7 +766,9 @@ NEWSYM vrama, times 65536 db 0
|
|||||||
NEWSYM mode7tab, times 65536 db 0
|
NEWSYM mode7tab, times 65536 db 0
|
||||||
NEWSYM srama, times 65536 db 0
|
NEWSYM srama, times 65536 db 0
|
||||||
NEWSYM debugbufa, times 10000 db 0
|
NEWSYM debugbufa, times 10000 db 0
|
||||||
|
NEWSYM wramreadptr, dd 0
|
||||||
NEWSYM regptra, times 49152 db 0
|
NEWSYM regptra, times 49152 db 0
|
||||||
|
NEWSYM wramwriteptr, dd 0
|
||||||
NEWSYM regptwa, times 49152 db 0
|
NEWSYM regptwa, times 49152 db 0
|
||||||
|
|
||||||
; vcache.asm
|
; vcache.asm
|
||||||
|
|||||||
Reference in New Issue
Block a user