| ▲ | CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K(github.com) |
| 52 points by TMWNN 5 hours ago | 17 comments |
| |
|
| ▲ | anonymousiam 9 minutes ago | parent | next [-] |
| 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? |
|
| ▲ | iqp 4 hours ago | parent | prev | next [-] |
| 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). |
| |
| ▲ | codebje 3 hours ago | parent | next [-] | | 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. | | | |
| ▲ | dboreham 3 hours ago | parent | prev | next [-] | | Not 386 though. | |
| ▲ | Brian_K_White 2 hours ago | parent | prev [-] | | 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? | | |
| ▲ | skissane an hour ago | parent [-] | | > 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? 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. Well, CP/M-80 1.x was mostly written in PL/M, a dialect of PL/I developed by Gary Kildall, but CP/M-80 2.x+ was rewritten in assembly for speed; PL/M was still used for some of the utilities. Obviously, C compilers are much easier to come by nowadays than PL/M compilers are. |
|
|
|
| ▲ | m132 24 minutes ago | parent | prev | next [-] |
| 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! |
|
| ▲ | flomo 2 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | rgmerk 4 hours ago | parent | prev | next [-] |
| CP/M - because pip just makes more sense than copy. |
| |
| ▲ | kees99 4 hours ago | parent | next [-] | | 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). | | | |
| ▲ | Gracana 3 hours ago | parent | prev [-] | | 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! |
|
|
| ▲ | peter_d_sherman 4 hours ago | parent | prev | next [-] |
| >"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! |
| |
| ▲ | anonymousiam 5 minutes ago | parent [-] | | 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. |
|
|
| ▲ | iberator 3 hours ago | parent | prev [-] |
| Does it support flat memory model or its banked like DOS ? |
| |