maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Alternatives (https://talk.maemo.org/forumdisplay.php?f=36)
-   -   Thin emulator for running WinXP programs? (https://talk.maemo.org/showthread.php?t=62969)

TiagoTiago 2010-09-26 14:00

Thin emulator for running WinXP programs?
 
Would it be possible to make a program that would work like video game console emulators, but for Windows programs? Like, you load an specific program, and the emulator makes it think it's on it's native system, but it doesn't actually run the full OS, it just has enough to run the program, requiring much less system resources to run the emulation, but including things like wrappers for DX and OGL when necessary (for games and such).

uTMY 2010-09-26 15:09

Re: Thin emulator for running WinXP programs?
 
Wine?

rgds

TiagoTiago 2010-09-26 15:13

Re: Thin emulator for running WinXP programs?
 
I don't think Wine works with ARM...

Bundyo 2010-09-26 15:30

Re: Thin emulator for running WinXP programs?
 
Think of it this way - how fast are the desktop virtual machines without using the processor virtual extensions (you don't have them on ARM and you won't have anything to run on them even if you had them)?

TiagoTiago 2010-09-26 15:39

Re: Thin emulator for running WinXP programs?
 
Why is it so much easier to emulate videogame consoles?

TiagoTiago 2010-09-26 15:50

Re: Thin emulator for running WinXP programs?
 
But what if you use the approach i suggested, just running the program itself not the whole OS?

ebasconp 2010-09-26 15:59

Re: Thin emulator for running WinXP programs?
 
Quote:

But what if you use the approach i suggested, just running the program itself not the whole OS?
That would be kind of complicated, because you are suggesting implementing several things:

1. A file loader that understands how the .exe and .dll files are written (AFAIK, such format is called PE in windows).

2. A full (or at least, good) reimplementation of Windows API on top of ARM.

3. An abstraction layer to make the apps to believe that they are running on top of Windows (for example, a reimplementation of the Windows registry or other Windows specific infrastructure).

All of these things are in some extent implemented by Wine, but I do not know if it is hightly portable to other platforms different than x86.

Maybe one more feasible thing to do (though not so thin) would be use QEMU or Bochs to virtualize the whole OS; with the obvious performance hits.

ebasconp 2010-09-26 16:08

Re: Thin emulator for running WinXP programs?
 
Quote:

Originally Posted by TiagoTiago (Post 826700)
Why is it so much easier to emulate videogame consoles?

Because you "just" need to emulate the hardware and a "small" API. I say "just" and "small" (using quotes) because I do not mean that doing such tasks is easy or they can do it quickly.

For Windows you need to rewrite a set of huge APIs with thousands of functions (Win32 API is being heavily used from Windows 95); a huge set of platforms (COM, registry, MSMQ, DirectX), so it is a very huge task. Wine project has done it successfully but it is still no compatible with .NET (though to run .NET apps in other platform than Windows you could try using Mono).

See these interesting projects related to this topic:

http://www.winehq.com
http://www.go-mono.com

javispedro 2010-09-26 16:18

Re: Thin emulator for running WinXP programs?
 
We've been over this a few times already.

- Wine runs under qemu-x86 on the N900. It's "usable". There's a video in youtube even afaik.
- Ideally you'd "patch" a native ARM Wine to only run the actual x86 binary code under qemu. This was done previously but nobody seems to care now with the demise of the PowerPC Mac. It's not trivial, either.

Wine itself might run on ARM as of now actually, but of course it would only run "Win32 ARM binaries" which do not exist (do not confuse with WinCE binaries).


All times are GMT. The time now is 19:24.

vBulletin® Version 3.8.8