File Structure

All Psion files start with a block of 4 longs: the Header Section. The first three describe what kind of file this is, the last is a checksum.

The exact structure of the remaining file depends on what kind of file this is. But some general things can be said.

ID 10000037 files

Examples of these files are the Word File and Sheet File.

Address Size Description

0000 L UID1: 10000037

0004 L UID2

0008 L UID3

000C L UID4: Checksum of UID1, UID2 and UID3

0010 Offset Offset of Section Table Section

At offset 0010, usually a long is found with the address of the Section Table Section. The Section Table Section contains a list of section identifiers and their addresses.

ID 10000050 files

NOTE: BELOW DATA IS INCOMPETE AND PARTIALLY INCORRECT! SORRY...

Examples of these files are the Data File and Agenda File.

Address Size Description

0000 L UID1: 10000050

0004 L UID2

0008 L UID3

000C L UID4: Checksum of UID1, UID2 and UID3

0010 L Unknown

0014 L Unknown: always 00 00 00 00 ?

0018 LListB The file data

LListE Section start table

There are two ways in which you can see this structure. On the one hand, it contains, starting on address 0018, a sequence of a LListB, a word and a LListE. The LListB contains the bulk data, the LListE contains 5 byte elements with offsets, relative to address 001E, in each last long where all sections start.

On the other hand, at address 001E a list of sections start. Each section starts with a word encoding the length of the section. Seen in this way, the Section Start Table is part of just another of these sections.