• Please review our updated Terms and Rules here

Running CPM3 on a PC is a "DOS Box"

monahan_z

Experienced Member
Joined
Oct 19, 2008
Messages
263
Location
San Ramon, CA
:pI hope the more experienced CPM users on this forum will excuse this, but a number of people have asked me how to edit, assemble (even test) CPM programs for old S-100 systems on a PC. There is are many ways to do this of course but to get newcomers started, I have written up ONE approach to do this using Peter Schorn’s AltairZ80 Simulator. It can be seen here:-

http://s100computers.com/Software Folder/Altair Simmulator/Altair Software.htm
 
It all depends. Do you want to run the programs running in an isolated box or do you want them fully integrated in your Windows/DOS environment? Two different approaches.
 
It all depends. Do you want to run the programs running in an isolated box or do you want them fully integrated in your Windows/DOS environment? Two different approaches.

how to edit, assemble (even test) CPM programs for old S-100 systems on a PC

This leads me to believe that the point is to do it isolated, since it's testing for the native environment.
 
This leads me to believe that the point is to do it isolated, since it's testing for the native environment.

Nope, not really--there are a few emulators that allow one to use DOS files and run commands from a DOS command prompt. So, for instance one can code a file using one's favorite windows/DOS editor and compile and run without leaving the DOS session. SInce CP/M systems are as varied as flowers that bloom in the spring, there is no one "native environment", not even for S-100 systems.

I think I speak from a position of some authority. :)
 
Nope, not really--there are a few emulators that allow one to use DOS files and run commands from a DOS command prompt. So, for instance one can code a file using one's favorite windows/DOS editor and compile and run without leaving the DOS session. SInce CP/M systems are as varied as flowers that bloom in the spring, there is no one "native environment", not even for S-100 systems.

I think I speak from a position of some authority. :)
Well, our young friend often speaks from a somewhat different position... ;-)

I understand there's a CP/M emulator out there called 22NICE; do you happen to know if it works in the pre-XP/2K versions of Windows, or just DOS?
 
Well, our young friend often speaks from a somewhat different position... ;-)

I understand there's a CP/M emulator out there called 22NICE; do you happen to know if it works in the pre-XP/2K versions of Windows, or just DOS?

My 2 cts...

It SHOULD be able to operate in a Windows that is NOT NT/2K/XP-related... as you likely know, they have 'absolute power' over peripherals... particularly the floppy drives...
I have an emulator for my Tandy 4p that does just fine... even in XP, except for the FD access issue.
Oh yeah... and the fact that I have a 'nonstandard' IDE controller in my 'real' hardware, too! :p
 
Well, our young friend often speaks from a somewhat different position... ;-)

I understand there's a CP/M emulator out there called 22NICE; do you happen to know if it works in the pre-XP/2K versions of Windows, or just DOS?

I run it under XP. While it's true that some programs may access the hardware directly, there's a way to trap that within the emulator if one wants.

I note that the topic is CP/M 3, however, not 2.2. I'm not sure why an assembly would require 3.0, but that is a very different situation. 22Nice emulates a CP/M 2.2 environment, as do most other emulation packages. CP/M 3.0 requires bankswitching hardware and a rather more complex BIOS.

If a true CP/M 3.0 emulation is required YAZE-AG is pretty decent. There apparently is also a SIMH adaptation that does it also, or at least claims to have that capability. Herb Johnson has a rundown of emulators on his Retrotechnology site.
 
Well, our young friend often speaks from a somewhat different position... ;-)

I understand there's a CP/M emulator out there called 22NICE; do you happen to know if it works in the pre-XP/2K versions of Windows, or just DOS?

Yeah excuse my perspective, I'll just creep back out of CP/M land - I really don't belong here, heh.
 
I run it under XP. While it's true that some programs may access the hardware directly, there's a way to trap that within the emulator if one wants.

I note that the topic is CP/M 3, however, not 2.2. I'm not sure why an assembly would require 3.0, but that is a very different situation. 22Nice emulates a CP/M 2.2 environment, as do most other emulation packages. CP/M 3.0 requires bankswitching hardware and a rather more complex BIOS.

If a true CP/M 3.0 emulation is required YAZE-AG is pretty decent. There apparently is also a SIMH adaptation that does it also, or at least claims to have that capability. Herb Johnson has a rundown of emulators on his Retrotechnology site.

The 4/4p emulator I have is more a machine emulator rather than being a CP/M emulator... it will run TRSDOS for the 4/4p and is set up to even handle default hard-drive configurations. Because of it, I was able to get my 4p working with an IDE HD.

I hope (in the near future) to convert to CPM-3 tho I will have to 'create' it since I havent been able to find it for the Model 4/4p (tho I know it existed)...
 
The 4/4p emulator I have is more a machine emulator rather than being a CP/M emulator... it will run TRSDOS for the 4/4p and is set up to even handle default hard-drive configurations. Because of it, I was able to get my 4p working with an IDE HD.

I hope (in the near future) to convert to CPM-3 tho I will have to 'create' it since I havent been able to find it for the Model 4/4p (tho I know it existed)...

AFAIK, the basic CP/M 3 OEM kit is online. So all you have to do is write a CBIOS and XIOS. Should be a lot simpler than an MS-DOS or *nix port. Do your XIOS right and you can use it for MP/M with very few modifications. Few people realize that CP/M 3 is basically a single-console version of MP/M.
 
AFAIK, the basic CP/M 3 OEM kit is online. So all you have to do is write a CBIOS and XIOS. Should be a lot simpler than an MS-DOS or *nix port. Do your XIOS right and you can use it for MP/M with very few modifications. Few people realize that CP/M 3 is basically a single-console version of MP/M.

Ah...
I believe, in truth, that MP/M is actually a 'ported-and-relieved and stroked-and-bored' version of CP/M-3... ;)
It does 140 in the top end, floored.

Ive just been too freaking lazy to piecemeal the original BIOS... not to mention that Im used to my own assembler and would have to learn another one... not that I shouldnt! :D

Besides, if I make CP/M-3 work, I'll have to replace the defective 2nd bank of RAMS... and that is SOOOO expensive. (NOT!) :razz:
 
Last edited:
Ah...
I believe, in truth, that MP/M is actually a 'ported-and-relieved and stroked-and-bored' version of CP/M-3... ;)
It does 140 in the top end, floored:

Actually, MP/M came first, then CP/M 3 (or CP/M Plus, if you will). I've got an early version of MP/M; it's pretty unstable.
 
Back
Top