Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unix Roots of DOS?

44 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
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:
>
>Version 2 soon arrived, this was more stable, though I don't think it had
>directories yet.

Version 2 had directories and hard disk support, up to ~16M.

>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.

more was bundled with DOS 2.x. Unfortunately, it would only
take input from stdin, and not a file.

Larry Jones

unread,
Jul 20, 1992, 2:32:05 PM7/20/92
to
In article <07189213...@desert.hacktic.nl>, ka...@desert.hacktic.nl writes:

: 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> > 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.

Like Brad said, the "MS-DOS 4.0" that did multitasking was only
distributed in Europe and it was just distributed for a short time. The
"MS-DOS 4.0" designation was re-used much later world-wide for the
MS-DOS-3.3-plus-large-partition-support-that-doesn't-quite-work-right-
most-of-the-time that we've all come to know and love.
----
Larry Jones, SDRC, 2000 Eastman Dr., Milford, OH 45150-2789 513-576-2070
Domain: lawrenc...@sdrc.com IBMMAIL: USSDR7DR at IBMMAIL
My life needs a rewind/erase button. -- Calvin

Brandon S. Allbery KF8NH

unread,
Jul 20, 1992, 8:35:26 PM7/20/92
to
As quoted from <eFmyNB...@lorc.UUCP> by lo...@lorc.UUCP (Lamar Owen):
+---------------

| On page 7 of "DOS Power Tolls" (A Bantam Book...The PC Magazine book is not
>-------------------------^^^^^ Freudian slip? :-)

| 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.
+---------------

The interesting thing being that the CP/M-80 world had its own solution,
namely ZCPR... which used the TOPS-10 (or possibly Tenex / TOPS-20)
hierarchical filename notation. (Considering how klunky DOS is, it would
probably have been appropriate. :-)

Brandon S. Allbery KF8NH

unread,
Jul 20, 1992, 8:39:58 PM7/20/92
to
As quoted from <!d-mq#c.gu...@netcom.com> by gur...@netcom.com (Pete Gontier):
+---------------

| 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.
+---------------

Nope. I tried it with some assembler-level DOS calls in DOS 2.11; sure enough,
they were perfectly willing to accept "/" as the pathname separator.

Christopher Davis

unread,
Jul 21, 1992, 12:19:53 AM7/21/92
to
Drew> == Drew Eckhardt <dr...@caesar.cs.colorado.edu>

Drew> more was bundled with DOS 2.x. Unfortunately, it would only
Drew> take input from stdin, and not a file.

And I think it *still*, in 5.0, only takes input from stdin, rather than
a file. Bletcherous. (What did I expect, though...)
--
Christopher Davis * c...@eff.org * System Administrator, EFF * +1 617 864 0665
``The First Amendment is often inconvenient. But that is besides the
point. Inconvenience does not absolve the government of its obligation
to tolerate speech.'' --Justice Anthony Kennedy, in 91-155

Charles Lasner

unread,
Jul 21, 1992, 2:00:09 AM7/21/92
to
In article <1992Jul21....@colorado.edu> dr...@caesar.cs.colorado.edu (Drew Eckhardt) writes:
>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:
>>
>>Version 2 soon arrived, this was more stable, though I don't think it had
>>directories yet.
>
>Version 2 had directories and hard disk support, up to ~16M.
>
I currently run MS-DOS 2.11 on the DECmate with 32 Meg partitions.

cjl


Charles Lasner

unread,
Jul 21, 1992, 2:33:13 AM7/21/92
to
In article <18...@sdrc.COM> scj...@thor.sdrc.com (Larry Jones) writes:
>
>Like Brad said, the "MS-DOS 4.0" that did multitasking was only
>distributed in Europe and it was just distributed for a short time. The
>"MS-DOS 4.0" designation was re-used much later world-wide for the
>MS-DOS-3.3-plus-large-partition-support-that-doesn't-quite-work-right-
>most-of-the-time that we've all come to know and love.

MS-DOS 4.01 was released several times. The version where all files are
dated about April, 1989 is stable and functional. I even use it today
sometimes.

The biggest gripe people have against DOS 4.01, other than association with
past crimes of unstable versions is that it uses slightly more memory in
the 640K space than 2.x and 3.x predecessors. For most users, this is a
non-issue, but there are memory hungry applications that barely fit in a
3.3 system's free memory space, so there are those that will fight over
2500 bytes. Also, at about the same time, some of these applications grew
larger because people tended to add video and printer drivers thus making
memory even tighter.

A bandaid was applied in that a HIMEM.SYS driver was released that is
compatible with 3.3 or 4, that takes advantage of the 286 quirk of
addressing the FFFF memory segment which uses real memory, yet exceeds
the 1.0 Meg limit by 64K-16 bytes.

This HIMEM.SYS could only allow cooperating TSR's to load there, and of
course some won't work this way.

