# Microsoft releases MS-DOS source code on GitHub



## Deleted User (Oct 1, 2018)

Saw this on Github hours ago and wondered how it wasn't on the front page yet. This is pretty important news imo.


----------



## lolboy (Oct 1, 2018)

Asm...Respect for those whom can code in Asm


----------



## Sheimi (Oct 1, 2018)

lolboy said:


> Asm...Respect for those whom can code in Asm


I can code in asm


----------



## lolboy (Oct 1, 2018)

Sheimi said:


> I can code in asm


Respect. For what purpose did you learn Asm?


----------



## Subtle Demise (Oct 1, 2018)

468 lines of code for CTRL+C. Really makes you appreciate the kind of work that goes into these kinds of things.


----------



## AboodXD (Oct 1, 2018)

Should have included a link to the GitHub repository...


----------



## smileyhead (Oct 1, 2018)

AboodXD said:


> Should have included a link to the GitHub repository...


Added the link to the bottom of the post.


----------



## ry755 (Oct 1, 2018)

The GitHub issues are amazing


----------



## ShadowOne333 (Oct 1, 2018)

This is it, folks.
Time to start working on MS-TRES


----------



## matpower (Oct 1, 2018)

kikongokiller said:


> Saw this on Github hours ago and wondered how it wasn't on the front page yet. This is pretty important news imo.


Not really, first it was released 4 years ago, just somewhere else, and we have had FreeDOS for almost two decades now, whoever wants to see how DOS works can check FreeDOS' source code. Furthermore, MS-DOS 2.x is too old to be of any help to projects such as FreeDOS (which is 99.9% percent compatible, except with an edge case involving Windows 3.11).


----------



## souhukyafod (Oct 1, 2018)

Time to MesS around with DOS lines!


----------



## Akdul (Oct 1, 2018)

This made me nostalgic, I loved this OS as a kid. Btw, you can play lots of DOS games directly in your browser here. There are lots of gems in there:

https://archive.org/details/softwarelibrary_msdos_games


----------



## souhukyafod (Oct 1, 2018)

Akdul said:


> This made me nostalgic, I loved this OS as a kid. Btw, you can play lots of DOS games directly in your browser here. There are lots of gems in there:
> 
> https://archive.org/details/softwarelibrary_msdos_games



Also with other emulators along with website archives. Archive.org is amazing.


----------



## Taleweaver (Oct 1, 2018)

kikongokiller said:


> Saw this on Github hours ago and wondered how it wasn't on the front page yet. This is pretty important news imo.


Erm... Sorry, but I'm not seeing why. It was released in 2014 already, and it's not like they're releasing the source codes of newer versions (just checked : it went up to 7.0). And even then... What's the practical use? Github is certainly better for sharing and updating  but why would you want it?


----------



## Akdul (Oct 1, 2018)

souhukyafod said:


> Also with other emulators along with website archives. Archive.org is amazing.



Yeah, Archive.org is great. Speaking about DOS games, I wanted to recommend this hidden DOS gem, it's an awesome racer/platformer game. I spent hours playing that as a kid, good times.

https://archive.org/details/SkyRoads


----------



## Alato (Oct 1, 2018)

Seeing that MS-DOS logo brings back some memories-



Akdul said:


> Yeah, Archive.org is great. Speaking about DOS games, I wanted to recommend this hidden DOS gem, it's an awesome racer/platformer game. I spent hours playing that as a kid, good times.
> 
> https://archive.org/details/SkyRoads


Totally, SkyRoads is easily one of my favorites. Loved the music, too.

Laser Light was another one of my favorites: https://archive.org/details/msdos_Laser_Light_1994


----------



## souhukyafod (Oct 1, 2018)

Akdul said:


> Yeah, Archive.org is great. Speaking about DOS games, I wanted to recommend this hidden DOS gem, it's an awesome racer/platformer game. I spent hours playing that as a kid, good times.
> 
> https://archive.org/details/SkyRoads



I feel like I've played this game before. Or maybe clones.
The sound is on top and I really like its visual technique.


----------



## DinohScene (Oct 1, 2018)

Saw it yesterday, neat! Now for Win 98 : D


----------



## Clydefrosch (Oct 1, 2018)

Will this improve DOSbox or make it easier to port or is all of this basically already known?


----------



