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!"

3 of 122 comments (clear)

  1. 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?
  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

  3. 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?