Unix Roots of DOS?

40 views
Skip to first unread message

Rich Travsky

unread,
Jul 13, 1992, 2:11:38 PM7/13/92
to
Does anyone have a reference (book, article, whatever) on the
"history" of dos? The similarity of some commands etc. and those
of Unix strongly implies this, but I'd like to find a (quotable)
reference of some kind. Mostly I'm just curious...

+------------+ Richard Travsky RTRAVSKY @ CORRAL.UWYO.EDU
| | Division of Information Technology
| | University of Wyoming
| U W | (307) 766 - 3663 / 3668
| * | "Wyoming is the capital of Denver." - a tourist
+------------+ "One of those square states." - another tourist
Home state of Dick Cheney, Secretary of Defense of these here UNITED STATES!

Lennart Boss`r

unread,
Jul 13, 1992, 5:30:02 PM7/13/92
to
Look for instance at "PC DOS Users Guide" by Chris De Voney
published by Que Corporation ISBN 0-88022-040-6

Chapter 1 covers very briefly the history of DOS and it's relations to
Microsoft XENIX.

I also vaguely remember that the DOS 2.0 manual from Microsoft
said something about DOS history. There were environment settings for
using "/" instead of "\" for pathname separators and "-" instead of
"/" for options. Kept that manual for sentimental reasons but have
thrown it away recently.

There must be lots of other sources though.

William L. Hadley

unread,
Jul 13, 1992, 5:59:42 PM7/13/92
to
rtra...@news.uwyo.edu (Rich Travsky) writes:

>Does anyone have a reference (book, article, whatever) on the
>"history" of dos? The similarity of some commands etc. and those
>of Unix strongly implies this, but I'd like to find a (quotable)
>reference of some kind. Mostly I'm just curious...

PC Magazine has a book out called "DOS Power Tools" that has a chapter that
talks some about the history of DOS. It is Chapter 1, The Development of DOS.
It, however, talks about DOS's roots coming from CP/M. I hope this helps!
Bill Hadley
--
William L. Hadley | User Support Center Specialist
The MITRE Corporation | Internet: wlha...@mitre.org
7525 Colshire Drive, MS W130 | UUCP: linus!mitre.org!wlhadley
McLean, Virginia 22102-3481 | My opinions! Do you hear? MINE!!!!

Arlie Davis

unread,
Jul 13, 1992, 7:27:08 PM7/13/92
to
In <1992Jul13....@enea.se> le...@enea.se (Lennart Boss`r) writes:

> I also vaguely remember that the DOS 2.0 manual from Microsoft
> said something about DOS history. There were environment settings for
> using "/" instead of "\" for pathname separators and "-" instead of
> "/" for options. Kept that manual for sentimental reasons but have
> thrown it away recently.

There is a semi-documented DOS call that allows you to set the switch
character. Borland C/C++ calls it "setswitchar", and it is in <dos.h>.

I believe all of the commands internal to the DOS COMMAND.COM shell
_will_ correctly interpret things if you change the switch character.
And, surprise surprise! DOS starts printing paths with *forward* slashes.
(It has, however, always accepted them, switch character or no.)

--
lrwx------ 1 aldavi01 emacsstu 9 Jun 6 12:43 .signature -> /dev/null
--
lrwx------ 1 aldavi01 emacsstu 9 Jun 6 12:43 .signature -> /dev/null

Don Nichols (DoN.)

unread,
Jul 13, 1992, 7:49:51 PM7/13/92
to
In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>Does anyone have a reference (book, article, whatever) on the
>"history" of dos? The similarity of some commands etc. and those
>of Unix strongly implies this, but I'd like to find a (quotable)
>reference of some kind. Mostly I'm just curious...

I don't think that you'll find much of a link at the *start* of
MS-DOS, or you wouldn't see the choice of '/' as an option switch character,
forcing the '\' to be used as the subdirectory separator character, and
therefore eliminating the 'escape' meaning of '\' that unix has.

MS-DOS started out very much like CP/M, (which *DID* have the '/' as
the option switch character), and acquired some unix-like layers in later
versions. I'm not sure whether subdirectories came in at 2.0 or 3.0, since
all my experience has been with 3.0 and later versions.

I think a major motivation for the unix-like features was that
MicroSoft was also working on XENIX at the same time, I believe initially on
the 68k (the TRS-80 Model 16, I think), and later was selling it for
PClones. There was an interest in having the support environment as much
alike as possible so the 'C' programs would port more easily.
(Investigation of the Microsoft FORTRAN 4.0 shows definate signs of
development under a unix environment - specifically, SCCS identifier strings
embedded in the modules.)

I have no inside knowledge, so this is all speculation. However, I
*do* know that Microsoft wrote for the Motorola processors quite early in
its life. I have a 8k BASIC interpreter, written for the Altair 680b
(MC6800 cpu) in, I believe, 1976. I also have the Cassette BASIC written
within a year of that, also from Microsoft.
--
Donald Nichols (DoN.) | Voice (Days): (703) 704-2280 (Eves): (703) 938-4564
D&D Data | Email: <dnic...@ceilidh.beartrack.com>
I said it - no one else | <dnic...@ceilidh.aes.com>
--- Black Holes are where God is dividing by zero ---

Tom J Parry

unread,
Jul 14, 1992, 3:25:34 AM7/14/92
to
alda...@rigel.spd.louisville.edu (Arlie Davis) writes:
> In <1992Jul13....@enea.se> le...@enea.se (Lennart Boss`r) writes:
>
> There is a semi-documented DOS call that allows you to set the switch
> character. Borland C/C++ calls it "setswitchar", and it is in <dos.h>.

This has been removed in DOS 5.00

>
> I believe all of the commands internal to the DOS COMMAND.COM shell
> _will_ correctly interpret things if you change the switch character.
> And, surprise surprise! DOS starts printing paths with *forward* slashes.
> (It has, however, always accepted them, switch character or no.)

Accepted what? / as the separator? I don't think so! I have been caught
out many times switching between a unix session (by modem for e.g.) and
DOS and getting it wrong, with built in and external commands.


--
Tom J Parry.
Your reality is a figment of my imagination.

Michael Salmon

unread,
Jul 14, 1992, 6:04:51 AM7/14/92
to
In article <1992Jul13...@news.uwyo.edu>, rtra...@news.uwyo.edu (Rich Travsky) writes:
|> Does anyone have a reference (book, article, whatever) on the
|> "history" of dos? The similarity of some commands etc. and those
|> of Unix strongly implies this, but I'd like to find a (quotable)
|> reference of some kind. Mostly I'm just curious...

I presume that you mean MS-DOS and I'm sad to say that there is very
little of Unix in its background. Way back when the 8086 came out
Seattle Computers developed an S-100 bus card to use it, unfortunately
they didn't have any OS for it and Digital Research didn't seem all
that eager to port CP/M so Seattle Computers did a quick port of CP/M
so that they could show customers something. At about this time IBM
decided to challenge the Apple II and TRS-80 with a new games machine
based upon the 8088 and they also went to Digital Research for an OS,
urban legend has it that Gary Kidall wasn't even in the country when
they turned up for the meeting, Bill Gates however was more than
pleased to see them, he already had a BASIC interpretter but he needed
the other stuff for an OS and so he bought the rights from Seattle
Computers. Urban legend also has it that the contract specified that he
bought the rights to an 8086 OS and that Seattle Computers still owned
the 8088 rights but I never heard the end of that story. Anyway thus
was born MS-DOS 1.0, it roots were in CP/M which I have always felt was
based very loosely upon RT/11, even down to pip. Microsoft was also
involved with Xenix at around this time and so in MS-DOS 2.0 we start
to see some Unix features arrive, there was even some talk of merging
the 2 at the time. I'm sorry that I can't give you any references for
all this, Dr. Dobbs at the time had some tidbits as did Micro
Cornucopia and Micro Systems Journal.

--

Michael Salmon

#include <standard.disclaimer>
#include <witty.saying>
#include <fancy.pseudo.graphics>

Ericsson Telecom AB
Stockholm

Mr Stephen R Usher

unread,
Jul 14, 1992, 7:33:41 AM7/14/92
to
In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>Does anyone have a reference (book, article, whatever) on the
>"history" of dos? The similarity of some commands etc. and those
>of Unix strongly implies this, but I'd like to find a (quotable)
>reference of some kind. Mostly I'm just curious...

I've no references, but from what I'v gathered this is the story of MS-DOS..

It was originally written by a small Californian S/W firm who needed a cheap
CP/M clone for a 8088, it was called internally QDOS, standing for Quick and
Dirty Operating System.

Just at the same time Microsoft won the contract from IBM to supply an OS
for the disk based version of IBM's new PC. This was a problem at that time
for Microsoft as they were a very small firm and didn't have any OS writing
knowledge.. they went searching for a ready-made solution..

They found the S/W firm above laguishing and backrupt.. they bought the OS
from them, changed the name and managed to show it to IBM by IBM's deadline.

This was MS-DOS Version 1.0, it was highly unstable and did not have
directories.

Soon Microsoft realised that they needed to re-write MS-DOS from scratch,
but this was ok because of the leeway version 1.0 had given them, and the
money IBM had payed them.. they bought some programmers.

Version 2 soon arrived, this was more stable, though I don't think it had
directories yet.

It was noted that any modern OS needed subdirectories, so a project was put
in placee to add these to MS-DOS

As it turned out some of the programmers were ex-Unix hacks, so they
modelled the directory structure like that of Unix (ie having . and .. files
etc) but with the constrains of being CP/M filesystem compatable. They would
have liked to have used the forward slash as a directory separator, but it
was already taken as an option switch, so they used back-slash instead, but
put a hook in the OS so this could be changed back if desired.

Also at this time the Unix hacks added commands like MORE.

This was MS-DOS version 3.x.. the rest is history.

>
>+------------+ Richard Travsky RTRAVSKY @ CORRAL.UWYO.EDU
>| | Division of Information Technology
>| | University of Wyoming
>| U W | (307) 766 - 3663 / 3668
>| * | "Wyoming is the capital of Denver." - a tourist
>+------------+ "One of those square states." - another tourist
>Home state of Dick Cheney, Secretary of Defense of these here UNITED STATES!


I can't say if any of this is correct, it's mostly hear-say, but it does
seem to ring true.

Steve
--
Addresses:-
JANET:- uca...@uk.ac.ucl or st...@uk.ac.ox.earth (preferable)
Internet:- uca...@ucl.ac.uk or st...@earth.ox.ac.uk (preferable)

Jim Pirzyk

unread,
Jul 14, 1992, 9:00:55 AM7/14/92
to

>alda...@rigel.spd.louisville.edu (Arlie Davis) writes:
>> In <1992Jul13....@enea.se> le...@enea.se (Lennart Boss`r) writes:
>>
>> There is a semi-documented DOS call that allows you to set the switch
>> character. Borland C/C++ calls it "setswitchar", and it is in <dos.h>.

