Benny Löfgren SYSOP
<2615>
· Text 653 · w6 · kommentar
1985-06-28 05:47
Ärende: .ABS-filer
En ABS-fil är uppbyggd av ett antal datablock, vart och ett bestående
av en 'header' och en datadel. Om man stöter på ett datablock som inte
har någon datadel betyder det end-of-file. Headern ser ut så här:
Byte Förklaring ----------------
0 Flagga, 0 = datablock följer, 255 = Slut på datablock i denna
record (dvs. läs nästa sektor och börja om från början)
1 Längd av datat i detta datablock. Om denna byte är lika med
0 betyder det att man har end-of-file. Då kan man läsa filens
startadress i adressfältet i denna header.
2 Används ej (är alltid 0).
3 Laddadress till detta datablocks datadel. Om ingen datadel finns
betecknar denna och de följande tre byten filens entrypoint.
4 Ettkomplement till byte 3
5 Laddadress, låga delen
6 Ettkomplement till byte 5
Därefter följer ett antal binära data, antalet bestäms av byte 1 i headern.
Direkt efter binärdatat kommer en byte rak checksumma av binärdatat,
dvs man räknar samman alla bytes i datadelen och maskar med 255. Efter
checksumman följer ytterligare datablock. Observera dock att ett datablock
inte får finnas över en sektorgräns. Observera dessutom att om första
byten i headern är 255 behöver inte nödvändigtvis resten av headern följa
(jfr ADDOPT.ABS, där första byten är 255 för att få laddaren att skippa
första sektorn, som innehåller filerna som skall laddas).
Allt taget fritt ur minnet med reservation för eventuella fel.