[File Structure]
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][ID 10000037 File]
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][ID 10000050 File]
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.