4 ms·
This tidbit from the DOS 2.0 README.txt (section 5) is fascinating: The user manual contains some significant errors. Most of these are due to last minute
by mato 13y ago
This tidbit from the DOS 2.0 README.txt (section 5) is fascinating:
The user manual contains some significant errors. Most of these are
due to last minute changes to achieve a greater degree of compatibility
with IBM's implementation of MS-DOS (PC DOS). This includes the use
of "\" instead of "/" as the path separator, and "/" instead of "-"
as the switch character. For transporting of batch files across
machines, Microsoft encourages the use of "\" and "/" respectively
in the U.S. market. (See DOSPATCH.TXT for how you can overide this.
The user guide explains how the end-user can override this in CONFIG.SYS).
Also this, from the documentation for the CharOper system call (that never made it outside of MSFT?) in SYSCALL.txt:
AL Function
-- --------
0 DL, on return, will contain the DOS switch
character. On most systems this will default to
'-'.
1 Set the switch character to the character in DL.
2 Read the device availability byte into DL. If
this byte is 0, then devices must be accessed in
file I/O calls by /dev/device. If this byte is
non-zero, then the devices are available at every
node of the directory tree (i.e. CON is the
console device not the file CON). This byte is
generally 0.
3 Set the device availability byte to the value in
DL.
It looks like we have IBM to blame for '\' and '/' as a path separator/switch character in DOS/Windows, Microsoft originally was using the Xenix '/' and '-' respectively. I knew that Microsoft used Xenix fairly heavily internally but never thought that DOS was quite so influenced by it.
- whoopdedo 13y agoAnd to this day we're still barred from creating files or directories named CON, PRN, NUL ... Damn you, IBM
- loevborg 13y agoNot just CON but also con.txt, con.js, etc.! Try cloning a git repository with a file called con.js using msysgit. The result is that, when msysgit tries to clone the file, the contents of the file `con.js` are printed to stdout, i.e. to CON.
- quasque 13y agoIt's interesting to see the real specification for this system call, as only the device availability subfunctions were widely known outside of Microsoft [1]. I wonder if many other hidden or deprecated functions are present in these releases. [1] http://www.delorie.com/djgpp/doc/rbinter/id/65/27.html http://www.delorie.com/djgpp/doc/rbinter/id/65/27.html
- peteri 13y agoAt the time I seem to recall this was documented as being the SWITCHAR in config.sys certainly by MSDOS3.x this was well known and I seem to recall trying it out on MSDOS 2.x on a commodore pc clone (in Sweden) this would have been around 1985ish
- mschaef 13y agoLarry Osterman (a long time MS engineer) wrote about this at some length here: http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432386.aspx http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432...