PL/M by DRI and others

This document last updated FGeb 26 2024 Herb Johnson.
To return to my Digital Research and CP/M history page click here.
To contact me @ email follow this link.

Intro

This information is part of a Web page of referenced documents and products of Digital Research Inc. or of Dr. Gary Kildall who founded DRI. This page is specifically about PL/M and derivative products. Kildall developed PL/M language 8008 and 8080 products for Intel, and also PL/M's for other microprocessors. Others developed similar products; the association to Kildall or DRI was not always clear. This linked Web page cites numerous articles from Dr. Dobbs Journal, Byte Magazine and so on, which discuss PL/M or derivatives. The articles are summarized on that Web page, some information is replicated here. This Web page discusses additional PL/M-like products in more detail. I'll locate various PL/M product documents and software as those products are described on this Web page. But A number of these products have been revived - found, documented, disassembled, emulated - in the 21st century.

Intel/Kildall PL/M documents and code

To introduce PL/M as a programming language, it's useful to reference Intel's PL/M publications. bitsavers.org's Intel archive for PL/M has manuals for the 8080 PL/M compiler. Other Intel documents on-site cover PL/M-51, PL/M-86, PL/M-386. The unofficial CP/M archive or its mirrors, and emulators of 8080's and Z80's like z80pack, include PL/M-80 code to run under Intel's ISIS-II 8080 operating system, or the original Intel/Kildall FORTRAN-based compiler.

In the 21st century, there's recent work to revive DRI's software tools beyond CP/M. By 2018, Mark Ogden has decompiled Intel's ISIS and PL/M-80 tools into both PL/M and reconstructed them into C sources. He's also obtained (or decompiled) PL/M sources for BASIC-E and DRI's LIB, LINK and TEX, and ML80. I have notes about Mark Ogden's and other's recent PL/M work at this link. Ogden's PL/M and other Intel and 8080 reconstruction works can be found on on github.

Archives of FORTRAN PL/M Intel/Kildall products

In Feb 2024, thanks to Nigel Williams and his interests, he found and alerted me about an archive of compiled FORTRAN PL/M tools from Intel They are in an archive of magnetic-tape images from the/a Tymeshare brand mainframe on-line service of the 1980's. Tymeshare used a private network of PDP-10 computers, which were accessed by dial up or landline connections to remote terminals. Among the programs available, were a site of Intel cross-assemblers, PL/M compilers, and processor simulators for the 4004, 4040, 8008, 8080. Examination of one of the tape-images reveals notes about those Intel products, and the DEC-10 executables (but not the FORTRAN or PL/M sources).

Here's the archive of Tymshare 50MB magtape images.

discussion of the tapes (all from March 2021 in a SIMH discussion group). It's a discussion of the tape images, extraction software tool, a mailing list.

Here's the github for the C language tape extraction tool. Lars Brinkhoff's github also has PDP-10 SIMH-related emulation software and related tools.

Here's a *private* email list to discuss the Tymshare tapes, messages only available to subscribers.

This was the subject of a discussion thread, in late Feb 2024, in the Google group "intel_devsys". Look there for further details on findings and any actions by those participants. - Herb Johnson Regards Herb

Origins of PL/M and ISIS

Gary Kildall describes his development of PL/M, in a article about his development of CP/M. I have more information about that on another Web page.

In recent years, Roger Arrick has on recovering and restoring an INtel development system and ISIS and OSIRIS operating software. Among his notes, are accounts from Ken Burgett, a software engineer at Intel during 8080 development with responsiblity for the ISIS operating system and apparently some input into developing the Intel 8080 architecture.

In Ken Burgett's account, Ken worked with Gary Kildall who was Intel's consultant and developer of PL/M and other Intel 8008 and 8080 software tools. Ken wrote software tools like a text editor, under PL/M-80 as compiled on Intel's DEC-10 computer and Kildall's FORTRAN based PL/M compiler.

In 1974, with an 8080 available on Intel's Intellect 8 mod 80 system, and PL/M-80 cross compiled Ken started work on what became ISIS. "marketing" compelled the design to run entirely from floppy disk. The drive was the Shugart 800, new at the time. Initally the drive controller was UART based. At some point, ISIS was developed and first released on Intel's new Multibus architecture; and recoded (by PL/M disassembly and hand-tuning) into 8080 Assembly language.

The next step, was to support native 8080 compilers, which required linkers and assemblers with object modules. Also, an In-Circuit-Emulator or ICE. These developments encouraged the development of ISIS-II; Burgett was the Release Chief for ISIS-II, which ran on INtel's Multibus architecture. In his concluding notes, Burgett says Intel's real-time ececutive RMX-80 was his last project at Intel.

Gary Kildall PL/M publications: Intel and National Semiconductor

