File format

From SizeCoding
Revision as of 10:41, 10 February 2022 by Byteobserver (talk | contribs) (Linux: add details of Linux ELF file format)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

File formats

File formats describe the content of a file.

This page is not about:

  • File systems which organize files on a partition
  • Disk images which save a (disk) file system within one file
  • Tape file formats, as they have a higher overhead usually

IBM PC

COM

System: MS-DOS

Header: 0 bytes see here

Native size unit: Bytes

Loads to: 0100h

Starts at:

File extension: .com

EXE

System: Windows

Header: 200+

Native size unit: Bytes

Loads to:

Starts at:

File extension: .exe

ELF

System: Linux

Header: 45 - 100+

Native size unit: Bytes

Loads to: Random location (see here)

Starts at: from 0x10000 to around 0x80000000 for 32bit binaries

File extension: none

Atari ST

TOS

System: Atari ST

Header: 32 Bytes

Native size unit: ???

Loads to:

Starts at:

File extension:


Amiga

...

System: Amiga

Header:

Native size unit: ???

Loads to:

Starts at:

File extension:

Commodore 64

PRG

System: CBM-DOS (Commodore, e.g. C64)

Header: 2 bytes (= start address)

Native size unit: Blocks (256 bytes including 2 bytes linking to next block)

Loads to: given address in header

Starts at: given address in header

File extension: .prg

P00

System: CBM-DOS / PC64 Emulator

Header: extended 26 bytes; also includes the name; see here

Native size unit: Blocks

Loads to: given address in header

Starts at: given address in header

File extension: .p00

Atari 8bit

XEX, EXE, COM

System: Atari

Header: 6 bytes or more (FF FF <start address> <end address>); see also here

Native size unit: ???

Loads to: given start address in header

Starts at: given end address in header

File extension: .exe .com .xex (any ending possible)

Amstrad

BIN

System: AMSDOS (Amstrad CPC)

Header: 128 bytes (includes filename, start address, end address, etc.; 95 unused bytes; see also AMSDOS-Header

Native size unit: kb

Loads to: given start address in header

Starts at: given end address in header

File extension: .bin (on PC)

Spectrum

Binary

System: ZX Spectrum

Header: none

Native size unit: ???

Loads to: special loader required; usually a BASIC program

Starts at: see above

File extension: ??? usually delivered within a disk image (.trd)