Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The many derivatives of CP/M (theregister.com)
87 points by lproven on Aug 10, 2022 | hide | past | favorite | 29 comments


That brings back memories, I was on the bleeding edge of CP/M and all that stuff.

...And I still remember the fight I had with customs officials when they wanted to charge me huge import duties on a set of CP/M Plus 8" floppies that I ordered from the US. After an argument I won and they relented and dropped the duties - I told them to shove the disks you know where and said I'd download the software via telephone line (a novel concept in those days). They then threatened me with attempting to violate customs regulations but it turned out there was no regulation prohibiting importing by telephone! Victories like that are so sweet.

CP/M, CP/M-86 and Tim Paterson's/Seattle Computer Products' DOS (SB-86) which I bought from Lifeboat Associates in NY were the OSes for my CompuPro Godbout dual processor S-100 system.

Those were the days when we actually had control over our computing equipment. It's tragic they're now gone.

__

Edit: This is an opportunity to again remember the loss of Bill Godbout of whom I've met and who died tragically in the Camp Fire of 2018: https://en.m.wikipedia.org/wiki/Bill_Godbout


>> Those were the days when we actually had control over our computing equipment. It's tragic they're now gone. <<

Not at all. Switch to Linux (I did, 20+ years ago) and decline to use anything with "smart" in the name, much less give money every month any company that is furthering that perception. Be in control. Encourage others to do the same.


Linux gives you more control, but it's a far cry from a CP/M or DOS environment. For one thing, those computing systems were much simpler, so small changes went a long way. You can still accomplish the same level of control by only using the Linux terminal. To the average user, Linux is just another opinionated, effectively non-modular, effectively source-available stack. Control over your environment is handed over to the collective, instead of a corporation.


Agreed. See my comment in reply to wlindley.


I too use Linux and have done so for at least as long as you. I use it for everything from servers, the desktop and Raspberry Pi computers, etc. Why wouldn't I? After getting one's hands dirty with Assembler, S-100 and embedded systems there's little other option.

I was speaking metaphorically about the computing industry generally and the way that almost every aspect of it has become proprietary and closed. Yes, we've open software but I'm constantly reminded of the problem whenever people come to me for help with their PCs and laptops running Windows and I find myself of limited use due to the closed nature of both their hardware and software - not to mention the lack of documentation.

The same goes for my phones: having to root every phone I get to de-Google it and make it private is no longer fun but an annoying chore. At least we're able to do it, unfortunately most of the population isn't in our fortunate position to do so.

Edit: I take your point about encouraging others to do so and I've been doing that for years but I've had limited success outside a select group within the tech community. Even within this group I've found considerable reticence to make the change. It's not as if they're not up to the task but rather it's too much trouble - acquiescing is much easier, especially so when they considerer that they've more important things to do.

The fact is it's often hard to make the change and it often involves a great deal of effort. Linux doesn't help either - when I ask my technical colleagues why they don't move to Linux more often than not they'll reply that it's just too different to Windows in every way and that they haven't the time or commitment to do so along with the rider that they'd also have to change everything including their software and set-ups.


Even when running Linux, people don't understand let alone control their machines anymore. There are components of your computer which, by design, allow third parties to seize control of it irrespective of the OS you run.

The last understandable practical computer was probably the Amiga. And AmigaOS was better understood than Linux despite being closed source, so open source was never a sine qua non in the Amiga community the way it is in the Linux community.


"Even when running Linux, people don't understand let alone control their machines anymore."

Very true. This fact was encompassed in my comment abeit not specifically stated - see my reply to wlindley.

Also, the fact is that Linux is now so big and complex that I doubt if any one person fully understands it - not even Linus.

This is a far cry from Assembler on an S-100 system where the 'chicken & egg' problem was common. If you couldn't compile the source you couldn't get a 'C:>' to edit the source or run the compiler. By the time one had solved these problems one knew one was actually in control of one's system and not vice versa!

:-)


Software is only half of the equation


In Brazil, everything related to books and newspapers is tax exempt. So people would buy foreign software as a manual that by chance came with a CD with some software.

Some games were sold as magazines too. One famous singer started selling his music as a magazine with a bonus CD.


"In Brazil, everything related to books and newspapers is tax exempt."

So they should be - everywhere. But that incident was a long time ago and there have been many changes in Australia's import laws since then - WTO, free trade agreements etc. In those days and before, import tariffs were enormous and very easily obtained if you were an Australian manufacturer - all that was needed to obtain a tariff was for a company to say it could manufacture a product, it didn't have to actually do so.

Luckily, that nonsence has long gone.


I'm truly curious, would the downvoter please explain why this statement brought offense - was what I said just too innocuous?


Still remember those days when overseas fax and phone require special permission (not sure about cable :-))) as they are expensive.

As IT guys, we start to do something new called internet which seems can connect to overseas !! And the admin guy found out … and they sort of require us for every dial up “request” to ask senior management approval. You know overseas. Expensive. to avoid the expensive fees. Need a bit of fight for awhile.

Those were the days.


Yeah, right. Though one consolation in my case (had it been necessary), single density 8" floppies only carried a tiny 128k despite their large size!

My-my how thing have changed, nowadays I can buy a micro-SDXC with 1TB storage and it's so small that if I drop it I'll likely lose it. The next generation micro-SDUC has a whopping capacity limit of several orders of magnitude more -128TB. Sending all that down a 600-ohm copper line would be somewhat tedious methinks.

:-)


I had a Godbout machine! Fond memories. I ran CP/M and MP/M on it.

I didn't know he died in the Camp Fire. Awful.


Terrible really, it's hard to think of a worse way of dying.


