• Please review our updated Terms and Rules here

EGA and 64 colors mode

romanon

Veteran Member
Joined
Oct 1, 2013
Messages
673
Location
Slovakia
My colleague from ours Old Computer forum discovered, that game Ironman Offroad support unusual game mode. There are not many games with this graphics mode.
64 colors on EGA, resolution is 320x200 of course. All you need is multisynch EGA monitor with support of 64 colors.
Common EGA monitors works only on 16 colors mode.
Difference is noticeable

IMG_7226.jpg 16 colors
IMG_7227.jpg 64 colors
 
Rambo III also supported this, plus a few others. AFAIK it's still a maximum of 16 colors at a time, although the possible range is 64 (6-bit 'RGBrgb' like in hi-res EGA).

Doesn't this mode require specific EGA *chipsets*, as well as a multisync monitor? I seem to remember that at least one of those games only offered it for Boca and Paradise cards, with a very prominent "CAUTION!" text too. I don't think a standard IBM EGA will do this, since its 200-line modes are limited to a CGA-like IRGB signal.
 
The trick here is to change the vertical sync polarity in 15.75khz mode. Switching it to negative polarity should allow for RrGgBr 6-bit color palettes and it might even work with IBM's EGA monitors. Many of the early multiscan monitors like that Princeton and the NEC Multisyncs had a switch to force 64 color mode. The limitation of RGBI in 15.75khz is entirely artificial to maintain backwards compatibility with CGA monitors, but that never stopped anyone.....
 
Yes, but is it possible to force *any* standard EGA card to output a negative vsync in 15.75KHz modes?

If it is, why does this game require Boca/Paradise chipsets for the 6-bit palette, and support only RGBI for the 'standard IBM type'?
If it isn't, how does Super Off Road pull it off on an IBM EGA (according to romanon)?

Something doesn't add up. It's possible that Rambo III is doing something completely different, like using those chipset extensions to generate 400 lines at 22kHz as a double-scanned version of the 200 line modes, but I doubt it.
 
Very interesting this game support the 64 color mode.
I use a ibm cga monitor connected to a ega card (this was the most common configuration) when you use this combo theres only 1 intensity pin so 16 colors.
When you have a true EGA monitor they are 2 intensity pins present for the digital color signal that's what give you the extra 64 colors.
And it's enable only when you select the high resolution modes like 640x350 24hz mode.
 
According to Rambo III. This game never promise to display 64 colors, all modes to select are in 16 color range.
541305-rambo-iii-dos-screenshot-setup-menu-for-run-on-ega-enhanced.jpg

This is image of RIII screen in normal EGA mode
IMG_7239.jpg
and in enhanced EGA mode with ??? colors
IMG_7238.jpg
Its different, but i can't count how much colors there are

About IBM EGA and 64 color mode, i am little bit confused right now.
This is picture of nonIBM EGA in 64 color mode
IMG_7227.jpg
but IBM EGA shows that screen slightly different
IMG_7241.jpg
Is there really 64 color palette? I don't know, i cant count them :)
This is standard EGA 16 color mode on IBM EGA
IMG_7242.jpg

Its hard to judge this results only by eyes review. We need some utility or simple Basic program to check real 64 colors palette. So anyone?
 
According to Rambo III. This game never promise to display 64 colors, all modes to select are in 16 color range.

It's never 64-colors but 16 simultaneous colors out of 64 palette.

The other modes are fixed CGA 16 color palette style including the brown "fix" over bright yellow.

This is really interesting, so if it is possible to use this mode in any EGA card then I might take a look on the mce2vga code. Also the game needs to run on PC-XTs... But it is tricky as it would be playing with the vertical sync time instead of the polarities...
 
When you have a true EGA monitor they are 2 intensity pins present for the digital color signal that's what give you the extra 64 colors.
There is no second intensity pin, rather 6 pins used for color - 2 each for R, G, and B (so no intensity signal at all, in fact).
R, G, and B plus two intensity pins would give you only 32 colors (2^5), which would look quite different besides.

According to Rambo III. This game never promise to display 64 colors, all modes to select are in 16 color range.
Yep, 16 simultaneous colors, but in The "enhanced" EGA modes those 16 are selected out of 64 possible colors. The VGA version also supports 16 colors (out of 2^(6*3)=256K colors).
I don't know of any way for an EGA card do display 64 simultaneous colors in any mode (there aren't enough bitplanes).

