|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
This program grew out of a desire to be able to process and generate old object and executable file formats. The initial targets were 16-bit 8086 operating systems, in particular CP/M-86, MS-DOS, Windows and ELKS (16-bit port of Linux). It was also a goal to be able to parse Intel OMF object files as well as as86 object files, to provide a drop-in replacement for the WATCOM and dev86 compilers.
| File format | CPU | Platform | |
Flat binary (.com) | Intel 8080 Zilog Z80 | CP/M-80 | |
| Intel 8086 | MS-DOS | ||
| Acorn ARM | RISC OS | ||
| Motorola 68000 | QDOS for Sinclair QL | ||
Relocatable (flat) binary (.r) | Motorola 68000 | Human68k | |
Page relocatable (.prl) | Intel 8080 Zilog Z80 | MP/M-80 | |
CMD binary (.cmd) | 8080 model Small/compact model | Intel 8086 | CP/M-86 |
FlexOS format (.186, .286) | FlexOS | ||
MZ (.exe) | Intel 8086 | MS-DOS | |
DL (.exm) | Intel 8086 | HP LX System Manager (untested) | |
NE (.exe) | Intel 8086 | Windows (16-bit) | |
| MINIX a.out | Combined/impure Split/pure | Intel 8086 | ELKS |
| Geode format | Intel 8086 | GEOS (unimplemented) | |
BW (.exp, .exe) | Intel 8086 | DOS/16M extender | |
P2 (.exp) | Intel 80286 | Phar Lap extender (untested) | |
P3 (.exp) | Intel 80386 | Phar Lap extender | |
MP (.exp)MQ (.rex) | Intel 80386 | Phar Lap extender | |
XP (.exp) | Intel 80286 Intel 80386 | Ergo OS/286 and OS/386 extenders (untested) | |
| 32-bit UNIX a.out | ZMAGIC (.exe) | Intel 80386 | DJGPP (prior to 1.11) |
OMAGIC (.exe) | Intel 80386 | early PDOS/386 | |
| COFF | Intel 80386 | DJGPP (since 1.11) | |
FlexOS 386 ( | |||
| Motorola 68000 | Concurrent DOS 68K ( | ||
PE (.exe) | Intel 80386 | Windows (32-bit) | |
LE (.exe) | LE (.exe) | DOS/4G | |
LX (.exe) | OS/2 (32-bit) | ||
PMW1 (.exe) | PMW1 (.exe) | PMODE/W (unimplemented) | |
| CP/M-68K binary | Contiguous binary | Motorola 68000 | CP/M-68K ( |
Non-contiguous binary (.68k) | CP/M-68K | ||
Contiguous binary (.68k)with CP/M-68K or crunched relocations | Concurrent DOS 68K (untested) | ||
HU (.x) | Motorola 68000 | Human68k | |
| Hunk | Motorola 68000 PowerPC | AmigaOS | |
| AppleSingle or AppleDouble Macintosh resource MacBinary | Motorola 68000 | Mac OS | |
| PEF | PowerPC Motorola 68000 | Mac OS (unimplemented) | |
| AIF executable | ARM | RISC OS (unimplemented) | |
| OMF executable | WDC65C816 | GS/OS (unimplemented) | |
CP/M-8000 binary (.z8k) | Zilog Z8000 | CP/M-8000 | |
Olivetti PCOS binary (.cmd, .sav) | Zilog Z8000 | Olivetti PCOS (unimplemented) | |
| Mach-O | PowerPC AMD64 ARM etc. | Mac OS X (unimplemented) | |
| ELF FatELF | Intel 80386 etc. | Linux | |
| BFLT | Intel 80386 etc. | μClinux | |
Apple ][ (.bin) | MOS 6502 | Apple ][ (untested) | |
Atari 400/800 (.exe) | MOS 6502 | Atari 400/800 | |
Commodore PET/VIC-20/64 (.prg) | MOS 6502 | Commodore PET/VIC-20/64 | |
CP/M Plus (.com) | Intel 8080 | CP/M Plus (untested) | |
FLEX (.cmd) | Motorola 6800 Motorola 6809 | FLEX (untested) | |
| UZI (Unix-like) | Zilog Z80 | UZI (untested) | |
| UZI-280 (Unix-like) | Zilog Z280 | UZI-280 (untested) | |
| Xenix b.out | Intel 80286 | Xenix (unimplemented) | |
| Xenix x.out | Intel 80286 | Xenix (unimplemented) | |
| D3X1 | Intel 80386 | D3X DOS extender (unimplemented) | |
| Adam | Intel 80386 | Adam Seychell DOS32 extender (unimplemented) | |
| 64-bit Flat file | AMD64 | DX64 DOS extender (unimplemented) | |
| 64-bit LV file | AMD64 | DX64 DOS extender (unimplemented) | |
| File format | CPU | Used by |
| as86 object | Intel 8086 etc. | as86 |
| UNIX a.out | DEC PDP-11 | GNU tools |
| COFF | Zilog Z80 Zilog Z8000 | GNU tools |
| ELF | Intel 80386 etc. | GNU tools |
| Mach-O | PowerPC AMD64 ARM etc. | Mac OS X (unimplemented) |
| xa object | MOS 6502 | xa |
| Intel Relocatable Object Module | Intel 8086 Intel 80386 | 16-bit Microsoft |
| Archive format | independent | UNIX linkers |