MobileInfocenter

Developers Say the PACE Is Fast Enough

The biggest change in Palm OS 5 is the switch from Dragonball processors to ARM-based ones. This change would have required all developers to rewrite all their applications but PalmSource knew this would be a disaster for the platform so it created the Palm Application Compatibility Environment (PACE), which interprets the instructions of existing applications designed for the Dragonball processor, and makes them run on the ARM processor. There has been some concern in the Palm community that this would make OS 5 run slower than OS 4. According to developers, this isn't the case.

PACE does not emulate the 68k Dragonball chip or other hardware, nor does it run the old operating system. Instead, it interprets the 68k instructions itself, and handles 68k trap instructions (used by applications to call OS APIs) by making calls into the native Palm OS 5 system. All the OS level calls are implemented in pure ARM code, so the OS itself is running at full ARM speed.

Palm OS 5's speed will depend greatly on what processors are being used. There are quite a few ARM-based chips available to be included in OS 5 handhelds and these range widely in speed. However, the slower processors are likely to be used only on low-end devices while the first handhelds available with OS 5 will almost certainly be high-end ones. According to rumor, Palm's first OS 5 handheld will use the 175 MHz OMAP1510 from Texas Instruments.

Still, some people are worried that OS 5 will actually be slower than OS 4. However, developers that have been able to run their applications on test boards running the new operating system aren't worried.

Unfortunately, what they can say about performance on specific hardware is constrained by non-disclosure agreements. Still, several people were able to say enough that most people's fears should be allayed.

Howard Tomlinson, the CEO of Astraware, said "From the OS 5 demos done by David Fedor at both this PalmSource Developers Conference and the one before using a demo board he had there, you can be sure that PACE will run quite adequately for all normal apps. The Zap!2000 that he showed running on it had quite a bit of custom 68k in there instead of OS calls for graphics, and that was running faster than on a normal device, so I think you can safely see that 'good' apps that call into the OS will run at least as well as on current devices, and those that are 'bad' and bypass the OS to do custom code should still be fine."

Aaron Ardiri from MobileWizardry. said, "We ran tests with Lemmings at PalmSource, and PACE was emulating faster than the API's were being implemented natively."

"PalmSource themselves showed our "pie draw function" implemented under Palm OS 4 (OS 5 compliant) running on a PACE board to illustrate the incredible speed most operations now will zip along at that were sluggish ," said Mike Compeau, VP of Business Development & Planning, Cutting Edge Software. "We are confident that those customers lucky enough to buy a copy of Quickoffice for their NEW OS 5 device will NOT have in any way a bad experience due to PACE implementation."

Despite this encouraging news, there is still room for improvement. OS 5 doesn't allow developers to write completely ARM-native applications, though they can include small bits of ARM code called ARMlets. The next version of the Palm OS, generally referred to as OS 6 though PalmSource hasn't officially given it a name, allows true ARM native apps. According to PalmSource, code that has been recompiled for ARM-based chips is 61 times faster on a 200 MHz ARM processor compared to a 33 MHz Dragonball one.

I wanted to say thanks to all the developers who helped out with this article. -Ed

Related Information:

Article Comments

 (61 comments)

The following comments are owned by whoever posted them. PalmInfocenter is not responsible for them in any way.
Please Login or register here to add your comments.

Comments Closed Comments Closed
This article is no longer accepting new comments.

Down View Full Comment Thread

This sounds good enough for me (just a Palm-user)

I.M. Anonymous @ 7/23/2002 9:25:56 AM #
This sounds good enough for me (just a Palm-user).
For the developers it is a good way of getting used to the new processors and the succes of PalmOS PDA's is based on the software base. Powerusers (whatever that may be on the Palm-platform) will have to wait until OS 6.

Greetings, Roel.

I'm confused. why bother with ARM if no native compiling

