dosbox

DOSBox Graphic and machine emulation
CGA, VGA, Tandy, PCJr and Hercules

A chronological list of the different graphical display types for the IBM PC format, including those that DOSBox does not directly support.

Reading time of 4070 words
20 minutes
Reading time of 4070 words ~ 20 minutes


Did you find this article helpful?
Please consider tipping me a coffee as a thank you.
Ko-fi Buy Me a Coffee
Did you find this article helpful? Please consider tipping me a coffee or three as a thank you.
Tip using Ko-fi or Buy Me a Coffee

If you have ever attacked the DOSBox configuration file, you might have encountered a not-so-obvious machine=svga_s3. This setting is not all that important for PC games made around 1992 or later. But for many games created during the 1980s, it can be critical in maximizing the best visual and audio output the game offers.

Introduction

By default, DOSBox has the MACHINE setting set to svga_s3. For visuals, this is not only the best option available but also the most compatible. But if you read the commented section in the settings file, it states:

The type of machine tries to emulate. Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.

That’s twelve choices that can dramatically change the way your games look and play. In this article, I will chronologically list the different graphical display types for the IBM PC format, including some that DOSBox does not directly support. It should give you an overall understanding of these machines and help you determine the best settings for your early DOS games and software.

This article won’t go into the heavy technical details, such as supported monitor refresh rates and aspect ratios, and mainly focuses on graphics, not text modes.

DOSBox config file
[dosbox] machine=svga_s3 setting

MDA

No DOSBox emulation

IBM released the first PC in 1981, and the Monochrome Display Adapter was the standard display for the system. MDA is not a graphics mode per se as it does not support any software graphics; it only offers a monochrome text mode display with text character effects.

Occasionally you will encounter an early PC game that only supports text mode, which was often for MDA compatibility being the lowest common denominator for PCs of the period. The first commercial game for the PC was the text-only adventure title Microsoft Adventure.

DOSBox does not support or emulate MDA though there is no need as all text mode software will work under any DOSBox machine mode.

Microsoft Adventure title
Microsoft Adventure, the first game for the IBM PC, in MDA text mode

CGA

DOSBox config: machine=cga

IBM introduced the Color Graphics Adapter as the more expensive add-on for the IBM PC at its initial 1981 release. Unlike the text-only MDA offering, CGA allowed limited color and software graphics. Its downside was the significantly lower resolution in text mode, which didn’t appeal to businesses.

In 1984 IBM reduced the price of the CGA adapter after it released the EGA successor. And then, for nearly a decade afterward, the more affordable CGA standard became the lowest common denominator graphic platform for PC game developers.

CGA offered a confusing number of graphic options, but most games used the digital RGBI (red, green, blue, intensity) mode, with four predetermined colors on-screen. The usable colors are in groups of palettes that are notoriously ugly.

CGA RGB graphic color palettes
00+11+
black
black
black
black
green
bright green
cyan
bright cyan
red
bright red
magenta
bright magenta
brown
yellow
white
bright white

CGA also offered an NTSC composite color mode with output for US/Japanese analog televisions and monitors. Game developers and programmers could push many more on-screen colors than was initially thought possible by utilizing analog technology with color blending and artifacts.

In 2015 several retro computing demoscene enthusiasts released the video 8088 MPH that pushed the CGA modes to unthinkable limits! And a more technically impressive sequel, Area 5150, was released in 2022.

DOSBox mostly emulates composite mode and its hacks. Whenever you encounter a CGA-only game that supports composite (analog), in addition to the RGBI (digital) mode, then make sure you set the DOSBox.conf to MACHINE=CGA so you have the option for the more colorful, analog output.


Text mode comparison

Microsoft Adventure, Version 1.00

Microsoft Adventure title
CGA using a chunkier text mode
Microsoft Adventure title
A sharper VGA text mode

Common CGA modes comparison

King’s Quest, self-booting release using machine=CGA.

King's Quest title
The title screen stating, this is the composite color mode
King's Quest castle scene
Composite color mode using the DOSBox CGA machine
King's Quest title
The title screen stating, this is the RGB color mode
King's Quest castle scene
RGB color mode using the DOSBox CGA machine

The RGB scenes would look different on an actual CGA RGB monitor where the dots would blur to create shade effects.


What happens when you run this CGA only game using the DOSBox default machine=svga_s3 setting?

King's Quest castle scene
Composite color mode using the DOSBox S3 machine
King's Quest castle scene
RGB color mode using the DOSBox S3 machine

When using the DOSBox machine=CGA setting and running a game in RGB color mode, in-game, you can use the F11 and Alt+F11 keys to adjust the tint of the color. Old NTSC televisions used the tint adjustment to change the color of the TV.

