[comp.sys.ibm.pc.misc] DOS is DOS ??

fzsitvay@techbook.com (Frank Zsitvay) (09/08/90)

In article <1990Sep5.171921.14940@cbnewsh.att.com> europa@cbnewsh.att.com (r.j.capik) writes:
>
>	Here  is a question that I can't seem to find an answer for
>    and don't even have a  clue  where (else) to look. The question:
>    What is the difference between DOS? To be a bit  more  specific,
>    what  do  vendors  do  to  DOS  and  how  can  one	evaluate the
>    differences.
>	I've encountered an unreasonable number of odd problems that
>    can for the most part be  traced  to some  *magic* that a vendor
>    has added to  their  DOS.  However,  even  without	added  magic
>    different DOS versions seem to have unpredictable results.
>	In one upgrade; hard disk #0 (normaly drive C:) became drive
>    D:	and  disk  #1 became C: (with a read error). FDISK showed no
>    DOS Partitions  on	disk  #1.  Re-boot  (same versio, different
>    vendor) and both disks are back, but now I get  interupt  errors
>    that I didn't have before.

   Microsoft is one of those companies that knows a buck when they see it,
and will do almost anything to sell their operating system, including
allowing the hardware manufacturer to tailor the operating system to
the hardware, instead of doing it all in the BIOS.   (there are some
arguements in favor of this sort of thing, but i don't want to get into
that.

   Something that is quite common is mapping the interrupts physically 
differentthan in the original ibm, and rerouting the interrupts in the
operating system so that everything works fine as long as you use that
custom version of dos in that machine.   i don't understand there to be
any technical advantage to doing this, but some manufacturers want to be
different.   (not invented here syndrome.)   zenith is very good about
doing this.

   compaq modified dos so that you could have hard drives larger than
32 megabytes.  handy for those with 300 megabytes drives who don't want
drive designators spanning from a: to l:, but creates its own incompatibilities
when that one piece of software that comes down the pike does something the
designers at compaq never dreamed of.

   others have modified DOS so you would have more than 640k TPA, only to
find that such mods would create havoc when the machine it was running on
was upgraded to VGA.

   and of course there are those companies that some time ago marketed semi-
compatible machines, like DEC's Rainbow, which i consider to be one of the
"left feild" orphans.   not only is the interrupt structure screwy, or the
floppy disk format screwy, or the bios screwy (IT HAS NONE!!!), but it
runs a funny version of the operating system as well.  (a bastard mod of
dos 3.1, which packs along its own bios on disk.)   I really shouldn't slam the
rainbow as much as i do (i'm using one to write this) because it does have
its good points.   (when chkdsk reports 800k ram free, i still snicker at
those stuck with less that 600k free.)

>	I  did	an  upgrade  on  another system (DOS 2.2 to DOS 3.0)
>    where I backed every thing	to  another hard disk. I upgrade the
>    1st disk only to find that I can no longer	read  the  2nd	disk
>    (the one with my full backup). It turns out that the new version
>    can't  read  the  old hard disk format, BUT, the old version can
>    read both the old and the NEW format. So go figure...

   when dos jumped from 2.xx to 3.xx, some stuff was added to the hard
disk format in such way that 2.xx could find what it needed, but no
provision was made in 3.xx to read the 2.xx format.   the guys at
microsoft probably never anticipated that happenning, and so saved a 
few bytes leaving it out.  (in other words, 3.xx needs information from
the disk that 2.xx never wrote and as such thinks it's an error in the
media.

>	I did another upgrade  on  another  computer (DOS 3.3 to DOS
>    4.0, and a tape backup). Install the new DOS, OK. Down load  the
>    old  files,  OK. Use some programs, OK. Edit a file: ERROR can't
>    find ROOT directory! Copy some files to another directory: ERROR
>    can't find ROOT directory! I  run CHKDSK, Norton, Mace, etc. and
>    everything is fine, no errors found.  Re-install  DOS  3.3,  and
>    every thing is back to normal.

   dos 4.xx is still too buggy for many uses.  it changed a considerable
amount of things in the hard disk format (to allow drives greater than
32 megs) which makes it a necessity to reformat your hard disk. even then,
i know people who wish they never heard of 4.xx because a bunch of their
software wouldn't coexist with it.

>	I  got	a data disk from a friend (Lotus123 WKS files) where
>    the files were created on a  HP machine. All my DOS machines can
>    read the disk fine, but Lotus gives me a file  error,  and	once
>    more CHKDSK shows no errors. Then magic of magic, I try the disk
>    on a Macintosh with a DOS reader, and all the data is there just
>    like  it  should  be (but I have no idea how to move it from the
>    Mac to a normal computer).

   different versions of lotus??  perhaps the creator used a lotus
lookalike??

-- 
fzsitvay@techbook.COM - one of these days i'll get it right...

Version 2 of anything is usually the version that works.

bcw@rti.rti.org (Bruce Wright) (09/12/90)

In article <1990Sep8.134722.4843@techbook.com>, fzsitvay@techbook.com (Frank Zsitvay) writes:
> 
>    Microsoft is one of those companies that knows a buck when they see it,
> and will do almost anything to sell their operating system, including
> allowing the hardware manufacturer to tailor the operating system to
> the hardware, instead of doing it all in the BIOS.   (there are some
> arguements in favor of this sort of thing, but i don't want to get into
> that.

I think relatively few manufacturers modify the MSDOS.SYS file (or
whatever they choose to call it - IBM calls it the IBMDOS.SYS file)
very much.  The IO.SYS file (what IBM calls IBMBIO.SYS) is another
story - strictly speaking, that IS the BIOS for the machine.  I don't
know of any machine that directly wires into the ROM-BIOS;  one of
the problems is that in this case you have problems if a version of
the ROM-BIOS has serious bugs:  it's much cheaper to make IO.SYS a
bit bigger and move the function into there, rather than replacing
the ROMs.

Most manufacturers just call the ROM-BIOS from _most_ of the IO.SYS
calls, but this is hardly necessary;  you could do everything in
IO.SYS and not have any ROM-BIOS functions at all.

>    Something that is quite common is mapping the interrupts physically 
> differentthan in the original ibm, and rerouting the interrupts in the
> operating system so that everything works fine as long as you use that
> custom version of dos in that machine.   i don't understand there to be
> any technical advantage to doing this, but some manufacturers want to be
> different. 

Actually, IBM screwed up big time when they designed their ROM-BIOS:
they ignored the big type in the Intel spec sheets for the 8086/8088
that said that interrupts 1 through 1F were RESERVED TO INTEL for
future enhancement of the 80x86 chip family.  That's why the MS-DOS
interrupts start at 20h;  a well-behaved ROM-BIOS for the 80x86 chip
family should start at, say, 30h or 40h (leaving the ones from 20h
to 2Fh or 3Fh to the OS).  Or perhaps the entire structure should
have been moved up to allow interrupts from 20h-3Fh to be used for 
devices; any number of things would have been better than what we
got.  For example, when the AT first came out there were quite a few
gyrations required to allow the BIOS to coexist with an 80286, and
it still causes a lot of unnecessary complications in the BIOS to
have to figure out whether it's getting a program request or some
kind of machine check when one of the 00h-1Fh interrupt calls is
made.  In fact IBM themselves had to revector some of the interrupts
in this case to make the whole Rube Goldberg contraption work.  I 
can well understand why a manufacturer might want to do it the 
"right" way;  in a number of ways it results in a simpler and
cleaner design.  It also just happens to be incompatible with the
Revealed Truth from a certain large multinational company.

>    and of course there are those companies that some time ago marketed semi-
> compatible machines, like DEC's Rainbow, which i consider to be one of the
> "left feild" orphans.   not only is the interrupt structure screwy, or the
> floppy disk format screwy, or the bios screwy (IT HAS NONE!!!), but it
> runs a funny version of the operating system as well.  (a bastard mod of
> dos 3.1, which packs along its own bios on disk.) I really shouldn't slam the
> rainbow as much as i do (i'm using one to write this) because it does have
> its good points.   (when chkdsk reports 800k ram free, i still snicker at
> those stuck with less that 600k free.)

The Rainbow, as it turns out, does have a BIOS that programs can call
(I know, I've written quite a bit of code for it);  it's just that
it's completely incompatible with the IBM BIOS.  The modification of
MS-DOS 3.1 that you are referring to was done by Suitable Solutions,
not by DEC, and was never marketed by DEC (they never sold anything
beyond 2.11),  and it's not really a very screwy version.  It's pretty
much a vanilla MS-DOS 3.1 with an IO.SYS for the Rainbow.  Naturally,
since the BIOS and hardware for the Rainbow isn't PC-compatible, you
often have trouble running PC programs on it, which are often ill-
behaved about the way they manipulate machine resources, often 
preferring to access the hardware directly rather than use standard
OS calls.  (DEC's non-support of the Rainbow - in particular its
refusal to bring out even DOS 3.1 for the Rainbow - turned a LOT of
people off ever getting involved with DEC PC's again).

The unfortunate thing here is that too often, because of the way 
Microsoft and IBM did things in DOS and on the PC, too many functions -
video and comm hardware in particular - have either pretty slow or 
inadequate support in the OS, tempting or even forcing software houses
to bypass the OS to use them.  Some programs are even worse though - 
like doing direct I/O to the disk, a VERY dangerous thing to do since 
it leaves you open to breaking even with a new version of DOS, let 
alone on "orphan machines".

It's too bad that there have been so many design problems with the
MS-DOS system and with the PC architecture;  it's certainly causing
the microcomputer industry fits trying to deal with the next
generation of hardware and software coming down the pike.  Just
consider the problems Microsoft is having getting the DOS compati-
bility box to work for OS/2;  it really shouldn't have been necessary
to go to that much trouble if things had been done right from the
start.

The PC industry is in danger of getting run over by the low-cost
RISC workstations that will be coming out over the next year or
two;  they don't have quite so much software entropy that they have 
to drag along with them, and could very well be able to adapt to
the new technologies much better and faster than the PC will be
able to do.

As the Chinese curse goes, we live in interesting times.

						Bruce C. Wright

bcw@rti.rti.org (Bruce Wright) (09/12/90)

In article <4065@rtifs1.UUCP>, bcw@rti.rti.org (Bruce Wright) writes:
> I think relatively few manufacturers modify the MSDOS.SYS file (or
> whatever they choose to call it - IBM calls it the IBMDOS.SYS file)
> very much.  The IO.SYS file (what IBM calls IBMBIO.SYS) is another
> story ...

I'm not sure what was on my mind when I wrote this - on the IBM
of course these files are IBMDOS.COM and IBMBIO.COM (not .SYS).

Not that this changes anything substantive in the article ...

Sorry, I can't cancel it and repost it with corrections;  articles
can't be cancelled from rti (unless you're root).

						Bruce C. Wright