Well, not too many errors in that article. The section of "Going Multiuser" is a bit confused.

After referring to CDOS-286 (aka FlexOS-286) it says: "DR adapted this to create Concurrent DOS-386 Concurrent DOS-386, [...] : a full 32-bit OS"

Concurrent DOS-386 (which became Real/32 and friends) was derived from the original MP/M (multi user CP/M code, which spawned DR-DOS). That became Multiuser DOS.

That line was not derived from FlexOS-286 (aka CDOS-286), which already had multi-user capabilities (each process had an 8 bit user-id and an 8 bit group-id).

I'm not sure if that is suggesting FlexOS-386 was a full 32-bit OS, as it was not, however that is not obvious without the SBK. FlexOS-386 was most of FlexOS-286 (hence 16-bit) but with some parts (e.g. memory manager) being 32-bit.

As to Concurrent DOS-386, I guess that was as "full 32-bit" as windows 95 was, i.e. not fully, but sort of, depending upon what drivers were present, and which APIs were used.


[Article author here]

This piece resulted from something a reader pointed out in response to my earlier story on the new licence agreement, linked below.

Since then, one of the authors of Real/32 has responded to me, with some fascinating clarifications.


This comment is confusing and perhaps misleading.

The code that creates CP/M-86 (not multi-user) and CCP/M-86 (multi-user) are very similar. Some versions are publicly available. It is possible to download and compare.

All Multiuser capabilities of CP/M, MP/M, CCP/M were for a 4-Bit User (0x0 to 0xF), expressed directly in the stored filesystem FCB format, set by the TPM and inherited by processes. Some fallback file search support existed to User 0 for System Files. No "group" identity ever existed for CP/M. Please double check the CCP/M OS documentation which is available. I re-read to (re)confirm my memory.

(before my involvement...)

CCP/M-86 3.1 existed. Supported only CP/M style media.

CCP/M-86 4.1x existed. Supported only CP/M style media. Internal hints of CDOS :-).

CCP/M-86 5.x existed. Supported CP/M and DOS media. Re/Co-branded Concurrent-DOS 5.x.

CDOS 6.x existed. Supported DOS media. CP/M media only via CPM.CMD.

At the time there were OTHER 286 architectures than the PC that DRI Supported. There was an interesting one, by Jarogate (Liam antennae alert!) - the Sprite. It was many times faster than other platforms, so it was being used by DRI for some primary development work. It was a modified S-100 based system and supported a full 16MiB of memory. But CDOS could not use it...

As a Jarogate intern I spent a few weeks during a 198x summer with a rented HP logic analyzer working out what LOADALL (and other opcodes) did. This was based on some photocopy-fax-phlotocrapy-pfrax almost illegible document titled "MIPO News" which had teaser info, but not much more. At the end of my research I provided an ASM file of what LOADALL did and how to use it... I'm pretty sure it was given to DRI.

CDOS 6.x XM. existed. Supported DOS media. LIMS memory + [LOADALL HACK]

If you had a Jarogate Sprite running CDOS 6.2 XM, then it supported a full 16MiB of memory. I still have my Sprite, but it is not currently running :-( due to controller / disk problems.

The Jarogate sprite used an AMD 12Mhz CPU. I do not know how this maps to the Intel versions. But, I think this is where some of the compatibility problems for DR started!

The virtual console system of CCP/M was revolutionary and amazing. It does not get enough credit.

There are perhaps other untold stories of how DRI was trying to move away from hand crafted ASM and PL/M to other high level languages.


Here’s a good story about the first boot of CP/M on an Intellec-8, in Gary Kildalls own words.

http://www.retrotechnology.com/dri/CPM_history_kildall.txt


Related, actually about the license: https://www.theregister.com/2022/07/15/cpm_open_source/


Yes indeed... They are both by the same author: me.

I wrote the new story as a sort of sequel to the earlier one. A reader pointed out that "CP/M and derivatives" arguably covered all of the Concurrent and Multiuser products, as well as DR-DOS.


> While Concurrent CP/M was a very capable OS, ideal for multiuser accounts systems, it had a big limitation: it could only run CP/M-86 apps. The problem being that there weren't that many of those, while the market in MS-DOS apps was exploding.

Or you could run Unix on some of the machines that would've been targeted by the multi-user derivatives. I remember one article about an early TeX version ported to one of them, IIRC a Z8000 system running a port of V7 Unix.


There's "late TeX" ??


For forty years, basically.

The first "tugboat" TeX newsletters were written during the rewrite to "TeX82", so most people porting during that time were basing their variants on the the version written in SAIL ("TeX78").

It's quite fascinating to read and look at. Some from scratch rewrites in different languages, while the core group writes about the new version in Pascal (IIRC the literate programming tools were invented during that time). Old time-sharing and mainframe setups most people haven't heard of. Rewrites in C an Fortran. And still even that early TeX used there isn't that much different from what's still used today, including the DVI format, Metafont etc. (Both syntactically and when you see the output)


IBM's 4690 point-of-sale controllers ran an OS derived from CP/M, so even in the early 2000s, CP/M was running in a lot of Fortune 500 retail stores.


TIL that MSX-DOS was CP/M compatible.


Yes, it never was shouted about much. I was surprised when I found out.

There were lots of CP/M clones. Many computer makers had their own. I've never been able to find a comprehensive list. It would be a great cooperative project for a Wikipedia page or something.

But some of them, like MSX-DOS, effectively were but didn't advertise the fact.


> Marooned in Real Time

Incidentally, I will recommend that novel by Vernor Vinge.


I am happy that a good few people spotted that reference. :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: