HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
MS-DOS
Assembly2018–2026
microsoft / MS-DOS · Archived

MS-DOS

The original sources of MS-DOS 1.25, 2.0, and 4.0 for reference purposes

68Distinct people
79Mentions
0Explicit recommenders
32.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The original sources of MS-DOS 1.25, 2.0, and 4.0 for reference purposes

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year79 dated mentions

Observed mentions: 2018-09-28 22:44:43 UTC to 2026-09-20 23:50:56 UTC.

051015202018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 8 mentions; 2 submissions, 6 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 22 mentions; 2 submissions, 20 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC826
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC10010
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC606
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC10010
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC615
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC22220
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC707
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC505

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
MS-DOS v1.25, v2.0, v4.0 Source Code This repo contains the original source-code and compiled binaries for MS-DOS v1.25 and MS-DOS v2.0, plus the source-code for MS-DOS v4.00 jointly developed by IBM and Microsoft. The MS-DOS v1.25 and v2.0 files were originally shared at the Computer History Museum on March 25th, 2014 and are being (re)published in this repo to make them easier to find, reference-to in external writing and works, and to allow exploration and experimentation for those interested in early PC Operating Systems. License All files within this repo are released under the MIT License as per the LICENSE file stored in the root of this repo. For historical reference The source files in this repo are for historical reference and will be kept static, so please don’t send Pull Requests suggesting any modifications to the source files, but feel free to fork this repo and experiment 😊. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. Trademarks This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Read the full README on GitHub

What Hacker News says

