Build it
Antler builds from source into a single bootable hard-disk image. The cross toolchain (a gcc targeting 16-bit real-mode x86) is checked into the tree, so the only host requirements are a normal Linux box, make and python3. From the repository root:
$ make hd-image
That produces build/hd.img — MBR, boot loader, kernel, services, the GEM suite and a populated ext2 root — plus a matching, ready-to-run 86Box machine profile at build/86box-antler.cfg. Build knobs like MACHINE_PROFILE, video adapter and mouse type are plain make variables; the defaults give you an Amstrad PC1640 with PEGA video which is the best-supported configuration.
Antler is GPL-2.0 licensed. Source distribution details are settling down as part of the rename, so for now the tree travels the old fashioned way.
Run it in an emulator
Day to day the system is developed and tested under three emulators, and each one earns its keep:
| Emulator | Notes |
|---|---|
| 86Box | The reference target. make hd-image writes a complete machine config, so it is literally: point 86Box at build/86box-antler.cfg and boot. Accurate PC1640, PEGA, serial mice, NE2000, the lot. |
| MartyPC | Cycle-accurate 8088 emulation. Used for the per-adapter video matrix and timing-sensitive work; thats where the CGA and Hercules paths get exercised. |
| QEMU | A bios13 block backend boots the image through firmware INT 13h, so a bone-stock qemu-system-i386 runs it with no exotic device emulation. QEMU is mainly the kernel-debugging rig (gdb attaches nicely); for the full desktop experience 86Box is the one to reach for. |
$ make hd-image MACHINE_PROFILE=qemu ROOT_BLOCK_BACKEND=bios13
$ qemu-system-i386 -drive file=build/hd.img,format=raw,if=ide -boot c
Run it on metal
The intended real machines are XT-class boxes: an IBM PC/XT or clone with EGA or VGA and an XTIDE CF adapter, an Amstrad PC1640, a Tandy 1000. Write build/hd.img to a CF card and jumper the XTIDE to 0x300. I will not pretend every combination has been soak-tested — emulators are where the hours go — but everything in the hardware list is driven by our own drivers, not by BIOS luck.
Serial console
Whether emulated or real, COM1 runs a getty at 9600 8N1. Wire it to a socket or a null-modem cable and you can log into the POSIX side while the GEM desktop runs on the screen, which is a very pleasant way to poke at a running system.