King's Quest castle scene
Composite color mode with a DOSBox tint adjustment

Hercules

DOSBox config: machine=hercules

Hercules is probably the only third-party graphic chipset that became a standard on the IBM PC during the 1980s. Introduced in 1982 by Hercules Computer Technology, the Hercules Graphics or Herc mode became a common and affordable alternative to the standard IBM offerings. It had a high-resolution text mode like IBM’s MDA and a high-resolution graphics mode that surpassed anything CGA could offer.

But the most attractive feature for many of Hercules’s customers was that the Hercules card was MDA compatible. So this meant they could use a considerably cheaper MDA monitor to display high-resolution monochrome graphics.

Microsoft Adventure title
Microsoft Adventure in Hercules text mode
King's Quest title
King's Quest v2 title screen in Hercules mode
King's Quest castle scene
King's Quest v2 in Hercules mode with sharp fonts
King's Quest II title
King’s Quest II v2.2 title screen in Hercules mode
King's Quest II beach
King’s Quest II v2.2 in game

In DOSBox, you can cycle between green, amber, and black monochrome base colors using the F11 key. It enhances the historical accuracy of the Hercules mode to simulate the range of monochrome monitors.

King's Quest castle scene
King's Quest v2 in Hercules green mode
King's Quest castle scene
King's Quest v2 in Hercules amber mode

IBM PCjr

DOSBox config: machine=pcjr

The IBM PCjr was an alternative PC line created by IBM to target the home computer user. Some argue it was made to cut into the successful sales of the Apple II computers. But the PCjr was a complete flop! The system, introduced to the market in 1984, was pulled within its first year due to poor sales.

While IBM created the PCjr to be reasonably compatible with its full-price PC line, it wasn’t compatible enough for many disappointed owners. Price was also an issue for IBM, with the system significantly more expensive than the competing home computer systems of the time. Many would argue that the system’s cheap n’ nasty keyboard and the cost-cutting of parts ultimately led to the quick demise of the PCjr.

While the PCjr as a line was dead by the end of 1985, it introduced several innovations to the range of IBM PCs. The PCjr included two built-in joystick ports and two cartridge ports for the fast-loading software. The sound improved with a three-channel tone-generated chip as opposed to the standard IBM single-channel beeper. The most significant innovation was the graphics upgrade from CGA to CGA Plus, also called PCjr graphics. This mode enabled the greater range of 16 colors on-screen.

Due to these unique upgrades, the games designed exclusively for the IBM PCjr will not work on other IBM systems or clones. The IBM PCjr does support but isn’t 100% compatible with all the available IBM CGA modes.

King's Quest castle scene
DOSBox using the IBM PCjr machine running King's Quest, the 1984 CGA release

The first version of King’s Quest by Sierra On-Line was released in 1984 by IBM.

It only works on the IBM PCjr or under DOSBox using MACHINE=PCJR.

King's Quest castle scene
IBM branding on the original release of King's Quest
King's Quest castle scene
Due to the similar color palette, people often confuse PCjr graphics with the later IBM EGA
King's Quest castle scene
16 colors on-screen, in RGB mode, with no dithering techniques

TGA, the Tandy 1000 series

DOSBox config: machine=tandy

TGA or Tandy Graphics Array is the name given to the graphics mode used by the Tandy 1000 series of computers. Tandy Corporation created this line as a clone of the IBM PCjr. However, just weeks before Tandy went retail with their new product, IBM pulled the plug on theirs, which left Tandy on their own. Tandy did manage to turn the situation to their advantage and successfully marketed the range through their Radio Shack and Tandy retailers. The Tandy series eventually became a PC standard within the games industry. And during the mid to late 1980s, these Tandy PCs became the most capable computers to play many MS-DOS games.

Unlike the defunct IBM PCjr, the Tandy computer series was IBM PC compatible, meaning that users could run most software and games that supported CGA mode when there was no Tandy support. The Tandy 1000 series also offered two joystick ports, a three-channel tone audio chip, and volume control. The operating system was saved to fast ROM (read-only memory), allowing for short boot-up times.

The Tandy standard, supported by many software companies, was eventually superseded at the end of the 1980s by the widespread adoption of VGA graphics and 3rd party audio sound cards.


The Tandy published edition of King’s Quest from 1984 does not support CGA, so DOSBox requires the MACHINE=Tandy configuration for full 16 colors.

