DOS Days

CGA Simulators for Hercules Cards

What is a CGA Simulator?

A CGA Simulator was a program you ran that allowed you to run CGA games, that is, games that were designed to be playable with an IBM Color Graphics Adapter, even if you only had a Hercules monochrome graphics card. This was important, as the Hercules (HGC) graphics standard was really designed for high readability in text mode with its 720x348 resolution. But this excellent high resolution had a trade off - colour (or lack of). It supports only 2 brightness levels and blinking, so all graphics needed to be dithered to try to show different shades.

Because of this, and despite its very low resolution, CGA was about the lowest quality standard games developers wrote their games to support. Typically these would be 4 colours at 640x200 or 320x200 resolution. If you grew up with an Amstrad CPC464 and your parents only got the monochrome (green) monitor option or you had an Amstrad PCW Word Processor, you'll be right at home here ;-)

So CGA simulators, basically small DOS utilities, were written to overcome this, allowing the many HGC owners out there to still buy and play CGA-compatible software.

Results vary quite a bit, however. Some games would directly try to write to and read from the CGA graphics memory location which doesn't exist on a Hercules card, so these titles would either exit you out to DOS with a friendly message, or crash. Examples of this are Railroad Tycoon, Indianapolis 500 and Boulder Dash.

This article looks at the following CGA simulators and reviews their good and bad points when used with 18 games that do not support Hercules but do support CGA:

  • UniCGA v1.0 - Tommy Frandsen (1991)
  • CGA - Colour Graphics Emulator by Stephen Jones (27 Oct 1986)
  • HGCIBM v1.11 - Athena Digital, Gary Batson (1986)
  • HGCIBM v2.02 - Athena Digital, Gary Batson (1987)
  • SimCGA - Chuck Guzis (1986)
  • HERC - ?

Please forgive the crude photos - I usually use a DOS screen grabber called Snarf-It, but it fails to work with my Hercules card. On the plus side, these various utilities sometimes display CGA in very different sized resolutions, so seeing my monitor's bezel around the edges will hopefully help you determine what you will actually see!

Note also that in real life (off-camera), the image quality is much better than what you see in these pictures! Where text seems to just blend in with the background in these images, it is very readable in real life.

Test Bed

To test these various 1980s and early 1990s DOS utilities, I have the following retro PC hardware set up:

Motherboard Zeta P-10, NEC V20 @ 9.54 MHz, 640 KB RAM, Faraday FE2010A chipset.
Graphics Card Twinhead CT-6040S Rev. G5 Hercules-compatible 8-bit ISA card with 64 KB 120ns DRAM video memory

and

Kouwell KW-526K (Tamarack TD3088A)
Hercules-compatible 8-bit ISA card with 64 KB 100ns DRAM video memory
Monitor Philips BM7513 12" Green-screen monochrome. Digital TTL out.
Disk XT CF-Lite with 512 MB SanDisk Ultra CompactFlash card partitioned into four 2 GB FAT-16 partitions.

As you can see from the test bed above, for a little bit of variety I chose to do the tests using two Hercules-compatible graphics cards from different manufacturers, and with different memory speeds. I'm honestly not sure if we'll get any difference, but it makes this testing more thorough.

UniCGA

UniCGA by Tommy Frandsen is unique among the CGA simulators being reviewed here in that it is *very* full-featured. It supports not only software simulation, but hardware simulation too (for cards that have 'some' support for CGA), you can adjust the refresh rate yourself and it supports all CGA graphics and text modes. WARNING: You can damage your computer monitor by setting the refresh rate higher than it can support! I accept no liability for loss or damage if you use this tool.

Results

Railroad Tycoon wasn't fooled by UniCGA, and aborted with the message "CGA is not supported on your machine".

Kings of the Beach worked just fine with UniCGA's -s option. You have to run the game using vball c to request CGA mode, otherwise it just dumps you back at the DOS prompt. I'm not sure why the image's horizontal position seemed far to the left - this occurred in a few games with UniCGA.

       

Battle Chess worked well too (also using the -s option for UniCGA)...

Super Offroad hung on startup in CGA mode.

