VOGONS


Reply 20 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Rastan definitely supports VGA, though I think it only used 16 colors in that graphics mode

So it's using an ega mode?

not making it look a whole lot different than EGA, but the difference is noticeable with one or two palette colors

That's how the palette is set up.

So as hal says that game uses EGA capabilities, not VGA (but of course works on a vga card), not?

Reply 21 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t

I would like to quickly point out that there are indeed VGA 16-colour modes. The main difference between them and EGA modes is the way the palette is handled.

The EGA hardware only supports 2 bits per colour channel, making for a total of 64 possible colours that can be shown on-screen. VGA registers are different and provide 6 bits per colour channel, allowing for 262,144 possible colours.

There may also be other differences, but I know that's the big one, and the reason why any game that uses a 16-colour palette, but alters them using the VGA registers, will fail on EGA hardware, or even in EGA mode in DOSBox.

Megazeux is a great example, heck it's even using a text mode, but because it's accessing the VGA palette registers to allow for full 6-bit-per-channel manipulation of the colour palette, it doesn't work in EGA mode and will look completely messed up if you try it.

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 22 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I would like to quickly point out that there are indeed VGA 16-colour modes.

Which? Maybe my understanding of "mode" is different since to me it's an int10 call nothing more.
If the palette is changed afterwards doesn't really matter because the mode is the same,
but if it "looks completely messed up on real ega" it certainly was programmed for vga cards only.
(I don't know how many games can be attributed to fail because of a messed up palette but
still that's no new mode for me).

Reply 23 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t

I guess it really does depend on how one defines "mode", because you're right, you activate EGA and VGA modes with the same calls, but it's what you do afterwards that will ultimately break it on the wrong hardware.

For instance, everyone knows of the tweaked 256-colour "mode-x" resolutions, like 320x240 and 360x480, but there's also tweaked 16-colour modes, achieved using roughly the same methods, and the potential maximum resolution possible is 800x600, based on the 256 KB of memory a VGA card has. These 16-colour modes would never work on EGA hardware, as the registers to trigger them don't exist and there isn't enough video memory on an EGA card to do it either.

That said, the only program I know of that utilizes these tweaked 16-colour modes is the DOS fractal generator Fractint.

I use "mode" to define what the graphics display can do under a given circumstance, so when I say "EGA 320x200 16 colour" it's because a game will work on EGA hardware, but when I say "VGA 320x200 16 colour" it's because the game does something special that prevents it from using EGA hardware. Same goes for when I differentiate MCGA and VGA.

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 24 of 33, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

Rastan uses the same video mode, but it uses 16c from VGA palette. See.

Attachments

  • rastan_VGA002.png
    Filename
    rastan_VGA002.png
    File size
    4.99 KiB
    Views
    2112 views
    File license
    Fair use/fair dealing exception
  • rastan_EGA002.png
    Filename
    rastan_EGA002.png
    File size
    4.86 KiB
    Views
    2112 views
    File license
    Fair use/fair dealing exception
  • rastan_VGA001.png
    Filename
    rastan_VGA001.png
    File size
    3.26 KiB
    Views
    2112 views
    File license
    Fair use/fair dealing exception
  • rastan_EGA001.png
    Filename
    rastan_EGA001.png
    File size
    3.52 KiB
    Views
    2112 views
    File license
    Fair use/fair dealing exception

Reply 25 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I use "mode" to define what the graphics display can do under a given circumstance, so when I say "EGA 320x200 16 colour" it's because a game will work on EGA hardware, but when I say "VGA 320x200 16 colour" it's because the game does something special that prevents it from using EGA hardware. Same goes for when I differentiate MCGA and VGA.

Yeah that sounds sensible. Though I'd be very careful with the terms tweaked-mode and modex because
rarely anybody really knows/documents if a game does some vga register access after a mode-set (it may only
be noticed if you do register logging or have a side-by-side comparison of real EGA and VGA PCs where you
take into account that the mode-set may already behave different on these machines).

Reply 26 of 33, by VileR

User metadata
Rank l33t
Rank
l33t

I'd agree with that definition. When I say Rastan "supports VGA" with 16 colors, I mean it still relies on certain VGA capabilities not present in EGA (i.e., customizing the palette in graphics modes that aren't 640x350).

Defining a "mode" is not as clear, but if you include memory layout (and bits per pixel) then you could consider that to be a VGA mode. Can't think of specific examples off the top of my head, but I'm fairly certain you could find some VGA 16-color games that would just puke / not work at all on EGA.

Gemini000 wrote:

The EGA hardware only supports 2 bits per colour channel, making for a total of 64 possible colours that can be shown on-screen.

Can only happen in EGA's hi-res mode though... anything x200 is still restricted to the basic 16 predefined RGBi colors inherited from CGA (as seen in Rastan), just with all of them on-screen simultaneously, as opposed to 4 or 2. 😉 Guess it was a conscious decision on IBM's part, to be able to drive CGA monitors by sticking to low-res.

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

