[HN Gopher] CP/M is really open-source now ___________________________________________________________________ CP/M is really open-source now Author : jstanley Score : 359 points Date : 2022-07-13 10:12 UTC (12 hours ago) (HTM) web link (retronic.us) (TXT) w3m dump (retronic.us) | skywal_l wrote: | I remember, when I was a kid, having a CP/M diskette for the | Amstrad CPC. It was provided with the machine. Every now and then | I would try it out, not really understanding what it was about. | | Years later I learned, reading about it, that it was some sort of | "professional" OS on which productivity software would be used. | | Does anyone actually used that OS on CPC or any other 8bits | machine of the 80s to do anything remotely useful? Genuinely | interested. | jstanley wrote: | I haven't used a real 80s computer (except in a museum). I've | used CP/M a fair amount on an RC2014[0], but never for anything | you might describe as "useful". | | [0] https://rc2014.co.uk/ | atq2119 wrote: | I remember using Wordstar and Turbo Pascal (version 3.0, I | think?) via CP/M on a CPC. | taffronaut wrote: | I worked on an industrial process monitoring system using CP/M | in the 80s. It wasn't on CPC. It ran on a professional | Z80-based S100 bus system with lots of I/O cards. | sedatk wrote: | Yes, I remember using Dr.Logo on CP/M on my friend's CPC6128 | and being very impressed with the capabilities of the language | compared to BASIC. I also loved how detailed were the help text | for the CLI tools. I remember reading HELP pages. I used to | like command-line option syntax in brackets too. It felt very | thorough and professional compared to AMSDOS :) | omega1 wrote: | I did, on a Czechoslovak 8080-based machine called TNS: I have | written & cross-compiled a fulltext screen editor for another | 8080 machine. It was written in the assembly language, and the | resulting product had less than 2 KB. | PaulHoule wrote: | CP/M was a lot like MS-DOS. People used the Wordstar word | processor on it, you could run a BASIC interpreter and compiler | on it. There was an upgraded version called ZCPR3 that was used | on a BBS server in my town where you could log in and use the | command line. | zekica wrote: | Me too. I used it only for copying floppy disks. I didn't know | better at the time. | lproven wrote: | Do you mean back then, or now? | marktangotango wrote: | There was a category of med/high range microprocessor machines | ($10k+) that used it a lot, like Z-80 S100 machines with a | bunch of "custom" expansion cards. I don't recall any of their | names now, but if you look at the ads in late 70's Byte | magazine you'll see them. | boffinAudio wrote: | Wrote thousands and thousands of lines of code on CP/M, back in | the day - not on an Amstrad CPC back then, rather some other | strange machine - but it opened the door for a lot of great | work in the decades that followed. | | In my retro collection I currently have a CPC6128 that boots | CP/M and for which I have Turbo C and Turbo Pascal installed. | | I prefer to run SymbianOS on it though - it has multitasking, a | network stack and a working GUI. ;) | lproven wrote: | Symbian OS is something entirely different: a native ARM OS | written in C++ for smartphones. | | You're probably thinking of SymbOS: | | http://www.symbos.de/ | boffinAudio wrote: | Thanks, thats correct - I was thinking of SymbOS. :) Its a | mistake I make almost every single time I refer to the | Amstrad CPC6128 version of it. | | See also: ContikiOS (for 8-bit machines) .. pretty amazing! | Doctor_Fegg wrote: | Yeah, I used it a fair bit on the CPC. | | There was huge amounts of CP/M software, much of it distributed | for the CPC by "public domain libraries", who'd send you a disk | of stuff by post for a small fee. (I ran one such!) But, to be | frank, it was a minority taste because there were often faster, | more graphical native programs available - i.e. running under | the CPC's ROM-based firmware. For example, why would you use a | CP/M wordprocessor when you could use Protext? Why would you | use a CP/M assembler when you could use Maxam? And so on. | | So CP/M programs on the CPC tended to flourish in areas where | there wasn't much decent native software. Comms programs, for | example - dialling up to a BBS, or even running one. (There | were a couple of BBSs run on CPCs using the ROS software under | CP/M.) Languages other than BASIC or assembler. | Compression/archiving. | | CP/M was a bigger thing on the Amstrad PCW because it didn't | really have native firmware, and because the hardware was | closer to a decent CP/M machine. | dividuum wrote: | Same here. Had it on the CPC464. Had no idea what to do with it | other than IIRC loading an image editor whose highlight (for | me) was a brush in the form of a propeller fighter plane :) | wazoox wrote: | There was a famous tracker for the CPC6128 that ran on CP/M. | The name escapes me ATM. | [deleted] | shadowofneptune wrote: | CP/M was at one point the native platform of Turbo Pascal. It | only got fine-tuned for MS-DOS in later versions. | defined wrote: | Yeah, I wrote quite a bit of Turbo Pascal code on CP/M on a | Radio Shack TRS80 Model II. I loved TP and CP/M, especially | TP. | lkxijlewlf wrote: | Slightly off topic: | | I recall as a youngin watching Gary Kildall on the Computer | Chronicles. I was always fascinated by what people were doing | with computers. I know it is nostalgia and there's infinitely | more to learn about today than there was then, but I do miss that | era of computing. | kazinator wrote: | > _This right comes from the company, DRDOS, Inc. 's purchase of | Digital Research, the company and all assets, dating back to the | mid-1990's_ | | What the Wikipedia says, if you piece it together is that Bryan | Sparks founded Caldera in the mid 1990's, which bought Digital | Research. Around the time Caldera went defunct in 2002, Sparks | started DeviceLogics which got renamed to DRDOS Inc. So that must | have inherited the Caldera assets, including the Digital Research | stuff. | linuxhansl wrote: | My foray into disk-based operation systems. Oh, sooo many years | ago. A friend of mine had it, and I would ride my bike through | country roads as a kid to play around with it. | Cockbrand wrote: | Of course, there's a CP/M emulator in the browser now, so you | don't have to dig out your Z80/8080 computer: | https://www.tramm.li/i8080/ | smm11 wrote: | So IBM went crazy with CP/M, and Microsoft suffered. We'd now | have CP/M 11, and DOS would be open-source now. | BirAdam wrote: | I am not so certain that it would have made much difference. | Microsoft would still have produced both BASIC and Windows, and | we may have had the exact same evolution anyway. | DigitalResearch's GEM was mired in legal red tape preventing | from much evolution. | | Also, MSDOS is opensource now. | | https://computerhistory.org/blog/microsoft-ms-dos-early-sour... | sbuk wrote: | In all likelihood in that timeline DOS as we know it wouldn't | have existed. | zabzonk wrote: | Lots of the source of CP/M came with the distribution, and it | wasn't hard to dis-assemble specific bits you were interested in. | | Some CP/M software (I'm thinking of WordStar specifically here, | but no doubt others) almost required you to write a keyboard and | display handler in Z80/8080 machine code to get decent | performance over the generic CP/M code - been there on Research | Machines 380Zs. | jstanley wrote: | Source has been available for years, it just hasn't been clear | whether it was legal to redistribute it. Now it's clear :). | bornfreddy wrote: | ...clearer (if at all). The proper license, whatever it is, | is still missing. Sorry. :) | doctor_eval wrote: | Why about MP/M. I loved having more than one user on a 8080. | dfawcus wrote: | Source and binaries are on the site: | | http://www.cpm.z80.de/source.html | | http://www.cpm.z80.de/binary.html#operating | | Search for MP | gjvc wrote: | Symbolics next, please! | Tomte wrote: | Good luck hoping for that! | | They sold their "first .com domain" to some guy who... seems to | be a domain squatter (although he writes a lot about not being | one). | | Companies that eager to make a quick buck are usually not the | ones open-sourcing their stuff. | gjvc wrote: | this is the guy who presumably sold the original domain, | http://www.symbolics-dks.com/ | rbanffy wrote: | It certainly feels like the people in the Amiga space. | They'll milk their cow until its last drop of blood. | orangepurple wrote: | I'm not familiar with this culture. Can you expand on it? | lproven wrote: | I would guess that they mean Hyperion, which owns the | name and IP. It develops AmigaOS 4.x for PowerPC Amigas: | | https://www.hyperion-entertainment.com/index.php/where- | to-bu... | | And also AmigaOS 3.2 for old 680x0 Amigas: | | https://www.hyperion- | entertainment.com/index.php/news/1-late... | rbanffy wrote: | That'd be INSANELY cool. | | Let's go a bit further then. | | Next, open source SCOPE, NOS/VE and PLATO! | cestith wrote: | For nostalgia purposes, I'd like to see MUSIC & MUSIC/SP | source with a fully open license. It was on our mainframe at | uni in the 1990s. | rbanffy wrote: | Do we have a wishlist for version 2.4? I'd go for s390x and | 64-bit addressing support. | cestith wrote: | I haven't interacted with the system in decades. I have | some wishlist items from since then but I really need to | give the demo some time to have an updated list. Those | two alone seem sufficient for a release though. | phendrenad2 wrote: | Always excellent when a piece of computing history has it's | source made available. Even better when it's provided under a | libre license, as this is! | | CP/M is a powerful example of what you can do without | multitasking. The code is also a time capsule of development | techniques and styles of the time. | Barrera wrote: | > The discussion is not over yet, but we believe this statement | is equivalent to the well-known BSD or MIT licenses. | | That's not now I'd interpret it. "Open Source" in my mind means | that the software uses one of the OSI approved licenses. The | quoted paragraph: | | > Let this paragraph represent a right to use, distribute, | modify, enhance, and otherwise make available in a nonexclusive | manner CP/M and its derivatives. This right comes from the | company, DRDOS, Inc.'s purchase of Digital Research, the company | and all assets, dating back to the mid-1990's. DRDOS, Inc. and I, | Bryan Sparks, President of DRDOS, Inc. as its representative, is | the owner of CP/M and the successor in interest of Digital | Research assets. | | is not even a license in the traditional sense. It defines | nothing. Whatever rights it grants do not appear to be | transferrable. Worst of all, it does not even mention source | code. | | If the owners of the CP/M source code want to make it open | source, what's so hard about attaching the actual MIT or BSD | licenses to a source distribution and publishing it? | Cyberdog wrote: | This sort of confusion could have been avoided if they had just | said "the source code to this program is now free to distribute | under the (MIT|BSD|GPL|etc) license" from the beginning. Nobody | knew what exactly the intent of this novel "let this paragraph | represent" approach was supposed to be, and now it just sounds | like we have a slightly clearer idea. | | No need to get cutesy with something as important as your | license terms, people. | zozbot234 wrote: | This is most likely why the post mentions that "discussion is | not over yet". They seem to be quite optimistic that we might | be getting a proper FLOSS release. | nibbleshifter wrote: | > what's so hard about attaching the actual MIT or BSD licenses | to a source distribution and publishing it? | | From experience in related things: lawyers. | Communitivity wrote: | I remember CP/M with fondness. My father gave me an Osborne 1 for | my first computer when I was 12 (41 years ago). It came with | CBASIC2 as well as MBasic, and I managed to find a Lisp (I forget | what flavor). To put the Osborne 1 in perspective, the stats: | | * 64kb memory (yes that's kilobytes) | | * 2 5 1/4 floppy disks | | * No hard disk | | * 5" monochrome green screen monitor | | * 4 MHz CPU | | * 37 watt power supply | | * weighed ~25 pounds | jahnu wrote: | Luxury! | | https://m.youtube.com/watch?v=ue7wM0QC5LE | | ;) | jfengel wrote: | Plus an RS-232 for your modem and an IEEE 488 for your printer. | | That CPU lacked a multiply instruction, so you had to implement | that yourself. | veltas wrote: | The multiply instructions on later CPUs were implemented as | microcode programs on the silicon, so sometimes it was faster | to write your own or a specialised routine anyway. | OnlyMortal wrote: | 4mhz CPU? | | Luxury super computer! | varjag wrote: | 3.5-4Mhz was standard for most Z80 based systems. | sedatk wrote: | Still, it didn't perform much better than a 1Mhz 6502 due | to its design. | kriro wrote: | That is cool news because it's probably a nice starting point for | osdev projects. At least more code to read :) | | I feel like the code was available before and I read parts of it | but I may remember it wrong. | | Edit: Yes it was indeed "just" a license clarification. Link to | the source: http://www.cpm.z80.de/source.html | usr1106 wrote: | In high school in 1980 we had Commodore PETs. They had no | tangible OS, just a BASIC interpreter in ROM. There was an easter | egg that made it say Microsoft or wasn't it spelled MicroSoft? | Either way a company nobody had ever heard of. | | CP/M had the aura of being something for real pros. Read some | journal articles and it looked really complicated. But without | suitable hardware I had never any chance to touch it. | | In 1983 I went to university where beginner courses happened on | VAX/VMS and my definition of "pro" got shifted. | dhosek wrote: | The early microcomputer OSes were little more than program | loaders and only came into play if you had a disk drive. Even | MS DOS was not much more than a program loader for most of its | existence. It was a little jarring when making the transition | from a TRS-80 or Apple ][ or Commodore computer to something | running MS-DOS or CP/M that you could no longer just type 10 | PRINT "HELLO, WORLD!" to start writing a program. | hdjjhhvvhga wrote: | > In high school in 1980 we had Commodore PETs. They had no | tangible OS, just a BASIC interpreter in ROM. | | Five years later the Commodore 128 appeared. It had the best of | both worlds: could run all C64 games _and_ CP /M. These were | magic times. | salmo wrote: | I inherited one of these from a friend in 2000. The 'l' key | switch was broken. It (like most) were only booted into C64 | mode and used for Batman and stuff. 'L' was broken because of | 'load'? I think that was the command. It's been too long. | | I passed it on, but wish I didn't. At this point, I probably | could have replaced the switch. | mongol wrote: | I always booted mine while pressing the Commodore key. Waste | of money. | Cockbrand wrote: | With its separate number pad, it looked really grown-up and | professional compared to the 64, though. The 128D even more | so, with its desktop box, built-in floppy drive and | separate keyboard. | mongol wrote: | Yes I had that one. It was the worst decision of my life. | Had I waited 6 months or so, the Amiga 500 would have | launched. I got stuck on dead hardware and got hooked off | from computers for several years. | ansible wrote: | If it is any consolation, I got started on the Radio | Shack Color Computer ecosystem, with the original version | the the CoCo3. Back then, there was quite a bit of debate | by the mid 1980's about the longevity of 8/16-bit | processors like the 6809 and the 6502 / 6510 series. | | Addressing a maximum of 64KiB of memory back when 4KiB | was expensive seemed fine. And due to cost, picking an | 8-bit processor for a design in 1980 seemed sensible. But | the ability to support up to 1MiB of RAM (eventually) on | the 8086 series help insure the platform's longevity, in | spite of the horrible segmented memory programming model. | | Companies like Motorola weren't terribly interested in | backwards compatibility, preferring instead to design | completely new instruction sets (like the 68K family) for | their 32-bit platforms. | hdjjhhvvhga wrote: | If it is any consolation, I had to use ZX81 as my parents | couldn't even afford ZX Spectrum. | macdice wrote: | Me too. But I think it led to more learning and less | gaming! I did finally get a Speccy... recently! | cosmiccatnap wrote: | I'm sorry but it's not on MIT, GNU, or BSD so I would go so far | as to say the title is clickbait...like can I take this code and | try and get it to work on my x86 machine and then commit my | changes under bsd? Probably not | | Can someone point me to a repo to look at it? I can't find a link | and it doesn't show up on Google. | dboreham wrote: | https://github.com/brouhaha/cpm22/blob/master/bdos.asm | | from http://www.cpm.z80.de/source.html | marcodiego wrote: | Good but 30-40 years too late. | pavlov wrote: | CP/M was the popular operating system that IBM wanted to license | for their skunkworks Personal Computer project. But the founder | of Digital Research, the company that developed CP/M, was more | interested that day in going flying his plane than meeting with | corporate men in navy suits. (This may be apocryphal.) | | IBM turned instead to their second choice, a small company that | was supplying BASIC interpreters to many 8-bit micros. The | company didn't actually have a suitable disk operating system | product, but the founder knew someone who did. He made a deal to | license the source code for a fixed fee and no limitations on | redistribution. And that's how Bill Gates acquired MS-DOS for | $50k. | forinti wrote: | Surely the choice of OS cannot depend on a single day. | | CP/M seemed much nicer. | guenthert wrote: | Hell no. (MS-)DOS was awful in every aspect, but CP/M was | worse. It's quite amazing how age seems to make people paint | the distant past rosy. | | In 1980 CP/M would have been the obvious choice though for a | micro computer, due to market dominance (there were penty of | commercial software application available for CP/M, | including, later, WordPerfect and Multiplan) and limitation | of the hardware at that time. Glad that we moved on. | Narishma wrote: | How was it nicer? | lproven wrote: | I used CP/M back in the day, on some of the last-ever CP/M | computers, the Amstrad PCW series. | | I still have one: they ran CP/M 3.0, AKA CP/M Plus, the | final and richest version. | | I don't think it was nicer or better. It was _simpler_ , | and so arguably cleaner. A CP/M machine generally had at | most 64kB of RAM and floppy drives: machines with a hard | disk, or with more RAM, were rare. | | So that meant CP/M could be a lot more minimal than MS-DOS. | | CP/M grew up into CP/M-86, which turned into Concurrent | CP/M, a full multitasking OS. That grew into Concurrent | DOS, a full multitasking _MS-DOS compatible_ multiuser OS. | | And CDOS developed into two things: | | * DR FlexOS, a _real-time_ multiutasking multiuser OS with | a GUI, which is still around today in the form of IBM 4680 | and 4690 OS. | | https://en.wikipedia.org/wiki/4690_Operating_System | | Latest update: December 2020. | | * DR DOS, the original better DOS than DOS. | | Probably the best-selling and most widely-used member of | the family. | | Still around today as DR OpenDOS. I've been working on it | myself. | | https://liam-on-linux.livejournal.com/58013.html - info & | downloads | | https://liam-on-linux.livejournal.com/79015.html - | VirtualBox VM images | dfawcus wrote: | Concurrent DOS (CDOS) did not develop in to FlexOS. | | That confusion comes from the original naming it had, | CDOS 286. | | FlexOS was a new development mainly in C, vs the assembly | based Concurrent DOS. This is all obvious from reading | the programmer APIs and header files for FlexOS. | JJMcJ wrote: | You could get a CP/M-86 license for the PC. Also Turbo Pascal. | But MS-DOS was the cheapest so it prevailed. | | One of the most impressive things about this is that Bill Gates | and MSFT actually had a deal with IBM and came out ahead. Very | few companies did this. | piokoch wrote: | "This may be apocryphal." | | Yes, you story is not true at all. Bill's mom was higher-up | executive in IBM and persuaded company to do business with her | son's company, not DR. That gave rise to Microsoft. | | BTW: for a long time many people were using DR DOS as a much | better replacement for MS DOS, which was broken in many places | (I did that too). Bill was not very much worried about shipping | broken stuff, that's why we have seen "great" stuff like | Windows ME or Windows Vista. Sadly, at that point Microsoft was | practically a monopoly on the operating system market | (Unix/Linux were not a thing, Apple was fighting with its own | problems). | | The good thing that happen to Microsoft and to its users was | Windows NT kernel, that was a sort of a rip-off of rather sane | VMS kernel, so Windows NT, Windows 2000 and their successors | were more or less acceptable operating systems. | jodrellblank wrote: | > " _Bill was not very much worried about shipping broken | stuff_ " | | This goes against claims like[1] where Bill Gates got the | spec for Excel Basic (to become Visual Basic for | Applications) and read it and annotated it overnight, to | grill the the author on the details, and says " _Bill Gates | was amazingly technical. He understood Variants, and COM | objects, and IDispatch and why Automation is different than | vtables and why this might lead to dual interfaces. He | worried about date functions. He didn't meddle in software if | he trusted the people who were working on it, but you | couldn't bullshit him for a minute because he was a | programmer._ " and | | " _Over the years, Microsoft got big, Bill got overextended, | and some shady ethical decisions made it necessary to devote | way too much management attention to fighting the US | government. Steve took over the CEO role on the theory that | this would allow Bill to spend more time doing what he does | best, running the software development organization, but that | didn't seem to fix endemic problems caused by those 11 layers | of management, a culture of perpetual, permanent meetings, a | stubborn insistance on creating every possible product no | matter what, [...] and a couple of decades of sloppy, rapid | hiring_ " | | [1] https://www.joelonsoftware.com/2006/06/16/my-first-billg- | rev... | [deleted] | dboreham wrote: | > That gave rise to Microsoft | | Microsoft was already one of the biggest most significant | microcomputer software companies. | mbrubeck wrote: | > Bill's mom was higher-up executive in IBM | | This is also not true at all! Mary Gates never worked for | IBM. However, she _knew_ IBM 's chairman John Opel. | crikeyjoe wrote: | jll29 wrote: | > IBM turned instead to their second choice, a small company | that was supplying BASIC interpreters to many 8-bit micros. | | a small company founded by a kid, Bill Gates, whose parents | happened to be IBM's lawyers. | dtech wrote: | And had access to a computer at school starting eight grade | in 1968, at a time purchasing price started at $500k, 4 | million adjusted for inflation. | P_I_Staker wrote: | but what kind of lawyers were they? | de6u99er wrote: | A small but probably important detail! | electroly wrote: | As far as I can tell it's entirely untrue. Gates's mother | wasn't a lawyer at all, and neither of them ever worked for | IBM. | throwaway9870 wrote: | I have never heard that before. Do you have a reference? What | I have read is that Bill Gates's mother was on board of | directors of United Way with the chairman of IBM. | abirch wrote: | I agree with you. Looking at Bill Gate Sr's wiki, it shows | he worked at Preston Gates & Ellis, LLP or a firm he co- | founded before. | | https://en.wikipedia.org/wiki/Bill_Gates_Sr. | monocasa wrote: | The real story was that she was a board member on another | corporate board with someone who was also on IBM's board. | Even with that indirection, she did use that influence to | convince IBM to use Microsoft for the PC. | | https://www.nytimes.com/1994/06/11/obituaries/mary- | gates-64-... | pjmlp wrote: | Small correction, he acquired QDOS, which was then morphed into | MS-DOS. | [deleted] | lproven wrote: | Initially, just licensed. Only later acquired. | | If you're going to correct, you've got to be right! | | I say this as something of an HN admirer of yours, because | you so often comment to people with exactly what I would say | myself. We should talk. | pjmlp wrote: | Point taken and thanks. :) | AlbertoGP wrote: | > _was more interested that day in going flying his plane than | meeting with corporate men in navy suits. (This may be | apocryphal.)_ | | That day was his wife's birthday and he had already promised | her to go flying. | | Here it is reported by Stewart Cheifet, his long term co-host | of the Computer Chronicles (which is a treasure and freely | available in the Internet Archive | https://archive.org/details/computerchronicles): | | > " _... but it's just as good. It's just that that day they | came was his wife's birthday, and he said <<Sorry, I'm | committed to my wife, we're gonna go flying>> [...] He didn't | have to worry about money, but what killed Gary was just the... | he was annoyed at what happened. [...] [Cheifet in an excerpt | from Computer Chronicles in 1983:] Gary, are we at the end of | the line in the evolution of computer hardware?_ " | https://www.youtube.com/watch?v=WdtHS_X1ibg&t=430s | | Edit to add: the first video in the Computer Chronicles Archive | collection is the "Gary Kildall Special" from 1995, and I quote | here a couple of paragraphs: | | > " _In 1976, Gary and his wife Dorothy founded a company | called <<Intergalactic Digital Research>>, later shortened to | <<Digital Research>>._ " | | > " _The main thing that CP /M brought that was different from | how anybody else was approaching micro-computers, was that Gary | made a logical separation of the physical I/O system from what | was called the BDOS. The physical layer system was called the | BIOS, the Basic I/O System, and that was the term that Gary | used in early CP/M. The BDOS was the Basic Disk Operating | System. The BDOS was independent of the specific hardware that | you had in your micro-computer. By comparison, we are looking | at the time of UNIX being out as a major mini-computer | operating system, and you could not move executables of any | application program from one UNIX machine, unless it was an | identical machine, to another system. So that was really a | remarkable innovation._" | | > " _CP /M sold extremely well, and DRI flourished. The company | expanded to larger quarters across the street, the number of | employees grew from 9 to 24. When the new VAX mini-computer | arrived, it was too large to fit inside the building, so the | entire structure was lifted off its foundation to accommodate | the machine. A beaming Gary told the staff that they would all | be getting a <<raise>> that week._" | dfxm12 wrote: | I've got to second checking out Computer Chronicles for | anyone at all interested in the history of computers or | people just looking for a little nostalgia. | | The YouTube algorithm suggested it to me a few months back | and I've been watching episodes whenever I get a little | downtime. Watching John Dvorak teardown a brand new IBM PS/2 | literally and figuratively was pretty fun. | AlbertoGP wrote: | Reply to myself: watching that Gary Kildall Special of The | Computer Chronicles, there is a segment at 17:10 talking | about that incident, presented too by Stewart Cheifet, where | Tom Rolander, first DRI employee, tells that _he_ was flying | with Kildall that morning for a business trip, then "flew | back down and joined the IBM meeting, we were there for the | meeting later in the afternoon". | | A sibling comment | (https://news.ycombinator.com/item?id=32082362) tells a story | consistent with this one. | | The first video from which I quoted Cheifet is from 2013, | while this last one is from 1995. I have no way of verifying | which one is right. | | Here is Tom Rolander again, in 2017, in an interview with the | Computer History Museum, describing the background between | Gary Kildall, Bill Gates, and IBM, and then a very detailed | report of the incident, again consistent with his 1995 | report: "Oral History of Tom Rolander" | https://www.youtube.com/watch?v=VREZ6Zx_usc&t=5040s | seemaze wrote: | Entertainingly clarified in the wonderful podcast 'Advent of | Computing' ep. 36 [0]. Highly recommended! | | [0]https://adventofcomputing.libsyn.com/episode-36-the-rise- | of-... | lproven wrote: | Yes it's apocryphal. Please stop repeating it. It's | disrespectful to the late great Dr Gary Kildall, for a start, | and to his cofounder and business partner, the late Dorothy | McEwen. | | From memory and without consulting much in the way of | references: | | * Dr Kildall's personal and business partner Dorothy was the | company's cofounder and dealt with contracts etc. | https://en.wikipedia.org/wiki/Dorothy_McEwen_Kildall | | * Dr Kildall, as the CEO of the most significant microcomputer | OS vendor in the world at that time, had his own plane, yes, | and he piloted it himself. He was going on a site visit to a | major customer. It wasn't for fun; it was a business trip, and | it wasn't his job to deal with IBM. | | * DR had good reasons to refuse the deal. | | 1. IBM wanted DR to sign a very restrictive NDA; DR had a | policy against that. Ms Kidlall refused. MS, as a small company | with nothing much to lose, happily signed. | | 2. IBM offered $250K for an unlimited license. DR quite rightly | refused _and so did MS._ MS retained the rights to licence DOS | to other vendors, and it did, a lot, and made a lot of money | thereby. The deal IBM offered DR precluded that. | | * AIUI, MS _licensed_ SCP QDOS for $50K. It only bought it in | later on, for a lot more money. It ended up paying $1M for it, | and that was still a bargain. | | This is not ancient history. It was only about 40 years ago. | Many of the protagonists are still alive and active, notably | Tim Paterson and a certain William H Gates the 3rd. | jecel wrote: | The IBM guys had gone to Seattle expecting to license CP/M. | Their "benchmark" (in business terms) was the Apple II with | Microsoft's Z80 SoftCard running CP/M. As far as they could | tell, Microsoft owned CP/M. Bill Gates told them otherwise, | phoned Gary Kildall but had to be vague and then sent the IBM | guys on a plane to California. I can only guess they were | pretty upset even before they ever got to DRI. | | People's memories of what happened vary. One of the IBM guys | claimed no meeting happened and they went back to Seattle | even more upset (which is the most popular version). Gary | claims that after some back and forth between Dorothy and her | lawyer she did sign the NDA and that he arrived towards the | end of the meeting and had a nice chat about the technical | side with the IBM people. | | The PC was launched with a choice of three operating systems: | PC-DOS (the licensed MS-DOS), CP/M86 and UCSD Pascal. But the | first cost less than a third of the other two. | electroly wrote: | > As far as they could tell, Microsoft owned CP/M | | CP/M prints a Digital Research copyright when you boot it | up; this seems hard to believe. Is there corroboration? | flomo wrote: | The Apple II softcard version does show a Microsoft | copyright. (This was reportedly the most popular platform | for CP/M.) | | https://www.youtube.com/watch?v=DCV81rlwMTU | laumars wrote: | This is one part of the story that most people agree on. | I think I've even seen an interview with Bill Gates where | he recalls this. | WalterBright wrote: | As I recall, PC-DOS sold for $40. CP/M86 sold for $180. | People overwhelmingly bought PC-DOS because it was cheaper | and nobody was able to explain why CP/M86 was worth the | much higher price. | | The company I worked for bought both, and I tried CP/M86. | There was no reason to prefer it over PC-DOS, and that was | that. | motogpjimbo wrote: | PC-DOS's predecessor, 86-DOS, was allegedly reverse | engineered from CP/M. The subsequent lower development | costs probably account for at least some of the price | difference between the two products. | WalterBright wrote: | And CP/M copied from DEC's operating systems, most | especially RT/11. | | I haven't examined the code myself, but the source code | to the original PC-DOS is available and can be compared | with CP/M. I've been told they were not copies. | EvanAnderson wrote: | Tim Paterson, of Seattle Computer Products and later | Microsoft, gave a good talk at VCF West 2019 where he | describes the history of 86-DOS (licensed to become PC- | DOS and MS-DOS). There was an intention for significant | API compatibility with CP/M, but no code was taken from | CP/M. | | https://www.youtube.com/watch?v=R2Qh0O3Dt10 | kiwidrew wrote: | CP/M was (mostly) written in the PL/M language and ran on | the 8-bit 8080/Z80 processors. 86-DOS was written in pure | assembly language and ran on the 16-bit 8086 processor. | Tim Paterson, its author, wrote an 8086 assembler and an | 8080-to-8086 source code translator that ran on a CP/M | machine. He used these tools to bootstrap 86-DOS. | | 86-DOS was intentionally designed to mimic the CP/M APIs | to make it easy to port CP/M applications to 86-DOS | through mechanical translation of the source code. | | (And, surprise surprise, much of the business software | that was available for IBM PC-DOS in the first couple of | years were direct ports of existing CP/M applications: | SuperCalc, WordStar, dBase II, etc.) | kabdib wrote: | I did some work at DRI in 1984 (my group was housed in the | old KMST television studio, on the outskirts of the DRI | campus, for about four months while we ported GEM to the | Atari ST). | | My manager talked with Gary about the CP/M incident at one | point. Apparently some "guys in suits" showed up without an | appointment one day, wouldn't say who they were, wouldn't | sign an NDA, and were demanding to see Gary. They were sent | away without talking to anyone. Gary was in his office the | whole time, and definitely not flying. | | Take it as you like. My Kildall Number is 2. | zabzonk wrote: | Strange that everyone else says more or less exactly the | opposite? | sedatk wrote: | Popularity doesn't make facts. People tend to align with | popular thought anyway, so, it may as well be a feedback | loop. | zabzonk wrote: | Occam's Razor suggests that what has been published as | truth for a long, long time (since the actual events, in | fact) is truth, rather than being made up by gullible | people. | laumars wrote: | There has been several published accounts from different | people involved, all of which differ. The story the GP | published is one such version (I've read that account | elsewhere, published as first hand). | | AFAIK there isn't even a popular opinion since most | people tend to agree we will never know the truth. And of | those who do have an opinion, those opinions have been | largely split (as evidenced by the comments on here). | | So I have no idea why you're so confident in your | assertion but it is entirely misplaced. | zabzonk wrote: | All of the many widely read and reviewed books on Gates' | career tell the same story (i.e, the one I am | suggesting). If they were wrong, surely someone other | than a couple of randos on the internet would have got on | the author's case. But nobody has done - hence Occams | Razor. | laumars wrote: | > _All of the many widely read and reviewed books on | Gates ' career tell the same story_ | | Is it really that surprising that books specifically | documenting Gates would cover his version of events? This | is a very definition of selection bias right there. | | > _If they were wrong, surely someone other than a couple | of randos on the internet would have got on the author 's | case. But nobody has done_ | | There's plenty of contradictory accounts. People have | literally posted them right here. You're just refusing to | acknowledge they exist because you've never bothered to | research this beyond Bill Gates own personal account. But | I'd suggest you read some content written from the | perspective of Kindall if you're genuinely interested in | hearing the other side of the story. He has even written | about it himself. | kmeisthax wrote: | There's a third reason why the DR/IBM deal didn't work out: | CP-M/86 was extremely delayed. The reason why SCP QDOS even | existed was that SCP had an S-100 machine with an 8086 in it | and there was no OS that could run it. | | Microsoft wasn't necessarily a "small company with nothing to | lose", either. They had the best BASIC interpreter in the | business[0] and everyone licensed from them already. | | [0] This also allowed them to strong-arm Apple into making a | few licensing deals that would kill all the "look and feel" | shenanigans later into that decade. | laumars wrote: | > Microsoft wasn't necessarily a "small company with | nothing to lose", either. They had the best BASIC | interpreter in the business[0] and everyone licensed from | them already. | | Nope and nope. | | The "best" is subjective but BBC Basic (as seen on Acorn | BBC Micros) was fscking awesome. Far better than Microsoft | BASIC in my opinion. Locomotive BASIC then took the BBC | BASIC dialect and improved upon it. Amstrad shipped that on | their CPC 464 models. | | There was a BASIC for the Atari ST I've used too which was | pretty awesome. | | Microsoft BASIC might have been widely used but it was | neither universal nor the "best". | buescher wrote: | BBC Basic did not exist at the time; all Acorn had was | Atom Basic. | | By the time your later Basics came around, Microsoft and | the PC were already the extinction-level event for small | business micros of the sort that ran CP/M. It's sort of | shocking leafing through say, BYTE magazine from the era | and realizing how plain it should have been that was | happening. | laumars wrote: | BBC BASIC is based on Atom BASIC. Atom BASIC was pretty | fast (like BBC BASIC and Apple BASIC, it vastly out | performed Microsoft BASIC). Atom BASIC also allowed you | to do some really cool stuff too like in-line assembly. | | Also the BBC Micro was released in the same year as the | first IBM PC, so it's a bit of an exaggeration to say | Acorn didn't have BBC BASIC at that time. | | Let's also not forget that the original few generations | of the IBM PC was crap for all but business applications | (I don't need to lead though old magazines, I was there | in that era). And that it took a while before the IBM- | compatibles became reliable (for years there was | uncertainty about which PC software would work on which | PCs) or even safe from litigation (since IBM sued a few | OEMs). It wasn't until crafty developers (like Carmack | and Romero) found ways to make stuff like scrolling PC | games - software that before then people didn't think was | possible on a PC - that people started to take it | seriously as a family computer. Before then BASIC micros | were a much more attractive option; and cheaper too. | | Edit: it's also worth noting that the Apple Macintosh, | Atari ST and Amiga all ran circles around IBM PCs too. | Albeit we are now talking a few years later. Frankly IBM | PC + DOS/Windows was amongst the worst micro computers on | the market in my opinion. The only reason they dominated | was because by the end of the 80s OEMs could build them | more cheaply than designing their own hardware. So the | market got saturated. | Dwedit wrote: | The classic way to test out a BASIC interpreter was to | see how it parses "FORK=ATOM". | | BCC Basic is parsing it as FOR K = ATOM and complains | that "TO" is missing. | | Applesoft Basic is parsing it as FOR K = A TO M, and adds | spaces when you list it back. | | C64 Basic is parsing it as FOR K = A TO M as well, but | does not add spaces when you list it back. | | QBASIC and GWBASIC are parsing "fork" and "atom" as | variable names. | laumars wrote: | Yeah the parsing for some of the BASICs was weird at | times. Some auto-capitalised terms whereas others would | list that as a syntax error or some other error. Some | even allowed you to abbreviate terms. Locomotive BASIC | allowed you to use something like a question mark (I | forget the exact punctuation but I think it was a | question mark) in place of a PRINT command. | WorldMaker wrote: | Well the obvious context here when talking about IBM's PC | deals was "best" 1) "in the US" (eliminating BBC Basic), | and 2) "at the time" (Atari ST happened after the IBM | PC). | laumars wrote: | Their context wasn't about IBM buying BASIC, it was about | IBM buying DOS from Microsoft. Plus given IBM was a | global brand it seems a bit self-congratulatory to argue | that only US-developed BASICs count anyway. However even | taking your comment at face value, it's still not true. | There were plenty of better US-developed BASICs too. | | What IBM wanted was ubiquity rather than technical | excellence. | WorldMaker wrote: | IBM purchased BASIC _and_ DOS from Microsoft in the same | transaction. BASIC was the only "OS" installed by | default in the first PCs and PC-DOS was an optional extra | at launch. | | Contextually here "best" also means "best fit for IBM to | buy". Global brand or not, IBM certainly had US biases: a | US headquarters, more engineers and managers in the US | making purchasing decisions. | | I can't argue with you on the subjective quality of other | BASICs, and I can't speak to what IBM "wanted" other than | what we know they eventually purchased. Their "best fit" | may have indeed been entirely "pragmatic" things like | "ubiquity" or "cheap" rather than "best technically". | | > There were plenty of better US-developed BASICs too. | | Citation needed on "plenty", I think. On the | "microcomputer" Microsoft nearly cornered the market on | MOS 6502 BASIC at the time and even the ones that didn't | have a Microsoft banner at startup still had a licensed | Microsoft interpreter under the hood ("Applesoft Basic" | and "COMMODORE BASIC", for examples). | | Of the Wikipedia documented "microcomputer" BASICs that | weren't Microsoft's/Microsoft-licensed, two were UK- | developed (BBC Basic and Sinclair BASIC), and the only | other one (Atari BASIC) is listed as not having a stable | release until 1983, two years after the first IBM PC. | laumars wrote: | > _IBM purchased BASIC and DOS from Microsoft in the same | transaction. BASIC was the only "OS" installed by default | in the first PCs and PC-DOS was an optional extra at | launch._ | | Yes, I'm already aware of that. You're building a | strawman argument though because that has naff all to do | with the statement I was directly responding to: | | _Microsoft wasn 't necessarily a "small company with | nothing to lose", either. They had the best BASIC | interpreter in the business[0] and everyone licensed from | them already._ | | > _Citation needed on "plenty", I think._ | | BASIC has been around since the 60s, so yes there has | been plenty. | | > _On the "microcomputer" Microsoft nearly cornered the | market on MOS 6502 BASIC at the time and even the ones | that didn't have a Microsoft banner at startup still had | a licensed Microsoft interpreter under the hood | ("Applesoft Basic" and "COMMODORE BASIC", for examples)._ | | I know, I was writing software on those machines at the | time. I also already acknowledged Microsoft BASIC was | ubiquitous. I was disagreeing that Microsoft BASIC was | the best, because it wasn't. It was slower than most | others and lacked a lot of features too. Frankly, it was | shit. But history seems to only remember the victors it | seems. | | > _Of the Wikipedia documented "microcomputer" BASICs | that weren't Microsoft's/Microsoft-licensed, two were UK- | developed (BBC Basic and Sinclair BASIC), and the only | other one (Atari BASIC) is listed as not having a stable | release until 1983, two years after the first IBM PC._ | | Well that's clearly wrong then because there were loads. | Apple/Integer BASIC (which was originally named GAME | BASIC) which was inspired from HP BASIC (unlike Microsoft | BASIC which was based from DEC BASIC). TI BASIC (Texas | Instruments) was released in the late 70s too. | | And on the UK side there was Locomotive BASIC, which was | based on Mallard BASIC (1980) and inspired by BBC Basic, | which was originally Atom BASIC (the Atom being released | before the IBM PC and the BBC Micro being released the | same year). Sinclair BASIC was also pre-PC (1979). | | Mallard BASIC competed with CBASIC (mid 70s) and ZBASIC | (1980) but I hadn't used those. | | There were others too. Some for mainframes, some offered | as alternative 3rd party ROMs for micro computers, some | loadable from cassette or disk, some that compiled | instead of interpreted code, etc. It was a really common | language. | | edit: in fact a 5 minute Google has shown several I | hadn't even thought of: | https://en.wikipedia.org/wiki/List_of_computers_with_on- | boar... (wikipedia too, so I'm surprised you found such | wildly inaccurate information on there), and even that | isn't a complete list (I'd suspect even | https://en.wikipedia.org/wiki/List_of_BASIC_dialects | isn't a complete list). | themadturk wrote: | Microsoft also had FORTRAN and COBOL (and maybe Pascal? Not | sure). They were known for their languages. | marktangotango wrote: | > They had the best BASIC interpreter in the business[0] | and everyone licensed from them already. | | Commodore 64 owners may have a different opinion.... :P | KerrAvon wrote: | So would some Apple II owners. I don't think MS BASIC was | the best in the business, but it was the most ubiquitous. | | If only Woz had been willing to add floating point | support to his BASIC. He was perfectly capable of it! | Would've saved Apple a lot of heartache later. | rowanG077 wrote: | Why was Woz unwilling to add floating point support? | laumars wrote: | He wasn't unwilling. The story I heard was that it's the | usual tail of time constraints. It was quicker to license | Microsoft BASIC than it was to add floating points to | Integer BASIC. | guenthert wrote: | Not sure about that. C64 BASIC was not all that | impressive even then. Mid-eighties, those interested in | BASIC programming on the C64 preferred Simon's BASIC. | timbit42 wrote: | The 6502 version of MS BASIC wasn't as good as the 8080 / | Z80 version. | zabzonk wrote: | c64 Basic was licensed from Microsoft. | | https://en.wikipedia.org/wiki/Commodore_BASIC | II2II wrote: | We will never know what happened on that day. None of the | witnesses can be considered reliable. Even if they consider | their own accounts as honest, the eventual fallout would | taint their memories of the events. The best we can hope for | is documentation to support one hypothesis or another (e.g. | contracts). | | That said, I do agree the common account is both | disrespectful and inaccurate. I never understood why people | would believe that Gary Kildall or Dorthy McEwen would brush | off a business meeting. They may not have been an empire | builders, but they were successful business people who built | a successful business. | rileyphone wrote: | See also https://dfarq.homeip.net/how-dos-came-to-be-ibms- | choice-of-o... | leoc wrote: | One thing that does seem almost certain is that, to | whatever extent Kildall _did_ intentionally skip or turn up | late to the meeting, it was more likely an attempted power | move or an expression of annoyance than the sort of genuine | indifference or carelessness that the "Gary went flying" | story usually tries to suggest. But naturally the IBM | representatives would not have been happy to be | deliberately flexed on by an SME owner, either. | marktangotango wrote: | > None of the witnesses can be considered reliable. | | I find this to be a curious statement, as in not reliable | in what way? | | Gordon Eubanks company was acquired by Kildall and worked | for them at the time. I found this interview to very | interesting, he touches on those events and gives his | perspective. | | https://www.computerhistory.org/collections/catalog/1027173 | 6... | mixmastamyk wrote: | Accounts differ and parties have their professional | reputations on the line; want to pin the failure on the | other. | | See jecel below. | KerrAvon wrote: | We absolutely know the source for the "Gary went flying" | story: Bill Gates. But he wasn't actually there! | anonymousiam wrote: | You left out the part about SCP blatantly ripping off the | CP/M OS to produce QDOS, which Bill Gates purchased in order | to license to IBM. The CP/M source code was widely available, | but still copyrighted by DRC. At the time, I recall having a | CP/M-based x86 cross-assembler that did a pretty good job. It | probably took Tim Paterson a day or two to hack QDOS together | given the availability of the CP/M source code and tools. If | QDOS was an original work, why use "5" as the system call | interrupt? (CP/M used "call 5".) The QDOS system call | function list and arguments are identical to CP/M. The FCB- | based disk layout was also virtually the same as CP/M. | | https://en.wikipedia.org/wiki/Seattle_Computer_Products | | https://www.theregister.com/2007/07/30/msdos_paternity_suit_. | .. | rowanG077 wrote: | Why would you intentially make things different? There is a | lot of value on agreeing on low level details. | EvanAnderson wrote: | The analysis done by Robert Zeidman in 2014[1] published in | the Journal of Software Engineering and Applications comes | to the conclusion that no code was copied from CP/M by SCP. | | Tim Paterson has stated that API and structure | compatibility were explicit goals. That can be achieved w/o | copying any code. | | re: "5" as the system call interrupt - I've never seen an | SCP machine or QDOS, but on an IBM PC interrupt 5 handled | print screen (and on the 80186 and up it was a CPU- | generated interrupt for BOUND exceptions). | | [1] https://www.scirp.org/html/4-9301871_46362.htm | WalterBright wrote: | Haven't the courts decided that an interface is not | copyrightable? | | Also, CP/M bore a remarkable resemblance to DEC operating | systems, like RT-11. | spc476 wrote: | The 8086 was not object compatible with the 8080, but one | could "assemble" 8080 code (or even Z80 code) into 8086 | with an automated process. It might not be optimal code, | but it would get a working application up and running | rather quick on new hardware. | phendrenad2 wrote: | When I heard the (fake) story, it went like this: | | IBM offered to buy DOS first, but Gates & Allen rejected it. | Gates, being an acquaintance of Gary Kildall, told them to | give Digital Research a try. He phoned Gary and said, | playfully "They're coming for you next". Gary took this to | mean someone was coming for him, and jumped in his plane and | left. When IBM showed up, he was mysteriously missing, and | everyone involved was confused. | | Usually truth is stranger than fiction, but in this case I | think the fiction above is hilarious and top-notch alternate | history. | hindsightbias wrote: | So DR had a dumb policy and were not great negotiators. Gates | knew exactly what had fallen into his lap. | drieddust wrote: | Bill Gates mother having a seat on IBM's board was not a factor | in IBM giving him such a sweet deal? | Neil44 wrote: | CP/M was nice, it's a shame we got saddled with MS-DOS for | decades. | pjmlp wrote: | Having started my MS-DOS path with version 3.3, and used all | MS-DOS versions, also the DR-DOS 5.0 and 6.0 versions, | experienced CP/M on the Spectrum +3A, I fail to see how CP/M | was better. | Neil44 wrote: | To be fair I was thinking about the way MS-DOS solved | problems that came along later like having lots more RAM | and larger file systems. 640k, expanded memory, extended | memory, file size limits. Things that I don't think CP/M | was developed long enough to have to solve, so maybe it's | not really fair to compare the two. | Ekaros wrote: | It would have probably ended up in similar mess with some | different trade-offs and design decisions. Not in anyway | certain it would have been better. | mongol wrote: | Which directory separator did it have? | lproven wrote: | I am not sure if you are being facetious or not. | | CP/M did not support subdirectories, so it did not have a | directory separator. | | Its design was derived from a multiuser minicomputer OS | (or several of them, principally DEC OS-8) and so it had | user areas instead: | | A1: | | B6: | | C3: | | http://www.primrosebank.net/computers/cpm/cpm_cookbook_us | er.... | mongol wrote: | I am not facetious. I wonder how things would have turned | out if CP/M "won". | lproven wrote: | OK, fair enough. | | I suppose it's fairly natural to assume from the POV of | the 3rd decade of the 21st century that computers from 50 | years ago had basic facilities like hierarchical | directories... but not all of them did. | | Big ones like high-end minicomputers did. I learned on | VAX/VMS at university in the 1980s, and it did. | | Cheap low-end minis didn't, and nor did the early 8-bit | machines whose design was inspired by low-end | minicomputers. | | The main influences on CP/M were DEC OSes: OS/8 and | TOPS-10. | | https://en.wikipedia.org/wiki/OS/8 | | https://en.wikipedia.org/wiki/TOPS-10 | | The 2nd is mentioned here: | | https://en.wikipedia.org/wiki/CP/M#Early_history | | I have never used either -- I'm not _that_ old -- and I | am not sure but I don 't think either supported | hierarchical subdirectories. | | The closest thing that evolved into something that did | was the DEC OS RSX-11, which influenced VMS. They used a | filesystem called DEC Files-11: | | https://en.wikipedia.org/wiki/Files-11 | | So that did end up supporting hierachical directories, | but there isn't a "directory separator" _per se_. That 's | a UNIX-ism that MS-DOS 2.0 copied. | | A VMS file in its folder might have been called something | like: | | VAXA$DKA100::[USERS.LPROVEN.SOURCE.FORTRAN]WUMPUS.FOR;42 | | In other words, devices had multicharacter names that had | meaning (e.g. what type of controller board, then which | controller, then which disk), possibly after a cluster | node name, then in square brackets a folder path | separated by dots, then a filename, then another dot, | then a 3-letter extension, then a semicolon, then a | version number. | | Looks baroque compared to the dead simple UNIX name | style... | | /home/lproven/source/fortran/wumpus | | Every time you save a file, the version number increments | automatically. And path specs combined with device names | and cluster names mean that the filename could point to | another disk on this controller, or another disk on a | different controller, or a disk on another node in the | cluster, or a disk on any node in a named cluster. | | You can't do that so easily with the Unix naming system. | So the sysadmin has to mount folders from other machines | into this one's filesystem, and that means also setting | up some kind of distributed authentication like NIS or YP | or LDAP, and then some PAM modules or something... and it | all gets very complicated. | | In other words, the simplicity of the UNIX design doesn't | take complexity away: it just _hides_ it. It 's still | there but it becomes someone else's problem. | | Whereas the DEC way of doing things sort of puts the | complexity right there in front of you, but in return, | you got rich facilities right there. | | Much less need for Git when files are versioned and you | can go back to an older version before you broke | something just using info encoded into the filename. Much | less need for NFS mounts when the filesystem knows about | controllers and networking and clusters and lets you | address them. Much less need for bolted-on fancy | authentication when that's built into the OS because the | designers thought about stuff like networks, clusters, | and authentication, when all that got taken _out_ of UNIX | and then had to be bolted back on later. | | So, yeah, the UNIX way is simpler, but OTOH that also | means it's poorer. Poorer as in less rich. As in the DEC | system was richer: being richer lets you do more. | | CP/M evolved into multitasking multiuser OSes in time, | but DR didn't get to re-invent all this stuff. | | Maybe if DOS had never happened, DR would have prospered | and bought DEC instead of Compaq buying DEC, and this | stuff would have made it into PC OSes. | | Who knows... | pavlov wrote: | I believe CP/M always used the forward slash as the CLI | modifier argument prefix (where Unix would use a dash). | MS-DOS inherited this. | | When directories were eventually added, the forward slash | couldn't be used as a separator because it was already | used for modifiers. | ratboy666 wrote: | CP/M does not use forward slash as the CLI modifier. | | Examples - from the standard CP/M utilities (CP/M 2.2) | | ASM FILE.ABC | | .ABC encodes options. Source file for ASM is always .ASM | | STAT uses $ - STAT FILE $R/O sets file to read-only PIP | A:=B:[G0] - PIP (copy, "peripheral interchange program"), | uses [ for options, as do later Digital Research programs | (like the linker). Basically /no/ Digital Research use of | / as option separator. | | Microsoft used / - for example the command line L80 | FILE,FILE/N/E - which means link FILE.REL (relocatable), | naming the output FILE.COM, and link and exit. | | CP/M 2.2 introduced "user areas" - a disk could be | divided into 16 user areas (USER 0 to USER 15). There was | no "searching" until CP/M 3. CP/NET (Digital Research | networking) used [ as a separator. Examples (from CP/NET | documentation) | | A>RMAC SNIOS A>LINK SNIOS[OS] | | LOGIN {password}{[mstrID]} | | LOGIN secret[01] | | would log in to server 01, with password secret | | NETWORK B:=D:[F] | | assigned B: to server 0F, drive D: | | The lack of directories was not such a loss, as the | maximum disk size for CP/M 2.2 was 8MB. Remote drives | with CP/NET could be much larger (I have used up to 1TB). | WorldMaker wrote: | Forward slash as a modifier prefix was IBM's desire | because it was what they used in Mainframe OSes at the | time. A lot of MS-DOS things were for "compatibility" | with IBM Mainframes at the time. Supposedly, Microsoft | was lightly against the forward slash as command argument | because they preferred Unix machines at that point as | development mainframes and liked the POSIX defaults for | forward slash as directory separator. (Which is why MS- | DOS even from the early days of the file system often | supported _both_ for directory slash in first party | commands, even if individual app argument parsers from | third parties did not.) | spc476 wrote: | MS-DOS did have a function to change the option character | (INT 21h, AH=37h) [1], and the "kernel" always accepted | both '\' and '/' as a path separator (and that is still | the case today; the shell however, is another story). The | same call can also change MS-DOS to require "/DEV/" | before device names. [2] | | [1] Documented for MS-DOS 2.0; documentation removed for | MS-DOS 3.0; still available (according to my source) | through at least MS-DOS 3.30 | | [2] God, why do I still remember this information thirty | years later? Sigh. | mananaysiempre wrote: | Note that the OEM README[1] for MS-DOS 2 (the first | version with a hierarchical filesystem) suggests that it | was at IBM's insistence that MS-DOS used backslash for | directories and slash for options, rather than slash for | directories and hyphen-minus for options (even though | Microsoft's own programs for CP/M apparently used slash | for options due to DEC influences, instead of the | brackets used by CP/M itself[2], so this is a bit of a | tangle). The documentation and examples for CONFIG.SYS[3] | also bear an evident Unix influence, note in particular | AVAILDEV and SWITCHAR. The MS-DOS-specific calls for file | descriptors (as opposed to CP/M-compatible calls for | FCBs) are called "XENIX file calls" in the source[4]. | (All DOS system calls for files accepted either | separator, but the option parsers would retrieve | SWITCHAR[5] and give it precedence.) | | [1] https://github.com/microsoft/MS- | DOS/blob/master/v2.0/source/... | | [2] https://news.ycombinator.com/item?id=30510935 | | [3] https://github.com/microsoft/MS- | DOS/blob/master/v2.0/source/... | | [4] https://github.com/microsoft/MS- | DOS/blob/master/v2.0/source/... | | [5] http://www.ctyme.com/intr/rb-2752.htm | kiwidrew wrote: | Yep, there was a (brief) period of time -- before MS-DOS | became wildly popular -- when Microsoft was pitching | Xenix as the future operating system for the PC. | | (Also worth noting is that MS-DOS 2.0 was a nearly | complete rewrite of the 1.x codebase...) | Doctor_Fegg wrote: | CP/M didn't have sub-directories, though it did have 16 | "user areas" on a disk. | II2II wrote: | MS-DOS did not have directories at first either. It was a | feature in version 2.0, when hard drive support was | added. | | Directories seem to have been a foreign concept among | early home computer operating systems and I suspect its | adoption was driven by the adoption of hard drives. For | example, the Apple II did not gain directory support | until ProDOS was introduced and the Macintosh only gained | folders with the introduction of HFS. I don't recall | directories existing for the Commodore 64 either. | egypturnash wrote: | Directories just weren't worth it on discs that stored | less than 200k. You organized stuff by putting the | floppies in the right place in their storage boxes. | jasomill wrote: | Technically, the original Macintosh filesystem supported | folders as "an illusion maintained by the system | software"[1] in spite of its flat directory structure. | | [1] https://developer.apple.com/library/archive/documenta | tion/ma... | aidos wrote: | Oooo, question for those that might know a little more | about this. | | I had an Amstrad (CPC6128 running CP/M) and I found that | if I did cat to list disk contents without a disk in the | drive enough times in a row it would eventually list out | really random contents. Anyone know what might have been | going on. | Doctor_Fegg wrote: | CAT would have been AMSDOS, not CP/M (it was DIR in | CP/M). Not sure what was happening in that case though - | it sounds like a bug, but not one I ever recall | encountering! | aidos wrote: | Oh interesting. I swear it was cp/m; cat I'm more hazy on | (though I feel like I didn't use dir until ibm dos). | | I had to really hammer on the command, and it would | actually be trying to read either the hardware. I wonder | if it was actually a physical issue that triggered it. | atq2119 wrote: | Sounds like whatever check that was used to determine | whether a floppy was present or not had some small | probability of giving a false positive. Maybe because | without a floppy, the head would read random data that | could pass some integrity check by chance. | pjmlp wrote: | The same as always \, while CP/M didn't even had | directories, it was a flat file systems. | jhallenworld wrote: | HP should open OS/8 and RT-11, the two big influences on CP/M. | OS/8 is kind of remarkable, running on a system arguably less | powerful than the first 8-bit home computers (I would say they | are closer to PIC microcontrollers, but with more RAM): | | https://www.pdp8online.com/os/os8/index.shtml | | PDP-8 memory is heavily paged. There are 128 word pages- direct | addresses can only reach within the current page, and literals | (immediate data including addresses to other pages) have to be | allocated out of this current page along with the instructions. | Second, there are 4K-word fields. So you need to use far jumps | and returns to access outside the current field. This is just | like PIC microcontroller pages. | | OS/8 reserved only two pages for itself. Things like the command | interpreter were swapped out to disk or DECTape. | | https://en.wikipedia.org/wiki/DECtape | | If the application needed device drivers, it got to choose which | pages the drivers would occupy- meaning the device drivers had to | be written as position independent code. Also I think each driver | was limited to two pages.. | timonoko wrote: | I thought I had CP/M source code for Osborne-1. But no, I have | only inch-thick listing of BIOS. And it did not matter, one | always used direct Bios-calls for speed. | | CP/M was not actually needed for this implementation, it could | boot on its own: http://timonoko.github.io/Nokolisp.htm ___________________________________________________________________ (page generated 2022-07-13 23:00 UTC)