The funny thing is that if you call BCC 3.0 or 3.1 with a filename starting
with the '/' character, it thinks that it is a switch. TC++ 1.0 did not have
this "problem". :-(

>This has been removed in DOS 5.00

>>
>> I believe all of the commands internal to the DOS COMMAND.COM shell
>> _will_ correctly interpret things if you change the switch character.
>> And, surprise surprise! DOS starts printing paths with *forward* slashes.
>> (It has, however, always accepted them, switch character or no.)

>Accepted what? / as the separator? I don't think so! I have been caught
>out many times switching between a unix session (by modem for e.g.) and
>DOS and getting it wrong, with built in and external commands.

The MKS toolkit has a program called switch (at least it was in 3.1) that
was used to change the switch character. I found that only the internal
dos functions used the result from the getswitch interrupt. Most external
programs that I have, have the switch character hard coded in as '/' and
that is why they would not work with the '-' character.

When I upgraded to DOS 5.00 I noticed that the switch program had no effect.
I assumed that it was removed, now I know.
--
[Jim] pir...@uiuc.edu ---------------------------------------------------
UNIX System Administrator
Disclamer: I disclaim anything I ever said. Void where Prohibited.

Magnus Olsson

unread,
Jul 14, 1992, 9:12:38 AM7/14/92
to
In article <1992Jul14.1...@bas-a.bcc.ac.uk> uca...@ucl.ac.uk writes:
>This was MS-DOS Version 1.0, it was highly unstable and did not have
>directories.
>
>Soon Microsoft realised that they needed to re-write MS-DOS from scratch,
>but this was ok because of the leeway version 1.0 had given them, and the
>money IBM had payed them.. they bought some programmers.
>
>Version 2 soon arrived, this was more stable, though I don't think it had
>directories yet.

I think this must be 1.2 or something like that; version 2 *did* have
directories (see below).

>It was noted that any modern OS needed subdirectories, so a project was put
>in placee to add these to MS-DOS
>
>As it turned out some of the programmers were ex-Unix hacks, so they
>modelled the directory structure like that of Unix (ie having . and .. files
>etc) but with the constrains of being CP/M filesystem compatable. They would
>have liked to have used the forward slash as a directory separator, but it
>was already taken as an option switch, so they used back-slash instead, but
>put a hook in the OS so this could be changed back if desired.
>
>Also at this time the Unix hacks added commands like MORE.
>
>This was MS-DOS version 3.x.. the rest is history.

First, to pick a nit: The Unix-like stuff was added in * 2.0 *. 3.0
came several years later (mid 1980's)

Then, the similarities between MS-DOS and Unix have always given me
the feeling that the people designing it had a rather shallow
acquaintance with Unix.

For example: When they added subdirectories, they imitated the Unix
file system, with "." and ".." entries *but* the root directory still
isn't a proper directory, and there is no "." or ".." in the root
directory. This means that this has to be treated as a special case
when programming. And why not adopt the Unix notion of just having
*one* filesystem for all devices, instead of having one for each disk
drive? Wouldn't it be much more convenient to have e.g. \a\foo\bar
instead of A:\foo\bar?

And the filter utilities that were copied from Unix were
broken from the start - they have the names (more, sort, etc) in
common, but the MS-DOS versions are so emasculated as to be virtually
unusable.

OK - some of this was inevitable. The file system still had to be CP/M
(or, rather, MS-DOS 1.0 compatible), so maybe they couldn't do it
quite right. And of course you can't make *real* Unix-like pipes on a
non-multitasking OS, but have to fake it with temporary files.

But, still, I can't get rid of the feeling that Microsoft could have
produced a *much* superior product with just a *little* bit more
effort. Or, better still, they could have stopped developing MS-DOS
after ver 1.2, and switched to Xenix instead.

--
Magnus Olsson | \e+ /_
Dept. of Theoretical Physics | \ Z / q
University of Lund, Sweden | >----<
Internet: mag...@thep.lu.se | / \===== g
Bitnet: THEPMO@SELDC52 | /e- \q

Dave Brown

unread,
Jul 14, 1992, 9:08:03 AM7/14/92
to
In article <1992Jul13.2...@ceilidh.beartrack.com> dnic...@ceilidh.beartrack.com (Don Nichols (DoN.)) writes:
>In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>>Does anyone have a reference (book, article, whatever) on the
>>"history" of dos? The similarity of some commands etc. and those
>>of Unix strongly implies this, but I'd like to find a (quotable)
>>reference of some kind. Mostly I'm just curious...
>
> I don't think that you'll find much of a link at the *start* of
>MS-DOS, or you wouldn't see the choice of '/' as an option switch character,
>forcing the '\' to be used as the subdirectory separator character, and
>therefore eliminating the 'escape' meaning of '\' that unix has.
>

Is it possible to set the pathname characters and option characters
to sensible things in DOS 5.0, though? and how? It'd make DOS _much_
more bearable for me (now if you could fix the 8.3 filename bug as well,
and throw in an operating system (HHOS)) 'cause I have to work on DOS
beasts--it's not voluntary.

Dave "C'mon! The Amiga's a better business computer! Honest" Brown
dagb...@napier.uwaterloo.ca

Alan McKay

unread,
Jul 14, 1992, 10:18:08 AM7/14/92
to
wlha...@mwunix.mitre.org (William L. Hadley) writes:

>rtra...@news.uwyo.edu (Rich Travsky) writes:

>>Does anyone have a reference (book, article, whatever) on the
>>"history" of dos? The similarity of some commands etc. and those
>>of Unix strongly implies this, but I'd like to find a (quotable)
>>reference of some kind. Mostly I'm just curious...

>PC Magazine has a book out called "DOS Power Tools" that has a chapter that
>talks some about the history of DOS. It is Chapter 1, The Development of DOS.
>It, however, talks about DOS's roots coming from CP/M. I hope this helps!
>Bill Hadley

This is what we learnen in our OS course here ... that DOS is rooted
in CP/M.

--
--
Alan W. McKay | (902)542-2201.158 | Wolfville, N.S. Canada
al...@acadiau.ca | Acadia University | SUB Box 6008, B0P 1Z1
----------------------------------------- My Canada includes Quebec -----

Tom J Parry

unread,
Jul 14, 1992, 9:25:07 AM7/14/92
to
uca...@ucl.ac.uk (Mr Stephen R Usher) writes:
> In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>
> This was MS-DOS Version 1.0, it was highly unstable and did not have
> directories.

Correct.

> Version 2 soon arrived, this was more stable, though I don't think it had
> directories yet.

I'm not 100% sure if 2.0 had them but 2.1 certainly did. I am pretty
sure 2.0 had them though.

Erkki Ruohtula

unread,
Jul 14, 1992, 12:06:21 PM7/14/92
to
A good source about MS-DOS history is Ray Duncan: "Advanced MS-DOS
Programming", second edition, Microsoft Press 1988. It has a whole
chapter on the genealogy of MS-DOS. Probably the
other edition(s) also contain the same stuff.

And yes, sub-directories appeared in version 2.0, along with
the installable device drivers, unix-like system calls and most other
modern features. Compared to the 1.x -> 2.x change, all other
updates have been merely (slowly) creeping featurism...
--
Erkki Ruohtula / Nokia Telecommunications
e...@tele.nokia.fi / P.O. Box 33 SF-02601 Espoo, Finland
(My private opinions, of course.)

Robert K. Brunner

unread,
Jul 14, 1992, 2:00:50 PM7/14/92
to
e...@tnso04.tele.nokia.fi (Erkki Ruohtula) writes:


Here is information on PC-DOS/MS-DOS versions, as best I remember. My
knowledge gets a little hazy after 3.0.

1.0 original version
1.1 support for 320K double-sided floppies.
2.0 version for XT. Pathnames, device drivers, I/O redirection.
Since the XT was the first IBM-PC with a hard disk, subdirectories
and pathnames became necessary to mange the larger number of files.
Third-party hard drives before this didn't use subdirectories. Support
for pseudo-UNIX style file access functions (ie. file handles instead
of FCB).
2.1 version for PCjr. The disk drive had some timing differences.
Somewhere around here, 360K floppies became available.
3.0 version for AT. 1.2M floppies supported.
3.1 ?
3.2 720K 3.5in floppies (for IBM LCD portable, not to be confused with the
Portable PC, which was an XT motherboard, 30 pound Compaq clone)
3.3 1.44M floppies? Not sure. This may have been for the PS/2
4.X Never used it. Support for >32M disk drives, by splitting into virtual
drives of <32M (I think). Third-party software did the same thing
earlier.
5.X Current version. Some high (640-1024K) and extended (>1024K)
support on '286, 386, or 486 machines.

Well, thats off the top of my head. I've done a lot of BASIC programming
under PC-DOS 1.1, and have the original manual, which included documentation
for all of the DOS function calls. Since about DOS 3.2, I haven't done
much with MS-DOS, so I've lost track of all the versions.

Robert Brunner
bru...@uirvld.csl.uiuc.edu

Charles Lasner

unread,
Jul 14, 1992, 12:22:34 PM7/14/92
to
In article <1992Jul14.1...@bas-a.bcc.ac.uk> uca...@ucl.ac.uk (Mr Stephen R Usher) writes:
>
>Version 2 soon arrived, this was more stable, though I don't think it had
>directories yet.

Not true.

Version 2 merely lacks the ability to execute a program by complete pathname
and the ability for the program to determine its own invocation name. As
was posted earlier, there are config.sys options and an int call to
change the \dev\ requirement on reserved device names, so the only reserved
directory would be \dev itself, but files and directories could be called
con or whatever, and the \ could be redefined as a / or whatever. Further,
these features were removed in 3.x, not added there.

Note that most third-party applications specify DOS 2.0 or newer.

Incidentally, the reasons for DOS 4 and 5 aren't much either. Some OEM
versions of 3.3x appeared that support larger disks. The first was NEC
version 3.30, which isn't compatible with other 3.30 versions. There is a
special Ontrack Disk Manager option for NEC's "large" partitions (I think
64 Megs). Compaq's version 3.31 is the first version that supports the
file structure found in DOS 4, 5, and DR-DOS 5,6.

Various memory schemes exist from third-parties that add-on most of the
capabilities of all of these systems, and they in turn will run from
DOS 3.30 or newer. The point is that there is little to recommend these
as "new versions" which implies quite a bit more than actual. Note that
DOS 2.x did have small variations such that there was at least a 2.0, and a
2.10, and even a 2.11. Even DOS 3.x had 3.1, 3.20, 3.21, and 3.30, and 3.31.
DOS 4.x was merely a 4.00 from IBM first, and then 4.01 from various OEMs later
which in turn have early and late incarnations without upgrading from 4.01
without a clue as to which is which. (Early 4.01 have bugs that were causing
many complaints and wide-spread bad-mouthing. Note the number of vendors that
had to offer 3.30 as well as 4.01 because of this. Later versions fixed most
of the problems.)

There is apparently only one incarnation of DOS 5.0.

DR-DOS had a 5.0, which was either early or late with no notice, similar to
Microsoft's situation with DOS 4.01.

DR-DOS 6.0 has already had a modest upgrade and an official major upgrade,
but it's still called 6.0, with no easy way to reveal which patch level it's
at.

DR-DOS 6.0 isn't that much more than 5.0 to warrant another version either. I
suspect they went to 6.0 merely because Microsoft finally brought out something
called "5" while they already had a "5" while Microsoft had out only a "4".
So, it's all really a leap-frog game :-).

So, I guess we have seen the last of revisions in the .x or .0x range :-(.

If they ever fix all the problems, we should be using version 376 by next
year :-).

cjl

Pete Holsberg

unread,
Jul 14, 1992, 12:34:52 PM7/14/92
to
In article <wlhadley.711064782@mwunix> wlha...@mwunix.mitre.org (William L. Hadley) writes:
=It, however, talks about DOS's roots coming from CP/M. I hope this helps!

CP/M ---> MS-DOS 1.0
UNIX ---> MS-DOS 2.0

Jim Frost

unread,
Jul 14, 1992, 4:45:02 PM7/14/92
to
dnic...@ceilidh.beartrack.com (Don Nichols (DoN.)) writes:
> MS-DOS started out very much like CP/M, (which *DID* have the '/' as
>the option switch character), and acquired some unix-like layers in later
>versions. I'm not sure whether subdirectories came in at 2.0 or 3.0, since
>all my experience has been with 3.0 and later versions.

They came in 2.0; so did all of the UNIXisms. 3.0 added a bunch of
networking functions (in PC-DOS anyway) but not a lot of other things.

> I have no inside knowledge, so this is all speculation. However, I
>*do* know that Microsoft wrote for the Motorola processors quite early in
>its life. I have a 8k BASIC interpreter, written for the Altair 680b
>(MC6800 cpu) in, I believe, 1976.

Wasn't that the one that got stolen and massively duplicated, causing
Gates to go into conniption fits?

jim frost
ji...@centerline.com

Charlie Gibbs

unread,
Jul 14, 1992, 4:43:09 PM7/14/92
to
In article <1992Jul14.0...@monu6.cc.monash.edu.au>

pa...@yoyo.cc.monash.edu.au (Tom J Parry) writes:

>Accepted what? / as the separator? I don't think so! I have been caught
>out many times switching between a unix session (by modem for e.g.) and
>DOS and getting it wrong, with built in and external commands.

When I find myself afflicted with DOS I use a little hack called
UNCLE13. It gives me command-line history and aliases, and flips the
slashes back the way God intended them. I can type Unix commands
anywhere!

Charli...@mindlink.bc.ca
My Amiga 1000 *is* a PC! It says "Personal Computer" right on the box!

Charlie Gibbs

unread,
Jul 14, 1992, 4:44:34 PM7/14/92
to
In article <BrDqt...@news.cso.uiuc.edu> pir...@osiris.cso.uiuc.edu
(Jim Pirzyk) writes:

> Most external
>programs that I have, have the switch character hard coded in as '/' and
>that is why they would not work with the '-' character.

All programs that I write, on the other hand, have the switch
character hard-coded as '-'. :-)

