Skip to content

68k Palm Pilot

IDA is the best disassembler for Palm Pilot programs. It supports all Palm OS versions and will even accept partially packed programs. The Palm Pilot uses a 68K processor.

The Motorola 68K family of processors is huge and very widely used. A few sample parts: MC68000, MC68010, MC68020, MC68030, MC68040, MC68330, MC68882, MC68851, MC68020EX, MC68302 Integrated Communication Processor, MC68306 68K/ColdFire, MC68331 68K/ColdFire, MC68332 68K/ColdFire, MC68336 68K/ColdFire, MC68340 68K/ColdFire, MC68360 Integrated Communication Processor, MC68F375 68K/ColdFire, MC68376 68K/ColdFire, etc.

Assembler code

code0001:00000204
code0001:00000204 ; =============== S U B R O U T I N E =======================================
code0001:00000204
code0001:00000204 ; Attributes: bp-based frame
code0001:00000204
code0001:00000204 proc            sub_204()               ; CODE XREF: sub_31E+A0↓p
code0001:00000204
code0001:00000204 var_68          = -$68
code0001:00000204 var_50          = -$50
code0001:00000204 arg_0           =  8
code0001:00000204 arg_8           =  $10
code0001:00000204 arg_A           =  $12
code0001:00000204
code0001:00000204                 link    a6,#-$50
code0001:00000208                 movem.l d3-d6/a2-a3,-(sp)
code0001:0000020C                 movea.l arg_0(a6),a3
code0001:00000210                 move.w  arg_8(a6),d0
code0001:00000214                 beq.s   loc_222
code0001:00000216                 addi.w  #-$8000,d0
code0001:0000021A                 clr.l   d4
code0001:0000021C                 move.w  d0,d4
code0001:0000021E                 bra     loc_224
code0001:00000222 ; ---------------------------------------------------------------------------
code0001:00000222
code0001:00000222 loc_222:                                ; CODE XREF: sub_204+10↑j
code0001:00000222                 moveq   #0,d4
code0001:00000224
code0001:00000224 loc_224:                                ; CODE XREF: sub_204+1A↑j
code0001:00000224                 move.w  d4,-(sp)
code0001:00000226                 move.l  #$636F6465,-(sp)
code0001:0000022C                 systrap DmGet1Resource()
code0001:00000230                 move.l  a0,d5
code0001:00000232                 addq.w  #6,sp
code0001:00000234                 bne.s   loc_272
code0001:00000236                 lea     aCouldNotLoadCo(pc),a1 ; "Could not load code segment #"