Skip to content

Latest commit

 

History

History
1767 lines (1244 loc) · 67.2 KB

Guide:Video-card-support-in-DOSBox‐X.asciidoc

File metadata and controls

1767 lines (1244 loc) · 67.2 KB

Selecting a video adapter in DOSBox-X

Table of Contents

Overview

DOSBox-X supports the emulation of a wide range of video adapters that were common in the DOS days. This document attempts to help the novice user, especially those that never experienced DOS PC’s during the 80’s and 90’s with selecting an appropriate video adapter for games and programs.

You can set the video adapter to emulate in your DOSBox-X config file. In the [dosbox] section, by setting machine= to the appropriate value.

By default, DOSBox-X just like regular DOSBox on which is it based, emulates a S3 Trio64 which is an SVGA adapter that is backwards compatible with VGA, EGA and CGA. In addition, it supports VESA VBE 2.0 modes. As such it will work with most DOS games and applications.

As a general rule of thumb, if a game asks you about what video option you want to use, and you’re looking for the best experience, the following shows the generally recommended order from the lowest quality to the highest quality: MDA > Hercules (HGC) > CGA > PCjr > Tandy > EGA > VGA > SVGA

Note
Hercules (HGC) may in some cases be preferable to CGA as it has a higher resolution, but lacks colour.
Note
In some cases PCjr or Tandy may be preferable to EGA, as they often look identical, and PCjr/Tandy may give you better sound.

Backwards compatibility

Many, but not all, PC video adapters were backward compatible with previous generations.

Compatibility

video adapter

MDA

Hercules

CGA

PCjr

Tandy

EGA

MCGA

VGA

SVGA

MDA mode

Yes

Yes

-

-

-

-

-

-

-

Hercules mode

-

Yes

-

-

-

-

-

-

-

CGA mode

-

-

Yes

Yes

Yes

Yes (RGBI)

Yes (RGBI)

Yes (RGBI)

Yes (RGBI)

PCjr mode

-

-

-

Yes

Yes (mostly)

-

-

-

-

Tandy mode

-

-

-

-

Yes

-

-

-

-

EGA mode

-

-

-

-

-

Yes

-

Yes

Yes

MCGA mode

-

-

-

-

-

-

Yes

Yes

Yes

VGA mode

-

-

-

-

-

-

-

Yes

Yes

SVGA mode

-

-

-

-

-

-

-

-

Yes (vendor specific)

VBE mode

-

-

-

-

-

-

-

-

Yes (some)

Note
Some clone video cards had more extensive compatibility, for instance being able to display both Hercules and CGA with a DOS utility to switch between them, such as early ATI cards. These type of video cards are not emulated by DOSBox-X.
Note
SVGA mode is not an actual standard, as each video card vendor had its own implementation. An attempt to standardise was made by VESA with the VESA BIOS Extensions (VBE).

Supported PC video modes

MDA

MDA stands for Monochrome Display Adapter, and it was introduced by IBM alongside the original IBM PC in 1981.

As the name implies it is monochrome. It was normally used in combination with a green or amber display. Moreover, it can only display text and characters from the built-in font in 80 columns and 25 lines with a font size of 7x11 (in a 9x14 'box'). The only extras that it has are underlined text, bright text and reverse video. The vertical refresh of MDA is only 50Hz, but with the phosphor glow of green and amber monochrome monitors this was not noticeable.

The main selling feature of this adapter, compared to CGA, was its clarity as it uses effectively a 720x348 resolution, which made it very popular for business software. For games, you’re going to be limited to text mode games, like text adventures.

This mode can be set using machine=mda in your DOSBox-X config file. Video memory is fixed to 4KiB and cannot be changed.

You can optionally change the display colour by setting in the [render] section of your config monochrome_pal= to "green", "amber", "white" or "gray". Or you cycle between them with CTRL-F7.

Game:Microsoft Adventure MDA Green
Microsoft Adventure - MDA Green screen
Game:Microsoft Adventure MDA Amber
Microsoft Adventure - MDA Amber screen
Game:Microsoft Adventure MDA White
Microsoft Adventure - MDA White screen

CGA

CGA stands for Color Graphics Adapter, and like MDA was introduced by IBM alongside the original IBM PC in 1981.

As the name implies, it supports colour, and unlike MDA, it supports drawing to the screen which made it popular for games. Due to the higher price of the adapter and monitor, and the lower resolution, it was less popular for business use than MDA and later Hercules. Also note that CGA is not backward compatible with MDA. The vertical refresh of CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

Warning
The allow more than 640kb base memory configuration option allows more conventional memory, for instance, in combination with CGA graphics you can have up to 736KB of base memory. But not all software is compatible with this option. Even the included mem command will crash if it is set.

Graphics modes:

  • 160x100 in 16 colours, chosen from a 16-colour palette, utilizing a specific configuration of the 80x25 text mode.

  • 320×200 in 4 colours, chosen from 3 fixed palettes, with high- and low-intensity variants, with colour 1 chosen from a 16-colour palette.

  • 640×200 in 2 colours, one black, one chosen from a 16-colour palette.

Text modes:

  • 40×25 with 8×8 pixel font (effective resolution of 320×200)

  • 80×25 with 8×8 pixel font (effective resolution of 640×200)

Composite graphics mode:

One of the features, at least of the IBM CGA adapters, is that they support two types of monitors. Either a digital RGBI (RGB with Intensity) monitor, or an analogue composite monitor (or NTSC TV) connected via RCA.

The composite connection suffers from a lower quality picture with colour bleeding. But it also allows for something called artefact colours, which was a way to have more colours. So where CGA with a RGBI monitor would be limited to just 4 colours in 320x200, with composite you can have 16. This composite mode was specifically supported by some games, such as those from Sierra.

When the DOSBox-X CGA emulation detects that a game is trying to use artefact colours, it will auto-enable the composite mode emulation. As such you cannot experience non-artefact 4-colour CGA mode with such games with machine=cga. The workaround is to use a later model video card like EGA or VGA which is backwards compatible with CGA, as these later cards do not support the composite mode, you will get RGBI output instead. But you may have to find a way to force the game to use CGA, if it also supports EGA or VGA.

Keyboard shortcuts:

When using machine = cga, the following keyboard shortcuts, specific to CGA and PCjr are available:

  • CTRL-F7 switch between early and late model IBM CGA adapter emulation

  • CTRL-F8 switch between Auto, RGBI and Composite monitor output

  • CTRL-Shift-F7 Decrease Hue

  • CTRL-Shift-F8 Increase Hue