The solution to this problem comes in DR-DOS which allows HIDOS.SYS to move
parts of the DOS kernel to available memory in either the 640K-1.0 Meg area
now known as Upper Memory, or to the HIMEM area. This is a more useful
gain than some TSR's there, thus an overall improvement. DR-DOS 5 (later
6) is somewhat smaller than DOS 4 anyway. If a NEAT or other supported
chipset is available, the user gets back as much as 628K of 640K. (That's
K's as in 1024, not thousands.) If a "plain" 286, then only HIMEM can be
used. IF a '386, then EMM386 can create both a HMA and an UMA using
virtual real mode, thus the 386 is almost as good as a 286. (Yes, a 286
gets *more* memory than a 386 because you don't need the space taken up
by EMM386 which has to be in 640K area. HIDOS.SYS itself can set in UMA
with the DOS kernal on a NEAT, LEAP, or SCAT 286.)

Eventually Microsoft came up with MS-DOS 5, but it is inferior in every
memory-related way to DR-DOS 6. It gets less overall free memory on a
386 and requires HIMEM.SYS even if EMM386 is present. Further, it doesn't
support specific-chipset 286 machines, or even the NEAT 386SX, which is
just treated generically as a 386 requiring EMM386 and HIMEM. (In DR DOS
you can have an UMA with a NEAT 386SX without using EMM386, and you can even
have LIM memory without EMM386 if desired as well, because NEATEMM is a
loadable driver (that can be loaded into UMA) that provides LIM 4.0 on
any NEAT chipset machine, 386SX or 286-NEAT.) MS-DOS 5 treats all 286's as
plain ones so the only benefit is HIMEM.SYS. Even on an 8088/86 system, DOS
5 takes more from the 640K than DR-DOS. Windows 3.1 enhanced mode gives a
larger free memory space because of the UMA usage.

Note also that there is a performance penalty for using EMM386 in either
system, so a NEAT 286 can possibly outperform a 386 if either LIM or UMA
(or both) is required since there is no overhead for the UMA and little
for the NEATEMM driver. (And don't forget that about 1K improvement for
not loading EMM386 in real memory!) So, unless you have/need a fast
386 to do things only a 386 can do, you may find that a NEAT 286 running
DR-DOS suitably configured is a better deal.

cjl

Thomas Koenig

unread,
Jul 21, 1992, 5:29:42 AM7/21/92
to
las...@watsun.cc.columbia.edu (Charles Lasner) writes:

a very thorough discussion about how the different (MS|DR)-DOS - Version
deal with all the memory there may or may not be on a system, what drivers
they use etc.

That reminds me of a few definitions I some time ago, in an article:

Expanded Memory: Memory over 1 MB which is not Extended Memory
Extended Memory: Memory over 1 MB which is not Expanded Memory
Extended Expanded Memory: Memory over 1 MB which is neither Expanded Memory
or Extended Memory

The author then went on to define a Terabyte as measurement of disk space
which is so stunningly huge that the average Windows user needs ten
(that's a one with ONE zero!) days to fill it up with applications.

*sigh* Why couldn't today's standard PC operating system be OS-9 with
maybe GEM on top?
--
Thomas Koenig, ecm...@ccu1.aukuni.ac.nz, ib...@rz.uni-karlsruhe.de
The joy of engineering is to find a straight line on a double logarithmic
diagram.

Charles Lasner

unread,
Jul 21, 1992, 7:16:34 AM7/21/92
to
In article <1992Jul21....@ccu1.aukuni.ac.nz> ecm...@ccu1.aukuni.ac.nz (Thomas Koenig) writes:
>las...@watsun.cc.columbia.edu (Charles Lasner) writes:
>
>a very thorough discussion about how the different (MS|DR)-DOS - Version
>deal with all the memory there may or may not be on a system, what drivers
>they use etc.
>
>That reminds me of a few definitions I some time ago, in an article:
>
>Expanded Memory: Memory over 1 MB which is not Extended Memory

This is wrong. Expanded memory is LIM 4.0 memory, or at least a subset of
it. Actual implementation merely requires calling a driver to get passed
a small window into the larger space. The calling program has no rights
as to the expectations of implementation. Known implementations include
using 4 16K frames in the UMA to access an indefinitely large space that
might be independently available as extended memory. Or the memory might
not be otherwise available, and is actually off the memory bus generally.
This is often dones as "above-board" memory and is the usual way for 8088
or 8086 class machines. The memory is never within the memory space of
the 1 meg of the machine except for the frames. There is also a version that
uses disk space and at least 64K of real memory. In theory, UMA could be
combined with disk space to make a larger LIM memory. Caching could even
be done if someone cared enough.

>Extended Memory: Memory over 1 MB which is not Expanded Memory

Again wrong. Extended memory is all memory over 1 MB. There is a
standard called XMS which allows for the HMA in the first 64K-16 and then
the rest can be allocated in a more orderly way, but there are programs that
don't adhere to these standards as well, since it's fairly new. DR DOS 5
didn't use it, but XMS 2.0 is part of both DR DOS 6 and MS DOS 5.

>Extended Expanded Memory: Memory over 1 MB which is neither Expanded Memory
>or Extended Memory
>

A copout that need not exist in light of the proper definition of the first
two.

cjl

Magnus Olsson

unread,
Jul 21, 1992, 7:03:44 AM7/21/92
to
In article <1992Jul21....@colorado.edu> dr...@caesar.cs.colorado.edu writes:
>more was bundled with DOS 2.x. Unfortunately, it would only
>take input from stdin, and not a file.

So what's the problem with typing more < foo.txt (more than having to
type an extra character)?

But I agree that MS-DOS 'more' is a hopelessly broken hack, only
vaguely reminiscent in functionaity to the Unix original. Fortunately,
there exist several excellent ports of 'less', which is better than
Unix 'more' anyway. I think the only one of the Unix-like filters in
MS-DOS that I've found really useful is sort - the others are just too
bletcherously broken.

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

Jay S. Rouman

unread,
Jul 21, 1992, 9:32:34 AM7/21/92
to
In article <1992Jul21.0...@NCoast.ORG> all...@ncoast.org (Brandon S. Allbery KF8NH) writes:
>The interesting thing being that the CP/M-80 world had its own solution,
>namely ZCPR... which used the TOPS-10 (or possibly Tenex / TOPS-20)
>hierarchical filename notation. (Considering how klunky DOS is, it would
>probably have been appropriate. :-)

Just to add a little to this, I have used ZCPR3 a lot and still own a
system that runs it. ZCPR3 is a wonderful system that provides search
paths, named directories, a heirarchical help system, termcaps, and a
raft of other useful features. The file system is, however, flat not
hierarchical. Actually, CP/M always had the ability to divide disk
drives into user area. Unfortunately, until ZCPR3 was created, the
tools did not exist to really take advantage of this feature. ZCPR3
placed labels on each user area, so you could say "TEXT:FOO.TXT", and
the OS would figure out what disk drive and user area you wanted. All
the directories existed, whether labeled or not, so you could also say
"B4:FOO.TXT" to refer to a file on Drive B, user area 4. Sub-directories
are not possible and changing the directory labels requires a partial
rebuild of the system, so it's not as convenient as mkdir and rmdir.
It's too bad that ZCRP3 wasn't ported to the 8088, but I think the
author had moved on to other things by that time.
--
Jay S. Rouman (j...@dexter.mi.org)

CP/M lives!

unread,
Jul 21, 1992, 11:46:52 AM7/21/92
to
In article <1992Jul21.0...@NCoast.ORG>, all...@NCoast.ORG (Brandon S. Allbery KF8NH) writes:
>
> The interesting thing being that the CP/M-80 world had its own solution,
> namely ZCPR... which used the TOPS-10 (or possibly Tenex / TOPS-20)
> hierarchical filename notation. (Considering how klunky DOS is, it would
> probably have been appropriate. :-)

The most that ZCPR does is allow you to associate an alphanumber with a
traditional CP/M user number. Thus, I can refer to user number JOE instead
of user number 4.

I always thought that user numbers in CP/M were a kludge, so I don't use
them. In fact, when I added command line recall and editing to my personal
copy of ZCPR, I took all that stuff out.

Maybe someday when I get serious hacking time, I'll come up with a recursive
BDOS so that CP/M can have drive subsetting like RT-11.

Roger "flat directory" Ivie
iv...@cc.usu.edu

Dave Lyons

unread,
Jul 21, 1992, 2:39:40 PM7/21/92
to
In article <1992Jul21.0...@news.columbia.edu>, las...@watsun.cc.columbia.edu (Charles Lasner) wrote:
> In article <18...@sdrc.COM> scj...@thor.sdrc.com (Larry Jones) writes:
>>
>>Like Brad said, the "MS-DOS 4.0" that did multitasking was only
>>distributed in Europe and it was just distributed for a short time. The
>>"MS-DOS 4.0" designation was re-used much later world-wide for the
>>MS-DOS-3.3-plus-large-partition-support-that-doesn't-quite-work-right-
>>most-of-the-time that we've all come to know and love.
>
> MS-DOS 4.01 was released several times. The version where all files are
> dated about April, 1989 is stable and functional. I even use it today
> sometimes.

I think you have your DOS 4's mixed up. As Larry and Brad said (see
above) there was a multitasking version of DOS 4 released in Europe
sort-of (sort-of multitasking - sort-of released) when we here in the
US were still using DOS 3.x. Because of that limited release, there
wasn't supposed to BE a DOS 4 here in the US and Microsoft was going
to jump directly to DOS 5. Unfortunately, MS and IBM couldn't agree
on this and IBM released PC-DOS 4.0 which had lots of bugs and is the
main cause of most of the complaints about DOS 4. Microsoft never
released MS-DOS 4.0 but did release MS-DOS 4.01 which fixed most of
the bugs left in the IBM release. This is the MS-DOS you're referring
to, not the European MS-DOS 4 that did multitasking referred to in the
post you were following up.
On a side note, although you may be able to squeeze out a bit more
memory with DR-DOS 6 than you can with MS-DOS 5, I've noticed a LOT
more compatibility problems with DR-DOS than with MS-DOS. IMHO, the
small margin in memory is worth the price of using an OS where an
application WILL run as opposed to an OS where an application will
PROBABLY run.
-- Dave --
--
***************************************************************************
DaveJ Lyons DoD #0633 dly...@necis.nec.com (603)878-2567 BBS
Opinions expressed are mine. My company doesn't even know I'm here (Shhhh!)
***************************************************************************

