HeadlinesBriefing favicon HeadlinesBriefing.com

CP/M-386: CP/M for 386 Protected Mode

Hacker News •
×

CP/M‑386 is a CP/M‑386 implementation for 386 protected mode, derived from CP/M‑68K. It runs in full 32‑bit protected mode with Ring‑3 TPA and boots via a 3.5" 1.44MB floppy image using MBR or GRUB Multiboot. Supported consoles include VGA text (0xB8000) and a COM1 serial console (9600 N/8/1, 0x3F8). No disk, USB, network, or sound drivers are yet provided. The systemಗಿ requires at least 386 hardware, 2MB of RAM, and either BIOS or UEFI with CSM, supporting VGA, PS/2, UART, CMOS RTC, and PIT devices.

The BDOS reports version 2.2 and is largely compatible with CP/M‑68K 1.3, CP/M 2.2, CP/M‑Plus, DOS‑Plus, and MP/M extensions. Unique CP/M‑386 BDOS extensions add direct video access, high‑resolution timing, and PRNG support.

Builds require AWයක, cpmtools 2.23+, GNU Binutils, Coreutils, GCC/Clang, Make, NASM, and optional QEMU for testing. Targeted platforms include NetBSD, FreeBSD, and recent Linux distros (Cent OS Stream 9, Fedora 36, Debian 12, Ubuntu 18.04/22.04, Alpine 3.24, OpenSUSE Leap 15.4). The build outputs a multiboot kernel (cpm386.elf)ιλ and a bootable floppy image (floppy.img).

CP/M‑386 is distributed under the permissive MIT License and is fully supported by Device Logics LLC under a license granted by Bryan W. Sparks of DRDOS, Inc.