When using machine=cga_mono, these keyboard shortcuts are instead available:

  • CTRL-F7 Cycles between CGA monochrome palettes (green, amber, white, grey)

  • CTRL-F8 Cycles between high and low brightness

Note
There is no real indicator in DOSBox-X that you changed settings with keyboard shortcuts, or to check the current status. The only indications are a possible change of picture output, and if you have the logging enabled, to check the log output.

CGA machine options

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=cga

Video memory is fixed to 16KiB and cannot be changed.

In addition, DOSBox-X also has a few CGA variants.

  • machine=cga_mono by default gives a green screen CGA output.

  • machine=cga_rgb emulates a CGA adapter connected to a RGBI monitor.

  • machine=cga_composite emulates an early model IBM CGA adapter connected to a composite monitor.

  • machine=cga_composite2 emulates a late model IBM CGA adapter connected to a composite monitor.

There is also optional emulation of CGA "snow" distortion, which is disabled by default. See the cgasnow setting in the [video] section below.

Note
The difference between machine=cga, machine=cga_composite and machine=cga_composite2 options, is that the former will only use composite mode if it detects that a game is trying to use artefact colours. While the later two will start in composite mode, so you will always get artefact colours even if the game was not designed for it. You can however use the CTRL-F7 and CTRL-F8 key combinations with any of them to switch to different output options.
Game:Microsoft Adventure CGA
Microsoft Adventure - CGA 80x25 text
Game:KQ1 CGA
King’s Quest 1 with CGA 4-colour on an EGA or VGA adapter
Game:KQ1 CGA Artefact
King’s Quest 1 with CGA Artefact colour
Game:KQ1 CGA RGB
King’s Quest 1 with CGA 4-colour on RGB screen
Game:KQ1 CGA Mono Green
King’s Quest 1 with CGA Mono Green screen
Game:KQ1 CGA Mono Amber
King’s Quest 1 with CGA Mono Amber screen
Game:KQ1 CGA Mono White
King’s Quest 1 with CGA Mono White screen
Game:Monkey Island CGA
Monkey Island with CGA 4-colour
Game:Monkey Island CGA composite
Monkey Island with CGA composite
Note
To get the above 4-colour screenshot of KQ1 with an EGA or VGA adapter, the game was started with sierra -c to force it into CGA mode.
Note
To get the above CGA RGB screenshot of KQ1 with machine=cga_rgb, it was necessary to start the game with sierra -r, otherwise you only get black-and-white from the game.

Hercules

Hercules Computer Technology was one of the first 3rd party Graphics Card manufacturers for the IBM PC. It’s most popular product by-far was the original Hercules Graphics Card (HGC), which was widely cloned and supported by many applications and games. If an application or game list "Hercules" as an option, it is a reference to the original Hercules Graphics Card.

Hercules Graphics Card (HGC)

The Hercules Graphics Card was released in 1982 by Hercules Computer Technology. It is a monochrome card that is backward compatible with MDA, with the addition of a single 720x348 graphics mode. This made it a very popular card for businesses, and due to its graphics support it is supported by many games. The vertical refresh of Hercules like MDA is only 50Hz, but with the phosphor glow of green and amber monochrome monitors this was not noticeable.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=hercules

Video memory is fixed to 64KiB and cannot be changed.

Monochrome display colour defaults to green, but the monochrome colour and brightness can optionally be changed with the monochrome_pal= option.

[render]
#          monochrome_pal: Specify the color of monochrome display.
#                            Possible values: green, amber, gray, white
#                            Append 'bright' for a brighter look.
#                            Possible values: green, amber, gray, white.
monochrome_pal          = green

Alternatively, you can cycle between the monochrome display output colours with CTRL-F7. You can also cycle between low and high brightness of the monochrome display with CTRL-F8.

Note
Some software like CheckIt, QBasic or MS-DOS EDIT may detect a Hercules adapter as MDA, unless a TSR like QBHERC.COM or MSHERC.COM is loaded into memory.
Note
Some 3rd party Hercules compatible cards, like early ATI cards, also had support for displaying CGA mode on an MDA/Hercules compatible monitor. And there are also TSRs (Terminate and Stay Resident) programs that can emulate CGA on Hercules with varying degrees of success.
Game:KQ1 Hercules Green
King’s Quest 1 with Hercules Green screen
Game:KQ1 Hercules Amber
King’s Quest 1 with Hercules Amber screen
Game:KQ1 Hercules White
King’s Quest 1 with Hercules White screen
Game:Monkey Island Hercules White
Monkey Island with Hercules White screen

Hercules Color Card

Launched December 1985. IBM CGA compatible card.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=hercules_color

Hercules Graphics Card Plus (HGC+)

Launched June 1986. Extends the original HGC with redefinable fonts, called "RamFont".

Very few software ever supported RamFont, one that has been verified to work is "Ashton-Tate Framework III"

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=hercules_plus

Hercules InColor Card

Launched 1987. Backward compatible with MDA, HGC, HGC+ and CGA. Video memory is fixed at 256KiB Video RAM.

Adds support for 720x348 in 16 colours from a 64 colour palette, which is known to be supported by the following games:

Only a handful of games supports the special InColor video mode

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=hercules_incolor

IBM PCjr

The PCjr was introduced by IBM in March 1984, and discontinued due to poor sales just over a year later. It’s integrated video card is backwards compatible with CGA, with the addition of a few modes:

  • 160x200 at 16 colours

  • 320x200 at 16 colours

  • 640x200 at 4 colours

The vertical refresh of the PCjr like CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=pcjr

Video memory is fixed to 128KiB and cannot be changed.

Note
Enabling PCjr mode, also enables PCjr sound emulation

In addition, DOSBox-X also has a few PCjr variants.

Equivalent to an early model IBM CGA connected to a composite monitor:

[dosbox]
machine=pcjr_composite

Equivalent to a late model IBM CGA connected to a composite monitor:

[dosbox]
machine=pcjr_composite2
Note
The difference between machine=pcjr, machine=pcjr_composite and machine=pcjr_composite2 options, is that the former will only use composite mode if it detects that a game is trying to use artefact colours. While the later two will start in composite mode, so you will always get artefact colours even if the game was not designed for it. You can however use the CTRL-F7 and CTRL-F8 key combinations with any of them to switch to different output options.

Keyboard shortcuts:

By default, the following keyboard shortcuts, specific to CGA and PCjr are available:

  • CTRL-F7 switch between early and late model IBM CGA adapter emulation

  • CTRL-F8 switch between Auto, RGBI and Composite monitor output

  • CTRL-Shift-F7 Decrease Hue

  • CTRL-Shift-F8 Increase Hue