Charles Lasner

unread,
Jul 21, 1992, 4:01:53 PM7/21/92
to
In article <16...@necis.UUCP> dly...@necis.UUCP (Dave Lyons) writes:
>In article <1992Jul21.0...@news.columbia.edu>, las...@watsun.cc.columbia.edu (Charles Lasner) wrote:
>> In article <18...@sdrc.COM> scj...@thor.sdrc.com (Larry Jones) writes:
>>>
>>>Like Brad said, the "MS-DOS 4.0" that did multitasking was only
>>>distributed in Europe and it was just distributed for a short time. The
>>>"MS-DOS 4.0" designation was re-used much later world-wide for the
>>>MS-DOS-3.3-plus-large-partition-support-that-doesn't-quite-work-right-
>>>most-of-the-time that we've all come to know and love.
>>
>> MS-DOS 4.01 was released several times. The version where all files are
>> dated about April, 1989 is stable and functional. I even use it today
>> sometimes.
>
>I think you have your DOS 4's mixed up. As Larry and Brad said (see
>above) there was a multitasking version of DOS 4 released in Europe
>sort-of (sort-of multitasking - sort-of released) when we here in the
>US were still using DOS 3.x. Because of that limited release, there
>wasn't supposed to BE a DOS 4 here in the US and Microsoft was going
>to jump directly to DOS 5. Unfortunately, MS and IBM couldn't agree
>on this and IBM released PC-DOS 4.0 which had lots of bugs and is the
>main cause of most of the complaints about DOS 4. Microsoft never
>released MS-DOS 4.0 but did release MS-DOS 4.01 which fixed most of
>the bugs left in the IBM release. This is the MS-DOS you're referring
>to, not the European MS-DOS 4 that did multitasking referred to in the
>post you were following up.

I never claimed anything about the European DOS 4.0, this is expressly about
MS-DOS 4.01 over and above IBM's 4.00. There were lotsa bugs in 4.01 early
as well, but most were fixed by April, 1989.

