[HN Gopher] A Short History of CP/M-86
       ___________________________________________________________________
        
       A Short History of CP/M-86
        
       Author : rbanffy
       Score  : 42 points
       Date   : 2024-06-10 10:36 UTC (1 days ago)
        
 (HTM) web link (www.abortretry.fail)
 (TXT) w3m dump (www.abortretry.fail)
        
       | chasil wrote:
       | One interesting thing about CP/M is that it didn't have
       | subdirectories.
       | 
       | "CP/M 2.2 had no subdirectories in the file structure, but
       | provided 16 numbered user areas to organize files on a disk. To
       | change user one had to simply type "User X" at the command
       | prompt, X being the user number."
       | 
       | https://en.wikipedia.org/wiki/CP/M
        
         | pavlov wrote:
         | MS-DOS (and PC-DOS) also didn't have subdirectories until
         | version 2.0.
         | 
         | These were floppy disk oriented operating systems, and at 360
         | kB per floppy, directories were not really that useful.
         | 
         | Hard disk support made it more urgent to offer Unix-style
         | directories. Since the forward slash was already used for CLI
         | parameters in the CP/M style, it couldn't be used as the path
         | separator. So Microsoft chose the backslash instead, and it
         | persists in Windows today.
        
           | ghaff wrote:
           | And arguably more file loaders than operating systems as
           | such. I long thought it a sort of interesting question how
           | things could have turned out differently if one of the many
           | 16-bit operating systems (or Unix of course) kicking around
           | in the minicomputer world had been more widely used on early
           | PCs.
        
             | dfawcus wrote:
             | Some of the products mention on that piece were true
             | operating systems.
             | 
             | MP/M and its derivatives (MP/M-86, CCPM, CDOS) were all
             | multitasking, multi-threading, multi-user, multi-
             | terminal/console real time preemptive OSs. The bank
             | switching versions also had a form of memory protection.
             | 
             | CDOS-68k, CDOS-286 and the subsequent renamed to FlexOS
             | products also had those capabilities, but with inherent
             | memory protection.
             | 
             | So it is only really the basic CP/M-86 product (lacking the
             | MP/M bits) which was the simple program loader.
             | 
             | In many ways the FlexOS product are sort of inspired from
             | the DEC minicomputer RSX-11m OS; and the MP/M derivatives
             | look like they were inspired by DEC RSX-11d (and hence
             | RSX-15).
        
               | ghaff wrote:
               | Fair enough. I suppose that hardware resource constraints
               | were sufficiently tight at the time that the "mass
               | market" wouldn't have thanked you for something that
               | might have cost twice as much (at a time when micros were
               | already _quite_ expensive relative to today).
        
               | nickdothutton wrote:
               | I was an MP/M 2 user (Altos) for a while. It was a great
               | system for a small workgroup, supporting a handful of
               | (Volker Craig) Terminals. VT-52 clones IIRC.
        
         | forinti wrote:
         | In the Acorn DFS the "directory" was an attribute for each file
         | that was just a letter prefixed to the file's name.
         | 
         | It was used to group files. Since the original format only
         | allowed 31 files per side, it wasn't really that useful. I
         | never used it.
        
       | cmrdporcupine wrote:
       | _In 1982, Digital Research released CP /M-68K for the Motorola
       | 68000. This was initially written in Pascal following DRI's
       | acquisition of the MicroSYSTEMS company in Solana Beach. This
       | port was originally made for the Atari ST, but Atari chose to go
       | a different way_
       | 
       | Odd, I hadn't heard the Pascal bit before. And the C/assembly
       | source for CP/M 68k is out there to see (e.g.
       | https://github.com/dwildie/cpm-68k)
       | 
       | Further, while Atari did go a different direction, it wasn't
       | _that_ different. DR 's "GEMDOS" is like a fusion of MS-DOS and
       | CP/M 68k, designed to play the same role on the 68k that PC/MS-
       | DOS did for GEM on the 8086. There's I think bits in there that
       | came from the CP/M architecture and codebase (program loader, for
       | one). GEMDOS not only ran on the ST but was built first on the
       | Apple Lisa (and some Motorola VME machines too, I believe.)
       | 
       | Past discussion: https://news.ycombinator.com/item?id=39368972
        
         | 95014_refugee wrote:
         | ... and the open-source clone (EmuTOS) has been widely ported
         | since.
        
         | chasil wrote:
         | My major experience with GEM was Xerox Ventura Publisher.
         | 
         | Ventura and Aldus Pagemaker were the two desktop publishing
         | contenders on the PC. Pagemaker used Windows. Ventura ended up
         | going to Windows as well (no surprise there).
         | 
         | https://en.wikipedia.org/wiki/Corel_Ventura
        
         | kabdib wrote:
         | The Atari involvement wasn't until August 1984 or after. We
         | never saw any Pascal source code for CP/M-68K (it had been
         | ported to C by then, I suppose).
         | 
         | CP/M-68K was awful, GemDos was a little better (written largely
         | by Jason Loveman at DRI), but it had its own issues. The new
         | program loader was one of the improvements we wanted.
        
           | cmrdporcupine wrote:
           | Thanks for chiming in. Always appreciate your recollections.
        
       ___________________________________________________________________
       (page generated 2024-06-11 23:02 UTC)