Grand Prix Circuit got to the main menu screen but then crashed using -s. A second attempt got as far as the 'Choose Your Track' screen, but then hung the machine.

Commander Keen 4 hung on the Video/Graphics mode initialisation screen.

Hillsfar managed to load the title screen but never got to the player character screen.

Monuments of Mars was just about playable, though the initial title screen only displayed the 'Episode 1: First Contact' portion - the rest was black (see below). Hitting Enter also failed to show the main menu. Hitting Enter again *did* then start the game, though it was a bit sluggish to play. No screen tearing but slow. On this game I then tried setting my own refreshes per minute. With the Kouwell card and its 100ns memory, I was able to push it to about 300 refreshes/min and the game played more smoothly. Pushing it to 360 and then to 450 caused the game to get a lot more laggy and unresponsive.

 

Alley Cat ran but was too jerky to be playable - each action with the keyboard would be reflected in-game about half a second later. Furthermore, the screen size isn't great - you get about 30-40% loss with this game.

  

Boulder Dash failed to run properly, hanging after displaying this:

Bouncing Babies ran but was completely unplayable. Just as with Alley Cat the game lacks the responsiveness needed to play the game.

Jill of the Jungle is a game that they recommend you have an 80286 to run, but I thought I would add it to the list anyway since it is demanding on the hardware. I fully expected it not to run at all, but with UniCGA -s it worked! I ran the game with the /NOSND flag to hopefully ease the burden on my poor V20 CPU. After choosing sound and video options, loading took some time, refreshing screens and menus took longer that I would like, and in-game movement was jerky - not particularly playable (and this is on a 10 MHz computer and the slightly faster-memory Hercules card).

     

Karateka ran well on UniCGA. Trying to punch and kick was entirely possible, though perhaps reaction timing suffered. The size of the screen wasn't great with everything compressed vertically more than it should, but there were no graphical glitches.

     

Montezuma's Revenge

Sopwith

Starquake

Winter Games

Zaxxon

 

THOUGHTS

Probably the main downside with UniCGA is that the system takes a notable performance hit at the DOS prompt. In hardware mode the system ran about 16% slower. In software simulation modes, its more like 20%. Which on an already fairly slow computer is very noticeable. Whenever it's resident in memory, it's running in a 'graphical' mode, meaning even directory listings take *much* longer to display in the graphics font than the usual text 'mode co80'.

Ease of Use: 5
Compatibility: 3
Screen Size: 5
Performance: 4

 

CGA

The Colour Graphics Emulator by Stephen Jones is unique among these utilities in that you can optionally insert a boot disk (such as PC Booter game) after running CGA and have it boot into that game in CGA simulation mode.

When you run CGA.COM with the m option (just by typing cga m) the program doesn't acknowledge that you chose one of the two choices it offers, but it does enable CGA mode.



RESULTS

Sadly, not all games ran. Railroad Tycoon showed the first screen and then locked up.

Kings of the Beach worked but much more jerkily compared to UniCGA.

       

Bouncing Babies didn't run - it reports "Illegal function call at address 12AD:01FC".

Alley Cat ran and was playable, and didn't produce any graphical artifacts around moving objects on the screen. It wasn't as responsive as when running with SimCGA or HGCIBM v2.02 however (read on for more on that), nor does it use as much of the available screen space so looks a bit squashed.

 

 

THOUGHTS

I think the biggest issue I have with CGA.com is how much it's reduced the visible area compared to UniCGA - with this you lose about 33% of the gameplay area. On the plus side, Performance? hardly touched by running this little 2 KB TSR while you're at the DOS prompt, though in-game it's more sluggish. I like the idea of being able to run a PC Booter game using this, though I only have two (Football Manager and Defender of the Crown).

Ease of Use: 5
Compatibility: 4
Screen Size: 3
Performance: 2

 

HGCIBM v1.1

There are two versions of HGCIBM, v1.1 and 2.02. Version 1.1 only supports 640x200 resolution, so if you want to play any games that natively run in CGA's 320x200 this is not going to work.

