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