In the mid-1970's, Dr. Gary Kildall wrote a number of articles in tech journals, conference proceedings, and other publications on the value and use of high-level programming languages for microprocessors. I reference these articles in more detail, among other Kildall-related publications, on another Web page which reviews the history of CP/M and Kildall's work. I'll summarize a few of them here as related to PL/M.

"High-level language simplifies microcomputer programming" by Gary A. Kildall was published in Electronics magazine, June 27 1974, pgs 103-109. Here's a copy of the article. The earlier PL/M 8008 version was Fortran programs PLM1 and PLM2 with 8008 interpreter Interp/8. The then-recent 8080 PL/M version was programs PLM81 and PLM82, with 8080 interpreter Interp/80. An example for the 8008 version, compiled to run on the Intel MCS-8 development system (Intellec 8) or SIM-8 single-board 8008 system, is described. Kildall does not take credit for Intel's PL/M.

"Systems Languages: Management's Key to Controlled Software Evolution" by Gary Kildall. In the 1974 WESCON proceedings, discusses how PL/M is an example of a high-level language for microprocessor development.A text version of the article is at this Web link.

"Microcomputer software design - a checkpoint". by Kildall, 1975 AFIPS Conference at the NCC. In his introduction, Kildall contrasts hardware development of microprocessors as logic elements, versus software development in the minicomputer world. Kildall's bridge between these is to use cross-products which run on minis or mainframes but which test or produce code for microprocessors. This leads to a discussion of high level-languages for microprocessors, of which there are only two at the time (from an independent survey). He mentions National Semiconductor's PL/M+ for the IMP-16 and PACE microcomputers, to be available in mid-1975, as "basically compatible" with Intel's PL/M. In the rest of the article, Kildall describes Intel's PL/M complier, "available since mid-1973", with an hardware and programming example of a diver's computer for depth and time, as implemented with an 8008 and later 8080. 8080 PL/M code is shown. (He does not take credit for either PL/M or PL/M+ in this article.) The article describes both PL/M and what may be the CP/M system Kildall was developing in 1973 and 1974.

Appopos of the National PL/M product, Kildall says (p 102) this systems software will "execute on Intel's 8008 and 8080 machines, as well as National's IMP-16 and PACE microprocessors with little modification". In the conclusion of this paper (p 103) he says "National's PL/M+... will be available in mid-1975 as an integral part of their floppy disk-based development system". I have not found evidence of Kildall working for National. More about National Semi's PL/M like products is described below.

PL/M-like products, some not from Kildall

There were a number of PL/M-like products in the mid-1970's, beyond Intel's PL/M for the 8008, 8080, and later 8086. Here's the information I've been able to gather about them. If you have more information, please inform me - Herb Johnson

Various PL/M like products

Motorola advertized MP/L for the 6800 in the Feb 1976 issue of Computer Design (p 136) as "a subset of PL/I".

PLMX from Syscon Corporation or System Consultants Inc, was offered in an ad in "IEEE Micro" in the Oct-Dec 1982 issue. PLMX produced code for several microprocessors and "implements the structured syntax of PL/M". A press-release like article was published by Infoworld on Jan 21 1980: here's the text of the article and here's the sketch about the operation of PLMX. The article says PLMX operates like the PL/M compiler; it produces an intermediate code; then the intermediate code is converted into assembly language code for the target microprocessor (Z80 8080 in the CP/M case). A Web search will likely find archives which contain PLMX for CP/M-80.

A survey of microcomputer software in IEEE Spectrum by for October 1974 (Falk, pgs 80-81) referenced by Kildall notes for Toshiba's TLCS-12 processor that a "higher level language similar to PL/M is under development". Falk discusses PL/M and says that tests indicate "a PL/M program can be written in less than 10 percent of the time..[of] assembly language".

National Semi's PL/M+ and SM/PL

I described Gary Kildall's 1975 publications on National Semi's PL/M+ above. In IEEE Computer for May 1975, there is an ad for National Semiconductor's "PL/M Plus which runs on the firm's IMP-16P, 16L and PACE microprocessor systems". It's described as "a compatible extension of the PL/M language". The compiler "will run on any IMP-16 or PACE Development system with 8,192 bits of memory and a TTY. However the compiler will support a full range of peripherals, including paper tape reader, card reader, line printer and CRT terminal. It is also available as a module in National's Disk Operating System, which also runs on these peripherals." The ad says it will be delivered this month for $750.

A Web search for National IMP-16 and PACE documentation, revealed a "PACE Data Sheet" from National for 1975. This document's page 18 describes the "Pace SM/PL Compiler is a high-level computer program written in IPC assembly language. Comparable to high-level-language programming...the SM/PL Compiler considerably simplfies microcomputer programming....The SM/PL compiler runs on an IPC-15P Microprocessor Development System...A sequence of declarations and statements comprise the language of the SM/PL compiler. Declarations control allocation of storeage, define simple macros, and define procedures. Statements comptuer results and store them in a location defined by a variable name; statements also provide condiitonal tests and branching, iteration control, and procedure innovation. Compiler procedures are in the form of subroutins that are defined by declarations and called by statements. Each subroutine may represent a program module, so a particular program may perform a number of tasks, each task being implemented by a subroutine...." A diagram shows the complier produces an absolute or relocatable load module.

