Live data from Hacker News

CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

github.com

41–50 of 64 posts

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#41
post #39

I worked at Digital Research from 1984 to 1990. CP/M-68K was the first operating system I used there, but only for a brief period. It's unfortunate that the source for FlexOS is not available; it would be a better choice for a hobby project like this. It was a protected mode OS for the 286 that had a real-time kernel, TCP/IP stack, DOS compatibility box, and more. It was a clean break from CP/M. IBM used it in their…

> It's unfortunate that the source for FlexOS is not available

So very true. 100x this.

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#42
post #6

I'm pretty sure CP/M 86 was already a thing. I believe there was even Concurrent CP/M 86, which let you run up to 4 (or more?) virtual sessions concurrently. Light years ahead of MS-DOS but nobody wanted it, so DRI dumbed it down and added MS-DOS compatibility and re-released as DR-DOS (still superior to MS-DOS though).

I don't want to just quibble for the fun of it but so much more of this is wrong than right that it's downright misleading.

> I'm pretty sure CP/M 86 was already a thing.

Yes it was. Launched after the IBM PC, though, which is why SCP wrote QDOS which they licensed to MS and became MS-DOS.

How and why it was late:

https://nemanjatrifunovic.substack.com/p/the-late-arrival-of...

> I believe there was even Concurrent CP/M 86

There was. And then CCPM-286 and CCPM-386.

> which let you run up to 4 (or more?) virtual sessions concurrently

On the console -- but the selling point was that you could also attach dumb terminals to the serial ports and they could run DOS apps too. So you had a cheap multiuser box, where adding 3 or 4 or 8 more users cost about 10% as much as a network with 3 or 4 or 8 more client PCs.

> Light years ahead of MS-DOS but nobody wanted it,

No, not at all. One descendant is still supported today, some 45 years later.

https://tgcs04.toshibacommerce.com/cs/groups/internet/docume...

> so DRI dumbed it down and added MS-DOS compatibility

No, not even slightly.

> and re-released as DR-DOS (still superior to MS-DOS though).

Not a fair description at all.

Here's how it went:

MS-DOS beat it to market.

So, DR brought multitasking and multiuser from MP/M to turn CP/M-86 into Concurrent CP/M: CCP/M-86

MS-DOS did great. So, lots of apps.

So, DR added DOS compatibility to CCP/M.

It also did a single-user OS, called DR DOS Plus. Oversimplification: this was a single-user non-multitasking CP/M-86 that read/wrote FAT and could run DOS apps.

Intel did a new chip, the 80286.

DR ported to it. A native protect-mode 286 OS, which used new 286 features to pre-emptively multitask DOS apps.

Intel removed those features before it launched the 286. This killed DR's new OS.

So, it refocused: it temporarily dropped DOS compatibility, and sold it as an RTOS instead, with a multitasking version of GEM as its GUI.

Intel put the features back and Concurrent DOS 286 became a product but it was too late. This was a better OS/2 before OS/2 1.0 launched.

Intel put DOS multitasking into hardware in the 386. DR rewrote CDOS286 in C creating CDOS386.

This had really good DOS compatibility.

So DR updated DOS Plus to make DR-DOS: a superset of MS-DOS 3.3, with FAT16 for big hard disk, and it could run DOS device drivers.

This did OK.

IBM did DOS 4. Bigger, but with big disk support, and a GUI app launcher/file manager.

DR leapfrogged with DR-DOS 5: all that, but smaller, with built-in memory management.

A brief arms race ended with Win95 which bundled MS-DOS and so killed the DOS market.

Meantime, DR took the better DOS compatibility and made Multiuser DOS, which did well and throve for decades.

Here's a history I did 4Y ago:

https://www.theregister.com/software/2022/08/04/the-many-der...

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#43
post #10
post #6

I'm pretty sure CP/M 86 was already a thing. I believe there was even Concurrent CP/M 86, which let you run up to 4 (or more?) virtual sessions concurrently. Light years ahead of MS-DOS but nobody wanted it, so DRI dumbed it down and added MS-DOS compatibility and re-released as DR-DOS (still superior to MS-DOS though).

CP/M-86 was definitely a thing, but CP/M-386 was not. By the time the 386 existed, DRI had dropped the CP/M name in favour of Concurrent DOS - though they had MS-DOS compatibility in Concurrent CP/M - and, as you say, eventually renamed it to DR-DOS. Much as I loved DR-DOS, it did have occasional compatibility hiccups.