>On a side note, although you may be able to squeeze out a bit more
>memory with DR-DOS 6 than you can with MS-DOS 5, I've noticed a LOT
>more compatibility problems with DR-DOS than with MS-DOS. IMHO, the
>small margin in memory is worth the price of using an OS where an
>application WILL run as opposed to an OS where an application will
>PROBABLY run.

Please inform me about these alleged DR-DOS 6 incompatibilities because if
you can document any of them DR will fix them. If you are referring to any
problems with Windows 3.1, they are already obsolete, since all registered
users (I am a DR distributor/reseller) have received the mandatory update
to run Windows 3.1. There are no problems there at all. You can even
use the MS-DOS 5 components that Windows 3.1 tosses into your CONFIG.SYS
file although using the DR DOS equivalents results in better performance.

I haven't found more than a small handful of oddball problems with DR DOS
versus MS-DOS 5, and this was in reference to some odd programs that
predate either system and to some ill-documented system calls. On the
contrary, I find that certain programs that won't run under DOS 4 or 5
*will* run under DR DOS 6! Again, they were written with DOS 3.3 in mind.

The memory improvement isn't just a minor improvement; for some configurations
it's a major feature, such as having/not having upper memory at all. Further
the 640K limit can be raised by 96K if you have a color interface and 64K
for a mono interface if you are willing to reduce your graphics capability
to CGA only in the color case, and to MDA (none) in the mono case merely
by executing a reversible command. For a 286 with NEAT, that means that
628K => 724K and for a 386 627K => 723K. As I once posted here, when I
run Kermit-MS, and PUSH out to a DOS prompt, I have more memory available
at that point than most MS-DOS systems ever have!

So, please, by all means document this list of incompatibilities, or is it
just an unwillingness to go with someone other than Microsoft?

cjl

Don Nichols (DoN.)

unread,
Jul 21, 1992, 11:50:35 PM7/21/92
to

Of course, you could increase the size of the filesystem by making
each logical block larger. This, I think, is what was done in the Zenith
version of MS-DOS 3.3+, which could handle at least an 80MB drive as a
singel partition, but caused SYTOS to complain that it couldn't back up
network drives. Presumably, the structure of the FAT was sufficiently
different so that SYTOS could recognize that it was confused. I didn't
bother looking into the details, becuase MS-DOS hasn't been the focus of my
interests, ever. (SSB's DOS-68 and DOS-69, Microware's OS-9, and various
unix variants, yes. :-)

Ernest Cline

unread,
Jul 22, 1992, 3:19:42 AM7/22/92
to
las...@watsun.cc.columbia.edu (Charles Lasner) writes:

> MS-DOS 4.01 was released several times. The version where all files are
> dated about April, 1989 is stable and functional. I even use it today
> sometimes.

ARRGH!!!
Number 1 reason I use Macs instead of DOS/Windows
Most vendors are not afraid to admit that there was bug, so when they do a bug
fix, they change the version number. Makes it much easier to determine which
is latest version, and which is not.

Lets face it most PC software companies are too wimpy and afraid to admit
they had a bug, so they'd rather hide the fact. In the Mac world bug fixes
are seen as a sign that you care about the product enough to fix it. Of
course, Mac companies have an advantage in this regard, most Mac users know
that it is almost impossible to write bug free software, so they are
willingto forgive a company if there are a few minor bugs.

Note: Followups directed to alt.flame

Ernest Cline cl...@cs.scarolina.edu TheUSC
"To turn the computer on, turn the on switch on to the on position."

Charles Lasner

unread,
Jul 22, 1992, 12:02:13 PM7/22/92
to
In article <1992Jul22....@ceilidh.beartrack.com> dnic...@ceilidh.beartrack.com (Don Nichols (DoN.)) writes:
>In article <1992Jul20.1...@cc.usu.edu> iv...@cc.usu.edu (CP/M lives!) writes:
>>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.
>
> Of course, you could increase the size of the filesystem by making
>each logical block larger. This, I think, is what was done in the Zenith
>version of MS-DOS 3.3+, which could handle at least an 80MB drive as a
>singel partition, but caused SYTOS to complain that it couldn't back up
>network drives. Presumably, the structure of the FAT was sufficiently
>different so that SYTOS could recognize that it was confused. I didn't
>bother looking into the details, becuase MS-DOS hasn't been the focus of my
>interests, ever. (SSB's DOS-68 and DOS-69, Microware's OS-9, and various
>unix variants, yes. :-)

NEC DOS 3.30 does precisely that, except the maximum is double or 64 Megs per
partition, and formatters such as Ontrack System's Disk Manager have option
switches for these socalled "big" partitions where the logical block is
larger, not the FAT size. But, the problem is that this breaks enough programs
that it is unacceptable as you point out an example to.