Reply 28 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t
VileRancour wrote:
Gemini000 wrote:

The EGA hardware only supports 2 bits per colour channel, making for a total of 64 possible colours that can be shown on-screen.

Can only happen in EGA's hi-res mode though... anything x200 is still restricted to the basic 16 predefined RGBi colors inherited from CGA (as seen in Rastan), just with all of them on-screen simultaneously, as opposed to 4 or 2. ;) Guess it was a conscious decision on IBM's part, to be able to drive CGA monitors by sticking to low-res.

*tests this* ...Curious... Maybe this was more-so to ease development of software that would run on Tandy / PCjr systems since those also had 16-colour 320x200 and 640x200 modes that were limited to those basic 16 colours?

Strange that they would limit those modes like that...

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 29 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I mean it still relies on certain VGA capabilities not present in EGA

No it doesn't, at least not judging elPusher's screenshots, they just additionally use the
VGA card's capabilities on top of that (you'd have to check if they actually behave different for
an EGA system in that they don't reprogram the palette or if it just has zero effect there).
The game looks pretty playable on EGA.

Where would you draw the line? If a game sets an ega mode and acidentally writes
to a vga port when probing for some addon card, is it using a vga mode because it
uses vga registers?

Reply 30 of 33, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I have not read whether there is a definitive answer to whether Rastan supports 4 or 16-color using MCGA. There is no reason why Rastan could not support a custom graphics resolution using the adapter, as its CRT controller values can be changed.

Games that used a 320x200 graphics mode in 16 colors can look the same on TGA, EGA, MCGA or VGA. In EGA, the regular mode 0Dh is customary. In TGA or PCjr., the mode is 09h. These adapters only support 16 colors in a 200 line mode. In MCGA, the mode used will be 13h, but only the first 16 palette entries will be used. Different colors outside the 16 RGBI colors can be used by reprogramming the palette. This is not limited to "EGA emulation", some CGA games can use other than the preset palette colors by the same idea. VGA can use the EGA mode or 13h if more color is used.

IBM EGA 200-line modes are limited to 16 colors because they were designed to connect to 200-line RGB monitors that could only display 16 colors. If you wanted more color, you bought a(n expensive) 350-line monitor.

Actually, the MCGA PS/2 Models, the 25 and 30, should have very good compatibility with the PC family. They use the ISA bus, although only in 8-bit. MCGA can emulate CGA, at least the basics. They can be upgraded to VGA, I even have the card that was designed to do that for the 30. They have ROM BASIC for those pesky early programs. With an 8086 @ 8MHz, they should not be too fast. Proprietary power supply and floppy drives.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 31 of 33, by VileR

User metadata
Rank l33t
Rank
l33t
wd wrote:
No it doesn't, at least not judging elPusher's screenshots, they just additionally use the VGA card's capabilities on top of tha […]
Show full quote

No it doesn't, at least not judging elPusher's screenshots, they just additionally use the
VGA card's capabilities on top of that (you'd have to check if they actually behave different for
an EGA system in that they don't reprogram the palette or if it just has zero effect there).
The game looks pretty playable on EGA.

Where would you draw the line? If a game sets an ega mode and acidentally writes
to a vga port when probing for some addon card, is it using a vga mode because it
uses vga registers?

Sure Rastan supports EGA and is playable on it, never questioned that part. But since the palette changes on VGA are an intentional design choice, I'd say they made a conscious decision to "support" VGA on top of that, by doing VGA-specific things.
Calling it a separate "mode" is a different question - guess it depends on whether you define a mode by the way it's initialized, or by how the card behaves after it has been set.

There are better examples in other games, that detect the type of card, and send out completely different images / pixel maps for EGA and for VGA, but still use only 16 colors on VGA... e.g. Metal Mutant from Silmarils (off the top of my head). So they might technically be accessing the video mode in the same way, but definitely "support VGA" in a separate way from EGA 😀

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

Reply 32 of 33, by VileR

User metadata
Rank l33t
Rank
l33t
Gemini000 wrote:

*tests this* ...Curious... Maybe this was more-so to ease development of software that would run on Tandy / PCjr systems since those also had 16-colour 320x200 and 640x200 modes that were limited to those basic 16 colours?

Strange that they would limit those modes like that...

Funnily enough EGA didn't support those PCjr modes either, even though it was more than capable, so software support wasn't made easier. 16-color Tandy/PCjr games fall back on CGA mode if you run them on EGA - same story as EGA games on MCGA 😉
I guess it had much more to do with support for older RGBI monitors, as Hierophant says... it ensures that the signal sent in those low-res modes would be compatible. I could be wrong, but I think most EGA cards also had a jumper to set the monitor type, causing the card to avoid 350-line modes when connected to a CGA (RGBI) monitor.

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