I.M. Anonymous @ 7/23/2002 9:35:32 AM #
If no native ARM can be programed (i dont know anything about programing palm so dont get mad) so the only reason to get it would be hi res, multimedia, some optimised stuff, but no native ARM would make it a bit pointless? the clie has all but the optimised stuff.
and there probably will be no budget model as someone said somewhere. i will be keeping my palm III (gparents go free from charity shop) for some time longer it seems, nothing is complety worth it yet...
RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 9:39:01 AM #
Notice how everyone quoted in the article says OS 5 will speed up your apps. If that isn't enough for you, how about MP3 and video playback? If that isn't enough, what more do you want?
RE: I'm confused. why bother with ARM if no native compiling
Foo Fighter @ 7/23/2002 9:46:08 AM #
The main purpose of OS5 is to maintain compatibility with the installed base of software. That's step one. OS6 will be Step 2; ARM native apps. However, we should still see some very nice multimedia capable PalmOS hardware this fall.

RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 9:48:14 AM #
Developers will be able to develop for the the new ARM palms in ARM code, this is just ensuring that the older PalmOS programs we have grown to love SHOULD run on the new ARM devices with no need for a complete code rewrite.
RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 9:48:44 AM #
Read the artice again. It doesn't say "no native compiling". It says you can't be 100% native. For speed critical parts of the app, you can use armlets which are ARM native.

Michael

RE: I'm confused. HOW IT WORKS
ardiri @ 7/23/2002 9:51:58 AM #
    If no native ARM can be programed (i dont know anything about programing palm so dont get mad) so the only reason to get it would be hi res, multimedia, some optimised stuff, but no native ARM would make it a bit pointless? the clie has all but the optimised stuff.

if (detectARM processor)
  execute native arm code
else
  execute m68k code (as normal)

thats how you will maintain compatibility, and, take advantage of the additional processing power where ARM code can be used natively. palmos 5.0 apps should technically run on both old and new hardware provided that both code portions are made available.

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/

RE: I'm confused. why bother with ARM if no native compiling
huggy @ 7/23/2002 9:52:19 AM #
hey you posted yesterday at infosync didn't you? I just remember that story of the Palm III and the charity shop :-D

-------------- huggy ---------------
RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 10:48:58 AM #
Thanks, i dont really understand anthing about ARM programming.

Yes, its me.

Why can't you have the best of both worlds?
I.M. Anonymous @ 7/23/2002 11:49:31 AM #
1. OS4 Apps Emulation

***AND***

2. Completely NEW OS5 ARM Native Apps

?????

Just like a PC running Win2000 can mimic old DOS to run old DOS programs.

I'm confused as to why this isn't possible. Sorry if I am missing something.

RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 12:27:40 PM #
ARM native compiling is not available to Palm app but is available to Palm licensee. It opens up possibilities to Sony, Palm, Handera, etc.

You are right though. OS6 or whatever it's called is the real one.

RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 12:31:06 PM #
It's not that it can't be done. Maybe they decided it shouldn't be done for OS5. Don't just looking at the technical reasons, there may be marketting reasons why they don't want that to happen.

By doing this, they are ensuring that most of the new OS5 software will run on older Palm devices. Also, the developers will need some time to get used to the new ARM coding. If you limit what they can do now you can control the stability of the system.

And maybe they haven't decided how full blow ARM apps should behave. They may be keeping everything tighten down until they finish the BeOS enhanced version of the PalmOS with multitasking etc... This keeps forward compatiblity.

- JV

best of both worlds
ardiri @ 7/23/2002 1:08:38 PM #
    I'm confused as to why this isn't possible. Sorry if I am missing something.

sure, you could always build two different versons of your applications (arm + 68k) - developers do this these days when it comes to color and grayscale versions of their applications. but, you must ask yourself why?