HGCIBM can be set to run in one of two modes - Half and Full. In Half mode, text mode programs continue to work as if the simulator is not even installed, so you will still have the full 720x348 hi-resolution Hercules text display. However, if you run any graphics programs HGCIBM will intercept the BIOS interrupts to manipulate the software to display in CGA mode. In this mode the BIOS equipment flag that reports the graphics card type is still set to Hercules Mono. Half mode provides the best compatibility for both text and graphics modes combined.

The other mode, Full, sets the BIOS equipment flag to CGA and the system operates as if a CGA card is installed even in text mode applications.

RESULTS

Kings of the Beach failed to run, producing just a flashing cursor in the top-right corner in Half mode, and in Full mode produced garbled text blocks on the screen.

 

THOUGHTS

Because there's a better (later) version of HGCIBM reviewed here, I didn't bother doing further tests on this older version.

Ease of Use: 5
Compatibility: 0
Screen Size: N/A
Performance: 0

 

HGCIBM v2.02

Version 2.02 of HGCIBM did away with Half and Full modes, instead opting for CGA mode, Mono mode, or Emulation mode. CGA mode is only available where your card supports Hercules-compatible CGA. Mono mode is available all the time, since you're running this on a Hercules monochrome graphics card. Emulation mode is what we're testing here - CGA emulation. This version also added support for Leading Edge Model D computer graphics cards.

 

One good thing I love about HGCIBM v2.02 is that it remains in a fast text mode when you're not running anything in graphics mode, meaning DOS and all text mode programs still run nice and fast.

RESULTS

Kings of the Beach ran well on this version of HGCIBM. No screen tearing or artifacts, and performance was excellent. One key difference is that in DOS text mode with HGCIBM running you really can't detect any performance drop. Norton SI indicated perhaps a 9% reduction. But in games, it's very fast.

     
  

Grand Prix Circuit did better than the other CGA simulators, allowing you to actually play the game, but did exhibit some screen tearing that would remain in place until you left that screen (so while racing it would be there the whole race).

 

     
    

Super Offroad hung on startup in CGA mode.

Hillsfar got as far as loading the title screen but never got to the player character screen.

Monuments of Mars worked just fine. It was fairly quick to play, but exhibited some temporary screen tearing as your character walks and jumps. The tearing does soon disappear rather than leaving artifacts all over the screen.

     

Alley Cat played very well - a little bit of tearing was observed with the cat darting about, but this is a fast action game. I would trade off a little bit of graphical glitchyness for responsiveness any day. Good screen size too.

 

Boulder Dash failed to run properly, hanging after displaying this:

Bouncing Babies ran as I expected - extremely fast but with artifacts wherever there is movement on-screen. It was playable, though I would probably recommend pressing the Turbo button to bring the computer down to 4.77 MHz or use a SloMo/Slowdown utility for this game.

 

Karateka ran well on HGCIBM v2.02. It used more of the screen space than UniCGA and the speed of gameplay was great. As we've seen, HGCIBM v2.02 does have this trade-off for its high performance/refresh rate in showing more screen tearing.

     

THOUGHTS

I may be a little biased as this is the program I turned to for most of my CGA games back in 1990, but I'm pleased that it was one of the best too. I don't recall having any ill-feeling towards it - it just worked, and it worked well. Unsurprisingly, that's what is coming out in this review.

Ease of Use: 5
Compatibility: 4
Screen Size: 5
Performance: 5

 

SimCGA

SimCGA was another program I recall using with my original XT clone, though I only recall the one program file. The version I tested here is 3 programs in one. According to the instructions first you run SIMCGA to load the memory-resident portion. Then you run SETMONO to go back to mono mode, and SETCGA when you need to run something in CGA mode.

RESULTS

After running SIMCGA just like Herc (see below) you lose visibility of your text characters, and unlike what the .DOC text file that came with it tells you, running SETMONO failed to return me to a readable text mode.

Kings of the Beach ran as well as it did on HGCIBM v2.02 - nice and fast, though it does have some shadowing as you would expect.

Bouncing Babies failed to run, hanging the machine.

Alley Cat ran well and had a decent screen size. Just as with HGCIBM v2.02, the were some artifacts behind animations on the screen.

 

THOUGHTS

I want to dig out my original copy of this utility, as it never lost text mode, so I have to assume this is a different version. The screen size was really good, and performance was also good - up there with HGCIBM v2.02. As with SIMCGA, it displays the screen content very much shifted to the left, though this is of minimal concern.

Ease of Use: 2
Compatibility: 4
Screen Size: 5
Performance: 5

** UPDATE 11th Oct 2023: DOS Days contributor Carlos provided me with a SimCGA v4.1, which I briefly tried out. Unlike the 3-file version above, this was just one file, and it works better in some respects. The screen is perfectly-aligned with the centre of the display and is well-sized, but you cannot revert back to a pure monochrome text mode and it cannot be uninstalled from memory (there are no command-line arguments). Testing it on a few games showed that when it worked, it worked really well! I tried it on 4D Sports Driving as well as Budokan: The Martial Spirit - both games performed great! Test Drive didn't fare so well, with lots of screen tearing and the game failed to conduct any screen updates after I got behind the wheel.

Herc

The lightest of the pack here, in a 618 byte .COM file! Herc is also not bad. It is possibly the fastest CGA simulator here, or on par with HGCIBM v2.02. The only downside I noticed was that once you run Herc.com you cannot read any text! You see a flashing DOS text cursor, and it moves along with your keypresses, but it's illegible. You can get visibility back by running the DOS mode command (use 'mode mono').

RESULTS

Kings of the Beach ran very well - again, on par with HGCIBM v2.02.

Grand Prix Circuit suffered exactly the same artifacts remaining on the screen as HGCIBM v2.02.

Monuments of Mars ran as well as it does with HGCIBM v2.02 - notice a pattern here? It's like they're doing precisely the same thing :-) The Monuments of Mars title screen appeared as it should.

In all games, the screen size that was displayed was good.

THOUGHTS

I'd put this up there with HGCIBM v2.02 if it weren't for the weirdness with not being able to read text mode characters after you load it. Still, if you're running Herc.com from a batch file before you run a game executable you won't even notice. As mentioned, use 'mode mono' to get your DOS prompt back, so add this to any batch files you write to play games. You cannot unload Herc from memory, but with just 618 bytes it's hardly a hog.

Ease of Use: 3
Compatibility: 4
Screen Size: 5
Performance: 5

 

Conclusion

OK, so there we have it - your seeing nothing but green flashes in front of your eyes now aren't you? ;-) So to summarise, this is how the utilities stacked up, with a maximum of 20 points to win:

Utility Ease of Use Compatibility Screen Size Performance TOTAL
UniCGA 5 3 5 4 17
CGA 5 4 3 2 14
HGCIBM v1.1 5 0 0 0 5
HGCIBM v2.02 5 4 5 5 19
SimCGA 2 4 5 5 16
Herc 3 4 5 5 17

HGCIBM v2.02 is our winner in today's test with 19/20. It's easy to use, can be uninstalled at will, you don't lose visibility of text mode after you run it, and it is fast when playing games (though with some shadowing). My only gripe is lack of flexibility which UniCGA has where you can tweak some settings. Perhaps for some games having a lower refresh rate but with less shadowing and screen tearing is the best option. On the flip side, a scrolling game needs faster refresh rates and you just have to put up with some tearing.

All in all, this is the one I would recommend. In 2nd place I vote for UniCGA which scored 17/20, because of the aforementioned flexibility to tweak the refresh rate.

Also on the podium is the tiny Herc, which takes up almost no memory and seems to be as good as HGCIBM. The only negative over HGCIBM v2.02 was the fact you can't uninstall it.

Anyway, there we have it - probably the only CGA simulator review on the internet! My advice is have a bit of fun in green screen mode (or amber or white) to bring back that longing for EGA or VGA for 30 minutes (for added nostalgia, be sure to use the PC speaker as well!), then boot up your SVGA Retro gaming PC and play the same games in their best video and audio modes - ahhh, that's better! This review can only be described as a Herculean effort...