PDA

View Full Version : ARM emulated in PalmOS 5.xx?


dduran@linux
12-28-2003, 05:18 AM
Is it true? If that is so then it means that we are not able to maximize the true [execution] speed of the processors!! im bothered with this one because it only means that a 33 mhz arm is much slower than a 33 mhz dragon ball [processor of old OS 4.1 - Below]....


HHHHHHHHHHHHHNMMMMMMMMMMMMM.......
Thats why PocketPC is much more interactive/graphic intense (still not enough programs and most of them are not good)

Synthesis
12-28-2003, 06:06 AM
Palm OS 5 kernel routines and system functions, etc. are all written in native ARM code and take advantage of the processor's full speed. Old 68k applications run in an emulation environment called PACE (I think it's Palm Applications Compatibility Environment). It is, however, not possible to write native ARM applications for Palm OS 5 (we'll have to wait for this until Palm OS 6), but you can still write code snippets (such as CPU intense calculations) in native ARM code (called ARMlets) and then use them in your application. This means that many applications (including all the built-in PIM apps) are written entirely in 68k code and run in the PACE and some applications, such as multimedia apps and Web Pro, profit from ARMlets.
The emulated 68k apps run still faster than on a 33MHz Dragonball.

dduran@linux
12-28-2003, 11:55 PM
Well yeah it runs faster than a 33mhz dragonball (because the arm os units has 200-400mhz). But one thing i notice is that whenever i underclock my app. everything is slower than the usual as compared when running them on OS 4.1 - 4.0.

Synthesis
12-29-2003, 04:29 AM
Originally posted by dduran@linux
Well yeah it runs faster than a 33mhz dragonball (because the arm os units has 200-400mhz). But one thing i notice is that whenever i underclock my app. everything is slower than the usual as compared when running them on OS 4.1 - 4.0.

This is, of course, possible, if you underclock your Palm to let's say 100 MHz. I think the emulation speed of the Tungsten T at 149 MHz was equal to a 40 MHz Dragonball.

dduran@linux
12-29-2003, 07:28 AM
see! were losing about 70% of performance here!

Synthesis
12-29-2003, 08:33 AM
Well, no, I don't think you can call this "losing 70%", for it is still emulation only and otherwise you would be required to recompile the entire application. Also you don't need full ARM speed on ordinary apps - and the others are usually improved with ARMlets that use the full speed.

dduran@linux
12-29-2003, 11:37 AM
well still, i mean most of the app out there has one file (so it means that it does not have any arm code or am i mistaken?) the problem is that i cannot simply underclock my T3 and comparing it with my 200mhz PPC, everything is much faster! (PPC, still sucks though)

Synthesis
12-29-2003, 11:49 AM
Originally posted by dduran@linux
well still, i mean most of the app out there has one file (so it means that it does not have any arm code or am i mistaken?)

You're wrong ;P
On the Palm OS executable fiels (PRC) contain several resources, one for the application name, two for the icons, some for the forms (windows) the application uses and one or more code resources in which the actual code is stored. This is 68k/Dragonball code, but developers may add additional resources with ARM code which will then be used as substitutes for 68k routines so they can take advantage of the speed. To cut a long story short: In many performance critical applications there is ARM code and it is embedded in one single application file together with the rest of the code, so you cannot see it :)

As regards the "everything is much faster" thing: IMHO Palm OS is still much more responsive than Windows CE (and whatever the other incarnations may be called).

dduran@linux
12-29-2003, 12:04 PM
ok, since i have the impression you're exp. with PalmOS, can you recommend a good compiler?

Just to wrap things up: still there is a hit performance right? With OS5? I notice this when i underclocked my OS, 100 mhz and everything is slower or is as slow as a 33mhz machine

Synthesis
12-29-2003, 05:31 PM
To be honest: The normal user does not (or at least not that much) underclock his PDA, and those who do this, expect the device to run slower, so you don't need to worry about this as a developer. If you write multimedia apps, however, you should consider creating an ARMlet to speed things up on supported devices (take the Kinoma player as an example, it uses ARMlets).

As a first step you should register with PalmSource on their website to gain access to their developer program and optionally with palmOne, Sony and the others.
The programming language of choice for the Palm OS platform is definitely C/C++. The major compilers for these languages are CodeWarrior by Metrowerks (a bit pricy), which is available for Windows and Mac OS, and the GNU compiler/PRC tools, which are available for LINUX/UNIX/Mac OS X and Windows and are, of course, free. All in all I would recommend the PRC-tools package.