I'm a little surprised that it wasn't itself written in Asm (and thus has the possibility to be self-assembling), and the binary is almost 30KB. That may seem tiny today, but in the 8086/8088 era, it's huge; the first IBM PC in its minimum configuration had only 16K RAM.
For a more "authentic" 8088 experience, you could use the assembler that came with MS-DOS 1.25, written by Tim Paterson:
> I'm a little surprised that it wasn't itself written in Asm
I'm not, it's just not worth the effort.
> in the 8086/8088 era, it's huge; the first IBM PC in its minimum configuration had only 16K RAM.
It's really not needed today.
> For a more "authentic" 8088 experience, you could use the assembler that came with MS-DOS 1.25, written by Tim Paterson
The author here wanted just his own .asm sources to assemble natively, and not using nasm, and if I understand correctly they indeed depend on the features not present in the old assembler, he writes:
"nasm doesn't run over 8086/8088 processors,
and I couldn't find a compatible assembler!"
It's not that he couldn't find any assembler, but that he couldn't find one that understands the features from nasm he used.
The minimum config for the IBM PC might have been 16K but this was not a common configuration and was an extremely low amount of memory even for the 8086/8088 era of PCs.
> That may seem tiny today, but in the 8086/8088 era, it's huge; the first IBM PC in its minimum configuration had only 16K RAM.
The minimum configuration of the first IBM PC isn't really a guide to a anything about the 8088/8086 era except the low end at the very beginning. Maxing out the 640K limit was common for 8088/8086 PC clones by the end of the era, and 30KB binaries for programming tools wouldn't be outlandish.
That's true but nobody bought a PC with 16K of RAM. The smallest I ever saw on a PC was 256k, and I think I might have encountered a near-clone with 128k.
It should be noted that DOS would theoretically be able to run on the base PC model with 16KB RAM. However, this was not an option in practice: The PC’s BIOS loaded the boot sector (from a floppy) at address 7C00h, which is 31KB, meaning that it was not possible to boot DOS on a PC with less than 32KB memory.
You got me wondering if an actual 16k IBM PC BIOS would load the boot sector into the rolled over address 0x3c00 instead of 0x7c00. Has anyone (recently) tried to actually boot PC-DOS 1.0 on an actual 16k machine?
For a more "authentic" 8088 experience, you could use the assembler that came with MS-DOS 1.25, written by Tim Paterson:
https://github.com/microsoft/MS-DOS/blob/master/v1.25/source...