ok, first obvious answer is - you save memory (no redundant code). this is important, however, it is much more important for any joe blo user to come along and install your application, without having to say "hey, this doesn't work" simply because they installed the wrong version of your application. application developers can make their applications smart, even to the point of saying "hey, i am on an ARM unit - i can delete the 68k stuff now" (which, will prevent it from being beamable)... heaps of ideas.

to give a perfect example of the bad - consider PPC. users are not the smartest people in the world (if only some of you knew) - and, developers are not always the best at explaining things :) PPC had a huge problem with CPU types.. install the MIPS version, the ARM version, the SH3 version.. this sucks. to make it worse, palm is not going to label their units as an ARM unit, it will be a palmos unit. so, unless users know what is inside their devices - they wont know if it is a ARM or m68k CPU inside.

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/

RE: I'm confused. why bother with ARM if no native compiling
I.M. Anonymous @ 7/23/2002 1:50:24 PM #
OS 5 is a stepping stone. PalmSource isn't supporting fully native ARM applications YET due to time constraints. It's hard enough porting the OS from 68k to ARM, adding the high-density, sound, and security stuff without having to worry about new executable file formats and shipping ARM development tools.

It's more important that they get OS 5 out the door ASAP.

Performance consistency

Foo Fighter @ 7/23/2002 9:39:21 AM #
This has been my number one concern. If PACE drags performance down, it will ruin the user experience for existing applications. If, however, we see good overall performance...and maybe even a speed-up, developer/user migration to OS5/ARM should go off without a hitch.

This looks VERY promising. Hopefully we will see some revolutionary changes in OS6, such as a dedicated gaming API. One thing is clear...the best days are ahead for PalmOS! :-)

PACE vs Native API

ardiri @ 7/23/2002 9:38:43 AM #
    Howard Tomlinson, the CEO of Astraware, said "From the OS 5 demos done by David Fedor at both this PalmSource Developers Conference and the one before using a demo board he had there, you can be sure that PACE will run quite adequately for all normal apps. The Zap!2000 that he showed running on it had quite a bit of custom 68k in there instead of OS calls for graphics, and that was running faster than on a normal device, so I think you can safely see that 'good' apps that call into the OS will run at least as well as on current devices, and those that are 'bad' and bypass the OS to do custom code should still be fine."

    Aaron Ardiri from MobileWizardry. said, "We ran tests with Lemmings at PalmSource, and PACE was emulating faster than the API's were being implemented natively."

there is a bit of confusion between "good" and "bad" here. just because the use of API's doesnt happen - it doesn't mean "bad". in many cases, the API's that PalmSource provide are full of error checking, special case scenarios, "what if..." type code. this slows things down. when i make a statement that PACE was emulating faster than the native ARM API's - it is due to the fact that we have taken the API, and, optimized it specifically to what we want; taking into account known issues/scenarios such that the additional error checking is not required. these routines are also going to be faster if converted to native ARMlets (which, in our case, we didn't need to do).

applications that use API's will notice no speed problems at all, and, in many cases are much faster than previously witnessed on the m68k units.

i should note that the only true BAD thing to do is to access the screen buffer directly. in our tests and research into ARM units - doing so will not crash your application however it will not show what you want. endiness and alignment are two serious issues. when copying to the screen, we use an API to ensure compatibility on hardware we are not aware of. this is what allows our applications to remain forward compatible.

    Despite this encouraging news, there is still room for improvement. OS 5 doesn't allow developers to write completely ARM- native applications, though they can include small of ARM code called ARMlets. The next version of the Palm OS, generally referred to as OS 6 though PalmSource hasn't officially given it a name, allows true ARM native apps. According to PalmSource, code that has been recompiled for ARM-based chips is 61 times faster on a 200 MHz ARM processor compared to a 33 MHz Dragonball one.

we were fortunate to get our deity3D engine running on an ARM testing board at PalmSource and, since it uses a LOT of m68k code and close to no API's; it ran like a dog. :) deity3D [test version] ran at around 3-4 frames per second without as-is (as compared to 15-16 frames per second on a 33Mhz 68k). this is a classic example of where the use of ARMlet code will sufficiently speed up the execution time - but, not many developers will be required to do this.

PalmSource provides a lot of information to developers - and, this is great. now, off we go to convert those 25000+ lines of assembly to C so we can be ready for the new hardware when it is released. i would recommend the PACE link about for users who want to know how it will work under the "hood" - its an interesting read.

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/

RE: PACE vs Native API
Foo Fighter @ 7/23/2002 10:09:21 AM #
Aaron, thanks for your input.

Question: What is your overall impression of OS5?

RE: PACE vs Native API
ardiri @ 7/23/2002 1:04:37 PM #
    Question: What is your overall impression of OS5?

its palmos 4.1 + extra features *g*

there is not to get excited about in regards to the OS. its the same :) now, when your talking about the ability to run applications that were not possible before? the level of excitement is roughly that when palm upgraded their m68k CPU's from 16 Mhz -> 20 Mhz -> 33Mhz :) more processing power just means you can do more now - the os itself hasn't changed much. its still, as we know, zen of palm :)

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/

