= 4.1. Note that http://www.nots..." /> = 4.1. Note that http://www.nots..." /> = 4.1. Note that http://www.nots..."/>

Need Palm Desktop datebook.dat file format

3.3k Views Asked by At

I'm looking for documentation on the file format of Palm Desktop's "datebook.dat" file for versions of Palm Desktop >= 4.1.

Note that http://www.notsofaqs.com/datebook_dat.php documents part of the <4.1 datebook format, but I'm looking for the current "Calendar" format used by the current version of Palm Desktop.

There exist Perl and PHP scripts that attempt to reverse-engineer portions of the format, but a complete spec would be most helpful.

I could not find anything on the Palm Developer Web site.

The only additional clues I have are

  1. The first four bytes of the file are "0xCAFEBABE" just like in Java class files and Mach-O files (?!)
  2. A forum post in a user group mentioned that Palm was using some kind of "MS Serialization" technique and linked to a defunct post on a previous incarnation of the Palm Developer Network

Any help would be greatly appreciated! For example, if anyone knows of a Microsoftish serialization format that uses the "0xCAFEBABE" magic number, this might help my sleuthing.

6

There are 6 best solutions below

0
On

Was just searching for the same thing and stumbled across this discussion. The best I've found so far is dbapipe which can read and write dba files (using its own text format as an intermediate representation). The program handles the 4.1.4 and earlier formats. This doesn't constitute documentation, of course, but a working program is a good start. The program is written in C and the download includes a precompiled version for Windows.

EDIT:

Note that dbapipe fails if it hits a calendar entry with a location.

One other resource I've located is a Palm datebook manipulation module that is part of the Gabbie natural language command system. Its palm.c file has some documentation.

It's a pity Palm didn't provide official documentation for their file formats. I wonder if part of this is embarrassment about the kludgey design.

1
On

Look here, there is a very good reader on perl on which you can see the format.

0
On

I don't want to frustrate you, but it's almost impossible. I have a palm for 5 years and spent hours and hours to sync my palm with any open platform.

It still does not work properly. The only working solution is sync with Outlook.

There's no official documentation about Palm's file formats. In my opinion, they are not interested in open delevopment and Palm Inc. has more important problem than their file formats.

I gave up. It's a pity, but there was no option.

0
On

Another place to look would be the jpilot project. It's a linux PIM which creates palm databases which can then be sync'ed directly to the palm.

0
On

Palm Desktop 6 ("Palm Desktop by ACCESS") stores files in MS Access format. Prior versions of Palm Desktop (e.g. 4.x and earlier) store files in a proprietary format, as others have mentioned. If you use your Palm Desktop to save your calendar in Datebook Archive format (as opposed to Calendar Archive format, which confusingly also uses a DBA extension), it will be in a format that is documented fully here: http://www.notsofaqs.com/palmrecs.php.

I know these docs are complete because I used them to write Palm2CSV, a Palm to CSV/iCal converter that works with both Palm 4 and Palm 6 files. (It handles Palm 6 files by first running them through MDBTools, then parsing the CSV output.)

3
On

The format, IIRC, is the serialization format used by the Microsoft Foundation Classes (MFC). It's highly dependent on the actual implementation of the C++ objects that are being saved to disc. Since MFC source code comes with Visual Studio, you might be able to look at that to figure out what is happening.

However, with the update to the 4.1 Desktop application, the binary format did change to handle the new fields that were added. I'm not privy to those changes or if the code used the same method that the original desktop did.