Changes

AMSDOS Header

14 bytes added, 21:11, 14 December 2017
In [[AMSDOS]] it is possible to store files in two ways: headerless and with a header. Headerless files are often files which were created with [[OPENOUT]] and ''SAVE"filename",a''. Programs normally have a file header, which is consists consist of 128 bytes and contains contain the following data:
<pre> Byte 00: User number (value from 0 to 15 or #E5 for deleted entries) Byte 01 to 08: filename (fill unused char with spaces) Byte 09 bis to 11: Extension (fill unused char with spaces) Byte 16: first block (tape only) Byte 17: first block (tape only) Byte 18: file type-byte (0: basic 1:protected 2:binary) Byte 21 and 22: loading address LSB first Byte 23: first block (tape only?) Byte 24 and 25: file length LSB first Byte 26 and 27: execution address for machine code programs program LSB first Byte 64 and 66: 24 bits file length LSB first Byte 67 and 68: checksum for byte bytes 00 to byte -66 stored LSB first Byte 69 to 127: undefined content, free to use</pre>
To calculate the checksum, just add byte all bytes from 00 up to and including byte 66 to each othertogether.
This is only a summary. All details are in [[Firmware Guide]] chapter 9, page 4.
[[Category:Programming]] [[Category:Disc Operating System]]
2,562
edits