Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,768,001 Members 39,612 Now Online
XDA Developers Android and Mobile Development Forum

[Beta] Win86emu: Running x86 apps on WinRT devices

Tip us?
 
Cotulla
Old
#21  
Cotulla's Avatar
Senior Recognized Developer
Thanks Meter 5436
Posts: 881
Join Date: Sep 2007
it can be global user mode or kernel mode CreateProcess hook, which checks architecture field and takes proper actions
doing same for LoadLibrary can be not really save and can be too complex: for example it can be hard to pass exception from emulated X86 code to ARM.
The Following 2 Users Say Thank You to Cotulla For This Useful Post: [ Click to Expand ]
 
xsoliman3
Old
(Last edited by xsoliman3; 14th January 2013 at 06:55 PM.)
#22  
Member
Thanks Meter 33
Posts: 97
Join Date: Jan 2012
Quote:
Originally Posted by mamaich View Post
The tool emulates x86 instructions and passes Windows API calls to WinRT kernel with necessary modifications.
Nice. I was thinking of the same idea.
But your 10x further ahead
 
iHarkunwar
Old
#23  
iHarkunwar's Avatar
Senior Member
Thanks Meter 85
Posts: 368
Join Date: Mar 2012
Location: Amritsar

 
DONATE TO ME
Now I am feeling like Windows RT tablets is not a waste
Amazing work
Thanks
Samsung Galaxy Nexus - CM11 Nightlies
Lumia 520 - WP 8.1 Dev Unlocked
iPhone 4S - iOS 7.1 (Not Jailbroken)
Support me on my blog - uGeeKy
Don't forget to press the THANKS button
 
xsoliman3
Old
(Last edited by xsoliman3; 14th January 2013 at 07:28 PM.)
#24  
Member
Thanks Meter 33
Posts: 97
Join Date: Jan 2012
"current version supports emulation only of x86 EXE files that contain relocations section"

How can we check if an x86 exe is like that ?
probably via

dumpbin /relocations c:\path\name.exe

shows some HIGHLOW entries if it is relocatable
 
mamaich
Old
#25  
Recognized Developer - OP
Thanks Meter 213
Posts: 1,150
Join Date: Apr 2004

 
DONATE TO ME
Quote:
Originally Posted by xsoliman3 View Post
"current version supports emulation only of x86 EXE files that contain relocations section"
The new build that can run HOMM3 demo version does not have this limitation. It is achieved by reserving memory at 0x400000 address immediately at my EXE start, and restarting if these addrs are already in use. Due to ASLR it typically takes several (not many) restarts until those addrs become available for us.
...
 
GoodDayToDie
Old
#26  
Recognized Developer
Thanks Meter 2677
Posts: 5,621
Join Date: Jan 2011
Location: Seattle
Well, this is certainly an impressive piece of engineering! I gotta say, when I saw the 3DO logo, all I could really do was stare at it and say maaaaaaad hax. Mind you, if you want a bug report... the game (or perhaps the emulator) crashed (repeatably) when I tried to visit the tavern. In any case, your choice of test app amuses and pleases me. I wonder if it would like my full version better?

If there's anything we can do to help (find high-priority system calls, test stuff, contribute to the code, anything) let us know. While I'd prefer to avoid the overhead of emulation, realistically there are probably more Windows apps runnable with this thing right now than will b ported in the next month.
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
 
eXecuter.bin
Old
#27  
Senior Member
Thanks Meter 44
Posts: 183
Join Date: May 2011
This plus the jailbreak yields some very exciting potentials for the Windows RT. As a matter of fact, I just bought a RT tablet for this

Keep up the good work OP!

Also, are you willing to accept donations? I wouldn't want to see this project getting abandoned before it is completed
The Following User Says Thank You to eXecuter.bin For This Useful Post: [ Click to Expand ]
 
LastBattle
Old
#28  
Member
Thanks Meter 2
Posts: 57
Join Date: May 2012
Wow this is impressive..
 
mamaich
Old
(Last edited by mamaich; 15th January 2013 at 01:16 PM.)
#29  
Recognized Developer - OP
Thanks Meter 213
Posts: 1,150
Join Date: Apr 2004

 
DONATE TO ME
Quote:
Originally Posted by GoodDayToDie View Post
If there's anything we can do to help (find high-priority system calls, test stuff, contribute to the code, anything) let us know.
One of the things that would help - is optimizing the DosBox dynamic core. I was managed to use the risc_armv4le-thumb-iw.h core, but it is not so fast as I've expected.
I've posted my thoughts here: http://forum.xda-developers.com/show....php?t=2097372

Quote:
Also, are you willing to accept donations? I wouldn't want to see this project getting abandoned before it is completed
At the time when I've ported heroes of might and magic 1&2 to WinMobile I've asked for donations - but their amount was too small to be noticeable. I don;t think that anything would be changed now

I've updated the first post with the newer build with a dynamic DosBox core. It is a bit faster, but HOMM3 are still slow to be playable. And this is a first test of dynamic core, so its RAM usage is not optimal, and it may crash.

Now I'll spend time on WinAPI, not on DosBox code, as implementing API has higher priotity in my plans than speed optimizations.
...
 
xsoliman3
Old
(Last edited by xsoliman3; 15th January 2013 at 11:49 PM.)
#30  
Member
Thanks Meter 33
Posts: 97
Join Date: Jan 2012
I assume the DosBox emulator can do 32bit x86 code as well as 16bit (DOS real mode) that its normally used for in DosBox
Update - looks like DosBox also has the 32bit DOS Externer (DOS4GW) stuff as well, so can handle 32bit code emulation ok
and only need to emulate 'user mode' (non priviledged) 386 instructions

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes