13

In Michael Abrash's Graphics Programming Black Book, many chapters are dedicated to fast drawing of primitives, fills and copies using the 320x240 256-colour Mode X.

What MS-DOS games used Mode X?

There are many articles which refer indirectly to games using Mode X ('many games', 'popular games'), but I can't find any that name a game as using Mode X.

The only game that I've seen suggested is Doom, and that game doesn't use the resolution of Mode X (320x240), but the resolution of 13h (320x200) with some of the Mode X features, resulting in a mode referred to as 'Mode Y'.

Joe
  • 1,592
  • 12
  • 19
Carr
  • 353
  • 2
  • 7
  • 3
    Mode X was supported by the Allegro games library — https://en.wikipedia.org/wiki/Allegro_(software_library) — leading to a plentiful supply of freeware games you've never heard of (including my own). Beyond that I can't think of anything that isn't already in Stephen Kitt's linked Moby list. Of those, Car & Driver was particularly impressive for me at the time, going up to something like 320x400 if memory serves, and being a 3d game so that really was just more detail, no negative side effects. – Tommy Jan 29 '20 at 16:24
  • 7
    Coincidently, I recently found an off-by-two error from the Abrash's Mode X setting code by accident. Abrash's code sets vertical total lines registers to value of 525 lines as there should be 525 lines in total per frame. But according to several VGA register manuals, the registers needs to be set to total lines minus 2, or value of 523, to have 525 total lines per frame. Not a big deal, but the two extra lines slow down the refresh rate slighly when compared to 640x480 60Hz mode, while their timing parameters should be identical. – Justme Jan 29 '20 at 17:36
  • 2
  • 1
    @Justme That might be an error in Abrash's code, or an error in the VGA manuals. The only way to know is to try the code, and see if it works - while keeping in mind that VGA cards at the time weren't exactly compatible (I remember we had to use something like five different versions of the VGA code for some trickery to get things to work right on every machine we had access to). – Luaan Jan 30 '20 at 07:24
  • 2
    @Luaan Both will probably work, at least on the analogue monitors of the time that didn't expect timings to be exact. –  Jan 30 '20 at 07:38
  • Commonly, the term "Mode X" is used for the addressing scheme (chain-4 disabled) and not related to a specifc timing / resolution. I've heard the term "Mode X" applied to all variations of VGA 256-color modes with chain-4 disabled with resolutions between 320x200 and 360x480. "Mode Y" specifically for 320x200 with no chain-4 addressing seems to be a term that is less wide-spread. – Michael Karcher Mar 09 '22 at 18:28

3 Answers3

15

Many PC pinball games use Mode X, notably Pinball Fantasies, Pinball Illusions and Epic Pinball.

Nerdly Pleasures also has a comprehensive post on games using “unofficial” resolutions, which includes a number of other games which support 320×240: Quake, Earthworm Jim, The Lost Vikings, Norse by Norse West, and Scorched Earth.

On Moby Games, such games are listed as supporting “tweaked VGA” modes (although that probably includes more than Mode X games). Moby Games lists 149 games supported tweaked VGA.

Stephen Kitt
  • 121,835
  • 17
  • 505
  • 462
  • Appreciated! I was wondering what cases would be the most applicable to Mode X, and pinball games are a natural fit, yes - not a lot of sprites moving; small number of types of moving object to let you precalculate single-pixel-X-scrolled objects for copying; scrolling - specifically vertical. Makes a lot of sense. – Carr Jan 29 '20 at 21:36
  • 3
    When displaying 256 colors without using mode-X-style bit planes, a VGA card will be limited to showing 65,536 total pixels, which would limit the number of lines to 204 when using 320 dots/line, or the number of pixels per line to about 272 when using 240 lines. Mode X makes vertical scrolling effortless over an 816-line virtual screen. – supercat Jan 29 '20 at 22:59
  • Came here to see if Scorched Earth was in the list. Great game and it was widespread. – Prof. Falken Jan 30 '20 at 09:19
5

There's an entire website full of games listed by graphics mode. They don't have every game, but they have a large amount for each graphics mode which is useful for getting references/perspective:

https://www.classicdosgames.com/video/vgans.html (Mode X)

They even mention the exact mode number ('Mode 13h' which is VGA) as well as "nonstandard VGA" (using Mode X registers but then set back to normal 320x200 VGA resolution, which John Carmack et al called 'Mode Y', used for Wolfenstein 3D, and DOOM.)

Other resolutions listed for reference:

https://www.classicdosgames.com/video/ega.html (CGA)

https://www.classicdosgames.com/video/ega.html (EGA)

https://www.classicdosgames.com/video/vga.html (VGA)

https://www.classicdosgames.com/video/svga.html (SVGA)

https://www.classicdosgames.com/video/hercules.html (Hercules)

Katastic Voyage
  • 151
  • 1
  • 3
2

Found a direct quote and description from Arjan Brussee saying Jazz Jackrabbit was written for Mode X:

Anyone know what res. Jazzy Jackrabbit is done in?? It pops my monitor into out-of-center display. Is it some ModeX mode?? [...]


modex. wait for a fix which should be there soon, which has some settings for different videocards.

arjan brussee - programmer of JJ

The following post contains a short description of how per-pixel scrolling worked in JJ in Mode X.

full directional, unlimited scrolling like this should be possible in 320x200, I did it back in 1994 with Jazz Jackrabbit 1. You need to set the offset per 4 pixels, then set the pixel scroller register to address the exact pixel that you want to start on. I can't find the source so fast, but I will release the full source code of Jazz-1 in about a month on my website.

But it can also use VGA with the /VGA flag:

You could try to run Jazz with the /VGA switch, which uses another game mode.

Stephen Kitt
  • 121,835
  • 17
  • 505
  • 462
knol
  • 306
  • 1
  • 3
  • Nice digging! Jazz Jackrabbit uses a rather unusual 320×199 resolution in mode X (see this Nerdly Pleasures post). – Stephen Kitt Apr 14 '20 at 08:04
  • I always wondered about that 199 line mode whether it was just a typo made by Arjan Brussee. Nerdly Pleasures speculates that it was used to run a 320x200ish mode at 60hz but you can set up a 320x200 mode at 60hz. I do that for this demo I wrote last year https://www.pouet.net/prod.php?which=92991 – Sam May 01 '23 at 11:07