I don't write DOS programs; I write programs that happen
to run under DOS. There's a subtle but important philosophical
difference.

Charli...@mindlink.bc.ca
Eschew obfuscation.

David R. Linn

unread,
Jul 14, 1992, 4:54:36 PM7/14/92
to
For those interested in this topic, I suggest a scan of pp. 3-45
of _The MS-DOS Encyclopedia_, published by Microsoft Press,
ISBN 1-55615-174-8, which covers the development of DOS up to
v3.2 in some detail. This is an essay entitled (not surprisingly)
"The Development of MS-DOS".

David

--
David R. Linn, System/Mail/News Manager | INET: d...@vuse.vanderbilt.edu
Disclaimer: I speak only for myself | Phone: [+1] 615-343-6164
"Some do, some don't and that's the way of the world."

William L. Hadley

unread,
Jul 14, 1992, 4:09:59 PM7/14/92
to
p...@mccc.edu (Pete Holsberg) writes:

>>In article <wlhadley.711064782@mwunix> William L. Hadley writes:
>>=It, however, talks about DOS's roots coming from CP/M. I hope this helps!
>
> CP/M ---> MS-DOS 1.0
> UNIX ---> MS-DOS 2.0

This is true...I should have been a little more specific.... The ORIGINAL
roots of DOS (I mean for DOS 1.0) were coming from CP/M. Starting with
DOS 2.0 they started to look to UNIX for ideas because the file handling
in CP/M for large disks (e.g. hard disks) really sucked. Don't get me
wrong, I have two CP/M machines at home...but I'm also honest....
:-)

The _DOS Power Tools_ book contains charts showing the size of the system
files for each version of IBM DOS (COMAND.COM, IBMBIO.COM, and IBMDOS.COM) and
what external and internal commands were introduced with each version of DOS.
If anyone would like, I can post them. It would probably have to wait until I
had time to post them (most likely this weekend). The jump of new internal
commands between 1.1 and 2.0 is pretty dramatic (or funny, I can't decide
which)!
Bill

Jim Frost

unread,
Jul 14, 1992, 4:54:54 PM7/14/92
to
rkbg...@uxa.cso.uiuc.edu (Robert K. Brunner) writes:
>2.1 version for PCjr. The disk drive had some timing differences.
> Somewhere around here, 360K floppies became available.