But back to Compaq Dos 3.31: This is a description of a program bug, not
a file-system limitation. If you reconfigure the disk to partitions of
32 Megs/partition on the XT hardware, it works fine. If you run it on
AT-style hardware it runs regardless of <32 Megs or >32 Megs/partition fine
there. The only salient difference is that the XT-type has a ROM which the
main BIOS locates as an extension. Virtually the same info is supposed to
be passed to the Int handler for these operations. We are talking about
a reformatted disk with a minimal system moved to it in each of the four cases.
And even the one that flunks is addressable from a bootable floppy. Further,
it's not a bug of it using a 286-only instruction because this is being tried
on the same 286 machine each time by changing disk controller cards. The
machine in question usually has AT disk type NONE because there are no
disks under control of the BIOS and CMOS setup table. This is perfectly
legitimate and the norm for XT-class machines. And when the whole thing is
repeated under DOS 4.01 or newer, the problem disappears. Since this was
the first attempt to accomplish this file-system, it is conceivable that
there is an interaction with the extension BIOS and the special-case check
for the larger FAT tables. Note that this software was never meant to be
used with XT-class controllers and disks larger than 32 Megs so they probably
never tested it. (I believe Compaq has no existent product that qualified
to exhibit the bug; perhaps the only way was to upgrade an existant older
machine's disk.)

cjl

Markus Stumptner

unread,
Jul 23, 1992, 3:49:15 PM7/23/92
to
From article <cline.7...@ebony.cs.scarolina.edu>, by cl...@cs.scarolina.edu (Ernest Cline):

> course, Mac companies have an advantage in this regard, most Mac users know
> that it is almost impossible to write bug free software,

...by extrapolating from the software available for Macs, or what?
Strange argument.

--
Markus Stumptner m...@vexpert.dbai.tuwien.ac.at
University of Technology Vienna vexpert!m...@relay.eu.net
Paniglg. 16, A-1040 Vienna, Austria ...mcsun!vexpert!mst

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

unread,
Jul 24, 1992, 4:52:42 AM7/24/92
to

WOW the clarification is more confusing than the original statment.
and almost as confusing as the "standard" documentation.

...BRU

Bruce Clement

unread,
Jul 24, 1992, 4:26:54 AM7/24/92
to
cl...@cs.scarolina.edu writes in article <cline.7...@ebony.cs.scarolina.edu>:

> Lets face it most PC software companies are too wimpy and afraid to admit
> they had a bug, so they'd rather hide the fact. In the Mac world bug fixes
> are seen as a sign that you care about the product enough to fix it.

You'll be pleased to know that IBM not only admits the bugs in OS/2, but is
allowing free distribution by ftp & over Usenet ... Check out comp.binaries.os2,
or ftp to 129.34.139.5 (can't remember its name) sometime.

--
Bruce Clement (fr...@alfheim.actrix.gen.nz SNEWS/2, UUPC 1.11q)

Dazed N. Confused

unread,
Jul 23, 1992, 5:49:49 PM7/23/92
to
mag...@THEP.LU.SE (Magnus Olsson) writes:

> But I agree that MS-DOS 'more' is a hopelessly broken hack, only
> vaguely reminiscent in functionaity to the Unix original.

Ah, but what Unix can run V. Buerg LIST.COM, hmm? Whenever
cd'ing through a zillion user work directories, I sure wish there
was a port of it..

--Jon

jon%vec...@sactoh0.SAC.CA.US Life is like a ____.
PacBell.COM!sactoh0!vector0!jon

Paul Tomblin

unread,
Jul 24, 1992, 7:02:42 PM7/24/92
to
jon%vector...@sactoh0.SAC.CA.US (Dazed N. Confused) writes:

> Ah, but what Unix can run V. Buerg LIST.COM, hmm? Whenever
>cd'ing through a zillion user work directories, I sure wish there
>was a port of it..

Funny - when I'm using LIST.COM, I always wish I had 'less'. (In more ways
than one!)

--
Paul Tomblin, p...@geovision.gvc.com or {uunet,revcan}!geovision!pt
(This is not an official opinion of GeoVision Systems Inc.)
I used to homebrew computers, now I homebrew beer. Is this progress?

John Lamp

unread,
Jul 24, 1992, 11:35:46 PM7/24/92
to
fr...@alfheim.actrix.gen.nz (Bruce Clement) writes:

>cl...@cs.scarolina.edu writes in article <cline.7...@ebony.cs.scarolina.ed
u>:


>> Lets face it most PC software companies are too wimpy and afraid to admit
>> they had a bug, so they'd rather hide the fact. In the Mac world bug fixes
>> are seen as a sign that you care about the product enough to fix it.

>You'll be pleased to know that IBM not only admits the bugs in OS/2, but is


>allowing free distribution by ftp & over Usenet ... Check out comp.binaries.os2
,
>or ftp to 129.34.139.5 (can't remember its name) sometime.

We all know which major PC software supplier calls bugs 'undocumented features'
;-}

--
John Lamp e-mail: u73...@bruny.cc.utas.edu.au _--_|\
Comcare Australia / \
GPO Box 9905 Phone: +61 02 23 1366 \_.--._/
Hobart TAS 7001 Fax: +61 02 34 5685 v

Not Available

unread,
Jul 25, 1992, 11:27:32 AM7/25/92
to
In article <1992Jul20....@cdsmn.mn.org> we...@cdsmn.UUCP (Rich Wells) writes:
>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?

Ralf Brown's interrupt listing has entries for the task switching
primitive present under the european DOS 4.0.

I can remember evaluating Olivetti's rebadged DOS 4.01 on Olivetti PCs.
We (AustPost) rejected DOS 4.01 at the time because Multimate did really
odd things. In these enlightened times, I'm tempted to say "but no
odder than the way that Multimate ran anyway"...

Mitch.

Mitch Davis

unread,
Jul 25, 1992, 10:48:03 AM7/25/92
to
As quoted from <21...@unet.UUCP> by j...@zippy.unet.com (John Switzer Frame 3.0):
| >
| >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.

The shortest possible program for the IBM is one byte long, and can be
created thus:

[E:\] debug
-nshort.com
-rcx
CX 0000
:1
-a100
4379:0100 ret
4379:0101
-w
Writing 0001 bytes
-q

[E:\]

CP/M programs could exit by doing a RET, and the IBM has maintained this
tradition. On startup, all .COM programs have a 0000 already pushed
onto the stack for this very purpose. The RET causes a branch to CS:0,
which always has an INT 20.

I occasionally use this when a .COM program MUST be as small as
possible.

Try it! Can you get any shorter, or an equal alternative?

Mitch.

Tom J Parry

unread,
Jul 26, 1992, 9:46:30 AM7/26/92
to
cl...@cs.scarolina.edu (Ernest Cline) writes:
> ARRGH!!!
> Number 1 reason I use Macs instead of DOS/Windows
> Most vendors are not afraid to admit that there was bug, so when they do a bug
> fix, they change the version number. Makes it much easier to determine which
> is latest version, and which is not.

IBM is an exception to this. They have made publically available, quite
a few bug fixes for OS/2. Being a new operating system, when it got to a
very wide user base, small things started cropping up. They have
published fixes for quite a few little problems and don't try to hide
them as anything else but fixes. They have not released a new version
though, although 2.1 is due RSN.

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

Charles Lasner

unread,
Jul 26, 1992, 12:59:53 PM7/26/92
to
In article <1992Jul24...@cc.curtin.edu.au> zcoo...@cc.curtin.edu.au writes:
[comments about memory definitions deleted]

>
>WOW the clarification is more confusing than the original statment.
>and almost as confusing as the "standard" documentation.
>
>...BRU

Yes, sad but true. The PC is a kludged memory space. IBM caused part of
it with their insistance on a ROM-based BIOS at the end of the memory
space for the 8086/8088 with no regard for expansion, and the specific
reservation of 6 times that much space for whatever might follow. IBM
is known to have a penchant for reserving everything in sight, so this
is no real surprise. Further, they love to have yet another place to
stick a copyright notice in. (Note that some clone ROMs have the
phrase "NOT COPYRIGHT IBM" in them to satisfy some programs searching for
the IBM copyright notice.)

There is no built-in MS-DOS reason for a ROM, and indeed there are other
DOS machines that don't have ROMs anywhere near as confining. The DECmate
II MS-DOS actually doesn't even have a boot ROM because it shares memory
space with another CPU that does the initial loading for it. In theory,
this means that this 8086 MS-DOS can run in 1024K (minus some inter-CPU
overhead) which even beats the Rainbow and Victor-9000 for available
DOS memory space. (They are tied at 896K as compared to 640K for PC's; the
memory definitions are largely complicated by kludgy attempts to get
around this by exploiting odd quirks and/or possibly present exception
cases, etc. that some PC's have.)

BTW, there have been many machine designs where the ROMs are only transiently
present. The last thing the ROM does is deselect itself, after a RAM-based
program is about to run the show which was copied from the ROM. In some
designs, the ROM code merely has to self-reference; as a side-effect, the
ROM contents is copied into a RAM occupying the same memory space.

From the vantage point of a ROM-free environment, the software could've
driven the memory usage, not the hardware constraints. Thus it is hoped
that less effort towards defining kludge regions would've occured, and
software effort devoted towards features, not damage control.

Furthermore, it is unacceptable to have fixed memory locations for poke-through
video buffers and the like. It costs almost nothing to have a video base
address register to hold the high-order bits of where the video is today,
and has been done in the past years before IBM stumbled on Intel's notion
of how to do a micro. A *real* OS can tell you where it needs things put
if there is need to do any direct putting, or for about 2 cents more hardware
the interface could tell you itself.

Had this been the motif for 8086 development of systems, instead of IBM's
bad kludge, memory space size would have gradually increased without problem.
8088 systems would just be treated as smaller maximum size, not as the
model for one of the modes that you have to support. How much software
overhead is traceable to the issues of old conventions and compatibility
with all of the kludges and limitations.

cjl

Doug McNaught

unread,
Jul 27, 1992, 2:04:56 AM7/27/92
to

The shortest possible program for the IBM is one byte long, and can be
created thus:

[Debug session deleted]

CP/M programs could exit by doing a RET, and the IBM has maintained this
tradition. On startup, all .COM programs have a 0000 already pushed
onto the stack for this very purpose. The RET causes a branch to CS:0,
which always has an INT 20.

I occasionally use this when a .COM program MUST be as small as
possible.

Try it! Can you get any shorter, or an equal alternative?

The shortest Mac program is two bytes and consists of an RTS
instruction. Can't be any shorter because the 68000 has 16-bit
opcodes.
(Ack--actually there's some Segment Loader and jump table stuff in
there once it's assembled and linked. It still fits in one disk
sector, which is all that counts...)

-doug
--
Doug McNaught |"Sadder still to watch it die/ Then never to have
do...@cns.caltech.edu | known it/ For you, the blind who once could see/
do...@midget.towson.edu | The bell tolls for thee..." --Neil Peart
Nobody approves my opinions! Not even me, sometimes. Read at your own risk.

Josef Moellers

unread,
Jul 27, 1992, 3:42:38 AM7/27/92
to
In <Brqq...@dexter.mi.org> j...@dexter.mi.org (Jay S. Rouman) writes:

>In article <1992Jul21.0...@NCoast.ORG> all...@ncoast.org (Brandon S. Allbery KF8NH) writes:
>>The interesting thing being that the CP/M-80 world had its own solution,
>>namely ZCPR... which used the TOPS-10 (or possibly Tenex / TOPS-20)
>>hierarchical filename notation. (Considering how klunky DOS is, it would
>>probably have been appropriate. :-)

>Just to add a little to this, I have used ZCPR3 a lot and still own a
>system that runs it. ZCPR3 is a wonderful system that provides search
>paths, named directories, a heirarchical help system, termcaps, and a
>raft of other useful features. The file system is, however, flat not
>hierarchical.

I'd say it's two-dimensional:
1. drive (A-...)
2. user# (0-...)

> Actually, CP/M always had the ability to divide disk
>drives into user area. Unfortunately, until ZCPR3 was created, the
>tools did not exist to really take advantage of this feature. ZCPR3
>placed labels on each user area, so you could say "TEXT:FOO.TXT", and
>the OS would figure out what disk drive and user area you wanted.

Unfortunately it isn't the OS that takes care of the mapping, but rather
a library call. The difference is that programs that do not know about
this feature (i.e. "standard" CP/M programs) cannot handle
"TEXT:FOO.TXT". The interface to the OS was (in CP/M) and still is (in
ZCPR3) the venerable FCB. And this FCB actually only holds the drive
number! So there isn't even a convenient way to use multiple-user#-files
from within a single program. You still have to log into the user-areas
whenever You want to use them.

> All
>the directories existed, whether labeled or not, so you could also say
>"B4:FOO.TXT" to refer to a file on Drive B, user area 4. Sub-directories
>are not possible and changing the directory labels requires a partial
>rebuild of the system, so it's not as convenient as mkdir and rmdir.
>It's too bad that ZCRP3 wasn't ported to the 8088, but I think the
>author had moved on to other things by that time.
>--
>Jay S. Rouman (j...@dexter.mi.org)

--
| Josef Moellers | c/o Siemens Nixdorf Informationssysteme AG |
| USA: molle...@sni-usa.com | Abt. STO-XS 113 | Riemekestrasse |
| !USA: molle...@sni.de | Phone: (+49) 5251 835124 | D-4790 Paderborn |

Jim Frost

unread,
Jul 27, 1992, 2:18:49 PM7/27/92
to
p...@geovision.gvc.com (Paul Tomblin) writes:
>jon%vector...@sactoh0.SAC.CA.US (Dazed N. Confused) writes:

>> Ah, but what Unix can run V. Buerg LIST.COM, hmm? Whenever
>>cd'ing through a zillion user work directories, I sure wish there
>>was a port of it..

>Funny - when I'm using LIST.COM, I always wish I had 'less'. (In more ways
>than one!)

Me too, so I wrote one. I really had only two needs: two-way
scrolling and good performance. Both were easy to satisfy.

jim frost
ji...@centerline.com

Mitch Davis

unread,
Jul 27, 1992, 10:28:08 AM7/27/92
to
In article <jeremy.711609677@chao> jer...@sw.oz.au (Jeremy Fitzhardinge) writes:
>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,
>
>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...

Be amazed: (This TASM program tells you whether KEYSTACK (part of 4DOS
for the IBM-PC from JP Software is loaded or not. Prints a
text message, and sets the errorlevel.)

.model tiny
.code
org 0100h
entry:
KS_ID equ 0d44fh
KS_REPLY equ 044ddh
push cs
pop ds
mov dx, offset MESS01
mov ah, 9
int 21h
mov ax, KS_ID
xor bx, bx
int 2fh
mov bl, 1
cmp ax, KS_REPLY
jz KS_OK
dec bl
mov dx, Offset MESS02
mov ah, 9
int 21h
KS_OK:
mov dx, Offset MESS03
mov ah, 9
int 21h
mov ah,4ch
mov al,bl
int 21h

MESS01: db 'KSLOADED by Mitch Davis, Fidonet (3:634/384.6)',13,10
db 'Keystack is $'
MESS02: db 'not $'
MESS03: db 'installed.',13,10,'$'
END entry

Mitch.

Charles Lasner

unread,
Jul 27, 1992, 4:21:55 PM7/27/92
to
In article <DOUGM.92J...@bradbury.cns.caltech.edu> do...@cns.caltech.edu (Doug McNaught) writes:
>In article <1992Jul25.1...@lugb.latrobe.edu.au> 9125...@lux.latrobe.edu.au (Mitch Davis) writes:
>
> The shortest possible program for the IBM is one byte long, and can be
> created thus:

Sorry to burst your bubble, but that program is 512 bytes long or longer.
The smallest file on MS-DOS is one cluster, which is hopefully 512 bytes
such as on a floppy. On hard disks, it's larger, typically 2048 bytes.

Just because there is a byte count in the file doesn't make it take any
less time to load into memory or take up any less space when in a normal
executable form. (When archived, it will take up one byte though.)

cjl

Tony Lezard

unread,
Jul 28, 1992, 4:31:17 AM7/28/92
to
las...@watsun.cc.columbia.edu (Charles Lasner) writes:
>>In article <1992Jul25.1...@lugb.latrobe.edu.au> 9125...@lux.latrobe
>>
>> The shortest possible program for the IBM is one byte long, [...]
>
> [Says that size on disk is determined by cluster size of 512 bytes
> or more]

>
>Just because there is a byte count in the file doesn't make it take any
>less time to load into memory or take up any less space when in a normal
>executable form. (When archived, it will take up one byte though.)

Or less if compressed. :-)

--
Tony Lezard IS to...@mantis.co.uk OR tony%mantis...@uknet.ac.uk
OR EVEN ar...@phx.cam.ac.uk if all else fails. Great! Kept my .sig down to two
lines!

Bill Marcum

unread,
Jul 26, 1992, 7:13:39 PM7/26/92
to
>CP/M programs could exit by doing a RET, and the IBM has maintained this
>tradition. On startup, all .COM programs have a 0000 already pushed
>onto the stack for this very purpose. The RET causes a branch to CS:0,
>which always has an INT 20.
>
>I occasionally use this when a .COM program MUST be as small as
>possible.
>
>Try it! Can you get any shorter, or an equal alternative?
>
>Mitch.

In CP/M you can have a zero length COM file by typing SAVE 0 FILE.COM .
Executing FILE.COM would re-run whatever program was loaded last. Is there
an equivalent in MS-DOS?

Bill Marcum (lost in the stone age) bma...@world.std.com

Lamar Owen

unread,
Jul 22, 1992, 1:30:03 PM7/22/92
to
all...@NCoast.ORG (Brandon S. Allbery KF8NH) writes:
> As quoted from <eFmyNB...@lorc.UUCP> by lo...@lorc.UUCP (Lamar Owen):

Wow! A quote!

> +---------------
> | On page 7 of "DOS Power Tolls" (A Bantam Book...The PC Magazine book is not
> >-------------------------^^^^^ Freudian slip? :-)

Yep... Slip of the tongue...in cheek. :-)

