(1) PRL Kopf - 256 Bytes
DB 0 ;Immer 0
DW Bytes ;Anzahl der Bytes im RSX-Programm. Diese
;umfassen den Code und initialisierte
;Gruppen von Daten.
DB 0 ;Immer 0
DW BSS ;Anzahl reservierter Bytes von nicht
;initialisierten Daten.
;Immer 0 in einer OVL Datei.
DB 0
DW Ladead ;Ladeadresse. Hier immer 0.
DB 0
DW CSBASE ;BIOS Link. Immer 0, außer Link-80 mit
;der Option [B] angewendet wird. Dann ist das
;die Basisadresse für die Code-Gruppe.
DS 244 ;Unbenutzt.
(2) Code / Daten
Dem Kopf folgen die Bytes für Code und Daten.
In PRL-Dateien wird der Code assembliert für die Ladeadresse 0100h.
(3) Verschiebe-Bitmap
Es folgen dann ((Bytes + 7) / 8) Bytes einer Verschiebe-Bitmap
(einem Byte in der Bitmap entsprechen 8 Bytes in der Datei).
Bit 7 entspricht dem niedrigsten und Bit 0 dem höchsten Byte.
Daher entspricht Bit 7 des ersten Bytes in der Bitmap dem ersten Byte im
PRL-Kopf.
Wenn ein Bit in der Bitmap gesetzt ist, dann ist das Byte in der Datei
verschiebbar. Für eine PRL-Datei, deren Kopf nach hexadezimal xx00
geladen wurde, gilt, dass zu dem verschiebbaren Byte hex xx addiert
werden muss.
In der Praxis wird der Kopf verworfen, so dass eine andere Formel gilt:
wenn das erste Byte des Codes oder der Daten bei xx00 liegt,
dann muss xx-1 zum verschiebbaren Byte addiert werden.
|