## Akdul (Oct 1, 2018)

Alato said:


> Seeing that MS-DOS logo brings back some memories-
> 
> 
> Totally, SkyRoads is easily one of my favorites. Loved the music, too.
> ...



I didn't play that one, but it reminded me of The Incredible Machine, which was awesome too.


----------



## Jayro (Oct 1, 2018)

This is nothing short of amazing. Can't wait to see what cool projects come of this.


----------



## GBAer (Oct 1, 2018)

That's nice of themr releasing the code which Bill Gates bought for $75000 and which went on to make him a billionaire.


----------



## pedro702 (Oct 1, 2018)

now we can get a much better doesbox on consoles if source code is ported rather than hacky dosbox


----------



## x65943 (Oct 1, 2018)

pedro702 said:


> now we can get a much better doesbox on consoles if source code is ported rather than hacky dosbox


Doesn't it say in OP that the source has been public for a while now, and that this just represents another upload but this time to git?


----------



## pedro702 (Oct 1, 2018)

x65943 said:


> Doesn't it say in OP that the source has been public for a while now, and that this just represents another upload but this time to git?


yeah but no one ever ported the source code, now that is on gith its more visible  so maybe they will port the source code instead of emulating dosbox like we do.


----------



## tech3475 (Oct 1, 2018)

Not too surprising since MS own Github now.


----------



## shadoom (Oct 1, 2018)

This is so epic!
Alexa, play *DOS*pacito


----------



## Deleted User (Oct 1, 2018)

smileyhead said:


> View attachment 145396​
> In March 2014, Microsoft had released the source code to MS-DOS 1.25 and 2.0 via the Computer History Museum. A few days ago, they have re-released that same source on GitHub so it's much easier to find. Microsoft encourages exploring and experimenting with the source, but ask people not to send Pull Requests, as this publishing is purely for historical purposes.
> You can check out MS-DOS on GitHub here.
> 
> ...


Horray!


----------



## pasc (Oct 1, 2018)

Ha, saw the logo, and thought to myself: probably the source code. Yay. Nice one MS


----------



## Brawl345 (Oct 1, 2018)

x65943 said:


> Doesn't it say in OP that the source has been public for a while now, and that this just represents another upload but this time to git?


It's also now MIT licensed instead of the restrictive Microsoft Research License.


----------



## tbb043 (Oct 1, 2018)

ShadowOne333 said:


> This is it, folks.
> Time to start working on MS-TRES








Unless you can come up with a good acronym to make TRES.* Tertiary Register Executable System* or some other technobabble that's less bullshit than what i just came up with.


----------



## ShadowOne333 (Oct 1, 2018)

tbb043 said:


> Unless you can come up with a good acronym to make TRES.* Tertiary Register Executable System* or some other technobabble that's less bullshit than what i just came up with.


I was going with the spanish numbers, like Articuno, Zapdos and Moltres did for Pokemon 
But oh well, guess the joke is not that implicit.


----------



## matpower (Oct 1, 2018)

pedro702 said:


> yeah but no one ever ported the source code, now that is on gith its more visible  so maybe they will port the source code instead of emulating dosbox like we do.


It is not how this works, the reason DOSBOX exists is to emulate the HARDWARE, the software itself is well documented and there is a reversed engineered solution I mentioned last page. Having MS-DOS source code doesn't change a thing in this day and age, specially with such an old version. If it was at least MS-DOS 4.0, it would have some use, 6.22 would be the very best since it would help fix the edge case on Windows 3.11.



x65943 said:


> Doesn't it say in OP that the source has been public for a while now, and that this just represents another upload but this time to git?


People can't read anymore.


----------



## smf (Oct 1, 2018)

Clydefrosch said:


> Will this improve DOSbox or make it easier to port or is all of this basically already known?



Loads of books on MSDOS internals have been published over the years. I can't imagine there is anything in there that would be helpful.

Having the actual source code is more a historic thing.


----------



## SavageNoble (Oct 2, 2018)

Jayro said:


> This is nothing short of amazing. Can't wait to see what cool projects come of this.


I mean it's been out there for years now: https://gbatemp.net/threads/microso...rce-code-also-word-for-windows-source.363749/
Also the code isn't even buildable, some files are corrupted or missing.

DOS 8.0 source code - now that's be cool. I wonder if ReactOS could benefit from it and how.


