

MS-DOS Source Code Released - Shank
http://www.computerhistory.org/atchm/microsoft-ms-dos-2-0-source-code/

======
colmmacc
Wow, this is going to be a great read. First impressions: pretty decent
comment to code ratio, only about 30k lines of actual code, all of the code
uses carriage-return newlines (though who knows if that's an artifact of
archival) as does FC.ASM for its find_eol subroutine, some files include what
looks like manually-maintained revision history, and right there in STDSW.ASM
we have feature flags.

One interesting comment in DIR.ASM:

    
    
        ;       DS:SI Points to asciz string of path (no leading '/').
    

and in SYSCALL.txt's documentation, everything uses forward-slashes as
directory separators. EDLIN.ASM and FORMAT.ASM on the other hand make clear
that the directory separator is backslash on PC;

    
    
        mov     ax,(char_oper shl 8)    ;get switch character
        int     21h
        cmp     dl,"/"
        jnz     slashok                 ;if not / , then not PC
        mov     [dirchar],"\"           ;in PC, dir separator = \
        mov     [userdir],"\"
        mov     [optchar],"/"           ;in PC, option char = 
    

Looks like early DOS supported both?

~~~
ttctciyf
> Looks like early DOS supported both?

Yes, according to
[http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432...](http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432386.aspx)
which says:

> they coded the OS to accept either "/" or "\" character as the path
> character (this continues today, btw - try typing "notepad c:/boot.ini" on
> an XP machine (if you're an admin)). And they went one step further. They
> added an undocumented system call to change the switch character. And
> updated the utilities to respect this flag.

> And then they went and finished out the scenario: They added a config.sys
> option, SWITCHAR= that would let you set the switch character to "-".

> Which flipped MS-DOS into a *nix style system where command lines used
> "-switch", and paths were / delimited.

------
frade33
MSDOS, is my first ever love. I still remember it's most of commands. dir on a
lazy day and dir /w was a relief. then the windows 3.x came along. Jesus
Christ! everything got changed, I have got mouse, no more CLI. simply create a
folder and open them with a mouse click!. Then I totally forgot about it.
Until now, when I started learning linux. I couldn't recall it what was it
like, because CLI looked troublesome for me, (a mac user now) because I have
not used it since the days of DOS, and few days later i figured, OMG! it's
like DOS and it changed everything about the Linux shell for me. Instead of
hating it, I started loving it and prefer to use it wherever I can just to
please myself and recall my memories of the first love DOS!

~~~
thefreeman
its like dos but much much better :D

~~~
frade33
Yes indeed.

------
EvanAnderson
I'm really enjoying reading this. I went spelunking for the EXE header to find
any references to Mark Zbikowski (who is still immortalized in PE-format EXE
files today).

v20source/exec.asm, line 95:

    
    
        exec_signature      DW  ?               ; must contain 4D5A  (yay zibo!)
    

There are a couple of other references, too.

