PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
Format PFP-Files Version 1

Ein PFP-File in der Version 1 beginnt immer mit einem 30-Byte großen Header, gefolgt von individuellen Nutzdaten

Alle Größenangaben mit 2 oder mehr Byte sind im Little Endian-Format!

Header

Der Header einer Version 1 Datei sieht so aus:

Byte 0: String "PFS-File" 8 Bytes
Byte 8: Hauptversion (1) 1 Byte
Byte 9: Unterversion (0) 1 Byte
Byte 10: File-ID ("DRV") 3 Bytes
Byte 13: Zeiger auf Name und Autor 2 Bytes
Byte 15: Erstelldatum 4 Bytes
Byte 19: Erstellzeit 3 Bytes
Byte 22: Datum letzte Änderung 4 Bytes
Byte 26: Zeit letzte Änderung 3 Bytes
Byte 29: Komprimierungsverfahren (0) 1 Byte

Beschreibung:

  • File-ID
    Diese 3 Bytes enthalten einen eindeutigen String, der Aufschluß über den Inhalt der Datei gibt. Dies kann z.B. "FNT", "PIC", "DRV", usw. sein.
  • Haupt- und Unterversion
    Diese beiden Bytes enthalten die Version für die jewwilige File-ID.
  • Zeiger auf Name
    Enthält die Datei einen Namensstring, wird hier ein 2-Byte-Pointer darauf gespeichert. Der Namensstring muß daher innerhalb der ersten 64 KByte der Datei stehen. In der Regel steht der Name direkt im Anschluss an den Header. Der String muss mit einem 0-Byte terminiert sein.
  • Zeiger auf Autor
    Wie beim Namensstring. Der Autor steht in der Regel direkt nach Header und Name, und muß ebenfalls mit einem 0-Byte terminiert sein.
  • Erstelldatum
    Ein 4-Byte-Wert der das Datum der Erstellung der Datei im Format "yyyymmdd" enthält. Eine Datei, die am 1. November 2007 erstellt wurde, enthält also den Wert 20071101.
  • Erstellzeit
    Dieser 3-Byte-Wert enthält die Uhrzeit der Erstellung, gerechnet in Sekunden seit Mitternacht. In Kombination mit dem Erstelldatum erhält man so einen Sekundengenauen Zeitpunkt der Erstellung. Der Wert errechnet sich folgendermassen:
    Sekunden + Minuten * 60 + Stunden * 3600
  • Datum letzte Änderung
    Ein 4-Byte-Wert der das Datum der letzten Änderung im Format "yyyymmdd" enthält.
  • Zeit letzte Änderung
    Dieser 3-Byte-Wert enthält die Uhrzeit der letzten Änderung, gerechnet in Sekunden seit Mitternacht.
  • Komprimierung
    Dieser Wert ist leider nicht genau definiert. Einizig der Wert "0" bedeutet "unkomprimiert".

Name und Autor
Im Anschluss an den Header folgen nun optional Name und Autor der Datei, sofern die Zeiger in Byte 16 und 18 dafür gesetzt wurden. Beide Angaben müssen mit einem 0-Byte terminiert werden.
Nutzdaten
Danach folgen die Nutzdaten. Deren Aufbau ist durch das PFP-Format Version 1 nicht vorgegeben.