Why can't I run 16bit DOS apps in 64bit Windows?

For stuff that really doesn't have ANYTHING to do with Puppy
Post Reply
Message
Author
User avatar
Galbi
Posts: 1098
Joined: Wed 21 Sep 2011, 22:32
Location: Bs.As. - Argentina.

Why can't I run 16bit DOS apps in 64bit Windows?

#1 Post by Galbi »

I was wondering if there is a justified technical reason why 64bit Windows does not support anymore running good old DOS apps?

Or it's just one of those Microsoft decisions based on... who knows.

Saludos.
starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#2 Post by starhawk »

It's Microsoft being Microsoft. There's no real reason.
bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#3 Post by bark_bark_bark »

You can use DOSBox. As for there being no native 16-bit support, I think it is more hardware related. You can run 16-bit apps on 32-bit windows versions, even on Windows 8/8.1!
....
User avatar
Burn_IT
Posts: 3650
Joined: Sat 12 Aug 2006, 19:25
Location: Tamworth UK

#4 Post by Burn_IT »

I'm not excusing MS, but have you tried running DOS in a Virtual Machine.

There are free versions of DOS if you cannot get MS DOS free.
"Just think of it as leaving early to avoid the rush" - T Pratchett
tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

Re: Why can't run 16bit apps in 64bit Windows?

#5 Post by tlchost »

Galbi wrote:I was wondering if there is a justified technical reason why 64bit Windows does not support anymore running good old DOS apps?
Were you looking for a way to run DOS programs?
User avatar
Galbi
Posts: 1098
Joined: Wed 21 Sep 2011, 22:32
Location: Bs.As. - Argentina.

Re: Why can't run 16bit apps in 64bit Windows?

#6 Post by Galbi »

tlchost wrote:Were you looking for a way to run DOS programs?
Yes, but it was two years ago when I bought a new PC (an Acer i3, nice machine) that came with Windows 7 - 64bit.

I needed to run the billing application I use here in my shop (a pharmacy). Big was my surprise that being an old (I've been using it for 17 years) DOS app, it won't run in a 64bit OS.

The solution was to use a virtualized Win XP. It's good because when problems appear, I change to the backup copy of this Win XP and go on.

To be honest, I must say that with the host Win 7 didn't had much trouble, thou I use it just to run VirtualBox to have the XP running. It's like having a handy copy of the Puppy savefile.

I've been reading that to run 16bit DOS apps, even in a 32bit OS, what really happens, it's a sort of emulation. So I was curious if there was a technical impediment or it was just a decision by someone in the marketing department.

Thanks all for your answers.

Saludos.
Remember: [b][i]"pecunia pecuniam parere non potest"[/i][/b]
User avatar
Burn_IT
Posts: 3650
Joined: Sat 12 Aug 2006, 19:25
Location: Tamworth UK

#7 Post by Burn_IT »

It is both
It all has to do with the width of the registers.
They used to be 8bits wide back in the days that DOS was invented.
Then they went to 16bits with the first 286/386 processors and DOS was adjusted to cope. The same when the register went to 32bits, DOS was run as in a simulated machine. The first Windows were in fact DOS applications.

Now that the registers are 64bits wide the amount of work involved in getting 8 and 16 bit applications to work natively is quite!! large and MS have decided that Windows should now be independent as it has been for some time.
"Just think of it as leaving early to avoid the rush" - T Pratchett
step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#8 Post by step »

Alternative to DOSBox on Windows 32/64: http://sourceforge.net/projects/vdos
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]
Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#9 Post by Ibidem »

x86 has several modes: real mode (16-bit), 16-bit protected mode (from the 286), 32-bit protected mode (386 and later), 32-bit "flat" real mode aka unreal mode (not intended but a hack some DOS programmers made that somehow allows running real mode stuff after setting up 32-bit registers), and 64-bit "long" mode.
In 32-bit protected mode, there's an environment called "vm86", which emulates almost all of 16-bit real mode (it lacks a couple privileged instructions).
ntvdm (the Windows "DOS" environment) and dosemu rely on vm86 to run DOS programs.

When AMD came up with 64-bit x86, they included support for 16-bit and 32-bit protected mode in long mode; they left out vm86/real mode.
Microsoft decided that they didn't want to write/port an x86 emulator to handle the omission, so ntvdm is not supported on amd64. (They had already written a 486-level emulator for NT on Alpha, but that got dropped.)
DOSbox was already emulating x86, and eventually dosemu started using emulation.
User avatar
Galbi
Posts: 1098
Joined: Wed 21 Sep 2011, 22:32
Location: Bs.As. - Argentina.

#10 Post by Galbi »

Thanks for the explanations, it's a lot clearer now.

Pity, there is a lot of good software, that does it job well, and it's doomed to disappear.
Remember: [b][i]"pecunia pecuniam parere non potest"[/i][/b]
User avatar
Geoffrey
Posts: 2355
Joined: Sun 30 May 2010, 08:42
Location: Queensland

#11 Post by Geoffrey »

I've tried http://www.jamesonline.ca/support/dos-on-usb-support which works on some hardware.

It's not an emulator so I found there are issues with audio cards running Dos game's.

But Dos on a stick might be handy.
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
Les Kerf
Posts: 317
Joined: Sun 24 Jun 2012, 13:30

#12 Post by Les Kerf »

FreeDos on a USB thumb drive runs nicely on my 64 bit PC.
Les
Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#13 Post by Ibidem »

Les Kerf wrote:FreeDos on a USB thumb drive runs nicely on my 64 bit PC.
Les
Of course; amd64 can run in real mode, protected mode, or long mode. Only in long mode (64-bit OS) are there problems.
User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#14 Post by mikeb »

dosemu is more or less freedos built to run on linux....one I like...might be helpful. Seemed less trouble to get programs working including sound.

mike
User avatar
Galbi
Posts: 1098
Joined: Wed 21 Sep 2011, 22:32
Location: Bs.As. - Argentina.

#15 Post by Galbi »

step wrote:Alternative to DOSBox on Windows 32/64: http://sourceforge.net/projects/vdos
I've tested my billing software on vDos and works!!!

On FreeDos did not. On DosBox did, but had problems with running in net.

Thanks for the link, I´ve just e-mailed it to the developer with a screenshot of his program running on 64bit Win7.
Remember: [b][i]"pecunia pecuniam parere non potest"[/i][/b]
Post Reply