9 comments

  • rswail1 hour ago
    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.<p>Of course, it wasn&#x27;t but there was MP&#x2F;M-86&#x2F;CCP&#x2F;M&#x2F;CDOS&#x2F;DR-DOS which allowed you to have 4 &quot;users&quot;&#x2F;virtual TTYs.<p>So we ended up using that along with some tweaks to the software (including an IBM 3270 emulator, MS-Word&#x2F;Excel (the DOS versions), and a custom software app) that ended up getting deployed to a few hundred government offices.<p>Mostly worked except some of the software really didn&#x27;t like the fact that it was being swapped out of keyboard&#x2F;screen access.
  • iqp8 hours ago
    I&#x27;m pretty sure CP&#x2F;M 86 was already a thing. I believe there was even Concurrent CP&#x2F;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).
    • codebje7 hours ago
      CP&#x2F;M-86 was definitely a thing, but CP&#x2F;M-386 was not. By the time the 386 existed, DRI had dropped the CP&#x2F;M name in favour of Concurrent DOS - though they had MS-DOS compatibility in Concurrent CP&#x2F;M - and, as you say, eventually renamed it to DR-DOS.<p>Much as I loved DR-DOS, it did have occasional compatibility hiccups.
      • m1324 hours ago
        Chances are those hiccups weren&#x27;t without a reason!<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jim_Allchin#Controversies" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jim_Allchin#Controversies</a>
        • codebje3 hours ago
          Also, it was super common practice to just go direct to undocumented internals. You didn&#x27;t have a clean API to duplicate, you had all the untamed glory of a CPU with no MMU to deal with, and all the programs that did shonky things because they worked.
    • p_l3 hours ago
      MS-DOS truly beat CP&#x2F;M-86 when it extended the APIs and features in PC&#x2F;MS-DOS 2.0 (heavily inspired by Xenix), like hierarchical file system.<p>From then on, applications would target MS-DOS in addition to the curse of being too IBM PC specific
    • dboreham7 hours ago
      Not 386 though.
    • Brian_K_White6 hours ago
      cp&#x2F;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?
      • skissane5 hours ago
        &gt; cp&#x2F;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?<p>The big reason for picking the 68K version is it was mainly written in C (initially in Pascal, but they later switched to C.) By contrast, the more famous 8080 versions were largely written in assembly, as was the 8086 version.<p>Well, CP&#x2F;M-80 1.x was mostly written in PL&#x2F;M, a dialect of PL&#x2F;I developed by Gary Kildall, but CP&#x2F;M-80 2.x+ was rewritten in assembly for speed; PL&#x2F;M was still used for some of the utilities. Obviously, C compilers are much easier to come by nowadays than PL&#x2F;M compilers are.
  • anonymousiam4 hours ago
    CP&#x2F;M‑386 is currently in the very early development stages.<p><pre><code> Full 32‑bit protected mode implementation with Ring‑3 TPA. Bootable via 3.5&quot; 1.44MB floppy disk MBR or GRUB Multiboot kernel. Supports VGA text (0xB8000) and&#x2F;or COM1 serial (9600&#x2F;N&#x2F;8&#x2F;1, 0x3F8) consoles. No floppy&#x2F;hard disk&#x2F;CD&#x2F;USB&#x2F;network&#x2F;sound&#x2F;other drivers (yet). </code></pre> So it boots from a floppy, but has no floppy disk support?
    • jmmv4 hours ago
      That&#x27;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.<p>This is also pretty common even if you don&#x27;t use multiboot. The I&#x2F;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.
  • rgmerk8 hours ago
    CP&#x2F;M - because pip just makes more sense than copy.
    • Gracana7 hours ago
      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!
      • rgmerk4 hours ago
        I was a kid at the time, so I only got as far as writing and modifying a few programs in MBASIC.<p>Anyone that got anything nontrivial to work on those systems deserves much respect.
      • Zardoz841 hour ago
        edilin was in the same page
    • kees998 hours ago
      Wasn&#x27;t that abbreviation from &quot;pipe&quot;? 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&#x27;s cp&#x2F;copy).
      • haddonist8 hours ago
        No.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Peripheral_Interchange_Program" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Peripheral_Interchange_Program</a>
  • flomo6 hours ago
    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&#x27;t quit it. It was a DOSSY DOS world.<p>&quot;Protected Mode DOS&quot; went through the IBM&#x2F;MS gristmill and became OS&#x2F;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 <i>real</i> OS. And David overthrew Goliath and the rest is history. On topic, nobody really wanted protected-mode DOS or CP&#x2F;M etc.
    • p_l3 hours ago
      Windows 3.0 becoming a hit was something unplanned by Microsoft originally - even the NT team was working with the assumption of using OS&#x2F;2 API for applications. Win3.0 started out as skunkworks project initially hiding from management under smokescreen of just being one last release of &quot;windows as application library&quot; that some products (including 3rd party ones) were using
    • adrian_b2 hours ago
      MS-DOS became obsolete only at the launch of Windows 95.<p>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.<p>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.
      • 1313ed012 hours ago
        At first Windows 95 was not great for games, so at least through 1996-97 many games were still released for MS-DOS and often only for MS-DOS, or only had Windows ports later.<p>Looking back from now, I wish that era could have continued much longer, as running MS-DOS games in emulators is so much easier and more stable than to run old Windows games.
  • m1324 hours ago
    First project of this kind on here in a long while that isn&#x27;t complete AI slop. Well done, really happy to see some people still doing this!
    • trollbridge3 hours ago
      Yeah, I was a bit shocked to run across the &quot;no AI generated code is in this code base yet&quot;, although the project doesn&#x27;t have an anti-AI contribution policy.<p>Makes it much more impressive.
    • CursedSilicon3 hours ago
      Careful now. For some reason celebrating <i>not using</i> the slop machine attracts a lot of negative attention.<p>There&#x27;s no room for dissent against the slop bot for some reason
  • peter_d_sherman8 hours ago
    &gt;&quot;Compatible with 386 (and later systems) with <i>2MB</i> (or more) <i>memory</i>.&quot;<p>Looks good!<p>An order of magnitude (or two!) less code complexity and less memory hungry than most of 2026&#x27;s bloated Operating Systems...<p>Well done!
    • anonymousiam4 hours ago
      My assumption on the reason that it requires 2M or more is all the memory mapped I&#x2F;O devices in the first 1M of PC memory. They just wanted to avoid the whole page and set the origin at 2MB.
  • Zardoz841 hour ago
    ingesting....but not was like &quot;Star trek project&quot; something like this. DR-DOS evolved from CP&#x2F;M-86 and they added. And &quot;Star Trek&quot; added to DR DOS a multitasker named &quot;Vladivar&quot; (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.
  • iberator7 hours ago
    Does it support flat memory model or its banked like DOS ?
    • Zardoz841 hour ago
      if it runs in 32 bits protected mode, by definition you have flat memory.
      • ButlerianJihad1 hour ago
        The question is understandable because EMM&#x2F;EMS use protected mode in a limited way.<p>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.<p>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 such as VAX, and m68k.<p>Therefore, since CP&#x2F;M-386 is derived from CP&#x2F;M-68K, it seems straightforward that a flat 32-bit memory model is employed.
    • paseante7 hours ago
      [flagged]