> Prompts and model completions are retained for at least 30 days and then automatically deleted, unless they are subject to a safety investigation or we are legally required to maintain them.
Graphics programming in the early to mid 1990s was pretty fun: write pixel data into the memory-mapped video RAM and it appears on the screen! A pointer to 0xA0000 was all you needed - no API or anything. The reason for the non-square-pixel 320×200 VGA mode they mention was that the video buffer took 64000 bytes, which fit into a 16-bit segment, making addressing it easy in 16-bit code/CPUs.
I always found it really funny that PC's had these absolute monsters of CPU's relative to the consoles of the time but because of the graphics setup they struggled to do smooth scrolling like Mario on the NES in 1985. But that weakness meant you could essentially do a lot more work per pixel on screen and thus allowed these ray casting/BSP tree systems.
So while it didn't have custom processors for sprites and background layers it meant there wasn't a rigid fixed function nature to what the PC could do.
By the mid-late 90's with dedicated 3D processor this wasn't an issue any more but there was a brief time in the early 90's where there was this wonderland of unique visual rendering.
Though your extender could make things a little more annoying on that front :-P
(DJGPP and Free Pascal -which use the same "go32" extender by DJ Delorie- do not do a full linear mapping so you need to do a bit more juggling to get stuff on screen there)
There is 16-bit DOS support in Free Pascal these days (yes, added long after 32-bit DOS support). That makes it easier to get a pointer to video memory. Makes other things less easy.
Also some (more) free (open source) 16-bit C-compilers now, like the ia16 gcc port and Microsoft's C compiler included in the MS-DOS repo on GitHub.
Not that 32-bit extenders do not come with some advantages, but I enjoy the simplicity of 16-bit.
I think GP is referring to EGA which also used address 0xA0000 but you had to program it in it a planer mode of 16 colors out of a palette of 64. VGA provided backward compatibility with this but introduced the 256 color modes with mode 13h being the linear addressable 320x200 res mode, however this mode sacrificed 3/4 of the video memory. This mode was also referred to as "chained" mode as it chained all 4 bitplanes together for convenient linear addressing. There was also unchained mode, sometimes referred to as mode-x which allowed you to access all 256kb of video memory, resize the virtual screen, page flipping, etc. at the cost of compute overhead. Lots of tradeoffs to be made in those days. Some amazing looking 16 colors VGA games were produced in the early 90s, one that comes to mind is Gods by Bitmap Brothers.
reply