Skip to content

A commodity patched kernel and distribution of CP/M-86 1.1 that makes it a tiny bit more usable for retro computing

License

Notifications You must be signed in to change notification settings

tsupplis/cpm86-kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6b745c7 · Jan 2, 2023

History

43 Commits
Dec 9, 2022
Jan 1, 2023
Jan 2, 2023
Jan 1, 2023
Dec 9, 2022
Dec 9, 2022
Dec 9, 2022
Jan 1, 2023
Jan 1, 2023
Dec 16, 2022
Dec 20, 2022
Dec 9, 2022
Dec 16, 2022
Dec 16, 2022
Dec 9, 2022
Dec 9, 2022
Dec 10, 2022
Jan 1, 2023
Jan 1, 2023
Dec 9, 2022

Repository files navigation

CP/M-86 Kernel

Synopsis

The goal of this project is to provide an out-of-the-box CP/M-86 1.1 kernel (BIOS, BDOS and CCP) that incorporates all existing patches plus the capacity to run on modern hardware and virtualization. A distribution of the CP/M-86 OS is also provided fully patched.

The distribution also packages digital research assembler tools and various basic environments.

This is a raw dump right now with a way to compile the kernel starting from dissassembled sources. The compilation requires the (cross-development environment for CP/M-86)[https://github.com/tsupplis/cpm86-crossdev]

The CP/M-86 kernels (8088 and V20 Mixed 8080/8088 with CP/M-80 compatibility) for the V20 MBC are also produced. The sources of the bioses used are available at:

The 3 kernels use the same BDOS and CCP components.

Playing with CP/M-86

To test, the PCE emulator and cpmtools are needed. PCE can be found at http://www.hampa.ch/pce/. the floppy images released also work with qemu.

Alternatively, you can use the excellent V20 MBC available at:

  • Patched CP/M-86 running in the PCE Emulator

  • CP/M-86 BIOS Setup 1.2

  • CP/M-86 Disk Maintenance 1.2

Distribution

A full 160K single phase distribution is provided on 4 disks. The compiled cpm.sys file is also provided standalone.

  • cpm86-1.img: bootable core CP/M-86
  • cpm86-at-1.img: bootable core CP/M-86 with AT-compatible clock
  • cpm86-2.img: assembler CP/M-86 tools
  • cpm86-3.img: digital research dev tools
  • cpm86-4.img: basic development (microsoft basic, personal basic, cbasic)

The kernels built and delivered standalone as part of the release are:

  • cpm86.sys (ibm pc xt)
  • cpmv20.sys (MBC V20, 8088 mode)
  • cpm816.sys (MBC V20, mixed 8080/8088 mode with CP/M-80 compatibility)

The CP/M-86 OS contains the following commands are in the original distribution:

  • asm86.cmd
  • assign.cmd
  • config.cmd
  • ddt86.cmd
  • help.cmd
  • print.cmd
  • function.cmd
  • gencmd.cmd
  • stat.cmd

The CP/M-86 OS is enhanced with the following patched or updated components:

  • help.hlp (more complete content)
  • dskmaint.cmd (updated from 1.0 to version 1.2)
  • setup.cmd (updated from 1.0 to version 1.2)
  • hdmaint.cmd (updated from 1.0 to version 1.1)
  • ed.cmd (patched following dr recommendation)
  • gendef.cmd (patched following dr recommendation)
  • pip.cmd (patched following dr recommendation)
  • submit.cmd (patched following dr recommendation)
  • mform.cmd (patched to avoid interactive question)
  • tod.cmd (complete rewrite at https://github.com/tsupplis/cpm86-hacking)
  • atinit.cmd (sync up RTC clock and bios if clock available, cf https://github.com/tsupplis/cpm86-hacking)

also the images produced from the blank image have a boot loader terminating with 55AA allowing emulators like qemu to load CP/M-86 properly. Beware, if the image is formatted using dskmaint.cmd, the signature will not be added. A small boot fix will be added later.

Pedigree

The main source for it is: http://www.cpm.z80.de

To be continued...

About

A commodity patched kernel and distribution of CP/M-86 1.1 that makes it a tiny bit more usable for retro computing

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published