Skip to content

jscrane/cpm80

Repository files navigation

CP/M-80

CP/M 8080 hardware emulator on Stellarpad, ESP8266 and ESP32, using r65emu.

Creating disks

Install cpmtools:

$ sudo apt install cpmtools

Create a disk image:

$ mkfs.cpm foo

Copy files into it:

$ cpmcp foo bar baz 0:

Put it into disks/:

$ mv foo disks

Edit disks/drivemap.txt to assign the new disk to a drive.

Use of SD card storage is recommended where possible.

CP/M in ROM

A previous system was a "CP/M in ROM".

This consisted of two files (see the directory system):

  • CBIOS.ASM the "skeletal CBIOS" from Appendix B of the CP/M 2.2 manual
  • CPM22.ASM CP/M 2.2 itself, from here

Each of these was assembled to its corresponding .bin file by asm8080 and from there to .h by makerom:

$ asm8080 CPM22.ASM
$ makerom -bp CPM22.h cpm22 > cpm22.h

The ROMs were loaded at addresses 0xe400 (cpm22) and 0xfa00 (cbios), leaving 57kB free.

Booting CP/M from disk

The next system loads CP/M from disk, as nature intended. The boot disk cpma.cpm comes from the excellent emu8080.

A modified 8080 port-mapping supports the BIOS found on this disk (see io.cpp). The file system/bios8080.asm (from z80pack) is compatible with this port-mapping scheme --- it's a near ancestor of the BIOS in emu8080.

The system tracks for this are broken out into system/system.bin. This can be used to create bootable disk-images as follows:

$ mkfs.cpm -b system.bin foo.cpm

z80pack

A later implementation used a bootable system image produced by putsys from z80pack in conjunction with mkfs.cpm from cpmtools.

This BIOS has support for hard-disk images (4MB).

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy