VOGONS

Common searches


First post, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

It seems some DOS games expect a working VGA connection, not DVI, nor HDMI, through some means I don't know yet. Otherwise it will refuses to run.

Actually I was talking about this game: EPIC from DID. There was a thread in DOSBox Games/Apps here talking about the game refuses to run and says "needs VGA display, sorry". Though it was for DOSBox back then and was fixed for it, I had that issue on my DOS machines as well, and at that time my video card on that machine was connected using DVI instead of VGA to my LCD monitor.

A few days ago I did an experiment by connecting to my LCD monitor using the VGA port instead on that machine, and the game worked. Then I shut the machine and replugged the DVI while keeping the VGA connection, and let my monitor use DVI output, the game still works, even on DVI output.

However, on another machine which has a video card that only has two DVI ports and no VGA, the trick didn't work, even if I connect one of its DVI port using a DVI-VGA converter to my monitor.

And thus, it seems in order to get EPIC working, there are two requirements needed to be met:
- Your video card MUST have a native VGA (D-Sub) port.
- The VGA port on your video card MUST be connected to a monitor.
Otherwise, the game will refuse to run and says "needs VGA display, sorry".

So far this is the only game I know that have such requirements. My other games work fine without issues over DVI.

And here are the questions:
- Through what methods can DOS programs use to check if there is a working VGA connection to a monitor or not?
- Is it possible to fool such games to always think there is a VGA monitor present? Since there are some good video cards that do not have native a VGA port, and as for EPIC, the game actually can output over DVI without problems.

Reply 1 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

EPIC sets standard VGA video modes and then checks to see if the mode sets were successful; however, when setting mode 13h it includes the high bit to skip clearing video memory and expects the BIOS to echo that bit back when the current video mode is queried. So, just as it used to be with DOSBox, you're probably looking at a compatibility issue with a particular video card's BIOS. I suppose it's possible that the BIOS does different things based on the type of connection between the card and the monitor, but the game itself is ignorant of the connection.

If the issue is what I think it is, you can work around it by making a small modification to the game executable. In START.EXE at offset 13A31 change 93 to 13.

Reply 2 of 3, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Thanks. It worked.

It seems that while things appear to be the same on the surface for both VGA and DVI, some underlying stuffs were different, and this was one example.

The problem affects all video cards that are being connected to the monitor with a non-VGA connection (like DVI and HDMI) regardless of video card. Setting mode 13h with high bit set (93h) seems to be something exclusive for VGA, and doesn't work with others, but seems like few games actually used it while EPIC did.

Reply 3 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Setting the high bit in the video mode number should simply tell the BIOS to skip the step of clearing (writing zeros into) video memory as part of the mode set, and the connection type seems rather irrelevant to that. Perhaps it's true that some video BIOSes treat the high bit of the mode number differently on digital connections for some reason, but if so then it apparently causes a loss of some legacy compatibility as a result.

It seems that EPIC doesn't really have a purpose in skipping the clearing of video memory when setting mode 13h, so the workaround should have no ill effects.