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.

Reply via email to