Talk:CP/Archive 1

PDP
Hmmm, the name for the copy command on the old PDP-11 (or possibly PDP-8, I'm not sure which) was "pip", n'est-ce pas? What is the connection there?

Do you know what OS on the PDP? I think PIP in CP/M stands for Peripheral Interchange Program, but I am not sure, will look up at some point (I think I set a set of Digital Research CP/M docs somewhere). --drj

There were several OSs on the PDP. I myself used RSTS/E on a PDP-11/70, and it used PIP. --Alan Millar (nice reference --drj)

CP/M was essentially identical to the OS on the PDP-15, so far as I could see. I used a PDP-15 a little in 1972-1973. When I encountered CP/M on a Z-80 machine about 1983, I was amazed that everything was the same. There were DDT, PIP, and other utilities whose names I forget. It had the IOByte, named the same as on the -15 to control IO operations. The utility names and operations were all just the same, as far as I could remember. Of course, the assembly code must have been different, but otherwise it was the same. DEC must have had a family of similar OSs, for the OS on the PDP-8 was similar, but simplified, and less obviously similar to CP/M. I never used the PDP-11, so I can't really compare its OS, but from what I saw later, the -11 OS was quite a bit different. I have always thought that Kildare's project must have been to port (or re-implement) the PDP-15 OS, even though I have never read anything to that effect, because of the remarkable similarities in function and utility names. -- |Tom Passin

The "pip" command (indeed standing for "Peripheral Interchange Program") was the swiss army knife of CP/M -- it could do copys, moves, and several other file operations. It was designed to know all about the various peripherals (hence the name) and how to copy, etc. to each of them. -- NickelKnowledge


 * Calling the "pip" syntax "obscure" *grrrr* It does not copy, it assigns, which explains the Pascal-like assignment syntax. The result of such an assignment actually can be a copy but it's a slightly different point of view -- Volker

"pip" exists/existed also on Vax VMS and, presumably, still on OpenVMS. Wilsonsamm (talk) 21:26, 26 January 2010 (UTC)

Postscript added by usernamekiran: The doubt is correct, various aspects of CP/M are influenced by TOPS-10 operating system, as it was the development environment for CP/M. Gary used the TOPS-10 OS on DEC System 10 mainframe, at Naval Postgraduate School, Monterey, California. He was professor there at that time. — Preceding unsigned comment added by Usernamekiran (talk • contribs) 10:18, 24 March 2012 (UTC)

Title
Why not simply CP/M? We don't have to my knowledge any convension that says put operating system to all of articles of operating system. -- Taku 23:43 Apr 4, 2003 (UTC)

History
PRESERVED HISTORY OF CP/M (pre-merge and rename):

'''(cur) (last). . 13:11, 26 Sep 2001. . 194.129.101.xxx''' (Revision as of 13:11, 26 Sep 2001)

CP/M stands for Control Program Monitor and was an

early operating system for Intel 8080 and Zilog Z80 based computers.

It was normally distributed in its raw form on 8 inch floppy disks.

CP/M could be implemented on most new 8080 and z80 based systems by writing an interface layer, called the BIOS, for your particular computer then using the largely generic rest of the operating system largely unchanged. It was thus fairly portable amongst different machines with the same CPU; this made it popular, and much more software was written for CP/M than for operating systems that only ran on one brand of hardware.

Hundreds of different brands of machines ran CP/M.

WordStar, one of the first widely used word processors, was written for CP/M.

Later a version of CP/M for the Intel 8086 (CP/M-86) was written; it was an alternative to DOS for IBM PC's. DOS proved to be much more popular.

In many ways CP/M was a predecessor of DOS, many internal mechanisms of early versions of DOS were clearly inspired by those of CP/M.

The user interface of DOS however was a bit more friendly. Compare for example CP/M's copy command.

PIP &lt;destination filename&gt; &lt;source filename&gt;

to DOS's more intuitive

COPY &lt;source filename&gt; &lt;destination filename&gt;

'''(cur) (last). . 13:16, 26 Sep 2001. . 203.25.148.xxx (unfortunately, slashes in titles cause Wikipedia to create a sub-page. moved to CPM operating system. -- Bignose)'''

(page blanked - cut and paste move)

'''(cur) (last). . m 15:43, 25 Feb 2002. . Conversion script (Automated conversion)'''

REDIRECT CPM operating system

See also : CP

'''(cur) (last). . 00:13, 8 Jun 2002. . Uriyan'''

REDIRECT CP/M operating system

END PRESERVED HISTORY

Accuracy
Lots of edits just now - I used CP/M from 1981 till around 1993, mostly on an Osborne 1 and Ibex 7150 - so I missed the 8 inch drives period, mostly. C: hard drive is an MS DOS thing - my Ibex calls the hard drive A: and the floppy B:, and any CP/M machine had to call the drive from which CCP was reloaded the A: drive. User area 0 was not generally accessible to other user areas in stock CP/M, but ZCPR patched this to make it work the way the article used to describe it. Executable files were called .COM in 8-bit CP/M - the .EXE extension was only for MS DOS. (16-bit CP/M called binaries .CMD). It's a little unfair to call a 30-year old operating system "primitive" by today's standards, especially as you could have found CP/M contemparies which were even harder to use (such as no random access files). I've also done some reorganizing - the drawback with editing online is that after a few people have touched the article the flow gets murky. --Wtshymanski 05:50, 8 January 2006 (UTC)

It says "The C128 and MSX were the only machines that supported the use of CP/M with 3.5" floppy disks. " Sony's SMC-70, the first computer to use 3.5" floppy disks, ran CP/M 2.2. — Preceding unsigned comment added by 32.213.142.72 (talk) 22:10, 30 November 2018 (UTC)

Backronym?
I'm 99.9% sure that "Control Program for Microcomputers" is a backronym, and "Control Program/Monitor" is the original name. It's that missing 0.1% that's preventing me from doing the edit myself... -- DocSigma 08:42, 18 January 2006 (UTC)
 * Control Program for Microprocessors was more common. Kildall wrote it for Intel. Intel weren't exactly shipping thousands of their prototypes.


 * I have changed the order of the two names; you are correct, the name was changed. I used to have documentation that would prove this. --Moby 10:28, 27 February 2006 (UTC)

Acronym
Isn't the correct acronym for CP/M actually "Control Processor for Microcomputers"? Maybe I just made this up (it's been a long time!) or maybe it was printed wrong in the manuals that I had for my 1984 Kaypro II. Any thoughts on this? --KevinWatts 06:11, 2 May 2006 (UTC)
 * I am quite sure that Processor was never commonly used. Maybe your manual had a typo. --Moby 11:06, 2 May 2006 (UTC)
 * It said 'Control Program for Microprocessors' in early manuals. 'Microcomputer' wasn't even heard of back then.
 * Ah, did a little more research, and I'm in agreement now! Thanks! KevinWatts 05:18, 6 May 2006 (UTC)