Missed 2.11, which I think was the first version that was offered on a
lot of clones. Certainly it was standard issue on Tandy boxes and
some cheapo clones for quite awhile, even well into PC-DOS 3.1's
lifespan.

One of the 2.X upgrades made it possible to boot from a hard disk.
2.0 couldn't do it (whatta pain that was -- particularly since some
commercial packages were into copy protection and often required you
to put the original package disk in, which meant removing the boot
disk and later replacing it).

>3.0 version for AT. 1.2M floppies supported.

3.0 also added a bunch of new system calls and error numbers to allow
PC-NET support (IBM's networking product). So far as I know almost
nobody made use of these.

>3.1 ?

3.1 had a bunch of bug fixes and I don't think much of anything else.
This had a long lifetime, possibly because of some pretty annoying
bugs in 3.2 (although I can't remember what the bugs were anymore).

jim frost
ji...@centerline.com

Charles Lasner

unread,
Jul 14, 1992, 3:30:37 PM7/14/92
to
PC-jr isn't hardware compatible with PC, but the BIOS calls are compatible.
And they do have a 360K disk.

>3.0 version for AT. 1.2M floppies supported.

>3.1 ?
What's 3.0? That sounds like 3.1.

>3.2 720K 3.5in floppies (for IBM LCD portable, not to be confused with the
> Portable PC, which was an XT motherboard, 30 pound Compaq clone)

There was a 3.21, which is where the 3.5" disk support actually *worked*!
Some early 3.21 versions erroneously still say 3.20.

>3.3 1.44M floppies? Not sure. This may have been for the PS/2

Yes, but the PS/2 ain't anything special. Its ROM initializes itself to be
compatible, so it isn't specific to it, although it may have slightly been
first with the 1.44 Meg drives as compared to some clones soon thereafter.

>4.X Never used it. Support for >32M disk drives, by splitting into virtual
> drives of <32M (I think). Third-party software did the same thing
> earlier.

Wrong, you are describing what 3.3 does. Third-party stuff thus wasn't
needed to accomplish analogous things. Some third-party stuff was incompatible
with 3.3's FDISK though; it reports "non-DOS" partitions. 4 brings in
the support for 512 Meg partitions. Some 4.01 systems' components are known
to report being versions erroneously for 4.00.

>5.X Current version. Some high (640-1024K) and extended (>1024K)
> support on '286, 386, or 486 machines.

Yes, and not as comprehensive as is built into DR-DOS, or what you can add
with 3rd-party stuff.

>
>Well, thats off the top of my head. I've done a lot of BASIC programming
>under PC-DOS 1.1, and have the original manual, which included documentation
>for all of the DOS function calls. Since about DOS 3.2, I haven't done
>much with MS-DOS, so I've lost track of all the versions.
>
>Robert Brunner
>bru...@uirvld.csl.uiuc.edu

Not bad for a "traitor" :-).

cjl

Blair P. Houghton

unread,
Jul 14, 1992, 5:06:09 PM7/14/92
to

Someone mentioned recently, but it bears repeating, that
Bill Gates has said that when Microsoft released OS/2
they should have called it MS-DOS...

--Blair
"Er, Adam XII..."

Guy Carpenter

unread,
Jul 14, 1992, 6:30:39 PM7/14/92
to
uca...@ucl.ac.uk (Mr Stephen R Usher) writes:

>I've no references, but from what I'v gathered this is the story of MS-DOS..

>It was originally written by a small Californian S/W firm who needed a cheap
>CP/M clone for a 8088, it was called internally QDOS, standing for Quick and
>Dirty Operating System.

I thought it was a(nother) Seattle company? I read a couple of articles
about their fate in the Seattle Times in the mid 80's. Now what was
their name?

The default MSDOS prompt betrays its parentage too.

Someone decided at a place I worked recently that MS-DOS was just another
fad, and so they `standardised' on CPM in about *1984*. :-) Beta losers.

Guy
--
----------------------------------------------------------------------
CSIRO Tropical P.O. Box 780 Work : (070) 91 1755
Forest Atherton Q 4883 Fax : (070) 91 3245
Research Australia Home : (070) 95 3309

Lyle J. Mackey

unread,
Jul 14, 1992, 12:26:31 AM7/14/92
to
In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>"history" of dos? The similarity of some commands etc. and those
>of Unix strongly implies this, but I'd like to find a (quotable)

I don't know about the underlying code or operations, but purely on a
command-structure level, I had always understood that DOS was derived more
from CP/M than from *nix.

And no, I don't have a reference either, this is just from general memory
of things I've read and gathered from using the three systems (tho my *nix
experience is extremely limited).

>+------------+ Richard Travsky RTRAVSKY @ CORRAL.UWYO.EDU

.--------------------------------------------------------------------------.
/ Lyle J \ les...@wixer.cactus.org / Team Doofus \ DoD / Nobody else WANTS \
\ Mackey / Social Engineer \ '89 Kaw EX500 / 587 \ my opinions... /
`--------------------------------------------------------------------------'
- no animals were harmed during the creation of this .signature -

WSHB Operations Eng

unread,
Jul 15, 1992, 11:50:56 AM7/15/92
to
>I presume that you mean MS-DOS and I'm sad to say that there is very
>little of Unix in its background. Way back when the 8086 came out
>Seattle Computers developed an S-100 bus card to use it, unfortunately
>they didn't have any OS for it and Digital Research didn't seem all
>that eager to port CP/M so Seattle Computers did a quick port of CP/M
>so that they could show customers something. At about this time IBM

As I recall this was QDOS for "Quick and Dirty Operating System," and it
did not support any disk drives of any type. Microsoft bought it and added
the stuff for a disk drive interface, thus creating "MicroSoft - Disk
Operating System." I don't think QDOS was a straight port of CP/M; it was
just done by a guy with a strong CP/M background. I doubt that Dig.
Research would have let them do it without another license agreement.

I can't swear to any of this though. I had a book somewhere that had all of
this in it, but I've long since lost the book. I came on the scene about
the time 2.0 came out. The biggest probelm I had was remembering to format
disks with the /8 switch if they were going to someone still using the older
stuff.


Michael
--
Michael Batchelor--Systems/Operations Engineer #compliments and complaints
WSHB - An International Broadcast Station of # lett...@csms.com
Herald Broadcasting Syndicate, Inc. #technical questions and reports
mich...@wshb.csms.com +1 803 625 5552 # letterb...@csms.com

Robert Storlind

unread,
Jul 15, 1992, 2:54:33 AM7/15/92
to
mag...@THEP.LU.SE (Magnus Olsson) writes:

>In article <1992Jul14.1...@bas-a.bcc.ac.uk> uca...@ucl.ac.uk writes:
>I think this must be 1.2 or something like that; version 2 *did* have
>directories (see below).

[lots of interesting facts deleted...]

>OK - some of this was inevitable. The file system still had to be CP/M
>(or, rather, MS-DOS 1.0 compatible), so maybe they couldn't do it
>quite right. And of course you can't make *real* Unix-like pipes on a
>non-multitasking OS, but have to fake it with temporary files.

>But, still, I can't get rid of the feeling that Microsoft could have
>produced a *much* superior product with just a *little* bit more
>effort. Or, better still, they could have stopped developing MS-DOS
>after ver 1.2, and switched to Xenix instead.

Just for yuks, I found some fascinating (i.e., somewhat dated)
predictions in a six-year old report on the IBM PC and its future:

\begin{quotation}
If you are still running DOS 1.0 or 1.1, you should upgrade to the
enhanced functions of version 2.0 or higher. Even without and "80286"
computer or networking needs, the third edition of DOS is worth
adopting. Several new utilities and file safety features are
significant enhancements. A new device driver called VDISK (virtual
disk) enables you to use part of the system memory as a high-speed
disk drive or RAM disk. DOS 3.2's FORMAT command has a new safety
feature that will be appreciated by users who have accidentally
reformatted a hard disk.

The fourth revision in the PC-DOS saga will not be released until
1987. DOS 5.0 will mark PC-DOS's move into multi-tasking operating
systems, and include parts of IBM's Topview or Microsoft's Windows
environment. Another major stumbling block, the 640K memory barrier,
should also evaporate as well. DOS 5.0, however, will be reserved for
IBM's muscular 80286 machines, leaving 2.0 or 3.0 as the standard for
older generation machines.
\end{quotation}

Ciao, Magnus :-)
--
Robert Storlind
ASEA BROWN BOVERI INTERNET: rob...@crclund.abb.se
Corporate Research dept KLL
IDEON Research Park FAX: int+46 46-145620

Sam Drake

unread,
Jul 15, 1992, 3:36:07 AM7/15/92
to
In article <jimf.71...@centerline.com> ji...@centerline.com (Jim Frost) writes:
>One of the 2.X upgrades made it possible to boot from a hard disk.
>2.0 couldn't do it

Well, IBM 2.0 certainly *could* boot from the hard disk!


Sam Drake / IBM Almaden Research Center
Internet: dr...@almaden.ibm.com BITNET: DRAKE at ALMADEN

Brad Levy

