Ogg/Vorbis on Palm OS
loshwomp writes "We have built an audio player for Palm OS, and a public beta is available now. The beta includes support for Ogg/Vorbis audio, and a future beta will include plug-ins for more formats, as well as the plug-in SDK itself."
if your palm uses smartmedia or compact flash cards than you can store up to a gig of music depending on how much money your willing to shell out. more info here
The Blade Itself
but it's still good to see it on the palm as well.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
The main stumbling block to Vorbis implementations was that the reference decoder was floating point intensive, whereas MPEG decoding can be done with mostly integers. However, there's now the "Tremor" reference decoder which uses purely integer math.
It's not really that difficult of a format. The only real oddity is that you have to buffer in the first few Ogg pages quickly in order to set up the codebook and other Vorbis headers, whereas MPEG uses discrete frames; but, once you've got the headers parsed, Vorbis is a relatively straightforward format.
There are two answers to your question. First, the new Palm OS v5 was designed to run on much more powerfull processors. Second, there was a problem for a while with ogg not having a integer only decoder algo. Lots of pdas aren't equipped with a floating point unit, so that was a real show stopper. Well, not anymore, since the integer version of the decoder is now also available with an open license.
Let's clear up some things to stop the inundation of amazingly stupid posts. This software DOES NOT work on Palm's running OS 4 or below. It only runs on the new Tungsten T, which uses a 200Mhz ARM processor, and runs OS 5.0. The Tungsten T also includes expansion for memory cards, and has a headphone jack, making it quite useful for music. In fact, Palm is expected to release some sort of MP3 player for the device, but did not include one because it was not something "the target audience wanted."
So please no more of the "wow, decoding music with a 33Mhz processor would never work," "wow, I can hold two songs in my 8MB of RAM," etc., etc. comments. You are right, the old Palms WILL NEVER play music files; it is simply infeasible.
Three fair questions. Answers, respectively, are "a small collection of Palm OS and Vorbis enthusiasts", "yes", and "by submitting it here".
Free bonus information:
The memory space in palms, even from the early days, was based on 'cards'. The memory built into the palm unit is all addressed as card 0 (even though you could not remove this 'card' of memory without some soldering!) Palm did this because they envisioned a day when additional memory or other resources would be added to a palm.
With the 500 series, that day finally came. With the 500 seris, an additional card slot is available, card 1. (The same holds for the *VASTLY* superior Sony Clies, which use their memory stick technology.)
These cards in the M500-series can be up to about 32MB for the expensive ones. A recent break through in memory production might double this. (This is the same old story about memory!)
For the clie line, the memory stick cards can hold up to 128 MB. This of course will double in a short while.
This compares with about 16 MB max on card 0 for the M500 and clie NX series. Why is memory so limited on card 0? Well, it's all about battery life. The reason people like palm so much is that they sip batteries (or at least used to before color screens). You used to be able to go weeks between recharging. Even with color screens, you can go a week or so before a recharge becomes critical.
Since palms use trickle DRAM to keep memory fresh, 16MB of memory means that you need to keep draining the battery EVEN WHEN THE UNIT IS TURNED OFF. (The processor, however, is not using significant power in sleep or doze mode.) Not much power is used, but it adds up. Now, if you had 128MB of ram in a palm unit, all with trickle DRAM, the unit would have a fraction of its current battery life--enough to make the device a real nuisance! Some people might like much memory, but they probably would be using their battery to refresh unallocated parts of memory anyway.
So, palms tends to have small memory card 0, and have long battery life. Palm made the judgment that people need about 16MB. Sony came to the same conclusion. Somewhere, the marketing people talked to the engineers and UI folks about how much memory is needed, how often recharges would be needed, etc. etc. In fact, Palm is so strict about this that for the Zire (their $99 'entry' palm), they downgraded the memory to just 2MB (what they estimate you'll need for its intended uses) and nixed the color screens. The result: a unit that guards Palm's tail end market from competition from the cheapo Franklin pda-units.
Is this important? It is for many people. I know plenty of friends who own an iPaq, and they can only use the device full-out for part of a day. (If you are chained to an outlet, why not just cary a small vaio or something?)
So, yes, there's not much dram on a palm unit. But, there are non-volatile memory cards available, and they're getting cheaper.
That being said, it should be noted that palm is, in my opinion, a f*cked company. They've lost market share, from 90% to 50% and falling. And now, there's actually competition from many players. They actually did a _reverse_ stock split to avoid delisting.
Plus, they *ROYALLY* pissed people off with the M505-->M515 bug, and by failing to issue a recall on the 505s. Palm's only chance, in my opinion, is in the Palm OS 6. They promise that Palm OS6 will be for Palm what OSX is for Apple--revolutionary.
If it's not, they've got jack sh*t to offer, and will have to compete with Microsoft. They're toast!! Oh, one more thing. Why does *every* damn story have to link to even the most basic URL. Like when the link to a story in the Register, there's a link to the story.... and in case you have bricks for brains, they also have a bonus link to the Register home page. Moronic.
Ok, my pizza is finally here. I'm done babbling.
any jackass could have done this port in, oh, 5 minutes.
the palm tungsten t uses a texas instruments omap cpu. the omap is not just an arm. it is an arm-9 and c5500 dsp core on one die (what they call a dual-core). they share memory and dma channels and a special message-passing bridge, which makes it much easier to program and debug.
an omap can decode mpeg 2 at 640x480 at 30 frames per second. the arm 9 itself is fast enough to run the ogg tremor integer decoder without the dsp (i've seen it run on an arm-7 @74mhz, although it eats the entire cpu on that one).
the only thing it needed was user interface/io code and recompiling the tremor libraries. this is not much of a story, as any palm programmer could have trivially done this port.
PceNativeCall()
you might want to check your documentation again. we have successfully written a number of native ARM code chunks in our palmos applications.