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