Game:KQ1 PCjr
King’s Quest 1 on IBM PCjr

Tandy

Tandy graphics, sometimes abbreviated to TGA, was introduced with the Tandy 1000 in 1984, which began as a clone of the IBM PCjr.

It has all the CGA and PCjr video modes, but some differences exist, such as how the video memory is mapped, which can cause incompatibilities. Later Tandy 1000 models added a video mode, called "Tandy Video II" or ETGA for 640x200 at 16 colours.

Tandy computers with Tandy Graphics were available on the market for much longer than the IBM PCjr, resulting in many games that supported it. Tandy computers were also made available with faster processors, up to a 286 running at 10MHz, while the original IBM PCjr was only ever available with a 4.77MHz 8088.

The vertical refresh of the Tandy 1000 like CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=tandy

Video memory is fixed to 128KiB and cannot be changed.

Note
Enabling Tandy mode, also enables Tandy sound emulation (which is likewise derived from the IBM PCjr)
Note
While early Tandy 1000 models had composite out similar to CGA and the PCjr, this is not currently emulated in DOSBox-X.
Note
Many games that support both Tandy and EGA, look near identical in both. It would appear that game developers took a lowest-common-denominator approach and simply used the same resolution and graphic assets for both.
Game:Monkey Island Tandy
Monkey Island with Tandy

EGA

EGA stands for Enhanced Graphics Adapter and was introduced by IBM in 1984, as the official follow-on to CGA. It still only supports up to 16 colours on-screen, but out of a pallet of 64 colours and at a higher resolution.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=ega

The original IBM EGA came with just 64KiB video RAM, but could be upgraded to 128 or 256KiB.

The EGA emulation provided by DOSBox-X by default provides 256KiB of video RAM, by setting vmemsizekb= in the [video]section of the DOSBox-X config file, it is possible to reduce it instead to 64 or 128KB. e.g.,

[dosbox]
machine=ega

[video]
vmemsize=0
vmemsizekb=128

One feature that was dropped with the introduction of EGA, was the composite output support. As such, EGA does not support CGA artefact colours.

The vertical refresh of EGA like CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

Note
Some clone EGA cards added extra video modes, typically known as SuperEGA cards. The emulation of such cards is not supported by DOSBox-X.

EGA with an MDA or CGA monitor

DOSBox-X emulates the EGA card with an EGA monitor. But with a real IBM EGA card it is also possible to use an MDA or CGA monitor.

Although rare, some software such as the IBM Fantasy Land Demo, which expects a CGA monitor with 200-line text mode and 8x8 font will not work properly with a regular EGA monitor with 350-line text mode and 8x14 font.

An EGA adapter attached to a 200-line CGA monitor can be emulated as such:

[dosbox]
machine=ega200

When using this reduced mode, the regular 350-line EGA modes will not be available.

Note
There is no support for emulating an EGA adapter with monochrome MDA monitor at this time.
Game:KQ1 EGA
King’s Quest 1 on EGA
Game:Monkey Island EGA
Monkey Island original Edition in EGA
Game:Monkey Island VGA in EGA
Monkey Island VGA Edition in EGA
Game:KQ1 SCI EGA
King’s Quest 1 SCI remake in EGA

Amstrad

Amstrad in 1986 introduced the PC1512 which is an IBM PC clone with CGA (RGBI only) graphics, but also adds a 640x200 16-colour mode.

Very little software exists that can use this mode. Here are some known examples:

In addition, there is a PC1512.DRV driver for Sierra SCI0 and SCI1 games.

Note
There were more (mainly European) games that claimed PC1512 support, but most will only use the CGA mode. For instance Mobygames at the time of writing claims 27 Amstrad titles, but again most of them will only use the CGA mode.
Note
The PC1512 also had a Hercules graphics mode, this is not emulated as part of the Amstrad emulation.

The vertical refresh of the Amstrad like CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=amstrad

Video memory is fixed to 64KiB and cannot be changed.

Game:KQ1 SCI Amstrad
King’s Quest 1 SCI remake on Amstrad using PC1512.DRV

PC-98

The NEC PC-9800, simply known as the PC-98, were a family of computers made by NEC and sold in Japan throughout 1982 to 2000, which used MS-DOS with modifications to support the PC-98 BIOS and Japanese DBCS (Double Byte Character Set) characters. It’s supported in DOSBox-X by setting machine=pc98 in your DOSBox-X config file. More information about PC-98 support can be found in the PC-98 guide page:

JEGA

JEGA is a variation of EGA for the Japanese market, conceived by Microsoft Japan and released in 1987 as part of AX (Architecture eXtended).

Its intended purpose was the display of the Japanese characters which required a higher resolution, as such this added a 640x480 video mode.

It was not very successful, as IBM introduced VGA shortly after which has a similar video mode.

The vertical refresh of JEGA like EGA and CGA is 60Hz, which matches up well with the majority of modern 60Hz LCDs.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=jega

Video memory is fixed to 256KiB.

DCGA

DCGA is the video mode used by the Olivetti M24, AT&T 6300 and Toshiba T3100. DOSBox-X emulates the DCGA mode via the VGA mode.

This mode can be enabled by typing DCGA at the DOSBox-X prompt when you’re in a VGA video mode.

If you enable Toshiba J-3100 emulation (by setting dosv=jp and j3100=on in your DOSBox-X config file), then the J-3100 mode will be enabled when DOSBox-X starts. Typing the VGA command you can go to the Japanese DOS/V mode, and then typing DCGA command will return you to the J-3100 emulation mode.

MCGA

MCGA stands for Multi-Color Graphics Array and was introduced by on April 2, 1987 as integrated in the IBM PS/2 Model 30 and a bit later that year on the Model 25. It features 64 KiB video RAM, and cannot be changed. No stand-alone MCGA cards were ever produced.

MCGA supports all CGA display modes (RGBI only) plus 640×480 monochrome at a refresh rate of 60 Hz, and 320×200 with 256 colours (out of a palette of 262,144) at 70 Hz. It does not however provide backwards compatibility with EGA. In effect, MCGA can be thought of as either an enhanced CGA card, or a cost-reduced VGA card.

As the high-colour mode is near identical to the one offered by VGA, many games have a combined "MCGA/VGA" video option, and selecting MCGA with a VGA adapter normally also works.

One rare example of a game that offers an MCGA option, but does not work on VGA is Thexder. This is not because the game could not have worked on VGA, but rather because it looks for specific machine settings that are only true on the above PS/2 Models. As such as part of the MCGA emulation, DOSBox-X also emulates some PS/2 specific machine settings, just enough to make games like Thexder work in MCGA mode.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=mcga

