Stories
Slash Boxes
Comments

SoylentNews is people

posted by n1 on Friday August 05 2016, @03:07AM   Printer-friendly
from the troubled-genius dept.

The Computer History Museum has released part of the memoir of Gary Kildall. Kildall founded Digital Research, Inc., co-hosted The Computer Chronicles on television and wrote CP/M, the first operating system for personal computers. The extract from his memoir Computer Connections can be downloaded after agreeing to a lengthy EULA (Javascript required). It was provided by Kildall's family, who wrote

We have chosen to release only the first portion of his memoir. Unfortunately Gary's passion for life also manifested in a struggle with alcoholism, and we feel that the unpublished preface and later chapters do not reflect his true self.

In related news, a presentation comparing the source code of MS-DOS to that of CP/M will be given at the museum, in Mountain View, California, on Saturday during the Vintage Computer Festival.

additional coverage:


Original Submission

Related Stories

R.T. Russell's Z80 BBC BASIC Is Now Free Software 33 comments

Programmer David Given has done the leg work to contact and ask R. T. Russel about releasing the Z80-based BBC BASIC as Free Software. It is now available under the non-reciprocal zlib license:

As part of the work I've been doing with cpmish I've been trying to track down the copyright holders of some of the more classic pieces of CP/M software and asking them to license it in a way that allows redistribution. One of the people I contacted was R.T. Russell, the author of the classic Z80 BBC BASIC, and he very kindly sent me the source and agreed to allow it to be distributed under the terms of the zlib license. So it's now open source!

[...] So the reason why this is important is that BASIC has, rightly, a reputation for being a pretty terrible language; but BBC BASIC was a dialect specifically commissioned by the BBC in 1981 as an educational aid. As a result, BBC BASIC supports named procedures, local variables, recursion, and other structured programming features. Unlike Microsoft BASIC, you can write proper structured, maintainable programs in BBC BASIC without needing to refer to any line numbers anywhere. And it'll run faster that way: [...]

[...] The original version was written by Sophie Wilson at Acorn in 1981 for their 6502-based range of BBC Micro computers and during the early eighties every school child in the United Kingdom was exposed to it, spawning a whole generation of bedroom programmers.

Earlier on SN:

[Ed's Comment: 170619-0724UTC. Added additional link to the original story]


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2, Informative) by Anonymous Coward on Friday August 05 2016, @03:23AM

    by Anonymous Coward on Friday August 05 2016, @03:23AM (#384364)

    manifested in a struggle with alcoholism

    I have had a few alcoholics in my life. It truly is like living with 2-3 completely different people. Yet they are the same person you just dont know which one you are dealing with at that moment.

  • (Score: 0) by Anonymous Coward on Friday August 05 2016, @03:27AM

    by Anonymous Coward on Friday August 05 2016, @03:27AM (#384365)

    Digital Research put out a MS-DOS clone* called DR DOS. Kids would called it "doctor dos" - as always been the case, kids in those days didn't know shit from shite either.

    *Ha, history is funny old thing, ain't it.

    • (Score: 4, Interesting) by Arik on Friday August 05 2016, @04:24AM

      by Arik (4543) on Friday August 05 2016, @04:24AM (#384378) Journal
      Old DR DOS licensor here.

      It was by far the best version of DOS. The later versions even bundled Quarterdeck's best stuff.

      MS sued them, and got beaten horribly. Wound up having to give DR RO access to their source archives for about a decade to make sure they could solve compatibility problems to settle the suit they started, iirc.

      It's a shame his heirs are so out of touch with his legacy.
      --
      If laughter is the best medicine, who are the best doctors?
      • (Score: 2) by NCommander on Friday August 05 2016, @09:31AM

        by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Friday August 05 2016, @09:31AM (#384434) Homepage Journal

        +1 to DR-DOS kicking ass and taking names.

        Digital/Novell were looking to make it a real operating system vs. a small shell over hardware (which MS-DOS essentially is) by including protected memory management and preemptive task switching. It was essentially trying to do what OS/2 tried to do without breaking backwards compatibility. Microsoft strongarmed DR-DOS out of the market (the AARD code was targeted against it), and effectively killed it by shipping Windows 95.

        Had Digital's GEM interface gotten more traction compared to Windows, there would be a decent chance DR-DOS would still be kicking today. GEM never reached feature parity with Windows 3.x, and although they were working on implementing multitasking and such, it never saw the light of day.

        --
        Still always moving
      • (Score: 2, Interesting) by Anonymous Coward on Friday August 05 2016, @05:14PM

        by Anonymous Coward on Friday August 05 2016, @05:14PM (#384546)

        DR-DOS is still being maintained! [drdos.org] v7.1 was released in 2011. Unfortunately, GPL woes killed v8.0 & v8.1

        I still use DR-DOS for a legacy robotics project, and also to teach kids robotics and low level programming. Linux is a pain in the fucking ass if all you want to do is just GET and PUT to ports in a loop. Writing kernel drivers and rebuilding the fucking kernel each modification is prohibitively expensive for entry level kiddos. I'd much rather do without an OS and load code my own static bootloader rather that install the unstable clusterfucks called "*nix" just for simple embedded / robotics projects (if I can't use DR-DOS or FreeDos for some reason). Kids can understand "your compiled ASM code gets loaded here, and the PC does exactly and only what you tell it" rather than "Well, we ask the OS to do this, and when it gets around to it that might happen -- or not, depending on the latest batch of bugs mention in the mailing list (or not)". DR-DOS gets out of your way and lets you get right down to the metal, unlike modern OSs.

        Why use old PCs and DOS to teach robotics when newfangled "low priced" SOCs exist? Because any old PCs with a parallel port = powerful robot brain that you can hook simple switches and circuits to directly and program them out of the box, no addon "Arduino shield" required, and old PCs are free, the local electronics recycle place sets them aside for me. Plus, when the kids let the magic blue smoke out of the thing, I've got piles of free boards that they can rebuild on -- so they don't have to be on pins and needles when wiring up stuff on a breadboard like they do with SOC platforms. Want to power your stepper from the 12v rail? SURE! Go ahead, figure out which one it is and solder wires right to the mobo if you want. If you screw up, or it doesn't work out, no worries, have another board!

        Now I'm starting to get boxes donated that don't have parallel ports. They're basically useless because serial is such a shit to work with for beginners: Newbies shouldn't have to run data through a modem (RS232) and decode a binary stream just to make blinken-lights. You can get a single circuit from a serial port by using the DTR (data transmission ready) pin as a data output. Indeed, certain drivers for LIRC [Linux Infrared Control] are actually programmed to use a resistor and LED soldered between a serial port's DTR pin and ground. My own IR projects use DR-DOS though because LIRC is a PITA to maintain, the docs suck, and it doesn't work with just any old kernel build. Meanwhile, my two decade old assembly program for controlling the TV / VCR / DVD / Sound System / Projector with DR-DOS still works with no issues or recompilation on the most recent DR-DOS (and FreeDOS) installs.

        Thanks to the (much derided) backwards compatibility of x86 you can still install DR-DOS on just about any new x86 or x86-64 machine (so long as that toxic "secure boot" crap can be disabled). Your 512 byte boot sector (last 2 bytes being 55h, AAh) still gets placed at 07C0h in memory and executed by BIOS in 16bit mode, and that's all a DOS needs to get going. Programs that are very small (like most beginner stuff) can just be compiled without any libs and written to the first sector of a drive. You'd be amazed how much faster a boot it is than waiting for a "modern" OS to load. As their projects get bigger I have kids install DR-DOS and compile / load the program with that. By the time they've made something fun they also understand how operating systems work (and are thus frustrated as hell with the batshit designs of every new OS they encounter, heh).

        There's something about being able to develop and modify on the actual robot you're building that "just clicks" with kids. Otherwise, when teaching on "modern" OSs, my best answer to the inevitable question, "But why do I have to rebuild the kernel just to X?" is "This is one of many proofs that Satan exists: The devil is in the details."

        • (Score: 1, Interesting) by Anonymous Coward on Friday August 05 2016, @06:59PM

          by Anonymous Coward on Friday August 05 2016, @06:59PM (#384591)

          If your free pc's don't have parallel ports, they probably still have the ISA bus -- so buy a cheap board to plug in. Here's one of many, www.bonanza.com/listings/Achieve-Parallel-printer-port-8-bit-isa-db25-vintage/378657869

          Or -- maybe those motherboards have parallel port pins, just not connected to a socket??

          Separate old story -- In the early 80s, someone gave my brother an S-100 bus box with Z-80 processor board. It was originally bought for project that was going to connect a bunch of dumb terminals and when that project fell through it was surplussed. It came with 8 RS232 serial ports (2 S-100 boards, 4 ports each). He wanted some parallel IO to control something and used most of the 8 DTR lines! Worked fine.

    • (Score: 0) by Anonymous Coward on Friday August 05 2016, @08:33AM

      by Anonymous Coward on Friday August 05 2016, @08:33AM (#384422)

      OK then oldtimer, what longwinded or stupid name are you going to call it, if not Doc-tor-Dos? Di-gi-tal-Re-search-Dos? Di-gi-tal-Dos? Dee-Arr-Dos? Durr-Dos?

  • (Score: 0) by Anonymous Coward on Friday August 05 2016, @05:41AM

    by Anonymous Coward on Friday August 05 2016, @05:41AM (#384391)

    From the Wikipedia article:

    Kildall obtained a copy of PC DOS, examined it, and concluded that it infringed on CP/M. When he asked Gerry Davis what legal options were available, Davis told him that intellectual property law for software was not clear enough to sue.[12] Instead Kildall only threatened IBM with legal action, and IBM responded with a proposal to offer CP/M-86 as an option for the PC in return for a release of liability.

    • (Score: 2) by SomeGuy on Friday August 05 2016, @07:44AM

      by SomeGuy (5632) on Friday August 05 2016, @07:44AM (#384411)

      Kildall obtained a copy of PC DOS, examined it, and concluded that it infringed on CP/M.

      Of course he did. It looked and worked similarly. And he knew it was going to compete heavily against him.

      Many others did similar even when there was no real case, such as Lotus suing the makers of the spreadsheets VP Planner, Quattro Pro, and The Twin over the the trivial similarity of their menus.

      It will be interesting to hear what this presentation at Computer History Museum has to say, but it is fairly well established that the DOS code was in no way a direct copy. Keep in mind that at the time CP/M was mainly for the Z80 CPU and DOS was for the 8086/8088. You can't just copy unknown blocks of code and have it work, it would at minimum have to be translated and re-written for 8086. DOS also did quite a few things differently, such as using FAT from Microsoft's disk basic. On top of that, we are talking about just a few thousands bytes of code - just 6400 bytes for the 1.0 IBMDOS.COM (kernel) 1920 for the IBMBIO.COM (machine-specific drivers) and 3231 for the command interpreter. It was designed to make it easy to port CP/M application by using well known documented calls and structures. So of course there will be some similarities.

      In my mind the only remaining issue is that it may not have been "clean roomed" quite to the extent to pass the standards that evolved later.

      Personally, I think it would be more interesting to hear about marketing tactics afterward that may have helped keep CP/M-86 from making inroads on IBM PC and compatible systems.

      • (Score: 1) by anubi on Friday August 05 2016, @08:42AM

        by anubi (2828) on Friday August 05 2016, @08:42AM (#384426) Journal

        This is one of the reasons I really enjoy these forums.

        I had always thought PC-DOS *WAS* CP/M-86, rebranded, and customized for the PC.

        I thought Gary Kindall was the true author of DOS, but Gates had bought the rights to use it for the PC... how far off am I?

        I stand corrected. By the similarity of these, it sure had me fooled.

        --
        "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
        • (Score: 2) by NCommander on Friday August 05 2016, @09:24AM

          by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Friday August 05 2016, @09:24AM (#384433) Homepage Journal

          MS-DOS was based on a product Microsoft bought called QDOS which was intended to be a quick and dirty knock off CP/M. https://en.wikipedia.org/wiki/Seattle_Computer_Products [wikipedia.org] for the full story. Even taking an account that was 1980 dollar prices, MSFT made off like a fiend ...

          --
          Still always moving
          • (Score: 1) by anubi on Friday August 05 2016, @10:29AM

            by anubi (2828) on Friday August 05 2016, @10:29AM (#384437) Journal

            Thanks for the link, NCommander!

            That old CP/M I had on my old IMSAI was so similar to the MS-DOS I later played around with that I thought it was the same thing, just a later and more specific version.

            Of course, at that time, a lot of us were writing our own DOS. All incompatible with each other. My first one was centered around my pride and joy... a solenoid-controlled Astrocom-Marlux reel-to-reel audio tape transport sold by Lafayette Electronics. I made an interface to the IMSAI so it could control the transport. I would have to remember what starting block my program started at, and when I booted into my OS, it would ask me which block of the tape to start loading at. I would type in something like 38G2000(enter), and it would search the tape deck to find block 38 and start loading until end of file, then jump to location 2000. The onus was on me to know where the free blocks in the tape were and not overwrite any.
             
            ( I had my assembler on block 138 IIRC ).

            I remember I would format a 7" reel of tape and get several thousand blocks of 2 kilobytes each ( same data payload size as 2716 EPROM ). Manchester coded. I had coded that old OS to make it specifically easy for me to put stuff from RAM page to tape, tape to RAM, and RAM to EPROM, and EPROM to RAM.

            Remember those old erasers we had to put the 2716 under to clear them?

            Those were the days, weren't they?
             

            --
            "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
            • (Score: 3, Interesting) by NCommander on Friday August 05 2016, @10:52AM

              by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Friday August 05 2016, @10:52AM (#384441) Homepage Journal

              I postdate the era of "roll your own" OS by a good 10 years, but I'm well familiar with the concept, and I've done it on microcontrollers. For final shits and giggles though, if you want to play with a "modern" DOS-like environment, playing around with UEFI is basically portable DOS as the programming model is identical. It's not too hard to get any modern PC to load the UEFI shell (I've done it on this laptop, and on a 2011 desktop. My Itanium clunker had the shell burnt into ROM which helped a lot).

              In UEFI, your main function gets two points to a list of lists, and a list of pointers. Anyone who's familar with DOS will remember the magic list-of-lists programming model. You have to walk the table to figure out which APIs are available, and then call them with the correct prototype (the UEFI SDK has a rather impressive set of C macros to allow the compiler to catch most of the stupid. You can't just use a regular prototype as UEFI C uses an unusual call ABI which means most compilers can't do a regular function call into the function tables).

              --
              Still always moving
              • (Score: 0) by Anonymous Coward on Friday August 05 2016, @01:25PM

                by Anonymous Coward on Friday August 05 2016, @01:25PM (#384471)

                > You can't just use a regular prototype as UEFI C uses an unusual call ABI

                Is there any reason it’s different?

            • (Score: 2) by martyb on Friday August 05 2016, @04:36PM

              by martyb (76) Subscriber Badge on Friday August 05 2016, @04:36PM (#384523) Journal

              Nice to meet someone else who had worked on an IMSAI 8080!

              I was working at a lab which made various diagnostic tests. Accounting software, among other things, was running on CP/M [www.gaby.de] on their IMSAI 8080 [wikipedia.org]. I remember the first time I read through the documentation thinking that it looked familiar... I had previous experience using a DEC PDP-8 [wikipedia.org] and then a PDP-11 [wikipedia.org] — remember PIP (peripheral interchange program)? The IMSAI had 8-inch floppy disks with a write-enable tab, IIRC. And then it appeared in the movie "War Games"... fun times, indeed.

              Thanks for the trip down memory lane!

              --
              Wit is intellect, dancing.
              • (Score: 1) by anubi on Saturday August 06 2016, @06:54AM

                by anubi (2828) on Saturday August 06 2016, @06:54AM (#384711) Journal

                The last thing I had bought for my IMSAI was a pair of CALCOMP100 8 inch drives, and an FD1771 controller. That was when I was finally giving into commercial software ( aka CP/M ). No sooner than I finally had that beast functional, the company I worked for at the time got one of the first IBM PC's.

                Back then, they actually put the source code of the software, AND the schematic diagram of the machine in the technical manual!

                I felt like I knew everything about my machine. If it broke, I could always go get my oscilloscope and find the hung line or chip that did not do what it was supposed to do.

                These new machines.... well I feel I am in a tiny neighborhood I know reasonably well in a huge city. Move me a couple of miles over and I am lost.

                --
                "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]