I mean, if you target ancient baroque hardware like e.g. ZX Spectrum, you specifically target an ancient machine. But this is expected to work on any modern x86 hardware, while it feels like code for a 80286, and likely would run there. And this ancient stuff is still supported and actively used.
It sort of warms my heart that code for the IBM 360 (now IBM Z) and the IBM PC (now x86 PC) can still run on modern hardware decades later.
On one hand, we're stuck with the legacy of the past. But on the other hand, we can build on things and don't need to reinvent them unnecessarily.
"z/Architecture retains backward compatibility with previous 32-bit-data/31-bit-addressing architecture ESA/390 and its predecessors back to the 32-bit-data/24-bit-addressing System/360."
; 0x20000 - 0x2fdff temporal space to load ; size: 63.5Kb is the max.
wasn't there an inofficial unreal mode that increased the adressable space? Otherwise there aren't too many options as to stay minimal in the first place.