On 2024-08-16 12:11 p.m., Peter Corlett via cctalk wrote:
CP/M was effectively limited to 64KiB because it had
no traction outside of
the 8080/Z80 which had a 64KiB address space. To go beyond that limit on
those CPUs involves paging, and some platforms did indeed use paging for RAM
disks and to move some OS out of the way to leave more RAM for programs. But
as far as programs are concerned, 64KiB is the limit unless they happen to
be platform-specific and know how to handle the paging.
From what I can tell of a casual peruse of the documentation of CP/M-68K and
CP/M-86, they support the full address space of 4GiB and 1MiB respectively.
This is kind of obvious on the m68k since why would they artificially limit
it, but on x86 it's less obvious because they could have restricted changing
the segment registers. CP/M-86 *also* supports an "8080 model" with CS == DS
== ES, presumably to ease quick ports of 8080 code through source-to-source
translation.
I picked up a bare bones 68000 single board computer, and the only OS is
is a hacked CPM/68000 version in C. Any guess what compiler/assembler
was used back then and on what host? Does one have sub directories?