vga bios character remapping question (text mode)
category: code [glöplog]
hi,
am doing some mode 3 (80x25 text mode) stuff where characters are being remapped using int 10 11h (they're 9x16). usually the only characters you'd expect to touch are the ones like the double lines/with angles commonly used to draw boxes (like in turbo vision)
for some reason we can't work out why there are gaps between characters, but when a character like the box type ones described above is replaced it'll touch where the replaced character did.
it seems like there is something else that we're missing can be set?
thanks
am doing some mode 3 (80x25 text mode) stuff where characters are being remapped using int 10 11h (they're 9x16). usually the only characters you'd expect to touch are the ones like the double lines/with angles commonly used to draw boxes (like in turbo vision)
for some reason we can't work out why there are gaps between characters, but when a character like the box type ones described above is replaced it'll touch where the replaced character did.
it seems like there is something else that we're missing can be set?
thanks
Quote:
... For ASCII 129-223,
the value of the ninth column is the same as the value for the eighth
column. For all other characters, the ninth bit is drawn as clear -- hence
that gap when you put two shading characters next to each other, which I
personally find a bit unattractive...
from http://www.programd.com/12_6e06fb912dd592ad_1.htm
Hope that helps (?)
I think that has put us right where we need to be and makes sense based on what we've seen. Shame none of the various spec's mention this quirk!
Later in the post you linked someone says xC0-xDF is the range, not 129-223 (x81-x223)
Which explains why an earlier experiment with other box characters < C0 didn't work as expected.
Thanks ever so much :) (Just a shame this is a work thing and not scene related!)
Later in the post you linked someone says xC0-xDF is the range, not 129-223 (x81-x223)
Which explains why an earlier experiment with other box characters < C0 didn't work as expected.
Thanks ever so much :) (Just a shame this is a work thing and not scene related!)
** Not 129-223 (x81-xDF)
I'll report back for sure!
I'll report back for sure!
Result: Just seen it working :-)
hopefully this'll get spidered by google etc and help people in the future
hopefully this'll get spidered by google etc and help people in the future
Great to hear :)
You can reprogram vga to use 8x?? chars and eliminate the gap/duplicated column. Side-effect: 90x25 text mode.
...or use 25 mhz cock (instead of 28 mhz default textmode clock) and set 8-pixel characters. you can now use 80x25 8x16 textmode :)
once you've seen the 9th-pixel-gap, you can't unsee it.
back in the dos days, i had a tiny .com i found somewhere that set 80x25 with 8-pixel chars, and a much nicer palette. I still have it, if you want to disassemble it. I hacked it into the linux kernel near the vga=ask code many years ago because I loved this mode so much.
http://home.rqdq.com/SCRFIX.COM
back in the dos days, i had a tiny .com i found somewhere that set 80x25 with 8-pixel chars, and a much nicer palette. I still have it, if you want to disassemble it. I hacked it into the linux kernel near the vga=ask code many years ago because I loved this mode so much.
http://home.rqdq.com/SCRFIX.COM
Quote:
...or use 25 mhz cock
That's one fast cock...
You could also try setting a 80x25 textmode using a 640x200 resolution and then reprogramming the screen doubling register.
i.e.
i.e.
Code:
mov ax,01200h
mov bl,30h
int 010h
mov ax,03h
int 010h
mov dx,03d4h
mov al,9
out dx,al
inc dx
mov al,7
out dx,al