While helping John Wilund integrate SrcEdit into PalmOS Simulator, we stumbled upon an interesting discovery: Ctrl Keys usually have a function AND generate USABLE keyDownEvent structures!

“Wow, that’s real useful, bub…” Actually, yes, it is. While coding your apps to use Ctrl-* in PalmSim may not be ‘worthwhile’ (Who really uses PalmSim, besides developers?), the primary functions of these keys may make testing and debugging much more convenient and realistic than before.

Continue reading »

Everyone’s favorite OnBoard source editor has received some new upgrades.

Primarily, SrcEdit now supports the use of ctrl-* keys on the desktop PalmOS Simluator, for easier editing in a desktop environment (SrcEdit is a far better text editor in terms of PalmOS coding than anything else, atm)

The new keys are:

  • Ctrl-U or Ctrl-Z for undo
  • Ctrl-X for cut
  • Ctrl-C for Copy
  • Ctrl-P for paste
  • Ctrl-B for Select All

All of these control keys are tested and verified to work (by me) on the Palm T|X simulator. For the standard GarnetOS Simulator found in the default PODS installation, Ctrl-A works for select all, also.

IMHO, OnBoardC works far better (and far more stable) than PODS has…. I recommend that everyone gives it a try.

The latest version can be download from the brainsware site here.

More on the T|X simulator and the ctrl-* keycodes later… ;-)

ps… If you have any trouble making these work in either the T|X or standard simulator, please email John Wilund at orland AT runbox DOT NOSPAM com or find him at the #srcedit IRC channel at irc://irc.freenode.net/#srcedit

On the Access site, you can download an Garnet OS Emulator. The emulator is called Janeiro, which was announced by PalmSource already two years ago and emulates both ARM and 68k. Finally, it has now been published. But it doesn’t include Garnet and Cobalt ROMs, but a Linux kernel on which runs Garnet OS 5.5 (in the launcher it says Palm OS Garnet 5.50).

You can download a TAR GZ archive (20 MB) which includes a Linux and a Windows version. The emulator is slower than other Palm simulators (the simulator runs Palm OS native on your x86 computer, whereas Janeiro is a true ARM emulator). The interface is similar to Palm OS 5.2 or 5.4, but it has other fonts and uses the untypical display resolution of 240×320. I couldn’t install Palm applications (at least not by Drag & Drop), and it only contained the standard PIM applications, preferences and one test application.

 ACCESS publishes Garnet VM Emulator

 ACCESS publishes Garnet VM Emulator  ACCESS publishes Garnet VM Emulator  ACCESS publishes Garnet VM Emulator

Other tests and information will follow soon.

StrPrintF is a derivative of the classic printf – Palm OS programmers who never programmed console applications(like me, I come from the VB side of the river) have little experience with this call. For them, this bit of code looks perfectly ok:

//Prefs.highscores[i].secs is a UInt32
StrPrintF(textparams[6].text,"%2d:%2d %s %s",
prefs.highscores[5].secs%60,
prefs.highscores[5].secs-60*(prefs.highscores[5].secs%60),
prefs.highscores[5].difficulty,
prefs.highscores[5].name);

However, when the app containing this code is run on the Palm OS Simulator, a very strange thing happens. The Palm OS Simulator crashes…on OS level. Windows gives a message about how the Simulator attempted to access memory around 0×000000043 or so(very low memory area) – cool. A Palm OS app that crashes Windows 2000 =).

The problem is the type of the secs field. When you specify a %d, StrPrintF expects a regular int, not a Int32. So, it reads only half of the data into memory, leaving the other half on the stack. When the two %d’s have been processed(one UInt32 taken off the stack, one to go), the %s’ses fetch their pointers off the stack, thereby getting the second UInt32. This then leads to a beautiful crash as experienced above…

This could be handy to keep in mind for another time I use StrPrintF….maybe it can help you all, too!

As you may have noticed, I am currently working on Binary Clock 3.0 for Palm OS. The WristPDA suport basically is there, but there still is this one little annoying fatal alert that I can’t reproduce, don’t know where it hides and generally can’t do much against.

Anyways, since I have my silent Acer notebook, running Gremlins over night is finally possible without getting my family in a “Kill him” mood. For all of you new to the term, gremlins are the automatical testing tool in the Palm OS emulator/simulator. What they do is simple – they fire random clicks, taps, drags and characters at your application until it breaks.

Sounds good…but totally sucks for Binary Clock for a variety of reasons:
They tend to hang around Global Find all the time
Don’t ask me why, but 50% of the time I see the gremlins taping around global find entering crap text. Basically, they waste my poor Centrino Duo’s cycles testing the Palm OS…as if PalmSource couldn’t afford an Acer Aspire :-) .

They seem to restart the application way to often
Same thing as above. Binary Clock gets restarted all the time, and thus the gremlins keep hanging around the hint form. Great!

They dont seem to exercise the functions “hidden behind menus” very much
Dont ask me why this happens…but 10000 gremlins didnt manage to change the Binary Clock color…

Please don’t take this as “gremlins are bad” – but gremlins or any other “screen mass tappers” are IMHO not useful as sole testing tool. They may find the one or the other bug, but can not replace the human testing crew doing a few “hammer tests”… . What do you think?

The Palm OS simulator has a dialog where the battery of the simulated Palm OS handheld can be configured. You can access it by right-clicking on the simulator, and then choosing Settings->Battery.

Most of the controls are straigtforward-but the realistic checkbox always confused me. Where does it take ita data from? What kind of battery is it calibrated to?

The answer is very simple-the battery level is “copied” from your windows box’s battery status. This comparison screenshot made on an Acer Aspire should make everything clear:

 PODS simulator realistic battery settings demystified

Ridiculously, the Palm OS simulator does not care about the AC status of the host machine. The Palm OS handheld never is shown plugged in, even if the notebook is charging….

© 2013 TamsPalm - the Palm OS / web OS Blog Suffusion theme by Sayontan Sinha