unread,
Jul 15, 1992, 1:30:46 AM7/15/92
to
Dos 2.0 added subdirectories, and support for 180k/360k per single/double
sided floppy (up from 160/320k)
Dos 2.1 came out when the PC/JR was announced. A few things were
different in the PC/JR hardware, 2.1 could handle the differences,
but also ran ok on standard pc's. Graphics.com may have made its
appearance "bundled" here.
Dos 3.0 came out with the PC/AT announcement. Support for 1.2meg floppies, and
support (or at least not rejection) of file sharing calls.
Dos 3.1 included real code for file sharing/locking.
Dos 4.0 (same time as PS/2 announcement, I believe) included the ability to
call a batch file from another batch file, returning to the first
batch file when done. It also included further internationalization
support, and the "dos shell", a visual user interface.
Dos 5.0 Finally adds a screen-oriented text editor, command histories, movement
of chunks of dos into high memory, and task swapping. (Most of these
were available as third-party add-ons previously) Also added was help
for the builtin commands.

There were a couple of oddball versions along the way, too. There was one
version that only saw european distribution, that provided multitasking, back
around '86 or '87.

Note that most new versions of dos were brought out to address new hardware
needs. The more recent versions have been more to address the user interface
and memory/multitasking needs/issues. Each version has brought increased
support for internationalization as well.

-brad levy (br...@informix.com)

John Switzer Frame 3.0

unread,
Jul 15, 1992, 11:44:36 AM7/15/92
to
In article <1992Jul14....@wixer.cactus.org> les...@wixer.cactus.org (Lyle J. Mackey) writes:
>In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>>"history" of dos? The similarity of some commands etc. and those
>>of Unix strongly implies this, but I'd like to find a (quotable)
>
>I don't know about the underlying code or operations, but purely on a
>command-structure level, I had always understood that DOS was derived more
>from CP/M than from *nix.

This is true - the first 24 DOS interrupts were based on CP/M calls,
and the DOS Program Segment Prefix (PSP) has a CALL at offset 5
which was for CP/M compatibility. Unfortunately, this call doesn't
have the right address - you have to round up to the nearest paragraph,
and you get a JMP to the DOS interrupt entry point.

Bruce M. Walker

