processor compatibility - Windows Mobile Development and Hacking General

This may be a stupid question, but I need the answer so I'll ask it.
Are programs/dll's extracted from a rom compiled for the Samsung S3C2442 processor compatible with devices running an Intel PXA272 X-scale processor?
I assumed that since they are both ARM architecture they would be compatible, but now I'm not so sure. Anyone?

Yes, they are both ARM architecture and that's what counts. The only thing that might not work is something very processor specific like an overclocking app everything else will be fine. Note that same goes for OMAP processors.

Cool thx. hmm, now I just gotta figure out why the files I've extracted don't run. Is there any post processing that needs to be done to files extracted from an imgfs via rdmsflsh.pl? vijay suggested that maybe I needed to register the bta2dp.dll that wasn't loading, but when I tried to I got error 193 - not a valid win32 application.
Plus an exe that runs for vijay on a hermes device just beeps at me on the x-scale device.
Any ideas?

Maybe the header got screwed up in the extraction.
mamiac once wrote about an app that can fix PE headers, try searching his posts.

It's unlikely though, the whole directory of files worked fine for me on the Hermes, and I imagine we all dumped it in the same way. I'll try an xscale later tonight if I can.
The regsvr issue may just be pot luck, it may not need registering: not all dlls need registering.
Try searching through the dumped registry to see if the .dll you want is actually loaded as a driver, in the builtin or active reg keys. If it is, you need to copy over the reg settings and run it as a driver on your pda (or you can force it to launch programmatically).
It's possible the dll relies on device specific conditions - eg if you're talking about bluetooth hardware, it may not be cross compatible, eg the wifi hardware is different on the Wizard and the Universal. But a high level support dll is unlikely to have that kind of problem.
V

Related

Running PPC specific code on Smartphone device

