Remix.run Logo
mkl 5 hours ago

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.

badsectoracula 5 hours ago | parent | next [-]

> A pointer to 0xA0000 was all you needed

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)

russdill 4 hours ago | parent | prev [-]

Until VGA came along....the story was much more complex.