This is image of RIII screen in normal EGA mode
View attachment 48646
and in enhanced EGA mode with ??? colors
View attachment 48647
Its different, but i can't count how much colors there are
The second one looks like it has less colors than the first (compare the "banding" on the arm, and on the left side of the helicopter)... also, those colors all look like they belong in the standard RGBI palette. Is that on an IBM EGA?
If so, my semi-educated guess is that the game is trying to send 6-bit values to the palette registers, but only 4 bits are used -- that's what the IBM EGA is known to do in 200-line mode. This produces a different palette compared to the "standard" EGA shot, but colors are quantized to RGBI values so it is definitely not as intended.

Its hard to judge this results only by eyes review. We need some utility or simple Basic program to check real 64 colors palette. So anyone?
I don't have the hardware to test such code, but your photos actually increase my confidence that my conjecture is correct - both games show 16 out of 64 colors on "extended" EGA, and plain old 16 RGBI colors (just not the correct ones) on a standard IBM EGA.

About IBM EGA and 64 color mode, i am little bit confused right now.
This is picture of nonIBM EGA in 64 color mode
View attachment 48641
but IBM EGA shows that screen slightly different
View attachment 48644
Is there really 64 color palette? I don't know, i cant count them :)
This is standard EGA 16 color mode on IBM EGA
View attachment 48645
The first shot again does not look like it has more than 16 (simultaneous) colors. At least, it looks quite similar to this VGA screenshot, and that one is definitely 16 colors (you can verify that in software).
About the second shot, it's hard to tell because the photo came out kind of greenish, but I'm fairly confident that the colors here are RGBI ones. Which points to the same symptom as Rambo III on the IBM card: the game reprograms the palette using 6-bit values, but only 4 are actually used.
 
The second one looks like it has less colors than the first (compare the "banding" on the arm, and on the left side of the helicopter)
The second Rambo image looks like it's truly to emulate the Commodore 64 color palette. Maybe they got lazy and just copied the artwork from the C64 version of the game?

vice.png
 
I don't know of any way for an EGA card do display 64 simultaneous colors in any mode (there aren't enough bitplanes).

I wouldn't bet on that... What about changing the palette after each scanline ?

This is called split-screen but I don't know if is easy or doable on PC's. You need interrupt and cpu-cycle perfect timings...
 
The second Rambo image looks like it's truly to emulate the Commodore 64 color palette. Maybe they got lazy and just copied the artwork from the C64 version of the game?
They didn't do that with VGA or straight EGA, so it doesn't seem probable that they'd specifically get lazy with the 'extended' EGA version. I'd say it's probably a coincidence of the game trying to set up an extended palette which isn't available on an IBM EGA, ending up with the wrong one.

I wouldn't bet on that... What about changing the palette after each scanline ?

This is called split-screen but I don't know if is easy or doable on PC's. You need interrupt and cpu-cycle perfect timings...
Sure, CGA and VGA can do that (for different color counts, of course) so it should be just as doable on EGA. You don't need cycle-perfect timing, just an interrupt or polling the status registers should be enough.

With an extended EGA card that supports 6-bit palettes in 200-line modes, that could conceivably get you 64 colors *over the time of one frame*, but that's not truly 'simultaneous' since the palette registers don't hold more than 16 colors at any given instant. ;)
Probably a moot point in this case anyway, since none of the above photos appear to show more than 16 at a time.
 
Rambo III (and other Bananaware-developed titles for Taito) supported picking any of the 64 EGA colors in 320x200 if you had a Boca or Paradise chipset. They supported this because they also supported VGA, and the graphics for that game were 16 colors using a custom palette (likely ported from the Atari ST version). The additional color flexibility meant the graphics could look closer to the VGA 16-color graphics.

However, I don't think that's what Ironman is doing. When run with game /ega64 it shows an image also drawn in 8 colors but it chooses different colors. Running in an emulator, I can see /ega64 mucking around with registers, so I'll see if I can disassemble the code and figure out what's going on.
 
Last edited:
Difference is between monitors. IBM EGA cant handle /EGA64 mode. Multisynch EGA monitor can do it

