Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Now if I can find those 8” wordstar floppies.
  • 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.
  • Yes, DR-DOS/Novell DOS 7 has a full 386 preemptive multitasking kernel and a decent API, which was essentially unused, with a few exceptions.

    See https://web.archive.org/web/20160809210402/http://www.drdos.... and https://web.archive.org/web/20170211175548/http://drdos.net/... for more details

    by trn
  • Does it support flat memory model or its banked like DOS ?
  • if it runs in 32 bits protected mode, by definition you have flat memory.
  • First project of this kind on here in a long while that isn't complete AI slop. Well done, really happy to see some people still doing this!
    by m132
  • Careful now. For some reason celebrating not using the slop machine attracts a lot of negative attention.

    There's no room for dissent against the slop bot for some reason

  • Yeah, I was a bit shocked to run across the "no AI generated code is in this code base yet", although the project doesn't have an anti-AI contribution policy.

    Makes it much more impressive.

  • Thank you, as this is my project. As I said in the README, it's as much of a learning experience as it is a "practical" project. Using AI would eliminate the fun.
    by trn
  • CP/M‑386 is currently in the very early development stages.

        Full 32‑bit protected mode implementation with Ring‑3 TPA.
        Bootable via 3.5" 1.44MB floppy disk MBR or GRUB Multiboot kernel.
        Supports VGA text (0xB8000) and/or COM1 serial (9600/N/8/1, 0x3F8) consoles.
        No floppy/hard disk/CD/USB/network/sound/other drivers (yet).
    
    So it boots from a floppy, but has no floppy disk support?
  • Yes, currently the system boots from a floppy disk (stage1 -> stage2 loader), which then loads the OS (CBIOS/BDOS/CCP) and an (384K) initial ramdisk, and currently runs out of memory, so once the OS is booted the disk can actually be removed from the system.

    Once there is more proper disk support, the initial ramdisk can become optional, though a more proper ramdisk implementation is planned, which will make supporting floppy-disk-only systems easier.

    by trn
  • That's not surprising. The page says the kernel is multiboot compliant, which means it can be loaded by existing boot loaders. Whether the kernel later provides a floppy driver is a separate story.

    This is also pretty common even if you don't use multiboot. The I/O services exposed by the BIOS or firmware during boot may not be usable once the kernel has started, and thus the kernel has to provide its own drivers.

    by jmmv
  • >"Compatible with 386 (and later systems) with 2MB (or more) memory."

    Looks good!

    An order of magnitude (or two!) less code complexity and less memory hungry than most of 2026's bloated Operating Systems...

    Well done!

  • My assumption on the reason that it requires 2M or more is all the memory mapped I/O devices in the first 1M of PC memory. They just wanted to avoid the whole page and set the origin at 2MB.
  • CP/M - because pip just makes more sense than copy.
  • Wasn't that abbreviation from "pipe"? As in - this is a pipe that you can use to connect terminal to a file, file to a printer... and yes, file to a file (that's cp/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!
  • > pip just makes more sense than copy.

    PIP was a stock tool on DEC OS-8 and other OSes of which CP/M was basically a cheapo cut-down Intel version.

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

  • Just as some off-the-top history, MS-DOS was clearly obsolete, but it hung around for like 10 years too long because people couldn't quit it. It was a DOSSY DOS world.

    "Protected Mode DOS" went through the IBM/MS gristmill and became OS/2, which was a compromised product in a lot of ways. Then Windows (still mostly a DOS program) got a little traction, and Microsoft had hired Dave Cutler to write a real OS. And David overthrew Goliath and the rest is history. On topic, nobody really wanted protected-mode DOS or CP/M etc.

  • MS-DOS became obsolete only at the launch of Windows 95.

    Until then, all the applications that could be found for Windows 3.0 or Windows 3.1 looked like worthless toys in comparison with the professional applications that were available for MS-DOS, despite the fact that the latter had to struggle with extended memory or expanded memory in order to use more than 640 kB of memory.

    From 1990 to 1995, I had Windows 3.0, then 3.1, then 3.11 and I launched them from time to time, for fun, but to accomplish real work I always had to go back to MS-DOS.

  • Windows 3.0 becoming a hit was something unplanned by Microsoft originally - even the NT team was working with the assumption of using OS/2 API for applications. Win3.0 started out as skunkworks project initially hiding from management under smokescreen of just being one last release of "windows as application library" that some products (including 3rd party ones) were using
    by p_l
  • One of my first jobs, back in the 1980s, was a project for a government department that the supplier (Wang Computers) had bet on MS-DOS being multi-process.

    Of course, it wasn't but there was MP/M-86/CCP/M/CDOS/DR-DOS which allowed you to have 4 "users"/virtual TTYs.

    So we ended up using that along with some tweaks to the software (including an IBM 3270 emulator, MS-Word/Excel (the DOS versions), and a custom software app) that ended up getting deployed to a few hundred government offices.

    Mostly worked except some of the software really didn't like the fact that it was being swapped out of keyboard/screen access.

  • 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).
    by iqp
  • cp/m-86 targets 8086, which is no more useful or relevant to 386 protected mode than the original z80 version. Did you think they just picked the 68k version at random?
  • 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...

  • Not 386 though.
  • MS-DOS truly beat CP/M-86 when it extended the APIs and features in PC/MS-DOS 2.0 (heavily inspired by Xenix), like hierarchical file system.

    From then on, applications would target MS-DOS in addition to the curse of being too IBM PC specific

    by p_l
  • 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.

  • 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 point-of-sale terminals for quite a few years, and I worked on porting it to 32-bit architectures like the NEC V60. It died after Novell bought DRI, aside from its use inside IBM.