RE: PACE vs Native API
I.M. Anonymous @ 7/23/2002 2:08:52 PM #
ardiri, you are not getting me too excited
RE: PACE vs Native API
ardiri @ 7/23/2002 2:42:52 PM #
    ardiri, you are not getting me too excited

should i be? what do you expect me to say - that it'll have a fully blown multitasking operating system with a BeOS interface? lets not forget that this is a PDA - it will continue to function as a PDA. the improvements are definately great - but, i wouldn't go spend a million dollars in stock for it. it is definately a step in the right direction, without overstepping. palm is doing the right thing here.

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/
RE: PACE vs Native API
I.M. Anonymous @ 7/23/2002 4:53:55 PM #
Right, and PDA are not suppose to do presentation, fetching email, a node to share multimedia material wirelessly, or even do spreadsheet. For that of course you have laptop with projector, desktop, iPod or Wi-fi laptop, and mini computer.

Is there a reason, PDA does not follow the general computing tradition since the beginning of mainframe? Is there a reason why PDA doens't need to be as secure, stable and able to handle computing intensive application in the era of video transaction over wireless?

People are already using PDA as a launching pad to attack network or turning PDA into a full access internet tool.

So your commment are only fitting in the era of beep beep computer game and connected organizer.

RE: PACE vs Native API
I.M. Anonymous @ 7/23/2002 8:52:10 PM #
Well, Im sure Aaron will apologise to the .01% of Palm users that do all that (with considerable cost and difficulty), for hurting your feelings with his harsh comments :)
RE: PACE vs Native API
ardiri @ 7/23/2002 9:11:35 PM #
    Well, Im sure Aaron will apologise to the .01% of Palm users that do all that (with considerable cost and difficulty), for hurting your feelings with his harsh comments :)

heh, but realistically - you sure it is .01%? i would guestimate more likely 0.0001% based on sales figures *g*. palm did a great thing with 5.0, the real true move to arm will most likely occur in 6.0. palm has put priority on its users, compatibility is one of the major success stories of Palm - its good they still keep this motion going.

while we would all like a dual athlon system with 1 gig of ram and 200 gigs of harddrive space in the space of a PDA - we all know this is not going to happen in such a rush; want to plug it into a power socket? palm is balancing power and battery consumption - expanding its horizons looking forward and competing with PPC.

palmos 5.0 runs very fast natively, and, the technology palm uses to ensure compatibility with older m68k applications is also quick - most people will be happy with the migration. yes, you'll see enhanced audio, higher resolutions, networking support, internet/wireless capabilities; but, it'll still be the good old palmos we all learned to get attached to because of its simplicity.

you will see mp3, mpeg, divX players - i am sure of it. the technology isn't that limiting; it just makes the possibilities more broader.

// az
aaron@ardiri.com
http://www.ardiri.com/
http://www.mobilewizardry.com/

