8 ms·
Otvdm/winevdm: run old Windows software in 64-bit Windows
- jnwatson 6y agoWhat's the current recommended platform for running Windows 95/98 programs? Virtualbox sound/graphics doesn't work quite right on some old programs.
- retrobox 6y agoThis is going to sound weird but for one particularly old and tricky game, I had amazingly good success with ReactOS in a virtual machine. Moreso than running a virtual machine with Windows 95/98. However, I can't help but think there must be a better way.
- shmerl 6y agoWine on Linux. Linux has 16-bit support. For example you can run Windows 95 release of The Neverhood in Wine, which has some 16-bit parts (though practically, ScummVM is a better option).
- a1369209993 6y ago> Linux has 16-bit support. Does that work on 64-bit (ie any modern) linux? I remember there being some issue with switching back to 16-bit mode after entering (I think they were calling it) Long Mode, but I don't remember if that got fixed, and I don't have a 16-bit linux-userland-executable format handy to test it.
- shmerl 6y agoIt should. See here: https://lore.kernel.org/lkml/5357F82D.8020307@zytor.com/t/#m1cede0313ce682e4e76f2f2ad4ca8393e4f3b801 https://lore.kernel.org/lkml/5357F82D.8020307@zytor.com/t/#m... But I tested it last quite a long time go.
- anonunivgrad 6y agoThey are mostly 32-bit, so you can run them on any Windows 10 build. MS has worked pretty hard to maintain backward compatibility. They should mostly work, maybe requiring a little fiddling with the compatibility settings. But it’s not perfect, and I hear you might have better luck with WINE with some applications. The break is with 16-bit applications, which 64-bit Windows 10 no longer supports. You can still run them on 32-bit Windows 10. All that winevdm does is emulate the 16-bit processor and translate 16-bit-Windows api calls to their modern equivalent, so you can run 16-bit programs on 64-bit Windows again.
- Aloha 6y agoI'm always super impressed with windows backwards compatibility, it'd be like unmodified system 7 applications still running on a modern mac.
- spijdar 6y agoI don't have the right hardware to test this right now, but I believe unmodified system 7 binaries (and earlier) should run on up to OS X 10.4.11 from 2007 on PowerPC Macs, using the Classic environment. In an alternative reality where PowerPC stayed competitive, I wonder how long they would have maintained the compat-layer. Given it's apple, probably not long, but I think it's worth pointing out backwards compat was only broken when both the OS and the CPU were changed (twice in the CPU's case). My understanding is that running 16 bit code on a modern CPU is itself a sort of backwards compat mode which isn't supported in 64 bit operation, so you need a full emulator to run the executable. Neither Apple nor Microsoft seem keen on keeping CPU emulators around long term (IIRC Windows used to have something like this built-in for emulating 80286s for Win16, mostly for non-x86 arches like Alpha/MIPS/PowerPC, I think?)
- deleted 6y ago[deleted]
- AshamedCaptain 6y agoActually, running 16 bit code is perfectly supported on 64 bit CPUs (for obvious reasons -- you still need 16 bit to boot a BIOS), and even you can seamlessly switch between 16bit and 64bit modes at runtime (early 64 bit linux could even run vm86plus). It was a political choice by Microsoft to drop 16 bit Windows support in 64 bit Windows. This is the limit of their famous backwards compatibility -- still impressive, though. This also happened during the era where they were getting criticism from all sides due to crappy Windows security (think XP pre-SP2 times) and they may have seen the 16 bit support code as a liability.
- txdv 6y agoI still have that windows 95 that my parents paid serious money for. I can send it to you.
- Aloha 6y agoWindows 10? Like I'm running 95 era software and it mostly works fine on Win10, I have one application that cant deal with 64 bit, needs 32 bit windows, as it has serial drivers that dont work in 64 bit.
- dblohm7 6y agoWindows 95/98 programs are Win32 programs. Most of them should run just fine on modern Windows[1], with the exception of system utilities and such that shipped with VxDs to provide functionality from kernel mode. [1] Some of them might require Administrator to run if they were not sufficiently multi-user aware to support Windows NT.
- AnIdiotOnTheNet 6y agoGames especially seem to have more trouble working than other programs. Something like DxWnd may help in those cases.
- dblohm7 6y agoThis is true, though IMHO I don't think this is an issue of being written for Win95/98 so much as it is DirectX compatibility (or lack thereof).
- dfox 6y agoI assume that it is primarily not about DirectX (or specifically DirectDraw) compatibility but about W9x games assuming that they can use DirectDraw to setup particular video mode, somehow get pointer to directly mapped framebuffer with particular organization and pixel format, write into that directly and completely ignore DirectDraw after the initialization.
- garaetjjte 6y agodgVoodoo is useful for old games: http://dege.freeweb.hu/ http://dege.freeweb.hu/
- otterlicious 6y agoVMware still works great for older operating systems. I've had nothing but trouble with Hyper-V and VirtualBox lately. It's sad because VirtualBox used to work okay but the legacy AMD NIC and SoundBlaster drivers have been bitrotting in the last few years and Hyper-V's predecessor Virtual PC used to be great with older OSes too. If you prefer free software KVM/virt-manager works just fine as well there's just a bit more fiddling with options to make things happy.
- Narishma 6y agoPCem if you have a strong enough CPU.
- int_19h 6y agoPCem. It's not exactly fast, because it meticulously emulates PC hardware (and thus requires obtaining the original firmware in some cases); running Win9x requires a rather beefy CPU. But for the same reason, it's really good at backwards compatibility. https://pcem-emulator.co.uk/ https://pcem-emulator.co.uk/
- qnxub 6y agoGiven that this is an emulator, would there be a way to port this to Android?
- kyberias 6y agoI think it forwards the calls to native 64-bit Windows APIs. Does Android implement the Windows APIs?
- _joel 6y ago"Wine Is Not an Emulator"
- coldpie 6y agoThe linked software contains a CPU emulator, since 64-bit Windows cannot execute programs in 16-bit mode. Regardless, I would argue Wine is an emulator. It emulates Windows's behavior, so it is perfectly fine to describe it as an emulator in some contexts. This pedantic nit-picking is really tiresome.
- phh 6y agoIt's not a nitpick in this context, since Wine on Android will only run ARM64 binaries (unless you have one of those few x86 Android devices)
- _joel 6y agoNitpicking? Literally look at https://www.winehq.org/ https://www.winehq.org/ front page "Wine (originally an acronym for "Wine Is Not an Emulator")..."
- anonunivgrad 6y agoAnd the Democratic People’s Republic of Korea is a democracy.
- LocalH 6y agoWine is an API emulator
- torh 6y agoMy first thought went to win3emu -- but based on what I can read, it's a big difference between them. (https://www.toptensoftware.com/win3mu/ https://www.toptensoftware.com/win3mu/)
- asveikau 6y agoThe "technical details" link has some good discussion for that project. Interesting that he chose .NET to write this. I guess the abstract machine being emulated is pretty ancient, you don't necessarily need a performance-squeezing, non-GC language.
- BiggsHoson 6y agoHmm...I might need to come up with a 5.25-inch floppy drive again.
- ejj28 6y agoSuper interesting, I've been looking for something like this for a while. My grandfather still plays the original Age of Empires, and when he finally upgraded to Windows 10, we found that the game would no longer run. Luckily at that point AoE: Definitive Edition was on its way, and he bought that when it came out, but it got me thinking about stuff that's too recent for DOSBox but too old for modern Windows. It's a shame that he had to re-buy the game when he still had the original CD for it because there was no way of running it in Windows 10.
- pygy_ 6y agoThe DOSBox X branch (an independent project) can IIRC run Windows 95 decently. Maybe even stock DOSBox.
- bloopernova 6y agoDoes this interact with Windows 10 Sandbox at all?
- natas 6y agoI am curious as of which 16 bits Windows 3.x applications are still in use today; any pointers welcomed.