Multisynch monitor in /EGA64 mode
IMG_7227.jpg

IBM 5154 monitor in /EGA64 mode
IMG_7257 (1).jpg
 
There is no second intensity pin, rather 6 pins used for color - 2 each for R, G, and B (so no intensity signal at all, in fact).
R, G, and B plus two intensity pins would give you only 32 colors (2^5), which would look quite different besides.


Yep, 16 simultaneous colors, but in The "enhanced" EGA modes those 16 are selected out of 64 possible colors. The VGA version also supports 16 colors (out of 2^(6*3)=256K colors).
I don't know of any way for an EGA card do display 64 simultaneous colors in any mode (there aren't enough bitplanes).


The second one looks like it has less colors than the first (compare the "banding" on the arm, and on the left side of the helicopter)... also, those colors all look like they belong in the standard RGBI palette. Is that on an IBM EGA?
If so, my semi-educated guess is that the game is trying to send 6-bit values to the palette registers, but only 4 bits are used -- that's what the IBM EGA is known to do in 200-line mode. This produces a different palette compared to the "standard" EGA shot, but colors are quantized to RGBI values so it is definitely not as intended.


I don't have the hardware to test such code, but your photos actually increase my confidence that my conjecture is correct - both games show 16 out of 64 colors on "extended" EGA, and plain old 16 RGBI colors (just not the correct ones) on a standard IBM EGA.


The first shot again does not look like it has more than 16 (simultaneous) colors. At least, it looks quite similar to this VGA screenshot, and that one is definitely 16 colors (you can verify that in software).
About the second shot, it's hard to tell because the photo came out kind of greenish, but I'm fairly confident that the colors here are RGBI ones. Which points to the same symptom as Rambo III on the IBM card: the game reprograms the palette using 6-bit values, but only 4 are actually used.
DaFraq did you just say, there are most definitely 2 ttl intensity pins... for a format that looks like this rgbRGB now think about it like this 2r*2g*2b*2R*2G*2B nevermind, you get it, I think in fact you just confused yourself as to what the original poster meant by 2 intensity pins (at least the way I took it) in CGA emulation or Low Ega your Green 0 pin becomes the only intensity pin. for this gRGB g2*R2*G2*B2
 
Last edited:
DaFraq did you just say, there are most definitely 2 ttl intensity pins... for a format that looks like this rgbRGB now think about it like this 2r*2g*2b*2R*2G*2B nevermind, you get it, I think in fact you just confused yourself as to what the original poster meant by 2 intensity pins (at least the way I took it) in CGA emulation or Low Ega your Green 0 pin becomes the only intensity pin. for this gRGB g2*R2*G2*B2

I suppose you might perceive the second bit of each color signal as an "intensity" applied to that color - but that's just called having more bits per channel. by this logic 24 bit RGB color could be thought of as 3 color bits with 21 intensity bits, and no one would say that. I view an intensity bit as a signal independent of color information, and by that metric I would argue VileR is correct.
 
I suppose you might perceive the second bit of each color signal as an "intensity" applied to that color - but that's just called having more bits per channel. by this logic 24 bit RGB color could be thought of as 3 color bits with 21 intensity bits, and no one would say that. I view an intensity bit as a signal independent of color information, and by that metric I would argue VileR is correct.
I didn't invent that means of reference, the farthest back I know of, It would have to be the way IBM referred to the pin layout with the 5154, I am not saying that they were the first to refer to it that way, just the first I know, but for all I know, the pc hobby community or industry at large may have referred to it that way, since the invention of ttl signaling. Granted EGA 64c is the only mode where its referred to this way, with your 3 initial "color" pins + "intensity" pin six(aka green 2)being your base(default)16 colors. If you are asking me why they represented this logic in the manual as RGBrgb with the big letters being 2 levels of intensity I have no Idea, and I am happy thinking about the way of referencing the signal that VGA introduced(and you described) as a bit per pixel method of referernce because that is also how it is described in ram... just imagine if IBM designed your car... "are those your High or Low intensity, High or Low Beams?"
 
There was a (basic?) demo that was able to show all 64colors in 640x350 at once...can't find it actually,
but was there an image viewer that could make use of ega-hires+ with all 64 colors at 800x600 ?
 
Back
Top