Sometime ago, I acquired an 8-bit ISA card called the Epson MGA Q205A. I figured it was a CGA compatible card because it had one DE-9 female port and one RCA jack, which the standard CGA configuration. The only unusual thing about the card was a two-position switch on the bracket plate. The switch is labeled color/mono. I couldn't find anything about the card in Total Hardware '99. I noted that the card displays in color on startup instead of B&W on a color composite monitor, I figured the switch was there to turn it to B&W. An IBM CGA displays in B&W on startup in an IBM PC or XT.
After testing the card out a bit, I was pleased that it gave composite colors reasonably close to an IBM CGA card. I was also pleased that the card is less than 10", meaning it will fit inside a Tandy 1000 computer. However, Trixter's CGA Compatibility Tester demonstrated that the CGA compatibility was weak when it came to the 6845 tests. This is not particularly surprising when I determined that the card does not have a 6845 CRT Controller onboard. Since I have three IBM CGA cards, the card rarely has surfaced in my thoughts.
Showing posts with label Video Cards. Show all posts
Showing posts with label Video Cards. Show all posts
Monday, September 5, 2016
Sunday, May 8, 2016
IBM's CGA Hardware Explained
The IBM Color/Graphics Card has been widely seen as a poor attempt at a video adapter. Released with the IBM PC back in 1981, it was not particularly impressive by the standards of its day. Limited colors and no sprites did not make it very attractive for games. However, when you look at the hardware and what it could do, it becomes more impressive. Even though the card is a full length card, it was built from off the shelf logic chips, memory and video controller. Looking at the hardware also helps one understand the limitations of the device.
The BIOS Modes
Mode 00h - 40x25 B&W
Mode 01h - 40x25 Color
Mode 02h - 80x25 B&W
Mode 03h - 80x25 Color
Mode 04h - 320x200 Color
Mode 05h - 320x200 B&W
Mode 06h - 640x200 B&W
On an RGBI monitor, the identical Color/B&W modes have no distinction except in Modes 04 and 05. On a color composite monitor or TV set, color modes enable the color burst and b&w modes disable the color burst. The IBM PC defaults to the 40x25 or 80x25 B&W modes depending on how you set a dipswitch. Text, especially 80-column text, is much more difficult to read on a composite color display.
The CGA card has 16KB of RAM. A full screen of 40-column text required 2KB of memory, allowing for 8 separate pages. A full screen of 80 column memory required 4KB of memory, allowing for 4 separate pages. Graphics modes took up all the 16KB of memory. In order to really put the CGA card to work, one has to go deeper and look beyond the BIOS and what could be done by accessing its registers directly.
The BIOS Modes
Mode 00h - 40x25 B&W
Mode 01h - 40x25 Color
Mode 02h - 80x25 B&W
Mode 03h - 80x25 Color
Mode 04h - 320x200 Color
Mode 05h - 320x200 B&W
Mode 06h - 640x200 B&W
On an RGBI monitor, the identical Color/B&W modes have no distinction except in Modes 04 and 05. On a color composite monitor or TV set, color modes enable the color burst and b&w modes disable the color burst. The IBM PC defaults to the 40x25 or 80x25 B&W modes depending on how you set a dipswitch. Text, especially 80-column text, is much more difficult to read on a composite color display.
The CGA card has 16KB of RAM. A full screen of 40-column text required 2KB of memory, allowing for 8 separate pages. A full screen of 80 column memory required 4KB of memory, allowing for 4 separate pages. Graphics modes took up all the 16KB of memory. In order to really put the CGA card to work, one has to go deeper and look beyond the BIOS and what could be done by accessing its registers directly.
Sunday, March 15, 2015
My Complete IBM Important Video Card Collection : The Bedrock of DOS Graphics
In the above photo you can see five graphics cards. They are the five most important graphics cards ever made for the PC compatibles of the 1980s and early 1990s. They are, from top left :
1. IBM Color/Graphics Display Adapter (CGA)
2. IBM Monochrome Display and Printer Adapter (MDA or sometimes MDPA)
3. Hercules Graphics Card (Hercules or HGC)
4. IBM Enhanced Graphics Adapter with Graphics Memory Expansion Card (EGA)
5. IBM PS/2 Display Adapter (VGA)
These graphics cards defined the graphics standards which DOS programs, not limited to games, used. They were the only graphics expansion cards that were generally available to any PC compatible with a standard expansion slot that had widespread support. Other graphics adapters, like the PCjr. Graphics Adapter, the Tandy and Tandy Video II Graphics Adapters, the Multi-Color Graphics Array (MCGA), the Amstrad PC-1512 Graphics Adapter were never released as expansion cards. Also, except for the original Tandy Graphics Adapter and MCGA, they did not gain widespread support in the market. Other expansion video cards like the IBM Professional Graphics Adapter and the Hercules Graphics Card Plus and Hercules InColor Card, had some support but it was not nearly as widespread as the canonical five shown above. There is virtually no support in games.
For the first 13 years of the IBM PC, there was scarcely a DOS program that would not run if you had one of these cards or clone. They are all 8-bit cards, so they can work on any PC with an ISA slot. Let me discuss them in order of release :
IBM Monochrome Display and Printer Adapter (MDA or sometimes MDPA)
The first full graphics standard IBM released was the MDA back in 1981 with the introduction of the IBM PC. It only has 4KB of RAM, an 8KB character ROM (only 4KB used) and can only display 9x14 text in an 80-column mode. It uses memory addresses B0000-B0FFF and I/O ports at 3B0-3BF
It connected to a special IBM Monitor, the 5151 IBM PC Display. This was a green-phosphor monochrome monitor designed specifically for this card. This is why I call it the first full graphics standard, since IBM fully standardized the display at the onset. Jumpering J1 is not a good idea at all. J2 will connect to a light pen, but IBM never released a light pen under its own branding.
This card has an oversized black bracket that was intended for IBM PC Model 5150s with the wider spacing between ISA slots. This makes it annoying to use in later systems because it can take up two slots. The back of the board has several hand-soldered thin yellow wires glued down which are commonly seen in complex IBM PCBs to fix mistakes.
The MDA and CGA cards can coexist in the same system, and this was very useful in older workstations to take advantage of each card's respective strengths. IBM intentionally designed these cards so their resources do not conflict. The MDA card must be designated as the primary display in the PC to prevent damage to the IBM 5151 Display. This is accomplished in a PC or XT or Portable by setting SW1 block switches 5 and 6 to Off. The On position on the dipswitch blocks for any of these motherboards is always toward the power connector, the Off position is toward the ISA slots.
On an IBM AT, there is a single switch, SW1, which determines whether the MDA or CGA card is installed. When set toward the rear of the system, the MDA card is the only adapter installed or the primary video adapter. When set toward the front of the system, the CGA card is the only adapter installed or the primary video adapter. The IBM XT/286 and generic AT-class motherboards autodetect the adapter.
High quality photos of the IBM MDA, CGA and EGA cards are here : http://www.minuszerodegrees.net/5150_5160/cards/5150_5160_cards.htm
IBM Color/Graphics Display Adapter (CGA)
This card was also available when the IBM PC was first released on August 19, 1981, but unlike the MDA, it did not have a monitor from IBM to go with it. There were monitors available that could connect to the 9-pin monitor port, but typically did not implement the intensity bit or display color #6 as brown. The IBM 5153 display was released in 1983, providing the defined standard for the display from an digital RGB input computer monitor. IBM never released a composite color monitor for the card, so it was connected to both color composite monitors and TVs.
This card has three headers, P1 is for connecting an RF switch box for the composite signal to display correctly on a TV. IBM never released one for the CGA, but there may have been third party boxes like the Sup'r II Mod for the Apple II. P2 is for a light pen. P3 has a pair of solder pads but no pins. I soldered pins onto my card. When the pins are jumpered together, you will see the alternate thin-pixel text font.
The default font in the CGA's 40 column and 80 column text modes use text characters drawn with double pixels. This is also the font pattern contained for the first 128 ASCII characters in the PC BIOS for use by programs in graphics modes. All IBM CGA cards also have a thin font available for text modes only that use text characters drawn with single-pixels, similar to Apple II text.
The IBM CGA card has 16KB of RAM and an 8KB Character ROM (only 4KB used). In fact, the same exact ROM chip is used for the MDA and CGA cards. 4KB of the chip is used for the MDA font, and the other 2KB is used for the two CGA fonts. It uses memory addresses B8000-BBFFF and I/O ports at 3D0-3DF
All 100% compatible CGA and MDA cards use an MC6845 CRT Controller. I have an Epson CGA card that does not and is not quite 100% CGA compatible.
The CGA card came in two varieties, old and new. I have one of each, but the one shown in the picture was originally a new card which I converted into an old card.
On a PC or XT or Portable, the default text mode can be set to 40x25 by setting SW1 switch 5 to Off and 6 to On. This is appopriate to connecting the card to a composite monitor. For an RGB monitor, you should set the 80x25 text mode to the default by setting SW1 switch 5 to On and 6 to Off.
Hercules Graphics Card (HGC)
This is the only non-IBM card in this collection, but the graphics mode provided by this card was widely supported in programs and games. The MDA's text font could not be redefined without burning a replacement character ROM. Moreover, the pinout for the socket is somewhat different than those for common EPROMs. Replacing the text font with something appropriate for a non-Latin alphabet was not an easy task until the Hercules Graphics Card came around. This provided a 720x348 graphics mode in addition to being fully compatible with IBM's MDA card. The original Hercules card, found here, has a true 6845 CRTC : http://en.wikipedia.org/wiki/Hercules_Graphics_Card#/media/File:KL_Hercules_HGC.png
J1 is the header for a light pen, but is strangely missing on my card. My card does have the plated holes, so I may add it back at some point.
It has 64KB of RAM and a font that is identical in appearance to IBM's MDA font. It uses memory addresses B0000-BFFFF and I/O ports at 3B0-3BF. It functions exactly like an MDA card unless the program uses Hercules features. There may be programs that operate differently depending on whether they detect Hercules or pure MDA, so the MDA above is not wholly redundant.
Some Hercules clones have a jumper or dipswitch to disable the upper 32KB of RAM in hardware to make it more compatible with CGA in a dual monitor system, but true Hercules cards do not. A true Hercules card can disable the upper 32KB in software.
IBM Enhanced Graphics Adapter (EGA) with Graphics Memory Expansion Card
This is the only modular card in this set, and it is very, very complex when it comes to options. The base card has a 16KB ROM and 64KB of RAM. This allows it to display 350-line text modes and 320x200x16 and 640x200x16 graphics. Some later programs, however, expect the full 256KB that the EGA can support. 640x350x16/64 graphics require at least 128KB of RAM.
To install the extra 192KB of RAM onto this card requires the Graphics Memory Expansion Card, shown to the left of the EGA. It requires twenty-four standard 16K x 4bit chips (150ns or better response time) to fully upgrade the EGA. The EGA will autodetect the extra RAM, and some later BIOSes will generate beeps if it is not present but will eventually work. Each row can be populated independently to add 64KB or 128KB or 192KB to the EGA. The card should be populated with RAM at U18-U25, then U10-U17 and finally U1-U8. Most third party EGA cards either came with 256KB or could be upgraded to 256KB without a daughterboard.
It always uses memory addresses at A0000-AFFFF and C0000-C3FFF. Other EGA cards may use C0000-C7FFF. It will use B0000-B7FFF if connected to a 5151 Display or B8000-BFFFF to a 5153 or 5154 display. It always uses I/O ports at 3C0-3CF and will also use 3B0-3BF if connected to a 5151 Display or 3D0-3DF if connected to a 5153 or 5154 Display. It can use IRQ2 for a vertical retrace interrupt, but few programs used this functionality.
This card has three jumpers. P1 determines the type of monitor connected. If a CGA 5153 monitor is connected, then P1 should be covering pins 2 and 3. This grounds pin 2 on the DE-9 video connector. If an EGA 5154 monitor is connected, then P1 should be covering pins 1 and 2. This allows the secondary red signal to appear on pin 2 of the DE-9 video connector. P1 is irrelevant when a 5151 MDA monitor is connected.
P2 is the light pen header, and is wired just like it is on a MDA or CGA card. P3 changes the default address range of the EGA card. When connected to pins 1 & 2, the EGA card will be at I/O addresses 3xx, which is the default and required if the EGA is going to be the primary video card in the system. If the EGA card is going to be the secondary card in the system, P2 must be jumpered to connect pins 2 and 3. This sets the card to use the hex I/O addresses at 2xx.
J1 and J2 are RCA connectors that do nothing unless something is plugged into the 34-pin header at J4, the EGA feature connector. IBM never released anything that used the EGA feature connector. J5 is the connector for the Graphics Memory Expansion Card, the card is supported by the 64 pin header and two plastic stakes on the other end of the card.
This card can be connected to a 5151 PC Monochrome Display, a 5153 PC Color Display or a 5154 PC Enhanced Color Display. When connected to a 5151, it emulates the MDA text mode and also provides a 640x350 graphics mode. When connected to a 5153, it emulates a CGA (not with 100% compatibility) and provides 320x200x16 and 640x200x16 graphics modes. When connected to a 5154 Enhanced Color Display, 350-line color text modes can be displayed as can the 640x350x16/64 graphics mode.
In addition to P1 and P2, there is a 4-pin dipswitch accessible from the card's bracket that control its configuration. The EGA card can work alongside an MDA or CGA card. It can be the primary or secondary card in the system.
Here are the settings when the EGA card is set to be the primary card :
| SW1 | SW2 | SW3 | SW4 | EGA | MDA | CGA | Notes |
| On | Off | Off | On | 40x25 Color Display | Secondary | None | |
| Off | Off | Off | On | 80x25 Color Display | Secondary | None | Best Option for 5153 Display |
| On | On | On | Off | Enhanced Display Emulation Mode | Secondary | None | |
| Off | On | On | Off | Enhanced Display Hi-Res Mode | Secondary | None | Best Option for 5154 Display |
| On | Off | On | Off | Monochrome Emulation | None | 40x25 Secondary | |
| Off | Off | On | Off | Monochrome Emulation | None | 80x25 Secondary | Best Option for 5151 Display |
Here are the settings when the EGA card is set to be the secondary card :
| SW1 | SW2 | SW3 | SW4 | EGA | MDA | CGA | Notes |
| On | On | On | On | 40x25 Color Display | Primary | None | |
| Off | On | On | On | 80x25 Color Display | Primary | None | Best Option for 5153 Display |
| On | Off | On | On | Enhanced Display Emulation Mode | Primary | None | |
| Off | Off | On | On | Enhanced Display Hi-Res Mode | Primary | None | Best Option for 5154 Display |
| On | On | Off | On | Monochrome Emulation | None | 40x25 Primary | |
| Off | On | Off | On | Monochrome Emulation | None | 80x25 Primary | Best Option for 5151 Display |
The Notes give the best option when the EGA card is connected to the monitor. For the IBM card, the On position is when the switch is closest to the PCB and the Off position is when the switch is furthest away from the PCB.
On a PC, XT or Portable, you must set SW1 switches 5 and 6 to On with an EGA, VGA or any other graphics adapter with a BIOS expansion ROM (including IBM's Professional Graphics Adapter). AT class machines do not need have or need any switches for these cards to function.
IBM PS/2 Feature Adapter (VGA)
This card, as its name implies, was released after the discontinuance of the PC line on April 2, 1987. It was originally intended to upgrade the IBM PS/2 Model 30's MCGA graphics to VGA graphics. However, it works fine in an IBM PC, XT, AT or XT/286. Newer motherboards may throw a few beeps at you before deciding to work with the card.
This VGA card is a card version of the integrated VGA adapter found in the PS/2 Models 50, 60 and 80. The original VGA was designed around an 8-bit bus and this is the last mainstream graphics card IBM designed for the ISA bus. When IBM began releasing PC-like (non-MCA) systems again with the PS/1, the video would be integrated onto the motherboard or a third-party 16-bit or 32-bit (S)VGA card would be used. The VGA card is 100% backwards compatible with MCGA and almost 100% backwards compatible with EGA and MDA. With CGA backwards compatibility is pretty basic.
IBM's VGA card has a HD-15 connector, but there is no hole for pin 9. Your VGA monitor must have no pin 9. The original IBM monitors which it could connect to are the 8512 (14"/13" viewable) and 8513 (13"/12" viewable) color monitors. These only support VGA refresh rates and the maximum resolution is 640x480x256 (because of 8514/A, XGA and XGA-2). It also supports monochrome VGA monitors like the IBM 8503 or 8504 (both 13"/12" viewable) and will autodetect the monitor type.
It has 256KB of RAM and a 32KB EPROM which only uses 24KB. It has two sets of 44-pin headers at J1 and J2, I have no idea what they were meant for. I can only suggest that it was intended to upgrade the video memory, similar to the IBM 8154/A Display Adapter's and IBM Image Adapter/A memory expansion boards. The 26-pin card edge connector on the top of the board is for the VGA feature connector. I do not believe IBM ever released anything for it.
This card always uses memory addresses at A0000-AFFFF and C0000-C5FFF. It also uses 6KB at C6800-C7FFF and 2KB at CA000-CA800. Other VGA cards just use C0000-C7FFF. It will use B0000-B7FFF if emulating an MDA or B8000-BFFFF if emulating a CGA. It always uses I/O ports at 3C0-3CF and will also use 3B0-3BF if emulating an MDA card or 3D0-3DF if emulating a CGA adapter. It can use IRQ2 for a vertical retrace interrupt, but few programs used this functionality. CGA emulation is the default for text modes and the B0000-B7FFF address range can be reclaimed for an Upper Memory Block by an Expanded Memory Manager.
Saturday, September 27, 2014
Oddball EGA and VGA Resolutions, When the Standard Resolutions Aren't Used
I have already indicated in several posts that 320x200 was generally the resolution for DOS games. However, in my previous post I discussed how the classic DOS pinball games use Mode X resolutions. In this post I will identify other games that use non-standard resolutions. While there are a few games that use oddball EGA resolutions, custom resolutions really came into play with VGA. Once people figured out how to manipulate its CRT Controller Registers without destroying their monitors, all manner of resolutions became possible.
In addition to supporting all CGA Graphics and Text Modes and the MDA Text Mode, the standard BIOS Supported EGA graphics modes are :
Mode 0Dh - 320x200x16
Mode 0Eh - 640x200x16
Mode 0Fh - 640x350 mono (intended for monochrome MDA monitors)
Mode 10h - 640x350x16/64 (can display 16 colors from palette of 64 colors, requires color 350-line monitor)
In addition to supporting all the mode EGA supports, the standard, BIOS Supported VGA graphics modes are :
Mode 11h - 640x480x2 (intended for monochrome analog VGA displays, MCGA compatible)
Mode 12h - 640x480x16 (60Hz, all other VGA modes run at 70Hz)
Mode 13h - 320x200x256 (MCGA compatible)
For the list of games, I have taken my own screenshots with DOSBox. Any aspect ratio correction from DOSBox has been removed. If no scalers or aspect ration correction settings in DOSBox are used, 320x200, 320x240, 360x200 and 360x240 resolutions are not scaled. Other resolutions are stretched as follows :
320x350 to 640x350
320x400 to 640x400
320x480 to 640x480
360x350 to 720x350
360x400 to 720x400
360x480 to 720x480
Certain resolutions, like 320x240, need no aspect ratio correction, since that mode was used to ensure square pixels. Many of these modes may not fill to the edges of a VGA monitor.
Gauntlet
256x200 EGA Mode :
Gauntlet uses this mode, which seems derived from the 320x200 16-color mode. Gauntlet and F-15 Strike Eagle also use an unusual for EGA 160x200 16-color resolution, but this may not be an actual new mode as just drawing every pixel twice in the 320x200 16-color mode. Sierra's AGI games also use an effective 160x200 graphics resolution, but use the typical text font for the 40 column text modes, which require 320 horizontak pixels.
Lemmings & Oh No! More Lemmings
These games change the palette entries in mid-frame in order to select more colors than would be normally possible in the 640x350 16-color mode. Lemmings uses this only for the screen type below, and no other place. Regular DOSBox v0.74 will show these proper screens with the vgaonly machine type.
640x350x"32" EGA Mode :
640x350x"32" VGA Mode :
Pinball Fantasies
Same issue with Pinball Fantasies, but only on the table select screens and using a different resolution. Without this effect, the car would look mostly green.
640x480x"32" :
Pinball Illusions
Pinball Illusions is one of the most demo-like games ever released by a developer with any stature in the PC DOS game world of the time. It uses several weird modes and very demo-like effects.
320x400 :
These graphics should obviously be stretched horizontally.
320x145 :
320x290 :
These banners should also be stretched horizontally to fill the screens, they look wrong without aspect ratio correction.
320x240 (304x224 active pixels) :
This screen is very interesting. The active screen is 304x224 pixels, and this is what DOSBox captures in a screenshot. On a real monitor, there is this dark blue border seen in the screenshot. You can see this border in a custom version of DOSBox like daum that has border support. I had to add the border in this screenshot, and I figured that 8 pixels on each side would ensure that the screen ratio was 4:3, those are rotating cubes.
Jurassic Park
This game is clearly an Amiga port. One of the main game types uses an odd 320x184 mode. I suspect that it was done for performance issues, as the same resolution is used for the Amiga. The game uses 320x200 for the other game type, which is a first person 3D shooter. However, the Amiga confines the action to a small window, whereas the DOS version the action takes up most of the screen. Some Amiga screens use a 320x256 resolution (found on PAL Amigas), including the loading screen. The loading screen shows a perfect circle, whereas the same screen in the DOS version, which uses 320x200 pixels, does not without aspect ratio correction.
320x184 :
Prehistorik 2
Why did the programmers decide to eliminate 8 pixels from the standard resolution? Because they could, evidently. Game uses 320x200 elsewhere, including on the in-game screen. The difficulty selection screen shown below uses a typical demo effect.
312x200 :
288x224
No aspect ratio correction required.
Jazz Jackrabbit & Jazz Jackrabbit : Holiday Hare '94 & '95
320x199 :
I hypothesized earlier that the programmers made a tiny tweak to the standard mode to ensure that the adapter would run this mode at 60Hz, not the default 70Hz. The question of whether the game requires aspect ratio correction is complex. The in-game screens clearly do not :
On the other hand, this one does :
The planet in the middle of the screen doesn't look quite right without aspect ratio correction. Even with aspect ratio correction, its not a perfect sphere, but neither is the real Earth :
The Incredible Machine & The Even More Incredible Machine
Sierra bought several companies in the early to mid-1990s, and while their own games rarely pushed hardware, the same cannot be said for some of its subsidiaries, like the one that produced this series of games. These games do not require aspect ratio correction.
640x471x16 :
640x400x16 :
640x448x16 :
The Incredible Machine 2
640x441x16 :
Quake
Quake is unique because it supports every combination of 320 and 360 horizontal pixels and 200, 240, 350, 400 and 480 vertical pixels. Increasing the vertical resolution increases the view area vertically. This looks absolutely ludicrous without aspect ratio correction once you get to 350 vertical pixels. Increasing the horizontal resolution puts empty filler on the sides of the status area and does not enhance the field of view horizontally. Instead, it merely stretches the pixels contained within that view horizontally. I would personally recommend staying with the 320x240 resolution. At 640x480 resolutions, you should really be using GLQuake (with a Glide wrapper if necessary) or a source port with support for more modern 3D accelerators.
320x240 :
320x350 :
320x400 :
320x480 :
360x200 :
360x240 :
360x350 :
360x400 :
360x480 :
Earthworm Jim & Earthworm Jim 2
Earthworm Jim was originally designed for the Sega Genesis, which uses a 320x224 pixel resolution. 320x240 is used for all non-ingame screens in both EWJ1 and EWJ2. Both 320x224 and 320x240 are available for EWJ1 in-game, but EWJ2 supports only 320x224. There is no difference between the two graphics modes in EWJ1 except the need to adjust the size graphics using the monitor controls, but some cards had trouble with the 320x224 mode. Due to the origins of this game, it should be stretched out vertically, but tiny difference between 224 and 240 pixels makes it pretty much a non-issue.
320x240 :
320x224 :
The Lost Vikings & Norse by Norse West: The Return of the Lost Vikings
320x240 :
LineWars II
This is the only Mode X VGA mode the game supports, and it requires horizontal stretching. This game will support 640x480 and 800x600 on specific ATi and S3 SVGA cards. The regular 320x200 resolution does not need aspect correction, but the 320x480 resolution obviously does :
320x200 :
320x480 :
Scorched Earth
For the main menu, each increase in the graphics resolution adds more height to the image. As a consequence, the buttons are more spaced out vertically. However, as you can see, the 320x240 resolution cannot fully display all the buttons using the spacing, which is consistent beginning with this resolution.
320x200 :
320x240 :
320x400 :
320x480 :
360x480 :
As far as the in-game graphics go, each increase in resolution substantially increases the play area, but not the status bar. As you can see, the amount of barrier to open space ratio eventually becomes ridiculous :
320x200 :
320x240 :
320x400 :
320x480 :
360x480 :
Aspect Ratio correction required.
Chaos Software Mario Shareware Game
320x190-191 :
The top eight pixels do not seem to be used, but sometimes an extra black line is displayed, leading to the one pixel difference.
Axia
640x400x16 :
Needs no aspect ratio correction, the planets are perfectly spherical without it.
Jump 'n Bump
400x256 :
Games shown are Moraff's Flygame, Moraff's Super Entrap and Moraff's Monster Memory
360x480 :
Monster Memory's unadjusted 360x480 resolution is clearly wrong compared to its true 4:3 SVGA modes, which show perfect squares. In addition, the 320x200 mode does not show perfect squares unless aspect ratio correction is applied. I would think this applies to all of Steve Moraff's games, since they were developed by him.
I am greatly indebted to RGB Classic Games for identifying many of the more obscure games on this list. Moraff's (Regular) Entrap and Magic Pockets do not use a 640x400 VGA mode, despite what RGB Classic Games may think. Moraff's Entrap, as it states in its setup menu supports EGA 320x200, EGA 640x350, VGA 320x200 and VGA 640x480. Magic Pockets supports regular EGA 320x200 (but uses different palette entries than the Tandy 320x200 mode) and regular VGA 320x200.
The Moraff games that support the 360x480 mode are as follows :
Moraff's Blast I
Moraff's Dungeons of the Unforgiven, Module I
Moraff's Monster Bridge
Moraff's Monster Memory
Moraff's Super Blast
Moraff's Super Entrap
Moraff's Mega Morejongg
Moraff's Stones
Moraff's World
Moraff's Escapade only supports OEM-specific SVGA modes found on Ahead Systems, Trident and Tseng Labs chipsets with 1MB of RAM.
System Shock CD
Unlike the floppy version, which supports only 320x200, the CD version also supports 320x400, 640x400 and 640x480. While the 320x400 resolution clearly requires aspect ratio conversion, the 320x200 and 640x400 modes do not. They have perfect squares and circles in the HUD area, and the 640x480 mode distorts them into rectangles and ovals.
320x200 :
320x400 :
In addition to supporting all CGA Graphics and Text Modes and the MDA Text Mode, the standard BIOS Supported EGA graphics modes are :
Mode 0Dh - 320x200x16
Mode 0Eh - 640x200x16
Mode 0Fh - 640x350 mono (intended for monochrome MDA monitors)
Mode 10h - 640x350x16/64 (can display 16 colors from palette of 64 colors, requires color 350-line monitor)
In addition to supporting all the mode EGA supports, the standard, BIOS Supported VGA graphics modes are :
Mode 11h - 640x480x2 (intended for monochrome analog VGA displays, MCGA compatible)
Mode 12h - 640x480x16 (60Hz, all other VGA modes run at 70Hz)
Mode 13h - 320x200x256 (MCGA compatible)
For the list of games, I have taken my own screenshots with DOSBox. Any aspect ratio correction from DOSBox has been removed. If no scalers or aspect ration correction settings in DOSBox are used, 320x200, 320x240, 360x200 and 360x240 resolutions are not scaled. Other resolutions are stretched as follows :
320x350 to 640x350
320x400 to 640x400
320x480 to 640x480
360x350 to 720x350
360x400 to 720x400
360x480 to 720x480
Certain resolutions, like 320x240, need no aspect ratio correction, since that mode was used to ensure square pixels. Many of these modes may not fill to the edges of a VGA monitor.
Gauntlet
256x200 EGA Mode :
Gauntlet uses this mode, which seems derived from the 320x200 16-color mode. Gauntlet and F-15 Strike Eagle also use an unusual for EGA 160x200 16-color resolution, but this may not be an actual new mode as just drawing every pixel twice in the 320x200 16-color mode. Sierra's AGI games also use an effective 160x200 graphics resolution, but use the typical text font for the 40 column text modes, which require 320 horizontak pixels.
Lemmings & Oh No! More Lemmings
These games change the palette entries in mid-frame in order to select more colors than would be normally possible in the 640x350 16-color mode. Lemmings uses this only for the screen type below, and no other place. Regular DOSBox v0.74 will show these proper screens with the vgaonly machine type.
640x350x"32" EGA Mode :
640x350x"32" VGA Mode :
Pinball Fantasies
Same issue with Pinball Fantasies, but only on the table select screens and using a different resolution. Without this effect, the car would look mostly green.
640x480x"32" :
Pinball Illusions
Pinball Illusions is one of the most demo-like games ever released by a developer with any stature in the PC DOS game world of the time. It uses several weird modes and very demo-like effects.
320x400 :
These graphics should obviously be stretched horizontally.
320x145 :
320x290 :
These banners should also be stretched horizontally to fill the screens, they look wrong without aspect ratio correction.
320x240 (304x224 active pixels) :
This screen is very interesting. The active screen is 304x224 pixels, and this is what DOSBox captures in a screenshot. On a real monitor, there is this dark blue border seen in the screenshot. You can see this border in a custom version of DOSBox like daum that has border support. I had to add the border in this screenshot, and I figured that 8 pixels on each side would ensure that the screen ratio was 4:3, those are rotating cubes.
Jurassic Park
This game is clearly an Amiga port. One of the main game types uses an odd 320x184 mode. I suspect that it was done for performance issues, as the same resolution is used for the Amiga. The game uses 320x200 for the other game type, which is a first person 3D shooter. However, the Amiga confines the action to a small window, whereas the DOS version the action takes up most of the screen. Some Amiga screens use a 320x256 resolution (found on PAL Amigas), including the loading screen. The loading screen shows a perfect circle, whereas the same screen in the DOS version, which uses 320x200 pixels, does not without aspect ratio correction.
320x184 :
Prehistorik 2
Why did the programmers decide to eliminate 8 pixels from the standard resolution? Because they could, evidently. Game uses 320x200 elsewhere, including on the in-game screen. The difficulty selection screen shown below uses a typical demo effect.
312x200 :
Cyril Cyberpunk, a.k.a. Cyberboard Kid
288x224
No aspect ratio correction required.
Jazz Jackrabbit & Jazz Jackrabbit : Holiday Hare '94 & '95
320x199 :
I hypothesized earlier that the programmers made a tiny tweak to the standard mode to ensure that the adapter would run this mode at 60Hz, not the default 70Hz. The question of whether the game requires aspect ratio correction is complex. The in-game screens clearly do not :
If you look at the circles in the last two screenshots, you can see that they are perfectly circular. Aspect ratio correction would only stretch them into ovals. Similarly, the large and small "diamonds" in the first two screenshots are actually squares, as each of the four sides has the same length. In fact, on a real VGA CRT, the in-game graphics should appear in a letterbox mode with large borders on the top and bottom. However, if the user decides to stretch out of screen vertically, then the objects will become elongated. There are no other near modes that would show the detrimental effects of the stretch, so the effect may be lost.
On the other screens, some may require aspect ratio correction, while others do not. Here is one that does not :
On the other hand, this one does :
The planet in the middle of the screen doesn't look quite right without aspect ratio correction. Even with aspect ratio correction, its not a perfect sphere, but neither is the real Earth :
The Incredible Machine & The Even More Incredible Machine
Sierra bought several companies in the early to mid-1990s, and while their own games rarely pushed hardware, the same cannot be said for some of its subsidiaries, like the one that produced this series of games. These games do not require aspect ratio correction.
640x471x16 :
640x400x16 :
640x448x16 :
The Incredible Machine 2
640x441x16 :
Quake
Quake is unique because it supports every combination of 320 and 360 horizontal pixels and 200, 240, 350, 400 and 480 vertical pixels. Increasing the vertical resolution increases the view area vertically. This looks absolutely ludicrous without aspect ratio correction once you get to 350 vertical pixels. Increasing the horizontal resolution puts empty filler on the sides of the status area and does not enhance the field of view horizontally. Instead, it merely stretches the pixels contained within that view horizontally. I would personally recommend staying with the 320x240 resolution. At 640x480 resolutions, you should really be using GLQuake (with a Glide wrapper if necessary) or a source port with support for more modern 3D accelerators.
320x240 :
320x350 :
320x400 :
320x480 :
360x200 :
360x240 :
360x350 :
360x400 :
360x480 :
Earthworm Jim & Earthworm Jim 2
Earthworm Jim was originally designed for the Sega Genesis, which uses a 320x224 pixel resolution. 320x240 is used for all non-ingame screens in both EWJ1 and EWJ2. Both 320x224 and 320x240 are available for EWJ1 in-game, but EWJ2 supports only 320x224. There is no difference between the two graphics modes in EWJ1 except the need to adjust the size graphics using the monitor controls, but some cards had trouble with the 320x224 mode. Due to the origins of this game, it should be stretched out vertically, but tiny difference between 224 and 240 pixels makes it pretty much a non-issue.
320x224 :
The Lost Vikings & Norse by Norse West: The Return of the Lost Vikings
320x240 :
LineWars II
This is the only Mode X VGA mode the game supports, and it requires horizontal stretching. This game will support 640x480 and 800x600 on specific ATi and S3 SVGA cards. The regular 320x200 resolution does not need aspect correction, but the 320x480 resolution obviously does :
320x200 :
320x480 :
Scorched Earth
For the main menu, each increase in the graphics resolution adds more height to the image. As a consequence, the buttons are more spaced out vertically. However, as you can see, the 320x240 resolution cannot fully display all the buttons using the spacing, which is consistent beginning with this resolution.
320x200 :
320x240 :
320x400 :
320x480 :
360x480 :
As far as the in-game graphics go, each increase in resolution substantially increases the play area, but not the status bar. As you can see, the amount of barrier to open space ratio eventually becomes ridiculous :
320x200 :
320x240 :
320x400 :
320x480 :
360x480 :
Aspect Ratio correction required.
Chaos Software Mario Shareware Game
320x190-191 :
The top eight pixels do not seem to be used, but sometimes an extra black line is displayed, leading to the one pixel difference.
Axia
640x400x16 :
Needs no aspect ratio correction, the planets are perfectly spherical without it.
Jump 'n Bump
400x256 :
Games shown are Moraff's Flygame, Moraff's Super Entrap and Moraff's Monster Memory
360x480 :
Monster Memory's unadjusted 360x480 resolution is clearly wrong compared to its true 4:3 SVGA modes, which show perfect squares. In addition, the 320x200 mode does not show perfect squares unless aspect ratio correction is applied. I would think this applies to all of Steve Moraff's games, since they were developed by him.
I am greatly indebted to RGB Classic Games for identifying many of the more obscure games on this list. Moraff's (Regular) Entrap and Magic Pockets do not use a 640x400 VGA mode, despite what RGB Classic Games may think. Moraff's Entrap, as it states in its setup menu supports EGA 320x200, EGA 640x350, VGA 320x200 and VGA 640x480. Magic Pockets supports regular EGA 320x200 (but uses different palette entries than the Tandy 320x200 mode) and regular VGA 320x200.
The Moraff games that support the 360x480 mode are as follows :
Moraff's Blast I
Moraff's Dungeons of the Unforgiven, Module I
Moraff's Monster Bridge
Moraff's Monster Memory
Moraff's Super Blast
Moraff's Super Entrap
Moraff's Mega Morejongg
Moraff's Stones
Moraff's World
Moraff's Escapade only supports OEM-specific SVGA modes found on Ahead Systems, Trident and Tseng Labs chipsets with 1MB of RAM.
System Shock CD
Unlike the floppy version, which supports only 320x200, the CD version also supports 320x400, 640x400 and 640x480. While the 320x400 resolution clearly requires aspect ratio conversion, the 320x200 and 640x400 modes do not. They have perfect squares and circles in the HUD area, and the 640x480 mode distorts them into rectangles and ovals.
320x200 :
320x400 :
Conclusion
I believe there are to types of non-standard VGA modes, first there are the the modes that use a combination 320 or 360 horizontal pixels and 200, 350, 400 or 480 vertical pixels. Second, there are modes that use a number of pixels other than the ones given in the previous sentence for at least one axis. The second variety are the games that tend to break graphics cards with less than stellar VGA compatibility. Even the first variety can cause later cards to break because there was no universal standard.
As far as aspect ratio correction with non-standard VGA modes go, it is almost always desirable to stretch out the double the horizontal pixels for any of these games that use a 320 or 360 horizontal pixel resolution. Often, there will be a standard VGA or SVGA mode to guide you. I understand that VGA cards more or less do this by default in low resolution modes. However, this does not always apply, as I have demonstrated in the previous post with the 360x350 mode used by Pinball Dreams and its successors.
With games that use a high resolution 16 color mode with 640 horizontal pixels, I see no reason to stretch the display vertically. The letterboxing is pretty minimal.
Subscribe to:
Posts (Atom)



























































