2006-09-18

ITIL medal

:)

2006-09-15

UnKG patched

Unlock your Treo keyguard when SMS/MMS arrives.

Get it here.

2006-09-10

Debug Palm OS programs

Palm OS programs can be debugged using Palm Debugger at the ASM level.

BASIC USAGE

Standard method to attach:

  1. Use the debug version of palm simulator or emulator.
  2. Use the highest version of Palm Debugger.
  3. Choose "Emulator" in the "Connection" menu.
  4. Install and RUN your program on the simulator.
  5. Draw on the shortcut according to the doc from palm os.
  6. If the methods on the documents do not work, try to use 1 as the last symbol to draw.
  7. If you enter the debug mode successfully, your program to debug will hang.
  8. Type att and enter in the Debugger window of Palm Debugger
  9. Break! Set your break point and let the program continue.

Another method to attach:

  1. Follow the 1-3 steps of "Standard method to attach"
  2. Run your program till the simulator complain the error
  3. Select "Debug" in the simulator error dialog.
  4. Type att and enter in the Debugger window of Palm Debugger

BASIC DEBUG COMMANDS

  • Memory commands
    1. sc list A6 call stack
    2. il disassemble the code, tips:
      • il pc, disassemble from the current PC
      • <enter> after an il command, continue to disassemble
      • il <immediate address>, disassemble from the address
  • Break point commands
    1. br <address> break at address
    2. brd display all break points
    3. brc clear all break points
  • Flow control commands
    1. g continue the program
    2. s step into
    3. t step over

UNDERSTAND THE PROGRAM

It's hard to understand the program in the palm debugger as I do not know how to load the Palm OS core system trap symbols into the debugger. Now I use a static disassembler to help me understand the program.

The static analysis tools:

 Usage:

  1. Extract the resources using prc2bin: prc2bin <target.prc>
  2. Disassemble the code segment: pilotdis code0001.bin

FIND YOUR PilotMain()

If the program is compiled using Metrowerks CodeWarrior, you may found the similar asm code at the top of code segment:

PEA	-74(A6)
PEA -78(A6)
PEA -4(A6)
TRAP #15,$A08F = sysTrapSysAppStartup

This fragment indicates the program is starting.

L26	DC.B	'Error launching application'
DC.B #0
L27 DC.B 'PalmOS_Startup.cpp'

These strings means the code is compiled and linked into PalmOS_Startup.cpp. You can find the file under your CodeWarrior directory.


Between the two parts, you should be able to find the following or similar code:

MOVEA.L	-4(A6),A0
MOVE.W 6(A0),-(A7)
MOVE.L 2(A0),-(A7)
MOVE.W (A0),-(A7)
JSR L349
MOVE.L D0,D5
TST.B D3
ADDQ.W #8,A7

Please note the "JSR L349" line, it's a pretty long func call. The distance tells you the func should be your PilotMain. You may also analysis the PalmOS_Startup.cpp to find the PilotMain call point:

/* Call the PilotMain routine and get the result */
result = PilotMain(
(UInt16) appInfoP->cmd,
appInfoP->cmdPBP,
appInfoP->launchFlags);

/* Call destrcutor code provided by the compiler */
if (globals_are_setup)
{
__destroy_global_chain();
}

ENJOY YOUR DEBUGGING!

2006-09-09

daAddContact

A palm DA that add contact to the address book.

The source code and binary can be found here...

To track the software usage, please send an email to palmsrc AT gmail.com to request the rar password.

RightShiftCommandBar

Work on treo650 only.

Show the standard palm command bar when you press the right shift key of treo 650.

Installation

    Hotsync the RightShiftCommandBar.prc into your Treo650. It starts to work after the sync.

Config & interface

    None. The software hides itself. You cannot launcher it normally.

Uninstallation

    Remove it using palm standard "Delete" or any file management tools.

You can get the source code and binary here...

To track the software usage, please send an email to palmsrc AT gmail.com to request the rar password.

SMS for Tungsten W

2005年5月至6月,在我闲得成天上班没事做的时候,我写了这个软件。

这个软件让我感觉非常好,特此记录,哈哈。

发表于tompda,链接:http://bbs.tompda.com/viewthread.php?tid=1932043

后来自己没时间维护,申请了一个sourceforge工程:http://sourceforge.net/projects/smstw

源码在sf的工程中可以通过cvs访问到。

这里也可以访问到:下载... 

下载后的压缩包有密码,请发邮件给palmsrc AT gmail.com索要密码。

CJKOS has a special version for Treo650

I installed the CJKOS of my Treo650 into a TG50. It works if you do not reset the device. Once you reset the TG50, it just keep reseting.

 

Hold "UP" of the middle up-down key before and after reset, it makes TG50 skip all startup programs.

 

Remove the Treo650 version of CJKOS and install the standard CJKOS 4.621 fix the problem.

TG50 !!

Just brilliant!

2006-09-07

shanghai starbucks


私奔

把青春献给身后那座辉煌的都市。

想带上你私奔,去做最幸福的人。

你是否还有勇气,陪着我离去。

我的青春已经献给了这座城市,我已经没有了要做最幸福的人的理想,也失去了离去的勇气。

私奔……青春和梦想的挽歌。

2006-09-06

moon light


2006-09-04

the color


2006-09-03

ting ting


2006-09-01

WINE+TOUCHSCREEN+STARCRAFT

strong...

http://drler.com/news/wine-2129.html