Program Format

Offset  Size  Description
0x0     0x4   Jump instruction
0x4     0x4   Signature - "PSv0"
0x8     0x1   Internally used flag
0x9     0x1   File type - 'P'=program
0xA     0x2   Offset in file to program comment
0xC     0x2   Number of ROM relocation entries
0xE           ROM relocation table.  Entry format follows:
 +0x0   0x2    Offset in file to ROM reference
 +0x2   0x2    Number of ROM function reference should point to
N/A     0x2   Number of libraries used.  Library entry format follows:
 +0x0   0x8    Library name, null padded, must be all lowercase
 +0x8   0x2    Number of references in program to this library
 +0xA          Library relocation table.  Entry format follows:
  +0x0  0x2     Offset in file to library reference
  +0x2  0x2     Number of library function referenced
N/A     0x2   Size of BSS section in bytes
N/A     0x2   Number of BSS relocation entries.  Entry format follows:
 +0x0   0x2    Offset in file to BSS reference
 +0x2   0x2    Offset in BSS section that is referenced
N/A           Loader stub code
N/A           Program code

Library Format

Offset  Size  Description
0x0     0x4   Jump instruction to 'Libraries are not executable' message
0x4     0x4   Signature - "PSv0"
0x8     0x1   Reserved (0)
0x9     0x1   File type - 'L'=library
0xA     0x4   Jump instruction to library loader code
0xE     0x2   Number of exported functions/variables in library
0x10          Function/variable table.  Entry format follows:
 +0x0   0x2    Offset in file to function/variable
N/A     0x2   Number of ROM relocation entries
N/A           ROM relocation table.  Entry format follows:
 +0x0   0x2   Offset in file to ROM reference
 +0x2   0x2   Number of ROM function reference should point to
N/A     0x2   Number of libraries used.  Library entry format follows:
 +0x0   0x8   Library name, null padded, must be all lowercase
 +0x8   0x2   Number of references in program to this library
 +0xA         Library relocation table.  Entry format follows:
  +0x0  0x2   Offset in file to library reference
  +0x2  0x2   Number of library function referenced
N/A           Loader stub code
N/A           Library code

Back to PlusShell Home

Questions? Comments? E-mail me at river@gte.net
This page is maintained by Rusty Wagner