Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CP/M 2.2 for Virtualbox

1,027 views
Skip to first unread message

KenUnix

unread,
Jan 26, 2023, 4:42:24 PM1/26/23
to
Hi.

Anyone aware of a CP/M 2.2 ISO or equal image (pre-configured appliance) that will run on virtualbox?

I had found a CP/M 1.1 image but it was too old and didn't support COM files.

I had toyed with RunCPM and Z80Pack but I think under virtualbox you would get closer to the actual "machine".

Thanks.

Tim Radde

unread,
Jan 26, 2023, 6:17:07 PM1/26/23
to
I too toyed with Virtual Box for CP/M. I have other virtual machines, but never found anything for CP/M.
I decided to go with Simh and it's Altair emulation which allows me to load up CP/M and it works quite well.
I've used Simh for other things before so am familiar with it and it's easy to use. It should be available on Github.

KenUnix

unread,
Jan 26, 2023, 8:10:41 PM1/26/23
to
Well as I said I have used emulators RunCPM and Z80Pack and like RunCPM
the best under Linux 64bit (Ubuntu).

I also got a small box called Minz-C which runs CP/M 2.2 on a real Z-180 CPU.
I have had a couple issues but the maker has been very nice helping me.

Ken

Randy McLaughlin

unread,
Jan 26, 2023, 8:30:37 PM1/26/23
to
Am I mistaken or doesn't VirtualBox just emulate x86 environments? CPM2.2 is 8 bit.


Randy

fridtjof.ma...@gmail.com

unread,
Jan 27, 2023, 3:17:38 AM1/27/23
to
KenUnix

CP/M 1.1? No such beast for 8080. VirtualBox does not support 8 bit systems like 8080 or Z80 ( or 6502).

The CP/M you had was likely CP/M for 8086. That did not support COM (CMD files instead). The earliest CP/M-80
in common use was 1.4 (some 1.3 exists).

Thorbjørn Ravn Andersen

unread,
Jan 27, 2023, 10:48:22 AM1/27/23
to
If you do not run directly on Z80/8080 compatible hardware, you need an emulator. VirtualBox does not support emulating other CPU architectures, and I do not recall having seen any mainstream "run another operating system"-product capable of doing so.

So no way around the emulator unfortunately. That is a good thing though, modern machines can emulate a much much faster cpu than ever existed in hardware.

bill

unread,
Jan 27, 2023, 10:52:01 AM1/27/23
to
More likely what he had was the CP/M Live 1.1 CD. It boots into
FreeDOS (I think) then runs a z80 emulator and then runs CP/M 2.2.
I have copies of it around here somewhere. I think there may even
be newer versions avaialable.

bill

KenUnix

unread,
Jan 27, 2023, 11:34:51 AM1/27/23
to
The file (zip) is CPM-86_vbox_2013-01-01.zip

Virtualbox 6.1.40 can run it.

See also: https://www.youtube.com/watch?v=UqZbmLqX-Uw

Ken

fridtjof.ma...@gmail.com

unread,
Jan 27, 2023, 4:02:29 PM1/27/23
to
Ken

Sounds Good! That is not CP/M 2.2 - and will not run COM files. For CP/M 2.2 to run COM files,
you will need an 8080 / Z80 emulator. I recommend Udo Monks z80pack or RunCP/M. z80pack
is very good, and actually runs CP/M 2.2. RunCP/M runs CP/M 2.2 CCP (the shell), but runs a translation
layer for the rest.

I use RunCP/M and the Altair-Duino. (8080 / Z80 emulation on an Arduino DUE, with blinky lights and
switchs like the original Altair 8800 -- at the speed of the original). RunCP/M is very much faster.

KenUnix

unread,
Jan 27, 2023, 4:13:43 PM1/27/23
to
Fridtjof,

Is it possible to run the Altair Clone and RunCPM? Not at the same time.


Ken

Randy McLaughlin

unread,
Jan 27, 2023, 4:45:55 PM1/27/23
to
FYI CP/M-86 v1.1 was for the IBM PC.

CP/M was made for a few different processors and can be a little confusing.

The original CP/M systems were for 8 bit 8080/Z80 systems, later came 8086, 68000, Z8000 processors.


Randy

KenUnix

unread,
Jan 27, 2023, 5:16:54 PM1/27/23
to
Randy,

The 680x0 CPU was used heavily by Northern Telecom. See my library at:

https://www.flickr.com/photos/9479603@N02/albums/72157602824219250/page2