Video memory is fixed to 64KiB and cannot be changed.

Note
Many games that offer both an MCGA and VGA option, used the same resolution and assets for both, making them look identical. However, due to other MCGA limitations the VGA option may provide a better experience.

VGA

VGA stands for Video Graphics Array and was introduced by IBM in 1987. One of the stand-out features was that it could display up to 256 colours from a palette of 262,144. It features 256 KiB of video RAM (fixed), and is backward compatible with CGA (RGBI only), EGA and MCGA.

VGA adds the following new graphics modes:

  • 640×480 in 16 colours or monochrome

  • 320×200 in 256 colours (Mode 13h)

One new feature is the ability to run at 70Hz vertical refresh, where CGA and EGA had only supported 60Hz. This is important for modern LCDs, as many will only run at 60Hz, which causes issues with many games that were designed to run at 70Hz, resulting in dropped frames. This can cause both video and audio distortion, as in many games the audio is linked to the frame rate.

VGA Configuration

DOSBox-X does not have a true VGA emulation mode. For normal use it is recommended to use the default machine = svga_s3 which is backward compatible with VGA.

Note
The provided machine = vgaonly option has some changes to improve VGA compatibility, but which makes it slower for the common use-case.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=vgaonly
  • Disables non-VGA modes

  • Default 80x25 text mode of 720x400 with a 9x16 font, instead of the 640x400 with 8x16 font for the svga_* options.

  • Colour depth is reduced

  • Support for changing display parameters by scanline, needed by some games. e.g.,

  • Lemmings

  • Oh No More Lemmings

  • Pinball Fantasies

  • Support for video blanking tricks, needed by some games. e.g.,

  • Alien Carnage

  • Halloween Harry

Resources

Game:Monkey Island VGA
Monkey Island VGA Edition

SVGA

Many clones were produced of the VGA adapter, often with more memory allowing higher colour depths, resolutions and refresh rates, in addition to various types of acceleration which were typically referred to as SuperVGA, or SVGA.

ATI Technologies

Warning
ATI support is in an early stage of development. Unless you want to assist in development you should use one of the other machine types instead.
ATI Card Chip Released KiB VRAM machine= Notes

EGA Wonder 800+

18800-1

1988

256

svga_ati_egavgawonder

Limited VGA support (mode 11 and 12 only)

VGA Wonder

28800-1

1988

256, 512

svga_ati_vgawonder

VGA Wonder Plus

28800-2

1990

256, 512, 1024

svga_ati_wonderplus

VGA Wonder XL

28800-6

1991-05

256, 512, 1024

svga_ati_wonderxl

VGA Wonder XL24

28800-6

1992

512, 1024

svga_ati_wonderxl24

Graphics Ultra

Mach8

1991

512, 1024

svga_ati_mach8

emulated model needs validation

Graphics Ultra Pro

Mach32

1992-01

1024, 2048

svga_ati_mach32

emulated model needs validation

Graphics Pro Turbo

Mach64

1994

2048, 4096

svga_ati_mach64

emulated model needs validation

S3 Graphics

Note
The default machine=svga_s3 option refers to the S3 Trio64.
Note
All the emulated S3 cards have VESA VBE 2.0 support.
S3 Vision864

Introduced in early 1994.

Available in 1, 2 and 4MB video memory configurations.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3vision864

Links:

S3 Vision964

Introduced in early 1994. Apart from faster dual-ported video memory and larger memory sizes, identical to the Vision864.

Available in 2 and 4 MB video memory configurations.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3vision964

Links:

S3 Vision868

Introduced in 1995.

Available in 1, 2 and 4MB video memory configurations. Based on the Vision864, with added motion video acceleration.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3vision868

Links:

S3 Vision968

Introduced in April 1995. Apart from faster dual-ported video memory and larger memory sizes, identical to the Vision868.

Available in 2, 4 and 8MB video memory configurations.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3vision968

Links:

S3 Trio32

Introduced in 1994. Low-cost 32bit version of the Trio64. Available in 1 or 2MB video memory configurations.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3trio32

Links:

S3 Trio64

Introduced in 1994. Successor to the S3 Vision864, and has support for VESA Video BIOS Extensions (VBE).

Note
The original S3 Trio64 cards would have had VESA VBE 1.2, but the card emulated by DOSBox-X defaults to VESA VBE 2.0.

This mode can be set using either machine=svga_s3 or machine=svga_s3trio64 in your DOSBox-X config file. Defaults to 2MiB video memory, but can be changed to 512KiB, 1MiB, 4MiB, 8MiB and 16MiB.

Note
Original S3 Trio64 cards were only produced with 1MiB or 2MiB and expandable up to 4MiB. This is reflected by the official S3 drivers which do not support more than 4MiB with the S3 Video drivers for Windows. More video memory can however be used in VESA mode.

There are a few variations of the Trio64 that are available:

  • machine=vesa_nolfb - The same as svga_s3 with VESA VBE 2.0, but with a no-linear frame buffer hack. Sometimes runs faster than plain svga_s3. Only needed in a few games due to either a bug in DOSBox or the linear-frame buffer mode of the game.

  • machine=vesa_oldvbe - The same as svga_s3, but with VESA VBE 1.2. This is necessary for some older VESA VBE programs.

  • machine=vesa_oldvbe10 - The same as svga_s3, but with VESA VBE 1.0, which does not provide some optional mode information (mainly for testing)

Links:

S3 Trio64V+

Introduced in June 1995.

Similar to the Trio64, but adds partial MPEG-1 decode acceleration. Available in 1, 2 or 4MB video memory configurations.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3trio64v+

Links:

S3 Graphics - Experimental support

The emulation of the following S3 SVGA models should be considered experimental for the time being.

S3 86c928
Warning
The emulation of this card is considered experimental. It is not recommended for normal use at this time. The only known issue remaining is a display issue with Win95 and highcolor (16-bit) affecting the start menu and window decorations.

Introduced in July 1992. Early Windows and CAD accelerator card. Available in 1, 2, 3 or 4MB video RAM configurations.

The emulated PCI card has 2048KiB video RAM.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s386c928

Links:

S3 ViRGE
Warning
The emulation of this card is considered experimental. It is not recommended for normal use at this time. It seems to work well enough for regular use, but the S3D functionality still needs to be implemented.

The S3 Video and Rendering Graphics Engine (ViRGE) was introduced in November 1995. Available in 2 or 4MB video RAM configurations.