----------



## WhiteMaze (Oct 2, 2018)

Ahh the good old days of typing multiple lines of directories, and failing at least twice, just to boot up Duke Nukem 3D.

*Thank the Lord that's over I hated it.*


----------



## ry755 (Oct 2, 2018)

WhiteMaze said:


> Ahh the good old days of typing multiple lines of directories, and failing at least twice, just to boot up Duke Nukem 3D.
> 
> *Thank the Lord that's over I hated it.*


I always forget that MS-DOS doesn't have tab completion or command history


----------



## astronautlevel (Oct 2, 2018)

Interestingly this is the exact same source code as the one fantasti released 4 years ago, with the exact same errors that make it uncompileable. Really, Microsoft?


----------



## smileyhead (Oct 2, 2018)

astronautlevel said:


> Interestingly this is the exact same source code as the one fantasti released 4 years ago, with the exact same errors that make it uncompileable. Really, Microsoft?


Well, they _did_ state it's just a re-release of the same code.


----------



## astronautlevel (Oct 2, 2018)

smileyhead said:


> Well, they _did_ state it's just a re-release of the same code.


Yeah, but I hoped they were going to fix problems such as files being missing with this, oh well.


----------



## Sheimi (Oct 2, 2018)

lolboy said:


> Respect. For what purpose did you learn Asm?


I originally learned it for Sonic hacking. Now I do it for knowledge.


----------



## FAST6191 (Oct 2, 2018)

WhiteMaze said:


> Ahh the good old days of typing multiple lines of directories, and failing at least twice, just to boot up Duke Nukem 3D.
> 
> *Thank the Lord that's over I hated it.*


What kind of scrub does not reboot their computer with their chosen game's custom boot disc in it?


----------



## Ryccardo (Oct 2, 2018)

ry755 said:


> I always forget that MS-DOS doesn't have tab completion or command history


Command.com doesn't, that's Doskey's job - or just use an alternative shell like 4DOS!


----------



## Captain_N (Oct 3, 2018)

lolboy said:


> Asm...Respect for those whom can code in Asm


I have respect for asm coders. Think of all the NES and SNES games coded that way.... The music was coded that way. And look what they did with such limitations.... Now devs just use pre-made engines and slap their assets on it... Oh and the shit does not even have to work well because they can just patch it.


----------



## MaybeTheLastBilly (Oct 3, 2018)

Why didn't they release the other versions of DOS while they're at it? I mean, I dont think any of them could have something relevant nowadays...


----------



## Ryccardo (Oct 3, 2018)

MaybeTheLastBilly said:


> Why didn't they release the other versions of DOS while they're at it? I mean, I dont think any of them could have something relevant nowadays...


Actually they still sold 6.22 until earlier this decade 
And technically, they are still selling a DOS and Win16 compatibility layer (as part of every 32-bit Windows to date)...

...I guess they don't want to look "TOO" giveaway-y?


----------



## MaybeTheLastBilly (Oct 3, 2018)

Ryccardo said:


> Actually they still sold 6.22 until earlier this decade
> And technically, they are still selling a DOS and Win16 compatibility layer (as part of every 32-bit Windows to date)...
> 
> ...I guess they don't want to look "TOO" giveaway-y?



LOL really? Well in that case I guess it makes sense... I just wanted to play doom on an open-source version of DOS


----------



## WildDog (Oct 4, 2018)

MaybeTheLastBilly said:


> LOL really? Well in that case I guess it makes sense... I just wanted to play doom on an open-source version of DOS



You could play Doom on Open Source Dos for a long time. FreeDOS is not exactly new.




Clydefrosch said:


> Will this improve DOSbox or make it easier to port or is all of this basically already known?


Not really, plus for what is DOSbox and the Svn builds are much "perfected". You can pretty much play most of the games.
If you have a nice PC or laptop and want something more accurate then you use 86box or PCem.

Like other posters said, this is more for historic purpose.


----------



## matpower (Oct 4, 2018)

MaybeTheLastBilly said:


> LOL really? Well in that case I guess it makes sense... I just wanted to play doom on an open-source version of DOS


FreeDOS, a GPL licensed DOS implementation, is already 20 years old and it is 99.9% compatible. Only Windows 3.x doesn't work properly, but it doesn't work anywhere else but MS-DOS.
It is an outstanding project and you should check it out at least once.


