Lineo Frees CP/M 245
rbeattie writes: "The Register is reporting that the code for 'the first generic operating system for microcomputers' is now open source. It's interesting to see the final chapter for the code that could have been what was MS-DOS. The article includes the requisite background of CP/M from Gary Kildall's snubbing of IBM to its transformation into DR-DOS, later being sold to Novell then to Caldera who spun it off with Lineo who finally opened up the source in October." The original story is actually at NewsForge. Update: 11/27 22:13 GMT by T : Note, thanks to reader Greg Head, that DR-DOS source appears available only for money; the original headline implied that DR-DOS source was also now available at no charge.
no matter what anyone says... (Score:2, Funny)
Re:no matter what anyone says... (Score:1)
Try a non-graphical installation of Linux.
Re:no matter what anyone says... (Score:1)
Re:no matter what anyone says... (Score:4, Interesting)
First: OS/2 warp allowed you to use a text mode shell, which would be multitaskable and pmoded. That was a long time ago... The only one of these other than windows(which is a bitch about it) which will run Quake multitaksing.
Second: TSX411 allowed for multitasking in text mode and in some CGA modes, and it also allowed for VGA modes to run normally, but I haven't heard anything about it since the early 80s.
Third: Fallback Windows 3.1 with command.com set as the shell. Not my favourite solution...
Fourth: Linux with dosemu: I'd really rather not get into why this is a bad idea for day to day use, but it has something to do with never being able to run shell 0 apps and general instability in regular apps.
The reason for all this research is simple: At one time I learned about most of these(early 80s), windows sucked so badly nobody used it (whereas today, MS marketing(Bill Gates considers 1984 an instruction manual, not a novel) has convinced everybody to use it...), and multitasking under DOS was cool and innovative. Secondly, I'm a dos programmer right now (moving to linux with my next project to avoid Windows "He made a nice program -- lets clone it!" XP), and multitasking comes in handy, but the crashability of Windows is bad when I'm trying to make something work..
Re:no matter what anyone says... (Score:2)
Ms. Dos dead at age 21 (Score:1, Funny)
Re:Ms. Dos dead at age 21 (Score:3, Funny)
Ms Dos' twin P.C. Dos was unavailable for comment.
Re:Ms. Dos dead at age 21 (Score:2)
Dr. DOS confesses after being driven mad by laughing penguin!
In his first statement since capture Dr. DOS further said that the Devil [freebsd.org] made him do it.
Where we could have been.... (Score:3, Interesting)
To think where the lowly PC would be now...
Its often easy to blame the arrogance of Gary for blowing off IBM -- but to some extent it was one of those golden opportunities
kind of funny...the arrogance of someone who thought they could say no --vs-- the arrogance of someone who thought they could say yes
Who knew?
correction...it was an Altos (Score:1)
there it is in all its glory
Re:Where we could have been.... (Score:1)
I don't necessarily think it was arrogance. There are variations on the story floating around about him deciding to go out flying that day, etc; but from what I have read, he probably wouldn't have signed anyway. IBM at the time required people to sign ridiculously stringent Eternal Soul contracts with them, and he probably wouldn't have liked it.
Re:Where we could have been.... (Score:1)
I wonder, do you think he kicks himself every morning?
Re:Where we could have been.... (Score:1)
I wonder, do you think he kicks himself every morning?
not since he died [gol.com] in 1994..
Re:Where we could have been.... (Score:2)
Re:Where we could have been.... (Score:2)
> was an Altaire?
There were a couple of those; after all this time, it's hard to keep them straight. I want to say that MP/M used multiple processors in the same box and ran on 8 bits. Then there was CCP/M for the 16 bits machines; I worked on QA for that in '84. It could run multiple ms-dos programs at the time. Then that became CDOS, and was ultimately folded into the regular DR-DOS
hawk
CP/M stands for... (Score:1, Informative)
CP/M stands for Control Program/Monitor. If it was Control Program for Microcomputers, it wouldn't have a slash.
Wow, it's been at least five years since I got to bore someone with that argument.
Wrong, and here's why. (Score:1, Informative)
Re:Wrong, and here's why. (Score:3, Interesting)
That would be IBM's PL/1. You know, the people who brought you RS/600, OS/2 and AS/400. The slash thing is sort of a theme at IBM. It was also a convention at Digital, which is where Gary probably borrowed it from moreso than IBM. RSTS/11, RSX/11, etc. were all PDP-11 OSes. CP/M was greatly influenced by PDP OS design.
Re:Wrong, and here's why. (Score:2)
No (Score:2)
I realise no-one cares, but I'm going to say it anyway. CP/M stands for Control Program/Monitor. If it was Control Program for Microcomputers, it wouldn't have a slash.
The article refrenced the comp.os.cpm FAQ, which has this to say on the subject:
Q3: Does CP/M stand for anything?
There are at least three popular answers - Control Program for Microcomputers, Control Program for Microprocessors, and Control Program/Monitor. The issue is clouded by authors of popular CP/M books giving different answers. According to Gary Kildall (the author of CP/M), in response to a direct question on the PBS show "The Computer Chronicles" following Computer Bowl I, the answer is: Control Program for Microcomputers. This is also consistent with DRI documentation. See, for example, p. 4 of the DRI TEX manual.
I agree that your argument makes sense, but the authoritive souces say "Control Program for Microcomputers
Re:No (Score:2)
Heh... We where both wrong. Now I know what that bearded guy in the front row was grinnin 'bout.
DOS stability (Score:1, Interesting)
Re:DOS stability (Score:2)
Re:DOS stability (Score:2)
I've never had netscape crash a Linux box, but I've had Netscape crash on several occasions, occasionally causing X to hang. If you've got access to a terminal (you do have a way of getting into the machine "remotely", right?) there's no problems.
Re:DOS stability (Score:2, Interesting)
a) if bad behaving applications can cause crash with modern OSes, OS is considered to be unstable.
b) Modern OSes must support lot more different hardware and any combinations of different hardware.
c) Modern OS must do multitasking, multiple, good memory management, handle different priviledge levels, support multiple users
d) Modern OS (kernel+core libs) must support lot of different APIs, executable formats, abstract away direct hardware accesses etc..
It's _relatively_ easy to code 'dos'-size program to be efficient and (mostly) always working when the requirements aren't very demanding. When the program size / number of features grow the number ways things can go wrong increases dramatically (O(n!) interacting parts (in theory)).
Re:DOS stability (Score:3)
DOS is a thin file-access and memory allocation library, with a very small and weak command shell, on top of the BIOS routines. Applications mostly serve as their own OS, or use the BIOS.
The reason DOS "itself" crashes little, is because there is almost none of it!
In fact, applications crashing the entire machine is exactly the reason DOS is completely unstable. It is the responsibility of the OS to ensure system stability.
Re:DOS stability (Score:1)
Re:DOS stability (Score:2, Insightful)
Assuming you're using the standard conventions, MTF stands for Mean Time to Fail. ("to" sometimes being replaced by "between" and Fail with Failures). In that case I can wholeheartedly agree with your statement, using a single tasking OS in a multiuser environment will decrease your MTF significantly, especially if your users have service level agreements.
Here's a short History of CP/M (Score:3, Interesting)
catch in the license? (Score:1)
It looks to be open source although there is one catch - the words "as part of the 'unofficial CP/M web site'". Does that mean that this license does not cover, say, putting CP/M into a product, putting it up on a different web site, or the like? On the face of it, that would seem to be so, but I can't help but wonder whether Lineo is going to open source it the rest of the way at some point - as has been pointed out, CP/M is hardly the focus of their business these days.
Open Source or public domain? (Score:1)
Since Lineo is the previous license holder and here they have effectively released all previous licenses, doesn't this put the CP/M technology in the public domain? I can't see anything that would suggest that any of the Free Software/Open Source licenses should apply, only that the previous ones are gone. Can anyone confirm this?
Day late and a dollar short (Score:5, Insightful)
Considering how far the Windows product line has diverged from it's MS-DOS roots, even the hope of finding code that's useful for interoperability with M$ systems is pretty slim. Sadly, I can see little practial value to this announcement other than academic and historical interest.
Re:Day late and a dollar short (Score:3, Informative)
Alot of embedded systems, particularly POS systems and some industrial controllers use DOS.
Re:Day late and a dollar short (Score:1, Funny)
Yeah, I've got a piece of s--- 286 system at home that still runs DOS.
Oh, wait, did you mean Point Of Sale?
Re:Day late and a dollar short (Score:2)
Yes, it is good news for embedded system developers. CP/M is a pretty good OS for 8 & 16 bit systems, and being open-sourced makes it easier to adapt it to a system that lacks some of the desktop hardware (e.g., Flash chip instead of disk drive, a few buttons instead of keyboard, undersized display).
Re:Day late and a dollar short (Score:2)
Last time I bought a hard drive, I noticed the configuration diskette used Dr. DOS.
(That's the whole post. Move along.)
Re:Day late and a dollar short (Score:1)
Last time I bought a hard drive, I noticed the configuration diskette used Dr. DOS.
Novell has also continued to use DR-DOS for the NetWare boot partition and installation diskette, at least through NetWare 5.1. NetWare 6 probably uses it too, I just haven't installed it yet.
Re:Day late and a dollar short (Score:1)
But do those alternatives have the vast array of software available for them that DOS does?
If you've got a 386/20 class processor with a meg of RAM and an 80x25 text display you have a platform that will run a huge library of useful programs.
And I will continue to be crotchety until I get a version of SoundGlobs that'll run under Windows, dammit!
Re:Day late and a dollar short (Score:2)
Re:Day late and a dollar short (Score:4, Informative)
Re:Day late and a dollar short (Score:1)
Making it open source does not mean that it is only now available for use. It was always available via buying a license. You just had to pay for it.
(Not DR-DOS) (Score:1)
Novell DOS 7 (Score:1)
Re:Novell DOS 7 (Score:2)
DR-DOS was essentially an upgraded version of CP/M-86 that was made to be (sorta) MS-DOS compatible.
It was sold as a retail product (before MS/IBM DOS was) with the primary benefit being peer-to-peer networking in the box. It was significantly cheaper than "LANtastic" or the MS/IBM solution.
Novell went insane and among other things, ended up buying DR (for a lot of money, about a year before Win95 was released. MS's OEM relationships were widely understood at the time, too.). They renamed the product Novell DOS. Again the primary sell was peer-to-peer, but it also had Novell compatibility without an additional client install. NetWare also require(d|s) DOS to boot, so the product was somewhat useful to Novell.
Novell spun off Caldera, as both a Linux business and as a vehicle to sue Microsoft over DOS marketing issues. Caldera renamed the product back to DR-DOS.
Caldera (after winning a chunk of change from MS) spun off Lineo so they could buy SCO and go and focus on whatever SCO does.
Re:Novell DOS 7 (Score:2)
DR-DOS 5 added a bunch of features, and DR-DOS 6 had more. I bought DR-DOS 6 around 1990, when I bought a 286. It included disk compression (SuperStor, I think) before DOS did; that helped a lot with my 20 MB drive! It had a lousy graphical shell that I never used. DR's GEM was no gem either; I was using an Atari ST with DR's buggy GEM-based TOS for several years before moving to the Inteloid Dark Side.
Novell had bought DR by the time V7 came out, hence the name Novell DOS. Caldera had the good sense to go back to the DR-DOS name.
Mickeysoft buggered Windows 3 to detect DR-DOS and fail for no good reason. This sort of stuff led to a big legal victory for Caldera a couple of years ago, when Caldera was the holder of the DR heritage.
Re:Novell DOS 7 (Score:2)
Why bother now? (Score:1)
Besides a bit of values from a computer historical perspective, what else? Ok, maybe some embedded device still use the code, but I don't see any new project is going to go into that direction, when you have Linux and *BSD.
looks slashdotted (Score:2)
although the site is
I have an old Motorola 68K based Compupro box laying around, but I think the disks are bad.
ZCPR (Score:1)
Perhaps now that it's open source.. (Score:1)
Put it in Debian! (Score:2, Interesting)
Re:Put it in Debian! (Score:1)
It was good in the day (Score:1)
Re:It was good in the day (Score:2)
I ran OS/2 for a while at home and it was as stable if not more that DOS
Re:It was good in the day (Score:1)
IIRC UNIX in one form or another was definately around during the time of DOS.
Re:It was good in the day (Score:2, Insightful)
No. DOS was never stable.
C:\>TSR1.COM
C:\>TSR2.COM
C:\>TSR1.COM
---crash---
Handled properly (with certain 3rd party tools like mark/rel, 4DOS, norton utilities, etc.), DOS could be almost enjoyable, but then the same can be said for Windows (gasp!)...
Oh, and DR-DOS was always better than MS-DOS, even with the Win 3.1 warnings of incomatibility...
Old news? (Score:1)
CP/M was written in z80 asm and rewritten in C. The z80 port would be transferable to the Gameboy, as it uses a cut-down z80 processor.
I hardly consider this new news.
Re:Old news? (Score:1)
Re:Old news? (Score:2)
I'll see if I can dig it up somewhere, doubt it however.. I haven't done any gameboy programming in a long time.
Re:Old news? (Score:1)
A newer version, obviously. CP/M was originally written for the 8080, such as the IMSAI or the Altair - before Zilog introduced the Z80.
Re:Old news? (Score:2)
If' it's actually CP/M, it's 8080 code--the Z80 was backwards compatible. It's also possible that the customization for the particular machine was in Z80. Additionally, there was a clone (ZP/M ?) that was for Z80 only. But if it's actual CP/M source, it can't be Z80, as that would not run on the 8080 machines.
hawk
the new world order? (Score:2)
And in the dark winter of the great white north of Finland, a hacker's mind is stirring. Will this signal the birth of a wave of open source CP/Mania? God, I hope not.
Re:the new world order? (Score:2)
Anyway, wait until someone ports some GNU utils to CP/M, makes a distro like "Green Beret CP/M" and RMS gets up and says... "Damnit, that's supposed to be 'GNU/CP/M.'"
Actual MS-DOS source (Score:4, Interesting)
It's a 19mb (approx) tarball which blows up to 70mb. I got it as dos-6.0-src.tar.gz. About half of that bloat is the code for QBASIC and associated bits n bobs (edit, help) which are made with "COW" - Character Oriented Windows - hey, they tried for cool acronyms.
I've tried posting some of it here for the last 10 mins, but I can't beat the "Lameness filter - please use fewer 'junk' characters". If anyone wants to tell me how to get around it....
Meanwhile I'll leave you with a revision note from around 1983 or so:
REV 1.50
Some code for new 2.0 DOS, sort of HACKey. Not enough time to
do it right.
use in an embedded system (Score:2, Insightful)
Freedos is more than small enough (Score:2)
The Freshest Evil (Score:1, Funny)
Here at Evil Inc., we're always on the lookout for the freshest evil money can buy. To that end, we've replaced Linus's 2.5 Kernel Tree with CP/M...Let's see if he notices!
(Focus on Linus at his PC)
"What the?!? What happened to the VM?!? Wait a minute! This isn't my OS! DAMN YOU GREG KILDALL!!!!!"
(Cut back to marketroid. Background switches between images of Linux developers screaming after installing 2.5.1-evil-herring)
Don't you just love the smell of steaming hot Evil in the morning? I know I do! Mmmm! Mm! Refreshing!
This message has been brought to you by the fine folks at Evil Incorporated.
Coolness! (Score:1)
Gads, it's been too long! I grew up with CPM, and then MPM, ZCPR, Fidonet, MODEM7, all those oldies
It's great to see that the source is now available (well, once the site recovers from the
You k-whores are slacking (Score:1)
Anyway, the site looks very cool. Lots of interesting proggies, including full source to a shitload of programs.
I love the old school programs and programmers. Its simply amazing the stuff that they were doing with a 2 Mhz processor and 64k of RAM. I may even go ebaying to find a real system to run some of this stuff on, instead of simply emulating it.
Hooray! (Score:1)
I just got to wonder....... (Score:3, Interesting)
I almost die laughing when someone tells me that MS had revolutionised computing and did it all on there own....then I ell them that if IBM had picked CP/M rather than MS-DOS, then no one would care who Bill Gates is today....infact, I bet MS would either be defunct or be an ISV making software for a 32 bit CP/M derivitive with a GUI..........hey!! that would be a cool project..put a GUI on CP/M!!!
anyway, I don't think Digital woul be in the place that MS is currently since Digital had there hands in a lot of diffrent hardware. so actualy, if MS-DOS was not shiped on PCs in the 80's perhaps the "they" would have been right, perhaps we would all be using Unix today!
Re:I just got to wonder....... (Score:3, Interesting)
If Microsoft had not gotten ahold of 86-DOS when IBM came around looking for an OS, might they have licensed XENIX (or a cut-down derivative thereof) to IBM? It certainly ran on 16-bit x86 architecture machines and Microsoft had it prior to 1981.
Moreover, if that had happened, widespread acceptance of 32-bit Unix workstations (based on, say, the 68k) might have occured in the 1980s, because everyone would be by then using Unix anyway on their PCs.
Re:I just got to wonder....... (Score:2, Interesting)
MS's primary customer (IBM) had other plans however, and Xenix was dropped as the next gen PC OS in favor of OS/2.
DRDOS already has a gui ... (Score:2)
Back in the days when DR-DOS was stomping around, it was fairly customary to provide a character-mode menu. The idea was to get rid of as much OS as possible, to give games the space to run. The funny thing was that the DOS menu that came with my computer was more capable than the Windows Program Manager on the then just released Win31.
People who wanted more capable menus usually went out and bought third-party stuff, which was more capable than either DOSSHELL or VIEWMAX.
But I found that the DR-DOS gui mode stuff nastier than character mode stuff, especially when it's run in a window.
File Management in DOS on the other hand spawned a lot of third party stuff that is still copied to this day: eg XTree, Norton Commander.
MS-DOS strings end with a '$'? (Score:2)
In Robert X Cringely's book "Accidental Empires", there's a section where Cringely has Gary Kildall ranting about how MSFT ripped off CP/M - the quote is something about how MS-DOS uses '$' to mark the end of a string, and at MSFT, not even Bill Gates knows why. Can someone paw through the DR-DOS code and find out why?
Re:MS-DOS strings end with a '$'? (Score:1)
The interrupt function to display strings to the console did not use ASCIIz string like us C coders are used to; it used $ terminated strings instead.
MS-DOS may have emulated DR-DOS's assembly string handling to increase cross-compatibility with DR-DOS executables.
Re:MS-DOS strings end with a '$'? (Score:1)
He's not talking about BASIC string variables, he's talking about OS system messages - they used dollar signs to mark the termination of the string, thusly:
Abort, Retry, Ignore?$
No, I have no idea why. I guess we'd need a ouija board to find out.
Easy, yet wrong answer. (Score:3, Interesting)
which, for some reason, wants '$' as the end-of-string terminator
Right. The point of Gary Kildall's griping was that Kildall knew the reason, and Bill Gates didn't. This, to Kildall, proved that MS-DOS had a shady heritage, possibly involving re-assembling (to 8086 object code) a disassembled CP/M (8080 object code).
There may have been some merit in Kildall's claims, given that he sued MSFT, and settled out-of-court.
Gates did? (Score:3, Insightful)
New life for C128 (Score:4, Funny)
Lately, the Z-80 CPU in there only gets to boot the machine and never does any other computing.
-----
Z80 Boot Up (OT) (Score:2)
Caldera's genius in buying DR Dos (Score:2)
They bought the rights to DR Dos and then sued Microsoft for having using dirty tactics to limit the success of DR Dos back in the late 80s and early 90s. This was after DR Dos itself had been irrelevant for several years.
Caldera won something like $250,000,000 (I am too lazy to look up the exact figure) and besides a bunch of lawyers that got rich, Caldera got funding for their company.
So I guess that since Caldera purchased DR Dos simply in order to sue Microsoft, there is no reason to not open it now.
Re:Caldera's genius in buying DR Dos (Score:2)
That's not entirely true. Caldera [caldera.com] did purchase the assets of Digital Research from Novell [novell.com], and begain a lawsuit against Microsoft [microsoft.com], and settled for ~$250M. They must have needed the money badly because they settled, even though their case seemed very strong and an eventual win almost guaranteed. During this time Lineo [lineo.com] (nee Caldera) did sell embedded solutions based on the DR-DOS code base. They also purchased the Arachne [browser.org] web browser for DOS, ported it to their Linux offering and sold it as DR-WebSpider. At the time they sold both DR-DOS and Linux based embedded packages, targeting the Kiosk market. They also made the source to DR-DOS (Caldera OpenDOS) available for the first release or two but closed it back up due to lack of interest, the difficulty of getting the build environment setup and business reasons.
DR-DOS lives on as the bootstrap for Novell Netware and I'm sure that there were a few other clients for embedded DOS (IIRC Kavouras [meteorlogix.com]used it, I can't remember others). DR-DOS, AFAIK, is still available for download and personal use, and Caldera has packaged it for use with DOSEmu. So while they did use DR-DOS for the lawsuit money (A perfectly valid and appropriate lawsuit if there ever was one) they also based the beginnings of their embedded offerings on it. Lineo is one of the better embedded companies right now, gunning for Wind River's marketshare, they are not going away.
Further DR-DOS history links
running cpm (Score:2, Interesting)
Huh? (Score:1)
One must notice, however, that it's hardly possible to write, for instance, a fdisk that's worse than the one for MS-DOS, source-wise...
Thoughts upon the parsing of the code (Score:1)
10 RUN DOS
.
.
[code]
Hmmm, so Microsoft swiped this, and evolved it, and now all MS OSes are based on it? Interesting...
[more code]
.
.
10000 X = Random(256)
.
.
[mode code]
I wonder if any of this ancient legacy stuff is still around in the new versions of Windows..
[even more code]
.
.
20000 IF( X = 128)
20001 GOTO 50000
20002 ELSE
20003 GOTO 10000
[even more code]
What an odd piece of code.. I wonder what it does.
[end of code]
.
.
49999 END DOS
50000 CRASH DOS
[end of code]
FreeDOS, and some random thoughts (Score:2)
Cool stuff.
DRDOS isn't open- read the newsforge article (Score:2)
Finally! (Score:3, Funny)
Where acutally IS the the source?? (Score:1)
But i havent seen any hints where I can actually find the code. Any known links??
Lispy
Re:Where acutally IS the the source?? (Score:3, Informative)
CLARIFICATON, DR-DOS is not OPEN, however the source is for sale if you'd like to purchase it.
DOSEMU (Score:2)
Of course, we'd need to set up an emulation layer that Windows 95 sits on top of.
Re:DOS OWNS ALL (Score:2)
The words CP/M and DOS invoke nice memories to me, but lets keep both of them where they belong - a computer museum.
Re:Uh Hello??? (Score:1)
Y'all let us know when you've got it ported to a 64k 8088, mmmkay?
Re:Uh Hello??? (Score:1)
Re:Uh Hello??? (Score:2, Insightful)
I'd agree with you if Linux was half as easy as DOS (1. Plug in driver install disk 2.type a:Install 3. follow onscreen instructions) or if you could run linux on my old TRS-80, 8088, 286, coco3(TRS-80 Color Computer 3), or run half the number of applications available DOS under Linux, or if the bootup time for Linux or Windows was even twice what it was for DOS. DOS is even rock solid stable, especially when we are talking about protected mode apps. The apps may crash, but pmode apps will rarely take the system down, and a lot of regular apps had less to worry about, so they are inherently less buggy. If they did crash, nobody comes close to the swift bootups under DOS, so it doesn't matter as much as when an operating system which takes 5 minutes (or even 30 seconds) to boot up.
DOS has stayed fairly recent because of these things(or in spite of them), and there is even several web browsers (my favourite web browser for DOS is Arachne) for it, in spite of the obstacles faced when coding TCP/IP applications for DOS.
I find the best part though, is that DOS is a de facto cross platform standard. Many Operating Systems can run dos applications either natively or thorugh an emulator or VDM.
Now I'm going to stop fanboy-ing DOS, and get back into the real world.
Re:Good news (Score:1)
Re:Good news (Score:1)
re: Not free (Score:1)
Hey look! Oh, silly me!
The article says CP\M is free, not DR-DOS!
Heh... sometimes I just forget to read the articles and these things happen.
PS: The original article says DR-DOS is for purchase (includes source code). CP\M is free as the article states.
Time to start a Kernel Cousin CP/M? (Score:1)
jk
(Unless you really think it's a good idea.)
(Then not jk.)