These cards introduced S3’s own S3D 3D acceleration technology for games. This card also introduced DirectX support.

Very few games exist that made use of the proprietary S3D technology.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3virge

Links:

S3 ViRGE/VX
Warning
Like the regular S3 ViRGE, the emulation of this card is considered experimental. It is not recommended for normal use at this time.

Introduced in November 1995. Similar to the regular S3 ViRGE but available with 2, 4 or 8MB VRAM, allowing higher resolution and higher colour depth’s graphics modes.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_s3virgevx

Links:

Tseng Labs

Links:

Tseng Labs ET3000AX

Introduced in 1987. Early VGA clone card.

In addition to standard CGA (RGBI mode only), EGA and VGA this card supports the following display modes with the right drivers:

  • 640x480 with 2, 16 or 256 colours

  • 800x600 with 16 colours

  • 1024x768 with 16 colours

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_et3000

Video memory defaults to 512KiB and cannot be adjusted.

Links:

Tseng Labs ET4000AX

Introduced in 1989. Became fairly popular, and supported in SVGA mode by various games.

In addition to standard CGA (RGBI mode only), EGA and VGA this card supports the following display modes with the right drivers:

  • 640x480 with 2, 16, 256, 32768, 65535 or 16.7M (*) colours

  • 800x600 with 16, 256, 32768 or 65535 colours

  • 1024x768 with 16 or 256 colours

  • 1280x1024 with 16 colours

Known issues with the above modes:

  • (*) Hangs on startup of Windows 3.0 in 16.7M colour mode

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_et4000

Video memory defaults to 1024KiB, but can be reduced to 256 or 512KiB as such:

[dosbox]
machine=svga_et4000

[video]
vmemsize=0
vmemsizekb=512
Note
The ET4000 Turbo and ET4000/W32 variants are not emulated.

Links:

Paradise Systems PVGA1A

The Paradise Systems PVGA1A is a SuperVGA (SVGA) card introduced in 1988. It is backward compatible with CGA (RGBI only), EGA, MCGA and VGA.

This mode can be set as follows in your DOSBox-X config file:

[dosbox]
machine=svga_paradise

Video memory defaults to 512 KiB, but can be adjusted to 256 or 1024 KiB.

For 256 KiB, set your config as follows:

[dosbox]
machine=svga_paradise

[video]
vmemsize=0
vmemsizekb=256

For 1024 KiB, set your config as follows:

[dosbox]
machine=svga_paradise

[video]
vmemsize=1
vmemsizekb=0

Links:

VESA BIOS Extensions (VBE)

During the late 80’s and early 90’s many video card manufacturers existed, and as IBM was no longer leading the market, each manufacturer was doing its own thing in regard to setting their cards SVGA modes. Even different video chips from the same manufacturer were not necessarily compatible with each other.

This made it very difficult for software developers as they needed to support a plethora of different cards if they wanted to offer more than basic VGA.

As such the Video Electronics Standards Association (VESA) was born, and one of the first standardization efforts they led was the VESA BIOS Extensions (VBE).

  • VBE 1.0 was defined in 1989

  • VBE 1.1 was defined in 1990

  • VBE 1.2 was defined in 1991

  • VBE 2.0 was defined in 1994

The only emulated cards supported by DOSBox-X to provide VBE support are the S3 models, which all default to VBE 2.0.

There are many VESA settings available in the [video] section of the DOSBox-x config file, which are documented below.

links:

Dual monitor

The original IBM PC could already support dual-monitor by using both MDA and CGA video cards at the same time. This also works with MDA+EGA, MDA+VGA and MDA+SVGA. Hercules can also be used as a more capable substitute for MDA.

This is possible because MDA (and Hercules), when properly setup don’t conflict with the resources needed for CGA/EGA/VGA and SVGA. As such it is not possible for instance to have two VGA cards, as they would conflict.

Programs known to support a dual monitor setup:

*- AutoCAD * Borland Turbo Debugger * CodeView debugger * Desqview * GEM (debugging only) * Lotus 123 * MobyGames: Mah Jongg -V-G-A * Mobygames: Mechwarrior 2: Mercenaries v1.06 (debugging only) * PowerBASIC DOS * Softice debugger * Windows 3.x (debugging only)

The use of a secondary monitor is partially supported by DOSBox-X. It works by starting DOSBox-X with the -display2 option as such:

dosbox-x -display2

The secondary (MDA only) display will output on a terminal window. If you started DOSBox-X from a terminal, it will output the second display to that same terminal.

Be sure to keep the focus on the primary DOSBox-X window, even if you’re interacting with the secondary display in the terminal. If the application focus is on the secondary display in the terminal, keyboard input will not work correctly, and pressing CTRL-C will kill DOSBox-X.

The second display will default to white text, but you can get it to use green with -display2 green or amber with -display2 amber.

At the DOS prompt you can switch primary display by use of the mode command. To make the MDA display primary:

mode mono

To make the CGA/EGA/VGA or SVGA display primary:

mode co80
Note
The current dual monitor support is limited, in part because it uses the terminal window instead of a real (SDL) window. As such it may not work properly with some programs, and it is limited to MDA only (no Hercules).
Note
It is advised that you set your terminal window to 80x25 as to minimize character placement issues (most terminals default to 80x24, which is not ideal).
Note
The 2nd display output to the terminal window will be in the DOS codepage that is set in DOSBox-X. However, most terminal programs expect Unicode these days, which will result in unicode question marks for a lot of characters. This can be minimized by using a terminal program that allows setting an encoding other than unicode, which a lot of Linux terminal programs allow.
Note
Because both the second display code and the integrated debugger uses the terminal, they are mutually exclusive. e.g., the "Start DOSBox-X Debugger" option will be greyed out when you start with the -display2 option.

links:

[video] config section

Various video configuration settings can be set in the DOSBox-X configuration file in the [video] section.

vmemdelay

  • default value: 0

  • recommended values: -1, 0 to 2000

VGA Memory I/O delay in nanoseconds. Set to -1 to use default, 0 to disable.

Enable this option (-1 or nonzero) if you are running a game or demo that needs slower VGA memory (like that of older ISA hardware) to work properly. If your game is not sensitive to VGA RAM I/O speed, then turning on this option will do nothing but cause a significant drop in frame rate which is probably not what you want.

vmemsize

  • default value: -1

  • possible values: -1, 0, 1, 2, 4, 8, 16

Amount of video memory in megabytes for the emulated SVGA adapter.