unread,
Jul 15, 1992, 11:51:50 AM7/15/92
to
> alda...@rigel.spd.louisville.edu (Arlie Davis) writes:
> > In <1992Jul13....@enea.se> le...@enea.se (Lennart Boss`r) writes:
> > I believe all of the commands internal to the DOS COMMAND.COM shell
> > _will_ correctly interpret things if you change the switch character.
> > And, surprise surprise! DOS starts printing paths with *forward* slashes.
> > (It has, however, always accepted them, switch character or no.)
>
> Accepted what? / as the separator? I don't think so! I have been caught
> out many times switching between a unix session (by modem for e.g.) and
> DOS and getting it wrong, with built in and external commands.

DOS only "accepts" the forward slashes internally, ie strings passed to
INT 21h calls to do DOS functions. The stupid user commands still
misparse 'em as errors.

So you can pretend you're `programming' for UNIX, but the command
interpreter keeps reminding you otherwise.

Of course, *real* UNIX hacks get a shell for DOS if they're stuck with
any amount of DOS work. See also MKS Tools.

As for DOS 5 finally losing the "switchar" capability, yes too bad. But
with some DOSKEY aliases like

doskey cd=c:\bin\cd $*

(where \bin\cd is a replacement cd [like MKS' cd]), you can "fix" that
problem. I do, and it has added years on to the life expectancy of my
greymatter :-) Of course, with a shell, you don't need DOSKEY ...

[disclaimer: I'm a customer of MKS *only*. So there.]
--
"The path of my life is strewn with cowpats from the devils' own herd."
-- Edmund Blackadder II
b...@isgtec.com [ ...!uunet.ca!isgtec!bmw ] Bruce Walker

Joseph Boykin

unread,
Jul 15, 1992, 5:37:46 PM7/15/92
to
In article <1992Jul14....@ericsson.se>, etx...@eos.ericsson.se (Michael Salmon) writes:
|> In article <1992Jul13...@news.uwyo.edu>, rtra...@news.uwyo.edu (Rich Travsky) writes:
|> Urban legend also has it that the contract specified that he
|> bought the rights to an 8086 OS and that Seattle Computers still owned
|> the 8088 rights but I never heard the end of that story.

Not quite. SCP, since they were the original developers, maintained
rights to obtain MS-DOS from MicroSoft "quite cheaply" as long
as they sold it with hardware. Any hardware.

When SCP went down the tubes a few years later (they had a rather
suspicious fire), they were selling MS-DOS disks along with
an 8088 chip (which I'm not sure was a working chip, but I don't
think anyone cared!) for somewhat less than you could get it from
MicroSoft. MS finally got upset enough about this that they
went back to SCP and just bought out all rights. The offer was
such that the husband and wife team that owned SCP couldn't say no.

How do I know this? I was a consultant to SCP back in the
good 'ole days and helped develop 86-DOS (the name after
it was changed from QDOS - Quick and Dirty Operating System).

jb

Jim Frost

unread,
Jul 15, 1992, 5:13:30 PM7/15/92
to
dr...@drake.almaden.ibm.com (Sam Drake) writes:
>In article <jimf.71...@centerline.com> ji...@centerline.com (Jim Frost) writes:
>>One of the 2.X upgrades made it possible to boot from a hard disk.
>>2.0 couldn't do it

>Well, IBM 2.0 certainly *could* boot from the hard disk!

Well, it didn't on my employer's PC at the time. Come to think of it
that PC was so old maybe the ROMs were the problem.

jim frost
ji...@centerline.com

Joseph Boykin

unread,
Jul 15, 1992, 5:42:37 PM7/15/92
to
In article <1992Jul14.1...@bas-a.bcc.ac.uk>, uca...@ucl.ac.uk (Mr Stephen R Usher) writes:
|> In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
|> I've no references, but from what I'v gathered this is the story of MS-DOS..

No references and very few facts.

|> It was originally written by a small Californian S/W firm who needed a cheap

|> CP/M clone for a 8088, it was called internally QDOS, standing for Quick and
|> Dirty Operating System.

It was developed by Seattle Computer Products of Seattle, Washington.
Then name was changed from QDOS to 86-DOS *very* early.


|> They found the S/W firm above laguishing and backrupt.. they bought the OS
|> from them, changed the name and managed to show it to IBM by IBM's deadline.

No no no. SCP was actually doing "reasonably well" at the time.
When IBM went to Microsoft, MS told them they had an OS. They immediately
ran down the road (almost literally) and bought rights to 86-DOS.
They took 86-DOS, made a few, but not all that many, changes
and shipped it as MS-DOS version 1.0 and PC-DOS version 1.25 (or something
close to that).

|> Soon Microsoft realised that they needed to re-write MS-DOS from scratch,
|> but this was ok because of the leeway version 1.0 had given them, and the
|> money IBM had payed them.. they bought some programmers.

Most of whom sucked. I've seen the internals of DOS 2.0 and
wouldn't give you the right time of day for it.

|> Version 2 soon arrived, this was more stable, though I don't think it had
|> directories yet.

It did.

jb

Peter da Silva

unread,
Jul 15, 1992, 2:47:33 PM7/15/92
to
In article <1992Jul14....@dragon.acadiau.ca> al...@dragon.acadiau.ca (Alan McKay) writes:
> This is what we learnen in our OS course here ... that DOS is rooted
> in CP/M.

DOS is rooted in CP/M. UNIX is rooted in "/".
--
Peter da Silva `-_-'
$ EDIT/TECO LOVE 'U`
%TECO-W-OLDJOKE Not war? Have you hugged your wolf today?
Ferranti Intl. Ctls. Corp. Sugar Land, TX 77487-5012 +1 713 274 5180

Pete Gontier

unread,
Jul 16, 1992, 12:30:41 AM7/16/92
to
b...@isgtec.com (Bruce M. Walker) writes:
>DOS only "accepts" the forward slashes internally, ie strings passed to
>INT 21h calls to do DOS functions. The stupid user commands still
>misparse 'em as errors.

It was my assumption that the C stdio libraries provided with DOS
compilers were doing the conversion.
--
Pete Gontier // EC Technology // gur...@netcom.com

Mike Stefanik

unread,
Jul 15, 1992, 4:14:45 PM7/15/92
to
In an article, etx...@eos.ericsson.se (Michael Salmon) writes:
>I presume that you mean MS-DOS and I'm sad to say that there is very
>little of Unix in its background.

While this is true for MS-DOS 1.x, there are quite a few UNIXisms in
later versions of DOS. With 2.x and later versions, there was a decidedly
UNIX-like hierachial filesystem. Note that the system calls that dealt
with the filesystem accepted both the '\' and the '/' as valid path
delimiters. The concept of the "search path", an inheritable environment,
standard input, output and error, null device (bit bucket), a similarity
between many of the DOS system calls and UNIX system calls (ie: open, close,
dup, ioctl, etc.), and devices as files (ie: NUL, LPT, etc.) all show a
strong influence of UNIX on the DOS design. There were also two undocumented
system calls, one that would change the "switch character" so that command.com
would recognize the '-' (therefore allowing '/' as a path delimiter in the
shell), and another call that would cause all device opens() to fail unless
they were prefixed with "/DEV/" (therefore, an open of "NUL" would fail, while
an open of "/DEV/NUL" would succeed, regardless of if such a directory existed
or not). Some degree of portability between DOS and XENIX was obviously an
issue.

There was an internal memo published in Microsoft stating that each future
version of MS-DOS would become more like XENIX. I would guess that the
popularity of the MS Windows project in the mid 80's scuttled this development
path for DOS.
--
Mike Stefanik mi...@pacsoft.com ...!uunet!pacsoft!mike (+1 714 984 4097)
Pacific Software Group, Ontario, CA

zcoo...@cc.curtin.edu.au

unread,
Jul 16, 1992, 5:58:19 AM7/16/92
to
In article <1992Jul14....@wixer.cactus.org>, les...@wixer.cactus.org (Lyle J. Mackey) writes:
> In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
>>"history" of dos? The similarity of some commands etc. and those
>>of Unix strongly implies this, but I'd like to find a (quotable)
>
> I don't know about the underlying code or operations, but purely on a
> command-structure level, I had always understood that DOS was derived more
> from CP/M than from *nix.
>

(Getting in on the discussion late here but:)

I understood that the original DOS came from CPM, and then for version
2 "unix look and feel" was added. (It was considered nice at the time).

I am wondering if it realy came from CPM, or was derived from RT-11 just
as CPM was ???

...BRU

UK...@dkauni2.bitnet

unread,
Jul 16, 1992, 8:02:58 AM7/16/92
to

> In article <1992Jul14....@dragon.acadiau.ca> al...@dragon.acadiau.ca (A


> n McKay) writes:
> > This is what we learnen in our OS course here ... that DOS is rooted
> > in CP/M.
>
> DOS is rooted in CP/M. UNIX is rooted in "/".

> Peter da Silva `-_-'

Yes, and if you type VER in DR-DOS 6.0, you get something like
Copyright 1976-1991 by Digital Research, so there IS CP/M code in
DR-DOS 6.0 .

tobias koehler

Greg Lehey

unread,
Jul 16, 1992, 4:46:26 AM7/16/92
to

The original product was called 86/DOS and was written by Seattle
Computer Products. SCP was primarily a hardware company - I bought a
couple of boards from them in 1980 (a nice, *fast* (well, for the
time) 8 MHz 8086 board with all support logic on just two S-100 boards.
Oh well.

In any case, bundled with this package was a copy of 86/DOS 1.0. I
rang up the president of SCP (which I suspect was about a 10-employee
company) - I think his name was George Gardener - and asked him why
they had gone to the trouble of writing their own CP/M-like OS when it
was well known that Digital Research, *the* Microcomputer Operating
System Company, was about to bring out CP/M-86. He told me that they
had had to do it in order to use the machines at all, and that they
had made it reasonably CP/M compatible just in time. However, the
future for 86/DOS was looking rosy: a large company ("I can't tell you
how large or you'll know who they are") had decided to introduce a
computer with 86/DOS as the operating system, and he was reasonably
confident that they would be able to hold their own against CP/M 86 as
a result.

I didn't believe him, and in fact, from my point of view, he was
wrong: I never got 86/DOS to work, since it was was not as modularly
designed as CP/M, and I couldn't get it to talk to my (floppy) disk
controller. In the end, I installed CP/M 86, and stayed with that
until I succumbed some years later and bought a PC clone.


--
Greg Lehey | Tel: +49-6637-1488
LEMIS | Fax: +49-6637-1489
Schellnhausen 2, W-6324 Feldatal, Germany
*** NOTE ***: Headers are mangled - reply to grog%le...@Germany.EU.net

Bill Spitzak

unread,
Jul 16, 1992, 3:05:56 PM7/16/92
to
> on the switchar.

In MSDOS 2.0 the system calls accepted both '\' and '/' in file names. The
"switchar" was simply a setting stored by the system (like locale information
is now) that COMMAND.COM looked at. Some MSDOS software also looked at it
to parse their command line. As I remember most 3rd party software used '-'
for switches anyway and thus didn't care.

In MSDOS 2.0 the string you sent to
the "chdir" system call was stored literally so if you used lower case and
forward slashes that was what was returned by the "pwd" (?) command, and
what was printed if you put the current directory in your prompt (oh joy of
joys!).

I believe that for compatability, MSDOS still accepts '/' in file names (yay!).
But for obscene reasons, it now "cooks" any file names sent to it, so when
you ask for them back they are made into upper case, the slashes are replaced
with backslashes, and worst of all they are truncated to 8.3 characters! This
broke some of my software that assummed equal strings would be returned to those
sent.

An amazing number of C manuals state that to put a file name in quotes you must
type it as "\\foo\\bar\\baz" because \ is the C quoting character. Yet those
programs will all work if you use forward slash!

Einar Indridason

unread,
Jul 16, 1992, 6:07:43 PM7/16/92
to
In <28...@isgtec.isgtec.com> b...@isgtec.com (Bruce M. Walker) writes:
>So you can pretend you're `programming' for UNIX, but the command
>interpreter keeps reminding you otherwise.

Sadly, yes. Sometimes I would (almost) kill for that
backquote-substitution, that I get in the Bourne- or Korn shell.


>Of course, *real* UNIX hacks get a shell for DOS if they're stuck with
>any amount of DOS work. See also MKS Tools.

Of course, *real* Unix hacks are done on a *real* Unix boxes.


Oh, how I would like to see MeSsy-DOgS just die. Dropping that silly 640K
limit, and the single tasking nature!

How about it Intel? What about making the P5 coming up in non-combatible
mode? (which you would have to enable specially for the DOS-sessions?)

(for the humour damaged, the above sentence should have an 1/2 :-)


--
ein...@rhi.hi.is

mar...@vax.oxford.ac.uk

unread,
Jul 16, 1992, 10:54:06 AM7/16/92
to
In article <920714131...@thep.lu.se>, mag...@THEP.LU.SE (Magnus Olsson) writes:
> In article <1992Jul14.1...@bas-a.bcc.ac.uk> uca...@ucl.ac.uk writes:
[Stuff deleted]
>
> For example: When they added subdirectories, they imitated the Unix
> file system, with "." and ".." entries *but* the root directory still
> isn't a proper directory, and there is no "." or ".." in the root
> directory. This means that this has to be treated as a special case
> when programming. And why not adopt the Unix notion of just having
> *one* filesystem for all devices, instead of having one for each disk
> drive? Wouldn't it be much more convenient to have e.g. \a\foo\bar
> instead of A:\foo\bar?

Not if you had to 'mount \dev\fd0 \a' (or whatever the syntax is) first.

>
[Stuff deleted]
> --
> Magnus Olsson | \e+ /_
> Dept. of Theoretical Physics | \ Z / q
> University of Lund, Sweden | >----<
> Internet: mag...@thep.lu.se | / \===== g
> Bitnet: THEPMO@SELDC52 | /e- \q
--
Jose Marques, Systems Programmer
%INCLUDE STDDIS; /* Standard Disclaimer */

Lamar Owen

unread,
Jul 15, 1992, 11:34:01 AM7/15/92
to
wlha...@mwunix.mitre.org (William L. Hadley) writes:

> rtra...@news.uwyo.edu (Rich Travsky) writes:
>
> >Does anyone have a reference (book, article, whatever) on the


> >"history" of dos? The similarity of some commands etc. and those
> >of Unix strongly implies this, but I'd like to find a (quotable)

> >reference of some kind. Mostly I'm just curious...
>
> PC Magazine has a book out called "DOS Power Tools" that has a chapter that
> talks some about the history of DOS. It is Chapter 1, The Development of DOS


> It, however, talks about DOS's roots coming from CP/M. I hope this helps!

> Bill Hadley

On page 7 of "DOS Power Tolls" (A Bantam Book...The PC Magazine book is not
this one...) says:

Keeping track of all the files on a hard disk meant coming up with a new DOS
file management and directory system. CP/M had dealt with large disks by
splitting (or partitioning) them evenly into smaller ones, an inelegant and
inefficient solution. But UNIX, an operating system developed by the phone
company, could handle vast volumes of files with relative style and ease.
Microsoft had licensed UNIX, and was offering a version of it called XENIX.
At the heart of UNIX/XENIX was a hierarchical or tree-structured directory
system that gave users lots of flexibility in dividing up the available
storage space.

The book goes on to tell about the unfortunate use of the forward-slash in
DOS commands as the option switch character.

So, DOS is a union of CP/M and Unix--which means that DOS is a union of
RT-11, RSX-11, TOPS-10, and Unix, since CP/M owes its heritage to the DEC
OS's for the PDP-10 and 11. No WONDER everybody HATES DOS! The effect of
having the RSX-11, RT-11, TOPS-10, and Unix worlds actually working together
in a reasonable OS has absolutely HORRENDOUS overtones for any {Unix,RSX-11,
(indirectly VMS),RT-11,TOPS-10} partisan--"*My* OS is the only OS and your's
is too crufty to even run right!"--Again, no bloody wonder that DOS is
hated like a mutt dog.

*My* favorite OS has none of those problems (duck) :-). Actually, heresy
of heresies, I like all of the above. I have used, and like, VMS, Unix, and
DOS. Can't say that I *like* CP/M, but it is tolerable. I tend to actually
use Unix more--but that's beacuse I was given a 3B1 and a Tandy 6000 (which
runs XENIX, BTW) by a fellow.

