Hacker News new | ask | show | jobs
by int_19h 2746 days ago
> He was just taking the existing video modes and changing them. For instance, instead of having a video mode of 640x400 with 16 colors, Abrash figured out that you could have a video mode of 320x200 with 256 colors and most importantly, a buffer. It was that buffer that was absolutely critical; it changed the game completely. It allowed programmers to draw a screen, flip a bit, and change the entire screen in a millisecond.

To be more specific: 320x200x8 was a standard documented VGA video mode (13h), but it lacked the ability to page flip. There were other video modes that did allow page flipping - the idea itself dates back to some of the earliest text-only modes - but none of them were 8-bit color.

Mode X (which Abrash discovered) allowed page flipping while retaining all 256 colors.

Page flipping is different from double buffering, though. Double buffering is when you render to an offscreen buffer, and then bulk copy the resulting pixels into video RAM (usually with vsync to avoid visible tearing). This could be done just as well with regular mode 13h, and it was pretty common for games to do exactly that. Page flipping made things much faster by avoiding the need to copy anything - everything is in video RAM, you just switch which parts of it are currently visible on screen.

1 comments

Hey Microsofties, did DirectX trace its naming back to Mode X at all?
http://craig.theeislers.com/2006/02/20/directx-then-and-now-...

"Since multimedia on Windows had a bad reputation back then, we were adamant not to have our stuff associated with “multimedia” and so we called the first beta the “Game SDK”. We got the idea to name it DirectX because some reporter made of fun of how we had DirectDraw, DirectSound, and DirectPlay – Direct “X” they wrote. We took it and ran with it, and so every set of functionality became DirectSomethingOrOther (Direct3D, DirectInput, DirectSound3D all followed)."

And "direct", of course, was in a sense of direct access to the hardware (more direct than GDI, anyway).

No, the X in DirectX is used as a sort of variable with X referring to the many subsystems of DirectX (e.g. DirectDraw, Direct3D, DirectInput, DirectSound, etc).
What a great question!

I know that the xBox is named after DirectX.

If DirectX is named after Mode X, then the Xbox owes it's name to Abrash.