> |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.
> +---------------


>
> The interesting thing being that the CP/M-80 world had its own solution,
> namely ZCPR... which used the TOPS-10 (or possibly Tenex / TOPS-20)
> hierarchical filename notation. (Considering how klunky DOS is, it would
> probably have been appropriate. :-)

And, considering how klunky ZCPR is.... it WAS appropriate!

The folklore side of this is staggeringly lore-ish:

The ZCPR parti-bigots have appropriately named their newest, hotest Z280 16-bit
machines (yes, Virginia! There IS a 16-bit Z80! Long live the Z280!!!) after
how they felt about MSDOS--thus, you get the Grudge, Dos-Killer, and Vengeance
Z280 motherboards that run ZCPR3. BTW, ZCPR could stand for "Zilog Cardio-
Pulmonary Resuscitation", if one wanted to be snide... Some of these Z280
beasts (and, with 16 MB RAM capability, with the Z280's multitasking VM
support and MMU system, 256 byte cache, and clock-multiplier design (more in
a moment on the Z280 clock-multiplier system), 16 and 32 bit instructions,
over 20 addressing modes, including a handy beast called "Program-Counter
Relative" (BTW, the VAX ain't got one thing on THIS chip's CISCiness!!!) and
over 2000 instruction codes (not as regular as a VAX or 68K, but every bit
as CISCy!), they do qualify as "beasts") even will allow ISA-bus peripherals
to be used (16-bit bus, of course--Zilog's Z-BUS technology at work). (Don't
you just *LOVE* long, multi-parenthetical, multithreaded sentences??)