PLuS PL/M compiler by Kildall for Signetics 2650

In March 2014 Irene Watson, a working associate of Kildall, alerted me that Kildall produced a PL/M compiler for Signetics for their 2650 processor. She wrote to me: "Gary Kildall did in fact develop the PLuS computer programming language for Signetics for their 2650 microprocessor. I know because Gary and I were both consultants to Signetics in the mid-70s and one of my tasks there was to develop a PLuS training course for customer engineers to be ready as soon Gary finished development of the language. That required Gary and I to work closely together during this period, which we did. As a result we became good friends." See my notes on Ms. Watson's work and her contact with Kildall elsewhere on my site.

In Dr. Dobb's Journal for Jan 1980, Kildall himself wrote: "By coincidence, Jim Warren and I were both consulting at Signetics Corporation during this time [of 1976]". That also puts Kildall "at the scene" and confirms the year.

HEre's an IEEE Computer magazine, June 1976, press release from Signetics: "2650 Compiler Available From Signetics":

Signetics has recently completed development of a higher-level language compiler to aid in generating programs for its 2650 microprocessor. This compiler, designated PLUS (Programming Language for Micro Systems), is an extension of PL/M, an earlier higher-level language developed by Intel for its 8080 microprocessor.

Features of the PLUS compiler include block structuring, procedure calls, byte and address data elements, and micro capability. PLUS also generates relocatable code supported by a relocating loader and allows separate compilation of program modules. Signetics is offering a 32-bit version of PLUS (part number 2650PL000) and a 16-bit version (2650PC1100) and will install the program on NCSS and GE timesharing services. The price for either cross-compiler version is $1250. - end quote

Dr. Dobb's, unknown issue, Jim Warren's editorial reply dated April 10 1976 to Bill Gates' "An open letter to hobbyists":

In that reply, Warren states: "Example: Gary Kildall, who built the PL/M compiler for Intel and the PLuS compiler for the 2650, is making an entire floppy-disc operating system available." This provides confirmation of Kildall's involvement with Signetics on or before 1976.

PL/M for RCA COSMAC 1802

A July 2014 eBay sale to David Schultz, was for the following RCA product. RCA User Manual for the RCA COSMAC PLM 1800 High Level Language Compiler MPM-239A & its corresponding CDP18S839V4 Software Version 2.1. These were supposedly dated 1984, from Somerville NJ RCA plant, and included a Sony brand 3.5" diskette. RCA Tech Notes ICAN 6928 and 6918 apparently refer to this product. It was unclear in 2014, how close this RCA product was to DRI PL/M or if Kildall/DRI was involved in its development. Here's some details about recovering these items and RCA's MICRODOS OS for their reuse.

During late 2016, members of the Yahoo group cosmacelf, an interest group for early products based on the "COSMAC Elf" 1802 design of 1976 and derivative products, obtained and compiled RCA's COSMAC development tools. These include MicroDOS, a floppy-supporing operating system; and PLM 1800, a resident compiler for PL/M on the 1802. In October 2016, PL/M file sets and disk images and manual were added to the cosmacelf Yahoo online archive. These are available to members of the Yahoo group. The manual is MPM-239A, "RCA COSMAC PLM 1800, High-level-Language Compiler". Dates in the manual are 1980 to 1982. By my inspection: the compiler files suggest the compiler is version 2.1; there's no text strings in the files, or references in the manual, that refer to DRI or "Digital Research".

David Schultz describes and offers the work produced on recovering the manual and disks he obtained. MICRODOS and PLM 1800 can be operated under Marcel's EMMA 02 COSMAC systems emulator.

Contributors to the recovery of PLM 1800 include the following. David W. Schultz, who bought the items and adapted an 1802 simulator to run MicroDOS and who ported MicroDOS to an 1802 simulator. Hank Riley, who extracted the files and images to the cosmacelf archive. Harold Rabbie, who created an 1802 simulator in C. Mark Moulding scanned and contributed the manual, I believe. Other cosmacelf participants have operated simulators and programs and contributed comments or corrections. I'll be glad to update or correct this list.

In June 2018, I asked Mark Ogden about the PLM 1800 work. He said he was familiar with the recent recovered software, and found many similarities between PLM 1800 and PL/M 8080. Here's a document with his detailed analysis. Mark has done considerable work in reconstucting 8-bit and 16-bit operating system and assembly lanugage code. Here's a link to his github site of some of his work. - Herb Johnson



Contact information:

Herb Johnson
New Jersey, USA
To email @ me, see see my ordering Web page

Copyright © 2024 Herb Johnson