Lack of DOS support in wine

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
mangamuscle
Newbie
Newbie
Posts: 2
Joined: Sun Oct 12, 2008 3:00 pm

Lack of DOS support in wine

Post by mangamuscle »

I am curious how come Wine has no direct support for DOS but has support for Windows 2,3 & 95 (which required DOS for their installation). I think of Wine as an utility to run legacy software and DOS compromises a big chunk of it. I know I can use Dosbox but it would be better for the end user if one program could run in linux all software made for m$. As a bonus, Dosbox also is open source, so I think it would be feasible to merge their source into Wine.

By no means I am trying to anger anyone with this post, I am simply curious.
Dean Hamstead

Lack of DOS support in wine

Post by Dean Hamstead »

i believe the answer lies somewhere in the concepts involved with
emulating dos versus implementing the windows API

in order to emulate dos, doxbox emulates an entire hardware machine in
software. dos was a very thin layer on top of the hardware which in lots
of cases the programs unloaded and took on the hardware for themselves.
recall the good old days of telling your software the io and irq of your
sound card and the type of video card you have.

(compared to the massive hulk that windows is now, where the browser is
somehow debatable considered 'part of the operating system', back then
windows was a separate application you ran on top of dos)

wine on the other hand 'is not an emulator', in that it implements the
win api's on top of unix libraries and functions (or implements them
itself). there is no attempt at fully fledged emulation - which is why
wine runs so fast and dosbox is so strangely cpu hungry for how it performs.

also, MS-DOS was not by any means the only dos, nor was it the best of
the dos operating systems. PC-DOS and DR-DOS were in so many ways vastly
superior to MS-DOS.



Dean

mangamuscle wrote:
I am curious how come Wine has no direct support for DOS but has support for Windows 2,3 & 95 (which required DOS for their installation). I think of Wine as an utility to run legacy software and DOS compromises a big chunk of it. I know I can use Dosbox but it would be better for the end user if one program could run in linux all software made for m$. As a bonus, Dosbox also is open source, so I think it would be feasible to merge their source into Wine.

By no means I am trying to anger anyone with this post, I am simply curious.





--
http://fragfest.com.au
DOS4dinner
Level 2
Level 2
Posts: 36
Joined: Thu Aug 07, 2008 3:50 pm

Post by DOS4dinner »

Because we already have a perfect DOS program runner, DOSBox. It can run almost any DOS program ever made, and in some cases can run them better. There is no real point for the Wine devs to spend time working on DOS compatibility when DOSBox is near perfect, at least how I see it.
mangamuscle
Newbie
Newbie
Posts: 2
Joined: Sun Oct 12, 2008 3:00 pm

Re: Lack of DOS support in wine

Post by mangamuscle »

I am aware that Wine is not an emulator. But instead of emulating a vintage architecture wouldn't it be feasible to simply implement all the DOS api calls? Instead of emulating the 286/386 simply use the legacy (virtual, real or protected) mode of modern x86/x64 cpus? instead of emulating CGE/EGA/VGA allow only VESA graphic modes? Would it be feasible to write an api that mimics the funcionlality of a sounblaster card bios?


I am aware this scheme would not allow to run all sotware like dosbox does and I am really asking since I do not know the definitive answer to these questions.
Dean Hamstead

Lack of DOS support in wine

Post by Dean Hamstead »

dos doesnt really have an api, dos programs largely spoke straight to
the hardware.

Dean

mangamuscle wrote:
I am aware that Wine is not an emulator. But instead of emulating a vintage architecture wouldn't it be feasible to simply implement all the DOS api calls? Instead of emulating the 286/386 simply use the legacy (virtual, real or protected) mode of modern x86/x64 cpus? instead of emulating CGE/EGA/VGA allow only VESA graphic modes? Would it be feasible to write an api that mimics the funcionlality of a sounblaster card bios?


I am aware this scheme would not allow to run all sotware like dosbox does and I am really asking since I do not know the definitive answer to these questions.





--
http://fragfest.com.au
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Lack of DOS support in wine

Post by vitamin »

mangamuscle wrote:I am aware that Wine is not an emulator. But instead of emulating a vintage architecture wouldn't it be feasible to simply implement all the DOS api calls? Instead of emulating the 286/386 simply use the legacy (virtual, real or protected) mode of modern x86/x64 cpus? instead of emulating CGE/EGA/VGA allow only VESA graphic modes? Would it be feasible to write an api that mimics the funcionlality of a sounblaster card bios?
This is pretty much what Wine does. Inside the realm of windows architecture. It's more complicated then just standalone DOS emulation like what DOSBox does. As far as sharing code with DOSBox - it's not possible. Wine is licensed under LPGL. And DOSBox is GPL.
Locked