flyinj: Ah, that did the trick, thanks!
I was wondering if their were two base resolutions for low-res VGA. I did seem to recall that, thanks for confirming!
This involves a little history lesson. Back with 186/286 there was extremely limited memory. Not only that the CPU was 16 bit, so it could only natively access 64k at a time, and they kept this for compatibility reasons. So they did an offset 'segment' registers that shifted the memory access, so DS of 1000h would actually let you access 10000-1FFFF through a single segment (
aka shifting 4 bits or multiplying by 16). The max memory you could access using this scheme is FFFF0-10FFEF (
Just over a meg). Writing it with assembly would look something like
MOV DS:[BP],AX .
The conventional memory layout was the first 1k was used for pointers for interrupt handling (
pointers to where an interrupt is to call, MS-DOS took 20h and 21h, the BIOS had a lot of others available for basic disk management printing, keyboard input etc etc). The last 4 bytes FFFFC-FFFFF was for bootup (
which was a jump operation to where it should start booting from, basically from ROM). Along with that Video memory was assigned to A0000-BFFFF, giving you 128k of video memory to work with. There's a few other memory locations but not really important right now., except to say with MS-DOS and the upper memory decided on you typically had your dreaded 640K to work with the OS and programs.
There were a lot of standard VGA resolutions. These had to be limited within the 128k of memory listed above, so a lot of varieties of width, height, and depth were used. Higher colors limited down to the 320x400 (
or so for 8bit color). Going up you then could get 640x480x16, as well as 1bit depth with black and white. (
Curiously the number of colors to choose from in the 8bit was only 18bit or 262,144, basically 3 6-bit fields of RGB)
With the 386 processor and protected mode you got 32bit addressing, as well as SVGA which allowed far higher resolutions and colors that we are more familiar with today (
assuming you had the memory for it, which became cheaper later). But it was quite common to have video cards with 1Mb or less of memory, and these cards would be HUGE! We're talking like the size of a sheet of paper and 20x as thick!
It really comes down to architecture limitations of the time. You should thank your stars you don't have to manually format your hard drives of 200Mb with how many sectors cylinders and heads there are, and manually setting push-pins to set up your video card and sound card anymore.