[Address.dat/Address.aba] [Datebook.dat/Datebook.dba] [Memopad.dat/Memopad.mpa]
[Todo.dat/Todo.tda] [Users.dat] [Not So FAQ's] [Home]

Palm Pilot Desktop Software File Structures



File Formats

The various .dat files with their corresponding archive (.aba, .tda, .dba, and .mpa) as well as backup (.bak) files all have the exact same internal file structure.

Corrections Made April 19, 2000

  1. Address.dat and address.aba
  2. Datebook.dat and datebook.dba
  3. Memopad.dat and memopad.mpa
  4. Todo.dat and todo.tda
  5. Users.dat


A short tutorial on programming to read the desktop formats using a Basic Language or Perl is available here.

Sample demo programs can be found here...

Important Sources of more information on the Palm Desktop file formats

User Supplied Comments


Cstrings are stored as follows:
  1. Strings less than 255 bytes are stored with the length specified in the first byte followed by the actual string.
  2. Zero length strings are stored with a 0x00 byte.
  3. Strings 255 bytes or longer are stored with a flag byte set to 0xFF followed by a short (2*Byte) that specifies the length of the string, followed by the actual string.

Date Fields

Date fields are stored as a long that represents the number of non-leap seconds since January 1, 1970 GMT. Note that this differs from the capabilities of the PalmOS representation on the handheld, which uses a 32 bit unsigned integer to represent the number of seconds since January 1, 1904.

Field Types

The schema mechanism uses field types to identify the data. The meanings of the field types are in the table below.

Number Meaning
0 None
1 Integer
2 Float
3 Date
4 Alpha
5 Cstring
6 Boolean
7 Bitflag
8 RepeatEvent

Last updated: July 24, 2003