Most of us are already aware that PPC and smartphone edition are similar enough to be mostly compatible in their apps across the platforms.
That is, with enough coaxing and the help of input simulators like SPHelper, I've managed to run almost any Pocket PC app on a smartphone device.
Well, until now.
I've officialy run into my first brick wall of sorts, and I'm hoping someone here can shed some light onto the situation.
Since the MS implementation of A2DP has quality issues, I'm trying to run MSI Blueplayer app ( found at http://cweb.msi.com.tw/program/support/download/dld/spt_dld_detail.php?UID=619&kind=8) on a smartphone.
Analyzing the cab, I extracted 4 .dll's that go in the \windows dir (msibtstk.dll, msibtapi.dll, CHS.dll and TW.dll), and two .exe program files that go in program files\msi\blueplayer (STLoader.exe, and MPOBCE.exe).
Now, normally its as simple as running the .exe, at least it always has been in the past.
However, every time I hit MPOBCE.exe, all I get is:
"Alert
Can't find MPOBCE or one of its components. Make sure the path and filename are correct and that all the required libraries are available."
Just to control this experiment, I copied the exact same files over to a PPC device and ran it to find that it DOES work.
Now, I've never encountered PPC specific code before- in fact, I didn't even know such a thing was possible. Has anyone see/heard of this sort of thing before?
Can someone help me take this apart and find out what makes it work on a PPC only? Perhaps a PPC-specific path (if there is such a thing)?
At this point, as much as I'd like to get this working, I'm just as much intellectually curious as to what would cause a program to only operate on a PPC installation.
Hello Dishe.
Your problem is simple: Certain DLLs that come built in Pocket PC version of windows mobile do not exist in the Smartphone version. An example is MFC DLLs.
What you need to do is get hold of 'dependency walker' which is a neat little app that MS incorporated in to VS 6 (though I understand it was written by an independent developer and should be available separately).
It will show you exactly which DLL files each exe is linked to. You then have to get a good copy (from a ROM dump) of the needed DLL and put it in windows directory.
Hope this helps.
That's a great idea. Thanks! I never heard of the dependency walker before, but it sounds like a perfect tool for this. I'll have to check it out on my office computer (I don't have VS 6 at home).
I wont be back in my office until wed., so if anyone had a bit of spare time, I'll attach the files here for someone to examine.
If anyone wants to look into it and tell me what dll's are required, I can get ahold of them from a healthy Pocket PC image.
Thanks!
This zip file has the two .exe's contained in the installation. I think only mpobce.exe is complaining about missing components, though.
Oops, apparently I should have checked first...
Dependency Walker is a free app. I downloaded it and tried it out.
It lists a bunch of .dll's, most of which I had on smartphone.
However, the two missing ones are:
mfcce300.dll
olece300.dll
Now, I'm not exactly sure what these do, so I need to look into it some more. Does anyone have any clue what these are for? If I copy them from a Pocket PC, will they operate on a smartphone?
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
levenum said:
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
Click to expand...
Click to collapse
Thanks for the help, I'm realizing there's a lot more to this I should have known before embarking on such a task. I've never had such a problem doing this before, I guess MFC isn't so popular!
Anyway, I need a good ROM dump, I haven't been able to aquire one. In the mean time I tried some files I found searching google... didn't expect it to work, but tried it anyway. Still complained of missing files- you're right, I'll bet MFC is calling more dll's as well that I need.
Perhaps there's hope...
You were right... I just needed more .dlls!
I found a whole series of .dlls required by mfcce300.dll that my smartphone was missing, so I put them all in the program directory and it opened!
Problem is, its not so stable... the files were pulled from a ce.net-4.1 set of files since I don't have access to a wm5 rom image.
One more thong I should have thought about earlier:
Some COM dlls, maybe even olece300.dll have a function called DllRegisterServer that writes them to registry as COM provider (under HKCR\CLSID).
Check to see if I am right using Dep. Walker and if so try to get regsvr32.exe or something similar for the PPC. (On a PC you use regsvr32 somedll.dll to register a COM server)
This may help with stability issue.

Find dll functions from rom dll

Not sure if I have worded this properly as I'm at the edge of my knowledge but I wish to call a function that I am assuming is in a DLL which is contained in ROM. I know the name of the DLL but how can I get a list of functions available from it when I cannot copy it onto my PC?
Many Thanks
Hi Tailor.
First, what function exactly are you looking for? There may be some documentation on it somewhere.
To browse a ROM dll you need to get a ROM dump. The simplest way for your purpose, provided you have a WM5 device is to search for TESTWM5.exe by mamiac on this forum. It will dump all files to your SD. They won't be workable for coding purposes, but still good enough to use dependency walker to get exported functions from DLLs.
Unfortunately that still won't tell you the parameters the function expects. only its name.
Hi Levenum and thanks for your reply.
Its a Sony Sat Nav Windows CE 4.2 device so unforunately theres not much chance of a ROM dump or documentation. Then unit is sold as a finished product and not intended for further developement.
I have installed TomTom instead of the poor app already installed and was trying to get access to the hardware buttons and Light sensor on the unit and then intended to use the TomTom SDK to recreate their functions.
The keys don't not trigger a key press event but their are DLL's called something like powerbutton.dll and navbutton.dll and so it's a fair guess that they could be used to trigger these events.
Obviously without knowing their exported functions I'm not going to get much further.
Any further thoughts ?
Many Thanks
How exactly are you trying to catch the key events?
For what you describe, you don't just need to know function names, you need to know with what parameters to call them so this is definitely not the way to go.
If you are coding with C++ search for info on SetWindowsHook. I am not sure of its implementation on CE, but this might be what you need.
I'm using VB.Net 2005
I'll have a look at SetWindowsHook, Thanks.
Any ideas for the light sensor, there's a test app that Sony have left on the device, it gives a reading from 0 to 100?
How are they likely to be reading this value?

Mogul/Titan Linux WIP

If anyone is interested I have made slight progress with linux on the Mogul. First you have to download the latest versior or haret from here http://handhelds.org/~koconnor/haret/ I am using this version haret-20071029d.exe Then i downloaded some stuff from this site http://www.angstrom-distribution.org/unstable/images/ I downloaded the apache images because it is the ppc6700 sprints one lower model than the mogul. The kernel does not boot. I think that this is because the processor is a different arch. I am going to try to build a custom kernel when I get home tonight. I did not extract the distro however I think that that will be a good starting point once we get a working kernel as the devices are simular (sliding keyboard, same size screen, made by htc, cdma, etc.) I also found out that you have to pass this arguement in the haret startup.txt file or it will just crash haret. "set MTYPE 1463"
My startup.txt reads:
set KERNEL zImage
set MTYPE 1463
set CMDLINE "rootdelay=1 root=/dev/mmcblk0p2 console=tty0 fbcon=rotate:1"
boot
edited from this page http://www.handhelds.org/moin/moin.cgi/ApacheLinux you might want to look there for information. It is what got me this far.
If you would like to help please post to let me know. Please do not post something like "I can test it" or "I would be willing to test" or "Can you send me a copy when you get it working"
Right now I need some help not testers
Thanks in advance
P.S. you can find all of the known mtypes here http://www.arm.linux.org.uk/developer/machines/
The apache and Titan have totally different hardware.
All the device drivers would need to be re-written from scratch. The 6700 was easier because previous devices (6600) had similiar architecture. The current generation of HTC devices (Titan, Kaiser) uses some new chips for the radio and main proc that haven't been used before in any device by HTC.
Drivers would be compiled as part of the kernel to begin with. They could be modules later on. I was just gonna use the image for the binaries of gpe. However further research shows that there is a gpe phone edition, opie2 (which is for phones) and my favorite openmoko which i'm about to compile.
main processor wise, some nokias also have the same ARM11 processor (as the titan and kaiser) in them. N95 being one of them.
wandrerx thatnks for the help. I spent all night trying to figure out what the linux kernel calls this processor or processor family. There is no simple answer like arm11 or qualcomm or msm at least not yet. I will do research into this nokia and see if that turns up any answers.
Thanks again
just remember that in many cases the arm11 is paired (which I'm guessing is part of the architecture) so either things will go through a qualcomm/samsung/whoever layer or things are sent directly to the arm11 and to the dual phone processor. Mucking around I found that there are various power modes (possible overclocking? I'd assume they would use a conservative power mode for a phone like this)
from what I have read it is built simular to how a dual core pc is built. It has two cores on one chip. However unlike dual core pcs the cores are not symetrical. One is an arm11 chip and the other is an arm9 chip depending on the model. The arm11 chip in this case is 400mhz and the the arm9 chip is something like 133mhz. The 400mhz arm11 core is deticated to running windows and applications. The arm9 ~133mhz chip is deticated to running the phone, wireless, bluetooth and gps.
What does this mean? Well it means that we could get linux running with a compatible arm11 kernel, however we would not have any communication ability. And I think that you are correct that there is or is going to be an arch that supports both processors with one simple kernel.
Another thought... Qualcomm has their own OS (BREW) that is built for these chips. It might be worthwhile to download it to see if it gives us any more clues to the hardware then windows mobile does.
Hope that this helps.
P.S. here is qualcomms site with info on the msm7500 http://www.cdmatech.com/products/msm7500_chipset_solution.jsp
More research... Open moko was designed for the NEO1973 which runs at up to 266mhz. The mogul/titan according to qualcomm can run at speeds up to 528mhz. That is more than twice as fast! If you look at movies on youtube of the openmoko OS you will see that it runs really fast. Very comperable to windows mobile faster with some things slower with others. If you go to the openmoko wiki and look at the supported hardware you will see that the fastest processor of any of the devices that it runs on excluding the other HTC products is 312mhz. The mogul/titan runs at 400mhz with windows. The other openmoko HTC devices run at 416 and 520mhz. The mogul/titan is capable of 528 so if/when we get linux on the mogul/titan it should be extreamly fast once it is booted. For some reason linux takes a long time to load on mobile devices. However if we get a native bootloader replacing windows completly it will probably take about the same amount of time to boot. Currently my idea is to haret or any other bootloader in the windows startup folder to boot directly to linux once windows loads.
More research part 2...
ARM ltd. uses linux to test all arm processors during the development cycle. They test every feature and make sure that everything works correctly. They also use it to stress test the processors. So my question is why don't they release these drivers when the new processors are released? I will scour the internet for any unofficial drivers or anything that could help us. I will be posting everything that I find that I think might be helpfull.
First off sorry for the tripple post.
Now the exciting news. The msm7500 uses the ARM1136EJ-S core. I'm not sure how simular the ARM1136EJ-S is to the ARM1136J-S and the ARM1136JF-S. I know that in the computer world one letter can mean a heck of a lot or next to nothing but... There are patches for both of the later on the following site. http://www.arm.linux.org.uk/developer/patches/search.php?summary=arm1136 granted these patches are atleast a year old but they do tell us one thing. the sub arch for these processors is arm1136 and that the most of the patches are in the linux/arch/arm/mm folder.
However in the kernel that I am using handhelds.org this still isnt an option. However there are three ARM Ltd. sub archs that I'm going to look up on their site and SA1100-based and also EBSA-110. I am hoping that the 11 in these archs means something to the effect of arm11 or that ARM Ltd. can spread some light on the situation. If worst comes to worst next Sunday or whenever I get enough time I will compile each of the arm kernels with the basic options and see is any of them boot on the mogul/titan. If they do that could mean either that we found the right arch or a compatible arch such as x86 is compatible with x86_64. Once I have something booting I will release it so other developers can use it to dump hardware information and if I can use usb networking or the keyboard by some stroke of luck I will try to get the output from a dmsg. Hope this helps
Breaking news: Disreguard most of what was just said some is true other is just guesses showing my stupidity. I just did a simple google search on "ARM1136EJ-S linux" without the quotes not expecting to find anything usefull. I was wrong again. I learned of other chips that use the ARM1136EJ-S core the TI OMAP2420 is based on this same core. Finally a arch that is selectable when configureing a kernel. Now to do more research into the TI OMAP2420 and other chips with this core and posibly finding some kernel configs to use as a starting point. I am so excited :-D
great find
Although not the same simular to the msm7500 (phone, wifi, BT, gps, 2 cores, usb, IR, flash, ram, keypad, camera, sd card) Oh yeah and did I forget to mention... People have booted linux on this bad boy. I also read that the kernel config for this is included with the linux kernel too!!!
http://focus.ti.com/general/docs/wt...entId=4671&navigationId=11990&templateId=6123
P.S. This file in the handhelds.org kernel controls this processor and its preriphrials /linux/arch/arm/mach-omap2/board-h4.c
Where I located the information said that it can be found in /linux/arch/arm/mach-omap/board-h4.c with the kernel from kernel.org I'm not sure if this is just outdated or changed in handheld.org's version of the kernel eitherway I am going to have my computer build the kernel as I sleep tonight. (There will be no modules everything will be built in) <-- for simplicity incase it doesn't load the ext3 filesystem on the microsd card for some reason. I have a feeling that some of the irqs in the file listed will need to be changed to work with the mogul/titan but maybe we could get lucky.
A little more info for someone trying to build the kernel. The kconfig file in the in the mach-omap2 directory says this:
config MACH_OMAP_H4
bool "OMAP 2420 H4 board"
depends on ARCH_OMAP2 && ARCH_OMAP24XX
Hope that that helps if you are trying to get a working config. Oh yeah one more thing I am useing the handhelds.org kernel because 1. I have it 2. I figure that it is made to be compatible with the most devices. I am planning on switching to the openmoko kernel as soon as I have something booting. I might need to steal patchs etc from the handhelds.org kernel though. I don't know as I haven't downloaded the openmoko kernel yet.
Nice... see, I like being proved wrong for stuff like this.
I've been telling people it couldn't be done.
Keep up the good work researching!
Well I built a kernel...
I also loaded the kernel
I am unsure how far it gets after that I will post my haret log files. One I made an empty file named zImage-fake. The other one is my (nonworking) kernel. And one I made by booting the openmoko zImage that I found somewhere on the internet. None of them booted Are you really supprised? But we did get some information from haret. And I can verify that the progress bar in haret did move form the beggining to the end when booting both real kernels. The empty file does nothing and haret just sticks. Pretty much all this tells us is where haret is looking for the kernel and what it is decompressing. Memory mapping and so on. It is all greek to me I have no clue what it means. Hopefully you guys will know more.
Something interesting I was reading on the kiser forums about there progress with linux on that device. They dont even know about the cores being the same as the TI OMAP 2420 processor. However they say that haret only reconises the msm7500 as being there but has nothing more as in no ability to boot kernels because nothing is known about the cpu. If this is true could someone contact Kevin O'Connor as he is the one that patched haret to reconize the msm7500 and tell him about the OMAP discovery and see if that helps. Or contact Paul Sokolovsky the other haret maintainer.
my default.txt is as follows:
set KERNEL zImage
Set MTYPE 1463
set CMDLINE "rootdelay=1 root=/dev/mmcblk0p2 console=tty0 fbcon=rotate:1"
boot
One last thing here are the haret logs and my kernel config incase anyone wants it.
P.S. I compiled my kernel with binutils 2.18.50 and the following arm gcc toolchain arm-linux-gcc-3.4.1.tar.bz2 <-- I found the link here http://www.gtlib.gatech.edu/pub/handhelds.org/projects/toolchain/ and binutils was found here ftp://sourceware.org/pub/binutils/snapshots and I referenced the guide to compile the kernel found here http://www.handhelds.org/moin/moin.cgi/KernelBuilding
More interesting/helpfull news...
Without specifying an mype haret reports "undefined MTYPE"
With the arguments "set MTYPE [MTYPE]" it will decompress the kernel.
I was hoping that I could find a MTYPE that wouldn't load but so far I have been unsucessfull. Everthing loads and there are 1538 different MTYPES. Now I guess that we could try every MTYPE untill we get something that boots or maybe someone has a better idea. Also here are some more devices with the same core.
Motorola MOTO Q9h Global
Motorola MOTO Q 9h (Q9h)
Nokia E90 Communicator
Verizon XV6800 (HTC Titan 100)
HTC Touch P3050 (HTC Vogue 100)
HTC S640 (HTC Iris 100)
Bell HTC 5800 (HTC Libra 100)
HTC 5800 (HTC Libra 100)
Bell HTC 6800 (HTC Titan 100)
HTC S720 (HTC Libra 100)
HTC P4000 (HTC Titan 100)
Here is a haret log when I pass the lsmod arguments. My guess that it shows all of the windows drivers that are loaded. Now if we just do a simple google search on them or if someone knows how decompress them and or look at them we can possibly find out more about the hardware.
My understanding,or rather assumption was that one processor ran windows and the other ran the radio and that the two were separate. I assumed that if you were to make linux run on these new phones,you would run linux on the 400mhz processor,and run the existing radio rom on the other which I would expect to make things much simpler. Rather than figuring out how to make the radio work,you would just have to figure out how to talk to the radio and the rest of the work would be done for you.
pflatlyne said:
My understanding,or rather assumption was that one processor ran windows and the other ran the radio and that the two were separate. I assumed that if you were to make linux run on these new phones,you would run linux on the 400mhz processor,and run the existing radio rom on the other which I would expect to make things much simpler. Rather than figuring out how to make the radio work,you would just have to figure out how to talk to the radio and the rest of the work would be done for you.
Click to expand...
Click to collapse
I've been watching from the Kaiser Section. Firdtly let me say that I believe you are correct. The way every device I've seen uses the two processors is as Follows: The ARM11 is your 400mhz system processor & the integrated 274mhz ARM9 is almost always used a a modem connect the system to the radio, GPS, etc.
I don't know if you've seen this, but there are some Dev tools/Info available at: http://www.virtio.com/
10/21/2004 - Virtio Corporation, the creator of Virtual Platforms for embedded software development, introduced its latest product offering for the Texas Instruments (TI) OMAPTM platform, the VPOM-2420 Virtual Platform. This product provides fast, full-function emulation for TI's OMAP2420 software development platform. Virtual Platforms give software developers a target system model that can boot an operating system and run application code long before hardware becomes available, speeding new system software development.
Additional information is available at www.virtio.com/vpom-2420 and evaluation copies of the platform are on-line at http://www.virtio.com/download.
I'm really curious to know what has become of this. Could an insider provide an update please?
Best bet is to watch the android wip. I'm going to get another mogul here in a couple months, i'll be using my current one as a test bed. since it's my only phone, i'm not too keen on hacking into it just yet
Check http://cs-alb-pc3.massey.ac.nz/vogue

where can I find cabs for my Wing?

I have Wizards, a Blue Angel and a Hermes.
With the Wing I have discovered that some cab files from the other units don't execute properly or seem to have been written for very old versions of Windows Mobile. I am never sure if they are going to be resource hogs or are not going to release memory when they close and such like. (or is this more to do with the ROM than the applications I am trying to use?)
Or they ask me whether I am installing onto some elderly processor (mips or arm or etc) and I am never sure either which one to choose for the Wing. And often the ones I choose dont work
Where can I find repositories for cab files (or indeed exe files to be executed from the computer) which are new enough to work with the Wing please? Any applicatoin will do, games, utilities, etc etc
most apps will, and the only truly system specific ones are like customization and tweak stuff.
there a bunch of freeware sites with lots of fun stuff thats totally device inspecific.
You can startout by browesing www.pocketpcfreeware.com .
Once/if you get through that site, just google "ppc freeware"
Hope that helps.
If you are still looking try this:
http://forum.xda-developers.com/showthread.php?t=356480
Thanks for this specific answer guys: I was just unsure what to do when given a choice between installing an elderly program designed for a 2001 computer on the Wing when the hcoice seems to refer to installing for those elderly processors
Thanks for this specific answer guys: I was just unsure what to do when given a choice between installing an elderly program designed for a 2001 computer on the Wing when the hcoice seems to refer to installing for those elderly processors

Looking for C/C++ Compiler for WM6

I recently got myself an ATT Tilt (Kaiser), which I plan on taking with me to a conference in Europe next month, and I'm not planning on taking a laptop so I can travel lightly afterwards. The phone currently has WM6 on there (I'm not going to play with flashing the ROM until after my trip).
To the point: I want a C/C++ compiler on my phone that I can use for potentially testing a few things over there (assuming the application I have in mind will work, but that's another story). I'm assuming that if I get the compiler working, it will have access to the standard C libs, including network stack.
I've tried PocketGCC, but I can't get it to work. The cabs from pocketgcc.sourceforge.net install fine, but the CMD Prompt won't open (I click on the icon and nothing happens).
Searching these boards, the only reference I've found was to http://www.mobilitysite.com/boards/business-development/135816-pocket-c.html#post1187340, but the links it points to for getting the various files no longer work.
Any suggestions or alternate links on how to get a working compiler on my smartphone?
As a backup, is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux? Or if not, under win32 cygwin? Ideally, I'd love to have a cygwin-equivalent on the phone...but I guess that'll be deprecated with Android later on.
Thanks,
- David
Hi David,
I'm also looking for this and the best aproach was a DOS emulator (I think it is called Pocket DOS and there is another one that is free but don't remember the name) and Turbo C. I used it just to test very basic software that was just displayed in the DOS windows. But it was a really really little software (a couple of FORs and couple of variable incrementing), it was not fast to copile/run.
Hope this helps a little.
there is a cool project here, it's C#, not C++ but it might be of interest.
This one is supposed to be C++, but it is old and you may have problems with it. From what I recall, the command shell isn't compatible with wm6, but if you look around you may be able to find one to replace it that works.
Here is a command shell that's supposed to work with WM5/6
Good luck and let us know if you find anything else.
Also, the link to Mamaich's Version on that page you referenced works
Digicrat said:
I
is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux?
Click to expand...
Click to collapse
mingw32ce (cegcc) is used to compile haret and roadmap (afaik vlc too).
It runs on amd64 very well. Have not tried it on my old DEC alpha.
Thanks for the quick responses.
edgar: PocketDOS looks interesting, but where can I find versions of Turbo C/C++ compatible with the pocketPC?
The program I'll be testing is actually a simple command-line C application, but it does use networking, UDP to be precise.
The link to Mamiach's link works on that page, but not the links on there for PocketConsole, PocketCMD, or the .bat files, though the bat files can be taken from the rar file itself.
I tried the PocketConsole and PocketCMD versions from the pocketgcc.sourceforge.net site again, and managed to get them (mostly) working after changing the reg key value.
I tried the PocketGCC cab file from gforge. It kind of works, but the test program won't compile. I still had to manually set the path for this, and for some reason it doesn't include gcc but calls the various other parts of it.
I'll try uninstalling the PocketGCC Cab and extracting Mamiach's version again and see if I have better luck with that later in the week and see how that goes.
Looks like I got it working for the most part.
Compilation is slow, but I don't want to waste space on the internal memory extracting all those .rar libs, unless I can get it installed/moved to the SD card later and adjust the paths accordingly (using spaces in file paths is always annoying).
I'm using Mamiach's version of GCC from the link above (extracted to /pgcc), plus PocketConsole and PocketCMD cabs from the pocketgcc.sourceforge.net distribution.
The only lingering (and annoying) issue is that it does not save the PATH setting after closing the cmd prompt.
Correction, I just noticed another more important issue. After switching programs, the CMD prompt seems to disappear. If I open another application, and then close that program, it will take me back to the CMD prompt. However, if I return to the "Today" screen, that prompt is still open but I can't get it back. It does not appear in that little task-switcher icon, nor in the detailed 'Task Manager'.
Any ideas?
Thanks
Update:
I just installed Dotfred's Task Manager. It looks like the problem is that the CMD prompt is being seen as a Process and not as an application. Now the question is can I change that...

Categories

Resources