dlandon Posted July 15, 2017 Share Posted July 15, 2017 (edited) I have built a Docker that emulates CP/M 1, CP/M 2, CP/M 3, and MP/M. The Docker is based on a package called Z80Pack that is a cross development package that runs on Linux. The Docker is a command line only Docker. The Docker includes Shell in a Box which gives a command line interface in a browser window.. Install the Docker by searching on 'Z80Pack' in CA. Online documentation is here. The Z80Pack website is here. The project includes an Altair and IMSAI emulation. I have not done anything with those emulators because of the graphics requirements that are very difficult to provide in a Docker. The Docker has a WebUI that is available on the Docker menu. This is a Shell in a Box UI and you'll have to log in for access. The User is 'vintage' and the password is 'computer'. The home directory is set for the /root/z80pack/cpmsim directory. You can always do 'cd ~' to get back the home directory. This is the preferred way to use the Docker. To run a simulation you need to run 'sudo ./cpm' so the simulator has root privileges. This is an alternative method to run CP/M or MP/M: docker exec -it Z80Pack bash Once inside the Docker, change directory to the cpm simulation: cd /root/z80pack/cpmsim To run CP/M: ./cpm2 or ./cpm3 To run MP/M: ./mpm The MP/M script starts CP/M and you have to type mpmldr to start MP/M. The cpmutils package is included so you can create disk images and copy files into and out of your disk images. To create disk images: cd /root/z80pack/cpmsim/disks/library then for a floppy image: mkdskimg mpm-c.dsk For a 4MB hard disk image: mkfs.cpm -fz80pack-hd mpm-i.dsk For a 512MB hard disk image: mkfs.cpm -fz80pack-hdb mpm-p.dsk Then include these disk images in the cpm and mpm scripts. You will also have to change this line in the script: rm -f disks/drive[ab].dsk to: rm -f disks/drive[a-z].dsk The disk images you create and the cpm and mpm scripts are persistent in the appdata folder. The disk configurations are pre-defined as: A, B, C, and D disks are all 8 inch floppy disk formatted. I and J are pre-defined as 4MB hard drives. P is pre-defined as a 512MB hard drive. You'll have to change the CP/M and MP/M system files to re-define the disks if you want to change these pre-defined disks. If you want to get a realistic user experience, set the parameter '-f4' on the cpmsim command in the cpm and mpm scripts. The emulation will run at the original 4MHz processor speed. In the day that was some real processing power! Edited August 6, 2017 by dlandon Quote Link to comment
dlandon Posted July 17, 2017 Author Share Posted July 17, 2017 (edited) I have updated the Docker image so it now has a GUI. The Docker includes shell in a box so you can run the simulator in a browser window. To take advantage of this feature you'll have to update the Docker template to the latest one. Go to CA and search for 'z80pack'. Re-install using the new template and the WebUI will now be an option in the Docker menu. The login information for shell in a box is documented in the first post of this thread. Edited July 17, 2017 by dlandon Quote Link to comment
dlandon Posted July 17, 2017 Author Share Posted July 17, 2017 (edited) I've found some of the vintage programs use Ctrl keys that Chrome captures for shortcuts. An example is the Chrome Crtl-W to close a browser tab. Does anyone know of a way to disable these keys? There were some older Chrome apps that did the job, but they don't work anymore. I have remapped the keys to the 'vedit' editor to get around the ctrl keys problem and to be able to use the arrow, backspace, and other keys on a modern keyboard when using Shell in a Box. If anyone wants a copy of my modified 'vedit' I can post it on github. I've also adjusted the monitor sizes to fit Shell in a Box and use the full screen width and height. Edited August 6, 2017 by dlandon Quote Link to comment
dlandon Posted August 6, 2017 Author Share Posted August 6, 2017 The Z80Pack Docker has been updated to z80pack release 1.35. Release notes are here. Quote Link to comment
Larz Posted March 24, 2022 Share Posted March 24, 2022 Thanks dlandon, This is nice! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.