Developers Say the PACE Is Fast Enough
Stingray @ 7/24/2002 8:38:39 AM #
Hi aaron, great comments.
I'm Just wondering if palmsource has any plans to include an advanced version of grafitti. After all, with 200mhz of cpu speed, im sure you could write something that would kick JOT's @ss:) Do we still have to look for third party apps? I tend to dislike using third party inputs becos they tend to interfere with the functionality of some programs occasionally.
Would appreciate it if you or someone else with some info would respond.
Kumaresan Balakrishnan
aka stingray


"May the potato be with you!"

Additional Comments from Ed

Ed @ 7/23/2002 9:59:17 AM #
I think I, and other reporters, are at least partially responsible for the nervousness about the speed of OS 5. In early articles about the new operating system, I generally said the OS 5 had an emulator that would allow it to run OS 4 apps. That word "emulator" made many people nervous because anyone who has worked with other emulators will tell you they can be very slow. That's one of the reasons why I wanted to write this article so I could help clear up a misconception I helped create.

In addition, I wanted to point out that I spoke to more developers than were quoted in this article and not a single one of them had any concerns about how quickly PACE and OS 5 would work. I was looking for at least one opposite opinion to make the article more balanced but I couldn't find one.

---
News Editor

RE: Additional Comments from Ed
Foo Fighter @ 7/23/2002 10:21:22 AM #
Thanks for writing this article, Ed.

Off-topic question: Have you dug up any new info on the "Oslo"?

RE: Additional Comments from Ed
Ed @ 7/23/2002 10:36:07 AM #
This article actually grew out of the Oslo one. I was doing research on how quickly the Oslo would run so I started to talk to developers about PACE and that section of the article grew and grew and eventually I decided it needed to be its own article.

One thing holding up the Oslo article is I can't get anyone to talk about RAM. I may run it tomorrow without this info.

---
News Editor

RE: Additional Comments from Ed
I.M. Anonymous @ 7/23/2002 4:00:23 PM #
If it "interprets 68k instructions", it's an "emulator". If that doesn't make your applications run slowly it's because your applications aren't very CPU intensive. Most Palm applications aren't, so it probably isn't a problem.

On the other hand, it also makes PalmOS5 an awkward beast: while the OS may run faster, CPU intensive application code will likely run slower. Is that worth upgrading? I don't think so.

RE: Additional Comments from Ed
I.M. Anonymous @ 7/24/2002 12:53:58 AM #
>>>On the other hand, it also makes PalmOS5 an awkward beast: while the OS may run faster, CPU intensive application code will likely run slower. Is that worth upgrading? I don't think so.


Of course its worth upgrading. 3 reasons:

1 - New software and new versions of existing software will take advantage of ARM using 'Armlets' for precisely the sort of "CPU intensive application code" that you mentioned.

2 - Palm OS 5 ARM devices with FlashROM can be upgraded to OS 6 - which is where the real push in term of native ARM will happen.

3 - Native hi-res and audio support in OS 5 means new software that will support these features as standard.

...maybe its just me but these are all excellent reasons to upgrade. i love games and multimedia type apps, so OS 5 devices are exactly what im waiting for.

RE: Additional Comments from Ed
Stingray @ 7/24/2002 8:43:31 AM #
Just out of curiosity Foo Fighter, do you happen to know what a "foo fighter is" ;)
its nothing bad...in fact its kinda cool...but im just wondering if you knew.


"May the potato be with you!"
RE: Additional Comments from Ed
Foo Fighter @ 7/24/2002 11:09:00 AM #
>"Just out of curiosity Foo Fighter, do you happen to know what a "foo fighter is" ;)
its nothing bad...in fact its kinda cool...but im just wondering if you knew."

If I'm not mistaken, "Foo Fighter" was the name given to UFOs by World War II aviators.



