VOGONS

Common searches


First post, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Has anybody done some work, and is it even easily possible.

Well nex level would be redefined pallette in 200 line EGA games.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 1 of 6, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie

Of course it is possible. The VGA is still a VGA, after all.

However, when it comes to choosing from the EGA colors, you have to program the hardware registers, directly, because IBM did not make the BIOS functions available in CGA mode.
The same might apply to the VGA RAMDAC palette, but I'm not sure. Chances are that you can modify that with BIOS calls even in CGA mode.

You might want to take a look at the TSR tool "CHGCOLOR" for EGA that lets you pick the four colors for the CGA mode from the 16 color palette.

There is nothing next-level about redefining the palette of 200-line EGA games, because the restriction to the 16 CGA colors was in IBMs monitors, not in the EGA card itself.

Reply 2 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I think that's right, too. From what I remember, there are only two palettes to select from (officially; no intensity).

- 0) Green/red/yellow(brown) and bg (black)
- 1) Cyan/magenta/white and bg (black)

If programmed directly via port $3D9, with intensity bit, there are six palettes, if memory serves.
This works with real CGA hardware only, though. And with EGA/VGA cards in CGA emulation mode (via mode utility).

Edit: I'm refering to PC BIOS and CGA only.
The EGA/VGA BIOS (Option ROM) has additional registers,
but may not react to all of the old CGA registers.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 6, by VileR

User metadata
Rank l33t
Rank
l33t

The BIOS does let you set all six CGA palettes - setting the intensity *is* officially documented, but it's done with the same function that sets the background/overscan color (INT 10h / AH=0Bh / BH = 0). This controls bits 0-4 of the Color Select reg, so adding 16 to the background color value will set the intensity bit.
The cyan-red-white palette isn't officially documented, but you get it by simply setting mode 5 on CGA.

And yes, the VGA BIOS calls to change DAC palette entries do work even in CGA modes... i.e. INT 10h / AX=1012h (set block of DAC registers). I remember testing that when I was thinking about a CHGCOLOR-like TSR that would also handle VGA.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 4 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Only two palettes were documented in the 1980s GW-Basic manuals, though. Palette 1 and 0.
Hence it is questionable, whether or not games/applications used existing BIOS calls rather than access via 3D9h

Second, I said that EGA/VGA BIOS didn't necessarily react to the old CGA registers.
I did not mean to say that the EGA/VGA BIOS has no support for CGA modes or selection of palettes.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 6, by VileR

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2020-08-24, 21:51:

Only two palettes were documented in the 1980s GW-Basic manuals, though. Palette 1 and 0.
Hence it is questionable, whether or not games/applications used existing BIOS calls rather than access via 3D9h

It's part of the the PC (and XT) BIOS documentation, but that would be in the Technical Reference.
BASIC games/apps are a different matter - they'd have to use 3D9h, since you can't directly call the BIOS from BASIC... but it's not like the GW-BASIC manuals documented port 3D9h either. 😉

Second, I said that EGA/VGA BIOS didn't necessarily react to the old CGA registers.
I did not mean to say that the EGA/VGA BIOS has no support for CGA modes or selection of palettes.

Yeah, that part of my post was in reply to Benedikt's conjecture. One day I'll get over my laziness and multi-quote properly!

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 6 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Ah, I see. Thanks for your reply! 😁

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//