B&W mode fix

This commit is contained in:
zsknight
2001-05-16 00:57:47 +00:00
parent 36da242ddd
commit 8170188f42
3 changed files with 64 additions and 9 deletions

View File

@@ -33,7 +33,7 @@ EXTSYM extbgdone
EXTSYM FPUZero,coladdb,coladdg,coladdr,pal16b,vesa2_bpos
EXTSYM V8Mode,doveg,pal16bcl,pal16bxcl,prevbright,prevpal,vesa2_clbit
EXTSYM vesa2_gpos,vesa2_rpos,vesa2_usbit,vidbright
EXTSYM cgmod,cgram,gammalevel16b
EXTSYM cgmod,cgram,gammalevel16b,dovegrest
EXTSYM winspdata
EXTSYM csprbit,csprprlft,sprclprio,sprsingle,sprpriodata
EXTSYM bgofwptr,bgsubby,bshifter,curmosaicsz,cwinptr,osm2dis,temp
@@ -889,6 +889,10 @@ NEWSYM setpalall
jnz near .loopa
mov al,[vidbright]
mov [prevbright],al
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
NEWSYM colleft16b, db 0
@@ -964,6 +968,10 @@ NEWSYM setpalette16b
inc byte[colleft16b]
jnz near .loopa
.skipall
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
;pal16b times 256 dw 0

View File

@@ -57,7 +57,7 @@ EXTSYM ofsmval,ofsmvalh,hdmaearlstart,ofsmvalh,cbgval,drawlinengom4b16b
EXTSYM drawsprngw,ignor512,winbg1envals,FillSubScr,scanlines
EXTSYM drawmode7win16bd,SpecialLine,vidmemch2s
EXTSYM smallscreenon,ScreenScale,SA1Enable,drawlinengom16x164b16b
EXTSYM doveg,V8Mode
EXTSYM doveg,V8Mode,dovegrest
EXTSYM bgallchange,bg1change,bg2change,bg3change,bg4change
EXTSYM ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr
EXTSYM BuildWindow2
@@ -166,6 +166,10 @@ NEWSYM setpalallng
pop eax
pop esi
xor ecx,ecx
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
NEWSYM setpalette16bng
@@ -264,6 +268,10 @@ NEWSYM setpalette16bng
pop esi
xor ecx,ecx
.skipall
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
prevpal2 times 256 dw 0F00Fh

View File

@@ -2225,8 +2225,17 @@ NEWSYM testpressed8b
; MakePal Changes the entire palette
;*******************************************************
; set the brightness with [maxbr]
NEWSYM cgramback, times 256 dw 0
NEWSYM doveg
pushad
; backup cgram
mov ecx,128
xor ebx,ebx
.loop
mov eax,[cgram+ebx]
mov [cgramback+ebx],eax
add ebx,4
loop .loop
xor eax,eax
mov al,[coladdr]
add al,[coladdg]
@@ -2272,6 +2281,19 @@ NEWSYM doveg
popad
ret
NEWSYM dovegrest
pushad
; backup cgram
mov ecx,128
xor ebx,ebx
.loop
mov eax,[cgramback+ebx]
mov [cgram+ebx],eax
add ebx,4
loop .loop
popad
ret
blahblahblah dw 0
NEWSYM dosmakepal
@@ -2404,6 +2426,10 @@ NEWSYM makepalb
out dx,al
out dx,al
.nochange128
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
NEWSYM tempco0, dw 0
@@ -2540,6 +2566,10 @@ NEWSYM doschangepal
out dx,al
out dx,al
.nochange128
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret
NEWSYM prevbright, db 0 ; previous brightness
@@ -3019,42 +3049,51 @@ NEWSYM hextestoutput
EXTSYM Op14Zr,Op14Xr,Op14Yr,Op14U,Op14F,Op14L
EXTSYM Op02CX,Op02CY,bg1scrolx,bg1scroly
EXTSYM TValDebug,TValDebug2,curhdma
mov al,[scaddset]
mov ebx,[C4Ram]
mov al,[ebx]
call outputhex
mov esi,216*288+32+16
add esi,[vidbuffer]
xor eax,eax
mov al,[scaddtype]
mov ebx,[C4Ram]
mov al,[ebx+1]
call outputhex
mov esi,216*288+70
add esi,[vidbuffer]
xor eax,eax
mov al,[scrnon]
mov ebx,[C4Ram]
mov al,[ebx+2]
call outputhex
mov esi,216*288+70+16
add esi,[vidbuffer]
xor eax,eax
mov al,[scrnon+1]
mov ebx,[C4Ram]
mov al,[ebx+3]
call outputhex
mov esi,216*288+108
add esi,[vidbuffer]
xor eax,eax
mov al,[bg1scrolx+1]
mov ebx,[C4Ram]
mov al,[ebx+4]
call outputhex
mov esi,216*288+108+16
add esi,[vidbuffer]
xor eax,eax
mov al,[bg1scrolx]
mov ebx,[C4Ram]
mov al,[ebx+9]
call outputhex
mov esi,216*288+146
add esi,[vidbuffer]
xor eax,eax
mov al,[bg1scroly+1]
mov ebx,[C4Ram]
mov al,[ebx+10]
call outputhex
xor eax,eax
mov esi,216*288+146+16
add esi,[vidbuffer]
or al,[bg1scroly]
mov ebx,[C4Ram]
mov al,[ebx+11]
call outputhex
ret