Questions tagged [cp-m]

For questions related to the CP/M operating system by Gary Kildall.

The CP/M operating system (acronym for Control Program for Microcomputers) is an operating system developed by Gary Kildall at Digital Research for the 8080 microprocessor, although it can be used in Z80 environments, where it gained popularity.

For questions related to a particular implementation of CP/M, please add the relevant tag indicating the target machine. For programming for CP/M, also use the tag.

More information about CP/M: https://en.wikipedia.org/wiki/CP/M

Unofficial page devoted to the CP/M (with lots of information and source code): http://www.cpm.z80.de/

66 questions
21
votes
3 answers

Why does CP/M use CALL 0005h for its syscalls?

CP/M, the operating system for Intel 8080 and Z80 (and others as well, but later) used to call 0005h for syscalls. The application would load the syscall number into a specific register (I think it was C) and then do call 0005h. But why? Both the…
Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
15
votes
4 answers

Is there a way to execute CP/M binaries on a modern Linux computer

I have a few old programs/games which I'd like to run today. As there is Wine for running Windows programs, I wondered if there is a compatibility layer for CP/M. Obviously it would need to implement some kind of Z80 emulation too. Output would…
Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
14
votes
1 answer

In CP/M, how does control-Z (hex 1a decimal 26) not interfere with ordinary file storage?

Consider this - I have made a file called test.bin on a Windows machine. It is exactly 256 bytes long, and contains nothing more than 00 to ff in each byte. What would happen if I transferred this file to a CP/M system? (in fact this is exactly…
Duke Dougal
  • 457
  • 3
  • 10
14
votes
4 answers

Did CP/M provide compatibility for screen-based programs?

I refer here to 'screen-based programs' that are not actually graphical, but take full advantage of the screen as a two-dimensional array of 80x25 characters, as opposed to typical 'command-line programs' whose output is essentially one…
rwallace
  • 60,953
  • 17
  • 229
  • 552
13
votes
4 answers

In CP/M, how did a program know when to load a particular overlay?

Here is what I understand so far: A program that was too large to put into main memory was broken into several overlay regions. Once you needed data from outside of the currently loaded region, something happened to swap out the overlays. But what…
Michael Stachowsky
  • 3,151
  • 2
  • 22
  • 31
12
votes
3 answers

Why did CP/M require RAM in the bottom part of the address space?

A Z80 on RESET, starts executing from 0x0000. This is why the ZX machines and so many others have ROM at the bottom of the address space. Presumably an 8080 is the same. But as I recall, a CP/M binary is loaded into memory from address 0x0100 and…
Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
12
votes
5 answers

Are all CP/M-80 implementations binary compatible?

I never was into CP/M, but I knew it was very popular and the amount of software out there was significant. That being said, when you looked beyond the Kaypros, the IMSAIs, the SOLs and the like which were presumably built mostly similar (well, if…
bjb
  • 16,259
  • 46
  • 141
11
votes
2 answers

Getting started with CP/M

I have a Commodore 128, but this is a platform-neutral question. I have a lot of experience with a lot of operating systems (including DOS, Linux, BSD and AmigaOS) but I never used CP/M much back in the day. Since I have compatible hardware, what…
Jim MacKenzie
  • 1,632
  • 1
  • 12
  • 31
9
votes
1 answer

What was FDOS an abbreviation for in CP/M?

Digital Research wrote in the CP/M manual that "The BIOS and BDOS are logically combined into a single module with a common entry point and referred to as the FDOS. " What is FDOS an abbreviation for?
BipedalJoe
  • 829
  • 3
  • 10
8
votes
4 answers

How do you run a program automatically when CP/M 2.2 loads?

Following my question on booting CP/M automatically on RC2014 Z80, I'd like to run a program after CP/M starts, similar to how autoexec.bat works on DOS. I see that CP/M 3 has PROFILE.SUB which would solve the problem, but the RC2014 CF comes with…
Nick Bolton
  • 819
  • 4
  • 13
6
votes
2 answers

CP/M SKU per CPU only?

The impression I get is that CP/M relied on the BIOS, provided in ROM with the computer, for all the hardware-specific functions. So if you bought CP/M, you didn't have to specify what computer you had; the same discs would run on any computer with…
rwallace
  • 60,953
  • 17
  • 229
  • 552
2
votes
1 answer

Reserving extra directory blocks with cpmtools?

I'm trying to create a boot disk for the Kaypro II (from scratch). I've been using cpmtools to generate file system images for other platforms, mostly with success. However, the Kaypro II has this weird boot track format where the boot image is on…
David Given
  • 1,330
  • 8
  • 20
1
vote
1 answer

How viable is a universal PC parallel/serial connected CP/M disk controller/drive?

I had an idea and wanted to hear if there are any major technical obstacles. Imagine any vintage computer with either a serial port or a parallel port. The vintage computer is connected via that cable to a PC (or Raspberry PI or any machine with a…
Duke Dougal
  • 457
  • 3
  • 10