Skip to main content

Questions tagged [cp-m]

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

Filter by
Sorted by
Tagged with
5 votes
1 answer
533 views

Were any full-screen programs sold for Commodore 64 CP/M?

The various shortcomings of the Commodore 64 CP/M cartridge are fairly well-known (40-column screen, limited to GCR-format disks, restricted TPA size, slow disk access). One that doesn't seem to be ...
john_e's user avatar
  • 8,735
2 votes
1 answer
387 views

What CP/M systems with where BOOT ≠ $0000 do or do not allow a BDOS entry at $0005 rather than BOOT+$0005?

While not standard, there were several CP/M systems (such as ones for TRS-80 Model I and Heath H89) where BOOT was not at $0000. As mentioned in that question, the Digital Research manuals explain ...
cjs's user avatar
  • 27.9k
10 votes
1 answer
992 views

How did one run CP/M on Spectrum computers before the Spectrum +2A/+3?

Wikipedia says, "[The Spectrum +3] was the only Spectrum model capable of running the CP/M operating system without additional hardware." (But the +2A used the same motherboard, and thus ...
cjs's user avatar
  • 27.9k
3 votes
0 answers
273 views

Were CP/M systems based at $4200 a "standard"?

According to the CP/M 2 manual, the standard locations for BOOT (where you jump to do a warm start) and TBASE (the start of the transient program area or TPA) are $0000 and $0100, respectively. This ...
cjs's user avatar
  • 27.9k
17 votes
5 answers
2k views

Unix tools for manipulating Commodore CP/M disk images

I'm looking for some (command-line) tools that can transfer host files on a Unix or Linux machine to and from Commodore .D64, .D71 and similar image files in CP/M format. The particular use case I ...
cjs's user avatar
  • 27.9k
10 votes
3 answers
1k views

How was MP/M’s time sharing implemented?

MP/M, the multi-user sibling of Digital Research ubiquitous CP/M, implemented time-sharing in a way that appears to be very efficient. Processes don’t appear to see each other’s memory and performance ...
rbanffy's user avatar
  • 645
19 votes
1 answer
535 views

Was CP/M 2.1 released, and if so can it still be found?

When I got into CP/M computing it was the CP/M 3 era, so I picked up my understanding of earlier releases second-hand rather than experiencing them in person. My understanding of the history of 2.x ...
john_e's user avatar
  • 8,735
12 votes
1 answer
429 views

What's the earliest source for the legend of Gary Kildall's airplane snub?

A commonly repeated (and commonly debunked) legend describes how Gary Kildall blew his chance at writing the operating system for the IBM PC. Examples include the following: …legend has it that ...
Psychonaut's user avatar
  • 7,731
16 votes
4 answers
2k views

How do I properly exit a program and return to the CCP in CP/M?

Once my CP/M program has finished doing whatever it's supposed to do, or the user chooses some sort of "quit" option, how do I return the user back to the CCP? Can I just do a ret? Or do I ...
cjs's user avatar
  • 27.9k
2 votes
3 answers
678 views

Z80 to 68000 translator for CP/M

CP/M was mostly portable across systems but most of them were z80 based. It was ported to 8086, 68000 and maybe more but without binary compatibility. No z80 systems that wanted CP/M compatibility ...
Valentino Miazzo's user avatar
13 votes
4 answers
3k views

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, ...
Michael Stachowsky's user avatar
20 votes
1 answer
1k views

Are any CP/M systems still in commercial use today?

I understand that there is a great deal of mainframe-era enterprise software that is still in active use, if not on the original hardware then in emulated environments. Its users keep it running ...
Psychonaut's user avatar
  • 7,731
16 votes
2 answers
939 views

Long Term Prevalence of 8080 Code Over Z80 Code in Software Packages

TL;DR: The Z80 was introduced not long after the 8080 and replaced it quickly and almost entirely for personal computing. Still, a large chunk of new software written stayed with 8080 code, making no ...
Raffzahn's user avatar
  • 236k
7 votes
2 answers
401 views

Was the S-83 Personal CP/M CPU used in commercial computers?

The June 1984 edition of Practical Computing magazine (page 43) refers to the American Microsystems Incorporated S-83 CPU as a Z80 compatible CPU with an 8K mask ROM capable of holding Digital ...
scruss's user avatar
  • 22k
0 votes
1 answer
147 views

Is there a digital version of the CP/M T/Maker manual available?

I have a CP/M emulator running on a Raspberry Pi. I managed to run the old circa 1979 T/Maker program, but I don't have a manual. Any thoughts on where I can find one?
HRM Resident's user avatar
6 votes
2 answers
619 views

CONIN (Console In) in CP/M and "old characters" in character latch

CP/M uses CONIN to read a single character from the keyboard, and it will assert CONST to poll the status register for incoming characters. Let's assume the keyboard controller can buffer one ...
BipedalJoe's user avatar
9 votes
1 answer
382 views

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 ...
BipedalJoe's user avatar
10 votes
4 answers
2k views

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 ...
Nick Bolton's user avatar
2 votes
1 answer
258 views

Why does Z80 RC2014 ROM image 88 not have CP/M or BASIC boot options?

While trying to boot to CP/M automatically on my RC2014 Z80, I encountered a problem getting SCM to show a CP/M boot option. According to the docs, ROM address 4000 (88 on the ROM label) is SCM with ...
Nick Bolton's user avatar
13 votes
3 answers
2k views

How many characters/pages could WordStar hold on a typical CP/M machine?

I was looking at the Atari Word Processor which could hold only about one or two pages in 48k memory due to it requiring DOS to be loaded along with the relatively large program itself. That led me to ...
Maury Markowitz's user avatar
10 votes
4 answers
872 views

Is there any known magic number signature for CP/M-80 program files?

I'm looking for a way to identify CP/M-80 (i.e. 8080 code) program files (.COM) from their content. A process usually known as Magic Number or File Signature detection, intended to identify a file by ...
Raffzahn's user avatar
  • 236k
7 votes
1 answer
437 views

Why didn't the CP/M-86 assembler support traditional macros?

The ASM86.CMD assembler Digital Research shipped with CP/M-86 provided only code-macros, a limited type of macros for creating new instructions through a small set of specific directives. Why didn't ...
Paolo Amoroso's user avatar
5 votes
0 answers
238 views

How many CP/M-86 copies were sold?

Approximately how many CP/M-86 copies or licenses did Digital Research sell across the product life of the operating system? Are there any data or estimates? I know the success of MS-DOS didn't leave ...
Paolo Amoroso's user avatar
25 votes
3 answers
3k views

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 ...
Omar and Lorraine's user avatar
5 votes
1 answer
826 views

Is there a way to boot CP/M automatically on a Z80 RC2014?

I'm using the RC2014 (Z80), running CP/M. The "24886009" ROM chip (photo below) comes with 32k BASIC, 56k BASIC, SCM and CP/M for SIO/2 serial. When you run CP/M from the RC2014 ROM, you ...
Nick Bolton's user avatar
16 votes
3 answers
3k views

Running CP/M on my own Intel 8080 emulator

I recently finished writing an emulator for the Intel 8080, having passed all of the usual test suites, and wanted to try running an actual OS on it (such as CP/M). I'm aware that I would have to ...
linguisician's user avatar
6 votes
1 answer
576 views

How do I read a port value using Turbo Pascal inline code on CP/M?

After successfully using port[0] to read a port value in Turbo Pascal, I thought I'd try to understand how to do this using inline assembly/machine code. I'm able to write to the port (my OutPort ...
Nick Bolton's user avatar
11 votes
5 answers
3k views

Early implementations of the `system()` call in a consumer OS

Nowadays, it's easy to take for granted the system() call (as defined in POSIX), which allows a user program to easily execute a child process and wait for it to complete. Obviously, this is a trivial ...
Brian H's user avatar
  • 61.5k
15 votes
1 answer
5k views

Good Z80 disassembler/decompiler on modern equipment?

I have a hobby project with an old CP/M-80 system, where I now would like to disassemble/decompile some compiled code – a ROM and some small executables – into assembly source so I can regenerate the ...
Thorbjørn Ravn Andersen's user avatar
16 votes
2 answers
984 views

What was special about "Vulcan" - the CP/M database program?

The Vulcan DBMS for CP/M micros was originally developed in 8080 assembly language by a contractor working for Jet Propulsion Lab, based on an earlier JPL mainframe program. This code went on to be ...
Brian H's user avatar
  • 61.5k
6 votes
3 answers
1k views

Z80, best way to page out EEPROM

Trying to design a Z80 based computer that starts from an EEPROM, loads CP/M to RAM and pages out (switches off) EEPROM to allow CP/M to access full 64K RAM. What is a good way of achieving this ? My ...
Charles's user avatar
  • 411
11 votes
1 answer
593 views

Assembler where output file was executable WHILE including the source code

I seem to remember using an assembler with the following interesting workflow: You'd write an assembly language file and assemble it. The output overwrote your source code by placing the executable ...
davidbak's user avatar
  • 6,494
4 votes
2 answers
326 views

Replacing an 8" disk drive with a newer/smaller drive on an old 8-bit computer?

I used to have an out-phased Danish 8-bit computer as a hobby machine back in the 90's. It had two external 8" floppy drives, and I have kept the old floppies. Now I'd like to salvage my old ...
Thorbjørn Ravn Andersen's user avatar
13 votes
1 answer
1k views

When did the Altair move ROM to the top of memory?

The 8080 starts running code at location 0 on reset. The natural layout of memory on a computer using that CPU is therefore ROM at the bottom of the memory map and RAM at the top. CP/M demands the ...
rwallace's user avatar
  • 63.8k
7 votes
1 answer
531 views

Did OSes write the floppy's logical sector number resulting from sector interleave/skew in the IDAM sector ID, or was it up to the OS?

I've been looking at MicroBee floppy disk image files. They use the DSK/EDSK image file format originally created for Amstrad CPC emulators, probably because both systems use derivatives of the CP/M 2....
hippietrail's user avatar
  • 7,874
12 votes
1 answer
2k views

How to quit MBASIC and return to CP/M?

I've tried everything I can think of. EXIT QUIT END STOP BYE Q…
Jacob Krall's user avatar
  • 2,299
4 votes
2 answers
341 views

Is there a "most correct" name for the disk format / filesystem used by Amstrads and Spectrum +3's?

The native floppy disk format/layout or "filesystem" used by Amstrad microcomputers such as the CPC and PCW range and by the Sinclair Spectrum +3 are versions of one that came from CP/M. In Amstrad ...
hippietrail's user avatar
  • 7,874
1 vote
1 answer
353 views

How does the Spectrum +3 know how many files are in the disk's directory?

The Spectrum+3 uses a version of the Amstrad and CP/M disk layout. The Speccy version has a directory at the start of the disk after any reserved tracks and it can hold up to 64 files. Each ...
hippietrail's user avatar
  • 7,874
16 votes
3 answers
2k views

Are there games for the C128 that run (mainly) on the Z80 rather than the 6502?

The Commodore 128 was a version of the Commodore 64 that also had a Z80 CPU along with its "native" 6502 CPU so the system could run CP/M as well as C64 software. (As well as more RAM and ...
hippietrail's user avatar
  • 7,874
24 votes
6 answers
7k views

Why did the Z80 with 4-bit ALU out-perform the fully 8-bit Intel 8080?

Looking at the development and architecture of the Z80, it appears to be a scaled-down, cost-reduced (in terms of total system cost), clone of the Intel 8080. It only used a 4-bit ALU. I assume this ...
Brian H's user avatar
  • 61.5k
27 votes
4 answers
5k views

What was the intention with the Commodore 128?

The Commodore 128 had 2 CPUs, 2 video graphic chips, and 2 I/O systems/chips. It had 3 modes: Commodore 64 mode, Commodore 128 mode and CP/M. The first shared one of each CPU/chip, the CP/M mode the ...
Michel Keijzers's user avatar
6 votes
3 answers
828 views

What was the format for .OBJ files produced by M80.COM for CP/M?

When DOS released in 1981, the assembler that came with it produced .OBJ files that were OMF format. However there was a predecessor to it, M80.COM that ran under CP/M and also used .OBJ as the file ...
dgnuff's user avatar
  • 545
2 votes
1 answer
216 views

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 ...
David Given's user avatar
  • 1,340
7 votes
1 answer
454 views

How to get BBC BASIC to TRS-80?

I recently discovered there's BBC BASIC for CP/M machines. Having had my fill of Microsoft Basic, I need to get BBC BASIC onto a disk I can boot on a TRS-80 Model 4P. I have no CP/M disk (or image) ...
Brian H's user avatar
  • 61.5k
7 votes
3 answers
1k views

How to get a plain text file version of a CP/M .BAS (M-BASIC) program?

I have an old game (STRTRK.BAS) from my dad's Kaypro 10 that I would like to convert to a plain text file. Basically, what I'm trying to do is get it onto a modern computer in plain text format so I ...
dvanaria's user avatar
  • 351
17 votes
6 answers
2k views

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 ...
bjb's user avatar
  • 17.3k
12 votes
3 answers
2k views

Did CP/M support custom hardware using device drivers?

MS DOS Ver 1.0 did not have OS support for device drivers. DOS ver2 added support for device drivers in the config.sys file during boot with the "DEVICE=[path][filename][parameters]". Did CP/M have ...
jwzumwalt's user avatar
  • 4,519
13 votes
2 answers
908 views

Are there any known viruses for CP/M?

Are there any (known) viruses for CP/M? Chronologically, CP/M machines fit into the time period of the first home computer viruses, starting with other 8-bit computers. Given the hardware ...
Radovan Garabík's user avatar
1 vote
1 answer
292 views

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 ...
Duke Dougal's user avatar
14 votes
1 answer
1k views

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 ...
Duke Dougal's user avatar