pouët.net

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
added on the 2015-04-01 17:45:40 by Canopy Canopy
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 (?)
added on the 2015-04-01 18:05:37 by HellMood HellMood
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!)
added on the 2015-04-01 18:34:46 by Canopy Canopy
** Not 129-223 (x81-xDF)

I'll report back for sure!
added on the 2015-04-01 18:36:24 by Canopy Canopy
Result: Just seen it working :-)

hopefully this'll get spidered by google etc and help people in the future
added on the 2015-04-01 18:43:43 by Canopy Canopy
Great to hear :)
added on the 2015-04-01 18:48:23 by HellMood HellMood
You can reprogram vga to use 8x?? chars and eliminate the gap/duplicated column. Side-effect: 90x25 text mode.
added on the 2015-04-02 01:49:52 by trixter trixter
...or use 25 mhz cock (instead of 28 mhz default textmode clock) and set 8-pixel characters. you can now use 80x25 8x16 textmode :)
added on the 2015-04-02 03:06:44 by wbcbz7 wbcbz7
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
added on the 2015-04-02 06:55:37 by anix anix
Quote:
...or use 25 mhz cock

That's one fast cock...
added on the 2015-04-02 09:22:40 by britelite britelite
You could also try setting a 80x25 textmode using a 640x200 resolution and then reprogramming the screen doubling register.
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
added on the 2015-04-03 14:26:26 by insane insane
Quote:
That's one fast cock...

..we've just need some fast cack ;)
added on the 2015-04-03 17:43:30 by wbcbz7 wbcbz7

login