[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)