Control Program / Monitor was the first meaning, consistent with terminology when the OS was developed: Control Program was the name for a command processor. Monitor referred to the hardware/system-software monitor (note that early Zenith PCs CP/M and DOS used the term Monitor for its ROM-based system configuraton and status tool). Soon thereafter, CP/M documentation stated Control Program for Microprocessors and a ltlle later Control Program for Microcomputers. — Preceding unsigned comment added by Tclederman (talk • contribs) 16:15, 15 July 2011 (UTC)

Correct
Should'nt 64000 bytes of memory say 65536 bytes of memory? johan_h 23:15, 19 February 2006 (UTC)

RAM?
Why are we using "random access memory" in here rather than referring to it as RAM? Seems particularly odd seing as we aren't using the long version of BIOS and others...

Is this right?
"Many of the basic concepts and internal mechanisms of early versions of MS-DOS were patterned after those of CP/M. Internals like file-handling data structures were identical, and both referred to disk drives with a letter (A:, B:, etc.). The main innovation was MS-DOS's FAT file system. This intentional similarity made it easier to port popular CP/M software like WordStar and dBase." My understanding is that MS-DOS was a CP/M x86 port purchased by Microsoft. That is, it was not 'like' CP/M, it was CP/M.

This was, of course, long ago and I may not be remembering this correctly.
 * It would seem so. MS-DOS was the work of Tim Paterson. It intentionally retained compatibility with CP/M - right up to the end. See the IVT for example. But Paterson made a cross-assembly into the 8086. CP/M was an 8-bit OS written specifically for the Intel 8080. The Z80 was compatible with the 8080 as the engineers and founders of Zilog had built the 8080 for Intel.


 * I doubt you'd call Linux a Unix port, or Wine a Windows port. AFAICS, it would only be considered a port if it used actual CP/M code. --StuartBrady (Talk) 17:33, 12 July 2006 (UTC)
 * This is semantics. That's all.


 * CP/M-86 was Digital Research's own version of CP/M for the 16-bit register width Intel 8088 / 8086 CPUs. It was made available (at a hefty premium) for the IBM PC. MS-DOS was a somewhat reworked (at Microsoft) version of QDOS which was CP/M-80 ported to the new 16-bit processors as a way to test a new CPU board for the S-100 bus developed at Seattle Computer Products. It was written by Tim Patterson, then an employee there. Patterson was later hired to work at Microsoft and supposedly did some work on that version of QDOS.
 * One 't' in 'Paterson'. Otherwise spot on. But he didn't work on QDOS - he worked (with 'MZ') on MS-DOS.
 * So this editor's impression of what CP/M-86 was is quite off the mark both as to the name as well as to the internals. 67.86.175.54 05:03, 28 September 2006 (UTC)


 * I'm sorry - you're an editor here and you're relying on impressions? Then please don't edit anymore. Thank you.

