Cool! :)
CP/M's open-source status clarified after 21 years
The company that still owns Digital Research's CP/M operating system has granted a new, more permissive license for the eight-bit OS, making it free for anyone to modify or redistribute. It's not often that we update a news story from 21 years ago. Bryan Sparks, then CEO of Caldera spin-off Lineo, gave Tim Olstead permission …
COMMENTS
-
-
Friday 15th July 2022 15:36 GMT Liam Proven
[Author here]
Thank you. :-) Glad you liked it.
I rather fancy the idea of a 16-bit modern Spectrum compatible, with the graphics provided by a Yamaha 9958 -- as used in the MSX 2 Turbo R machnes, and the last of the line that was used in the TI-99/4A.
I am not sure my soldering or programming skills are up to it, though!
There is nifty stuff happening in the CP/M world.
-
Friday 15th July 2022 17:23 GMT David 132
Liam - commiserations on still waiting for your Spectrum Next. I’m in the same boat, as the Aug 2021 release date has faded into memory due to so many factors. Still, the frequent updates on Kickstarter from Henrique, Alvin, Jim & others are keeping my anticipation alive.
Fingers crossed that the Release 2 machines - complete with new FPGAs and re-re-re-tweaked motherboards - will ship before too long, eh?
-
-
-
-
Saturday 16th July 2022 01:12 GMT Michael Hoffmann
Re: Ah, the memories!
Indeed. I made my first money in IT on CP/M. Owned an Apple 2 with the Z80 card and an Osborne-1 (which I had won at a trade show, I kid you not). Wrote mostly on dBase2, stuff like inventory management for a local car dealership and such. Those were the days, my friend.
-
Saturday 16th July 2022 10:15 GMT Anonymous Coward
Re: Ah, the memories!
Yup, my first job in community college (between high school and real college) was herding CP/M machines.
We had CompuPro machines with dual-processor Z-80/8086 boards, and MP/M 8-16 built to deal with that. They had 40MB Fujitsu Pragmatic PD-40M hard drives, 8" floppies, Printronix printers, and Arcnet. (WHY DO I REMEMBER ALL THIS?)
This was in a company that made kitty litter & oil/grease absorbent by running fuller's earth down a big rotating kiln powered by waste oil.
The best part was we had a retired circus tiger to parade around trade shows as a mascot. I got to program dBASE II with a tiger resting against my shins. He liked me for some strange reason.
-
-
Friday 15th July 2022 15:59 GMT Persona
128 Mbytes!
The picture shows a 128Mbyte drive on a CP/M machine. Wow. I built mine with a huge 8 inch floppy disk drive that was double density and double sided giving me a massive 1Mbytes of non volatile storage. This made my friend very jealous as he only had a 5 1/4 inch floppy so was limited to 87.5Kbytes, and that normally needed to include the CP/M OS as well as programs and data.
-
Friday 15th July 2022 17:06 GMT Chris Gray 1
Re: 128 Mbytes!
Double sided! Ooooh - I would have been jealous. But, I did have 2 drives on mine, so it was a lot nicer for some things.
(Monstrous setup - huge S100 box with rack mount handles, dual-drive box on top, then a terminal, printer and 1200 baud modem elsewhere on the desk. Had fun playing with the graphics cards.)
Clunk, clunk, whiirrrr, clunk, clunk.
-
Friday 15th July 2022 19:19 GMT Liam Proven
Re: 128 Mbytes!
Quite so.
Some modern builds of CP/M can directly read and write FAT disks. I strongly suspect that only extends to FAT16, and I think the maximum volume size is only 16MB.
As you can see from the screenshot, I quickly compiled RunCPM on Linux, and it worked and my virtual A drive had 8MB capacity -- which is a lot for CP/M.
-
-
Friday 15th July 2022 16:18 GMT Kev99
Way back when, our first pcs ran dr-dos, WordPerfect, QuattroPro, and Netware. Never a problem. Our IT team (all one of him) decided to "test" MS-DOS. Over the course of time, our IT department went from two people to close to twenty, with most of their time spent fixing glitches, pukes, and "features" in mictosoft products. Ah, progress.
-
Saturday 16th July 2022 04:53 GMT GraXXoR
I had a client...
...and that client used to run a brace of rack mounted Xserves back in the day.
But when the Xserve was discontinued, I decided to move the company over to Windows Server 2003 instead of getting a new mac.
Not because I felt it was better (although it was cheaper), but because I was pretty much superfluous after I had got their Xserves up and running smoothly only getting called out once per quarter or when a hard disk failed in their RAID setup.
Luckily, moving to Windows was the right choice, I got a call out most weeks from that point on and have kept myself on almost call out or remote access for 17 years. I've earned a small fortune from them over the years.
I'm only partly joking when I say that I believe that Windows was designed to encourage IT support work and many of us would lose our livelyhoods if companies moved en masse to more reliable software.
-
Monday 18th July 2022 07:23 GMT Tim99
Re: I had a client...
After some experience with Networking PCs, *NIX, minis, and (limited) mainframes, I realized that the explosion of Windows servers and clients may have been driven by a standard business model. The more staff and bigger the budget a manager had, the more powerful they were in an organization. Our rough support staff numbers (mid 1980s) were mainframes: 1 staff for 1,200 users; minis and *NIX (business terminals) 1 staff for 200 users; and NetWare networked PCs 1 staff for 50 users. The mainframe and mini staff did development as well as support. Why have an empire of 10 staff when you could have 240. These days PC support staff levels have come down a lot (mini level?).
-
-
-
Friday 15th July 2022 16:19 GMT Bartholomew
I'll raise a pint to CP/M
It did exactly what it needed to do as an OS, loaded the application into memory, started execution and consumed minimal resources.
I can just about remember running CP/M on a Z-80 SoftCard in a Apple //e (Crazy to think now that the Apple card I used was developed by Microsoft!?!?) nearly 40 years ago. The odd thing is, that I think I used the 80-column text mode provided by that card far more often than I used CP/M. I think I only used one or two CP/M applications, but have no clue what they were.
-
Saturday 16th July 2022 01:25 GMT martinusher
Re: I'll raise a pint to CP/M
I had an Osborne 1 before I joined a company making PC-Clones which made it redundant.
The CP/M system had a whole bunch of development software -- compilers and the like. the MS-DOS system was slow to go beyond GWBASIC, it was several years before a Tiny C compiler was available for it.
The PC, especially after if went 286 and then 386, was obviously the future. Unfortunately.
-
-
-
Friday 15th July 2022 17:21 GMT Doctor Syntax
"Back in the day, so many replacement parts for various elements of CP/M were published that it was possible to build a complete OS without using any Digital Research code."
We had a system using cards from SC somputers (IIRC). They provided SDOS. What, if any, significant differences existed between that & CP/M I never discovered.
-
-
-
Saturday 16th July 2022 23:46 GMT ThomH
Re: The title is no longer required.
Probably skip the +3; the CPC can display real 8px/character 80-column text whereas for CP/M the Spectrum uses some weird 5- or 6-pixel-wide font, displaying only a portion of the width of the virtual 80-column display and jumping between the left and right portions of the screen ‘intelligently’.
-
-
Friday 15th July 2022 17:36 GMT steelpillow
Amstrad PCW
Once you wanted to explore more than just the Locoscript word processor on the office Amstrad, you could shove in a different 3" floppy (yes, none of your 3 1/2" tat here!) and boot CP/M. Sadly, CP/M and Locosrcipt used different disk formats, so you had to keep your data separate too. Later models had 3 1/2" disks, so you ended up with four incompatible formats requiring two different hardware drives to read them all.
I fondly recall hacksawing a lump out of the PCW casing, installing a 3 1/2" drive beneath the 3" one and dumping stuff onto DOS formatted floppies for onward resurrection. Or not, as the case may have been.
CP/M is nice. The ability to read low-density floppies and rediscover Grandpa's nefarious past would be even nicer.
-
Friday 15th July 2022 17:48 GMT Liam Proven
Re: Amstrad PCW
[Author and PCW owner here]
I bunged a 3½" 2nd drive into my PCW 9512 that very same way. Sadly I loaned it to a long ago girlfriend and she gave it away!
I have another now, but without the cool disk mod.
What I can say with some confidence is that they didn't use different disk formats. No, LocoScript didn't run under CP/M, but it used CP/M disks. You could keep LocoScript files on CP/M disks, and you could use LocoScript as a file manager for your CP/M stuff. I did it.
What I'd love to see nowadays is someone doing a microSD card addon for my PCW so that I could have a hard disk on my PCW! There are loads of such things for ZX Spectrums and their ilk, but I'm not aware of a single one for the humble Joyce.
There are other fun Spectrum addons that would be great additions... networking, serial ports, wifi, all sorts of things.
-
Saturday 16th July 2022 13:06 GMT Anonymous Coward
Re: Amstrad PCW
"someone doing a microSD card addon for my PCW"
I'd buy that too!
I have a PCW too (later transformed with a 3½" disk mod), but unfortunately the system disk drive is now dead (doesn't spin) so I can't even boot it anymore. I'd love to be able to somehow salvage all the data on the dozens of 3" (not very) floppy disks I still have.
-
-
Friday 15th July 2022 17:39 GMT Anonymous Coward
My Osborne 01 ran.......
- CP/M 2.2
- Wordstar
- dBase II
- Supercalc
- ASM
- BDS C
- MediaMaster (to move C and dBase programs -- and Wordstar documents -- to and from MS-DOS)
I always hated CBASIC.
Amazing that all this ran and worked well with a Z80 and two 192K floppies!!!
1982 -- an early "office suite" and a computer bought as a complete package from Osborne for about £1500......
-
Friday 15th July 2022 18:55 GMT navidier
Re: My Osborne 01 ran.......
> I always hated CBASIC.
Me too, but it was all I had to work with[*]. Particularly galling was its "random" number generator, which churned out 15-digit double-precision results -- with a cycle length of 999!
I used to switch out the ROM for RAM and load the ROM images from disk. I had to use FFTs in CBASIC (Microsoft BASIC was only single-precision) to estimate the position and width of spectral lines in our spectrometer (hence the cassette interface). For the 256-point FFTs it turned out to be marginally quicker to have precomputed sin/cos tables read in from floppy than to re-compute them for each analysis.
[*] 32 kB Exidy Sorcerer, S100 extension box, 32 kB expansion RAM board, using 24 kB but with a switch to disable the ROM cartridges [Microsoft BASIC, word-processor, or assembler] and use all the RAM, Dual Micropolis floppy drive (315 kB/disk IIRC) and a hand-wrapped S100 extension board with digital I/O (8255), DAC, ADC, counters (8253) and a digital cassette recorder interface (and a kludge to drive a Teletype via a 10 mA current loop).
-
Saturday 16th July 2022 03:24 GMT cjcox
Re: My Osborne 01 ran.......
I had Turbo Pascal, C, COBOL, LISP and Z80 Macro Assembler on mine. I even wrote an IBM 360 to Z80 using that macro assembler so I could save money at school (those that know, know what I mean).
I had the 300 baud pulse modem that fit into one of the floppy slots. I even replaced the DIR routine in CP/M with a dialer I could use from the command line. So I could dial into the mainframe and use OSWYLBUR to upload.
Wrote some games for CP/M (fly the character ship around, shoot stuff sort of thing)
Wrote my own letter quality font to output from Wordstar to my FX-80 (which didn't have the font cartridge). I turned in some papers done that way, teachers called it out, "what font is this?" (they were not impressed)
It was almost perfect, but could have used 132 columns, limited to 128, it worked for most mainframe stuff.
It would be many many many years before I had a computer that did as much.
-
-
Friday 15th July 2022 17:48 GMT Smirnov
Sanyo MBC-1250
This brings back memories to the Sanyo MBC-1250 I had back in the days, running mostly WordStar and dBase II on top of CP/M. Eventually it was replaced with DOS machines on x86, first a MBC-550 (8086), MBC-16 (8088), MBC-17 (80286) and MBC-18 (386DX16).
Sanyo made some really nice PCs back then.
-
-
Friday 15th July 2022 19:13 GMT Liam Proven
I venture to say, none.
It's great if you want to learn to build your own 8-bit computer from parts, or if you want to learn how an OS works at low level.
It has the great advantage that if you get it working, it has a substantial library of 3rd party applications. Programming language interpreters and compilers, editors, word-processors, databases, spreadsheets, text games, communications tools -- almost everything you could imagine is there.
They are tiny and simple by 21st century standards, but they were professional business tools in their time. They are not toys.
Unlike almost all the 1980s 8-bit computers, which were mainly used for games, 1970s ones were expensive business tools, so they arguably have more interest than the kids' toys of a decade later.
-
Saturday 16th July 2022 05:18 GMT Neil Barnes
It's great if you want to learn to build your own 8-bit computer from parts
I grew up with CP/M - though for complicated reasons I used it mainly as a provider of data for my preferred 6502 system - and this is exactly why I want it now so this is pretty good news to me.
I'm currently completing the design of a discrete 8080 processor and want to add an OS to it; if this is still an 8080 version that doesn't use any of the z80 extensions then it's an ideal complement to the already running Palo Arco Tiny Basic :)
(All in emulation at the moment, getting it onto hardware is the next step but suitable parallel PROMs are a bit hard to come by at the moment).
-
Saturday 16th July 2022 14:19 GMT Dan 55
Hey, the kids' toys a decade later managed to get the kids to write professional business tools a decade or two after that so they shouldn't be knocked that much.
However the locked-down kids' toys of the 2000s got the kids to write Teams and other Electron-driven nonsense today so something's gone wrong somewhere.
-
This post has been deleted by its author
-
-
-
Friday 15th July 2022 19:39 GMT David Given
So that's where all the YouTube views have come from
Apparently more people are into 1970s operating systems than I thought...
I'm glad CP/M is still well thought of;: it does slightly predate me, but I still thing it's a programming gem. It's almost the bare minimum you can have for a functioning, useful, disk operating system. It doesn't even need interrupts! I'm glad I managed to help get the license resolved before it vanished completely; so much 1970s era software has.
Since making that video, I have, by the way, got CP/M ported to some old Brother word processors. 3.5" 240kB floppy disks, mmm. The next big missing piece is a modern PL/M compiler so maybe I'll work on that but next.
-
Friday 15th July 2022 20:33 GMT nautica
Just one tiny thing...
If only Lifeboat Associates could stage a comeback...
When one had a CP/M machine and Lifeboat Associates' extremely comprehensive catalog, nothing else was needed; one already had the answer to The Question of Life, The Universe, and Everything.
[The reason Deep Thought took 7½ million years to arrive at its answer was because it was not a CP/M machine]
-
Friday 15th July 2022 22:05 GMT vapoureal
Hand soldered...
1979 - those were the days! Hand soldered S100 Z80, 8k RAM, 2 x 8" floppies (S/S), MS Basic. Wrote some code, ran a business with it for several years - after upgrade to 32 K RAM. Then it was Osbornes. NEVER Apple - I've always been allergic to them in all varieties. Then onward selling IBM PCs, then upward, System V Unix. Greybeard gone now.
-
-
Saturday 16th July 2022 23:40 GMT nautica
Re: Hand soldered...
Just as every IBM PC came with an editor,
edlin
, in ROM, so too every one came with a very capable, if minimalistic, assembler, calledasm
, in ROM also.Most people assembled their code to start at xxxx:100.
The only drawback, of course, is that one had to be comfortable working at the command line.
-
-
-
Friday 15th July 2022 23:36 GMT vincent himpe
Gary Lives !
At least his OS does ... time to dust of my PL/M manual ...
A language where you can write things like
if if = then then then = else else else = if
There are three variables : if, then and else. The parser understands what is an operand and what is a variable. It also understands when = means "assign" and when it means "compare" . Take that, c and all those other language that still cannot make that distinction.
-
Saturday 16th July 2022 01:11 GMT Bebu
Which processors?
Obviously CP/M was supported on 8080 and Z80 (and copies)
and there was a CP/M-86 that shipped on some NECs I remember (were mainly used for pabx management I think.)
I believe the Atari ran a version of CP/M-68 - the Amiga had a proper OS.
I am wondering what other CPUs had CP/M ports? 6502/680X 2650 16032/32016...
I vaguely recall there were eastern block/soviet versions for locally fabricated processors.
Given the source has been available for a while its possible more recent processors could have ports - CP/M on an Arduino?
Great memories - subset C compiler, bootstrapping the compiler to emit relocatable (rmac) code using two 3" floppies but I was overjoyed when could afford a PC with 20Mb disc whch I could run a full C compiler and a proper editor. Oddly the cpu was a NEC V20 or V30 which supposedly could run 8080 code (and CP/M-80?) natively.
-
Saturday 16th July 2022 13:01 GMT John Brown (no body)
Re: Which processors?
"Oddly the cpu was a NEC V20 or V30 which supposedly could run 8080 code (and CP/M-80?) natively."
It did. I can confirm. I upgraded a Tandy 1000A by replacing the 8088 with a V20 because it was 10% more efficient at the same clock speed and came with the extra benefit of running CP/M stuff.
-
Saturday 16th July 2022 15:23 GMT Anonymous Coward
Re: Which processors?
> and there was a CP/M-86 that shipped on some NECs I remember (were mainly used for pabx management I think.)
I used Concurrent CP/M on 8086 PCs at the Department of Trade and Industry, as was, back in 1986. These were used for office work: so WordStar and a spreadsheet - presumably Lotus 123 - with Epson dot matrix printers.
There were 30-plus machines on a token ring network around the offices over two floors[1] which worked very nicely. My machine had a "huge" 10MB hard drive and doubled-up as the backup file-server. The only time I noticed other users accessing the disk was when the LED came on. And this was "cooperative" multi-tasking which, as we all know, is supposed to be rubbish. Someone forgot to tell Digital Research that.
Some of the secretaries even worked in pairs, sharing a single PC: one used the normal screen and keyboard while the other used a VT220 terminal connected to the serial port, with both running the word-processor simultaneously.
[1] Of Millbank Tower[2]
[2] That was a very nice place to work because we were on the 20th floor, so we had the same views over London as you get nowadays from the London Eye but for free. :-)
-
-
-
Monday 18th July 2022 23:36 GMT Anonymous Coward
4.2 BSD, 1983, University of Saskatchewan in Saskatoon, Saskatchewan, Canada, 200 level courses, my first exposure to *nix systems....
I've done a lot of different operating systems over the decades, but my favorite is still good old fashioned command lines. Granted, web development environments get a lot done in a short development cycle, but at the cost of horrendously inefficient infrastructure and deployment costs compared to C++ on a decent *nix kernel.
My first exposure to programming was a TRS-80 Model I, Level I, with a Z-80 and a whopping 4KB of RAM at a store in the city mall.
BTW, in my third year on campus, we started having to deal with PostreSQL user workloads that basically required an entire VAX just for two students to do their course work. I would presume that was a rather rough release compared to today's engine...
-
-
-
Saturday 16th July 2022 08:24 GMT David 132
My first PC - in the pedantic, “technically it stands for Personal Computer so includes just about anything smaller than a mainframe” sense - was a Durango F-85. I never could find a CP/M-80 boot disk for it, so the poor thing never did more than boot to a flashing ‘_’ prompt. Shame, because it was an impressive piece of hardware - built-in keyboard, 2x 5-1/4” floppies, and daisywheel printer, with even a little monitor too.
-
-
-
Monday 18th July 2022 04:58 GMT MacroRodent
Re: Bootnote
CP/M was originally written for the 8080 (no Z80 back then), and even after Z80 became available and popular, the OS and utilities, and all older programs written for it ran on 8080 (and the 8085, which was practically identical from the programmer's point of view). Later many applications started requiring the Z80 with its extensions.
Even as late as 1981 Nokia introduced a CP/M computer, the Nokia MikroMikko 1, that was built around the 8085, and CP/M most applications still worked on it.
-
-
Saturday 16th July 2022 10:39 GMT r0land
Disk Operating Systemt
CP/M never was an OS, Operating System, it was a Disk Operating System, hence the comparisons with UNIX may be interesting from a historical perspective, but not from a more technical standpoint.
A Disk Operating System is never intended to do Operating System tasks, the added "Disk" to the name clarifies that it is intended to do the disk related functions only, load and store files, and load files as programs and then run them. No memory management, no processes, no user accounts (there are exceptions to this, but CP/M is not one of those), and sometimes you will get print functions. But not in a modern sense with device independent graphics and advanced stuff like print spooling.
Disk Operating Systems where only intended to make basic computing equipment usable at all, not to give anything even remotely like what we can expect from anything IT related today. For most people nowdays, that is deeply hidden in the haze and foggs of history.
Besides that omission, the article is interesting and well written.
-
Saturday 16th July 2022 10:58 GMT captain veg
Re: Disk Operating Systemt
I bought my Tatung Einstein when Dixons flogged off the remaining stock really dirt cheap. This meant, of course, interacting with one of their famous pimply-faced sales assistants. I asked "what Disk Operating System does it run?"
The youth considered this question with a perplexed look on his face. Eventually he punched the eject button on the floppy drive and replied "you want to know how to operate a disk?"
-A.
-
Saturday 16th July 2022 12:51 GMT werdsmith
Re: Disk Operating Systemt
A disk operating system at the time was an operating system of the time. If I recall they loaded from the floppy so some kind of BIOS was needed to access the disk to boot and BIOS calls to use the disks. Newer ones are evolutions of them.
It handled keyboard input and display output alongside floppy disks, plus serial and parallel io.
Something like MS-Dos did.
-
Saturday 16th July 2022 14:36 GMT nautica
Re: Disk Operating Systemt
...the very first time I have ever heard anyone hold forth on the supposed difference (?; ¿; ‽) between an "operating system" and a "disc operating system".
What's next? Challenging (pontificating on) the use of the term "computer" for an 8-bit machine?
"...Disk Operating Systems where[sic] only intended to make basic computing equipment usable at all, not to give anything even remotely like what we can expect from anything IT related today. For most people nowdays[sic], that is deeply hidden in the haze and foggs[sic] of history.
Besides that omission, the article is interesting and well written."
You---and your "where"; "nowdays"; and "foggs"---are too kind.
The enlightenment is deeply appreciated.
See the icon.
-
Sunday 17th July 2022 11:52 GMT Liam Proven
Re: Disk Operating Systemt
[Author here]
Um. Thank you. I think. :-)
I don't feel it was an omission, on 2 grounds:
[1] The *point* of the piece and the comparison with UNIX is that CP/M is extremely simple, meaning it's understandable by a single individual, and thus can be modified and ported and changed without years of study.
[2] CP/M is intentionally simple, because it ran on 8-bit computers, and more to the point, the 64kB memory limit of CP/M 2.2 and the Z80 came later. In 1974, when CP/M was written, machines might well only have 8kB or 16kB. 64 was a theoretical limit then, one that would cost thousands of dollars.
CP/M had to fit into 2-3kB so that there was a usable amount of space.
It's not that it wasn't a "real" OS because it didn't do that stuff. It didn't have the room to do that stuff. It only did the most essential part: the ability to store, load and run programs and their data.
DOS arguably was little more. It did not stop it from becoming a historically very important OS.
Secondly, you can add this stuff on top. These days there are multitasking CP/Ms and so on.
Thirdly, CP/M evolved into Concurrent CP/M, and DR-DOS, and Concurrent DOS and Multiuser DOS. They were very definitely full operating systems, with networking and multitasking and resource management and so on. DR also wrote GEM, and integrated GEM into DR FlexOS, which did all of those with a GUI on top as well.
And critically, the new licence agreement covers *CP/M and derivatives*. And all those things are demonstrably derivatives of CP/M and therefore now effectively open source.
That is a big deal.
-
Monday 18th July 2022 10:03 GMT dajames
Re: Disk Operating Systemt
A Disk Operating System is never intended to do Operating System tasks, the added "Disk" to the name clarifies that it is intended to do the disk related functions only ...
No, it's a Disk Operating System as opposed to a Tape Operating System ... most microprocessor computers of the day would have used a cassette deck for storage, but a CP/M system used Disks!
Things like memory management, processes, and accounts weren't part of the microprocessor landscape at all in those days.
-
Monday 18th July 2022 12:54 GMT nautica
Re: Disk Operating Systemt
"...A Disk Operating System is never intended to do Operating System tasks..."
Because it is such a painfully obvious question, and It hasn't been submitted, here it is:
The author of this (full) comment quite obviously does not consider MS-DOS to be "real" operating system?
-