Slashdot Mirror


Microsoft 'Re-Open Sources' MS-DOS on GitHub (microsoft.com)

An anonymous reader quotes Microsoft's Developer blog: In March 2014, Microsoft released the source code to MS-DOS 1.25 and 2.0 via the Computer History Museum. The announcement also contains a brief history of how MS-DOS came to be for those new to the subject, and ends with many links to related articles and resources for those interested in learning more. Today, we're re-open-sourcing MS-DOS on GitHub. Why? Because it's much easier to find, read, and refer to MS-DOS source files if they're in a GitHub repo than in the original downloadable compressed archive file.... Enjoy exploring the initial foundations of a family of operating systems that helped fuel the explosion of computer technology that we all rely upon for so much of our modern lives!
While non-source modifications are welcome, "The source will be kept static," reads a note on the GitHub repo, "so please don't send Pull Requests suggesting any modifications to the source files."

"But feel free to fork this repo and experiment!"

66 of 122 comments (clear)

  1. "Please don't send Pull Requests..." by Ecuador · · Score: 4, Funny

    And, naturally, the first Pull Request with the description "just cleaning up some old cruft" (https://github.com/Microsoft/MS-DOS/pull/1) just deletes everything :)

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
    1. Re:"Please don't send Pull Requests..." by PolygamousRanchKid+ · · Score: 1

      Oh, darn . . . too late . . . my Pull Request was going to make it able run Linux . . .

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    2. Re:"Please don't send Pull Requests..." by voss · · Score: 4, Insightful

      The last standalone version of ms-DOS was 6.22. Id rather use DOSbox than msdos 2

  2. Important caveat by 93+Escort+Wagon · · Score: 2

    It’s only the source for the two ancient versions mentioned - 1.25 and 2.0. It’s been a while (obviously), but I don’t think MS-DOS got interesting until 3.x... and the final release was 8.0.

    Don’t think this will replace your FreeDOS, in other words.

    --
    #DeleteChrome
    1. Re:Important caveat by glenebob · · Score: 1

      MS-DOS got interesting? Clearly I missed the memo.

    2. Re: Important caveat by Anonymous Coward · · Score: 1

      I would like to see them release the source code for something interesting like Windows 95 and NT 4 into the public domain. Wake me when that happens. Maybe the "good parts" (I know, don't say it) could be merged into something like ReactOS and we'll have a decent Freedom Windows stable equivelent of FreeDOS.

      Microsoft pulled the binary ISOs from these operating systems (and others) from Technet/MSDN due to the Java/IE antitrust lawsuits of the 90s, so you can even get the binaries, yet you still can for MSDOS 6.22. If they wanted, I think they could release something like Win95 to the public, but I doubt we'd ever see the code for NT since there is a disturbing amount of that legacy code STILL in their modern Desktop and Server operating systems of today, for example the recent SMB 1 bullshit.

      I'm tired of businesses insisting usage of Microsoft Fucking Windows everywhere I turn, and always for the most idiotic of non-valid reasons. For people that have that one stupid software application that "must run Windows", they could have an alternative which could be the exception, not the fucking rule across the board, and now everyone in the organization shall run Windows Rolling Release Spyware as a Service 10 everywhere you turn for "compliance or regulatory" reasons, as if it's somehow not possible with other operating systems.

    3. Re:Important caveat by thegarbz · · Score: 1

      MS-DOS got interesting? Clearly I missed the memo.

      Then you must have been in a coma from 1984 through to 1998 given that the fundamental OS that ran all computers of that decade +/- ran this OS. Or maybe if you don't find OSes interesting in general people purposely don't send you memos.

    4. Re:Important caveat by hey! · · Score: 2

      I find that interesting, because those versions stop just before the era that Lotus 1-2-3 became the killer app on DOS. The first version of Lotus came out at the start of 1983, and DOS 2.0 came out two months later.

      Lotus was good for Microsoft, but dangerous: people bought PCs to run Lotus; DOS was just something you needed to have. Nobody saw any value in it. Had Lotus bundled its own DOS any time in the next five years, Microsoft would have been finished. Microsoft introduced its own spreadsheet in 87, running on an extremely crude version of Windows. Windows was just a simple graphical interface running on top of DOS, and it wasn't the first such to market or the best. Microsoft was competing with its vendors, and it did *not* have the strongest products.

      There were a lot of really bad possible scenarios here which started with MS competitors getting their act together, which never happened. It was like a Gold Rush, everyone was making money hand over fist and nobody but MS was thinking very long-term.

      So MS had a killer advantage: to run its competitor's software, you had to buy a (pretty expensive) MS-DOS license. This not only gave them the greatest cash cow in the history of technology, it also gave them a terrific opportunity to mess with their competitors on a technical level. From the late 80s on there were a lot of dark rumors about them abusing that position, some of which are pretty much substantiatable (Stac Electronics), others of which have never been proven ("DOS ain't done til Lotus won't run").

      A complete archive of DOS source code through 5.0 might definitively answer questions that have been lingering about Microsoft's behavior in the late 80s early 90s.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    5. Re:Important caveat by nukenerd · · Score: 4, Informative

      did Microsoft MS-DOS rip off CP/M 86 code?

      No they didn't, because contrary to general belief Microsoft did not originally write DOS. They bought it from Seattle Computer Products [SCP] where it had been written for an 8086 by a guy called Tim Paterson. Some people believe that some ripped-off CP/M code was in it. MS also hired Paterson to port it to the IBM PC.

      What MS did rip off was SCP - by lying about what they wanted DOS for, which was specifically to sell it on to IBM, and so they got it for a low price. Later SCP threatened to sue MS for misrepresentation, and I believe it was settled out of court by MS paying some more.

    6. Re:Important caveat by Jim+Hall · · Score: 4, Informative

      It’s only the source for the two ancient versions mentioned - 1.25 and 2.0. It’s been a while (obviously), but I don’t think MS-DOS got interesting until 3.x... and the final release was 8.0.

      Don’t think this will replace your FreeDOS, in other words.

      This is a very interesting update. And interestingly, the MIT license is compatible with the GNU GPL.

      You're right, these are very old versions of MS-DOS that do not include more advanced features including CD-ROM support, networking, '386 support, etc. So from a practical side, FreeDOS would not be able to reuse this code for any modern features anyway. But for basic features, such as weird edge case compatibility, we might now be able to reference this code to improve FreeDOS.

      Note: I'm the founder and coordinator of FreeDOS

    7. Re: Important caveat by Jim+Hall · · Score: 4, Interesting

      I would like to see them release the source code for something interesting like Windows 95 and NT 4 into the public domain. Wake me when that happens. Maybe the "good parts" (I know, don't say it) could be merged into something like ReactOS and we'll have a decent Freedom Windows stable equivelent of FreeDOS.

      I'd be really interested in seeing Microsoft release the source code to MS-DOS 5 or later under a similar open source software license. Microsoft essentially rewrote MS-DOS for version 5, probably using a lot of C, and would theoretically include more modern programming techniques.

      It's nice that they re-released these older versions under a more acceptable open source software license, though.

    8. Re:Important caveat by Anonymous Coward · · Score: 1

      all OS's are interesting, this is Slashdot homie, port 443, you lose your way somewhere ?

    9. Re:Important caveat by hey! · · Score: 2

      Well, talk about BS, it wasn't a genius move to license MS-DOS to IBM; the genius was licensing it non-exclusively. Microsoft didn't have their own disk OS, they went frantically looking for a CP/M clone to license to IBM because Gates accurately foresaw that clones were coming.

      Microsoft had text based word processing and spreadsheets before windows

      You are talking about Multiplan. Multiplan and Visicalc sold well by modern standards, but this was boom time when PCs were getting shipped to companies by the truckload. Their market share of that boom was tiny. Lotus had almost the entire market, and even as late as 1988 accounted for 70% of the units sold despite being well over 2x as expensive as its competitors. Lotus was rolling in it. It's nearest competitor was Quattro Pro, and calling that "near" was a stretch. Multiplan never was a significant force in the spreadsheet market, although it made Microsoft money.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    10. Re:Important caveat by 93+Escort+Wagon · · Score: 1

      Note: I'm the founder and coordinator of FreeDOS

      On a related note - thank you for FreeDOS!

      --
      #DeleteChrome
    11. Re:Important caveat by sensei+moreh · · Score: 1

      I rather liked Quattro Pro. Found a few of my old QP spreadsheets while rummaging through some old floppies a few months ago. Turns out that on December 31, 1994, I had $5.09 in my Navy Fed account

      --
      Geology - it's not rocket science; it's rock science
    12. Re:Important caveat by tlhIngan · · Score: 1

      Itâ(TM)s only the source for the two ancient versions mentioned - 1.25 and 2.0. Itâ(TM)s been a while (obviously), but I donâ(TM)t think MS-DOS got interesting until 3.x... and the final release was 8.0.

      1.25 is interesting because it's the first release of MS-DOS, which at the time was cloning CP/M. MS-DOS 1 basically cloned all the CP/M interfaces. In fact, after 16-bit CP/M was released for 8086 processors, Microsoft released a tool that you could run on your CP/M source code and have it work on MS-DOS.

      MS-DOS 2 added a pile of enhancements that kept CP/M compatibility layers of MS-DOS 1, but made significant changes and improvements if you decided to kick CP/M to the curb and embrace MS-DOS. Everything you are familiar with MS-DOS pretty much started from 2.0 onwards.

      3.0 was exciting because it added support for loadable device drivers and this enabled you to do a whole bunch of interesting things, like replace built-in device drivers.

      Note that the CP/M compatibility mode remained in all versions of DOS, though it was probably little used - there were a number of hacks needed to handle the limitations of CP/M (e.g., the lack of directories). And there was some creativity because some things not in CP/M reused the CPM area when you were in MS-DOS mode.

      Some interesting things in the CP/M area included file descriptor blocks for the first two files on the command line (MS-DOS was forced to implicitly open then files and fill in the data structures - there were various MS-DOS calls that could be used to manipulate the data structures which is how you did file access in CP/M. MS-DOS 2 added more "traditional" file handling operations (including things like "open", "close", "read", "write" and "seek" operations) but these were MS-DOS only.

    13. Re:Important caveat by vbdasc · · Score: 1

      Too bad that DOS (including FreeDOS) is at last essentially dead, with the proliferation of new versions of UEFI without BIOS compatibility. Thanks for all the fish, anyway.

    14. Re:Important caveat by UnknownSoldier · · Score: 3, Insightful

      Short answer: No, but some of the CP/M's design was copied.

      Long answer:

      MS-DOS supports two different methods of file and record management:

      * File control blocks (FCBs) ( MS-DOS v1.x)
      * File handles (MS-DOS v2.x+)

      They copied some of the EXACT same FCB (File Control Block) layouts.

      WTF is a FCB?

      The FCB originates from CP/M and is also present in most variants of DOS, though only as a backwards compatibility measure in MS-DOS versions 2.0 and later. A full FCB is 36 bytes long; in early versions of CP/M, it was 33 bytes. This fixed size, which could not be increased without breaking application compatibility, lead to the FCB's eventual demise as the standard method of accessing files.

      The CP/M FCB is documented here


      FCB+00h DR - Drive. 0 for default, 1-16 for A-P. In DOSPLUS,
                bit 7 can be set to indicate that the operation should work with
                subdirectories rather than files.

      The format of the MS-DOS FCBS is documented here

      Funny how both are exactly 33 bytes long!


                      00 byte drive number (0 for default drive, 1=A:, 2=B:, ...)
                      01 8bytes filename, left justified with trailing blanks
                      09 3bytes filename extension, left justified w/blanks

      Also, MS-DOS supports two binary executables: .COM and .EXE same as CP/M. Again, inspired for compatibility reasons.

      Maybe the source will reveal something different?

    15. Re:Important caveat by Anonymous Coward · · Score: 2, Informative

      That's because 86-DOS started out as a way to port 8080/Z-80 CP/M applications to the 8086. CP/M compatibility was a primary goal, but the OS itself was never intended to be a CP/M clone.

      https://web.archive.org/web/20031204161621/http://www.ece.umd.edu/courses/enee759m.S2000/papers/paterson1994-kildall.pdf

    16. Re:Important caveat by UnknownSoldier · · Score: 1

      Thanks for the link and the author's assertion!

    17. Re:Important caveat by hawk · · Score: 1

      > nMS-DOS 1 basically cloned all the CP/M interfaces.

      but not everything *important*.

      Of note was the absence of the IO byte at address 3 which allowed CP/M to assign devices at a very low level. I used it once for example, to temporarily change the main output to the physical line printer to print reports with the same code as went to screen (I'd taken over a project already coded in basic).

      Or another time when I changed the serial port to be the console to feed keyboard commands and output for testing (this took a second computer . . . )

      There's a couple of other things, but an expansion o that iobyte (say, to allow files) would have been more than slightly useful.

      Instead, it was gone.

      hawk

    18. Re:Important caveat by hawk · · Score: 1

      >Then you must have been in a coma from 1984 through to 1998 given that
      >the fundamental OS that ran all computers of that decade +/- ran this OS.

      Apple was rumored to have been planning another OS for 1984. Think of what the world might be like if *that* had happened . . . pity they died as the Apple ][ couldn't compete . . .

      >Or maybe if you don't find OSes interesting in
      >general people purposely don't send you memos.

      He shouldn't feel bad; IBM, AT&T, DEC, and Pr1me neer got the memo either . . .

      hawk

    19. Re:Important caveat by Tony+Isaac · · Score: 1

      I would suggest that it didn't get good until 5.0, when it finally introduced long file names.

  3. MS-DOS and Intel x86 cpus were a setback by presidenteloco · · Score: 4, Insightful

    To software reliability (and good design) that has taken decades to dig out of.

    The chip architecture and machine language was overcomplicated (non orthogonal instruction set, segmented memory architecture) and the OS was by far the least elegant available at the time, with bizarre irregular commands and options, and horrible limitations making programming much harder than it ought to have been, due to the chip and memory architecture.
    There were much better alternatives, from a technical perspective, at a similar low price point, like Z80, M68000, CPM, AmigaOS, etc.
    And far far technically superior things like Sun/RISC/Solaris were soon available, albeit much too pricey for common use.

    It's one of my lesser disappointments in humanity that Wintel stuff managed to dominate despite its inner hideousness.

    --

    Where are we going and why are we in a handbasket?
    1. Re:MS-DOS and Intel x86 cpus were a setback by ooloorie · · Score: 1

      There were much better alternatives, from a technical perspective, at a similar low price point, like Z80, M68000, CPM, AmigaOS, etc.

      The IBM PC came out in 1981, when the dominant personal computers were the Apple II+, the Atari, and the TRS-80. The 8088 actually was a significant improvement over the 6502 or the Z80-with-bank-switching. IBM wanted to go with CP/M but Kildall blew the negotiations and ended up with MS-DOS. For all its faults, MS-DOS was still a better disk operating system than Apple DOS.

      The 68000 looks nice, but AmigaOS and MacOS had a tough time dealing with its large flat address space without an MMU. And its architecture wasn't future proof anyway.

      IBM tried to design an Apple II replacement shortly after the Apple II came out, and they succeeded spectacularly at that; the rest is just the burden of backwards compatibility. Apple blew it when they threw their Apple IIgs line into the trash and started over, largely because of Steve Jobs and his office politics.

      We probably should start over at some point soon, not so much because of the x86 instruction set, but because the architecture of modern PCs is convoluted, hard to support, and insecure due to layers and layers of backwards compatibility.

    2. Re:MS-DOS and Intel x86 cpus were a setback by nukenerd · · Score: 1

      It probably succeeded because it had two key ingredients: IBM was behind it at the start; Microsoft was incentivized by IBMs initial non-exclusive license..... You don't see that too often.

      Nothing probable about it - those were the reasons. Before the IBM PC, personal computers were generally "unacceptable" in corporates. We had a Commodore Pet in my branch that we more-or-less concealed from the IT department (an IBM shop). Then IBM PCs were introduced because nominally they were only supposed to be used as terminals (3270 emulators) to the company mainframe (that's how I first used one), and because the IBM logo was on them. They came with PC-DOS of course.

      As for the non-exclusive licence, often cited as an example of Gates' "genius", why uncommon? Eg, plenty of bread baking companies have non-exclusive sales agreements with supermarket chains - I can find (in the UK) Hovis bread in Tescos, Waitrose, Asda, and corner shops too. The non-exclusive agreement was a result of IBM not taking PCs seriously; moreover they could, with a bit of enquiring, have bought DOS directly from Seattle Computer Products (SCP the guys who actually wrote it) directly instead of via MS, who had hastily bought it from SCP in order to sell it on to IBM at profit : IBM's incompetence in other words.

    3. Re:MS-DOS and Intel x86 cpus were a setback by lord_mike · · Score: 1

      For all its faults, MS-DOS was still a better disk operating system than Apple DOS.

      I don't know about that. Apple DOS was very well designed considering the fact that most of the disk control was done in software instead of hardware. Apple formatted disks had significantly more data on them than standard MFM formatted disks, and the date was more reliably stored--most Apple II disks still work today after decades of age. The one big flaw of Apple DOS was that the interface was through BASIC instead of a standalone shell, and the +D escape kludge to have programs access DOS commands was pretty clunky, but the underlying system code was very well implemented.

    4. Re:MS-DOS and Intel x86 cpus were a setback by nukenerd · · Score: 1

      The 8088 actually was a significant improvement over the 6502 or the Z80-with-bank-switching.

      But inferior to the 8086 of which it was a cheaper variant. Suprising choice for IBM really.

    5. Re:MS-DOS and Intel x86 cpus were a setback by lord_mike · · Score: 1

      They wanted an 8-bit data bus for easier access to peripherals...

    6. Re:MS-DOS and Intel x86 cpus were a setback by Build6 · · Score: 1

      We probably should start over at some point soon, not so much because of the x86 instruction set, but because the architecture of modern PCs is convoluted, hard to support, and insecure due to layers and layers of backwards compatibility.

      ... we already did? Android + ARM is now the dominant platform. Apple's ARM variants are already performing better than some "laptop" CPUs.

    7. Re:MS-DOS and Intel x86 cpus were a setback by ooloorie · · Score: 1

      Android is Linux, C, and Java, with software architectures from the 1980's, and ARM is proprietary and low end.

    8. Re:MS-DOS and Intel x86 cpus were a setback by ooloorie · · Score: 1

      I believe Intel had shortages of the 8086, and the 8 bit bus kept costs down.

    9. Re:MS-DOS and Intel x86 cpus were a setback by ooloorie · · Score: 1

      I don't know about that. Apple DOS was very well designed considering the fact that most of the disk control was done in software instead of hardware. Apple formatted disks had significantly more data on them than standard MFM formatted disks, and the date was more reliably stored--most Apple II disks still work today after decades of age.

      I.e., it had a clever disk device driver.

      The one big flaw of Apple DOS was that the interface was through BASIC instead of a standalone shell, and the +D escape kludge to have programs access DOS commands was pretty clunky, but the underlying system code was very well implemented.

      I.e. the actual OS other than the disk driver was not so good.

    10. Re:MS-DOS and Intel x86 cpus were a setback by drinkypoo · · Score: 1

      For all its faults, MS-DOS was still a better disk operating system than Apple DOS.

      It's better than CP/M too. It does a hell of a lot more, not least that it has a hierarchical filesystem.

      Apple blew it when they threw their Apple IIgs line into the trash and started over, largely because of Steve Jobs and his office politics.

      There was no reason to continue the Apple II line at that point. Computing had moved forward and it was time to use a new CPU. On the other hand, making a graphical operating system with no graphics acceleration was daft. The Amiga beat the pants off of it, and if not for mismanagement, might have dominated. It's tragic it didn't, because they had a vastly better operating system than classic MacOS.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    11. Re:MS-DOS and Intel x86 cpus were a setback by ooloorie · · Score: 1

      There was no reason to continue the Apple II line at that point. Computing had moved forward and it was time to use a new CPU.

      The Apple IIgs had a new CPU, plus up to 8M of RAM, a 15 voice sound card, and color graphics.

    12. Re:MS-DOS and Intel x86 cpus were a setback by drinkypoo · · Score: 1

      The Apple IIgs had a new CPU, plus up to 8M of RAM, a 15 voice sound card, and color graphics.

      So it was up to the level of a 286 with an Adlib card and EGA? Pardon me while I try to become excited.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  4. why not later versions? by ooloorie · · Score: 1

    Are there legal problems with open sourcing 3.3? Is there any third party code? Maybe that could be removed prior to open sourcing.

    1. Re:why not later versions? by Anonymous Coward · · Score: 1

      Because of the comments reading "it's not done until Lotus won't run", and the many "if statements" such as:

      if (exe_name == "lotus") {
                    crash_randomly();
      } else {
                    run_normally();
      }

      if (new_version) {
                    reallocate_isr_table_to_non_standard_position();
                    add_new isr_routines();
      } else {
      }

      MSDOS 5:
                -make emm386.exe useless
                -himem.sys incompatibilities

      MSDOS 6.0:
                -introduce useless doublespace
                -break most everything

      MSDOS 6.2/22
                  -fix doublespace
                  -fix almost everything

    2. Re:why not later versions? by Anonymous Coward · · Score: 1

      I remember like 15 years ago the source code for MS-DOS 6.0 was leaked. If you're interested you can probably still find it somewhere...

    3. Re:why not later versions? by Waffle+Iron · · Score: 1

      if (exe_name == "lotus") {
                                  crash_randomly();
      } else {
                                  run_normally();
      }

      MS wasn't quite as malicious as you make them out to be. You forgot to look in the header file, which contains this line:

      #define run_normally crash_randomly

    4. Re:why not later versions? by Jim+Hall · · Score: 2

      If you want the source to a newer, better version of DOS than MS-DOS 2.0, why not wish that DR DOS was open sourced? Oh wait, that happened about 20 years ago.

      Except that the DR-DOS source code (called OpenDOS) was not really open source. It was under a "look but do not touch" license.

      According to the OpenDOS license, you were allowed to view the source code of OpenDOS but were not allowed to modify it. You could not reuse any code in other projects, and you could not apply what you had learned by looking at the OpenDOS code in other projects. So DR-DOS (OpenDOS) was never really "open sourced."

  5. NTFS by Anonymous Coward · · Score: 1

    How about microsoft release the source code to something useful like NTFS instead of something NGAF about when FREEDOS outdoes msdos in every single way.

    1. Re:NTFS by eneville · · Score: 2

      Is NTFS useful when there's btrfs and zfs? It does what FAT couldn't and it has a lot of features that FAT didn't, but I don't regard it as useful when compared with other already open file systems.

    2. Re:NTFS by SuricouRaven · · Score: 1

      NTFS has one absolutely useful feature: It is one of the three filesystems which Windows will read out of the box. FAT, NTFS, and ExFAT. Microsoft will never support a filesystem that they do not hold control over.

      Windows also supports ISO9660 and UDF, but only for optical media, and ReFS if you're feeling reckless.

    3. Re: NTFS by Anonymous Coward · · Score: 1

      And ExFAT. That's the dominant format used out of the box by most removable media and it's not even a standard. If Microsoft have really changed then they can prove it by opening up ExFAT.

    4. Re:NTFS by eneville · · Score: 1

      If its worth having, someone will leak it. Until then, expect to see it on github in a couple of decades. Keeping it closed is stupid logic that encourage shareholders and those deluded by the bandwagon into thinking that there is something 'special' or a 'highly secret' technical advantage with NTFS.

      I forgot how happy I was at a previous job where I didn't have to use Windows one little bit.

  6. Ahh, memories by Snotnose · · Score: 1

    From 80 to 85-86 I was doing 8086 assembly full time before we moved to C. Reading those source files, especially dealing with segment registers, brings back lots of (painful) memories.

    I think my favorite chip to write assembly for was the 68360. A 68000 with 4 serial controllers, or you could gang 2 of them together to make an ethernet controller. Nice, simple ISA, the controllers were easy to work with, it was nice to code for.

  7. These sources (in assembler) are barely interesting to anyone aside from computer history aficionados.

    1. Re:OK by SurenEnfiajyan · · Score: 1

      Agree, though it's still better than the disassembled code of the binary, as the labels, constants and macros are in their original form.

  8. OK now I'm waiting by bobstreo · · Score: 1

    for open source windows 98.

    or Clippy.

  9. Release ALL versions of DOS by Danathar · · Score: 1

    Dear Microsoft, Thanks for releasing version 2.0 of MS-DOS. But COME ON. Just release the sources for ALL of the versions of MS-DOS. I can't imagine that the last version of MS-DOS is making THAT much money for you that you couldn't release that as well!

  10. I love how MS is too stupid to use branches/tags by nyet · · Score: 1

    Why on earth are the two versions of sources in different subdirectories?

    They should be branches/tags.

  11. Limited to PC and XT era by Anonymous Coward · · Score: 1

    DOS 2.0 was the first one to support directories, pipes, redirection, and most of the useful DOS stuff. It was limited to FAT12 and 5.25 inch floppies, though. It is useful to retro enthusiasts and hardware collectors, but it is limited to the XT era of computers, as anything including at least a 286 would come with 3.0, which you'd need for FAT16 or 3.5 inch floppies.

    It may still be useful. Arguably, later versions didn't change much of the internals, and focused on the included utilities and stuff instead.

  12. Re:On the bright side... by Jim+Hall · · Score: 4, Informative

    It reduces the chances of tainting freedos since freedos already reverse engineered dos 1.x/2.x era functionality decades ago.

    Yes, you're right. The previous source code release of MS-DOS (March 2014, from Microsoft) was under a "look but do not touch" license that said you could only read the source code, but you could not use it elsewhere, and you couldn't apply what you'd learned from the MS-DOS code in other projects. So the FreeDOS Project has been very careful and said several times that if you viewed the MS-DOS source code, you should not contribute to FreeDOS Base because we didn't want to risk tainting the FreeDOS source code. We have a note to that effect on the FreeDOS History page:

    "Please note: if you download and study the MS-DOS source code, you should not contribute code to FreeDOS afterwards. We want to avoid any suggestion that FreeDOS has been "tainted" by this proprietary code."

    This source code release uses the MIT license (aka Expat license) which is compatible with the GNU GPL. That should mean that people who read this version of the MS-DOS source code can contribute to FreeDOS. (As always, if you've somehow viewed one of the unauthorized source code releases of MS-DOS, you should still not contribute to FreeDOS Base.)

    Note: I'm the founder and coordinator of FreeDOS

  13. What have they smoked? by franzrogar · · Score: 1

    Quote: "Enjoy exploring the initial foundations of a family of operating systems that helped fuel the explosion of computer technology"

    Well... that would be BSD not MS-DOS...

    1. Re:What have they smoked? by nyet · · Score: 1

      Agreed. A crippled, broken, program loader is not an OS, and certainly not a foundation for a real OS.

    2. Re:What have they smoked? by shaitand · · Score: 1

      If your are talking about a decent operating system that is an entirely different discussion but it seems like a rather strange claim that as crappy as MS-DOS was, it ran the crappy ibm computers everyone had at work and could run on the much less expensive ibm pc compatible they could run at home. That is without question the reason for the early explosion of home computer technology which allowed an explosion in people with computing skills and familiarity. I'm not sure how you could deny that fueled the explosion of computer technology on the whole.

      BSD contained superior technology (along with every other Unix, *nix, AmigaOS, and even MacOS) but BSD to this day hasn't achieved widespread adoption. There are few minor bits cross shared with Linux code and some added to MacOS which gave it a big helping hand to catch up but hardly fueled anything notable or new in technology.

      I guess you could argue the case that MS incorporated BSD code in the network stack during the early days of the internet reaching actual homes but I that isn't really because MS couldn't have gotten the job done otherwise, BSD code just had great terms for a greedy thief.

    3. Re:What have they smoked? by shaitand · · Score: 2

      I know people have played fast an loose and redefined OS and MS certainly wasn't much of an OS but nobody disputed it as an OS plus a bunch of tools at the time. The debates of what an OS is where more along the lines of whether the shell or C library really counted since you really only needed the kernel and at the time anyone using a computer had to write their programs. A program loader was actually quite fancy.

      It's only later when GNU realized the Linux OS got all the glory that a serious argument was made to include all sorts of userspace nonsense. It was around this time that GNU folks started making a fuss about statically linked code as well to improve their argument. But regardless of where you feel about those issues, they weren't a factor when Linux hit the scene let alone DOS. You can't denounce it ex post facto.

    4. Re:What have they smoked? by drinkypoo · · Score: 1

      I guess you could argue the case that MS incorporated BSD code in the network stack during the early days of the internet reaching actual homes but I that isn't really because MS couldn't have gotten the job done otherwise, BSD code just had great terms for a greedy thief.

      I question whether they could have done it in a timely fashion.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  14. The toys from that time period. No networks by raymorris · · Score: 4, Interesting

    To be precise, Windows 1-3.1 didn't come with networking. The "real" computers of the era ran network operating systems such as Unix. A DISK Operating System (DOS) , as opposed to a network operating system, for a PERSONAL computer (PC) was the oddball. Toys people played with at home ran Windows. It turned out to be a brilliant strategy as personal home computers developed into useful machines.

    It worked really well for them from about 1988-1995. Then in 1995 the world wide web happened and an OS centered around the idea of only working locally eschewing the network-based model that preceded it suddenly was a big problem. Networking was back bigger than ever, and Microsoft had bet on DISK OS, rejecting the idea of the network. Microsoft execs were freaked out.

    Worse, Microsoft had just spent years developing the next big thing, an extension of Object Linking and Embedding (OLE) called COM. In any document, you could embed or link to some other file type. A Word document could link to a spreadsheet, or embed an image. It was amazing. It better be amazing - they had bet big on it.

    Then they saw "a href" and "img src". Everything Microsoft had spent the last four years doing was suddenly replaced by a friggin tag.

    Forshort time tried to stop the WWW from growing, but there was no way to stop it. Microsoft renamed COM (aka OLE) to "ActiveX" and tried to market it as an internet technology. We all know how well that went.

    1. Re:The toys from that time period. No networks by dryeo · · Score: 2

      In 1994, OS/2 Warp v3 was released, with enough of a network stack to allow dial up network access (Warp Connect followed with a full network stack) and various internet tools including WebExplorer, a web browser that was mostly implemented as a DLL with the idea that the OS and applications could easily access HTML by linking to webexwin.dll.
      MS stole the idea and even the name, slightly changed, and ran with it.

      --
      https://en.wikipedia.org/wiki/Inverted_totalitarianism
    2. Re:The toys from that time period. No networks by illtud · · Score: 1

      Erm, unless you installed the free(ish) Trumpet Winsock. Get your point about IPX, though that was mostly LAN only.

    3. Re:The toys from that time period. No networks by illtud · · Score: 1

      Even MS's wolverine TCP stack was available for 3.11 in '94.

  15. Re:I love how MS is too stupid to use branches/tag by nyet · · Score: 1

    They could have easily done it before pushing the repo to git, while they were importing the source into their local repo.

  16. Huh, why? by shaitand · · Score: 1

    I mean I guess someone at MS might be nostalgic but what is the point here? DOS 6.22+Win3.11 is also obsolete but might at least provide something useful to the freedos people or someone else who wants to revitalize some old software or something. DOS sucked compared to everything else out, I know MS pretended otherwise when they were selling it over superior alternatives but nothing in their system is built off DOS except a partial compatability layer now so why pretend? Hell Minix is just a simple OS made to teach you how to write a minimal OS and it blows DOS away.

    The only killer function of DOS was coming on the systems you had at work and being able to run on their clones.

  17. Re:It's all ASM by shaitand · · Score: 1

    Maybe you are a Russian reverse engineering ASM but for most, even most who understand ASM (or are willing to spend 15 minutes for a crash course) reading something like ASM with no context or hint at the higher level objective of the code is not really a reasonable challenge for casual learning.