79 sources
I built a TUI application for MS-DOS (well, DOSBox) recently, just using the few functions in MSC 5.1's included graphics library (plus a few simple BIOS calls) and what a joy compared to web interfaces or any GUI library I have used. Having a fixed screen size and known, limited, character set is at least developer-friendly. Of course there existed more advanced libraries as well, but for a simple TUI just a few functions can go a long way. https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/TOOLS...
In Building a TUI is easy now
That's certainly one opinion, and is even right, to some degree. But there's also movies like the Imitation Game about Alan Turing, which is a movie, and not a documentary, but there are also countless documentaries about him. There's no shortage of hagiographies about Steven Jobs, in both book and film and tv miniseries format, along with Pirates of Silicon Valley which includes Microsoft's part. There's a movie about Aaron Swartz (The Internet’s Own Boy). The movie Antitrust(2001) is fictional, but in the same area. Hackers (1995) is fictional but a cult classic. Freedom Downtime (2001) is about Mitnick and hacking culture. There's smaller documentaries too. There's that one about Wikileaks, that one about Cambridge Analytica. There's books like The Dream Machine (Mitchell), Unix: A History and a Memoir (Brian W. Kernighan), The UNIX‑HA
Read the rest
TERS Handbook (Simson Garfinkel et al.). There's http://folklore.org about the early days at Apple. Asiometry has https://www.youtube.com/watch?v=Ffh3DRFzRL0, a 20 minute bit about the Unix wars. The source code to the original Microsoft DOS is at https://github.com/microsoft/MS-DOS. The Anarchist Cookbook is on Kindle, https://www.2600.com/Magazine/digital-back-issues goes back to 2010. DefCON got too big for the Riv and the Sahara, and is now at the LVCC. Yeah it's not the same. It's never going to be the same, but some still gather for their yearly mecca and watch Hackers and get drunk in hotel suites paid for by corporate sponsors. Others stay home for various reasons. Do we still keep what we're doing? I mean, I don't program in Z80 ASM assembly anymore. There are still classes in my code by the focus on OOP isn't what it once was. I'm not sure if I want to call it progress, but I don't program Win32 applications anymore. I can spin up a web app with an LLM in an afternoon, and have it web-scale to the whole world in less time than it used to take to get a computer racked in a colo. It's not 1979, the cable I use to go from USB-C to HDMI is more powerful than the computer that took us to space. By like, a million times. Look, I'm not saying we shouldn't respect our elders. By this point, though my beard's not yet grey, relatively speaking I am an elder. I learned to program from paper books. Before ChatGPT, before Stack Overflow, before Google. There are some here that predate me by decades. If you're competing with a $10 million Oracle db system, and going from 6 ASM instructions to 5 in the inner loop will eke out that extra percent of performance, and win you the contract, by all means, sit down, roll up your sleeves, and hand optimize assembly in order to figure out how to get rid of that one instruction. The joke is oft made, that other fields stand on the shoulder of giants, while in computer science, we stand on their toes. And it's not wrong. I can't wait to for the next new language to pop up and reimplement a DAG solver for their package management woes, and to invent a better sandbox for running untrusted code. That's still an unsolved problem. If this stuff interests you, the Computer History Museum in Mountain View, California is worth the visit. The only problem is that at the end of the tour is computers I grew up with, which has a certain way of making a fella feel old. The travesty that is happening right now, is in the wake of Paul Allen's death, is the debache with his surviving sister and the Seattle Living Computer Museum.
In 52 Year old data tape could contain Unix history
To the list of compiler listed I want to mention this one as well, that is my compiler of choice for 16-bit C in (Free)DOS these days (because it has a MIT license, it's very small, and it runs great inside of DOS itself so no need to mess with cross-compilation and I know if I have an environment like FreeDOS or DOSBox set up I can both compile and run my code, and I will never have to re-install or reconfigure anything when moving between different host systems): https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/TOOLS (Not only Microsoft's C compiler in that directory, but also MASM, MAKE, and a bunch of other tools. 1-2 MB of files and you have an entire toolchain for 16-bit DOS.)
In Writing FreeDOS Programs in C
I think of MS-DOS mostly as the ultimate fantasy console. It is sad that the only way to write something once and not have to maintain it to keep up with breaking dependencies all the time is to target a dead platform. But I never had any compatibility issues with FreeDOS? It seems like a good implementation of DOS. I mostly use DOSBox-X, but I use FreeDOS now and then as well. It is the only DOS I would consider running on hardware. BTW did anyone else notice that Microsoft included almost a complete 1988 vintage 16-bit DOS toolchain in their MIT-licensed MS-DOS repo? It has Microsoft C 5.1, MASM 5.1, Make, and several other tools, plus libraries and include-files. All of it in less than 3 MB. https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/TOOLS
In The DOS 3.3 sys.com bug hunt
I believe it is a bug in the the emulator's implementation of COMMAND.COM. Often, these DOS "emulators" re-implement the standard commands of DOS, including the shell[1]. This is in addition to emulating weird 16-bit environment stuff and the BIOS. The bug can pop up in any C program using stdio that assumes it's fine to do `fread` followed immediately by `fwrite`. The spec forbids this. To make matters more confusing, this behavior does _not_ seem to be in modern libc implementations. Or at least, it works on my machine. I bet modern implementations are able to be more sane about managing different buffers for reading and writing. The original COMMAND.COM from MS-DOS probably did not have this problem, since at least in some versions it was written in assembly[2]. Even for a shell written in C, the fix is pretty easy: seek the file befor
Read the rest
e switching between reading/writing. The title of this post is confusing, since it clearly _is_ a bug somewhere. But I think the author was excited about possibly finding a bug in libc: > Sitting down with a debugger, I could just see how the C run-time library (Open Watcom) could be fixed to avoid this problem. [1] Here's DOSBox, for example: https://github.com/dosbox-staging/dosbox-staging/blob/main/s... [2] MS-DOS 4.0: https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/CMD/C...
In I thought I found a bug
> If they shortened them to 30 years, it would have no real effect on the software industry, though Nintendo would be pissed. I don't think Microsoft would care much about people passing around copies of MS-DOS 3.3. Well Windows 95 is coming up soon on its 30th... (and come to think of it MS already open sourced MS-DOS "4.0" for any retro-masochists who might want it.[1]) I'm sure MS Word and Excel must have improved slightly in 30 years, but by how much? They don't seem much more responsive than they were 10 years ago, and most of the shiny new Windows/Office features seem to be things I hate like annoying autocorrect, pointless UI redesigns, new advertisements and telemetry, and worthless and intrusive AI nonsense. Maybe with some incompatible save formats and clunky "cloud" features added in for good measure. Office's largest enhancem
Read the rest
ent seems to be Office 365, which offers an inferior and sluggish imitation of the desktop apps running in a web browser. This is possibly useful for people stuck with crappy Chromebooks, ARM-based tablets/phones, or Linux. [1] https://github.com/microsoft/MS-DOS
In Nintendo isn't just attacking emulators [video]
I just gave it straight up erotica from an old Usenet post. The results are hilarious. I also tried the Flyting of Dunbar and Kennedy. It was actually well done. https://notebooklm.google.com/notebook/1d13e76e-eb4b-48ef-89... Also just uploading msdos 1.25 asm https://github.com/microsoft/MS-DOS/tree/main/v1.25/source It was way better than I though I think the best is the self referential. This actual comment thread: https://notebooklm.google.com/notebook/4a67cf10-dd3b-42b3-b5...
In NotebookLM's automatically generated podcasts are surprisingly effective

Showing the 15 most recent of 79 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.