The maximum resolution and color depth the emulated SVGA adapter will be able to display is determined by this value.

  • vmemsize=-1: auto (vmemsizekb is ignored), and default value is dependent on the emulated SVGA adapter.

  • vmemsize=0: 512kB for 800x600 at 256 colors (if vmemsizekb=0)

  • vmemsize=1: 1MB for 1024x768 at 256 colors or 800x600 at 64k colors

  • vmemsize=2: 2MB for 1600x1200 at 256 colors or 1024x768 at 64k colors or 640x480 at 16M colors

  • vmemsize=4: 4MB for 1600x1200 at 64k colors or 1024x768 at 16M colors

  • vmemsize=8: 8MB for up to 1600x1200 at 16M colors

  • vmemsize=16: 16MB only supported for VESA modes (regular S3 will be limited to 8MB)

For build engine games, use more memory than in the list above, so it can use triple buffering and thus won’t flicker.

Note
The minimum and maximum amount of video memory depends on the emulated video adapter.

vmemsizekb

  • default value: 0

  • Possible values: 64, 128, 256, 512

Amount of video memory in kilobytes, in addition to that specified with vmemsize.

This setting is only supported by the emulated EGA and SVGA video adapters.

vbe window granularity

  • default value: 0

Controls VESA BIOS non-linear framebuffer window granularity in KB. This affects ONLY the VESA BIOS extensions.

Set 0 to functional normally.

vbe window size

  • default value: 0

Controls VESA BIOS non-linear framebuffer window size in KB. This affects ONLY the VESA BIOS extensions.

Set 0 to functional normally.

enable 8-bit dac

  • default value: true

  • valid values: true, false

If set, allow VESA BIOS calls in IBM PC mode to set DAC width. Has no effect in PC-98 mode.

high intensity blinking

  • default value: true

  • valid values: true, false

Set to false if you want to see high-intensity background colors instead of blinking foreground text. This option has no effect in PC-98 and some other video modes.

svga lfb base

  • default value: 0

If non-zero, define the physical memory address in hexadecimal of the linear framebuffer.

pci vga

  • default value: true

  • valid values: true, false

Determines if the emulated SVGA adapter is PCI based.

  • If true, SVGA is emulated as if a PCI device (when enable pci bus=true).

  • If false, it will be emulated as an ISA device.

vga attribute controller mapping

  • default value: auto

  • valid values: auto, 4x4, 4low, first16

This affects how the attribute controller maps colors, especially in 256-color mode.

Some SVGA cards handle the attribute controller palette differently than most SVGA cards.

  • auto : Automatically pick the mapping based on the SVGA chipset.

  • 4x4 : Split into two 4-bit nibbles, map through attribute controller and recombine. This is standard VGA behavior including clone SVGA cards.

  • 4low : Split into two 4-bit nibbles, remap only the low 4 bits, recombine. This is standard ET4000 behavior.

Note
Demoscene executable 'COPPER.EXE' requires the '4low' behavior in order to display line-fading effects (including scrolling credits) correctly, else those parts of the demo show up as a blank screen.

vga bios use rom image

  • default value: false

  • valid values: true, false

If true, load a VGA BIOS from a ROM image file. If false, provide our own INT 10h emulation as normal.

vga bios rom image

  • default value: <none>

If set, load the VGA BIOS from the specified file (must be between 1KB to 64KB in size).

If left unset, and DOSBox-X is asked to load a VGA BIOS from a file, a file name is chosen automatically based on the machine type. For example, Tseng ET4000 emulation (machine=svga_et4000) will look for et4000.bin.

VGA BIOS ROM images can be dumped from real hardware or downloaded from the PCem or 86Box ROMs collection.

Default ROM filenames:

  • machine=svga_s3 default ROM filename: TRIO64 (Ver. 1.5-07) [VGA] (S3 Incorporated).bin

  • machine=svga_et4000 default ROM filename: et4000.bin

vga bios size override

  • default value: 0

VGA BIOS size override. Override the size of the VGA BIOS (normally 32KB in compatible or 12KB in non-compatible).

video bios dont duplicate cga first half rom font

  • default value: false

  • valid values: true, false

If true, save 4KB of EGA/VGA ROM space by pointing to the copy in the ROM BIOS of the first 128 chars.

video bios always offer 14-pixel high rom font

  • default value: false

  • valid values: true, false

Determines if a 14-pixel high font is available in the video BIOS ROM.

  • If true, the video BIOS will always have the 14-pixel ROM font.

  • If false, the 14-pixel ROM font will not be offered except for EGA/VGA emulation.

video bios always offer 16-pixel high rom font

  • default value: false

  • valid values: true, false

Determines if a 16-pixel high font is available in the video BIOS ROM.

  • If true, video BIOS will always have the 16-pixel ROM font.

  • If false, the 16-pixel ROM font will not be offered except for VGA emulation.

video bios enable cga second half rom font

  • default value: true

  • valid values: true, false

If true, and emulating CGA/PCjr/Tandy, automatically provide the second half of the 8x8 ROM font.

This setting is ignored for EGA/VGA emulation. If false, you will need a utility like GRAFTABL.COM to load the second half of the ROM font for graphics.

Note
If you disable the 14 & 16 pixel high font AND the second half when machine=cga, you will disable the video BIOS completely.

forcerate

  • default value: <none>

  • valid values: ntsc, pal, <rate in Hz>

Force the VGA framerate (refresh rate) to a specific value (ntsc, pal, or specific hz), no matter what. * ntsc = As used in North America is 60Hz * pal = As used in Europe and many other places is 50Hz

VGA specific resolutions normally default to 70Hz, although many clone VGA and SVGA cards supported higher values.

Note
Almost all modern LCDs only support 60Hz, which is not ideal for games meant to run at 70Hz.

sierra ramdac

  • default value: true

  • valid values: true, false

Whether to emulate a Sierra or compatible RAMDAC at IO port 3C6h-3C9h.

Some DOS games expect to access IO port 3C6h to enable highcolor/truecolor SVGA modes on older chipsets. Disable if you wish to emulate SVGA hardware that lacks a RAMDAC or (depending on the chipset) does not emulate a RAMDAC that is accessible through IO port 3C6h.

This option has no effect for non-VGA video hardware.

sierra ramdac lock 565

  • default value: false

  • valid values: true, false

When emulating High Sierra highcolor RAMDAC, assume 5:6:5 at all times if set. Else, bit 6 of the DAC command selects between 5:5:5 and 5:6:5.

Set this option for demos or games that got the command byte wrong (MFX Transgrassion 2) or any other demo that is not rendering highcolor 16bpp correctly.

vga fill active memory

  • default value: false

  • valid values: true, false

