The refresh rate is the number of times the display redraws the screen per second. In the DOS world, three refresh rates were typically used by monitors. Displays compatible with the MDA and Hercules Graphics Card used a 50Hz refresh rate. To reduce flicker, they also used slow-decaying phosphors, giving a ghosting effect. A high pixel resolution of 720x350 was available, but these displays used a TTL signal composed of a video and an intensity line, instead of an analog composite signal.
The CGA was designed for TV screens and color RGB monitors, so its displays used a 60Hz refresh rate. As a tradeoff, the resolution of this adapter could not exceed 240 lines. The adapter did not support interlaced video modes, which generally use 480 or more lines and which ran at ~30Hz. The flicker caused by an interlaced signal on a CRT is very noticeable when the user is close to the screen. The monitor used a 4-bit digital input for RGBI monitors, but was otherwise similar to analog RGB monitors like the Amiga 1084. The PCjr. and Tandy Graphics Adapters used the same displays. The EGA could use either an Monochrome Display, a Color Display or an Enhanced Color Display that supported 350-lines and 6-bit digital RrGgBb input. The refresh rate for the Enhanced Color Display was still 60Hz.
Later, the VGA and MCGA supported high resolution analog RGB monitors. To reduce flicker, these monitors refresh all resolutions at 70Hz, except for 640x480, which uses 60Hz. SVGA and later standards would typically allow the user to set the refresh rate for the resolution he wished to use, and some CRT monitors of the late 1990s could handle refresh rates up to 120Hz at 640x480 and 85Hz at 1024x786 or better. Refresh rate also tended to depend on bit depth, and the monitor may not be able to handle a 32-bit graphics mode at a high refresh rate.
The increase in refresh rate was mainly done to combat flicker. When someone sits five feet from a TV screen, interlacing and flicker are generally not so great a problem as to distract a person. However, when someone sits five inches from a computer monitor, 60Hz can become a problem, especially as screen sizes grew from 13" to 15" and beyond.
Just because the display adapter is drawing the screen 60 times per second, that does not necessarily mean that there is some movement occurring on the screen at that framerate. Many DOS games, like adventures, are fairly static games where often little is occurring on the screen. In this sense, the game's framerate is only the rate needed to update the animation. Games with cursors can redraw the cursor as fast as the refresh rate allows. Therefore, despite the potential of the displays, actual high frame rate games are comparatively uncommon. Many CGA and EGA games will limit themselves to 30 (Test Drive), 20, 15 (Lemmings), 10 or 5 frames per second. By keeping the frame rate to an even divisor of 60, the game can avoid screen tearing.
Similarly, in many action games of the 1990s that used VGA, the frame rate would not intentionally exceed 35 frames per second during the action. Some of ID Software's games from this period follow this rule, including Commander Keen 4-6 and Keen Dreams and the DOOM games. The use of 35 frames, even in a 16-color game like Keen, demonstrates that ID was using VGA, not EGA, to develop the game.
Commander Keen 1-3 use a "cinematic" 24 frames per second approach, and Commander Keen 4-6 and Keen Dreams for CGA allow up to 60 frames per second. This may be to compensate for the lack of scrolling hardware with CGA. Dangerous Dave, Monster Bash and Catacomb 3-D use 60 frames per second with EGA and 70 frames per second with VGA. Wolfenstein 3D is a 70 frames per second game using an updated Catacomb 3-D engine. Jazz Jackrabbit is a very fast and fluid game, and it uses 60 frames per second in its action sequences. To avoid screen tearing, the game uses a custom 320x199 resolution to allow it to specify a custom 60Hz refresh rate.
The best DOS pinball games are also high frame rate games. Epic Pinball, Pinball Fantasies and Pinball Illusions all use 60 frames per second for the tables. This makes sense because they are trying to simulate the fast action of a pinball table and ensure smooth screen scrolling as the table has to frequently shift from the upper and lower portions of the table. Pinball Dreams and Pinball Dreams 2 actually use 70 frames per second for their tables.
High framerates assumes your hardware can push those frames out to the adapter. Lower-end hardware will not be able to keep up, and the responsiveness of the screen will not be as fluid. However, on the other end of the spectrum, older games may be run too fast on newer hardware, and thus may approach 60 or 70 frames per second when they were intended only to produce a fraction of that rate. In Sierra's AGI games, for example, while the frame rate is usually in the teens, if you use the fastest setting on a 486, for instance, you may go to at least 60 or 70 frames per second.
Showing posts with label Game Video. Show all posts
Showing posts with label Game Video. Show all posts
Monday, September 1, 2014
Sunday, May 18, 2014
The Saga of 16 Colors
IBM's original color graphics solution for CGA could display 16 colors. However, it could not display them all at the same time, except in the text modes. Otherwise it could display graphics (all points addressable) in limited 320x200 4 color and 640x200 2 color modes. Certain games like Round 42 use the 80 column text mode, tweaked to display an effective 160x100 graphics resolution. On a real CGA, the 80-column mode would show CGA snow or the graphics would be very slow.
The 1983 PCjr. was IBM's first consumer device that could display all 16 colors on screen at the same time in graphics modes. Despite the system being much more difficult to upgrade and slower than an IBM PC when equipped with 128KB or less of RAM, its 320x200 16 color and even its 160x200 16 color graphics were far superior to CGA.
The 1984 EGA was IBM's third graphics adapter to see widespread support in games, although the high price of EGA kept it out of reach for most consumers for approximately two years. It too supported a 320x200 16 color mode and could display 160x200 16 color graphics easily through pixel doubling.
In late 1984, Tandy used a tweaked and modified version of the PCjr.'s graphics adapter in its 1000 series. The Tandy 1000 supported the same graphics modes as the PCjr. Games were much more likely to support PCjr. and then Tandy graphics over than EGA in 1985 and 1986. Even so, there were quite a few budget games and lazy ports even in 1987 and 1988 that supported CGA only, especially in Europe where PCs were expensive and the PCjr and Tandy did not have much of a retail presence (if any). The Amstrad PC-1512 was one of the best selling PC compatibles of the time, and it supported little beyond basic CGA. The only advantage it had over regular CGA was a 640x200x16 mode that only a very few games supported.
Games generally would indicate on the box if they supported the PCjr. or the Tandy 1000 series or EGA. Assuming a game supported all three, like Space Quest III : The Pirates of Pestulon, you could connect the PC with EGA, PCjr. or Tandy 1000 to the same monitor and see identical or nearly identical (Maniac Mansion) graphics. All these monitors used a digital TTL signal to which was sent a 4-bit RGBI signal. Thus they could display only 16 colors, and by 1983 IBM had standardized those colors with its 5153 Color Graphics Display. Outside the digital input, the 5153 was little different than the other RGB monitors non-IBM PCs used, as it used a 15.75KHz horizontal line scan rate and 60Hz frame rate. TVs also used this scan rate.
EGA could also support 16 colors from a palette of 64 colors, but only using its 350-line modes. The maximum resolution supported, 640x350 in 16/64 colors, required 128KB of RAM, which was more than the stock IBM EGA card had (64KB). Relatively few games used this mode, SimCity being the most famous example. It also required a 5154 Enhanced Color Display or similar monitor, so it was not widely used for games. The 5154 supported a higher 21.8KHz horizontal line scan rate and 6-bit RrGgBb digital signalling. The 5154 was backwards compatible with the 5153, with changes on the polarity of the pins telling the monitor whether it would display 200 line or 350 line modes.
EGA also supported a 640x200 16 color graphics mode that saw some use, typically in ports of Japanese PC games like Thexder, Zeliard and Romance of the Three Kingdoms. Later Tandy systems have an updated graphics adapter that added support for 640x200 16 color graphics, but the mode was very seldom used for games and all games that support it also support EGA. Additionally, the very popular in Europe Amstrad PC-1512 also supported a similar 640x200 16 color graphics, but only a few games used it. The Hercules Graphics InColor Card supported a 720x350 16 color graphics mode on an EGA monitor, only a few games used it.
16 color graphics were typically the best quality graphics PC games supported in the 1980s. 256-color VGA graphics did not really become a must-have feature for games until 1990. Even though EGA was eclipsed by the MCGA and VGA adapters, 16-color games advertised support for these adapters but only displayed their graphics in 16-colors. However, a few games took advantage of the MCGA and VGA's comparatively vast (256K) palette to display other colors than the canonical 16 colors of CGA. Moebius : The Orb of Celestial Harmony is a good example. Thexder is another.
VGA monitors (including MCGA), have a horizontal scan rate double that of a CGA monitor. To compensate, IBM had these adapters draw each of the 200 scanlines twice. This gives 320x200 graphics, regardless of color depth, a noticeable "double scanned" look on VGA, with a scanline bisecting each pixel on the line horizontally, regardless of color depth.
16 color graphics typically looked identical whether displayed on a Tandy 1000, an EGA or VGA card or an MCGA card. EGA was almost always implemented as an expansion card, and VGA could be found integrated into IBM PS/2 systems or cloned on an ISA card. MCGA never came on a card, like the Tandy 1000 Graphics Adapters and the PCjr. Graphics Adapter.
EGA has the great advantage of being available for any system with an ISA slot. MCGA and VGA have an even greater advantage by having an output compatible with most modern monitors. Early Tandy 1000s and the PCjr. also are modern monitor friendly though their composite video output. While the 16 color output looks good with 160x200 graphics, it looks poor with 320x200 graphics.
VGA is a superset of EGA, and at the 16 color level the cards usually work so similarly that games use the same or almost the same graphics driver. However, EGA and MCGA function very differently at the hardware level, and a game must support both to provide 16 colors. MCGA is mostly CGA compatible, and there were games or versions of games that supported only 4 colors with MCGA. MCGA does not have a true 320x200 16 color mode, so it uses a 320x200 256 color mode, which is slower than EGA.
While Tandy graphics and the PCjr. work very similarly, there are just enough differences with the adapters and the systems that a game that works on a PCjr. in 16 colors will not work on a Tandy, and vice versa, unless the game was programmed for both or hacked for one or the other. Tandy graphics work very differently from EGA, so games supporting EGA graphics only tend not to work on a Tandy. This includes virtually every EGA shareware game of the early 90s (Commander Keen, Duke Nukem, Dangerous Dave). The Tandy systems, starting with the SX, can be upgraded with an EGA or VGA card, but the software that allows you to switch back to Tandy graphics only works with VGA.
While Tandy graphics (which use a 16-bit data path) are generally faster than EGA graphics (generally put on an 8-bit card) at similar CPU speeds, systems with Tandy graphics max out at a 10MHz 286, while EGA graphics can accompany systems with much faster CPUs. The IBM systems are stuck with the 8088 PCjr. and the 8086 PS/2 MCGA Models 25 and 30
The 1983 PCjr. was IBM's first consumer device that could display all 16 colors on screen at the same time in graphics modes. Despite the system being much more difficult to upgrade and slower than an IBM PC when equipped with 128KB or less of RAM, its 320x200 16 color and even its 160x200 16 color graphics were far superior to CGA.
The 1984 EGA was IBM's third graphics adapter to see widespread support in games, although the high price of EGA kept it out of reach for most consumers for approximately two years. It too supported a 320x200 16 color mode and could display 160x200 16 color graphics easily through pixel doubling.
In late 1984, Tandy used a tweaked and modified version of the PCjr.'s graphics adapter in its 1000 series. The Tandy 1000 supported the same graphics modes as the PCjr. Games were much more likely to support PCjr. and then Tandy graphics over than EGA in 1985 and 1986. Even so, there were quite a few budget games and lazy ports even in 1987 and 1988 that supported CGA only, especially in Europe where PCs were expensive and the PCjr and Tandy did not have much of a retail presence (if any). The Amstrad PC-1512 was one of the best selling PC compatibles of the time, and it supported little beyond basic CGA. The only advantage it had over regular CGA was a 640x200x16 mode that only a very few games supported.
Games generally would indicate on the box if they supported the PCjr. or the Tandy 1000 series or EGA. Assuming a game supported all three, like Space Quest III : The Pirates of Pestulon, you could connect the PC with EGA, PCjr. or Tandy 1000 to the same monitor and see identical or nearly identical (Maniac Mansion) graphics. All these monitors used a digital TTL signal to which was sent a 4-bit RGBI signal. Thus they could display only 16 colors, and by 1983 IBM had standardized those colors with its 5153 Color Graphics Display. Outside the digital input, the 5153 was little different than the other RGB monitors non-IBM PCs used, as it used a 15.75KHz horizontal line scan rate and 60Hz frame rate. TVs also used this scan rate.
EGA could also support 16 colors from a palette of 64 colors, but only using its 350-line modes. The maximum resolution supported, 640x350 in 16/64 colors, required 128KB of RAM, which was more than the stock IBM EGA card had (64KB). Relatively few games used this mode, SimCity being the most famous example. It also required a 5154 Enhanced Color Display or similar monitor, so it was not widely used for games. The 5154 supported a higher 21.8KHz horizontal line scan rate and 6-bit RrGgBb digital signalling. The 5154 was backwards compatible with the 5153, with changes on the polarity of the pins telling the monitor whether it would display 200 line or 350 line modes.
EGA also supported a 640x200 16 color graphics mode that saw some use, typically in ports of Japanese PC games like Thexder, Zeliard and Romance of the Three Kingdoms. Later Tandy systems have an updated graphics adapter that added support for 640x200 16 color graphics, but the mode was very seldom used for games and all games that support it also support EGA. Additionally, the very popular in Europe Amstrad PC-1512 also supported a similar 640x200 16 color graphics, but only a few games used it. The Hercules Graphics InColor Card supported a 720x350 16 color graphics mode on an EGA monitor, only a few games used it.
16 color graphics were typically the best quality graphics PC games supported in the 1980s. 256-color VGA graphics did not really become a must-have feature for games until 1990. Even though EGA was eclipsed by the MCGA and VGA adapters, 16-color games advertised support for these adapters but only displayed their graphics in 16-colors. However, a few games took advantage of the MCGA and VGA's comparatively vast (256K) palette to display other colors than the canonical 16 colors of CGA. Moebius : The Orb of Celestial Harmony is a good example. Thexder is another.
VGA monitors (including MCGA), have a horizontal scan rate double that of a CGA monitor. To compensate, IBM had these adapters draw each of the 200 scanlines twice. This gives 320x200 graphics, regardless of color depth, a noticeable "double scanned" look on VGA, with a scanline bisecting each pixel on the line horizontally, regardless of color depth.
16 color graphics typically looked identical whether displayed on a Tandy 1000, an EGA or VGA card or an MCGA card. EGA was almost always implemented as an expansion card, and VGA could be found integrated into IBM PS/2 systems or cloned on an ISA card. MCGA never came on a card, like the Tandy 1000 Graphics Adapters and the PCjr. Graphics Adapter.
EGA has the great advantage of being available for any system with an ISA slot. MCGA and VGA have an even greater advantage by having an output compatible with most modern monitors. Early Tandy 1000s and the PCjr. also are modern monitor friendly though their composite video output. While the 16 color output looks good with 160x200 graphics, it looks poor with 320x200 graphics.
VGA is a superset of EGA, and at the 16 color level the cards usually work so similarly that games use the same or almost the same graphics driver. However, EGA and MCGA function very differently at the hardware level, and a game must support both to provide 16 colors. MCGA is mostly CGA compatible, and there were games or versions of games that supported only 4 colors with MCGA. MCGA does not have a true 320x200 16 color mode, so it uses a 320x200 256 color mode, which is slower than EGA.
While Tandy graphics and the PCjr. work very similarly, there are just enough differences with the adapters and the systems that a game that works on a PCjr. in 16 colors will not work on a Tandy, and vice versa, unless the game was programmed for both or hacked for one or the other. Tandy graphics work very differently from EGA, so games supporting EGA graphics only tend not to work on a Tandy. This includes virtually every EGA shareware game of the early 90s (Commander Keen, Duke Nukem, Dangerous Dave). The Tandy systems, starting with the SX, can be upgraded with an EGA or VGA card, but the software that allows you to switch back to Tandy graphics only works with VGA.
While Tandy graphics (which use a 16-bit data path) are generally faster than EGA graphics (generally put on an 8-bit card) at similar CPU speeds, systems with Tandy graphics max out at a 10MHz 286, while EGA graphics can accompany systems with much faster CPUs. The IBM systems are stuck with the 8088 PCjr. and the 8086 PS/2 MCGA Models 25 and 30
Saturday, April 26, 2014
Capturing CGA, Tandy/PCjr. and EGA Video
It is not easy to capture true 16-color PC video.
One way to capture it is with a CGA card that has a composite video output. The IBM PCjr. and Tandy 1000/A/HD/EX/HX/SX/TX also have composite video outputs, as does the IBM PC Convertible with the CGA adapter slice. Some other laptops like the Tandy 1400LT also have CGA output. Most EGA cards may have dual RCA jacks, but they are only connected to the EGA expansion feature port. They are typically useless.
Composite video is necessary when trying to capture CGA artifact color. Additionally, for capturing 40 column text it is usually adequate. It is also good at capturing 160x200 graphics, since there is minimal artifacting going on in that mode. Note that brown is dark yellow with a composite color connection. However, if you are trying to capture "pure" RGB 320x200x4 or 640x200x1, or 320x200x16 or 640x200x4, it is not suitable. Composite video does not have the bandwidth to show pure colors in these modes.
CGA and its derivatives use digital TTL RGB. The standard is also known as RGBI, with I standing for intensity. One pin is devoted to the R, G, B and I signals. When there is +5v on the line, that color will be displayed. When there is Ground on the line, that color will not be displayed. With the Red, Green and Blue signals, this gives you eight combinations, Red, Green, Blue, Cyan, Magenta, Yellow and Black and White. The Intensity signal varies the strength of the colors, giving you a total of 16 colors. CGA uses a 15kHz scan line frequency.
Other personal computers of the 1980s that supported RGB output, including the Commodore Amiga, Atari ST and Apple IIgs, support analog RGB output. Consoles like the Sega Master System, Sega Genesis, Super Nintendo, Atari Jaguar, NEC Turbo Grafx 16, Playstation and an RGB modded NES or N64 also support 15kHz analog RGB. Almost all arcade machines from the 1980s and into the late 1990s also support it. With analog RGB output, the strength of each signal is based on the amplitude of a 0.7v Peak to Peak sine wave. These systems typically use a15kHz scan line frequency.
The only other non-PC compatible device that supports CGA TTL RGBI is the Commodore 128. Moreover, the C128 only supports this in its native video mode. When emulating a C64, it uses a palette closer to the C64s.
All capture and conversion devices that advertise "CGA" like the GBS-8220 are using "CGA" only in the sense that they support a 15kHz horizontal scan line rate. They expect an analog RGB signal. CGA uses an RGBI signal. If you connect the pins directly, you will only get 8 colors because it has no idea what to do with the I signal. A simple passive adapter, like the one shown here, will give you 16 colors : https://sites.google.com/site/h2obsession/CBM/C128/rgbi-to-vga However, color 6 will be dark yellow when it should be brown. To get it to show brown, you need an active converter, such as the one here : http://he-insanity.blogspot.com/ That adapter will combine the separate CGA horizontal and vertical synchronization signals, which most 15kHz RGB outputs use.
You can also purchase a similar kit here : http://www.microbeetechnology.com.au/vga_video_converter.htm but you will have to solder the board. This has been verified to give a proper brown color. There is another kit available here : http://gglabs.us/node/1619 which also shows proof of good colors. There is another kit that is available from b i t - c 1 2 8 . c o m, but it does not give a proper brown.
After you have turned the digital RGB to analog, you will need to use a scan-line doubler to convert it to VGA and a capture card, for which there are many capture devices, or obtain an expensive PCI-E capture card that can handle 15kHz RGB analog video. I have heard mixed reviews about the quality of the GBS-8220, which upscales 15kHz RGB signals into 31kHz VGA signals and is very common and not too expensive. One suggestion is to use an XRGB-mini, the Framemeister. The Framemeister will upscale analog RGB video into 720p, which can be captured by an HDMI capture card.
I would go for the latter, like this one : http://www.solarisjapan.com/sc-512n1-l-dvi-component-hd-and-dvi-capture-board/?setCurrencyId=1 Even though it is ridiculously expensive ($330!), it can handle just about anything, including VGA, HDMI and the like. The StarTech PEXHDCAP is another PCI-E device that is very versatile and costs less than half as much : http://www.amazon.com/StarTech-com-Express-Video-Capture-1080p/dp/B007U5MGBE
The elgato game capture HD will capture 240p signals, which is essentially 15kHz scan rate video. However, it only has composite, component and S-Video analog inputs. You would need an RGB to Component converter for this device. In essence you would need two converters.
If you want to capture 640x200x16 Tandy or EGA video, you will also need to use this method. 350-line EGA uses an unusual 21.8kHz horizontal refresh rate and 6-bit TTL RGB for a maximum selection of 64 colors. VGA emulates 350-line EGA more-or-less perfectly and without double scanning. It is just better to capture it directly from a VGA card.
One way to capture it is with a CGA card that has a composite video output. The IBM PCjr. and Tandy 1000/A/HD/EX/HX/SX/TX also have composite video outputs, as does the IBM PC Convertible with the CGA adapter slice. Some other laptops like the Tandy 1400LT also have CGA output. Most EGA cards may have dual RCA jacks, but they are only connected to the EGA expansion feature port. They are typically useless.
Composite video is necessary when trying to capture CGA artifact color. Additionally, for capturing 40 column text it is usually adequate. It is also good at capturing 160x200 graphics, since there is minimal artifacting going on in that mode. Note that brown is dark yellow with a composite color connection. However, if you are trying to capture "pure" RGB 320x200x4 or 640x200x1, or 320x200x16 or 640x200x4, it is not suitable. Composite video does not have the bandwidth to show pure colors in these modes.
CGA and its derivatives use digital TTL RGB. The standard is also known as RGBI, with I standing for intensity. One pin is devoted to the R, G, B and I signals. When there is +5v on the line, that color will be displayed. When there is Ground on the line, that color will not be displayed. With the Red, Green and Blue signals, this gives you eight combinations, Red, Green, Blue, Cyan, Magenta, Yellow and Black and White. The Intensity signal varies the strength of the colors, giving you a total of 16 colors. CGA uses a 15kHz scan line frequency.
Other personal computers of the 1980s that supported RGB output, including the Commodore Amiga, Atari ST and Apple IIgs, support analog RGB output. Consoles like the Sega Master System, Sega Genesis, Super Nintendo, Atari Jaguar, NEC Turbo Grafx 16, Playstation and an RGB modded NES or N64 also support 15kHz analog RGB. Almost all arcade machines from the 1980s and into the late 1990s also support it. With analog RGB output, the strength of each signal is based on the amplitude of a 0.7v Peak to Peak sine wave. These systems typically use a15kHz scan line frequency.
The only other non-PC compatible device that supports CGA TTL RGBI is the Commodore 128. Moreover, the C128 only supports this in its native video mode. When emulating a C64, it uses a palette closer to the C64s.
All capture and conversion devices that advertise "CGA" like the GBS-8220 are using "CGA" only in the sense that they support a 15kHz horizontal scan line rate. They expect an analog RGB signal. CGA uses an RGBI signal. If you connect the pins directly, you will only get 8 colors because it has no idea what to do with the I signal. A simple passive adapter, like the one shown here, will give you 16 colors : https://sites.google.com/site/h2obsession/CBM/C128/rgbi-to-vga However, color 6 will be dark yellow when it should be brown. To get it to show brown, you need an active converter, such as the one here : http://he-insanity.blogspot.com/ That adapter will combine the separate CGA horizontal and vertical synchronization signals, which most 15kHz RGB outputs use.
You can also purchase a similar kit here : http://www.microbeetechnology.com.au/vga_video_converter.htm but you will have to solder the board. This has been verified to give a proper brown color. There is another kit available here : http://gglabs.us/node/1619 which also shows proof of good colors. There is another kit that is available from b i t - c 1 2 8 . c o m, but it does not give a proper brown.
After you have turned the digital RGB to analog, you will need to use a scan-line doubler to convert it to VGA and a capture card, for which there are many capture devices, or obtain an expensive PCI-E capture card that can handle 15kHz RGB analog video. I have heard mixed reviews about the quality of the GBS-8220, which upscales 15kHz RGB signals into 31kHz VGA signals and is very common and not too expensive. One suggestion is to use an XRGB-mini, the Framemeister. The Framemeister will upscale analog RGB video into 720p, which can be captured by an HDMI capture card.
I would go for the latter, like this one : http://www.solarisjapan.com/sc-512n1-l-dvi-component-hd-and-dvi-capture-board/?setCurrencyId=1 Even though it is ridiculously expensive ($330!), it can handle just about anything, including VGA, HDMI and the like. The StarTech PEXHDCAP is another PCI-E device that is very versatile and costs less than half as much : http://www.amazon.com/StarTech-com-Express-Video-Capture-1080p/dp/B007U5MGBE
The elgato game capture HD will capture 240p signals, which is essentially 15kHz scan rate video. However, it only has composite, component and S-Video analog inputs. You would need an RGB to Component converter for this device. In essence you would need two converters.
If you want to capture 640x200x16 Tandy or EGA video, you will also need to use this method. 350-line EGA uses an unusual 21.8kHz horizontal refresh rate and 6-bit TTL RGB for a maximum selection of 64 colors. VGA emulates 350-line EGA more-or-less perfectly and without double scanning. It is just better to capture it directly from a VGA card.
Tuesday, March 18, 2014
The Monochrome Experience - CGA, EGA and VGA
A few posts back, I discussed some of the notable features of the Monochrome Display Adapter and Hercules Graphics Card. In this post, I intend to talk about monochrome graphics on other adapters of the time, namely CGA (and its derivatives Tandy and PCjr.), EGA and VGA. All these adapters could support monochrome monitors, although they were at their best when connected to color displays.
CGA, Tandy & PCjr.
At first, if you wanted to connect a CGA card to a monochrome monitor, you typically would use a monochrome composite monitor. The RCA jack on the CGA card would be used. If you were really lacking for a monitor, a black and white monitor would do in a pinch, but you probably would have to run the composite output of the CGA card through an RF converter box. The resulting graphics would be nowhere near as sharp as with a straight composite connection. Lets start with our test images :
Monochrome computer monitors typically would offer a high-contrast color : white on black, green on black or amber on black. Text was sharp at 40 columns and tolerable at 80 columns, especially when the screen size was 12" or less. Since composite monitors (in North America) refreshed at 60Hz, there was less need for the long persistence phosphors (and resulting ghosting) that was seen on the 50Hz MDA monitor.
The Compaq Portable used a 9" green composite screen. The IBM PC Portable used a 9" amber monochrome composite screen connected to a CGA card. Even though the IBM machine is close to a clone of the Compaq machine (which in turn is a clone of the IBM PC), their monitors are quite different. The IBM monitor is a bog-standard monochrome composite screen and connects with an internal version of the RCA jack on its CGA card. For this reason, you will see jailbars on the screen as you would see them on a color screen because the of the NTSC color decoding.
The screen on the Compaq is quite interesting. The Compaq's video adapter supports both MDA and CGA graphics, and in the 80x25 text mode will act like an MDA card, not a CGA card. Snow be gone! The display is a "dual-sync" display apparently capable of accepting both a 15KHz and 18KHz horizontal scan frequency signal. Otherwise the card acts like a CGA card. The input must be able to accept the TTL signals from the CGA card and convert them to grayscale. The resulting image is much sharper than on the IBM card (especially in 640x200 graphics) and will not show jailbars.
Early IBM CGA cards had a very basic monochrome support capability through the composite connector. Essentially there for the low intensity eight colors would transform into black, gray and white. For the high intensity colors, the same pattern would be seen, slightly brighter. Later CGA cards took hue into account when converting RGB colors into luminances, so that there would be a unique shade for each of the 16 colors. Here is an approximation of how the test images would look with the IBM PC Portable's amber monochrome screen and the early and late CGA cards.
CGA Mode 6 was a 640x200 monochrome mode, where the active pixel could be a color, but the background color would always be black. Any of the 16 CGA colors could be used, but typically the color would be white/light gray or white/high intensity white. The IBM PC BIOS did not support selecting the foreground color in this mode, to do this you had to use the Color Select register. It was not typically used because most CGA games preferred the more colorful if lower resolution Modes 4 & 5. Often, if you saw these graphics, it was intended for color composite graphics. The Wizardry games have intentional support for this mode, as do other games like SimCity, which benefits more from a high resolution than colorful graphics.
When the Color Composite bit was set in the Mode Control register, on a color composite monitor, the mode would display artifact colors. On an RGB or monochrome composite monitor, the color composite bit made no difference to the graphics in a real CGA card.
CGA Mode 5 was a 320x200 color mode on an RGBI monitor, which a palette of cyan, red and white (intensity selectable). On a composite monitor, whether color or monochrome, it displayed 2-3 (early CGA) or 4 (late CGA) shades of intensity, no color. Mode 5 would typically be supported as an option if the game supported Mode 4 color graphics or Mode 6 color composite graphics or Tandy/EGA/MCGA/VGA.
Eventually, there would be monochrome TTL monitors that would accept a CGA signal. In this case, the monitor converts RGBI into intensities of one color. Early LCDs were also monochrome devices, and brightness levels for each individual pixel were usually limited to on and off, although the IBM PC Convertible did advertise three levels of brightness for the CGA 4-color graphics modes. The PC Convertible's LCD had a native resolution of 640x200 and stretched 320x200 graphics modes horizontally by two. The aspect ratio would seem wrong except for applications intended for the Convertible's screen (typically from IBM). Here are approximations of how the test graphics would look on the Convertible's LCD screen :
Tandy and PCjr always displayed 16 intensities of one color when displayed on a monochrome composite monitor. It looks something like this :
EGA
IBM's EGA card could be connected to a color RGBI TTL monitor like the 5153 and support 8x8 text (Modes 0/1 and 2/3) and color 200 line modes (Modes 4, 5, 6, D & E). It could also a high resolution 6-bit RGB TTL monitor like the 5154 and support 8x14 text, color 200 and 350 line graphics modes (mode 10). Finally, it could be connected to a monochrome TTL monitor like the 5151 and support text at 9x16 (Mode 7) just like an MDA card, and additionally supported a 640x350 line monochrome graphics mode (Mode F). A real MDA monitor must be connected to use Mode F, which was similar to the Hercules Graphics in that it allowed each pixel to be turned on or off. It did not work in the same way as Hercules, and far fewer games supported it. While Hercules graphics were 720x348 pixels, usually only 640 horizontal pixels were actively used in Hercules as it was much easier to convert from 320 pixel graphics modes, so Hercules did not often have an advantage in resolution. However, since IBM derived the graphics mode from the text mode, each individual pixel can be made to blink or display in intense video. I do not know of any game which may have supported this functionality. Mode F is the only graphics mode supported when the EGA is connected to an MDA monitor.
In order to use an MDA monitor with an EGA card, the dipswitches or jumpers on the card must be set correctly. Switch 3 must be ON, switches 2 & 4 must be OFF. The EGA card, when connected to an MDA monitor, can be used with a CGA or a secondary EGA card connected to a color monitor.
Even though EGA can be connected to an MDA monitor and at first glance look identical to the MDA's text mode, using unusual text character attributes can show differences compared to the MDA. This can be seen in 101 Monochrome Mazes, a game IBM released strictly for the MDA. When you run this game on an EGA or VGA card, you will not see exactly the same "graphics". This game uses text attributes that fall outside the canonical 16 IBM valid MDA attribute choices for the EGA and VGA. Compare the following :
MCGA/VGA
When IBM released its PS/2 computers, it advertised monochrome analog high scan-rate monitors like the 8503 alongside more expensive RGB color analog high scan-rate (VGA) 8512 or 8513 monitors. Systems with built in monitors like the PS/2 Model 25 could be ordered with a monochrome or color monitor. The price difference was several hundred dollars at the beginning, so monochrome monitors were much more attractive for certain business and educational purchasers.
IBM's early VGA monitors designated four pins in the HD-15 VGA monitor connector to inform the card whether it was a mono or a color monitor. Three of the bits would inform the VGA whether a monochrome monitor, a color monitor or an 8514 monitor was being used. Later, these bits would be reused. A real IBM monochrome monitor and VGA would output pixel information on the green pin only.
VGA used an 18-bit color palette, with 6-bits for red, 6-bits for green and 6-bits for blue. Each pixel on the screen could be set to any of 256 colors from the 18-bit palette. When the monitor informs the card that it is a mono card, the VGA will convert the 18-bit color value into a 6-bit grayscale value by color summing the R, G and B values. In this manner, 64 intensities of the monitor color could be displayed using the 256 color graphics mode 13. In other modes, which support no more than 16 colors on screen at any one time, up to 16 grayscale shades would be available from the 64 that the monochrome monitor and the VGA could display.
By the late 80s and early 90s, monochrome plasma displays were common on laptops, and this design allowed them to give some definition to what would otherwise have been color graphics. However, this display technology was somewhat limited, as the gas plasma display in the IBM PS/2 Model P70 (a luggable) could only manage 16 shades of the orange color of that display. In 320x200, IBM would selectively dither a 2x2 block of pixels (remember that the display stretches 320x200 to 640x400) to simulate the 64 intensities that should be available.
Some VGA games, including many of Sierra's SCI engine adventure games, had a driver which Sierra claimed would allow for up to 256 shades of "gray". This was nonsense, the hardware was limited to 64 shades of gray due to the 6-bits per color regardless of being displayed on a monochrome or color VGA monitor. This driver would show the same graphics whether used on a color or a monochrome VGA monitor. However, the advantage to using this driver on a monochrome monitor is that by using only the grayscale options in the full VGA color palette, Sierra could ensure a good representation of the color graphics in grayscale and need not subject its color graphics to the VGA conversion formula.
Nonetheless, Sierra's driver did a very good job of preserving the detail of the color graphics for those forced to use color screens. Pinball Fantasies also supported a "mono" graphics display setting, using up to 64 grayscale shades in the Mode X modes it supports, 320x240 amd 360x350.
![]() |
| Space Quest II - 320x200x4c "RGB" Mode (Mode 4) |
![]() |
| Space Quest II - 640x200xMono "Composite Color" Mode (Mode 6 with Composite Color bit set) |
The Compaq Portable used a 9" green composite screen. The IBM PC Portable used a 9" amber monochrome composite screen connected to a CGA card. Even though the IBM machine is close to a clone of the Compaq machine (which in turn is a clone of the IBM PC), their monitors are quite different. The IBM monitor is a bog-standard monochrome composite screen and connects with an internal version of the RCA jack on its CGA card. For this reason, you will see jailbars on the screen as you would see them on a color screen because the of the NTSC color decoding.
The screen on the Compaq is quite interesting. The Compaq's video adapter supports both MDA and CGA graphics, and in the 80x25 text mode will act like an MDA card, not a CGA card. Snow be gone! The display is a "dual-sync" display apparently capable of accepting both a 15KHz and 18KHz horizontal scan frequency signal. Otherwise the card acts like a CGA card. The input must be able to accept the TTL signals from the CGA card and convert them to grayscale. The resulting image is much sharper than on the IBM card (especially in 640x200 graphics) and will not show jailbars.
Early IBM CGA cards had a very basic monochrome support capability through the composite connector. Essentially there for the low intensity eight colors would transform into black, gray and white. For the high intensity colors, the same pattern would be seen, slightly brighter. Later CGA cards took hue into account when converting RGB colors into luminances, so that there would be a unique shade for each of the 16 colors. Here is an approximation of how the test images would look with the IBM PC Portable's amber monochrome screen and the early and late CGA cards.
![]() |
| IBM PC Portable with Early CGA Card, 3 Intensities Available |
![]() |
| IBM PC Portable with Late CGA Card, 4 Intensities Available (note extra detail on the broom) |
When the Color Composite bit was set in the Mode Control register, on a color composite monitor, the mode would display artifact colors. On an RGB or monochrome composite monitor, the color composite bit made no difference to the graphics in a real CGA card.
CGA Mode 5 was a 320x200 color mode on an RGBI monitor, which a palette of cyan, red and white (intensity selectable). On a composite monitor, whether color or monochrome, it displayed 2-3 (early CGA) or 4 (late CGA) shades of intensity, no color. Mode 5 would typically be supported as an option if the game supported Mode 4 color graphics or Mode 6 color composite graphics or Tandy/EGA/MCGA/VGA.
Eventually, there would be monochrome TTL monitors that would accept a CGA signal. In this case, the monitor converts RGBI into intensities of one color. Early LCDs were also monochrome devices, and brightness levels for each individual pixel were usually limited to on and off, although the IBM PC Convertible did advertise three levels of brightness for the CGA 4-color graphics modes. The PC Convertible's LCD had a native resolution of 640x200 and stretched 320x200 graphics modes horizontally by two. The aspect ratio would seem wrong except for applications intended for the Convertible's screen (typically from IBM). Here are approximations of how the test graphics would look on the Convertible's LCD screen :
![]() |
| 640x200xMono Color Composite Mode (Mode 6 with Composite Color bit set) |
![]() |
| 320x200x4 RGB Mode (Mode 4) |
EGA
IBM's EGA card could be connected to a color RGBI TTL monitor like the 5153 and support 8x8 text (Modes 0/1 and 2/3) and color 200 line modes (Modes 4, 5, 6, D & E). It could also a high resolution 6-bit RGB TTL monitor like the 5154 and support 8x14 text, color 200 and 350 line graphics modes (mode 10). Finally, it could be connected to a monochrome TTL monitor like the 5151 and support text at 9x16 (Mode 7) just like an MDA card, and additionally supported a 640x350 line monochrome graphics mode (Mode F). A real MDA monitor must be connected to use Mode F, which was similar to the Hercules Graphics in that it allowed each pixel to be turned on or off. It did not work in the same way as Hercules, and far fewer games supported it. While Hercules graphics were 720x348 pixels, usually only 640 horizontal pixels were actively used in Hercules as it was much easier to convert from 320 pixel graphics modes, so Hercules did not often have an advantage in resolution. However, since IBM derived the graphics mode from the text mode, each individual pixel can be made to blink or display in intense video. I do not know of any game which may have supported this functionality. Mode F is the only graphics mode supported when the EGA is connected to an MDA monitor.
![]() |
| Microsoft Flight Simulator 3 - 640x350x16c Mode 10 |
![]() |
| Microsoft Flight Simulator 3 - 640x350xMono Mode 0F |
Even though EGA can be connected to an MDA monitor and at first glance look identical to the MDA's text mode, using unusual text character attributes can show differences compared to the MDA. This can be seen in 101 Monochrome Mazes, a game IBM released strictly for the MDA. When you run this game on an EGA or VGA card, you will not see exactly the same "graphics". This game uses text attributes that fall outside the canonical 16 IBM valid MDA attribute choices for the EGA and VGA. Compare the following :
![]() |
| 101 Monochrome Mazes MDA |
![]() |
| 101 Monochrome Mazes EGA/VGA |
When IBM released its PS/2 computers, it advertised monochrome analog high scan-rate monitors like the 8503 alongside more expensive RGB color analog high scan-rate (VGA) 8512 or 8513 monitors. Systems with built in monitors like the PS/2 Model 25 could be ordered with a monochrome or color monitor. The price difference was several hundred dollars at the beginning, so monochrome monitors were much more attractive for certain business and educational purchasers.
IBM's early VGA monitors designated four pins in the HD-15 VGA monitor connector to inform the card whether it was a mono or a color monitor. Three of the bits would inform the VGA whether a monochrome monitor, a color monitor or an 8514 monitor was being used. Later, these bits would be reused. A real IBM monochrome monitor and VGA would output pixel information on the green pin only.
VGA used an 18-bit color palette, with 6-bits for red, 6-bits for green and 6-bits for blue. Each pixel on the screen could be set to any of 256 colors from the 18-bit palette. When the monitor informs the card that it is a mono card, the VGA will convert the 18-bit color value into a 6-bit grayscale value by color summing the R, G and B values. In this manner, 64 intensities of the monitor color could be displayed using the 256 color graphics mode 13. In other modes, which support no more than 16 colors on screen at any one time, up to 16 grayscale shades would be available from the 64 that the monochrome monitor and the VGA could display.
![]() |
| Conquests of the Longbow - 320x200x256c Mode 13 Color |
![]() |
| Conquests of the Longbow - 320x200x"256c"Mode 13 Grayscale |
Some VGA games, including many of Sierra's SCI engine adventure games, had a driver which Sierra claimed would allow for up to 256 shades of "gray". This was nonsense, the hardware was limited to 64 shades of gray due to the 6-bits per color regardless of being displayed on a monochrome or color VGA monitor. This driver would show the same graphics whether used on a color or a monochrome VGA monitor. However, the advantage to using this driver on a monochrome monitor is that by using only the grayscale options in the full VGA color palette, Sierra could ensure a good representation of the color graphics in grayscale and need not subject its color graphics to the VGA conversion formula.
Nonetheless, Sierra's driver did a very good job of preserving the detail of the color graphics for those forced to use color screens. Pinball Fantasies also supported a "mono" graphics display setting, using up to 64 grayscale shades in the Mode X modes it supports, 320x240 amd 360x350.
![]() |
| Pinball Fantasies - 320x240x256c Mode X Color |
![]() |
| Pinball Fantasies - 320x240x"256c" Mode X Grayscale (note the loss of detail on the table art) |
Thursday, February 20, 2014
Monochrome & Hercules Graphics Aspect Ratio and Scaling
The IBM Monochrome Display and Printer Adapter output 80-column text with a 9x14 cell size. This gives 720x350 pixels. The Hercules Graphics Card is a clone which adds a 720x348 graphics mode. The aspect ratio of the graphics mode, with perfectly square pixels, is 2.07 : 1. However, the IBM Personal Computer (Monochrome) Display 5151 has a less horizontally rectangular tube that measures about 9.5 inches by 6.5 inches from one edge of the screen to the other. The diagonal display measures about 11.5 inches. This would give an aspect ratio of 1.46 : 1.
The active display area does not reach the edges of the monitor. I measure it to be about 8.75 inches by 5.5 inches. This gives an aspect ratio of 1.59 : 1. The graphics mode loses two lines and thus the aspect ratio is a sliver wider. Coincidentally, this is the square pixel ratio of CGA 320x200. There are no horizontal or vertical size or hold adjustment knobs on the monitor, only brightness and contrast. Here is a screenshot showing, somewhat faintly, the visible screen area on a 5151 :
The active display area does not reach the edges of the monitor. I measure it to be about 8.75 inches by 5.5 inches. This gives an aspect ratio of 1.59 : 1. The graphics mode loses two lines and thus the aspect ratio is a sliver wider. Coincidentally, this is the square pixel ratio of CGA 320x200. There are no horizontal or vertical size or hold adjustment knobs on the monitor, only brightness and contrast. Here is a screenshot showing, somewhat faintly, the visible screen area on a 5151 :
DOSBox can take screenshots of the Hercules Graphics mode. Here is one such screenshot, untouched :
While it is a bit squashed, doubling the vertical resolution (720x696), as some Mobygames screenshots do, is just not appropriate. If you do that, you will have an aspect ratio of 1.03 :1. As you can see from the image of the real monitor, the visible screen area is not a nearly-perfect square or anything near it.
While it is not perfect, the best compromise is to increase the vertical size of a screenshot by 25% using nearest neighbor interpolation. If you resize the screenshot to 720x435, you get this result :
This gives a 1.66 : 1 aspect ratio, which is far, far closer to the ideal ratio while keeping upscaling artifacts to a minimum.
Starflight's effective resolution is 160x200, which is fairly common with older games. If you use a game that has a native 320x200 resolution, the artifacts can be a little more visible :
![]() |
| Maniac Mansion Enhanced Version - Original |
![]() |
| Maniac Mansion Enhanced Version - Resized |
![]() |
| Leisure Suit Larry 3 - Original |
![]() |
| Leisure Suit Larry 3 - Resized |
One issue to note is that most PC games use a native 320x200 resolution, and their Hercules drivers often leave noticeably large borders. Many, if not most games use double the horizontal resolution to 640 pixels, using an algorithm similar to what they would use for 640x200 CGA graphics. Starflight's effective resolution with Hercules is 640x200. The regular 16-color resolution of Maniac Mansion's graphics window is 320x128, so with Hercules they simply doubled it to 640x256. The text size remains 8x8, so there is an unused section at the bottom of the frame. Sierra did something similar with their AGI games. Their graphics window is 320x168, so with Hercules they doubled that to 640x336 and used the extra 12 lines for the status bar. Instead of keeping the 8x8 font, they used an 8x12 font unique to the Hercules driver. Typing pauses the action like SCI games, whereas it does not in all other graphics modes.
For Leisure Suit Larry 3 and other SCI0 games, the native graphics area is 320x190 in 16-color modes with the status bar taking up the remaining 10 lines. They could not double up on the graphics because they only have 348 lines to use. What Sierra did here is to increase the horizontal resolution of the whole screen to 640 and the vertical resolution to 300, effecting a 150% increase in the vertical resolution (including the status bar). Every other line is repeated. This may not give the nicest look, this was probably the simplest approach to take, which was important when dealing with taxed 8086 and 286 machines. Also, there is is no way to decrease the brightness of each individual lit pixel, so traditional filtering techniques will not work.
Here are a few more screenshots showing how non-native Hercules games fit within the screen :
Subscribe to:
Posts (Atom)

























