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 FPUZero,coladdb,coladdg,coladdr,pal16b,vesa2_bpos
EXTSYM V8Mode,doveg,pal16bcl,pal16bxcl,prevbright,prevpal,vesa2_clbit EXTSYM V8Mode,doveg,pal16bcl,pal16bxcl,prevbright,prevpal,vesa2_clbit
EXTSYM vesa2_gpos,vesa2_rpos,vesa2_usbit,vidbright EXTSYM vesa2_gpos,vesa2_rpos,vesa2_usbit,vidbright
EXTSYM cgmod,cgram,gammalevel16b EXTSYM cgmod,cgram,gammalevel16b,dovegrest
EXTSYM winspdata EXTSYM winspdata
EXTSYM csprbit,csprprlft,sprclprio,sprsingle,sprpriodata EXTSYM csprbit,csprprlft,sprclprio,sprsingle,sprpriodata
EXTSYM bgofwptr,bgsubby,bshifter,curmosaicsz,cwinptr,osm2dis,temp EXTSYM bgofwptr,bgsubby,bshifter,curmosaicsz,cwinptr,osm2dis,temp
@@ -889,6 +889,10 @@ NEWSYM setpalall
jnz near .loopa jnz near .loopa
mov al,[vidbright] mov al,[vidbright]
mov [prevbright],al mov [prevbright],al
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret ret
NEWSYM colleft16b, db 0 NEWSYM colleft16b, db 0
@@ -964,6 +968,10 @@ NEWSYM setpalette16b
inc byte[colleft16b] inc byte[colleft16b]
jnz near .loopa jnz near .loopa
.skipall .skipall
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret ret
;pal16b times 256 dw 0 ;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 drawsprngw,ignor512,winbg1envals,FillSubScr,scanlines
EXTSYM drawmode7win16bd,SpecialLine,vidmemch2s EXTSYM drawmode7win16bd,SpecialLine,vidmemch2s
EXTSYM smallscreenon,ScreenScale,SA1Enable,drawlinengom16x164b16b EXTSYM smallscreenon,ScreenScale,SA1Enable,drawlinengom16x164b16b
EXTSYM doveg,V8Mode EXTSYM doveg,V8Mode,dovegrest
EXTSYM bgallchange,bg1change,bg2change,bg3change,bg4change EXTSYM bgallchange,bg1change,bg2change,bg3change,bg4change
EXTSYM ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr EXTSYM ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr
EXTSYM BuildWindow2 EXTSYM BuildWindow2
@@ -166,6 +166,10 @@ NEWSYM setpalallng
pop eax pop eax
pop esi pop esi
xor ecx,ecx xor ecx,ecx
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret ret
NEWSYM setpalette16bng NEWSYM setpalette16bng
@@ -264,6 +268,10 @@ NEWSYM setpalette16bng
pop esi pop esi
xor ecx,ecx xor ecx,ecx
.skipall .skipall
cmp byte[V8Mode],1
jne .noveg2
call dovegrest
.noveg2
ret ret
prevpal2 times 256 dw 0F00Fh prevpal2 times 256 dw 0F00Fh

View File

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