So, let's get the "DOS Roots" straight:

DOS Version 1.0 through 1.25 were nearly direct copies of CP/M 86. Almost
all "features" of the OS were borrowed from CP/M, including the FCB file
access method. New stuff was used, however--the FAT filesystem, the EXE
file format, accurate file length info, and a few other sundries.

DOS Version 2.00 was a complete rewrite. Device independence and the driver
concept, hierarchical filesystem (still FAT, the Unix inode system was too
far of a departure from the "standard" DOS 1.x way of doing things), piping
and redirection at the shell level (using the Bourne/C shell characters),
a brain-dead incarnation of shell scripts (Batch files), the concept of
filters (tied closely to device independence), and others.

It is interesting that even DOS 1.0 had the capability of changing the Shell,
even though it took all the way to 2.0 to be able to really USE this capability
with SET COMSPEC=. Environment variables were another thing that DOS 2.x
borrowed from Unix.

Of course, Unix probably got alot of its concepts from other places, but, due
to Microsoft's positioning of its Xenix product, it made sense to draw DOS
closer to Xenix.


Lamar Owen, Systems Consultant, GE Lighting Systems, Hendersonville, NC
***********************************************************************
Opinions expressed herein are the author's and do not reflect policy
or opinions of the General Electric Company or its subsidiaries.
***********************************************************************

Graeme Gill

unread,
Jul 17, 1992, 5:26:33 AM7/17/92
to
In article <1992Jul16....@ksmith.uucp>, ke...@ksmith.uucp (Keith Smith) writes:
> Switch char's in CP/M where in [ ... ]

True, but only in DR products. Microsoft used / as option switch in
their CP/M products. They obviously carried this over to MS-DOS.

Graeme Gill

Jim Frost

unread,
Jul 17, 1992, 3:53:24 PM7/17/92
to
b...@isgtec.com (Bruce M. Walker) writes:
>Of course, *real* UNIX hacks get a shell for DOS if they're stuck with
>any amount of DOS work. See also MKS Tools.

Hell, I just wrote my own. I wanted "!" history substitution that
bad, and I don't think MKS wasn't around then anyway.

Since I couldn't afford a C compiler back then the whole thing was in
Pascal. It's quite fun writing a shell.

jim frost
ji...@centerline.com

Scott Telford

unread,
Jul 17, 1992, 10:39:19 AM7/17/92
to
In article <1992Jul15....@informix.com>, br...@informix.com
(Brad Levy) writes:

> There were a couple of oddball versions along the way, too. There was one
> version that only saw european distribution, that provided multitasking, back
> around '86 or '87.

Which was called MS-DOS 4.0, believe it or not. Not many people seem
to remember this, least of all Microsoft....

--
Scott Telford, Dept of Computer Science, electric mail: s.te...@ed.ac.uk
University of Edinburgh, Mayfield Rd, Edinburgh, EH9 3JZ, UK.
------- Rollin' over like a big, big cloud/Walkin' out in the Big Sky! --------

Jim Frost

unread,
Jul 17, 1992, 3:48:09 PM7/17/92
to
mar...@vax.oxford.ac.uk writes:
>In article <920714131...@thep.lu.se>, mag...@THEP.LU.SE (Magnus Olsson) writes:
>> In article <1992Jul14.1...@bas-a.bcc.ac.uk> uca...@ucl.ac.uk writes:
>[Stuff deleted]
>>
>> For example: When they added subdirectories, they imitated the Unix
>> file system, with "." and ".." entries *but* the root directory still
>> isn't a proper directory, and there is no "." or ".." in the root
>> directory. This means that this has to be treated as a special case
>> when programming. And why not adopt the Unix notion of just having
>> *one* filesystem for all devices, instead of having one for each disk
>> drive? Wouldn't it be much more convenient to have e.g. \a\foo\bar
>> instead of A:\foo\bar?

>Not if you had to 'mount \dev\fd0 \a' (or whatever the syntax is) first.

One could easily envision a device that didn't need to be mounted and
unmounted to deal with the filesystem. It's not "traditional UNIX"
because you couldn't do rampant buffering and asynchronous writing,
but it's pretty easy to do.

jim frost
ji...@centerline.com

Glauber

unread,
Jul 14, 1992, 8:16:33 PM7/14/92
to
>> I also vaguely remember that the DOS 2.0 manual from Microsoft
>> said something about DOS history. There were environment settings for
>> using "/" instead of "\" for pathname separators and "-" instead of
>> "/" for options. Kept that manual for sentimental reasons but have
>> thrown it away recently.
>
>There is a semi-documented DOS call that allows you to set the switch
>character. Borland C/C++ calls it "setswitchar", and it is in <dos.h>.

>
>I believe all of the commands internal to the DOS COMMAND.COM shell
>_will_ correctly interpret things if you change the switch character.
>And, surprise surprise! DOS starts printing paths with *forward* slashes.
>(It has, however, always accepted them, switch character or no.)
>

Yes, it was too good to be left alone, so Microsoft eliminated
this function from DOS 5. Nice guys...

Glauber
--
Glauber Ribeiro - Wheaton College, IL (USA)
gla...@david.wheaton.edu

Tim W Smith

unread,
Jul 17, 1992, 8:12:55 PM7/17/92
to
> > There is a semi-documented DOS call that allows you to set the switch
> > character. Borland C/C++ calls it "setswitchar", and it is in <dos.h>.
>
> This has been removed in DOS 5.00

What happens if you use SETVER? Can you put it back in?

Tim W Smith

unread,
Jul 17, 1992, 8:20:45 PM7/17/92
to
> 4.X Never used it. Support for >32M disk drives, by splitting into virtual
> drives of <32M (I think). Third-party software did the same thing
> earlier.

Nope. For some X, 3.X supported >32M drives by making them look like many
smaller drives. 4.X allowed a partition to be larger than 32 M.

--Tim Smith

Matt Welsh

unread,
Jul 17, 1992, 12:42:26 PM7/17/92
to
In article <l6bi4k...@appserv.Eng.Sun.COM> spi...@gree.Eng.Sun.COM writes:
>> on the switchar.

>
>I believe that for compatability, MSDOS still accepts '/' in file names (yay!).
>
>An amazing number of C manuals state that to put a file name in quotes you must
>type it as "\\foo\\bar\\baz" because \ is the C quoting character. Yet those
>programs will all work if you use forward slash!
>

Wait, I'm pretty sure that it's the C runtime library translating the '/'
in strings handed to it for filenames. If I could get my source, I'd check it
out, but as far as I know, DOS only knows '\' (but the C RTL for MS,
Borland, et. al. translate '/' into '\' for UNIX compatibility).

mdw

Steve VanDevender

unread,
Jul 18, 1992, 8:16:38 AM7/18/92
to
In article <1992Jul17.1...@dg-rtp.dg.com>
wel...@snail.rtp.dg.com (Matt Welsh) writes:

Wait, I'm pretty sure that it's the C runtime library
translating the '/' in strings handed to it for filenames. If
I could get my source, I'd check it out, but as far as I know,
DOS only knows '\' (but the C RTL for MS, Borland, et. al.
translate '/' into '\' for UNIX compatibility).

mdw

So why will assembly-language programs that include pathname
strings with '/' in them still work?
--
Steve VanDevender ste...@greylady.uoregon.edu
"Bipedalism--an unrecognized disease affecting over 99% of the population.
Symptoms include lack of traffic sense, slow rate of travel, and the
classic, easily recognized behavior known as walking."

Don Nichols (DoN.)

unread,
Jul 15, 1992, 10:12:38 PM7/15/92
to
In article <jimf.71...@centerline.com> ji...@centerline.com (Jim Frost) writes:
>dnic...@ceilidh.beartrack.com (Don Nichols (DoN.)) writes:

[ ... ]

>> I have no inside knowledge, so this is all speculation. However, I
>>*do* know that Microsoft wrote for the Motorola processors quite early in
>>its life. I have a 8k BASIC interpreter, written for the Altair 680b
>>(MC6800 cpu) in, I believe, 1976.
>
>Wasn't that the one that got stolen and massively duplicated, causing
>Gates to go into conniption fits?

No, that was the 8K BASIC interpreter for the 8080 cpu (the Altair
8800). There weren't enough of the 680b's made to make massive duplication
*possible*, let alone worth the trouble, and nobody ever cloned the 680b the
way they did the 8800. I suspect that less than 100 of the machines were
ever made and sold.