If true, DOSBox-X will fill inactive video memory regions with RAM rather than mapping them as empty.

This allows the ETen Chinese DOS system (e.g. ET16V and ET24VA) to run.

page flip debug line

  • default value: false

  • valid values: true, false

VGA debugging switch.

If true, an inverse line will be drawn on the exact scanline that the CRTC display offset registers were written.

This can be used to help diagnose whether the DOS game is page flipping properly according to vertical retrace if the display on-screen is flickering.

vertical retrace poll debug line

  • default value: false

  • valid values: true, false

VGA debugging switch.

If true, an inverse green dotted line will be drawn on the exact scanline that the CRTC status port (0x3DA) was read.

This can be used to help diagnose whether the DOS game is properly waiting for vertical retrace.

cgasnow

  • default value: true

  • valid values: true, false

IBM CGA in 80x25 text mode, when directly accessing the video memory during screen drawing, suffered from a distortion referred to as CGA "snow". This effect is not visible when the software uses the BIOS to write to the screen.

  • If true, this emulates the "snow" distortion

  • If false, the "snow" distortion is disabled

This only applies when machine=cga. Later video cards were not effected by this, nor were some clone CGA cards.

Note
This parameter can also be changed with the built-in CGASNOW command when in CGA mode.

vga 3da undefined bits

  • default value: 4

VGA status IO port 3BA/3DAh only defines bits 0 and 3. This setting allows you to assign a bit pattern in hexadecimal to the undefined bits.

The purpose of this hack is to deal with demos that read and handle IO port 3DAh in ways that might crash if all are zero.

rom bios 8x8 CGA font

  • default value: true

  • valid values: true, false

If true, similar to the mainline DOSBox compatible BIOS mapping, a legacy 8x8 CGA font (first 128 characters) is stored at 0xF000:0xFA6E.

DOS programs that do not use INT 10h to locate fonts might require that the font is located there.

rom bios video parameter table

  • default value: true

  • valid values: true, false

If true, similar to the mainline DOSBox compatible BIOS mapping, DOSBox-X will emulate the video parameter table and assign that to INT 1Dh. If false, the table will not be provided.

int 10h points at vga bios

  • default value: true

  • valid values: true, false

This option only affects EGA, VGA and SVGA emulation.

  • If true, INT 10h points at the VGA BIOS.

  • If false, INT 10h points into the system BIOS.

This option is needed for some older DOS applications that do some additional checks before detecting EGA/VGA hardware (SuperCalc).

unmask timer on int 10 setmode

  • default value: false

  • valid values: true, false

If true, INT 10h will unmask IRQ 0 (timer) when setting video modes.

vesa bank switching window mirroring

  • default value: false

  • valid values: true, false

If set, bank switch (windowed) VESA BIOS modes will ignore the window selection when asked to bank switch. Requests to control either Window A or Window B will succeed. This is needed for some demoscene productions with SVGA support that assume Window B is available, without which graphics do not render properly. If clear, Window B is presented as not available and attempts to use it will fail. Only Window A will be available, which is also DOSBox SVN behaviour.

vesa bank switching window range check

  • default value: true

  • valid values: true, false

Controls whether calls to bank switch (set the window number) through the VESA BIOS apply range checking. If set, out of range window numbers will return with an error code. This is also DOSBox SVN behaviour. If clear, out of range window numbers are silently truncated to a number within range of available video memory and allowed to succeed. This is needed for some demoscene productions that rely on the silent truncation to render correctly without which drawing errors occur (e.g. end credits of Pill by Opiate)

vesa zero buffer on get information

  • default value: true

  • valid values: true, false

This setting affects VESA BIOS function INT 10h AX=4F00h. If set, the VESA BIOS will zero the 256-byte buffer defined by the standard at ES:DI, then fill in the structure. If clear, only the structure members will be filled in, and memory outside the initial 20-32 bytes will remain unmodified.

Some very early 1990s DOS games that support VESA BIOS standards may need this setting turned OFF if the programmer did not provide enough space for the entire 256 byte structure and the game crashes if it detects VESA BIOS extensions

Needed for: GETSADAM.EXE

vesa set display vsync

  • default value: -1

  • valid values: -1, 0, 1

Whether to wait for vertical retrace if VESA Set Display Address is used to pan the display.

  • The default value -1 will wait if vesa_oldvbe, or not otherwise.

  • 0 means not to wait.

  • 1 means always to wait

This affects only subfunction 0x00. Subfunction 0x80 will always wait as specified in the VESA BIOS standard.

It is recommended to set this to 1 for VBETEST.EXE so that the panning test and information does not go by too fast.

vesa lfb base scanline adjust

  • default value: 0

If non-zero, the VESA BIOS will report the linear framebuffer offset by this many scanlines. This does not affect the linear framebuffer’s location. It only affects the linear framebuffer location reported by the VESA BIOS. Set to nonzero for DOS games with sloppy VESA graphics pointer management.

MFX "Melvindale" (1996): Set this option to 2 to centre the picture properly.

vesa map non-lfb modes to 128kb region

  • default value: false

  • valid values: true, false

If set, VESA BIOS SVGA modes will be set to map 128KB of video memory to A0000-BFFFF instead of 64KB at A0000-AFFFF. This does not affect the SVGA window size or granularity.

Some games or demoscene productions assume that they can render into the next SVGA window/bank by writing to video memory beyond the current SVGA window address and will not appear correctly without this option.

ega per scanline hpel

  • default value: true

  • valid values: true, false

If true, EGA emulation allows changing horizontal pel (panning) register per scanline.

This is reportedly the behavior of IBM EGA hardware according to DOSBox SVN and enabled by default.

If false, EGA emulation latches hpel on vertical retrace end (like VGA does), which may have been EGA clone behavior that some games were written against.

Commander Keen episodes 4-6 need this option set to false when machine=ega.

This option affects only EGA emulation. To change VGA hpel behavior, use the allow hpel effects setting instead.

allow hpel effects

  • default value: false

  • valid values: true, false

If true, allow the DOS demo or program to change the horizontal pel (panning) register per scanline. Some early DOS demos use this to create waving or sinus effects on the picture.

Not very many VGA chipsets allow this, so far, only ATI chipsets are known to support this effect.

allow hretrace effects

  • default value: false

  • valid values: true, false

If true, allow the DOS demo or program to make the picture wavy by playing with the 'start horizontal retrace' register of the CRTC during the active picture.

Some early DOS demos (Copper by Surprise!productions) need this option set for some demo effects to work.

hretrace effect weight

  • default value: 4.00

If emulating hretrace effects, this parameter adds 'weight' to the offset to smooth it out.