External links modified
Hello fellow Wikipedians,

I have just added archive links to 1 one external link on CP/M. Please take a moment to review my edit. If necessary, add after the link to keep me from modifying it. Alternatively, you can add to keep me off the page altogether. I made the following changes:
 * Added archive https://web.archive.org/20110206100213/http://blogs.msdn.com:80/b/oldnewthing/archive/2004/03/16/90448.aspx to http://blogs.msdn.com/b/oldnewthing/archive/2004/03/16/90448.aspx

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

Cheers.—cyberbot II  Talk to my owner :Online 05:20, 5 February 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 3 one external links on CP/M. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20101029154106/http://www.cpmwelt.de:80/pool/ad5401.htm to http://www.cpmwelt.de/pool/ad5401.htm
 * Added archive https://web.archive.org/web/20080611201653/http://www.khet.net:80/gmc/docs/museum/en_cpmName.html to http://www.khet.net/gmc/docs/museum/en_cpmName.html
 * Corrected formatting/usage for http://home.micros.users.btopenworld.com/cpm/index.htm

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).

Cheers.— InternetArchiveBot  (Report bug) 09:01, 12 November 2016 (UTC)

Z80 and 8080
The connection between Z80 and 8080 support is not clear, in my opinion.


 * In what way is it not clear? That CP/M supports these CPUs or the connection between the Zilog Z80 and the intel 8080? I remember that the Z80 was capable of running i8080 code natively, since the i8080 instruction set was a subset of the Z80's instruction set. Software written for the i8080 would run on Z80 systems. Software written using the extented Z80 instruction set (ie. beyond the i8080 subset), would only work on Z80 and compatibles, but not on i8080 systems. Some application software and CP/M variants (especially towards the end of the CP/M era) required Z80 compatbile CPUs and made use of its extented instruction set. -- schubi42 2:06 28 September 2011 (IST)]] — Preceding unsigned comment added by 109.78.127.110 (talk) 01:06, 28 September 2011 (UTC)