My complete library: https://www.flickr.com/photos/9479603@N02/albums

Ken

bill

unread,
Jan 27, 2023, 6:26:12 PM1/27/23
to
Don't forget DEC VAX. :-)

bill


Craig Ruff

unread,
Jan 27, 2023, 6:58:06 PM1/27/23
to
In article <88d4fcb7-266d-42b7...@googlegroups.com>,
Thorbjørn Ravn Andersen <thorb...@gmail.com> wrote:
>VirtualBox does not
>support emulating other CPU architectures, and I do not recall having seen any mainstream "run another
>operating system"-product capable of doing so.

www.qemu.org does this, but not for Z80 CPUs.

Jack Fenton

unread,
Jan 27, 2023, 8:55:20 PM1/27/23
to
Best to run it under DosBox

fridtjof.ma...@gmail.com

unread,
Jan 27, 2023, 11:20:30 PM1/27/23
to
Different purpose. RunCP/M runs CP/M 2.2 software under Linux (and maybe others?). It is not an Altair 8800
"clone" or work-alike The Altair Clone (and the Altair Duino) are meant as Altair 8800 "clones". The "Altair" sits
on my desk and gives me "blinkin lights".

KenUnix

unread,
Jan 28, 2023, 7:39:51 AM1/28/23
to
fridtjof,

Thanks for clarifying that I couldn't figure out the blinlin lights in a virtual machine like RunCPM.

Ken

fridtjof.ma...@gmail.com

unread,
Jan 28, 2023, 12:30:31 PM1/28/23
to
Ken, I do apologize for "over-explaining". I was trying to make sense of your comment:

"Is it possible to run the Altair Clone and RunCPM? Not at the same time."

Since the hardware I run the Altair Clone on is not capable of running RunCPM, I do run them "at the same
time". Indeed, I run RunCPM on the hardware I use for the terminal emulator for the Altair. So, yes,
almost always "at the same time". In a temporal sense I do. In a "share the hardware" sense. I do not.
(but, that is my confusion for "at the same time").

But, it was hard to estimate your level of knowledge. CP.M 1.1 could not have been CP/M 2.2, and so I
assumed that you had a lack of familiarity. Which then meant that you possibly did not the difference
between the multiple ways of running CP/M (as others have mentioned, CP/M was originally run on an
Intel 8080, and then "ported" to 68000, Z8000 and 8086 -- you would find the 68000 port interesting...
like Unix, it is written in C). Further, I noted that you wanted to run a COM file, and that narrowed it down
to 8080 version, which meant 1.3, 1.4, 2.2 or 3.0. You had mentioned 2.2, and had noted that 1.1 could
not run COM files, but assumed that was "too old". Again, I presume lack of knowledge. CP/M 1.1 is
newer than 2.2! Indeed, CP/M 2.2 was retro-named CP/M-80 2.2 because of the confusion.

I did not mean to disparage you. The LAST machine I used with the blinking lights was the Altair...
I just have it on my desk for nostalgia... And, warm, glowing red comfort.

KenUnix

unread,
Jan 28, 2023, 1:41:21 PM1/28/23
to
fridtjof,

Yea, it is like saying Unix is Unix, but it is not... Platform, CPU, etc.

So CP/M 1.1 is newer then CP/M 2.2 !

So CP/M can not run COM or EXE files?

A couple of years ago I ported BWbasic (a very nice basic interpreter) to Linux , DOS, Windows and lately Coherent.
A was toying with the idea of porting it to CP/M but don't know if it is possible. And even if I do would anyone
be interested.

Ken

fridtjof.ma...@gmail.com

unread,
Jan 28, 2023, 3:22:03 PM1/28/23
to
Ken

It would be interesting to see a BWbasic port to CP/M-80. Remember... you get a total budget of 64Kb for
everything. Turbo Pascal shows that it is possible. You should have a look at MBASIC (Microsoft BASIC) 5.21
(or 5.29) to get an idea of what was considered "state of the art"
: fred@llana ~ $; mbasic

BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
39480 Bytes free
Ok

(this from RunCPM). MBASIC support integer (16 bit) float (32 bit) double (64 bit) and string (up to 255 characters, with garbage collection).

A BWbasic port won't be faster, probably not smaller (MBASIC even replaced READY with Ok as a prompt... to save
3 bytes!).

HiTech C (which is the one I would recommend) can be used. HiTech only supports 4 byte single precision (no double). This was the ONLY native compiler on CP/M-80 that support prototypes. Here are some of the things I have on Github:

