On Fri, Aug 16, 2024 at 11:42:01PM -0600, ben via cctalk wrote: > On 2024-08-16 12:11 p.m., Peter Corlett via cctalk wrote: [...] >> 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? Classic CP/M does not have subdirectories, and instead has 16 "user areas", which are of limited utility. But of course the 68000 is far more powerful than the x80, and the popular 68000 platforms all had hierarchical file systems, so one might wonder if support had been added since it would be a bit silly to have a machine which can access 16MiB of memory but is still limited to a flat file system which can only hold a few tens of files. Source code to CP/M-68K can be found at <http://www.cpm.z80.de/source.html>, so I downloaded them to have a look. I looked at the 1.0x sources as they are a ZIP file of conventional text files, whereas the later versions are ZIP files of disk images which are harder to read without a running CP/M system. The bulk of the code is written in K&R C, with some assembly for things such as exception handlers which can't be written in C or performance-critical such as floating-point. The source code is for BDOS plus utilities, notably including a C compiler and assembler. There are various other file droppings which give a hint of what's going on here. >From a very rough perusal of the source code, these are my tentative answers to your questions: The sources include a C compiler and assembler, and the readme says they are "ALCYON Compiler/Assembler/Loader". So this is probably what everything was built with. They are cross-platform, so long as you are using a common-or-garden VAX or PDP-11 running Unix or VMS such as the one we all had in our childhood bedrooms back then, VERSAdos (no, me neither), and fortunately also natively on CP/M-68K. The file droppings suggest that Alcyon Corporation probably cross-compiled it on VMS. I can't find any likely-looking code in the BDOS sources pertaining to subdirectories such as file types or attribute bits indicating a directory entry is actually a subdirectory rather than a regular file, so I think CP/M-68K still has a flat file system after all. The source for 1.1 comes as 14 256,256-byte disk images, suggesting a lot of disk-swapping to build it natively.