3 ms·
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 carriag
by colmmacc 13y ago
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 13y ago> Looks like early DOS supported both? Yes, according to http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432386.aspx http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432... 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.
- seewhat 13y agoI noticed that UTILITY.txt and QUICK.txt in v20source refer to an FGREP command which is missing. Perhaps it exists as the familiar FIND command (FIND.ASM and FIND.EXE).