Windows Mobile on HTC Hero!? - Android Software/Hacking General [Developers Only]

Android has been ported to most Winmo phones. Why is it that the reverse, Winmo on android phone, is not possible?

It is definitely possible. It would just require:
1. An artificial bootloader/emulator to be coded for android that could run a Windows CE kernel
2. Kernel adjustments for different phones to emulate different WM hardware/software functions
3. Specialized windows mobile ROMs to be used with aforementioned kernel.
So who would want to go through all that trouble to have an outdated and clunky operating system emulated on their device?

Related

Windows embedded compact 7?

Hi all,
I have read that Microsoft plans to make an OS called Windows embedded/compact 7 for devices like smartphones or pcs who haven't the needed minimum hardware requirements to run windows 7/windows phone 7
So other phones still have the chance to get wp7?
The issue will still be with drivers.
WP7 is built on WCE7, much like WM6.X is built on WCE5.2.
The driver model relies on BSPs (board support packages) that are built for a version of Windows CE and a piece of hardware. I don't think the CE5.2 BSPs will work with WCE7, and as far as I know, very few have access to BSPs, and most of those work for HTC/MS/Qualcomm.
not sure about win7 embedded but
xp embedded is still xp as in only run on a x86 cpu not an arm based

[Q] Dual booting Android/android?

OK, so is there any means to dual boot android/android? iphone can do it, why not android? I would like to chose between cyanogen/htc stock on the fly for emulation purposes. is this possible without having to set up all my nonsense?
unlikely =\
windows mobile and the iphone can not technically dualboot android, they use a program to clear all of the memory in order to boot android ontop of windows mobile/Iphone OS (haret), therefore the original operating system is no longer running and resources are devoted to the new virtual one running
android doesn't currently have a function similar to haret I far as I know (I'm rather new to android)
Its not impossible but as far as I can tell, it hasn't been done yet...

[Q] How to create homebrew app with native code which run in emulator.

