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 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 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 will directly try to write to and read from the CGA graphics memory location which doesn't exist, so these titles will either exit you out with a 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 the flesh the image quality is much better than what you see in these pictures. Where text seems to just blend in with the background in the image, it is readable in real life.

Test Bed

To test these various 1980s and early 1990s DOS utilities, I have the following:

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.

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.

UniCGA

UniCGA 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.

Results

Railroad Tycoon wasn't fooled by UniCGA, and aborted with "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 -s)...

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 got as far as loading 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. 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.

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, 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 displayy. 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 characters walk and jumps. The tearing does 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 the .DOC text file that came with it, SETMONO failed to return 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.

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

 

Herc

The lightest of the pack here, in a 618 byte .COM file! Herc is also not half 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 keypressed, 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 now aren't you? So to summarise, this is how the utilities stacked up:

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. 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 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!