Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[Beta] Win86emu: Running x86 apps on WinRT devices

OP mamaich

13th January 2013, 03:31 PM   |  #21  
Cotulla's Avatar
Senior Recognized Developer
Thanks Meter: 5,453
 
881 posts
Join Date:Joined: Sep 2007
More
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: [ View ]
13th January 2013, 07:14 PM   |  #22  
Senior Member
Thanks Meter: 34
 
103 posts
Join Date:Joined: Jan 2012
Quote:
Originally Posted by mamaich

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
Last edited by xsoliman3; 14th January 2013 at 07:55 PM.
14th January 2013, 08:03 AM   |  #23  
Harkunwar's Avatar
Senior Member
Flag Amritsar
Thanks Meter: 90
 
385 posts
Join Date:Joined: Mar 2012
Donate to Me
More
Now I am feeling like Windows RT tablets is not a waste
Amazing work
Thanks
14th January 2013, 08:18 PM   |  #24  
Senior Member
Thanks Meter: 34
 
103 posts
Join Date:Joined: 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
Last edited by xsoliman3; 14th January 2013 at 08:28 PM.
15th January 2013, 12:16 AM   |  #25  
OP Recognized Developer
Thanks Meter: 214
 
1,150 posts
Join Date:Joined: Apr 2004
Donate to Me
Quote:
Originally Posted by xsoliman3

"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.
15th January 2013, 03:09 AM   |  #26  
Recognized Developer
Flag Seattle
Thanks Meter: 2,764
 
5,810 posts
Join Date:Joined: Jan 2011
More
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.
15th January 2013, 08:46 AM   |  #27  
Senior Member
Thanks Meter: 44
 
183 posts
Join Date:Joined: May 2011
More
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: [ View ]
15th January 2013, 09:20 AM   |  #28  
Member
Thanks Meter: 2
 
57 posts
Join Date:Joined: May 2012
More
Wow this is impressive..
15th January 2013, 02:02 PM   |  #29  
OP Recognized Developer
Thanks Meter: 214
 
1,150 posts
Join Date:Joined: Apr 2004
Donate to Me
Quote:
Originally Posted by GoodDayToDie

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.
Last edited by mamaich; 15th January 2013 at 02:16 PM.
16th January 2013, 12:36 AM   |  #30  
Senior Member
Thanks Meter: 34
 
103 posts
Join Date:Joined: 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
Last edited by xsoliman3; 16th January 2013 at 12:49 AM.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes