Palm Platform Hardware Intro to the • Total memory (RAM/ROM) – originals had only 128 Kb Palm OS and – currently average is 4 Mb (max. 8Mb) – 32 bit addresses application programming – 8, 16 & 32 bit data types – OS consumes 86 Kb in latest variation – cost of memory read or write 5 - 8 CPU cycles

Intro to PalmOS 2

Palm Platform Hardware (cont.) Palm Platform Hardware (cont.) •Display – refresh rate 85 Hz avg. • Processor – Originally supported 1 bit , then 2 bit monochrome, 8 – Dragonball chip (MC68328 / MC68EZ328 / monochrome and 16 bit color (with separate display MC68VZ328) controller). – Processor Speed 16 - 33 Mhz (Avg 20 Mhz) – 160 x 160 pixel size – 16 bit bus • Additional support HW –TCP –IR

Intro to PalmOS 3 Intro to PalmOS 4 Issues with OS / Application Issues with OS / Application development development • Quick Turnaround Expected •Power – Each time user must start application (no multiple – Limited processing power due to battery applications running at same time) – System is actually always running in a reduced power – Accessed multiple times a day as opposed to a PC consumption mode. which may be start a left running • PC Connectivity – Integral part of use of the Palm (Data backup on PC due to memory volatility)

Intro to PalmOS 5 Intro to PalmOS 6

Issues with OS / Application Issues with OS / Application development (cont) development (cont) •Memory – All memory on cards (ROM and RAM) • – Memory is always powered – non traditional, uses records as part of a database –RAM • Dynamic Heap – Stored in RAM with edits taking place in RAM – originals 32 Kb / average 128 Kb / max 256 Kb – depends on total memory • Backward compatibility – 40 Kb for OS variables / 32 Kb for TCP/IP stack – more so an issue with application development – 184 Kb for call stack, local, global and static variables • Remaining is for Program and Data Storage – many versions of Palm platform and OS –ROM • Built in application and OS stored in ROM • Screen size / input digitizer – more so an issue with application development – mapped to memory

Intro to PalmOS 7 Intro to PalmOS 8 Palm OS Platform Components Palm OS Platform Components (cont.)

Device Applications 3rd Party Applications • Device Applications & 3rd Party Applications Application Toolbox – User applications System Libraries 3rd Party Libraries • PIMS apps •Mail System System • iMessanger™ App Services Services Kernel •Games Hardware Abstraction Layer •etc.

Device Hardware 3rd Party Hardware

Intro to PalmOS 9 Intro to PalmOS 10

Palm OS Platform Components (cont.) Palm OS Platform Components (cont.)

• Application Toolbox • System Libraries – Provides interface to system utilities and libraries –TCP/IP –Examples: – Floating Point • CodeWarrior Interactive Development Environment (IDE) from ® • Palm OS ® Software Development Kit. • 3rd Party Libraries – Palm OS Constructor to create UI resources. –Java – Communications

Intro to PalmOS 11 Intro to PalmOS 12 Palm OS Platform Components (cont.) Palm OS Platform Components (cont.) • System Services • System Services – Memory Manager – Graffiti® Manager • Maintains the memory allocations for the system • Allows input character via screen OCR – Data Manager – Key Manager • Stores data in databases (like files) • interfaces to the HW keys on – Resource Manager – Pen Manager • Stores data like Data Manager except a allows a • allows input similar to the mouse on a PC tag of resource type and id

Intro to PalmOS 13 Intro to PalmOS 14

Palm OS Platform Components (cont.) Palm OS Platform Components (cont.)

• System Services (cont) • System Services (cont) – Sound Manager – Feature Manager • Allows the reproduction of 1 channel midi