First post, by keenmaster486
- Rank
- l33t
Title says it all. I've been playing around with Open Watcom, writing functions to draw things with VGA in 16-bit real mode DOS. I have had success doing simple things like setting the video mode (mode 13 for now) and drawing a pixel, and building shapes using my pset function, but to be honest I'm not really sure exactly what I'm doing other than that I am writing values to certain registers in the VGA chip. I'm following David Brackeen's tutorial, which seems to be pretty much the only mainstream resource on this sort of thing that is immediately available on the internet. I'm using C++ but all the routines are easily workable even though they were written in C, and for Borland Turbo C at that, but they are working just fine in Open Watcom compiling for 16-bit real mode DOS. I'm using Windows 9x for development so far as it makes it easy to test things.
So far so good. But what I really need is to go much deeper than just drawing pixels on the screen. On my list of functions I want to write are (among others):
- Change active/visible pages
- Flip pages
- Copy pages one to another
- Scroll a page horizontally or vertically, in hardware (this seems to be the hardest to do and I cannot find ANY information on exactly how to do this, anywhere on the internet)
But information on how to do these is scarce. I'm not totally in the dark - for example I know that in order to have more than one video page I have to use Mode X instead of Mode 13h, because in 13 you have only 64 KB of video memory, whereas with Mode X you get access to all 256 K - but I am still very much confused on how to do things like scrolling.
I wonder if any VGA and 16-bit DOS programming gurus can help me out with this, or maybe link to some resources that would help me.
World's foremost 486 enjoyer.