The larger the number, the more averaging is applied. This is intended to emulate the inertia of the electron beam in a CRT monitor

vesa modelist cap

  • default value: 0

If non-zero, the VESA modelist is capped so that it contains no more than the specified number of video modes.

vesa modelist width limit

  • default value: 1200

If non-zero, VESA modes with horizontal resolution higher than the specified pixel count will not be listed.

This is another way the modelist can be capped for DOS applications that have trouble with long modelists.

vesa modelist height limit

  • default value: 1024

If non-zero, VESA modes with vertical resolution higher than the specified pixel count will not be listed.

This is another way the modelist can be capped for DOS applications that have trouble with long modelists.

vesa vbe put modelist in vesa information

  • default value: false

  • valid values: true, false

If true, the VESA modelist is placed in the VESA information structure itself when the DOS application queries information on the VESA BIOS.

Setting this option may help with some games, though it limits the mode list reported to the DOS application.

vesa vbe 1.2 modes are 32bpp

  • default value: auto

  • valid values: true, false, auto

Some DOS games and demos assume one bit depth or the other and do not enumerate VESA BIOS modes, which is why this option exists.

  • If true, truecolor (16M color) VESA BIOS modes in the 0x100-0x11F range are 32bpp.

  • If false, they are 24bpp.

  • If set to auto, this is determined by the type of SVGA chipset emulated.

allow low resolution vesa modes

  • default value: true

  • valid values: true, false

If true, allow low resolution VESA modes (320x200x16/24/32bpp and so on).

You could set this too false to simulate SVGA hardware with a BIOS that does not support the low resolution modes for testing purposes, or to limit the amount of modes available.

allow explicit 24bpp vesa modes

  • default value: false

  • valid values: true, false

If set, additional 24bpp modes are listed in the modelist regardless whether modes 0x100-0x11F are configured to be 24bpp or 32bpp. Setting this option can provide the best testing and development environment for new retro DOS code.

  • If true, 24bpp will only be available in the 0x100-0x11F range if the "vesa vbe 1.2 modes are 32bpp" is false.

  • Setting to false helps to emulate typical SVGA hardware in which either 24bpp is supported, or 32bpp is supported, but not both.

allow high definition vesa modes

  • default value: false

  • valid values: true, false

If set, offer HD video (16:9 aspect ratio) modes in the VESA modelist (such as 1280x720 aka 720p or 1920x1080 aka 1080p).

This option also offers 4:3 versions (960x720 and 1440x1080) for DOS games that cannot properly handle a 16:9 aspect ratio, and several other HD modes. The modes enabled by this option are still limited by the width and height limits and available video memory.

This is unusual for VESA BIOSes to do and is therefore disabled by default.

allow unusual vesa modes

  • default value: false

  • valid values: true, false

If true, unusual (uncommon) modes are added to the VESA modelist.

The modes reflect uncommon resolutions added by external drivers (UNIVBE), some VESA BIOSes, some laptop and netbook displays, and some added by DOSBox-X for additional fun.

allow 32bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 32bpp VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 24bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 24bpp (aka True Color) VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 16bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 16bpp (aka High Color) VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 15bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 15bpp VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 8bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 8bpp (256 color) VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 4bpp vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with 4bpp (16 color) VESA modes, set to 'false'.

These modes have the same 16-color planar memory layout as standard VGA, but at SVGA resolution.

allow 4bpp packed vesa modes

  • default value: false

  • valid values: true, false

If the DOS game or demo has problems with 4bpp (16 color) packed VESA modes, set to 'false'.

4bpp (16-color) packed is an unusual novelty mode only seen on specific Chips & Tech 65550 VESA BIOSes such as the one in a Toshiba Libretto laptop.

allow tty vesa modes

  • default value: true

  • valid values: true, false

If the DOS game or demo has problems with VESA text modes, set to 'false'

double-buffered line compare

  • default value: false

  • valid values: true, false

This setting affects the VGA Line Compare register.

  • Set too false to emulate most VGA behavior

  • Set to true for the value to latch once at the start of the frame.

ignore vblank wraparound

  • default value: false

  • valid values: true, false

DOSBox-X can handle active display properly if games or demos reprogram vertical blanking to end in the active picture area. If the wraparound handling prevents the game from displaying properly, set this to false.

Out of bounds vblank values will be ignored.

ignore extended memory bit

  • default value: false

  • valid values: true, false

Some DOS applications use VGA 256-color mode but accidentally clear the extended memory bit originally defined to indicate whether EGA hardware has more than 64KB of RAM.

Setting this option can correct for that. Needed for Mr. Blobby.

enable vga resize delay

  • default value: false

  • valid values: true, false

If the DOS game you are running relies on certain VGA raster tricks that affect active display area, enable this option.

This adds a delay between VGA mode changes and window updates. It also means that if you are capturing a demo or game, that your capture will also show a few garbled frames at any point mode changes occur, which is why this option is disabled by default.

If you intend to run certain DOS games and demos like DoWhackaDo, enable this option.

resize only on vga active display width increase

  • default value: false

  • valid values: true, false

If true, changes to the Display End register of the CRTC do not trigger DOSBox-X to resize its window IF the value written is less than the current value.

Some demos like DoWhackaDo need this option set because of the way its raster effects work. If the DOSBox-X window rapidly changes size during a demo try setting this option. Else, leave it turned off.

Changes to other VGA CRTC registers will trigger a DOSBox-X mode change as normal regardless of this setting.

vga palette update on full load

  • default value: true

  • valid values: true, false

Update the VGA palette only on setting all 3 bytes.

  • If true, all three bytes of the palette entry must be loaded before taking the color, which is fairly typical SVGA behavior.

  • If false, partial changes are allowed.

ignore odd-even mode in non-cga modes

  • default value: false

  • valid values: true, false

Some demoscene productions use VGA Mode X but accidentally enable odd/even mode.

Setting this option can correct for that and render the demo properly.

This option forces VGA emulation to ignore odd/even mode except in text and CGA modes.

[vsync] config section

Various vsync configuration settings can be set in the DOSBox-X configuration file in the [vsync] section.

vsyncmode

  • default value: off

  • valid values: off, on, force, host

Synchronize vsync timing to the host display. Requires calibration within DOSBox-X.

Warning
Synchronizing to the host may cause issues with some games. For instance Sierra AGI games use VSYNC as part of their Hercules detection and will fail to find the adapter.

vsyncrate

  • default value: 75

  • valid values:

Vsync rate used if vsync is enabled. Ignored if vsyncmode is set to host (win32).