VOGONS

Common searches


VESA on XP. A possible solution?

Topic actions

First post, by mootube

User metadata
Rank Newbie
Rank
Newbie

I've read a few threads here on the problems I'm facing, running old games on XP. I found this post that might offer a solution to this. I thought some people here would be interested in this. This method seems to take a different approach than others I've found so far, though I know next to nothing about the subject myself.
http://www.programmersheaven.com/c/MsgBoard/r … ting=P9999F0001

"The REAL reason that VESA will not work under XP or win2000 is that neither of those will permit your program to access the registers of the video card directly. All attempts are trapped. Only drivers which work in a privileged mode can do this. There is a "universal" driver called "Giveio.sys" which, when installed removes the access traps in XP and Win2000. You are then back to what you want. It can be found on the net."

This could be irrelevant or the holy grail, I'm not really sure. Perhaps something could be developed along these lines or even from this existing file to mre suit the purposes of XP compatability. I'd be interested in any replies to this.

One other thing. When I registered with a hotmail account, the email was put straight into the hotmail junk folder. Perhaps the forum admin would want to fix this issue.

Reply 1 of 22, by ragnic

User metadata
Rank Newbie
Rank
Newbie

the only links i've found so far about a giveio.sys seems related to an extended/custom parallel port driver... which doesn't help a lot regarding Vesa.
Maybe i didn't look at the right pages. Do you have a link?

Reply 2 of 22, by mootube

User metadata
Rank Newbie
Rank
Newbie

I think it's the same file although that quote is the only reference to VESA that I can find. I think a lot of programs use it to access ports that they wouldn't normally be able to (or something) which sounds like there may be something to what the programmer said.
I'm not even going to attempt to mess around with it or even install it, I can't even execute an exe in DOS without a manual so I'll leave it to people who have a clue.

Reply 4 of 22, by collector

User metadata
Rank l33t
Rank
l33t

Note that GIVEIO.SYS can cause problems with VDMSound:

"There have been, in the past, problems reported on systems running certain software like Motherboard Monitor, CPUCool or SANDRA. These programs use special drivers to give them full, direct I/O access. While full I/O access does not constitute a replacement for soundcard emulation (the aforementioned drivers do not -- and can not -- handle IRQs and DMA transactions), it will effectively disable VDMSound as soon as the DOS window goes in full-screen mode. You might have to uninstall the problematic driver (typically called giveio.sys) or the software that uses it in order for VDMSound to work. This, unfortunately, is not a problem with VDMSound, and I have no control over it."

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 5 of 22, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

The problems with MBM and giveio compatibility with VDMSound were fixed some time ago.

How To Ask Questions The Smart Way
Make your games work offline

Reply 7 of 22, by mootube

User metadata
Rank Newbie
Rank
Newbie

Mike, I think the best thing that anyone can do ATM is use a dual boot system. It defeats the point a bit but at least you'll be able to play the games. 😁
Either get a second HD with a DOS based OS (98se) or try partitioning just one HD. Then install something like Partition Commander and you'll get a choice of OS on bootup. There are plenty of other programs to do this but I always use VCOM software if possible.

The game I most want to get to work is
A2. If anyone can get this to work, you'd make several frail old men's lives a bit more enjoyable. Failing that, we'll just have to use dual boot systems I suppose.

Reply 9 of 22, by tomlow

User metadata
Rank Newbie
Rank
Newbie

That's when your hardrive is devided into two sections.
On one section you can install (example) Windows XP and on the other
Windows 95.

at least I think...

btw: can anyone post a link to a good and easy to use program for this,
and maybe a walktrough how to actually do it.

thank you

Reply 10 of 22, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

WARNING: Playing around and experimenting with partitions, multi-boot loaders, etc poses a serious risk to any information on your hard disk. My sincere advice is that you spend $50 - $100 to buy an old, 2nd-hand, used PC to do your experimentation and get som experience and understanding of the process *before* you start mucking around with your day-to-day system.

This article gives an overview of the basics. After that, go here and learn more about partitioning, MBR's, boot loaders, etc.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 12 of 22, by George

User metadata
Rank Newbie
Rank
Newbie

I'm a programmer and in my case it isn't Games' problem. Many years ago I wrote a prog (in DOS) with SVGAKIT (4 banking graph pages showed in succession). When I tried to run it on modern computer with GeForce I failed. No messages but no images 🙁( I investigated the problem and found that the cause is NOT in XP! It is not work even if I boot from DOS. So, I think that the problem is in VESA compatibility of video card. VBE 3.0 in GeForgce, and SVGAKIT 5.2 can handle only VBE 2.0.
Does anybody knows were to get more fresh version of SVGAKIT? Some links or direct mails are welcome!

Reply 13 of 22, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

VESA 3.0 is (or at least should be) VESA 2.0 compatible. Did you try your program in plain DOS (i.e.: start your computer with a Windows 95 or 98 boot disk, then start your program)?

Maybe SVGAKIT relies on selecting banks writing data on some ports (videocard autodetection?)... and the Geforce doesn't react to those ports... Or maybe it does some not-so-nice video calls...

P.S.: I've tried Win XP SP2 with an old program (uses VESA 1.x) and it works... strange...

Attachments

  • Filename
    GRAVEDAD.EXE
    File size
    22.11 KiB
    Downloads
    173 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 22, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

Strange... i'll check the source, but I remembered that it puts VESA video mode using BIOS... the refresh rate is the default BIOS refresh rate.

It works in my Geforce 2 MX400, and I tested it on a FX5200 (both XP SP2)... in FX5200 it throws the monitor out of sync, though... strange...

Reply 17 of 22, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

OK, I reviewed the source code and here's the story...

A long time ago, I studied 80x86 assembler and C. As a project I wrote a VESA asm library (supporting 256 color modes and writen in Turbo Assembler with Turbo C interfaces) and I made Gravedad.c as a demonstration. The ball is stolen from The incredible machine.

Gravedad.c starts initializing 800x600x8 VESA mode. It calls VESA function to put video mode and gets the bank setting function address. Later, it writes straight to the A000 segment and it uses the address directly.

It is very straightforward, and it makes use of standard VESA calls only.

Reply 19 of 22, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++
Zup wrote:
OK, I reviewed the source code and here's the story... […]
Show full quote

OK, I reviewed the source code and here's the story...

A long time ago, I studied 80x86 assembler and C. As a project I wrote a VESA asm library (supporting 256 color modes and writen in Turbo Assembler with Turbo C interfaces) and I made Gravedad.c as a demonstration. The ball is stolen from The incredible machine.

Gravedad.c starts initializing 800x600x8 VESA mode. It calls VESA function to put video mode and gets the bank setting function address. Later, it writes straight to the A000 segment and it uses the address directly.

It is very straightforward, and it makes use of standard VESA calls only.

That's why it doesn't work natively under Windows XP using a GeForce4 card. Those cards are unable to go beyond 640x480 using VESA. I think it's a big bug in the GeForce4 bios itself.