RE: Additional Comments from Ed
Stingray @ 7/25/2002 7:30:22 AM #
yes, it was given by french aviators. these aviators called THEMSELVES foo fighters and the objects "foo's"


"May the potato be with you!"
RE: Additional Comments from Ed
I.M. Anonymous @ 7/25/2002 7:58:04 AM #
but doesn't "foo" basically mean B.S.?

meaning that they never believed that UFO's were ALF's?

Multimedia apps etc.

I.M. Anonymous @ 7/23/2002 10:32:16 AM #
My question is whether developers are as we speak writing apps to play mp3, movies etc. to take advantage of the "ARMlets". In other words, are such apps likely to be ready when the new hardware launches?

Does the NDA prevent developers from speaking about forthcoming OS5 apps? I ask this because I have seen several developers advertise their current apps as OS5 ready. The sneak peak page for Launcher X even shows a partial snip of this app running in high-res in OS5. If I was a programmer I would want to get people stirred up over my OS5 ready mp3/wav/wma/ogg/etc player due out in the fall as an example.

RE: Multimedia apps etc.
bcombee @ 7/23/2002 11:27:05 AM #
Currently active NDAs would cover OS versions after OS 5, plus prerelease hardware. PalmSource has released large amounts of information on OS 5 in public forums, and the Palm OS 5 Simulator is available for anyone to download from palmos.com, so its not under NDA. I've already seen several apps that have been noted as working on OS 5.

--
CodeWarrior for Palm OS technical lead
Programming help at www.palmoswerks.com
RE: Multimedia apps etc.
I.M. Anonymous @ 7/23/2002 11:41:36 AM #
So if I am reading your statements correctly, the NDA would cover prerelease hardware but not OS5 applications, so developers COULD go ahead show us screenshots etc of apps running on OS5 that would take advantage of ARM-based hardware?

Its hard to get excited about ARM processors unless software for things like mp3 and better video will be a reality at the time devices like the Oslo ship.

Sounds like Classic & OSX

I.M. Anonymous @ 7/23/2002 12:22:35 PM #
Apple did the same thing to assist the transition for their current OS9 users to OSX. It all worked fine in the end. I believe that this will work out for Palm too.

It's a good idea for users to be able to use older apps still on their new OS5 devices. But it looks like OS6 will be the ultimate upgrade for Palm users. Of course if Palm is still alive and nothing happens bad before then.

It's nice to have some more info on OS5, Ed. Now we need some secret pics of these devices. We'll see if it's all worth it in the next couple of months.

RE: Sounds like Classic & OSX
I.M. Anonymous @ 7/23/2002 2:16:56 PM #
of course, you have Nagel running the show and he is a formal Apple-ite.

Maybe Palm will start running those "Switch" commercials too?

RE: Sounds like Classic & OSX
I.M. Anonymous @ 7/23/2002 2:47:53 PM #
Nah. I think the shoe is on the other foot in this case. Most of us--even Palm OS fans--were feeling pretty gloomy about the platform's future during the last couple years but I think OS5's imminent release, despite its relative ho-hum-ness, and Sony's enthusiastic hardware development have restored a lot of hope in Palm OS and sales continue to be dominant for Palm OS devices.
RE: Sounds like Classic & OSX
hotpaw4 @ 7/23/2002 2:50:05 PM #
But Apple did a lot better in their transistion from M68k to PowerPC CPU's. Metrowerks had an Mac IDE which could recompile an entire application to native PPC code available at MacWorld in January, before the first PowerMacs shipped to the public in April '94 (I still have a CD). It took about a day to convert and recompile a medium sized application (which included sprite graphics and a byte-code interpreter).

There are no publicly available toolchains to create ARM native application for PalmOS yet (just gcc for armlets, you get to roll your own linker...).

Top View Full Comment Thread
Achtung! Only the first 50 comments are displayed within the article.
    Click here for the full story discussion page...

Account

Register Register | Login Log in
user:
pass: