1
0
Fork 0
mirror of https://github.com/dosbox-staging/dosbox-staging synced 2025-12-04 16:27:29 -05:00
Video tests — CRT shaders
John Novak edited this page 2025-11-08 11:29:01 +10:00

Video tests — CRT shaders

Table of contents

crt-auto tests

In the automatic "video mode-specific" CRT emulation mode (shader = crt-auto), we want "true EGA" games on emulated VGA adapters to use the single scanline EGA shader. "True EGA" games set up an EGA mode and don't change the palette to use 18-bit VGA colours. These games look identical on VGA and EGA, except for the VGA double scanning.

Some games (most notably Amiga and Atari ST ports) "repurpose" the 16-colour EGA modes on VGA: they set up an EGA mode first, then change the default CGA/EGA palette to a custom set of sixteen 18-bit RGB colours (many Amiga and Atari ST games used a 16-colour palette out of 4096 (Amiga) or 512 (Atari ST) colours). As these games can only run on VGA adapters, we double scan them in crt-auto mode (although it can be argued that this case calls for single scanning to mimic the single-scanned home computer monitor look. But we're emulating PC compatibles here and how people experienced these games on PC hardware, so double scanning it is).

Note

crt-auto-machine should always double scan when using an emulated VGA adapter—the auto-switching to a single-scanline shader for "true EGA" modes should only happen on crt-auto.

320x200 0Dh EGA mode with default colours

These games use the default 16-colour CGA palette, so single-scanned EGA shaders should be selected for them on an emulated VGA adapter with shader = crt-auto.

  • 2400 A.D.
  • Arachnophobia
  • Bard's Tale 1, The - Tales Of The Unknown
  • Bard's Tale 2, The - The Destiny Knight
  • Bard's Tale 3, The - Thief Of Fate
  • Bard's Tale I
  • California Games
  • Castle Master
  • Catacomb 3D
  • Champions of Krynn
  • Chip's Challenge
  • Commander Keen - Keen Dreams
  • Commander Keen 1 - Marooned on Mars
  • Commander Keen 2 - The Earth Explodes
  • Commander Keen 3 - Keen Must Die!
  • Commander Keen 4 - Secret of the Oracle
  • Cosmo's Cosmic Adventure - Forbidden Planet
  • Death Knights of Krynn
  • Defender of the Crown
  • Dragon Wars
  • Drakkhen
  • Duke Nukem - Episode 1 - Shrapnel City
  • Eye of the Beholder I
  • Fountain of Dreams
  • It Came From The Desert
  • King's Bounty
  • Leisure Suit Larry 2
  • Out of This World (EGA mode)
  • Pool of Radiance
  • Quest for Glory I
  • Quest for Glory II
  • Rings of Medusa
  • Space Quest 3
  • Street Rod
  • Total Eclipse
  • Ultima IV - Quest of the Avatar
  • Ultima V - Warriors of Destiny
  • Wasteland
  • Wizardry VI - Bane of the Cosmic Forge
  • Zak McKracken and the Alien Mindbenders (Enhanced)

Dragon Wars

Champions of Krynn

320x200 0Dh EGA mode with VGA colours

These games use custom 18-bit VGA colours. They require a VGA card (most won't even start up with machine = ega), therefore they must appear double-scanned with shader = crt-auto.

  • Blues Brothers
  • Cadaver
  • Cadaver - The Payoff
  • Duke Nukem II
  • Gods
  • Heimdall
  • Immortal, The
  • Magic Pockets
  • Metal Mutant
  • Out of this World (Another World)
  • Prehistorik 2
  • Rastan
  • Might and Magic II (on VGA, it redefines the skin tone colour, but only in the in-game images; people have purple skin in the title and character generation screens)
  • Rick Dangerous 2
  • Speedball 2
  • Starblade
  • Xenon 2 - Megablast
  • Zool

Cadaver

Gods

640x200 0Eh EGA mode with VGA colours

These games use custom 18-bit VGA colours. They require a VGA card, therefore they must appear double-scanned with shader = crt-auto.

  • Rusty

Double-scanned, correct (VGA shader)

Single-scanned, incorrect (EGA shader)

640x350 10h EGA mode with default colours

These games pick 16 colours from the standard 64-colour EGA palette, hence EGA shaders will be picked (single-scanned, but it makes no difference as 350-line modes are always single-scanned on VGA anyway).

  • Chuck Yeager's Advanced Flight Trainer 2.0
  • Corruption
  • EGA Trek
  • Fish!
  • Gateway
  • Jet
  • Jinxter
  • Pawn, The
  • Sierra's 3-D Helicopter Simulator
  • SimAnt
  • SimCity
  • SimFarm
  • Spellcasting 101
  • Spellcasting 201
  • Sub Battle Simulator The Masters Collection
  • Timequest
  • UFO

Spellcasting 201

SimCity

640x350 0Eh EGA mode with VGA colours

These games set up 16 custom 18-bit VGA colours so they must pick the VGA shader.

  • Darkseed
  • Daughter of Serpents (character creation screen only)

Darkseed

crt-auto tests using QPV

Use the following specially prepared test pics in QPV: test-pics.zip

Grafx2 is great for manipulating of paletted/bitplane-based graphics files.

Make sure QPV is configured for EGA modes. You should have something like this in QPV.CFG:

# 16-colour EGA/VGA modes
 320  200   16     40 $0d 0
 640  200   16     80 $0e 0
 640  350   16     80 $10 0
 640  480   16     80 $12 0

Turn off auto resolution (# key) and select the 320x200 16-colour mode (with the + and - keys).

Details about the test images:

MONKEY1.IFF

320x200, 16-colour, EGA palette in canonical EGA colour order. image

image

MONKEY2.IFF

320x200, 16-colour, EGA palette, but with bright cyan missing. image

image

SQ3.IFF

320x200, 16-colour, EGA palette, but with brown missing and a completely different colour ordering. image

image

MAGICWLD.IFF

320x200, 16-colour, non-EGA palette. image

image

SCOOPEX.IFF

320x200, 16-colour, non-EGA palette. image

image

Test 1

Perform the following in QPV with shader = crt-auto:

  • Press enter on MONKEY1.IFF — EGA shader should be picked.
  • Press Esc to return to the 640x480 interface screen.
  • Press enter on MONKEY2.IFF — EGA shader should be picked.
  • Press Esc.
  • Press enter on SQ3.IFF — EGA shader should be picked.
  • Press Esc.
  • Press enter on MAGICWLD.IFF — VGA shader should be picked.
  • Press Esc.
  • Press enter on SCOOPEX.IFF — VGA shader should be picked.

Test 2

Perform the following in QPV with shader = crt-auto:

  • Press enter on MONKEY1.IFF — EGA shader should be picked
  • Press enter to advance to MONKEY2.IFF — This involves no screen mode change, but as the image still contains EGA colours only, the EGA shader remains active.
  • Press enter to advance to SCOOPEX.IFF — This contains VGA colours, so the VGA shader should be selected.
  • Press enter to advance to SQ3.IFF — This has EGA colours, but no screen mode change is involved, so we should be stuck with the VGA shader.
  • Press Esc and then Enter to display SQ3.IFF but trigger a screen mode change — EGA shader should be picked.

Test 3

Repeat the above tests with different shader and machine settings:

  • shader = none, sharp & nearest — Should work as expected.
  • shader = crt-auto-arcade & crt-auto-arcade-sharp — The single-scanned arcade shaders should be always picked.
  • shader = crt-auto-machine & machine = vga — The VGA shader should be always picked.

Test 4

Repeat the above tests with output = texture and texturenb.

crt-auto tests using Deluxe Paint IIe

  • Use shader = crt-auto.
  • Start Deluxe Paint in EGA 640x350 16 colors mode (option "e").
  • An EGA shader should be picked.
  • Open the palette editor with the P key, then start dragging the RGB sliders around.
  • Deluxe Paint snaps the colours to the 64-colour EGA palette, so no shader switching should take place.
  • Repeat the test in the VGA 640x350 16-colour mode (option "j"). This mode allows you to set VGA colours for this EGA screen mode.
  • The EGA shader should be picked initially, but once you start dragging the RGB sliders, the shader should auto-switch to VGA.
  • Repeat the steps in the 320x200 16-colour mode on EGA and VGA.

Confusing "enhanced" VGA versions

Some games have the "EGA look" but still trigger double scanning on VGA adapters because of some slightly tweaked colours.

Might and Magic 2 - Gates to Another World

On VGA adapters, you can run the game in VGA mode with loadfix mm2 M to get EGA graphics with a minimally enhanced palette but in the 320x200 256-colour 13h VGA mode, or with loadfix mm2 E to run it in pure EGA mode.

Character creation

No difference between the two modes in terms of colours; skin tones are always purple.

EGA mode

VGA mode

In-game

The purple colour used for skin tones in the EGA version has a proper skin tone colour in VGA mode. This is the only difference.

EGA mode

VGA mode

Windwalker

EGA

This is how the game looks with machine = ega:

VGA

On VGA adapters, the intro screens are a bit different because they use a 256-colour palette, but the actual game uses the same EGA graphics.

  • Running the game with WIND.EXE or WIND.EXE EGA results in identical looking results, but the former uses mode 13h (VGA), and the latter 0dh (EGA).
  • The pink is replaced with brown in VGA mode; that's the only difference.

It Came From the Desert

Run DESERT /I to reconfigure the game.

Title screen

This might look like the standard EGA palette, but it's actually not.

VGA

EGA

In-game

The blue is a bit darker in VGA mode, therefore it's technically not the standard 16-colour CGA palette anymore.

VGA

EGA