Hi! > I have an app for my business that's been running under DOS for about > 20 years. I'm (still) working on porting it to Linux because it's > getting close to the point where MSDOS6.22 won't be able to cope with > the size of disc partitions I'm going to need. I've tried using the > W98 DOS to run this app, but it failed miserably every time and I > don't know why. I haven't spent much time looking for the reasons but > it looks like the memory management - there are several versions of > EMM386.SYS and HIMEM.SYS with are supplied with the various flavours > of DOS and I haven't worked out what combinations are OK and what not.
There are a few problems, when using a "Windows-DOS" like a normal MS-DOS. The first problem is MSDOS.SYS (see below). Another Problem that took me a long time to figure out were the new commands in CONFIG.SYS. E.g. you should normale use the following setting for "DOS": DOS=HIGH,UMB,NOAUTO HIGH and UMB are well known, but NOAUTO is VERY important. If it is not present, Windows/DOS will load drivers if you don't load them. So if no line like device=C:\MSDOS\himem.sys is present, himem.sys will be loaded automatically with the parameters Windows thinks are good for you! Another example: A lot of old programs have problems, when emm386.exe is loaded. So you comment out the line in config.sys, reboot and... EMM386 is once again loaded and your program is still not working. So you should set NOAUTO and after disabling EMM386 in CONFIG.SYS it is _really_ disabled. I found a lot of info about the boot process and other interesting things about "Windows-DOS". But a lot of it is in German and only on paper. So the information has to be digitized and translated. Or you can search for more info on the net. Btw: Has M$ really deleted all DOS info from there web pages? I found a lot of interesting stuff there... Would be useful to include it in a distribution... > Are you saying that the W98 DOS will allow me to use bigger discs? > If so then I'm very interested indeed. My understanding is that even > with the W98 VFAT you can still only go up to about 8G, is that right? No. The 8GB limit is a hardware/BIOS problem. On my system: # fdisk -l /dev/hde (...) /dev/hde7 639 5005 35077896 b Win95 FAT32 (...) 35GB FAT32 formated and now problems under Windows, Linux or MS-DOS (7.x)! > > I once installed 98SE and stripped of all Windows parts. After a few very > > easy tricks (e.g. add/change some lines to/in msdos.sys) > > Tell us more! MSDOS.SYS controls the start of Windows. You can even change it to an extend that Windows isn't loaded at all! I changed for example: In the [Paths] section: ;WinDir=C:\WINDOWS ;WinBootDir=C:\WINDOWS WinDir=C:\MSDOS WinBootDir=C:\MSDOS If it is MS-DOS it should have it's own place ;-) More important: [Options] BootMulti=1 ; Make it possible to start DOS BootGUI=0 ; Don't start Windows, only MS-DOS. Now you don't need any ; Windows files at all Logo=0 ; Don't display this silly Windows logo! AutoScan=1 ; Can't remember what that option is good for... I attached a text I found about MSDOS.SYS. I don't know where... > > Perhaps it would be a good idea to build an MS-DOS distribution with that > > version. Don't get it wrong! I'm not talking about illegal copies. [snip] > > > > Anybody interested in such an distribution? > > Very much so. It could give me a breathing space I think I might need. I started this "project" a long time ago and made a GREAT mistake. I tried to build up a C:\MSDOS directory containing everything I found useful for a DOS distribution. Now I don't know where all these files came from. So it will get hard to figure it out again. Another problem is that I have a German version of Windows. Even filenames differ between the different international version. I doubt that you will find files like allgem.txt and antwort.txt in an English version of Windows... Nevertheless it would be possible to make this distribution. But there are a lot of things that have to be figured out. A basic problem: Do we use a Windows/DOS or a Linux/Unix system for extracting the files from Windows and for building the new system. The following functions need further inspection: What boot system to use? Booting from a Windows CD is possible, but building a new bootable CD is better. The ERD could be used. If we only have Linux how can we build this ERD. The necessary file are installed with Windows in the directory EBD and should be somewhere in the CAB files on the Windows CD. Copy them to disk is easy, but how to do a "sys a:" from within Linux? Or is it possible to extract the boot image from the Windows CD? Can we access CAB files from within Linux at all? I have not searched for a tool by now... The greatest problem: If you make a build system running under DOS or DOS compatible Windows: You can only use it, if you already have a DOS compatible system! Normally someone wants such a distribution builder, if he/she only has a Unix or DOS incompatible Windows system. And don't forget: Linux is much more powerful in doing scripting tasks ;-) Comments welcome. Especially if someone has an idea how all this could be done really easy... Jochen
MSDOS.SYS: Special Startup Values Windows 95 Setup creates a hidden, read-only system file named MSDOS.SYS in the root of the computer's boot drive. This file contains important paths used to locate other Windows files, including the Registry. MSDOS.SYS also supports an [Options] section, which you can add to tailor the startup process. The following example shows a typical file with default values: ------------------------------------------------------------------------------ [Options] BootGUI=1 [Paths] WinDir=C:\WINDOWS WinBootDir=C:\WINDOWS HostWinBootDrv=C ------------------------------------------------------------------------------ Most values in the [Options] section are Boolean that is, the value can be 1 (enabled) or 0 (disabled). The following table describes entries in MSDOS.SYS, using the typical default values. MSDOS.SYS Values Entry Description [Paths] section: HostWinBootDrv=c Defines the location of the boot drive root directory. WinBootDir= Defines the location of the necessary startup files. The default is the directory specified during Setup; for example, C:\WINDOWS. WinDir= Defines the location of the Windows 95 directory as specified during Setup. [Options] section: BootDelay=n Sets the initial startup delay to n seconds. The default is 2. BootKeys=0 disables the delay. The only purpose of the delay is to give the user sufficient time to press F8 after the Starting Windows message appears. BootFailSafe= Enables Safe Mode for system startup. The default is 0. (This setting is enabled typically by equipment manufacturers for installation.) BootGUI= Enables automatic graphical startup into Windows 95. The default is 1. BootKeys= Enables the startup option keys (that is, F5, F6, and F8). The default is 1. Setting this value to 0 overrides the value of BootDelay=n and prevents any startup keys from functioning. This setting allows system administrators to configure more secure systems. (These startup keys are described in Chapter 35, "General Troubleshooting.") BootMenu= Enables automatic display of the Windows 95 Startup menu, so that the user must press F8 to see the menu. The default is 0. Setting this value to 1 eliminates the need to press F8 to see the menu. BootMenuDefault=# Sets the default menu item on the Windows Startup menu; the default is 3 for a computer with no networking components, and 4 for a networked computer. BootMenuDelay=# Sets the number of seconds to display the Windows Startup menu before running the default menu item. The default is 30. BootMulti= Enables dual-boot capabilities. The default is 0. Setting this value to 1 enables the ability to start MS-DOS by pressing F4 or by pressing F8 to use the Windows Startup menu. BootWarn= Enables the Safe Mode startup warning. The default is 1. BootWin= Enables Windows 95 as the default operating system. Setting this value to 0 disables Windows 95 as the default; this is useful only with MS-DOS version 5 or 6.x on the computer. The default is 1. DblSpace= Enables automatic loading of DBLSPACE.BIN. The default is 1. DoubleBuffer= Enables loading of a double-buffering driver for a SCSI controller. The default is 0. Setting this value to 1 enables double-buffering, if required by the SCSI controller. DrvSpace= Enables automatic loading of DRVSPACE.BIN. The default is 1. LoadTop= Enables loading of COMMAND.COM or DRVSPACE.BIN at the top of 640K memory. The default is 1. Set this value to 0 with NovellŽ NetWareŽ or any software that makes assumptions about what is used in specific memory areas. Logo= Enables display of the animated logo. The default is 1. Setting this value to 0 also avoids hooking a variety of interrupts that can create incompatibilities with certain memory managers from other vendors. Network= Enables Safe Mode With Networking as a menu option. The default is 1 for computers with networking installed. This value should be 0 if network software components are not installed. Tip for Starting an Earlier Version of MS-DOS If you installed Windows 95 in its own directory, the earlier version of MS-DOS is preserved on your hard disk. If you set BootMulti=1 in the [Options] section in the Windows 95 version of MSDOS.SYS, you can start the earlier version of MS-DOS by pressing F4 when the Starting Windows message appears during system startup.