> Much as I loved DR-DOS, it did have occasional compatibility hiccups.

Because MS carefully built them. This was proved in court.

The developers who built the incompatibilities signed their work with their initials: AARD.

https://en.wikipedia.org/wiki/AARD_code

How it was found:

https://www.geoffchappell.com/notes/windows/archive/aard/ind...

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#44

ingesting....but not was like "Star trek project" something like this. DR-DOS evolved from CP/M-86 and they added. And "Star Trek" added to DR DOS a multitasker named "Vladivar" (and a port of System 7 GUI). If I remember it correctly, there is these multitasker in DR-DOS 7 that allow pre-emptive tasking in 32 bits protected mode.

https://lowendmac.com/2014/star-trek-apples-first-mac-os-on-...

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#45
post #36

Earlier quoted context omitted.

The question is understandable because EMM/EMS use protected mode in a limited way. In fact, 386 protected mode could still make use of memory segmentation, with 32-bit segment registers being an upgrade from the 286 protected mode. But there has been no production OS that continued to use segmentation once 386 mode made 32-bit addressing so easy. In large part because Unix could be ported from flat memory models suc…

Also, since CP/M 3.0 on Z80 supported more than 64 kB memory via bank switching, one might expect CP/M to do so on other platforms too.

You probably mean "more than 64KB" or "more than 64KiB", but you're not wrong that 65,536 > 64,000

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#46
post #9
post #2

CP/M - because pip just makes more sense than copy.

It also has an “ed” that will make you miss UNIX’s “ed”. I’ve used it to write programs and it is not fun!

When I started using it, standard advice was to use Wordstar in text mode.

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#47
post #39

I worked at Digital Research from 1984 to 1990. CP/M-68K was the first operating system I used there, but only for a brief period. It's unfortunate that the source for FlexOS is not available; it would be a better choice for a hobby project like this. It was a protected mode OS for the 286 that had a real-time kernel, TCP/IP stack, DOS compatibility box, and more. It was a clean break from CP/M. IBM used it in their…

Looking back on the project, what do you think could be some interesting things one can learn from it?

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#48
post #39

I worked at Digital Research from 1984 to 1990. CP/M-68K was the first operating system I used there, but only for a brief period. It's unfortunate that the source for FlexOS is not available; it would be a better choice for a hobby project like this. It was a protected mode OS for the 286 that had a real-time kernel, TCP/IP stack, DOS compatibility box, and more. It was a clean break from CP/M. IBM used it in their…

The documentation for FlexOS 1.2/1.3 is available on Bitsavers. So someone could re-implement it.

The build kit for CDOS-68k 1.2 (aka FlexOS 68k) is available ob Gaby's site.

I worked for an OEM in the 90s, and we used FlexOS 286 (and 386) ver 2.2/2.3 on some custom systems, including an ePOS system.

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#49
post #48
post #39

I worked at Digital Research from 1984 to 1990. CP/M-68K was the first operating system I used there, but only for a brief period. It's unfortunate that the source for FlexOS is not available; it would be a better choice for a hobby project like this. It was a protected mode OS for the 286 that had a real-time kernel, TCP/IP stack, DOS compatibility box, and more. It was a clean break from CP/M. IBM used it in their…

The documentation for FlexOS 1.2/1.3 is available on Bitsavers. So someone could re-implement it. The build kit for CDOS-68k 1.2 (aka FlexOS 68k) is available ob Gaby's site. I worked for an OEM in the 90s, and we used FlexOS 286 (and 386) ver 2.2/2.3 on some custom systems, including an ePOS system.

That's interesting. I left DRI just before Novell bought it, and wasn't aware of anybody besides IBM using it.

Re: CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K

#50
post #47
post #39

I worked at Digital Research from 1984 to 1990. CP/M-68K was the first operating system I used there, but only for a brief period. It's unfortunate that the source for FlexOS is not available; it would be a better choice for a hobby project like this. It was a protected mode OS for the 286 that had a real-time kernel, TCP/IP stack, DOS compatibility box, and more. It was a clean break from CP/M. IBM used it in their…

Looking back on the project, what do you think could be some interesting things one can learn from it?

One thing that sticks in my mind was that the system call API was well-designed (by Frank Holsworth). Everything involved getting or setting tables (structures). The documentation for this was really quite good.
Post reply on HN