Hi Guys,
I would like to create simple app with NATIVE code which run in emulator.
It is not possible to use solution in http://forum.xda-developers.com/showthread.php?t=1299134&highlight=developer+guide because it's use some ARM code.
Do you have any idea how make things work?
Thank you,
Ch.
You actually could (msotly) use that guide, but you would need to recompile the ARM portion for x86. My guess as to the best way to do this would be to use the "Platform Builder" for CE6 or CE7, instead of using the WinMo 6.5 platform as your target. WinMo only shipped on ARM devices, so far as I know, but the underlying OS, Windows CE, is very portable and the tools for it support building on a wide variety of architectures. WP7 is built on a version of CE somewhere between CE6 and CE7.
Otherwise, the stuff about using ATL, making a COM library, using ComBridge from the WP7 app, etc. all still applies.
That all said... why would you want to do this? Do you not have an actual phone to test on? Porting between ARM and x86 isn't *that* hard, but you shouldn't just assume that it'll work in all cases, so it makes a lot more sense, if you're building native code, to build and test for the same architecture you're planning to release on.
Additionally, the emulator may be missing some of the libraries that are present on the phone.
Thanks a lot. I will try it.
This is very beginning of my school project. I want only demonstrate that is possible to run some native code on WP7. Next phase of project will be on real device which I don't have right now..
Well, good luck, but I'd tend to say you're setting yourself up for a risk of failure. I don't know what it will take to use the CE Platform Builder for something like this; I have it installed but have never tried using it.
There may also be a way to compile for x86 using the WinMo build tools; I think some of the old "emulators" for WinMo were also x86 virtual machines (much like the WP7 emulator is). I never tried, though.
Risk of failure? I don't see how. The hardest part of this is finding a way to get his .exe on the emulator device and unlocking it. If he isn't using ARM ASM in his project, "porting" to x86 (or any other processor WinCE supports) should be trivial as long as a sufficiently complete SDK is available. The main issue with x86 on newer Pocket PC-like targets is that there are no Pocket PC SDKs targeting it newer than the Pocket PC 2003 one. If you want to use newer WM5 only features like GPSAPI, you'd probably need to use a CE 6.0 SDK instead.
If he doesn't want to do real time debugging, any of the Windows CE development tools or even 3rd party tools like Bloodshed DevC++, CE gcc/MinGW or FreePascal should all suffice. Windows CE is a very backward compatible OS so even an application targeting the CE 2.11 platform/SDK should still run on WP7 when you are careful to use supported APIs.
If you don't want to install Platform Builder and generate your own custom OS to base an SDK on, there are plenty of SDKs to choose from. Of course, some are worse than others. If you are using the CE 4.2 or 5.0 STANDARD_SDKs, you might become a bit frustrated when you realize they are missing many basic things like the Windows CE SIP APIs. (something that has been available for CE since 1.01 in 1997). But if you don't care about using the latest native CE kernel features and still want to use a newer IDE like VS2005/VS2008, the CE 5.0 STANDARD_SDK should be enough if you are careful. Though, I usually install things like eMbedded Visual C++ 3.0 and 4.0 along with all the Pocket PC and Handheld PC SDKs just in case I need a header or lib file that one or the other is missing.
The following MS SDKs can target x86:
-eVC3
Pocket PC 2002
Smartphone 2002
Handheld PC 2000
-eVC4
Pocket PC 2003
Smartphone 2003
STANDARDSDK_400
STANDARDSDK_401
STANDARDSDK_420
STANDARDSDK_500
-VS2005/2008
STANDARDSDK_500
Another useful x86 SDK I've found is the one for the Allegro CE/DOS Field PC:
http://www.junipersys.com/Juniper-Systems/support/Developers/Allegro-Field-PC/Allegro-CX
Here are some download links to many of the CE SDKs and compilers that were released over the years:
Here are some links to download some of the tools I've mentioned:
http://www.hpcfactor.com/developer/
http://www.microsoft.com/download/en/search.aspx?q=embedded visual tools
You will need SP4 for eMbedded Visual C++ 4.0 if you wish to use newer SDKs with it.
http://www.microsoft.com/download/en/search.aspx?q=pocket pc sdk
Ummm... maybe you missed the part where this is WP7 forum, and the OP is trying to run native code on the WP7 emulator... I can tell from your post that you're not terribly familiar with WP7 development, so here's a few salient points:
Compiling to a .exe is a waste of time. WP7 won't run foreign EXEs, at all, unless you make some pretty low-level changes that aren't possible on the emulator (see "full-unlock" custom ROMs). You have to write a managed app (which compiles to a DLL hosted inside a low-privilege EXE that's built into the system) and a COM library and use the InteropServices ComBridge API. So far we haven't even gotten P/Invoke to work.
WP7, especially Mango, uses a limited set of native APIs and the APIs have changed somewhat in the last decade or so. They aren't supposed to be available to third-party devs at all, so any backward compatibility is basically a convenient accident. Targeting Smartphone 2003 *might* work, but then, it might not. Even a number of WinMo 6.5 APIs aren't available or don't work.
Since it appears that the OP is just going for a demo project, he or she probably is a lot less interested in getting the most powerful APIs, and is probably hoping for something closer to invoking a MessageBox from native code.
All that said, however, it's true that there are WinCE SDKs which can build native x86 code. I'd tend to suggest using the CE6 or CE7 Platform Builders, since they're the most recent (WP7 is somewhere between the two), but there are other options. You probably want to follow the guide as much as possible, including things like using ATL, as it makes writing a COM library a lot easier and that's the best way we currently know for executing native code in WP7.

Emulating the Windows CE kernel and WinMo in QEMU or BOCHS

I have seen several QEMU setups, specifically on the Nexus One, Evo 3D, Xperia Neo, and other devices, all running various versions of Windows XP, 98, or 95. I'm looking at the source now. Is there any reason someone hasn't tried to run the Windows CE (PocketPC or WinMo) kernel within QEMU or can it only emulate x86 operating systems?
http://wiki.osdev.org/QEMU#Supported_Architectures
http://wiki.embeddednirvana.org/ARM_Emulation_Using_QEMU
So according to these articles, ARM emulation is possible.
ARM
QEMU booted into the ARM port of Fedora 8
QEMU emulates the ARMv5TEJ instruction set and all the derivative processors families like ARM7, ARM9E, ARM10E and XScale. It emulates full systems like Integrator/CP board, Versatile baseboard, RealView Emulation baseboard, XScale-based PDAs, Palm Tungsten|E PDA, Nokia N800 and Nokia N810 internet tablets etc. QEMU also powers the Android emulator which is part of the Android SDK (most current Android implementations are ARM based). Under development is iEmu, emulator of Apple's iPhone. Starting from version 2.0.0 of their BADA SDK, Samsung has also chosen QEMU to help development on emulated 'Wave' devices.
metroidnemesis13 said:
I have seen several QEMU setups, specifically on the Nexus One, Evo 3D, Xperia Neo, and other devices, all running various versions of Windows XP, 98, or 95. I'm looking at the source now. Is there any reason someone hasn't tried to run the Windows CE (PocketPC or WinMo) kernel within QEMU or can it only emulate x86 operating systems?
Click to expand...
Click to collapse
I've had limited success booting a custom x86 Windows CE 4.0 NK image with the newer WinCE QEMU port for the HD2 but I wouldn't call it usable. CE booted and I could see the mouse cursor but the desktop never appeared. There are real CE drivers for most of QEMU's hardware on x86, so it might just take a bit of fiddling if the ARM qemu builds aren't just broken.
Bochs was able to boot the image fine but it was pretty slow and only worked in the 320x200 VESA mode. One of the newer mobile Bochs builds for Android worked a little better and displays in a higher resolution but it's still slow and lacks networking. I haven't had as much success with QEMU. It seems like there are major differences between the generic c/c++ CPU core for all architectures and the x86 one and I"m pretty sure QEMU runs some x86 code natively even in user mode. It's either that or the mobile versions are quick hacks with some dirty workarounds that break the more obscure OSes. The difference in compatibility between different processor architectures in the same build is evidence enough of that. Though, I haven't tried them in an ARM debian build yet.
And as cross platform as it is, QEMU seems highly optimized for x86 these days. So many OSes that have problems on ARM qemu work just fine on a desktop. It seems to me like QEMU-x86 wasn't ever really extensively tested on ARM and the other less used archs. There is also a newer QEMU port based on 1.x in the Android Market called Limbo which I have yet to try but the current versions use VNC so video output is pretty slow.
If you want to give it a go, the following Windows CE based PDA platforms had x86 images available: Handheld PC 2000, Pocket PC 2002, Smartphone 2002, Pocket PC 2003/SE, Smartphone 2003/SE and of course the generic builds from 2.0-7.0. Most of these will boot on a sufficiently compatible PC with the right nudging and it should be possible to cook custom ROMs with appropriate HDD drivers if you prefer Windows Mobile and know how to modify WM2003 ROMs.
You might want to keep an eye on QEMU-KVM for ARM Linux too. If it ever works well enough on android, that may be able to virtualize an ARM CE image at near native speeds. QEMU does emulate a few CE compatible dev boards but I'm not sure if anyone ever successfully booted CE on them as they're mainly for testing Linux and don't emulate everything.
Edit: Here's a few YouTube videos I found demonstrating an early build of KVM-QEMU booting Android and Ubuntu on a Cortex A15 running Ubuntu:
http://www.youtube.com/watch?v=LWzoanrsaCI
http://www.youtube.com/watch?v=uD5Nu-VrHKI
Color me impressed! If CE can be ported to one of the boards QEMU emulates, (almost) native CE on countless Android devices seems very possible. Porting it on an emulator/VM is likely easier than running it on the metal.
Also, here's a thread about the Raspberry Pi's debian and QEMU. Based on the comments, they seem to have the same odd issues the WinCE and Android ports have.
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=62&t=10635

Windows on x86 based android phones?

I was curious about this, if the android smartphones/tabs powered x86 intel processors can be used such that we can install desktop windows or other x86 OSes?
Unlikely as we would need to build drivers for the phone which is rather difficult when the manufacturers like to have things on lockdown most of the time, also it would probably brake some strange contract with Microsoft as most things do. Look at the Surface and Surface RT
Also the UI (Even Metro) would struggle to work on the display adapter
So in short no we can't run Windows on x86 Android phones, yet anyway
Install Android in Windows without Virtual box
I tried this product DuOS which will install Android version Jellybean in Windows 7/8/8.1 platforms. This one is very simple for use comparing with Bluestacks and has good performance for applications. Refer the link for further details and installation check the website for amiduos:good:

Categories

Resources