Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Microsoft Open Source IT

Open Sourcing DOS 4 (hanselman.com) 82

Microsoft releases one of the most popular versions of MS-DOS as open source today. stikves shares a post:Ten years ago, Microsoft released the source for MS-DOS 1.25 and 2.0 to the Computer History Museum, and then later republished them for reference purposes. This code holds an important place in history and is a fascinating read of an operating system that was written entirely in 8086 assembly code nearly 45 years ago.

Today, in partnership with IBM and in the spirit of open innovation, we're releasing the source code to MS-DOS 4.00 under the MIT license. There's a somewhat complex and fascinating history behind the 4.0 versions of DOS, as Microsoft partnered with IBM for portions of the code but also created a branch of DOS called Multitasking DOS that did not see a wide release.

This discussion has been archived. No new comments can be posted.

Open Sourcing DOS 4

Comments Filter:
  • github screws up some formatted text, but yeah I have it up and running in no time!

    • Re: (Score:3, Funny)

      by BrookSmith ( 2949941 )

      How many floppy discs do you need?

      • the binaries fit on a single 3 1/2" HD disk

        • the binaries fit on a single 3 1/2" HD disk

          If you were installing it to a hard drive. Back in the day, some people still ran everything on their floppy drives. There's a link somewhere below showing the install menu, giving you the option to install a floppy-only option across multiple floppy drives. Which meant that when you wanted to run different built-in DOS programs, you had to swap to a different floppy on the fly.

          Steve Jobs apparently liked this way of doing things all the way into his early NeXT products, where everything ran from the optica

          • by magnusk ( 569300 )

            the binaries fit on a single 3 1/2" HD disk

            If you were installing it to a hard drive. Back in the day, some people still ran everything on their floppy drives.

            "HD disk" in grandparent post surely meant High Density floppy disk, not "Hard Drive disk" or "hard disk drive" (HDD).

    • by ls671 ( 1122017 )

      Sure, open sourcing DOS will sure help in the development of the product since so many people can now chip in and contribute!

      • I bought a Book 8088 [hackaday.com] earlier this year. So perhaps the time is ripe for me to chip into a DOS fork.

        • My copy of Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers (1986; ISBN 0-914845-77-2) is a bit old. It only covers through DOS 3.2. Do you think it'll be adequate fo DOS 4.00?
          • Yes, your book probably won't cover using extended memory, and 4.0 supported larger drive partitions but the API calls through int 21h are all the same.

          • Ralph Brown's Interrupt List is a valuable resource because it includes which versions of DOS support the service call. You can use this to dial in support for a specific minimum version of DOS. Or to add detection and fallbacks to use features in newer version without strictly requiring those newer versions.

            In terms of something that is easy to read and offers some good deal on DOS service calls as well as low-level hardware, the book PC Intern [archive.org] was very useful to me back in the day.

            Generally I agree with a

      • by keltor ( 99721 ) * on Thursday April 25, 2024 @11:20PM (#64426290)
        We are still using IBM PC DOS 2000 on ZFx86 processors. If Microsoft Open Sources 6.22, it would be best since we don't have access to PC DOS source code either despite having an unlimited license agreement with IBM for PC DOS 2000. Weird embedded shit that was written in Assembler a long time ago and is a certified product, so until people stop buying the product or it costs more than redevelopment, it won't matter.
        • If Microsoft Open Sources 6.22, it would be best since we don't have access to PC DOS source code either despite having an unlimited license agreement with IBM for PC DOS 2000.

          As you seems you need something more modern and with source available:
          Have you given FreeDOS a try?
          I my limited tests (retrogaming) it seems pretty stable and useful, though your embed use case might have different requirement (complex network stack or dedicated hardware interface on ISA cards that has only been validated against a couple of commercial DOS versions)

          • As you seems you need something more modern and with source available:
            Have you given FreeDOS a try?

            Most companies wont touch anything in production without corporate support and support contracts. The words "Community Support" fills them with dread. They want a phone number they can dial if things go sideways.

            • What kind of support are you getting for IBM PC DOS 2000?
              • by TWX ( 665546 )

                I can't speak for DesScorp, but typically if IBM has agreed to a support contract then they will provide support.

            • by edwdig ( 47888 )

              FreeDOS has been the solution of choice for companies that need DOS support for about 25 years now.

              I did a lot of work in the early 2000s for companies that built products that still relied on DOS. Everyone used FreeDOS then.

              Remember the days before UEFI, when you still had to boot to DOS to upgrade your BIOS ? That DOS image you were provided with was FreeDOS.

            • Most companies wont touch anything in production without corporate support and support contracts. {...} They want a phone number they can dial if things go sideways.

              Most companies: yes. But I was intrigued by the specific context of the post above:
              Mentioning that the idea of Microsoft open-sourcing MS-DOS 6.22 (an OS that is definitely not supported anymore by Microsoft) would be very great for that specific use case, access to source being extremely important, much more apparently than the fact the PC DOS 2000 is still licensed.

      • by youn ( 1516637 )

        Amusingly, they specifically state you can fork the project.... but do not submit pull requests :))

  • What? (Score:5, Insightful)

    by RitchCraft ( 6454710 ) on Thursday April 25, 2024 @07:22PM (#64425910)

    "one of the most popular versions of MS-DOS " - I don't think so. As I remember it is was avoided like the plague until version 5 came along.

    • Came here to say this.

      I'd guess that DOS 3.3 was the most popular, followed by 6.22
      Dos 4 was considered an oddball between-useful-releases release.
      • I'd guess that DOS 3.3 was the most popular, followed by 6.22. Dos 4 was considered an oddball between-useful-releases release.

        That was a long time ago, but IIRC my first computer - a Christmas gift from the boss - came with DOS 4.0. I "upgraded" it to Compaq DOS 3.31 - AFAIK Compaq was the only source for a '3.31' version. I only used 4.0 briefly - I remember not liking it but I don't remember why. It was generally treated with disdain by the programmers and other serious computer users I knew.

        At that time I worked on analog hardware, so a computer was still a novelty and a toy for me. Then I got into CAD - no more drafting board

      • Re:What? (Score:5, Informative)

        by tlhIngan ( 30335 ) <slashdot@worf.ERDOSnet minus math_god> on Friday April 26, 2024 @12:34AM (#64426362)

        DOS 1.0 was basically Microsoft/Seattle Computer Products implementation of CP/M. It's not great unless you want to see what CP/M was like without actually running CP/M.

        DOS 2.1 would be the first to start being what we know of today.

        DOS 3.3 was the first "useful" DOS that most people encountered. It's also the first to support up to 32MB hard drives.

        DOS 4 was regarded as a memory hog and genuinely terrible OS. The only reason to use it was well, it started supporting larger hard drives (2GB!)

        DOS 5 slimmed down DOS 4 to be less of a memory hog and started being an efficient DOS to run on 386 and above machines (because 640k really stunk).

        DOS 6 was the last of the series, the big features were adding tools to make more memory below 640K, disk compression and other things.

        DOS 4 was a necessary release, but we started seeing limits to 640k and DOS 4 was a memory pig at that. DOS 5 is considered much improved in freeing up memory and consuming far less. It would be as if DOS 4 was Windows Vista, while DOS 5 was Windows 7.

        Most people I knew didn't run DOS 4 for long - when DOS 5 came out, they rapidly upgraded. DOS 6 was optional - if DOS 5 was good for you, you stuck with it and there was no need to go to 6.

        • Re: What? (Score:4, Informative)

          by vbdasc ( 146051 ) on Friday April 26, 2024 @01:03AM (#64426412)

          DOS 1.0 is a very different (and in most aspects better) beast from contemporary CP/M 2.2 , despite API similarities. Using it to "experience CP/M" is not a great idea.

          It was DOS 2.0 that started resembling modern DOS at API level, not 2.1 .

          Even DOS 2 could support disks larger than 32Mb. The catch is that DOS itself was limited to using 32Mb, using the horribly inefficient FAT12. But the rest of the disk could be used by Unix, for example. DOS 3.0 brought FAT16, and DOS 3.3 brought logical drives, which enabled DOS to use the entire disk for itself.

          When ran on a 8088/8086, DOS 5 is no less a memory hog than DOS 4. What saves DOS 5 is that it supports conventional memory saving techniques for 80286 and 80386.

        • by AmiMoJo ( 196126 )

          I had an Amstrad PC1512 that came with DOS 3.3, but also with DOSPLUS that offered CP/M compatibility. And the Gem windowing system version 2, which was the one that was hobbled by a patent dispute with Apple, which resulted in the desktop being only able to show two windows side-by-side (apps could do what they liked).

          I think I spent 90% of my time in DOS, although Locomotive BASIC II in Gem was interesting.

        • Indeed, I needed DOS 4.0 to run my 1GB full-height 5.25" Maxtor hard drive for my ST/Amiga/UseNet BBS, Hallucination (named in a reverse-domain name kind of way, starting with the randomly assigned phone number and reverse engineering something that spells the number).

          In DOS 3.3, the maximum partition size was 32MB.

        • So DOS 4 is Vista, and DOS 5 is Windows 7... oh how history repeats

    • This is the super rare Multitasking (M/T) DOS 4.0 that wasn't available retail. The opposite of "most popular" to me.

      • This is the super rare Multitasking (M/T) DOS 4.0 that wasn't available retail. The opposite of "most popular" to me.

        There was no official multitasking DOS. There was a company that did do some form of multi tasking DOS like environment I think it as termed PC-MOS/386 not DOS..

        • Re:What? (Score:4, Interesting)

          by OrangeTide ( 124937 ) on Thursday April 25, 2024 @11:33PM (#64426306) Homepage Journal

          There was a partially functional version that was official and sold. In the 80's you could buy it in Europe on a single 360K 5.25" floppy through a licensing arrangement between Microsoft and the French OEM Goupil. There's a write up [os2museum.com] about it at OS/2 Museum. It's clearly labeled "MS-DOS 4.00" when you boot it. But I didn't see the binaries for task swapper in there, so I'd say this is the M/T kernel without the full functionality of MT-DOS 4. A curiosity at best.

          The developer and evaluation copies of Multitasking or M/T were produced by Microsoft officially. Including nicely printed disk labels, but no retail box. The copies we have come from people who worked on the project or had the foresight to (illegally) back up an evaluation copy. MT-DOS was not sold in a complete form as far as I'm aware. Which is why we have copies that say things like "Beta" or "Evaluation" or "GoupilOEM" all over it.

    • IBM used their "right" under their license to do the rewrite that created DOS 4 and it left so little free memory that many programs couldn't run on it due to bloat. I stayed on DOS 3.3 till DOS 5 came out and reversed the bloat as did many others.
      • IBM made a lot of mistakes while developing DOS 4.0 and it contributed to the unpopularity of this version. One of the worst was that IBM decided to "support" LIM EMS , using it for disk buffers and so on, but their implementation violated the standard and as a result it only worked with IBM memory adapters, while people using third-party memory hardware experienced loss of data.

        To be fair, DOS 3.30, which was the users' refuge from DOS 4.0 fiasco, was also made by IBM.

    • DOS 3.3 had a maximum partition size of 32MB. If you had an older computer which had a small hard drive or no hard drive, ok but even the IBM AT released in 1984 had a 20 megabyte hard drive. DOS 4.01 was sorely needed when it came out, though if you already had a DOS 3.3 install there was no reason to upgrade to 4.01.

      Though I am shocked that they open sourced 4.00 which was notoriously buggy. 4.01 was the release that quickly followed that everyone had. MS-DOS 5 was marketed as an upgrade for existing user

      • by dryeo ( 100693 )

        It wasn't too bad back in the day having 2 partitions on the HD. I had a 32MB C: and a 8MB D:
        According to Michal at the os2museum, this is DOS 4.01, at least according to some comments. Git destroyed the time stamps unluckily.

    • A rule of thumb was to skip even-numbered versions of DOS.
  • Most Popular (Score:5, Insightful)

    by JBMcB ( 73720 ) on Thursday April 25, 2024 @07:25PM (#64425918)

    DOS 4.0 was, by far, the worst release of DOS. Buggy as all getout, and broke compatibility with a bunch of apps. Most people stuck with DOS 3.3 until DOS 5 came out.

    • Ummm. (Score:5, Insightful)

      by Anonymous Coward on Thursday April 25, 2024 @07:31PM (#64425942)

      Sir, this is a PC. There were no "apps" back then. We ran programs.

    • Re:Most Popular (Score:4, Insightful)

      by Chris Mattern ( 191822 ) on Thursday April 25, 2024 @07:48PM (#64425984)

      And I note that they have *not* open-sourced the widely-popular 3. 1, 2 and now 4. They're taking care to pick the ones that even most people who still want a DOS would not want.

      • I would speculate that DOS 3 probably has some consultant code in it that they haven't got the all clear to release yet, that, or they lost the source code, lol.

        Out of curiosity what systems do you run that require such an earlier version of DOS, is freeDOS not a sufficient replacement?
        • I don't really have any need to be running DOS, aside from a few games I have run in DOSBox. But I'm sure there are people out there who want it, although I don't have any particulars.

      • Well yeah. The only purpose of releasing this stuff is so they can point to it and say, "see how friendly we are?". But of course, if anyone looks closely, they realize it was really a friendly gesture, only made to appear like one.

        Form without substance. Illusion.

    • by edwdig ( 47888 )

      I remember my first computer came with MS-DOS 4.01. I heard the stories of 4 being awful, but never experienced any issues myself.

      I think it's one of those cases where the first release was bad, but very quickly got fixed. But bug fix updates didn't spread as easily back then.

      • by JBMcB ( 73720 )

        From what I remember, DOS 4.00 was awful, DOS 4.01 fixed most of it's bugs, but any upgrade from DOS 3.3 to DOS 4.x was a bit of a disaster, as it left some DOS 3 utilities on the path that weren't entirely compatible with the new DOS 4 API.

    • by nep104 ( 1058776 )
      We were so unhappy with it, we moved back to DOS 3.3.
  • by crow ( 16139 ) on Thursday April 25, 2024 @07:29PM (#64425930) Homepage Journal

    My memory is that DOS 3.30 was the one to have. A quick check shows that 3.30 was sufficient for Windows 3.11. It was after that that things like DR-DOS came out and tried to offer some competition, but nothing really came of it (in part due to Microsoft shenanigans with Windows rejecting it). I also remember DR-DOS with transparent compression causing me to lose a hard drive.

    • There were also shells created for that time period that extended the capabilities of DOS. I had 4DOS, which allowed long filenames before NTFS was a thing (I think).

      • There were also shells created for that time period that extended the capabilities of DOS. I had 4DOS, which allowed long filenames before NTFS was a thing (I think).

        I still use the descendant of the 4DOS to this day on every machine I work on regularly. JPSoft's TCC. Mostly just the (now discontinued) TCCLE free version, but there are still some handy features not present in modern-day Windows command prompts. Things like... oh... typing a few characters then up-arrow and it goes through previous commands with that starting string, instead of brainlessly going through the commands in order they were executed.

    • I also remember DR-DOS with transparent compression causing me to lose a hard drive.

      Quite possible, but Microsoft stole and included Stacker [latimes.com] and that also caused quite a lot of data loss since it also sucked.

  • Releasing the source code for their kernel. :-)
  • by zenlessyank ( 748553 ) on Thursday April 25, 2024 @08:17PM (#64426028)

    Maybe in 15 years.

  • DOS is cool! (Score:3, Interesting)

    by devious_malcontent ( 2752947 ) on Thursday April 25, 2024 @08:26PM (#64426034) Homepage
    I remember, when I was a bit younger, I went through a phase where I wanted to write my own operating system and that led to me researching DOS, and I do remember finding a compatible, very bare bones DOS like operating system that one could easily recompile and boot off, it was a fun little experiment and a great learning experience overall, ultimately nothing ever came of it, but it was a good way to learn about sector formatting on Floppy Disks, and how Command dot com works, the release of MS DOS source code has been a great treat this morning, as I'm currently working on a project which has a port to dos, I'm currently looking at 865-8X8.ASM trying to get an idea of how the character set is rendered in DOS and to satisfy some curiosities.

    There are also several other projects out there about building your own 8088 compatible computers, so I think we will see an expansion into this hobby in the coming years, much like there are kits available to build your own apple 1...

    It's a great time to be into hobbyist retro computing! :)
  • Dinosaur sightings (Score:5, Interesting)

    by Equuleus42 ( 723 ) on Thursday April 25, 2024 @08:29PM (#64426044) Homepage

    Here [techrepublic.com] are some screenshots of what installing MS-DOS 4.0 was like.

  • In particular, Version 4 comes without any memory protection. Friend of mine, way back, wrote a C program that corrupted upper memory and, as an effect, his disk. I made similar mistakes, but DR-DOS just gave me nice memory protection errors. MS DOS was a complete piece of shit right from the state and never outgrew that.

    • by gweihir ( 88907 )

      Looks like some no-honor, no-integrity "moderator" believes "I do not like this person" is a valid reason to down-mod. Again. Scum.

    • by cb88 ( 1410145 )
      I mean... that is just how any DOS on a 8086 class machine is.
    • Patching other programs' memory was a feature in those days. It did make the system quite insecure of course, but it was already quite insecure. Meanwhile it let you do fun tricks. The Amiga was another platform where the lack of memory protection was a virtue. On the other hand, it also made it infeasible as a general purpose computing system going forwards. We did have some pretty good virus scanners, but we needed them.

  • My memory is a little hazy but didn't MSDOS 4 have problems that could cause data loss? I thought I remember everyone avoiding it like the plague because of this..

  • Just release the OS/2 source code. All the OS2World community wants it !!!
  • Let's pretend good open-source alternatives don't already exist and ignore every DOS clone that has done a better job than Microsoft.

    Fuck you for thinking this is even interesting, let alone relevant or important.

    If you want DOS use FreeDOS or DosBOX. Otherwise you have no idea what you want.

  • TIL.

    I always thought it jumped from 3.3 (which IBM was more directly involved in, and which was as stable as any version of DOS ever was) to 5.0 (which IBM were not involved with in any substantial way, and which was pretty buggy, especially in terms of floppy disk handling IIRC; later versions fixed some, but not quite all, of these bugs). I was not aware that there ever *was* a version 4.x.

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...