Descendants
I don't think it's particularly meaningful to describe OS/2 or Windows as a "descendant" of CP/M - about the only thing in common is referring to disk drives by a letter. The products were made by different companies for different processors - if CP/M is an "ancestor" to Windows, it's in such a dilute sense that it has no practical meaning. Why aren't Linux and MacOS X also considered "descendants" of CP/M? I'd like to think an "ancestor" has some clear influence on its descendants, and I bet drive letters are the only thing these have in common. --Wtshymanski 16:31, 21 October 2007 (UTC)
 * I think we can safely say that the first versions of MSDOS(86-DOS) was originally a 16bit clone of CP/M. I am not sure if that makes it a descendant, but it makes it a closer relative to CP/M than Linux and MacOS X. Still I don't think it should be included in the article unless someone shows sources stating it is a descendant. Ahy1 19:06, 21 October 2007 (UTC)
 * DR-DOS was simply another name for CP/M and it was capable to run Windows. OS/2 was a descendant to DOS and Windows NT simply branched from OS/2 project.--Certh 19:49, 21 October 2007 (UTC)
 * Linux and MacOS X are counted as part of the Unix family. Frotz 20:25, 21 October 2007 (UTC)
 * And UNIX is about as much a descendant of CP/M as is Windows Vista, right? I don't think it's at all useful or descriptive to say that the various PC operating systems are descendants of CP/M. --Wtshymanski 23:57, 21 October 2007 (UTC)
 * We weren't saying anything about Unix of any sort being a descendant of CP/M. Just DOS, OS/2, and Windows.  Frotz 02:24, 22 October 2007 (UTC)
 * But you haven't explained why UNIX *isn't* a descendant of CP/M, either. Just as no-one has explained what CP/M has to do with Windows, for example. The proverbial bright 12-year-old Wikipedia user is going to have a terrible time trying to find any CP/Mish features in Windows, *aside from referring to drives by letters* which I submit is hardly unique. If you look hard enough at a whale skeleton you can find the back legs...point out the remains of CP/M in Windows and I'll be convinced.  Just what do you *mean* when you say Windows, OS/2 etc. are "descendants" of CP/M ?  It's a vacuous statement that just pads out the article with no information content. --Wtshymanski 17:12, 22 October 2007 (UTC)


 * Let me explain the lineage more clearly. DOS began as a clone of CP/M.  DOS 1.x in particular is exceedingly CP/M-like.  The only significant differences are that DOS replaced PIP with COPY and crude device files.  By DOS 2.x, proper directories were added -- a feature previously found in assorted mainframe and minicomputer operating systems.  From then on, DOS acquired no fundamental changes of the magnitude of directories.  At the same time, Digital Research kept developing CP/M-86, adding the same tweaks that Microsoft added to DOS.  Digital Research decided to take Microsoft head-on and so renamed CP/M-86 to DR-DOS.  Window started as a layer on top of regular DOS.  OS/2 started as an overhaul of DOS.  That makes OS/2 an indirect descendant of CP/M.  Windows NT branched off from this and eventually became the current Windows.  Now the, for the whale legs.  1) The executable file formats for Windows are exactly the same as they were from DOS.  There's a trap at the beginning that checks what operating system is being used.  2) The command line is the same as in DOS.  3) NTFS still has features left over from FAT.  Frotz 18:27, 22 October 2007 (UTC)
 * Do you know that the first name for Windows NT was OS/2 NT? Do you know that OS/2 started as uder the name MS-DOS 3.0 which was planned to support multitasking? The "8.3" file name format comes from CP/M and still preserved in FAT32 and NTFS directory. Windoows 95 was able to run on DR-DOS kernel (although it was prohibited by license).--Certh 19:59, 22 October 2007 (UTC)


 * We're speaking of CP/M here - every new version of MS DOS since 1.X was supposed to be multitasking, according to hype at the time. In the book "Advanced MS DOS" Microsoft Press 1986, ISBN 0-914845-77-2, page 6,  Ray Duncan points out many differences even between MS DOS 1.0 and CP/M including "...an improved disk-directory structure ...superior disk allocation and management method...an expanded set of operating-system services including hardware independant function calls to set or read the date...".  I don't think it helps the modern student to think of CP/M 80 as an ancestor to anything other than perhaps the first release of MS DOS which had some calling conventions that made mechanical translations of CP/M 80 source code easier do MS DOS 1.X programs even run under later versions? Under Windows? ).  But the charactersitic mode of invoking functions in MS DOS is via Int 21h, which has no comparable equivalent in CP/M. CP/M did not support any interrupts. CP/M had a much cruder file system than even 1.0. True, Duncan does say "ancestor" on page 6, too, but I think it's misleading to speak of CP/M 80 as an ancestor of things like Windows on MS DOS, free-standing Windows, OS/2, and the like - it's just too much of a stretch. Can you still load the CL register with the function number and call 0005H ?  If this doesn't work, then the last traces of CP/M 80 are gone - aside from drive letters, of course. --Wtshymanski 00:37, 23 October 2007 (UTC)


 * The first MS DOS was simply 86-QDOS - made by Tim Paterson - renamed. Tim Paterson made QDOS (Quick and Dirty Operating System) to handle the 16-bit 8086 CPU. CP/M at the time only supported 8-bit processors. Digital Research took too long in developing CP/M-86 and Tim Paterson who was trying to sell 8086 CPU boards with Seattle Computers had no OS to sell them with. To quote Paterson "I just took his [Gary Kildall's] printed documentation [for CP/M] and did something that did the same thing." (Kildall accused Paterson of "ripping off" CP/M). To be more precise, the goal of QDOS was that it would be easy to adapt programs that ran on CP/M on the 8080 so they could be run on the 8086. So it takes CP/M functions and it responds in the same way. But it's not simply a clone, it also greatly improved things in file and disk management. So I think MS DOS fits the description of descendant very well.  —Preceding unsigned comment added by 85.145.53.27 (talk) 22:39, 27 October 2007 (UTC)
 * In the RSX-11 article Windows NT descrobed as to be descendant of RSX-11. I think it is much more meaningful to count it a descendant of CP/M than RSX.--Certh 16:02, 12 November 2007 (UTC)


 * I don't think so. It's well-known that Cutler had a good deal to do with the development of RSX-11, VMS, and NT.  It's not surprising then that all three show similarities.  Frotz 22:33, 13 November 2007 (UTC)