(I once *did* modify the interpreter to run on the SWTP 6800, at
which point it ran rings around the 8800. (MITS crippled the 680b by
slowing the cpu clock to only 500Khz on a CPU chip that normally ran at
1.0MHz. They did this to accomodate the 1702 EPROMS without bothering to
build the stretchable clock circuit documented in the Motorola literature.
:-( The 6800 at 1.0 MHz was faster running the BASIC interpreter than the
8080 was at 2.0 MHz. (Primarially because the 6800 did things on both the
leading and trailing edges of the clocks, and secondarially because of a
more powerful instruction set.)

I was never able to figure out why MITS called both machines (with
incompatable CPUs, busses, etc) Altairs. The only thing in common was the
color scheme, and the 100-pin bus *connector* - not the pinout. :-)

I still have my 680b. (If you send me e-mail about this, you
probably should wait till near Friday, since my primary feed is down again,
and its owner doesn't get home till late Friday.) If you send it to early,
some machine with quick expire times may bounce it, or toss it to the bit
bucket.


--
Donald Nichols (DoN.) | Voice (Days): (703) 704-2280 (Eves): (703) 938-4564
D&D Data | Email: <dnic...@ceilidh.beartrack.com>
I said it - no one else | <dnic...@ceilidh.aes.com>
--- Black Holes are where God is dividing by zero ---

ka...@desert.hacktic.nl

unread,
Jul 19, 1992, 8:42:58 AM7/19/92
to
In article <39...@skye.dcs.ed.ac.uk>, Scott Telford writes:

S> In article <1992Jul15....@informix.com>, br...@informix.com
S> (Brad Levy) writes:
S>
S> > There were a couple of oddball versions along the way, too. There was one
S> > version that only saw european distribution, that provided multitasking, back
S> > around '86 or '87.
S>
S> Which was called MS-DOS 4.0, believe it or not. Not many people seem
S> to remember this, least of all Microsoft....

Are you sure ? How was it implemented ? At the command-line level
or at the API level ? I've used DOS 4.0 (for one week or so) because
it came with the IBM PS/2's we ordered. It caused Clipper indexes
to become crosslinked, so we switched to 3.3.

kAFkA

ka...@desert.hacktic.nl | VMB:+31 20 6001480 *109# | UTOPIA BBS: +31206273860

--------------PGP Public Key-------------------------------------------------
------------------------------------------------------------------------------

kafka.pub

Brandon S. Allbery KF8NH

unread,
Jul 19, 1992, 12:24:35 PM7/19/92
to
As quoted from <21...@unet.UUCP> by j...@zippy.unet.com (John Switzer Frame 3.0):
+---------------

| In article <1992Jul14....@wixer.cactus.org> les...@wixer.cactus.org (Lyle J. Mackey) writes:
| >In article <1992Jul13...@news.uwyo.edu> rtra...@news.uwyo.edu (Rich Travsky) writes:
| >>"history" of dos? The similarity of some commands etc. and those
| >>of Unix strongly implies this, but I'd like to find a (quotable)
| >
| >I don't know about the underlying code or operations, but purely on a
| >command-structure level, I had always understood that DOS was derived more
| >from CP/M than from *nix.
|
| This is true - the first 24 DOS interrupts were based on CP/M calls,
| and the DOS Program Segment Prefix (PSP) has a CALL at offset 5
| which was for CP/M compatibility. Unfortunately, this call doesn't
| have the right address - you have to round up to the nearest paragraph,
| and you get a JMP to the DOS interrupt entry point.
+---------------

True.

Back to the original question, though --- I don't have an "official"
reference, but my ITT DOS manual (still have the old box, circa 1984) says
that DOS 2.0 picked up several conventions from Microsoft's (then) other
operating system, Xenix.

(True to Micro$oft form, UNIX was never mentioned; people were obviously
(from the wording) supposed to get the idea that Xenix was completely a
Micro$oft invention. Figures.)

++Brandon
--
Brandon S. Allbery, KF8NH [44.70.4.88]: all...@NCoast.ORG, b...@telotech.com
Senior Programmer, Telotech, Inc. (if I may call myself that...)

Jeremy Fitzhardinge

unread,
Jul 20, 1992, 1:21:17 AM7/20/92
to
In <21...@unet.UUCP> j...@zippy.unet.com (John Switzer Frame 3.0) writes:

>In article <1992Jul14....@wixer.cactus.org> les...@wixer.cactus.org (Lyle J. Mackey) writes:
>This is true - the first 24 DOS interrupts were based on CP/M calls,
>and the DOS Program Segment Prefix (PSP) has a CALL at offset 5
>which was for CP/M compatibility. Unfortunately, this call doesn't
>have the right address - you have to round up to the nearest paragraph,
>and you get a JMP to the DOS interrupt entry point.

If I remember correctly, there's even a MS-DOS interrupt to do the same
as the CP/M call to print '$' terminated strings. Looks like an essential
piece of functionality to emulate to me...

J


--
jer...@softway.sw.oz.au ph:+61 2 698 2322-x122 fax:+61 2 699 9174
What are you looking at?
I don't know, your label has fallen off.

Charles Lasner

unread,
Jul 20, 1992, 12:53:06 PM7/20/92
to
In article <07189213...@desert.hacktic.nl> ka...@desert.hacktic.nl writes:
>
>Are you sure ? How was it implemented ? At the command-line level
>or at the API level ? I've used DOS 4.0 (for one week or so) because
>it came with the IBM PS/2's we ordered. It caused Clipper indexes
>to become crosslinked, so we switched to 3.3.

There were a few applications that had problems *not* with DOS 4.0 per se,
(although there were a few of those as well!) but with the >32 Megabytes
file structure most programs were exposed to first in DOS 4.0. I had
problems with WordPerfect 4.2 in that it couldn't install on DOS 4.01, but
could run if first created on 3.3, then all files moved to 4.01. I later
found out that you could install it on a 4.01 system partitioned according
to the old 3.x restriction of <32 Megs/partition.

These days, we use MS-DOS 5.0 with the same file structure which allows
up to 512 Megs/partition or DR-DOS 6.0 which allows up to 2.0 Gigs/partition.
Just about every updated application has no problems with this larger
environment. I suspect that Clipper had to be upgraded as well for similar
reasons.

BTW, not all 3.3 systems are created alike: NEC MS-DOS 3.30 allows for
64 Meg partitions and is not really totally compatible. OnTrack's
Disk Manager has an obscure option switch for the NEC "large" partitions.
DOS 3.31 first seen from Compaq is compatible with the 512 MEgs/partition
scheme used in DOS 4 and 5. It cannot always be configured to be used
with disks acceptable to MS-DOS/PC-DOS in general, but will always function
on all Compaq systems. (Certain XT-type disk controllers won't boot Compaq
DOS 3.31 even though a floppy version can access them; this is not a problem
with DOS 4 or newer. Perhaps this was a "hasty" problem for this early
version; I doubt if it was a deliberate "lock" added by Compaq. In any case
I had a machine where if it was configured for <32 Megs/partition, Compaq
DOS 3.31 would boot the hard disk, while using FDISK to change to >32 Megs
per partition on the same hardware would cause it to hang while booting.
A floppy-based Compaq DOS 3.31 system had no problems with any of the
configurations. Clearly, it has to be a DOS problem because in theory, the
ROM in the XT controller is passed the same info either way. When switching
to an AT-type disk system, no problems were encountered.)

cjl

CP/M lives!

unread,
Jul 20, 1992, 4:02:07 PM7/20/92
to
In article <1992Jul20....@news.columbia.edu>, las...@watsun.cc.columbia.edu (Charles Lasner) writes:
> configurations. Clearly, it has to be a DOS problem because in theory, the
> ROM in the XT controller is passed the same info either way. When switching
> to an AT-type disk system, no problems were encountered.)

The problem is the same one that RT-11, CP/M, and even OS/8 see. MS-DOS was
limited to a 16-bit block number (32M is 64K 512-byte blocks). RT-11 has
the same limit. CP/M is limited to 8M because it counts 128-byte blocks.
OS/8 is limited to about 2.5M because it only has 12 bits.

Roger Ivie
iv...@cc.usu.edu

Rich Wells

unread,
Jul 20, 1992, 10:29:43 AM7/20/92
to
>In article <39...@skye.dcs.ed.ac.uk>, Scott Telford writes:
> S> > There were a couple of oddball versions along the way, too. There was one
> S> > version that only saw european distribution, that provided multitasking, back
> S> > around '86 or '87.
> S> Which was called MS-DOS 4.0, believe it or not. Not many people seem
> S> to remember this, least of all Microsoft....
>
>Are you sure ? How was it implemented ? At the command-line level
>or at the API level ? I've used DOS 4.0 (for one week or so) because
>it came with the IBM PS/2's we ordered. It caused Clipper indexes
>to become crosslinked, so we switched to 3.3.
>

There were two different 4.0 versions of MS-DOS. One was released only
in Europe, and did some degree of multitasking (perhaps only a 286-class
machine?), while the other came out many years later in the US and was
just another upgrade (it supported disk partitions >32Mb, as I recall).
The multitasking 4.0 was never heard of again. I don't know how
compatible it was with normal MS-DOS, or for that matter it was at all
compatible.

Does anyone have some concrete information about this phantom DOS 4.0?

The DOS 4.0 that trashed the above writer's Clipper indexes was probably
one of the early releases of PC-DOS 4.0 (MS-DOS may have also had the
same problems) which had several rather nasty file system bugs.

Richard Wells we...@cdsmn.mn.org or ...!tcnet!cdsmn!wells

Drew Eckhardt

unread,
Jul 20, 1992, 9:10:03 PM7/20/92