Bochs, Fonts, and Text Mode VGA Goodness
Posted: Tue Apr 13, 2004 11:16 pm
I'm working on implementing some VGA programming... nothing fancy. I've done my searching, tried writting my own VGA register code, failed many times, and found some code written by Chris Giese located here: http://my.execpc.com/CE/AC/geezer/osd/graphics/modes.c . What i'm doing is basicly using this as a template and setting the text mode to 90x60 before I try my hand at 320x200x256 mode. There's a problem I cannot solve however...
While in bochs, the text is all cut in half. Ie: if I were typing this message in my OS, all i'd see would be the upper half of the characters. Note that this is a lot better from what I was having earlier in the evening when the bochs kept rebooting because of tripple faults. So... i've solved a lot of other things, but this problem just perplexs me. Note also, bochs does switch to 90x60 resolution, so I know at least that's going right.
I can post all the code if you want, but it's mainly a reproduction of the code given in the link above with modifications to account for memory addressing differences (no segments in my pmode OS).
I do not pretend to fully understand VGA programming, but I have read a lot so far and have searched the forms for hours, etc.. I consider myself a newbie/novice/only-have-read-about-this-for-six-months person. What I think, from an application developer's standpoint, is that Bochs is using a 8x16 font when it should be using an 8x8 font. Does anyone know if this is the case?
Any comments would be helpful!
My version of the code is about 400 lines w/o the arryay's of font definitions. Can post upon request.
Thanks!
- Simrook (Loooong time lurker, few time's the poster).
While in bochs, the text is all cut in half. Ie: if I were typing this message in my OS, all i'd see would be the upper half of the characters. Note that this is a lot better from what I was having earlier in the evening when the bochs kept rebooting because of tripple faults. So... i've solved a lot of other things, but this problem just perplexs me. Note also, bochs does switch to 90x60 resolution, so I know at least that's going right.
I can post all the code if you want, but it's mainly a reproduction of the code given in the link above with modifications to account for memory addressing differences (no segments in my pmode OS).
I do not pretend to fully understand VGA programming, but I have read a lot so far and have searched the forms for hours, etc.. I consider myself a newbie/novice/only-have-read-about-this-for-six-months person. What I think, from an application developer's standpoint, is that Bochs is using a 8x16 font when it should be using an 8x8 font. Does anyone know if this is the case?
Any comments would be helpful!
My version of the code is about 400 lines w/o the arryay's of font definitions. Can post upon request.
Thanks!
- Simrook (Loooong time lurker, few time's the poster).