One thing that I seem to notice is that even though this forum may have some releases that people can use it seems to lack both information and tools to get into trying to help the community. Some people, such as me and im sure many others, have some, even if only basic, skills but the process of applying them to the field of Windows Phone. For example a while back I wanted to tinker with the Windows Phone emulator but I failed to find working tools to dump and reconstruct the ROM and sadly no documentation to look at the format to see whats going on. I once saw a tool for HTC ROM's I think but that has since disappeared. Some of the old formats are at least partially known but burried somewhere deep in this forum where it becomes a pain to find them.
Specifically I would be interested to know if there are ways to actually debug the assemblies using tools like IDA on either the emulator or an actual phone (even though they were compiled to different instr sets they still probably mostly share the same code). I am also wondering what tools could be used to atleast compile native binaries, even if they can't be executed yet.
I personally have a little reversing experience and a fair amount of coding experience yet the current barrier of lack of information seems overwhelming and deterring. I can't say I will have either the experience or time to get us all further but I wouldn't mind tinkering with my phone and/or it's operating system and isn't that the whole point of this community?
It would interest me if there are others who feel the same way and whether there are others out there who could maybe help to get others started. XDA has a wiki but it seems to be mainly "consumer" orientated.
Related
Hi,
Have spent a great deal of time browsing through the site, and trying out some of the ROMs. Which has led me to the following...
The Company I work for has deployed a large number of XDA-II's (Himalaya), and we've encountered a number of reliability problems with them, not to mention users unable to keep the devices charged.
The consequences of these problems are: 1) Lost software installs and 2) Extra support time.
We've also found the O2 active UI to be a right royal pain in the ar5e!
So, having been playing around with ROMs, I have an idea of what is possible. But, to date, I've just not been able to find exactly the ROM I'm looking for. I'm quite happy to sit down and try and figure things out for myself, but it's quite difficult to try and find a good chunk of spare time.
So, here's the point of my message.
If I can identify the components I need to be installed within a "special edition" cooked ROM, would someone be able to help me build it? I'm basically looking for WM2003SE, so that the screen can be flipped into landscape - or a third-party progam to do that, a wireless email client that I will provide, backup software that I will provide, all the usual hardware stuff (BT, camera etc), no O2 UI (Hoorah!), and maybe one or two other packages, and as much storage/memory available as possible, and, of course, the ability to add a splashscreen. That's it - nothing too out of the ordinary. All of the additional software will be licensed.
So, that's my idea. What do you get in return? Well, I'm more than happy to donate to the site, and, come to some arrangement with anyone that is interested in helping - perhaps some hardware/software etc.
This would save me a lot of time, and be quite an interesting project - to see so many devices get a decent upgrade, and one that helps reduce support overheads.
Please PM me if you are interested.
Thanks.
Vince
well you can
select the win2003se rom you want and put the rest in a cooked extended rom that was what i did i put all cabs i needed in extended rom if the device gets hard reset it will install everything there
the config file must have the names of course
you can get some of the setting there too like operator settings
you can allways donate to xda-developes....lol
PS ...i m not part of xda-developers or in any way associated with them just a user who is glad they existed.
I just recently decided that I have had enough of WinMo on my tilt2 and opted to see how the development of Android OS was coming along for the phone. Not surprisingly, it has developed a lot since I first picked up the phone in December and first thought of the idea of placing Android on the phone.
To my point-- I have some programming experience and would be interested in learning the language behind Android. Obviously it is linux based, but is that the only thing I need to know?
Does anyone know what I need to know to get started?
Links to appropriate sites with details on the language is really what I am looking for. Thanks to any and all that will help (not looking for trolls, get enough of those from other sites).
I too am learning linux, I've had to use linux commands for over a year now as I also own a G1 and you often (when rooting) need to go into a terminal to make changes. I unfortunately don't know much of the language required to create or change much of the android OS I only know the file structure and how to change that. If I were you I would jump over to http://www.android.com download the developers kit which comes with an android emulator and they have lots of tutorials and demo apps for the android OS. It won't do much as far as help you modify the system but it's a good place to get started.
Hope this helps and if you have any questions about the things I do know, feel free to ask me
androidonhtc.com/wiki/Get_Involved[/url] you can try this.
I am aware that this has been asked many many times, but i don't see a thread for this issue. I would like to know what attemps have been made to get some sort of support. I am by no means a developer, but i will try my best to get things running. Would it be something as simple as taking a a file out of a current android phone with the same specs and modding for use with a touch pro.
I'm simply curious if there is a thread or website around that discusses this and other issues in more detail.
I'm no kernel hacker, but I am...curious.
That's what i would like to know. facts about how far the development is. Maybe we could start a thread that has such progress stated. Where only the devs would be able to post, so we can have us a look.
The best you can do is read the IRC logs from #htc-linux. I think I recall reading in the logs that klinux had gotten OpenGL working on the Pro2, even with applications like Neocore (thought they're apparently slow).
You have to be a little bit more clear on what you mean by "open gl working".
I'm the developer who was working on the open gl for the klinux build. Bottom line is that open gl is working, but not with hardware acceleration. We used then nexus one drivers (adreno200) to enable things a live wallpapers. But it's so slow its not even worth it.
Now to get hardware 3d working 100%? a lot more work and testing. lol.
Well is hardware 3d working for any of the current android ports in any capacity?
Also, I'm so used to reading hardware specs in Desktop computer form. But with these phones, the only thing I know about them is the CPU manufacturer, model number, and speed.
Is there a separate chipset that handles audio graphics etc, or is it completely SoC.
I read about recent Android ports on the iPhone, and it seems they already have things like external audio working. Is this because the hardware on the iPhone similar to another HTC Android phone, more so than the hardware in the Rhodium?
awesome thread... actually informative and supportive.
i think what the OP is saying is how can us lowerscale highend users be more involved, perhaps in the debugging, data gathering... we could start a -sub group dedicated to each corresponding issues... bill gates didnt invent windows, him and his crew did. the more the merrier eh?
I have a long running reverse engineering thing going on. I have been looking for more info other than IRC. I would like to put my good skills to work w/out starting from scratch. Any info?
EDIT: I did find this, It has some helpful starting info: http://www.androidonhtc.com/wiki/Get_Involved
This is a great thread! I've been wanting to get in on some of this action. Hopefully this will reduce some of the clutter in Reefer's thread.
I meant to get hardware acceleration working. How far has this come along since i posted this??
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
mcdull said:
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
Click to expand...
Click to collapse
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
[ACL] said:
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
Click to expand...
Click to collapse
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
garage_man said:
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
Click to expand...
Click to collapse
I actually found HTC_SET_3D_LAUNCHING_FLAG on the wince dmesg. You can do this by doing a pwf dump.txt 0x16a00000 0xFFFF0 in haret. I did it after a cold boot to see if anything is done to the gpu once wince boots.
Loading the dll is easy. just make a simple win32 app and do a loadlibrary. This part works but it's not helping on android. I'm interested to see what mcdull thinks since i think he has ventured a lot into this as well. Right now if we can make a simple app in android to load the libgles_qcom.so directly and trace every step, i think that would be helpful to see where we are failing. I'm close to giving up..lol i already took 2 sick days from work to get to where i am now so i could use some help.
Here is what i got out of the chip in wince.
name: ATI HandHeld Interface
versions: 2.07.05110.34681
Revision: 0
ChipID: 1362104322
revisionid: 0
TotalMemory: 15990784
BusInterfacemode: 2
InternalmemSize: 262144
ExternalMemSize: 0
Surface info: 800x480
surface total bytes 768000
dwFrameBufferPhysical=0x14c00780 m_dwFrameBufferVirtual=0x57e00000 dwFrameBufSize=0xbb800
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Star-Lite said:
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Click to expand...
Click to collapse
We need more devs in general. I ran a trace on a basic app that runs 3d. So there is still a lot of crap to examine.
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
BinaryDroid said:
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
Click to expand...
Click to collapse
Sounds crazy.. i love it.
I was messing around today and made a small app to load the libgles_qcom.so directly to see if i can replicate my winmo success. Most of the ahi functions are included in the android driver as well except for AhiDispSurfGet which made it impossible for me to draw anything on screen.
The chip did pump out the same info as i posted before and it matches so thats a step in the right direction. Means we can recognize the chip with no problems and all 15.25 memory is reporting as well. If i had more documentation on those functions exported im sure i can get the chip to try to display something directly.
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
NewbTrader said:
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
Click to expand...
Click to collapse
learn haret/haretconsole and take a look a the kernel. good place to start. Feel free to come into the irc board if you have any questions
Took a look back for a few pages, and did a couple quick searches. Didn't quite find enough info.
I am wondering the best approach to take when converting a program to be compatible with and run on windows mobile.
I don't currently know any languages so, I would have to start learning from the beginning.
Thanks for any info
from the little I know about programming, the way an application (or games) works on windows is nothing similar to the way a program runs on windows mobile, so you would actually need to start from scratch... There are however some tools to make the job easier with older programs, like Dosbox... but I don't know if it's what you want.
The most amazing think for me is that, out os 61 views on this topic, the only person that bother to answer is NOT a developer (me)
Convert app? Impossible. With source code it is possible, if you adjust UI to fit the screen and get over some limitations and many other things.
Good is .NET on this, because if you install .NET CF on your PC, you can run apps built for winmo directly on your PC. Only issue is when it tries using other than normal libraries from GAC and tries using InterOp. That library would have to be recompiled for win32, rather wince-arm (back to 1st part). The same, the app has to be made that it is compatible with both file paths - remember that WinMo doesn't use C:\Windows but \Windows etc. And .NET CF is highly limited compared to desktop version.
Thanks for the replies.
I'm not looking for a simple way to convert programs as I'm sure it is impossible. I'm expecting to have to pretty much start from ground up.
I've seen some games such as Pocket Diablo(some others here http://www.jamesbeckingham.com.au/Default.aspx) as well as Starcraft that someone here was working on.
But I'm just wondering the best approach to do work like these guys. As there are some games I would like to bring to mobile.
These games work pretty much that people make the engine from scratch, with many hours in disassemblers, hexeditors etc they find out how does the engine load graphics from those huge files etc and they add it to their engine. Usually.
Its possible... but often more work than it is worth
OndraSter said:
These games work pretty much that people make the engine from scratch, with many hours in disassemblers, hexeditors etc they find out how does the engine load graphics from those huge files etc and they add it to their engine. Usually.
Click to expand...
Click to collapse
Exactly. The hours put in to "porting" these apps to windows mobile is often close to the work it would take to make the game from scratch. So if you are not familiar with coding, disassembling code is far outside your scope. However, when finished, these games have more of an original feel, but often work less effective. This is due to the translation of using mouse clicks to touch input. Games such as diablo rely heavily on having two mice buttons to click. A total remake would be less like the original but might compensate for the new control scheme.
Both ways are possible, but they are both also complicated and involve a great deal of work. Not to mention how unhappy blizzard is with people using their artwork, even if the game is absolutely free.
Sorry but, none of you are really being helpful..
I do not expect this to be easy. I am expecting it to be a long process, and telling me something that I already know over and over doesn't help me get started. I've already said that I expect to probably have to rebuild these from ground up..
I know what is ahead of me and want to do this stuff, other wise I wouldn't be asking.
So if anyone knows the process or at least where I could get started. Please let me know. Otherwise I'll just start with Java then C# until I find my own way into doing this.
From personal experience of porting a game ( http://forum.xda-developers.com/showthread.php?t=717274 ), it will take awhile. Here is the process I used when making the game:
1) Collect image resources if any are possible to be used.
2) Research what kind of engines to use. I made the mistake of trying to use the basic image function in C#.net, which was a waste of time. Then I switched to GDI+ and haven't had any problems since.
3) Make a list of things you want to do on the program. From the required things to the extra fancy features. Sounds are extra features.
4) Prototype A LOT. Find what you want to accomplish, break its parts down into basic actions, then prototype of how to do that action.
As a language to start with, I personally recommend C#.net because its easy to use. It doesn't have the speed of C++, but it does have the #region/ #endregion functions which have helped me ENORMOUSLY with writing code. The region code can be minimized. With 2000+ lines of code per class and about 20 classes, minimizing code makes moving around easier.
Check the XDA boards or search online if your lost. If you need more help on porting code or making functions to do specific actions, message me and I'll gladly help.
Hello all!
I've been a creeper around here since 2010 (obviously not on the G4 forum), and I have just now decided to register. I got into rooting and ROM'ing with my Droid X, and now I'm a "phone enthusiast" (I suppose that's what you can call someone who irresponsibly spends money on different phones).
So I'm a third year Computer Security student at my University and I know languages like Java and C. Java, being the language that Android is based on, and C, being the basis for Linux systems, I would imagine to be very beneficial to me in Android development. Basically, what I'm trying to find is a good resource to tell me how all of the system image files work. I've had to reflash firmware plenty of times and know of the system files like system.img, boot.img, etc. and I want to know how they all work and work together.
My end goal is to be able to unlock the bootloader (which I imagine is decrypting the file and editing something within it) for the community. But, I can't even try to do that without knowing how all of this stuff works together and what exactly it means in the technical sense to unlock the bootloader.
Are there people on this forum who know or a resource to learn about this stuff, or a user who is experienced enough to explain to me how this all would work?
PS. I know there are some really smart people working on unlocking it, and I'm certainly not trying to jump in and act like I can do it. I'm just purely curious in trying to do this.
Thanks in advance!
dslappy