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