----------



## the_randomizer (Oct 4, 2018)

Subtle Demise said:


> 468 lines of code for CTRL+C. Really makes you appreciate the kind of work that goes into these kinds of things.



Isn't ASM an absolute hellish nightmare to learn?


----------



## ry755 (Oct 4, 2018)

the_randomizer said:


> Isn't ASM an absolute hellish nightmare to learn?


Yeah. It's not too bad if you take it step by step though


----------



## the_randomizer (Oct 4, 2018)

ry755 said:


> Yeah. It's not too bad if you take it step by step though



Looking at ASM makes my head spin


----------



## ry755 (Oct 4, 2018)

the_randomizer said:


> Looking at ASM makes my head spin


Guess what this does:
https://gbatemp.net/threads/what-happens-when-a-programmer-is-bored.519779/


----------



## the_randomizer (Oct 4, 2018)

ry755 said:


> Guess what this does:
> https://gbatemp.net/threads/what-happens-when-a-programmer-is-bored.519779/



No idea, sorry


----------



## ry755 (Oct 4, 2018)

the_randomizer said:


> No idea, sorry


It prints "Hi guys. As you can see, I'm bored!"
Because no one with any sanity would program in asm


----------



## FAST6191 (Oct 4, 2018)

the_randomizer said:


> Isn't ASM an absolute hellish nightmare to learn?


Compared to a lot of languages today it is harder but you can still get useful results, to say nothing of learning assembly to a reasonable level will tend to help you write better code*. If you stick with the really old stuff from back when it will probably be a nightmare but the modern world and all the debug tools it affords means we have stuff like http://www.plantation-productions.com/Webster/HighLevelAsm/index.html and https://stuff.pypt.lt/ggt80x86a/asm1.htm which for me at least made it quite manageable. Those will cover x64/x86, if you want something else for an embedded system then look up whether such a thing was used in a console for ROM hackers then tend to have nice tools and documentation. Mind you it has been said learn one assembly and you are good, learn two and you can pretty much understand them all -- some will have quirks, some will have fewer abilities (some really old chips not only lack divide but subtraction is tricky) and slightly different syntax** but in the end it is still going to be the same handful of arithmetic instructions, device management instructions and program flow instructions that you use day in and day out.

*classic example being if you write a function call in assembly you will understand very clearly why calling a function within a function in C, or indeed most other languages, is not ideal.

**something like the NES 6502 only has three registers used in general use so most people consider individual instructions for them. To do that with the dozens of registers on the average x86 processor would be madness so people instead consider instructions as things and just fill in source and destination.


----------



## the_randomizer (Oct 4, 2018)

FAST6191 said:


> Compared to a lot of languages today it is harder but you can still get useful results, to say nothing of learning assembly to a reasonable level will tend to help you write better code*. If you stick with the really old stuff from back when it will probably be a nightmare but the modern world and all the debug tools it affords means we have stuff like http://www.plantation-productions.com/Webster/HighLevelAsm/index.html and https://stuff.pypt.lt/ggt80x86a/asm1.htm which for me at least made it quite manageable. Those will cover x64/x86, if you want something else for an embedded system then look up whether such a thing was used in a console for ROM hackers then tend to have nice tools and documentation. Mind you it has been said learn one assembly and you are good, learn two and you can pretty much understand them all -- some will have quirks, some will have fewer abilities (some really old chips not only lack divide but subtraction is tricky) and slightly different syntax** but in the end it is still going to be the same handful of arithmetic instructions, device management instructions and program flow instructions that you use day in and day out.
> 
> *classic example being if you write a function call in assembly you will understand very clearly why calling a function within a function in C, or indeed most other languages, is not ideal.
> 
> **something like the NES 6502 only has three registers used in general use so most people consider individual instructions for them. To do that with the dozens of registers on the average x86 processor would be madness so people instead consider instructions as things and just fill in source and destination.



I've thought about delving into programming, but never found the motivation to do so, or even where to start.


----------



## ry755 (Oct 4, 2018)

the_randomizer said:


> I've thought about delving into programming, but never found the motivation to do so, or even where to start.


Python is a good language to start with. There's lots of good guides online


----------



## Song of storms (Oct 23, 2018)

How did I miss this news? This is amazing!


----------