Now, the fun part: since DOS was already around, some of these ZCPR people
decided to make an un-DOS 7up style system--thus, since DOS, to a CP/M
person, looks just like Unix, they couldn't possibly use ANY Unix constructs.
So, they got ahold of the syntax of the next most popular hackish OS (TOPS-10/
Tenex/Twenex (Ok, ok, TOPS-20...Sheesh)) and canabalized it. The result is the
present day ZCPR3, which, to a TOPS wizard is just as perverse a mutt as DOS
is to Unix weenies (like myself :-))

Any time you combine CP/M with a real OS (donning asbestos longjohns...), you
get a real mutt.

Yes, I used CP/M, and own three (oops, forgot the Altos and Onyx systems...)
FIVE different implementations of CP/M (Montezuma's TRS-80 Model 4 CP/M 2.2;
Pickles and Trout CP/M for the TRS-80 Model II; Radio Shack CP/M 3.0 for the
Model 4; Altos CP/M; and Onyx CP/M). I *DO NOT EVER* want to go back to the
days when all I used was CP/M and TRSDOS! Unix is MUCH better... However,
I have yet to find a good Unix for the Z280...which is my favorite chip. So,
I struggle along with a 68030 machine (which is probably 10 to 15 times
faster than the Z280 machines are--hey, but I don't care. The 68K instruction
set just ain't as beautiful--er--crufty--as the Z280's)

