Reply 20 of 26, by wd
It'll go wrong for cga-machines in mode4/5 when xoring with
some colour!=1.
Why do you want to add more complexity into WriteChar anyways?
It'll go wrong for cga-machines in mode4/5 when xoring with
some colour!=1.
Why do you want to add more complexity into WriteChar anyways?
In the current CVS version still exist video mode 6
mov al,'x'
mov ah,0ah
mov bl,80h ; xor
int 10h
no have the xor's behaviour.
In AT-bios document not mention the bl register,
But in real machine behaviour make affect by bl's bit7
We like to emulate the real machine, not the document.
The below code change in int10_char.cpp resolve
my favorite 2 chinese chess game's corrupt issue.
If someone need game to debug/test this issue, I will mail to him.
If someone had the same issue can modify below code snips
========= in int10_char.cpp =========
switch(CurMode->type) {
case M_CGA4:
attr = 0x1;
break;
case M_CGA2:
// attr=(attr&0x80)|1;
break;
case M_TANDY16:
case M_EGA16:
default:
attr = 0xf;
break;
}
//Some weird behavior of mode 6 (and 11)
if ((CurMode->mode == 0x6)/* || (CurMode->mode==0x11)*/) attr = (attr&0x80)|1;
//(same fix for 11 fixes vgatest2, but it's not entirely correct according to wd)
> and use special case to process rather than to use pixel_function
Yes, the BIOS tty functions don't use setpixel at all, but using setpixel
seems easier to me.
Also the only special cases are mode6+11 i'd say, so the changes
could be done in one line (just the mode11 additionally), but i
did not test the xoring-functionality of mode11 yet.
I can't find the thread, after edit the post.
So add this message to test.
What?
I edit the post 15 ,
Re: int10 function write char xor' to current graphic screen :: 2006-1-18 @ 09:18 am
........do some modify ......
Last edited by jefferl on 2008-3-19 @ 04:33 am; edited 1 time in total
When I finish edit the post and submit it ,
I can't find this thread appear in the recently changed thread lists.
Well that's why you should use replies in general rather than editing 😀
Even now it's not obvious what exact parts were changed in that posting.