Live data from Hacker News

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

github.com

51–60 of 64 posts

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

#51
post #14

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…

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,…

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

Not even. The genius of Windows 95 was you could still run most of your DOS crap. (Maybe not games, but business apps.) Novell shops for example had a huge pile of DOS drivers and all that just worked underneath 95. DOS only faded away afterwards.

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

#52
post #26
post #14

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…

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

Here's a good anecdote about that: https://web.archive.org/web/20130806213426/http://blogs.msdn...

> I remember wandering over to the Windows group over in Building 3 to talk to Aaron Reynolds about something to do with the MS-DOS redirector (I was working on DOS Lan Manager at the time). I ran into David, and he called me into his office "Hey, look at what I've got working!".

> He showed me existing windows apps running in protected mode on the 286. UNMODIFIED Windows 1.0 applications running in protected mode. He then ran me around the rest of the group, and they showed me the other stuff they were working on. Ralph had written a new driver architecture called VxD. Aaron had done something astonishing (I'm not sure what). They had display drivers that could display 256 color bitmaps on the screen (the best OS/2 could do at the time was 16 colors).

> My jaw was dropping lower and lower as I moved from office to office. "Oh my goodness, you can't let Steve see this, he's going to pitch a fit" (those aren't quite the words I used, but this is a family blog). You see, at this time, Microsoft's systems division was 100% focused on OS/2 1.1. All of the efforts of the systems division were totally invested in OS/2 development. We had invested literally tens of millions of dollars on OS/2, because we knew that it was the future for Microsoft. OS/2 at the time just ran a single DOS application at a time, and it had only just recently gotten a GUI (in 1989). It didn't have support for many printers (only about 5, all made by IBM, and (I believe) the HP Laserjet).

> And here was this little skunkworks project in building three that was sitting on what was clearly the most explosive product Microsoft had ever produced. It was blindingly obvious, even at that early date - Windows 3.0 ran multiple DOS applications in virtual x86 machines. It ran Windows applications in protected mode, breaking the 640K memory barrier. It had a device driver model that allowed for development of true 32bit device drivers. It supported modern displays with color depths greater than had been available on PC operating systems. There was just no comparison between the two platforms - if they had to compete head-to-head, Windows 3.0 would win hands down.

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

#53
post #14

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…

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,…

Aldus PageMaker is a toy for you ? I remember clearly it working on Windows 3.0

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

#54
post #51

Earlier quoted context omitted.

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,…

> MS-DOS became obsolete only at the launch of Windows 95. Not even. The genius of Windows 95 was you could still run most of your DOS crap. (Maybe not games, but business apps.) Novell shops for example had a huge pile of DOS drivers and all that just worked underneath 95. DOS only faded away afterwards.

When I started playing with Windows 95 I worked in a Novell shop, and was really impressed with the effort MS put into implementing the Netware networking stack. I had expected strong LANMan drivers and indifferent Netware drivers, but MS obviously knew where the market lay.

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

#55
post #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…

Interesting. Thanks for clarifying!

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

#56

>"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.

Hi there, this is my project. And yes, you are essentially correct. It can actually work in a little less than 2MB, but this was done this way for simplicity, and to avoid, for now, what would be a more complicated memory map and paging requirements.

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

#57

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.

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

#58
post #17

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!

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.

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

#59
post #40

Earlier quoted context omitted.

if it runs in 32 bits protected mode, by definition you have flat memory.

> by definition you have flat memory. No, not at all. It would be more accurate to say: "by definition you can have flat memory, if you want, but you don't have to." But everybody wanted to. In x86-32 you can absolutely have segments if you want. In practice, for an easier but far more insecure life, everyone opted for "one big segment pls kthxbye".

Actually, while the TPA is "flat", the OS model is using only segmentation for protection and not paging currently. Just the segment is quite large:)

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

#60

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

Post reply on HN