Fixed vertical interlaced high resolution mode in tile priority 1.
This commit is contained in:
@@ -797,6 +797,11 @@ NEWSYM newengine16b
|
|||||||
mov byte[bgallchange+eax],1
|
mov byte[bgallchange+eax],1
|
||||||
.nosbgfb
|
.nosbgfb
|
||||||
|
|
||||||
|
test byte[interlval],40h
|
||||||
|
jz .nointrl
|
||||||
|
mov byte[bgallchange+eax],1
|
||||||
|
.nointrl
|
||||||
|
|
||||||
mov ebx,[mode7A]
|
mov ebx,[mode7A]
|
||||||
mov [mode7ab+eax*4],ebx
|
mov [mode7ab+eax*4],ebx
|
||||||
mov ebx,[mode7C]
|
mov ebx,[mode7C]
|
||||||
@@ -1294,7 +1299,7 @@ NEWSYM newengine16b
|
|||||||
|
|
||||||
cmp byte[scanlines],0
|
cmp byte[scanlines],0
|
||||||
jne .notinterl
|
jne .notinterl
|
||||||
test byte[interlval],1
|
test byte[interlval],01h
|
||||||
jz .notinterl
|
jz .notinterl
|
||||||
or byte[SpecialLine+eax],4
|
or byte[SpecialLine+eax],4
|
||||||
.notinterl
|
.notinterl
|
||||||
|
|||||||
@@ -1023,10 +1023,6 @@ EXTSYM osm2dis
|
|||||||
jae near %%proclinebyline
|
jae near %%proclinebyline
|
||||||
cmp byte[BGMA+ebx],2
|
cmp byte[BGMA+ebx],2
|
||||||
je near %%proclinebyline
|
je near %%proclinebyline
|
||||||
test dword[intrlng+ebx],01010101h
|
|
||||||
jnz near %%proclinebyline
|
|
||||||
test dword[intrlng+ebx+4],01010101h
|
|
||||||
jnz near %%proclinebyline
|
|
||||||
test byte[mosenng+ebx],1 << %1
|
test byte[mosenng+ebx],1 << %1
|
||||||
jnz %%mosaic
|
jnz %%mosaic
|
||||||
%%nomosaic
|
%%nomosaic
|
||||||
@@ -1107,10 +1103,6 @@ EXTSYM osm2dis
|
|||||||
mov eax,[BG3PRI+ebx]
|
mov eax,[BG3PRI+ebx]
|
||||||
cmp eax,[BG3PRI+ebx+4]
|
cmp eax,[BG3PRI+ebx+4]
|
||||||
jne near %%proclinebyline
|
jne near %%proclinebyline
|
||||||
test dword[intrlng+ebx],01010101h
|
|
||||||
jnz near %%proclinebyline
|
|
||||||
test dword[intrlng+ebx+4],01010101h
|
|
||||||
jnz near %%proclinebyline
|
|
||||||
test byte[mosenng+ebx],1 << %1
|
test byte[mosenng+ebx],1 << %1
|
||||||
jnz %%mosaic
|
jnz %%mosaic
|
||||||
%%nomosaic
|
%%nomosaic
|
||||||
@@ -3481,6 +3473,11 @@ EXTSYM osm2dis
|
|||||||
mov eax,[BG1SYl+ebx*2+%1*512]
|
mov eax,[BG1SYl+ebx*2+%1*512]
|
||||||
and eax,0FFFFh
|
and eax,0FFFFh
|
||||||
add eax,ebx
|
add eax,ebx
|
||||||
|
test byte[intrlng+ebx],01h
|
||||||
|
jz %%nointerl
|
||||||
|
add eax,ebx
|
||||||
|
add eax,[cfieldad]
|
||||||
|
%%nointerl
|
||||||
lea eax,[eax*8]
|
lea eax,[eax*8]
|
||||||
and eax,38h
|
and eax,38h
|
||||||
mov [yposng],eax
|
mov [yposng],eax
|
||||||
@@ -3496,6 +3493,7 @@ EXTSYM osm2dis
|
|||||||
mov [ngptrdat2],ecx
|
mov [ngptrdat2],ecx
|
||||||
mov eax,[ngceax+%2*1024+ebx*4]
|
mov eax,[ngceax+%2*1024+ebx*4]
|
||||||
mov edi,[ngcedi+%2*1024+ebx*4]
|
mov edi,[ngcedi+%2*1024+ebx*4]
|
||||||
|
|
||||||
cmp dl,2
|
cmp dl,2
|
||||||
jne near .no4bit
|
jne near .no4bit
|
||||||
; eax = pointer to beginning of tile area
|
; eax = pointer to beginning of tile area
|
||||||
@@ -3537,6 +3535,13 @@ EXTSYM osm2dis
|
|||||||
and ecx,0FFFFh
|
and ecx,0FFFFh
|
||||||
mov dword[taddnfy16x16],0
|
mov dword[taddnfy16x16],0
|
||||||
add ecx,ebx
|
add ecx,ebx
|
||||||
|
|
||||||
|
test byte[intrlng+ebx],01h
|
||||||
|
jz %%nointerl7
|
||||||
|
add ecx,ebx
|
||||||
|
add ecx,[cfieldad]
|
||||||
|
%%nointerl7
|
||||||
|
|
||||||
mov dword[taddfy16x16],16
|
mov dword[taddfy16x16],16
|
||||||
test ecx,08h
|
test ecx,08h
|
||||||
jz .nobottomy
|
jz .nobottomy
|
||||||
@@ -3601,6 +3606,13 @@ EXTSYM osm2dis
|
|||||||
mov ecx,[BG1SYl+ebx*2+%1*512]
|
mov ecx,[BG1SYl+ebx*2+%1*512]
|
||||||
and ecx,0FFFFh
|
and ecx,0FFFFh
|
||||||
add ecx,ebx
|
add ecx,ebx
|
||||||
|
|
||||||
|
test byte[intrlng+ebx],01h
|
||||||
|
jz %%nointerl8
|
||||||
|
add ecx,ebx
|
||||||
|
add ecx,[cfieldad]
|
||||||
|
%%nointerl8
|
||||||
|
|
||||||
mov dword[taddnfy16x16],0
|
mov dword[taddnfy16x16],0
|
||||||
mov dword[taddfy16x16],16
|
mov dword[taddfy16x16],16
|
||||||
test ecx,08h
|
test ecx,08h
|
||||||
|
|||||||
Reference in New Issue
Block a user