Z-80 Co-processor expansion boards
There should be some discussion of the various Z-80 Co-processor boards that were available for various popular home computer systems. I never used one and I've never used CP/M but it seems an important detail to include these into the history.

I particularly recall Z-80 boards for the Apple II series, which was likely to be extremely weird to use since the normal Apple II disks used GCR encoding, which was utterly incompatible with other home computer systems that used MFM recording. This may be another good example of how unusual disk formats hobbled the CP/M market.

They weren't a coprocessor working in conjunction with the main system CPU but instead tended to operate as a complete replacement to the main processor. I have not been able to determine if any of these Z-80 boards were truly capable of co-processing, which is running a CP/M program while the main CPU is running, and potentially passing data and commands back and forth between the Z-80 and the main system processor.

DMahalko (talk) 02:36, 22 October 2008 (UTC)

ZCPR
I greatly enhanced the section on the Z-System (ZCPR). I used the comp.os.cpm FAQ and the listed article from the Computer Journal issue #54. That article was taken from this url, and had this copyright notice at the bottom:

[This article was originally published in issue 54 of The Computer Journal, P.O. Box 12, South Plainfield, NJ 07080-0012 and is reproduced with the permission of the author and the publisher. Further reproduction for non-commercial purposes is authorized. This copyright notice must be retained. (c) Copyright 1991, 1992 Socrates Press and respective authors]

This article is also available from this url, presumably the home of ZNode 51 (which would have been a BBS dedicated to ZCPR and CP/M back in the day) and run by Helmut Jungkunz. This version does *not* have the copyright notices placed as on the other.

I did not use any verbatum text, but rather my own words based on the original. Could someone verify copyright status of this material? Thanks...  DavidDouthitt  (Talk) 03:57, 31 July 2007 (UTC)


 * The Z-System is now GPLed, if that's what you're trying to find out. Frotz (talk) 21:56, 10 January 2008 (UTC)

I failed to see the connection between ZCPR and CP/M...could someone throw in a sentence or two as to why it's related? —Preceding unsigned comment added by 72.65.96.197 (talk) 16:10, 3 July 2008 (UTC)