VOGONS


First post, by Gemini000

User metadata
Rank l33t
Rank
l33t

I'm trying to put together the game stats for my next episode of Ancient DOS Games but I've run into a very unusual problem: I can't tell if the game I'm reviewing uses MCGA 320x200x256 or VGA 320x200x256, and after searching the net for an hour I haven't been able to come to any conclusions!

So I'm curious if there's any way to determine which of these modes the game is actually using, either using DOSBox settings or with other software.

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

Reply 2 of 33, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

I believe that both MCGA and VGA came out at the same time. The MCGA being in the low end model 25, 30 PS/2 system, and the VGA being in the Model 50, 70 etc.

MCGA and VGA both support mostly the same modes. The notable differences being that MCGA is not backward compatible with EGA modes, and does not support the 16 colour 640x480 mode as it only has 64kb RAM. It does however support 640x480 in monochrome.

From a programming point of view, I do not believe there is any difference between MCGA and VGA at 320x200x256. They are both mode 13h.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 3 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t

It's true that both modes are triggered at a hardware level in the same manner, but from a programming standpoint you can do things with a VGA adapter than you can't do with an MCGA adapter, so while virtually all MCGA 320x200x256 games will work on a VGA card, some VGA 320x200x256 games will not work on an MCGA chipset, such as those that implement multiple video pages or utilize Mode-X tweaks to speed things up. (There's enough video memory on most VGA cards to store 4 pages of 320x200x256 data, but doing so requires various tweaks and MCGA chipsets are simply incapable of handling this.)

This is why I like to note the correct mode when I do my reviews, but all of my searches in relation to the game I'm reviewing has yielded no results as to whether the game will work on MCGA hardware or not.

EDIT: I'm fairly certain the game I'm covering requires VGA and won't work on MCGA. I managed to locate the game's source code, which was written in Pascal, (which I know how to program in thankfully), and upon looking through it I noticed various references to a graphics driver that not only referred to itself as a VGA driver, but was also being used by the programmer to do page copying and flipping. VGA can do this, MCGA can't, so clearly the game won't work on an MCGA chipset. (At least, not properly.)

Still, if anyone knows a better way of figuring this kind of stuff out in case I run into this problem again in the future, please share those details! :D

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

Reply 4 of 33, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

I don't know the low level hardware details of both adapter, but after reading the discussion it seems that VGA does everything that MCGA does... and some other things.

In theory, you could monitor VGA registers and put a breakpoint condition when the game does any VGA exclusive operation. Because game engines will do those things almost all the time, or won't do those operations at all, you won't need play too much time to find out.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 6 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t

The game I'm covering doesn't have any system requirements listed. Not in the game itself, not in the readme, not in the FILEID.DIZ, not even MobyGames lists the supported graphics modes. Page copying and flipping in the source code was the only thing that tipped me off that it was VGA.

As for using an actual PS/2 with an MCGA chipset... as intriguing as that idea is I can't afford one. :P

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

Reply 8 of 33, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Since MCGA was only used in PS/2s Model 25 and 30, which use an 8086 processor, exclusionary tests include :

If the game requires DPMI operation, XMS memory or uses the unreal mode. None of these work with an 8086 or its 640KB limitation.

One test is whether the game uses 286 opcodes, but this is not entirely infallible because the 8086 can be replaced by a NEC V30, which has some 286 opcodes implemented. However, 386 or 486 exclusive opcodes or features would exclude it.

Another test is whether the game supports EMS memory. EMS memory generally was not utilized until 386s became commonplace. However, this is not exclusive because an EMS memory board could be inserted in these machines. On the other hand, the performance of the EMS memory, on an 8-bit bus, would not be great.

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

Reply 9 of 33, by amstrad1640

User metadata
Rank Newbie
Rank
Newbie

I use vga games on my 8086 amstrad1640 with trident svga 512k/1go scsi/640kb ram/8087/soundblaster like soundcard/Nic 10mbps/SVGA screen .
I 've tested some games:
Xwing,Street fighter2,wolfenstein3d 8087,corrior7 (very slow),king quest5/6, simon the sorcerer,gods etc...

Reply 10 of 33, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

8086 is actually quite a bit faster than the 8088. Maybe about 80% of the speed of a 286 at the same clock speed. Switching to V30 makes them about equal. You'd be surprised at all the software that runs on this kind of machine...decently even.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 11 of 33, by dvwjr

User metadata
Rank Member
Rank
Member
Great Hierophant wrote:
Since MCGA was only used in PS/2s Model 25 and 30, which use an 8086 processor, exclusionary tests include : . . . […]
Show full quote

Since MCGA was only used in PS/2s Model 25 and 30, which use an 8086 processor, exclusionary tests include :
.
.
.

Other tests would be to try and set any EGA video modes, since the MCGA does not support video modes 0x07, 0x0D, 0x0E, 0x0F, 0x10, 0x12.

Checking the Interrupt 15h, (AH)=0xC0 for the BIOS ROM configuration table would yield the following information, since the MCGA video adapter was only implemented on the IBM PS/2 models 25, 25L, and 30.

Model    Submdl   Rev     BIOS date       System
********************************************************
FAh 00h 00h 09/02/86 PS/2 Model 30 (8 MHz 8086)
FAh 00h 01h 12/12/86 PS/2 Model 30
FAh 00h 02h 02/05/87 PS/2 Model 30
FAh 01h 00h 06/26/87 PS/2 Model 25/25L (8 MHz 8086)

dvwjr

Reply 12 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The question wasn't how to detect if a machine has an mcga or vga but whether there's some way to tell if a GAME supports mcga mode13 or requires a vga graphics card for vga mode13.

Reply 14 of 33, by Gemini000

User metadata
Rank l33t
Rank
l33t

So long as you're only using basic functions and not doing anything special, MCGA and VGA work the exact same.

The differences come into play when you start messing with the video registers to do things like page flipping to help speed up performance, storing graphics in video memory, scrolling the visible screen area at a hardware level, etc. MCGA chipsets only had 64 KB of RAM by default, just a little more than necessary to handle a 320x200x256 screen. VGA cards had 256 KB by default, meaning you could do a lot more in memory, and the VGA chipset itself was far more programmable. Attempting to do ANYTHING in video memory beyond the typical screen boundary pretty much requires VGA and will fail on MCGA.

Programming the VGA registers for tweaked access too, like 360x480x256 resolution, also fails on an MCGA chipset, but that's a heck of a lot more obvious. ;)

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

Reply 15 of 33, by VileR

User metadata
Rank l33t
Rank
l33t

MCGA was probably the worst example of IBM crippling their own products for no other reason than pricing and market segments. I remember how a friend's low-end PS/2 machine ran many games in "ugly mode" compared to my EGA-equipped XT clone, only because IBM deliberately chose not to bother with backward compatibility on the MCGA.
(then again, both CGA and EGA suffered from the same syndrome of not fully exploiting their own hardware capabilities, but that's a different story...)

The only ways to really tell would be:

- Test on an actual PS/2 model 25 or 30

- Debug the game and see if it's trying to do anything VGA-specific. Or not even that; Many early VGA games in fact used custom-palette 16 color modes rather than the 256-color mode 13h, and that would fail on MCGA as well if I'm not mistaken.

Of course, when a game's documentation / setup program tells you of a "VGA/MCGA" or "MCGA" mode then you're already in the clear 😀

Awesome web show, by the way. So far I've managed to watch the first 20 episodes or so, keep up the good work!

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

Reply 19 of 33, by VileR

User metadata
Rank l33t
Rank
l33t

Rastan definitely supports VGA, though I think it only used 16 colors in that graphics mode - not making it look a whole lot different than EGA, but the difference is noticeable with one or two palette colors

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