Now, about the Z280 clock-multiplier: built into the Z280 is a three-speed
bus unit (stick-shift transmission, if you will). The bus unit, depending
upon the boot register image load during RESET, will either run 1x, .5x, or
.25x the CPU clock. So, you could get a Z280 running at 16Mhz, boot load
the proper bits in the boot register during RESET, and have the bus running
at 4 Mhz. Intel's DX2 designs are behind the times!

For those history buffs (and for the "Great Microprocessors" list maintainer,
the Z280 first came out in July of 1987. A bug was found and fixed in early
'88

> ++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...)


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.
***********************************************************************

Charles Lasner

unread,
Jul 28, 1992, 7:26:46 PM7/28/92
to
In article <ua9LoB...@mantis.co.uk> Tony Lezard <to...@mantis.co.uk> writes:
>>Just because there is a byte count in the file doesn't make it take any
>>less time to load into memory or take up any less space when in a normal
>>executable form. (When archived, it will take up one byte though.)
>
>Or less if compressed. :-)

What compression utility stores individual files in less than one byte?
Most I have seen start each file on a new byte boundary at least, so the
file still has to occupy one byte.

cjl

Guy Harris

unread,
Jul 29, 1992, 2:17:47 AM7/29/92
to
(Followups sent to "alt.folklore.computers".)

>over 20 addressing modes, including a handy beast called "Program-Counter
>Relative" (BTW, the VAX ain't got one thing on THIS chip's CISCiness!!!)

Umm, if you think that the presence of a "program-counter relative"
addressing mode makes it CISCier than average, please note that:

the PDP-11

the VAX

the Motorola 68K

the National Semiconductor 32K

the Zilog Z8000

and probably some other instruction sets had PC-relative addressing
modes.

Several of 'em, including the VAX, have many other addressing modes,
too, although the VAX has only 12 (counting "literal" as one, but
counting all the variants with differnt offset sizes separately), and
the 68020-and-up has only 17 (counting each one that gets a description
in section 2 of *MC68020 32-Bit Microprocessor User's Manual*).

Then again, the architecture on which I'm doing most of what
assembler-language program I'm doing these days has *two* addressing
modes....

Don Stokes

unread,
Jul 29, 1992, 3:45:16 AM7/29/92
to
las...@watsun.cc.columbia.edu (Charles Lasner) writes:
> What compression utility stores individual files in less than one byte?
> Most I have seen start each file on a new byte boundary at least, so the
> file still has to occupy one byte.

Well, you could always store the file in the filename.... 8-)

--
Don Stokes, ZL2TNM (DS555) d...@zl2tnm.gen.nz (home)
Network Manager, Computing Services Centre d...@vuw.ac.nz (work)
Victoria University of Wellington, New Zealand +64-4-495-5052

It is loading more messages.
0 new messages