Sierra On-Line Inc. logo
Tandy licensing on the original release of King's Quest
King's Quest credits
The Tandy release supported a joystick
King's Quest castle scene
16 colors on-screen, in Tandy mode, with no dithering techniques
King's Quest castle scene
The Tandy release of King's Quest is not appreciating a CGA machine configuration

EGA

DOSBox config: machine=ega

IBM introduced the Enhanced Graphics Adapter in 1984 but deemed a costly luxury for many, which meant it took a while to catch on. The new modes improved the vertical resolutions offering 320x350 or 640x350 and showed 16 colors onscreen from a 64-color palette.

Oddly enough, most games never supported EGA’s “enhanced” modes, instead opting for its backward compatibility with the IBM Color Display resolutions and limited 16-color palette. So many people, including my younger self, incorrectly assumed EGA was just CGA with 16-colors onscreen. One could attribute the lack of enhanced mode support in games to the significant work required to reprogram and redraw the graphics to suit the spare, almost double vertical height, and additional 64-color palette.

The original EGA card from IBM came with just 64kB of expensive video memory, limiting the 640x350 resolution to two-color monochrome. In the later life of EGA, some game titles, such as 1989’s Sim City, supported the EGA 640x350 mode using the enhanced 64-color palette. The enhancements require a graphics card expanded to 128kB of video RAM, which become more affordable.


Sim City for the PC from 1989 gave gamers many graphic modes to play in.

Sim City title
Sim City v1.06 using 640x350 EGA enhanced mode, needs 256kB of video memory and 640kB of RAM
Sim City title
Sim City v1.06 using 320x200 EGA mode, only requires 128kB or video memory and 512kB of RAM
Sim City title
Sim City v1.06 using 640x350 EGA monochrome mode, only requires 128kB or video memory and 512kB of RAM
Sim City gameplay
SimCity v1.06 using 640x350 EGA, this is the optimial resolution and color palette
Sim City gameplay
Sim City v1.06 using 320x200 EGA mode is identical to the Tandy mode
Sim City gameplay
Sim City v1.06 using 640x350 EGA monochrome mode, has its own graphics and looks better animated ingame

King’s Quest was revived and rereleased many times on the PC including in 1986, to add EGA support while requiring 256kB RAM and MS-DOS. But the game still used the same low-resolution, 160x200 pixel artwork created for the outdated 128kB-RAM equipped IBM PCjr.

King's Quest title
The 1986 re-release of King's Quest in 16 colors EGA mode
King's Quest title
The art closely resembles the 1984 IBM PCjr and Tandy releases

King’s Quest IV from 1988 is interesting as it came out in two separate boxed releases. The first required 256kB RAM and offered low-resolution 160x200 pixel, 16-color artwork. The other was the marketed release that needs 512kB RAM, for a higher resolution of 320x200, 16-color artwork, and supported PC soundcards.

King's IV Quest at the beach
King's Quest IV version 2 uses 160x200 pixel artwork in EGA mode and only needs 256kB of RAM
King's IV Quest at the beach
King's Quest IV version 1 uses 320x200 EGA mode, requires 512kB of RAM

MCGA

No DOSBox emulation

IBM introduced the Multi-Color Graphics Array in 1987 on their propriety PS/2 range of computers. Despite the acronym, MCGA was only ever included onboard and never offered as a separate upgrade card.

While it did introduce an amazing 256 colors onscreen from a palette of 262,144, the standard’s lack of high-resolution color support hinders is usefulness making it less suitable for business applications.

MCGA is only backward compatible with CGA (RGBI) for games, not the enhanced EGA modes. So unless a game offered specific MCGA support, the player would be stuck with a limited and ugly 4-color predetermined palette.


VGA

DOSBox config: machine=vgaonly or machine=svga_s3

IBM introduced Video Graphics Array in 1988, which is backward compatible with EGA and CGA (RGBI). Two modes of VGA were popular with software developers, a low resolution 320x200 with 256 colors or the high resolution 16-color mode at 640x400 pixels, both from a palette of 262,144 colors.

The game industry took a while to latch on to VGA. Initially, the VGA support matched the same color palette as EGA (or even the Tandy). Later, when porting titles from the Commodore Amiga or the Atari ST, matching palettes with 16 to 32-colors onscreen were used. Space Ace and Super Off Road are a couple of examples.

It wasn’t until 1990 that software publishers hit the retail selves with their first full VGA titles in glorious 256 colors. Lucasfilm’s The Secret of Monkey Island VGA release, Sierra’s King’s Quest V, and Access’s Links: The Challenge of Golf all helped to encourage the VGA home computer take up, which later led to the multimedia PC fad.

