back to article Microsoft liberates ancient MS-DOS source from the museum and sticks it in GitHub

As Microsoft gears up to unleash the Windows 10 October 2018 Update, Rich Turner, guardian of the command line at Redmond, took a moment to remind us of simpler, MS-DOS-based times. After original author Tim Paterson found the source for MS-DOS 1.25 (along with a six-inch stack of assembly print-outs), Microsoft handed the …

Page:

  1. ForthIsNotDead Silver badge
    Thumb Up

    Ah! So you ARE *that* Richard Speed

    The TMS9900 reference confirmed it. We met at a TI-99/4A meet over twenty years ago in Derby IIRC. T. Stevens and R. Twyning (first names redacted for privacy reasons!) are mutual acquaintences, I believe. Good to know its you! I'm the author of TurboForth for the TI-99/4A.

    It keeps me out of the pubs.

    Very cool article, thanks Richard!

    1. bombastic bob Silver badge
      Angel

      Re: Ah! So you ARE *that* Richard Speed

      Yes, thanks Richard!

      Now (different Richard), can you do the same thing with Windows 2000 ? so we can FORK it? And update it to 64-bit? And have something that is *NOT* 2D FLATSO slurp-o-matic Win-10-nic ??? Maybe just as sample code for the ReactOS developers to work with???

      PLEASE???

      1. Dan 55 Silver badge

        Re: Ah! So you ARE *that* Richard Speed

        The Windows NT and 2000 source code leaked about 15 years ago, it must still be floating about out there.

        1. Waseem Alkurdi

          Re: Ah! So you ARE *that* Richard Speed

          ... and is still available and compilable as OpenNT.

  2. ColonelDare
    Coat

    To some MSDOS was an major leap forward.

    Personal Computer World magazine 1978 (Volume 1, Issue 1) published 'The Elegant Minmon' as a printed Z80 assembly code listing. After two years of soldering, typing it all in and adding a video driver (c/o Wieless World) it all sat in 1k bytes of Eprom.

    By 1981 I would have killed for a floppy disk drive and any DOS (CPM?) to move beyond the tape cassette at 1200 baud, but I couldn't afford one - and/or feed the kids.

    <grumble> Huh. People these days just don't know how lucky they are!!! </grumble>

    ;-)

    1. big_D Silver badge

      Re: To some MSDOS was an major leap forward.

      I saved up my pocket money and bought a ZX81 kit, my mother paid half of the cost. I then taught myself BASIC and machine code.

      At home I was stuck with the cassette deck, but I had a weekend job working for a liquidator, repairing and refurbishing the computers they got in. A lot of Apple IIs, but also a lot of CP/M and a Z80 based UNIX box! :-O

      The best thing I had to "play" with was a Shelton Signet with a 2 or 5MB hard drive! It also had Collosal Cave on it.

      1. LucreLout Silver badge
        Happy

        Re: To some MSDOS was an major leap forward.

        I saved up my pocket money and bought a ZX81 kit, my mother paid half of the cost.

        You saved your pocket money.... and your mum paid half the cost? I dunno if that's commedy genius right there, or just a basic misunderstanding of economics.

        1. RayG

          Re: To some MSDOS was an major leap forward.

          Sounds like good parenting to me - and sound economics. Requiring the kid to commit pocket money means their decision has an opportunity cost so it represents a real commitment, while the extra parental contribution incentivises the decision over others. Perhaps kit-buying mothers have a better grasp of economics than self-confessed lucre louts?

          1. LucreLout Silver badge

            Re: To some MSDOS was an major leap forward.

            Sounds like good parenting to me - and sound economics.

            Good parenting yes, sound economics? No. In reality, his mother has paid 100% of the price tag, not the half claimed; that's just an accounting fiction.

            Perhaps kit-buying mothers have a better grasp of economics than self-confessed lucre louts?

            Unfortunately there's no evidence for that in either the original post nor yours.

            1. Dan 55 Silver badge

              Re: To some MSDOS was an major leap forward.

              Even so, it teaches a) saving and b) having an interest in looking after it.

              If there's a magic money tree then it doesn't matter if it breaks as there'll be another computer along next Christmas.

              1. onefang Silver badge
                Unhappy

                Re: To some MSDOS was an major leap forward.

                "If there's a magic money tree then it doesn't matter if it breaks as there'll be another computer along next Christmas."

                But but but I wanna new computer nooooowww! I'll hold my breath until I turn beige!

    2. Jason Bloomberg Silver badge
      Pint

      Re: To some MSDOS was an major leap forward.

      <grumble> Huh. People these days just don't know how lucky they are!!! </grumble>

      Kids today can still have all the joys of working constrained bare metal on the Raspberry Pi GPU, which neither Broadcom or the Raspberry Pi foundation have officially documented, if they care to.

      That's got video, serial and I/O capabilities. I wonder if MS-DOS could be ported and cajoled to boot on that?

      1. SolidSquid

        Re: To some MSDOS was an major leap forward.

        There's also the option of ARM programming on the Pi, since you boot it off an SD card and that can have ARM based code for it to execute on boot

      2. This is my handle

        Re: To some MSDOS was an major leap forward.

        Really? Z80-based Unix? A 32-bit O/S on an 8 bit chip? I seem to remember that Xenix (when it came along) was a 16-bit port, and that Zilog did make more powerful chips based on the venerable Z80, but not quite as popular. All the Z80s I ever touched ran CP/M, and I'd have saved a month or so of beer money for a Unix that ran on them.

        1. Tom 7 Silver badge

          Re: To some MSDOS was an major leap forward.

          I believe you could run Unix on a Z80 with a little bit of work - this one is not Unix but shows it could probably be done http://www.symbos.de/

          1. shawnfromnh

            Re: To some MSDOS was an major leap forward.

            I've never even heard of that OS before. It was like it was Linux being invented from the description but for back then that wasn't to bad looking and for people that have run win 3.11 will know that the stuff all looked similar and some of those images reminded me of Geocities webpages, they were so weirdly the same overdone themes to try to stand out but often I would hit a page that looked like a paint factory exploded and my mind would just take the info from my eyes and say "nope, fuck this shit I'm gonna have a migrain even if I happen to find out how to navigate this atrocity of a webpage design that someone thought was the best they had in them and their site was so much better from all the chaos of colors. Hell the flat design of many websites kind of gets on the nerves also like driving for hours in the mid west and realizing that the view hasn't changed for a few hundred miles and you're so bored.

          2. Anonymous Coward
            Anonymous Coward

            Re: To some MSDOS was an major leap forward.

            We had a Z8000 unix system, the first unix sytem I ever saw.

            1. Glenn Booth

              Re: To some MSDOS was an major leap forward.

              My first Unix* almost put me off for life. A Hitachi 2050 workstation (68010 based??) that booted up into some windowed Japanese UI. I had to learn the magic combination of characters that would allow me to communicate with it in something a bit like ASCII, and repeat it after every reboot. It was black magic I tell you.

              * It was a HP-UK derivative, so probably not really Unix, in the POSIX compliant sense of the word.

            2. Glenn Booth

              Re: To some MSDOS was an major leap forward.

              My first Unix* almost put me off for life. A Hitachi 2050 workstation (68010 based??) that booted up into some windowed Japanese UI. I had to learn the magic combination of characters that would allow me to communicate with it in something a bit like ASCII, and repeat it after every reboot. It was black magic I tell you.

              * It was a HI-UX derivative, so probably not really Unix, in the POSIX compliant sense of the word.

        2. Mage Silver badge
          Devil

          Re: To some MSDOS was an major leap forward.

          Cromix from Cromenco was Z80 and then 68000 / Z80 hybrid, then 68000 only. It certainly looked like Unix.

          Xenix though needed a minimum of a 286.

          The Z8000 was late and a disaster compared to 68000. The 8088/8086 was really more like like an 8080/8085/Z80 than a 16 bit CPU. Clue is fact that Intel had a 8080 to 8086 Assembly translator and it used 64K pages. DOS pretty much was a clone of CP/M86, which was barely more than a translation of CP/M 80.

          DOS and 8088 and IBM PC held PC back for 10 years. No wonder Acorn developed ARM & RiscOS, though the Archimedies Unix was 1987, I think, which was after 80286 (1982) and 68000 (1979!) ports of Xenix and Cromix.

          Almost every 286 ran purely DOS and x86 mode. Very few had Unix / Xenix. CP/M was great in 1974, but to essentially base PC DOS/MS DOS on it and use the 8088 in 1980 (1981 UK) was madness and it was a disaster that it became popular. Still amazing that Apple II was still selling and there there were far better machines using 8088/8086 than the IBM, like the Victor 9000 / ACT Sirius 1. The PC was clunky garbage.

          DOS wasn't even doing subdirectories till maybe 2.11? Only "Mature" at 3.3, DOS 4.x and 5.x Pointless. DOS 6.22 only good to load WFWG3.11. It and especially Win9x held back real Windows (NT), which MS has progressively broken since releasing Vista (Win 7, really NT 6.1 was Vista service pack).

          Meanwhile Linux which was a curiosity when NT first released (came out at similar time) gradually got better and was decent enough by 1999 for servers, and Desktop by 2007. Now Linux Mint + Mate is seriously better than Win 10 (Should be Win NT 7.3 approx).

          It's a mystery why IBM did what they did and Digital Research didn't sue MS out of existence. But then MS had previous with BASIC. They didn't develop it, it was a port of Dartmouth BASIC.

          1. Doctor Syntax Silver badge

            Re: To some MSDOS was an major leap forward.

            "The Z8000 was late and a disaster compared to 68000."

            It worked OK. My first Unix box was a Z8000 Onyx although what was sold was a bit tightly configured. We had to by another half meg of memory and a 40 meg disk for the database. Moved on from there to a trio of Zilog boxes.

            "DOS pretty much was a clone of CP/M86, which was barely more than a translation of CP/M 80."

            I thought QDOS which became MSDSOE was written because Digital Research were dragging their feet over CP/M-86.

          2. Fire Flash

            Re: To some MSDOS was an major leap forward.

            In another life a very long time ago, I can remember working on a Wyse based Xenix multi user system with an Intel 80186 as the chip.

            1. big_D Silver badge

              Re: To some MSDOS was an major leap forward.

              I worked on an Olivetti 286 based Xenix system as well, with a 20 port COM board sticking out the back and a dozen or so dumb terminals connected to it.

            2. stephanh Silver badge

              Re: To some MSDOS was an major leap forward.

              My understanding is that there were custom Xenix versions for special 8086/80186 machines which had an additional (external) MMU added. However, if you wanted to run Xenix on a "standard" PC you needed a 286 at the minimum (for the built-in MMU)

          3. BinkyTheMagicPaperclip Silver badge

            Re: To some MSDOS was an major leap forward.

            You've got a selective memory, the 8088/6 and DOS weren't ideal but made a lot of sense at the time. The 8088 was cheaper, enabled the use of an existing design, and mostly interfaced to 8 bit peripherals.

            When the IBM PC came out, that DOS would win was not a given. It had the option of DOS initially, but also CP/M-86, and UCSD p-system. There was a huge amount of CP/M software available, and that no doubt informed the extremely CP/M like initial design of DOS, that it slowly diverged from.

            It's true that most 286s ran DOS, but it wasn't for a lack of Intel trying. The 286 was explicitly designed as a server chip (in some ways the Pentium Pro of its time). If it was aimed at running DOS they would have included more real mode functionality and easier ways to switch between protected and real mode.

            The real problem was memory usage, whether on the 286 or 386 onwards. OS/2, Unix, and Windows NT all used a considerable amount of memory for the time. They all had spotty driver support, and native applications were in short supply.

            1. Dan 55 Silver badge

              Re: To some MSDOS was an major leap forward.

              The real problem was memory usage, whether on the 286 or 386 onwards. OS/2, Unix, and Windows NT all used a considerable amount of memory for the time. They all had spotty driver support, and native applications were in short supply.

              OS/2 was late 80s and NT was early 90s, neither were around at the start of the 80s. By their release the memory problem was more-or-less solved. Unix was around but neither that nor CP/M could compete with DOS in terms of memory usage which was what mattered then. Unix also really needed memory management which didn't appear until the 286.

              So that's why MS-DOS was so popular, it ran on everything, but using MS-DOS and DOS software on a 286 was like using a Ferrari in first gear to go to the shops.

          4. taz-nz

            Re: To some MSDOS was an major leap forward.

            Windows 7 wasn't a service pack for Vista, Vista had two service packs.

            Windows 7 kernal was only numbered 6.1 for application compatibly, so you didn't get a bunch of apps checking kernel number and giving an error that they were not compatible with that version of Windows.

            This is the same reason Microsoft skipped Windows 9, because badly coding version checks could mistake it for Windows 95 or 98.

            1. Dan 55 Silver badge

              Re: To some MSDOS was an major leap forward.

              By the time you installed the platform update on Vista, there was little between Vista and 7.

        3. itzman

          Re: To some MSDOS was an major leap forward.

          Back in the day UNIX was 16 bit.

          1. Dan 55 Silver badge

            Re: To some MSDOS was an major leap forward.

            Back in the day UNIX was 16 bit.

            More than likely because most Z80 machines back in the day only had enough memory for a UNIX kernel and not much else.

            A Spectrum 128K/+3 or Amstrad CPC 6128 could just about manage it, if you could live without memory management. A 6502 machine like a BBC even with extra memory probably couldn't because its stack has a maximum length and is stuck at the bottom of the memory.

        4. Dan 55 Silver badge

          Re: To some MSDOS was an major leap forward.

          There is one version from the 80s called UZI, the home page is here but you have to go to archive.org to get the zip. There's a bit move info on this page and the following two pages.

          There is also an MSX-specific port called UZIX and a version which unifies all the different UZI ports called FUZIX, but I couldn't find any ports other than UZI for the successors to the Z80 and UZIX.

      3. joeldillon

        Re: To some MSDOS was an major leap forward.

        It's written in x86 assembler. Less 'port' than 'rewriting completely'.

      4. HandleAlreadyTaken

        Re: To some MSDOS was an major leap forward.

        >Kids today can still have all the joys of working constrained bare metal on the Raspberry Pi GPU

        They could, but I don't think it's as interesting to young people anymore. Around the time of the ZX-81 there was a certain energy, a certain excitement in tinkering with microprocessors, which I don't think still exist. Now it's mostly a trade, not a passion.

        It's the way of the world: building your own ham radio, or stereo amplifier, or getting some old broken car and rebuilding it in your backyard used to be fun activities, if you were geeky enough. They have become unfashionable, just like building your own computer, writing your own low level code or playing World of Warcraft.

        1. Linker3000
          Boffin

          Re: for the cost of a tape to copy them to and delivery.

          Don't write off the retro computer scene just yet...

          This lot have just started regular UK meets: https://rc2014.co.uk/

          also: https://www.retrobrewcomputers.org/doku.php?id=start

          ...and shameless self-promotion:

          https://github.com/linker3000/Z80-Board

    3. Persona

      Re: To some MSDOS was an major leap forward.

      I bought an 8 inch floppy disk in 1981 for my first CPM system. It cost me £220, which was a lot if money back then and gave me 500k of storage. Almost as bad was dynamic RAM chips that cost £75 for 16 kbytes.

  3. Doctor Syntax Silver badge

    I was intrigued by a comment in the readme.doc for V2.0. It seems that the original plan was to use / as a path separator and - as a switch character , i.e. like Unix (or, as the notes say elsewhere, Xenix) and the change to \ and / respectively was at the behest of IBM.

    1. Version 1.0 Silver badge

      Maybe the IBM lawyers could read code and didn't want to risk getting sued ... that's what would happen these days isn't it? .... except that lawyers these days can't read code.

      1. Doctor Syntax Silver badge

        "Maybe the IBM lawyers could read code and didn't want to risk getting sued"

        I'd always assumed that the \ and / stuff was to look a bit VMS-like in the way that CP/M looked a bit PDP-8-like. I think if lawyers were involved they'd have been even more wary of that.

        1. Kubla Cant Silver badge

          CP/M looked a bit PDP-8-like

          Except that one is an operating system and the other is a computer. Perhaps it was a bit like RT-11, RSX or RSTS? I recall that CP/M and RSTS both involved extensive use of a command called PIP.

        2. Adrian 4 Silver badge

          VMS had a / for options but . for path separator.

    2. Anonymous Coward
      Anonymous Coward

      Or maybe IBM already had by then a large international customers base, and knew more about different keyboard layouts than a bunch of engineers in some US uni who believed the whole world began and ended there. You see the same bad design in C, which is also designed around a US keyboard.

      For example, Wirth, working in Switzerland - where you have four different languages and related keyboard layout needs, adopted a far different approach, for obvious reasons.

      1. Phil O'Sophical Silver badge

        You see the same bad design in C, which is also designed around a US keyboard.

        Ah yes, I remember getting a bunch of VT220 terminals with UK keyboards where, for some reason, DEC had replaced the { and } symbols with fractions, ¼ and ¾ IIRC. Getting braces required a compose sequence, a right PITA.

        We can't have been the only C programmers who complained, it wasn't long before many small plastic bags with the required UK-US conversion keycap set arrived. Lever off the old, insert the new, and change the keyboard selection setting.

        1. big_D Silver badge

          German keyboards also don't have {} or [] on a dedicated key, \ and | also need a compose (AltGr) keypress, as do ~ and @.

          The worst are the Apple keyboards, those "special" symbols are on different keys to normal / Windows keyboards, but, and here is the best bit, with the exception of @, which moves from Q to L, none of them are actually marked on the keyboard! You have to "guess" where they are.

          But at least we get the ° symbol as a "normal" keypress (shift + ^, on the left side, under the Escape key).

          Nearly all modern programming languages are hostile.

          1. Tim 11

            apple keyboard

            even to this day you don't get the # key printed on a macbook air UK keyboard

            1. Anonymous Coward
              Anonymous Coward

              Re: apple keyboard

              > even to this day you don't get the # key printed on a macbook air UK keyboard

              It is printed on my Macbook Pro 2015 "UK" keyboard:

              £ #

              3

              But really it's just a US keyboard with the £ added. Apple in their arrogance don't provide a proper UK keyboard, with " and @ in the right places. So I just set the "British - PC" layout and type blind.

              # then also ends up in the right place (for a UK keyboard), on the key beside Return which Apple labelled as backslash. As a programmer, typing '#' as an Option-combination is just out of the question.

              1. Mage Silver badge

                Re: apple keyboard

                And many US "PC" keyboards have one less key, the one to the left of Z is missing.

                Though why they didn't stick the extra key beside Right Shift is a mystery.

                I set CapsLock to be Compose. Also on Linux the AltGr does something sensible on nearly every key, I was surprised I had to use US Int to get áéíóú on US keyboard which also creates "Dead Keys."

                How do you spell Irish names? What ever way the person with it says! Including the áéíóú, or mh bh etc. The Scots also have the reverse accent, not used in Irish.

            2. shifty_powers

              Re: apple keyboard

              yes you do, can see it sitting here in front of me right now.

            3. Sgt_Oddball Silver badge

              Re: apple keyboard

              You do, it's next to the 3.

              1. Kristian Walsh Silver badge

                Re: apple keyboard

                The # symbol is inconsistently present on Apple's UK keyboard layouts across all products. There wasn't any particular date at which it arrived, or left, as the company regularly had some products with it, and some without, with no logic to which is which. The only vague pattern is that "Pro" in the name tends to correlates with "#" on the key-cap, but it's not a guarantee.

                My own recent experience: Pro 15" (2015) - yes, USB Keyboard (2010) - no. Pro (2010) - yes. Pro 13.3 (2012) - no.

                Consistency. It's what they're known for.

                (Placement of # , ~, " and ` is the one thing that still catches me when I move from Mac to Linux/Windows. Objectively, the "PC" key placements are more programmer-friendly, but I have decades of muscle-memory telling me to type Option-3...)

          2. ChrisC

            Or just as bad, laptop keyboards with the dual-role function keys, where the default action for pressing the key is the alternate role (decrease brightness, switch wifi on etc.) rather than the Fn keypress my muscle memory is expecting...

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019