z80pack is a mature emulator of multiple platforms with 8080 and Z80 CPU.
Full documentation is at https://www.icl1900.co.uk/unix4fun/z80pack
First install the needed dependencies:
sudo apt install build-essential libglu1-mesa-dev libjpeg9-dev
Then run
make
to build all the MACHINES mentioned in the Makefile.
Sometimes I get asked questions why something doesn't work, and this might be caused by using an older version and not the latest current. Sometimes people miss it, that the repository most of the time has two branches:
master - finished and final releases
dev - latest sources still under development, but usually stable
To use the latest dev version you need to do this:
git clone https://github.com/udo-munk/z80pack.git
cd z80pack
git checkout dev
You now will build everything from the latest dev branch and not some older finished release.
CP/M 2.2 is the ancestor of MS-DOS. Use this command to invoke CP/M 2.2 with two disks containing some sample programs and sources.
(cd cpmsim; ./cpm22)
Use DIR
to see files on disk. Exit again with BYE
Sample execution in WSL under Windows 10:
####### ##### ### ##### ### # #
# # # # # # # # ## ##
# # # # # # # # # # #
# ##### # # ##### ##### # # # #
# # # # # # # # #
# # # # # # # # # #
####### ##### ### ##### ### # #
Release 1.38, Copyright (C) 1987-2024 by Udo Munk and others
CPU speed is unlimited, CPU executes undocumented instructions
Booting...
64K CP/M Vers. 2.2 (Z80 CBIOS V1.2 for Z80SIM, Copyright 1988-2007 by Udo Munk)
A>dir
A: DUMP COM : SDIR COM : SUBMIT COM : ED COM
A: STAT COM : BYE COM : RMAC COM : CREF80 COM
A: LINK COM : L80 COM : M80 COM : SID COM
A: RESET COM : WM HLP : ZSID COM : MAC COM
A: TRACE UTL : HIST UTL : LIB80 COM : WM COM
A: HIST COM : DDT COM : Z80ASM COM : CLS COM
A: SLRNK COM : MOVCPM COM : ASM COM : LOAD COM
A: XSUB COM : LIB COM : PIP COM : SYSGEN COM
A>dir B:
B: BOOT HEX : BYE ASM : CLS MAC : SURVEY MAC
B: R ASM : CLS COM : BOOT Z80 : W ASM
B: RESET ASM : BYE COM : SYSGEN SUB : BIOS HEX
B: CPM64 SYS : SPEED C : BIOS Z80 : SPEED COM
B: SURVEY COM : R COM : RESET COM : W COM
A>bye
System halted
CPU ran 3 ms and executed 1958078 t-states
Clock frequency 630.22 MHz
CP/M 3 was the next generation of CP/M with features from MP/M to notably be able to use more RAM along with a lot of other nice features.
Run with:
(cd cpmsim; ./cpm3)
Sample run:
####### ##### ### ##### ### # #
# # # # # # # # ## ##
# # # # # # # # # # #
# ##### # # ##### ##### # # # #
# # # # # # # # #
# # # # # # # # # #
####### ##### ### ##### ### # #
Release 1.38, Copyright (C) 1987-2024 by Udo Munk and others
CPU speed is unlimited, CPU executes undocumented instructions
Booting...
LDRBIOS3 V1.2 for Z80SIM, Copyright 1989-2007 by Udo Munk
CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.
BNKBIOS3 SPR FC00 0400
BNKBIOS3 SPR 8600 3A00
RESBDOS3 SPR F600 0600
BNKBDOS3 SPR 5800 2E00
61K TPA
BANKED BIOS3 V1.6-HD, Copyright 1989-2015 by Udo Munk
A>setdef [no display]
Program Name Display - Off
A>setdef [uk]
Date format used - UK
A>setdef *,a:,b:,i:
Drive Search Path:
1st Drive - Default
2nd Drive - A:
3rd Drive - B:
4th Drive - I:
A>setdef [order=(com,sub)]
Search Order - COM, SUB
A>setdef [temporary=a]
Temporary Drive - A:
A>hist
History RSX active
A>vt100dyn
(C) Alexandre MONTARON - 2015 - VT100DYN
RSX loaded and initialized.
Try
A>DEVICE CONSOLE [PAGE]
to see if it works...
A>dir a:
A: CPM3 SYS : VT100DYN COM : TRACE UTL : HIST UTL : PROFILE SUB
SYSTEM FILE(S) EXIST
A>dir b:
B: BNKBDOS3 SPR : CPM3 SYS : LDRBIOS3 MAC : SCB MAC : RESBDOS3 SPR : BIOS3 MAC : PATCH COM
B: GENCPM COM : BDOS3 SPR : GENCPM DAT : BOOT Z80 : M80 COM : LINK COM : L80 COM
B: WM COM : MAC COM : WM HLP : BNKBIOS3 SPR : LDR SUB : INITDIR COM : CPMLDR COM
B: COPYSYS COM : CPMLDR REL : RMAC COM : SYSGEN SUB
A>bye
System halted
CPU ran 14 ms and executed 10493728 t-states
Clock frequency 713.42 MHz