By 1992, 256-color VGA graphic hardware, hard disks, and audio sound cards had become commonplace in consumer PCs. It was clear that the PC platform would dominate the home computing and gaming landscape despite its many shortcomings.

In DOSBox, all the VESA / SVGA machines, including the default machine=svga_s3, should be compatible with most VGA games. A specific VGA-only machine=vgaonly setting exists to add “higher emulation precision” to the emulation. It disables all non-VGA resolutions, but this is best used as a fallback for troubleshooting.

#VGA compatible machines
1vgaonly
2vesa_oldvbe
3vesa_nolfb
4svga_paradise
5svga_et3000
6svga_et4000
7svga_s3

King’s Quest V from 1990 was created for VGA 320x200 in 256-colors and backported to 16-color EGA and even 4-color CGA.

King's Quest V house scene
King’s Quest V backgrounds were hand painted and digitally scanned

Dark Seed from 1992 is an unusal title as it uses the 640x350 EGA resolution but requires the VGA color palette.

Darkseed titlescreen
Darkseed from 1992 requires VGA and uses a 16 colour high resolution mode

The Secret of Monkey Island from 1990 was released as two separate retail releases. The EGA release came first and was the original platform for the artwork, but a different art team updated and “enhanced” the graphics to 256 colors for the VGA release.

The Secret of Monkey Island title
The Secret of Monkey Island EGA supporting 16 colours
The Secret of Monkey Island title
The Secret of Monkey Island VGA in 256 colours

Links: The Challenge of Golf from 1990 with its more realistic digital graphics probably encouraged a few business PCs to upgrade to VGA.

Links Torry Pines introduction
Links Torry Pines gameplay

The arcade game Ivan “Ironman” Stewart’s Super Off Road was quickly ported to home computers and consoles in 1990. The VGA PC port shares the same limited color palette as the Amiga port, despite being able to recreate the arcade colors.

Super Off Road title

Syndicate from 1993 uses a combination of VGA modes, the 320x200 256-color mode for title and cutscenes, while a 640x400 16-color mode is used for gameplay.

Syndicate title
The low resolution title screen
Syndicate gameplay
In-game, Syndicate used high resolution, 16-colors to increase the viewable action

IBM 8514

No DOSBox emulation

The 1987 8514/A graphics accelerator from IBM departed from all its previous graphic standards. It was an expensive, large propriety card that worked on IBM’s unique MCA interface found in their PS/2 line of computers. It only offered two interlaced resolutions, 640x480 and 1024x768, with either 16 or 256 colors onscreen. All other legacy modes get handled using a separate onboard VGA chipset that uses an internal passthrough to the connected monitor.


ET3000

DOSBox config: svga_et3000

Tseng Labs ET3000 series of cards from 1987 offered a high level of compatibility with the IBM legacy graphic and text modes. In addition, it also provided some non-standard, enhanced modes such as 640x480 in 256 colors, 800x600 in 16 or 256 colors, and 1024x768 in 16 colors. Initially, Tseng Labs created their own branded boards for retail using the chipset but later became a chip supplier for other manufacturers.


Paradise

DOSBox config: svga_paradise

Paradise Systems, which Western Digital purchased, was a chipset manufacturer that had somewhat of a success in 1988 with the release of the PVGA1A and 1B graphic chips. They offered full support for all IBM PC modes from MDA to VGA and added a non-standard 800x600 with 16-colors onscreen for the 1A and 1024x768 16-colors for the 1B.

As these cards came to market before the VESA or SVGA standards existed, games had to provide routines or drivers to support the non-standard resolutions. In some circles, these modes are referred to as PVGA or Paradise. Later, under Western Digital, the chips are often listed as the WD90CXX series.


SVGA

SVGA, or the Super Video Graphics Array, was not an official IBM PC graphics mode. Instead, it’s the collective, unofficial name given to PC graphic modes offering a higher definition than the official VGA specification. The name was later formalized into the VESA group’s Super VGA BIOS Extension and renamed VESA BIOS Extensions (VBE).

After the VGA standard, the technical specifications of better than VGA became inconsistent as 3rd party chipsets went in separate directions. It led to an unenviable situation for software developers where they needed to target each popular graphic chipset on the market. Consequently, consumers who bought cards with the latest chipsets often discovered that older software titles could not run in a high-resolution mode. Collectively these varying VGA extensions became known as Super VGA or SVGA. But in reality, there is no hard rule regarding what constituted SVGA for graphic cards produced in the 1980s.


SimCity 2000 from 1993 had to support over two-dozen incompatible SVGA cards that were standard in the marketplace. If a consumer had a graphics card that wasn’t listed in the setup or didn’t support the VESA Super VGA standard, they were out of luck! The box label requirements stated, extended VGA mode 640 x 480 (256 colors).

SimCity 2000 setup
SimCity 2000 setup displaying supported graphic cards

ET4000

DOSBox config: svga_et4000

Tseng Labs ET4000 cards from 1990 offered compatibility with the IBM legacy CGA, EGA, and VGA modes. Unlike the limited and older ET3000 series, it offered up to 16 million colors onscreen at 640x480 and 65535 colors at 800x600, helpful with viewing digital photography. Additionally, it supported 1024x786 in 256 and 1280x1024 in 16 colors and was considered quite performant.


XGA

No DOSBox emulation

The eXtended Graphics Array from late 1990 was IBM’s final graphics standard and was found in its range of desktop PCs for a few years. It was a return to form for IBM creating a proper evolution for its outdated VGA mode by offering accelerated 640x480 at 65,536 colors onscreen and 1024x768 with 256 colors.

A 1993 revision known as XGA-2 offered improved performance and refreshed rates and has support for the popular 800x600 resolution.


S3

DOSBox config: machine=svga_s3

The S3 Trio 32/64 is a series of graphic chipsets that various graphic card manufacturers have used since its initial 1994 release. The line could be considered a common denominator of the MS-DOS era, 2D graphic and video player acceleration, and why its emulation is the default setting for DOSBox. The chipset was extremely popular with PC gamers before the advent of 3D acceleration due to its affordability and high compatibility.

The supported resolution, refresh rate, and color depth depended on the card manufacturer and included onboard memory. But boards with at least 1MB of DRAM could support 640x480 with 16 million colors onscreen and up to 1024x768 with 256 colors. In contrast, a 2MB board offered an increased 800x600 with 16 million colors and up to 1280x1024 with 256 colors onscreen.


VESA VBE

As IBM had taken the path of priority interfaces in its PS/2 computer lines, several other PC manufacturers, such as NEC, Western Digital, and ATI, took it upon themselves to form the VESA group to extend and update the VGA legacy standard formally.

The first publication of the standard, the VESA BIOS Extensions (VBE) 1.0, was announced in 1989 and offered compatibility with VGA, 800x600, 1024x768 and 1280x1024 in 16 or 256 colors, generally referred to as Super VGA or Super VGA BIOS Extensions. And while welcomed, the technical implementation suffered some performance issues and was rarely used by game developers.

Later revisions of the standard added more graphic modes to support 32K, 64K, and 16.8M colors onscreen. They fixed many technical issues leading it to the goal of becoming the de facto standard for DOS-era 2D graphics.


VESA VBE 1.0

Introduced in 1989, it allowed modes up to 1280×1024 with 256 colors.


VESA VBE 1.1

It added some new high-resolution text modes though this standard remained practically unused.


VESA VBE 1.2

DOSBox config: vesa_oldvbe

Published in October 1991, revision 1.2 became a well-supported standard within DOS software as it introduced 15/16-bit high color support with all resolutions up to 1280x1024.


VESA VBE 2.0

DOSBox config: svga_s3

Published in November 1994, this update upped the standard by adding 24-bit true color support and a bunch of new and unusual modes, including increasing the maximum resolution to 1600x1200.

Emulating the S3 Trio card, this is the default and most compatible setting for DOSBox.


VESA VBE 2.0 - no linear frame buffer

DOSBox config: svga_nolfb

The no-linear frame buffer is not a formalized standard but a troubleshooting setting within DOSBox. It matches svga_s3 but might be helpful if an emulated program returns linear or line frame buffer errors.


VESA VBE 3.0

It was introduced in September of 1998. It mainly focused on 2D acceleration in Microsoft Windows, as by this time, gaming on MS-DOS was, for the most part, over.


Links 386 Pro from 1992 was one of the first major games to require a VESA-compatible graphic card.

Links 386 Pro gameplay
Links 386 Pro one of the first games to support 640×480 SuperVGA
Links 386 Pro error
Links 386 Pro aborts if it doesn't recognize the graphics card

Duke Nukem 3D from 1996 required a graphics card with support for VESA 2.0 or used VGA as a legacy fallback.

Duke Nukem 3D setup
Duke Nukem 3D setup named VGA as 'Normal Mode'
Duke Nukem 3D gameplay
Duke Nukem 3D ingame at 640×480

Further reading

Written by Ben Garrett

Did you find this article helpful?
Please consider tipping me a coffee as a thank you.
Ko-fi Buy Me a Coffee
Did you find this article helpful? Please consider tipping me a coffee or three as a thank you.
Tip using Ko-fi or Buy Me a Coffee