Treo 700p: old and busted. Centro: new hotness.

My Treo met an untimely death when I kicked a cup of tea into it, so I upgraded. This passing made me sad, because I had just painted the Treo's case to divest myself of the cognitive polution of the logos and text that plaster it like a NASCAR racer (Krylon Fusion FTW), but it turns out that the Centro is better in every way. Well, in one way. It has almost exactly the same specs (except for somewhat worse battery life) but it's a lot smaller. Did I mention a lot smaller?

They also switched from SD to MicroSD. Have you seen these things? They're ridiculous! Nothing removable needs to be that small. It's like a joke: like the "Noisy Cricket" gun from Men in Black.

Unfortunately, even though that's an 8GB card, the Centro seems to only see 4GB of that. What year is this? What kind of pinheads are still writing device drivers that make those kinds of assumptions?

Tags: , , ,

55 Responses:

  1. Noisy Cricket, perhaps?

    I find the nesting SD adapters (Micro->Mini->SD) oddly comforting.

    • autopope says:

      For added yucks you can get CF->SD adapters, and then put the CF adapter in a PCMCIA card.

      • mhoye says:

        I don't know if you can still find these anywhere, but those and the CF/IDE adapters are great old-laptop-ressurection widgets.

      • jace says:

        I can't believe I actually have both -- an SD to CF adapter and CF to PCMCIA adapter. However, I no longer have a PCMCIA slot. I have instead photographers' storage that reads straight from CF.

    • detritus says:

      I think the memory stick micro for my phone is smaller than that. I'd take it out for a photo, but i'm afraid i would lose it.

  2. ciphergoth says:

    How annoying is the keyboard at that size?

    Is PalmOS still the best the world has to offer as a phone OS? I despair a little...

    • jwz says:

      The keyboard itself is only slightly smaller than on the 700; it's fine.

      And: yes. It is.

      • fu3dotorg says:

        Palm . . . does it then run Dali?

        (As in; or have they somehow 'invented themselves' beyond earlier standards, not as in; programmer's time and resources have no value; please fix me.)

        • jwz says:

          Yeah, DaliClock works fine on modern PalmOS devices. Though it runs in 160x160 instead of 320x320, because it runs as a 68020-emulated app instead of a native ARM app, since there exists no ARM-targeted PalmOS development environment that runs on MacOS or Linux.

          It works in color, though.

          • strspn says:

            What won't run from an ARMlet? The graphics initialization?

            • jwz says:

              I have never heard of an ARMlet before today, and still haven't found any documentation on what they are or how to use them, but if you can tell me how to compile my code (on a Mac) such that at runtime (on the Palm device), WinGetBitmap() gives me a 320x320 frame buffer instead of a 160x160 frame buffer, well, then we'd be getting somewhere.

              I had been under the impression that the only way to emit ARM executables for PalmOS was to be running NT.

              • strspn says:

                Download and install PRC-tools OSX first.

                Then look at this simple sample code which is far better than the instructions for explaining what to do. Basically in your armlet .c:

                #include <PceNativeCall.h>
                #include <Standalone.h>
                STANDALONE_CODE_RESOURCE_ID (id)

                Where id is usually 1 for just one armlet; compile it with:

                arm-palmos-gcc -Wall -palmos5 -O2 -c myarmlet.c

                link it with:

                arm-palmos-gcc -nostartfiles -e start -o myarmlet myarmlet.o

                where start is a function of the form unsigned long start(const void *emulStateP, char *userData68KP, Call68KFuncType *call68KFuncP) {...} containing your code.

                In your 68k application wrapper.c:

                #include <PalmOS.h>
                #include <PceNativeCall.h>

                and get the function pointer to start from

                MemHandle startH = DmGetResource('armc', id);
                void *startp = MemHandleLock(startH);

                and call it with:

                PceNativeCall(startp, NULL);

                compile the wrapper with:

                m68k-palmos-gcc -Wall -palmos5 -O2 wrapper.c

                then hook them together with:

                build-prc -n Armlets -c ARML wrapper myarmlet

                For accessing WinGetBitmap(), do this or this with libarmboot.a.

                Good luck.

                • strspn says:

                  oops, compile the wrapper so it doesn't end up as a.out:

                  m68k-palmos-gcc -Wall -palmos5 -O2 wrapper.c -o wrapper

                  • jwz says:

                    Ok, I've looked at this stuff and it still leaves me saying what the HELL?

                    I have no idea what's going on here. Why is there no documentation on this? When would I use any of these things and what exactly do I accomplish by so doing?

                  • strspn says:

                    The docs are here I've never built Palm apps on OSX so I didn't know that you wouldn't get the docs with the OSX PRC-Tools.

                    If you put your code inside the armlet's start function as above, and declare WinGetBitmap() as

                    PACE_CLASS_WRAPPER(BitmapType *) WinGetBitmap(WinHandle winHandle)
                    PACE_EXEC_RP(sysTrapWinGetBitmap,BitmapType *)

                    and link the armlet against libarmtools.a from the above site, you should get a 320x320 bitmap.

                    The answer to the underlying question is that phone manufacturers are not motivated to document or otherwise support their APIs because (1) nobody buys phones based on the number of applications available for them, and (2) they are very ambivalent about competition for application sales. It's the same way with Symbian, WinCE, and even Java ME has sucky docs and stupid hoops you have to jump through compared to their mainstream x86 etc. stuff.

                  • jwz says:

                    Damn this is hairy.

                    I assume that the only way to make the same executable work on older PalmOS devices (including POSE) is to include two copies of my code, one in 68k and one in ARM, and run the 68k version if the ARM version fails to load... but do all of those -palmos5 command-line arguments mean that I'm building executables that won't even get that far on older systems?

                    And will I have to do that PACE nonsense for every system call I make? (WinScreenMode, ErrDisplay, etc.)?

                    (I haven't actually gotten any of this shit to link yet, so I can't tell for myself.)

    • thargol says:

      How annoying is the keyboard at that size?

      It doesn't matter. You're not in the USA, so forget about the Centro. A Nokia E90 is the only sane option, and the keyboard on that is fine (the only downside is that it doesn't play nicely with US networks for anything other than voice calls). Mine was 20 quid on O2.

      • zonereyrie says:

        For now - a GSM Centro has been spotted, leaked, and photographed several times now. A release seems inevitable.

        • thargol says:

          Perhaps so, but an E90 will still remain the only sane option. The problem isn't the lack of a GSM Centro, it's the lack of CDMA E90. Which is fine for those of us in Europe, as we get the better phone...

          • benediktus says:

            but europeans (including romania) don't want to buy stuff from nokia anymore, do we?

            • wikkit42 says:

              Heh, europeans complaining about globalization. Thanks, you made my evening.

              Once you're a member of the United Nations, NATO, the G8, the G4, Kyoto signatory, OECD, WTO, and the most powerful european country in the IMF, you've long ago signed away the right to complain about globalization.

              • benediktus says:

                au contraire, mon ami. the europeans may complain, because the globalization rules are not made by them but the worldwide capital and market. the role of given voters of given countries is to neglect., no pointy fingers when it comes to world politics, please. who governs your country?

  3. zonereyrie says:

    It is more than a driver issue - it is a Palm OS issue. Palm OS has a 32-bit addressing limit == 4GB.

    • laurent_atl says:

      A SD card is not a RAM chip though. From a software point of view it is a storage device, similar to a hard drive. 32 bits operating systems are not limited to 4G storage. So this is a driver/filesystem issue.

      • zonereyrie says:

        Palm OS doesn't know from storage devices. Remember, the guts of Palm OS are ancient and it all evolved from running on RAM. Everything since then has been tacked on, including their file system support. The 4GB limit is deep in Palm OS, it can't address anything beyond 32-bits. That was one of the things Palm OS 6 was supposed to fix with new underpinnings. And now Palm OS II, their Linux-based project which won't be out until 2009 (if anyone still cares by then - and I say that as a Palm OS user myself), is the Next Best Hope.

        Palm OS Garnet, the current incarnation, is seriously creaky at this point. It was meant to be replaced several years ago, so it has soldiered on well past its design life. But it is also why we don't have 3G GSM Palm OS phones - Garnet can't handle the requirements of UMTS/HSDPA without a major overhaul. The implementation differences in the systems allowed it to handle CDMA/EV-DO, but just barely.

        • jwz says:

          So, it turns out that if I manually put 8GB of data on the card, the Centro can access it all: it sees all the file names, and I can play all 8GB of MP3s. But it still reports it as a 4GB card with less-than-4GB on it.

          So I suppose the reason Missing Sync refuses to put 8GB of data on the card is because it's believing the PalmOS lie about remaining space.

          Hopefully this means it's a relatively easy fix, which means maybe it will actually happen some day (here's me holding my breath).

  4. yesthattom says:

    I could swear I saw something about a Centro-only software update that lets you use a >4G card. I ignored it because I don't have a Centro, and now I can't find it.

  5. dmose says:

    Why did you choose a Centro instead of a 755p?

  6. webmaven says:

    "It's like a joke: like the "Noisy Cricket" gun from Men in Black."

    These actually remind me of the 'microsofts' that people stuck in their head in Gibson's Neuromancer oevre.

  7. melanina says:

    It is the new hotness. The new teensy awesome hotness.

  8. dr_memory says:

    MicroSD is coming way too close to the Event Horizon of shrinking storage mediums: the limit beyond which it is possible to accidentally inhale your last three months' worth of photography.

    (And man do I wish the Centro were available on Verizon. Oh well, my old 700p seems to be mostly soldiering on...)

    • jwz says:

      Seriously, I've taken pills bigger than this thing. I've found larger items in my nose.

      • webmaven says:

        Pshaw. I've had much larger fragments of my anatomy surgically removed (also through my nose, BTW).

        Luckily, I have a large nose.

  9. Someone needs a manicure.

  10. badc0ffee says:

    There must be something screwy/ambiguous about the SD standard. So many phones/PDAs seem to have a hard coded limit of 1GB, 2GB or 4GB.

    I bought a 2GB miniSD card about a year ago that had a formatted capacity of only 1GB. I thought I had a knockoff card, but it turned out the card was "partitioned" in the factory to a single 1GB volume so it would work with all the buggy phones out there. SDFix2G fixed the card and my phone saw all 2GB of it. There might be a similar utility for the 8GB cards.

    • eqe says:

      Well, there is the SDHC clusterfuck, but that only causes issues at 2GB. I suspect most of the rest of it is just lazy programmers saying "nobody could possibly need more than $X GB."...

    • jwz says:

      Well, it's definitely formatted as 8GB; when I mount it on my Mac directly, it sees the full size.

  11. cetan says:

    I remember reading (and, of course, I don't remember where) that MicroSD cards are not meant to be removable. They're sort of a user-decides-how-much-storage-they-want-but-don't-really-take-it-out sort of idea. Transfers from card to computer were supposed to be via USB or Bluetooth or WiFi or some other magic/nonsense.

  12. lohphat says:

    "Hello, my name is LohPhat and I have a problem."

    I dumped Treos 2 years ago because the damned OS still has no MMU features to keep a buggy app from trashing memory. That and poor QA + suicidal firmware updates.

    I toked on the big corporate weenie and got a crackberry. Mmm java OS. Useable. No more stylus.

    My new 8320 from t-mobile has UMA ( -- basically voip and data over wifi. Since I travel a lot out of the country it has dropped my phone bills dramatically -- no more $1.30 (or $5 in Russia) per minute roaming fees. On wifi the phone thinks it's in the US and all US calls are local and free (don't count towards my minute plan). All t-mobile hotspots auto-connect, again free calling; so many airports and Starbucks to choose from.

  13. omni_ferret says:

    The Nokia tablets already have a VM or two to choose from to emulate Palms. Upgrading might be slicker outside Palm soon.

  14. Not sure whether you care, but Matt Siber moved the URL for the Untitled Project (and appears to have some other newer stuff along the same lines, not all of which I'm sure was there four years ago).

  15. unwiredben says:

    Have you verified that you can only see 4GB of files on the card. IIRC, the drivers in the Centro can access the full 8GB of storage on the card, but the VFSVolumeSize API in Palm OS Garnet only can return unsigned 32-bit values for the total space and space used.

  16. violentbloom says:

    the same specs as the treo you say...
    didn't you have problems with your sd not working on your treo?

  17. mhagler says:

    if those are your fingers holding the microsd card in the photo please for the love of god either trim or paint your long fingernails!!