Working on "DOS" VGA.

Roderick Colenbrander thunderbird2k at gmail.com
Thu Apr 1 04:24:03 CDT 2010


On Thu, Apr 1, 2010 at 10:17 AM, Morten Rønne <morten.roenne at tdcadsl.dk> wrote:
> Hi Wine-devel
>
> My name is Morten and I would like for some of my old DOS/WIN95 games to
> work with wine. :)
>
> I know that I most likely could solve this by using DOSbox and/or DOSemu.
> But I don't consider either of them user friendly in it's raw form.
> And I hope in the future it could be more of a Go to this menu item, click a
> few choices and then play game thing.
>
> So I have been looking into what one of them is needing (XCOM Apocalypse).
>
> The first thing that needs work is the VGA screen driver. The game needs one
> of the unsupported video modes.
> After looking further into it, I can see that the current screen driver,
> needs to be more of an emulator than just a copy of the framebuffer/RAM
> window  to/from the DirectDraw surface.
>
> But since I need to do a lot rewrite of the code, to get a emulator into
> things,  I would of course like to test all the stuff that I don't touch (in
> term of videomodes). But there isn't a test catalog in dlls/krnl386.exe16.
> That could of course be due to the fact that it is pretty hard to write test
> for that old platform and get proper test on a live version.
> Or am I missing something here?
>
> Looking over the list of videomodes, I can see that a lot of them says
> supported.
> Is that really true or do they simply not break?
> Again is there anyway to test that those modes are truely supported in my
> code change (and in the current code)?
>
> Another problem that I am facing at a later stage is that most of the games
> needs to be installed in win95 mode.
> But I think that most people will run with something like XP, Vista or Win7
> as default mode.
> That will break most of the old installers as DOS version becomes 5.0 or
> something "silly" like that.
> So I am thinking about having to create a wrapper program where you can
> install your old programs through so the mode gets set correctly during
> install. And perhaps also creates some proper shortcuts in the menu.
> And perhaps even into the new game database that new windows version have.
> And thoughts/ideas on this?
>
> Another way to handle this would be to do something like a MD5 on the
> install.exe (hoping that they differ) and then look up in the AppDB, to see
> which mode to use as installer mode (and run mode). Yes, that would most
> likely require changes to AppDB. But I can see a use for this even for the
> above wrapper program (Autodetect using AppDB).
>
> Once I get a new VGA "driver" running, I will most likely start looking into
> INT10h and others that try to interface to the VGA "driver".
>
> Best Regards
> Morten Rønne
>

Hi Morten,

First of all welcome to Wine. Myself I'm a bit worried about whether
we should improve our DOS support even further. The problem is that
more and more people are moving over to 64-bit Linux. While you can
run 32-bit programs on a 64-bit system, there is no protected mode
support (vm86; there is emulation in some cases using a kernel
module). I don't know all the details about what works and not but I
fear the 64-bit move makes DOS support in Wine not that useful these
days but I might be wrong.

Roderick



More information about the wine-devel mailing list