https://github.com/ratboy666/am9511 - this will show you the format of IEEE float, Microsoft float and HiTech float (yes, they are different)
https://github.com/ratboy666/mtrel - convert from HiTech 3.09 object files to source MAC files.
https://github.com/ratboy666/tiny - make the SMALLEST POSSIBLE programs with HiTech C 3.09

Or, you could use cross-compiling...

Have fun!
Fred (thanks for using my Norwegian name, Fred is probably easier to type!)

Steve Nickolas

unread,
Jan 28, 2023, 11:36:13 PM1/28/23
to
CP/M-86 1.1 is CP/M 2.2, but for 8086 instead of 8080/Z80. It's not what
you're looking for.

There are ways to run CP/M-80 apps on CP/M-86 (I know one, but it needs
CP/M-86 3.1 or later), though you might be better emulating CP/M-80
directly instead of emulating it on top of CP/M-86.

-uso.

Thorbjørn Ravn Andersen

unread,
Jan 30, 2023, 3:10:56 AM1/30/23
to
On Saturday, January 28, 2023 at 7:41:21 PM UTC+1, KenUnix wrote:
> fridtjof,
>
> Yea, it is like saying Unix is Unix, but it is not... Platform, CPU, etc.
>
> So CP/M 1.1 is newer then CP/M 2.2 !
>
> So CP/M can not run COM or EXE files?

CP/M-86 1.1. is newer than CP/M-80 2.2. They are not binary compatible as they are for different cpu architectures. The suffix is CMD, not COM, exactly so the files could coexist. EXE is a MS-DOS invention.

The 16-bit port to IBM PC came too late to marked and they could not agree to a deal with IBM, so an impatient programmer created enough of an operating system implementing the CP/M API to do his own porting, which Microsoft then bought and improved and sold cheaper than CP/M-86 and the rest is history.

Later CP/M-86 evolved into Concurrent DOS which you probably would consider to be much more interesting. I used it briefly back then on non-PCs but DOS-compatability was not enough on its own to compete.
Message has been deleted

henk siewert

unread,
Feb 9, 2023, 1:34:10 PM2/9/23
to
Hi,

I am running Z80MU in DOSBox on Windows 11.
Z80MU uses normal Windows 11 file system.
Works perfectly.

rwd...@gmail.com

unread,
Feb 12, 2023, 7:03:16 AM2/12/23
to
No, it is dosbox that uses windows 11 file system
Z80MU will use the dos file system of dosbox, otherwise you wouldn't need dosbox. Apologies if I seem over pedantic.

FYI - if you use dosbox-x you get printer support, and if you use dosprn as well you can add in mapping from legacy to modern printers.

Richard

henk siewert

unread,
Feb 13, 2023, 10:22:38 AM2/13/23
to
Op zondag 12 februari 2023 om 13:03:16 UTC+1 schreef rwd...@gmail.com:
OK, I just wanted to keep it simple...

rwd...@gmail.com

unread,
Feb 13, 2023, 12:11:54 PM2/13/23
to
Apologies, my message came out ruder than I expected. Social media is rubbing off on me.
Richard

Jack Fenton

unread,
Feb 13, 2023, 2:11:13 PM2/13/23
to
Actually the main issue is that Windows now only accepts 32 or 64 bit applications and DOS was a 16 bit application. I think that this occurred from the transition from Windows XP to Windows 7 ( and later). In this case since DOSBOX is a 32 bit application, you have to run 16 bit applications (such as Z80MU) under DOSBox. Essentially DOSBOX handles the transition from 32 or 64 to 16 bit and then Z80MU handles the translation from 16 bit DOS to 8 bit CP/M.
So we have an emulator under an emulator to make this all work. DOSBOX also handles file system management by sending requests to Windows to actually update the System Disks. Some CP/M emulators handle this by routing read/write requests from the guest application to the host application. Others treat the guest application files separately and the whole file system image is seen by the host as a single file. For instances MyZ80 has disk drives called A-Disk, B-Disk and C-Disk which by Windows are seen as files. Then there needs to be an import/export capability to move the individual files between CP/M and Windows.

Most older legacy games are 16 bit applications.

Thanks goodness there are people that write these programs to keep alive the work that went into CP/M and other older legacy applications.

KenUnix

unread,
Feb 13, 2023, 4:18:44 PM2/13/23
to
Thanks.

I have decided to use SIMH and run AltairZ80 CP/M 2.2 under Ubuntu 22.04.


0 new messages