Jump to content

- - - - -

Multi-booting DOS

  • Please log in to reply
3 replies to this topic

#1 wendy


    Frequent Member

  • Lady
  • 267 posts
  • Location:one mile from the QR main line
  • Interests:Operating systems, Weights and Measures, Geometry

Posted 23 June 2010 - 10:09 AM

I've been slowly testing various versions of DOS.

The interesting trick is to put all of the DOS versions in the same VM, and use a batch file to change between them. One can put all versions of PC-DOS or MS-DOS or Win9x in the same box, because the same boot sector loads all of them.

Currently, I have VPCs PC-DOS and Win9xx. type

C:\>type newdos.bat

\exec\attr -z \io.sys \command.com

\exec\mcopy io.sys ..

\exec\mcopy command.com ..

\exec\mcopy dosver.bat ..

\exec\attr +z \io.sys

if "%1"=="-r" \exec\shutdown -r

attr is Charles Dye's version of attrib, and mcopy is the freedos copy.exe command. The particular choice of utilities is to avoid different switches in command.com (v 5 does not support /y). Although \exec is normally in the path, it's included here so that you can run \newdos.bat from a floppy disk boot.

You change to the directory, eg cd 3000, and run \newdos.bat.

Currently under test, is 0950, 1111, 1998, 2222, 2400, 3000 and 3051. These are stock windows versions, except 2400 (my MS-DOS 7.1 build), and 3051 (the multiboot.ru version). 1999 is reserved for the base of Wengier's DOS, and 2000 for Wengier's dos.

Note that we don't copy autoexec or config. DOSVER.BAT carries the specific DOS information, eg "SET DOSVER=3051", it is called in autoexec, and the path is set to set to c:\exec;c:\%DOSVER%.

Config and autoexec are maintained in a common rexx script, which allows rapid rearrangement of files.

/* INST.BAT  REXX autoexec.bat + config.sys */

vpcdir = "c:\drv\vpc"&#59; ms_dir = "c:\drv\ms"&#59; extdir = "c:\drv\ex"

bootdir = 'c:'&#59; tempdir = 'c:\temp'&#59;  exedir = 'c:\exec'

lastdrive='W'&#59; cdrdrv = 'S'; ramdrv= 'R'&#59; ramsize = 8192

lh = 'LH'

call auto0; call makefile bootdir || '\config.sys'

call auto1; call makefile bootdir || '\autoexec.bat'


makefile:&#59; parse arg ff; file.0 = rr

call stream ff, 'c', 'open write'

do rr = 1 to file.0&#59; call lineout ff, file.rr&#59; end

call stream ff, 'c', 'close'&#59; say 'Writing' ff'..'


auto0:&#59;  rr = 0&#59;			  /* CONFIG.SYS */

call add "DEVICE="vpcdir"\VMADD386.SYS"

call rem title 'REM'

call add "LASTDRIVE="lastdrive


call add "BUFFERS=50"

call add "STACKS=0,0"

call add "FILES=90"

call add "device="ms_dir"\himem.sys"

call add "device="extdir"\umbpci.sys /i=CC00-DFFF"

call add "DEVICEHIGH="vpcdir"\CDROM.SYS /D:IDECD001 /L:"cdrdrv

call add "DEVICE="ms_dir"\IFSHLP.SYS"

call add "SHELL="bootdir"\COMMAND.COM" bootdir"\ /P"

call add ''


auto1:&#59; rr = 0;			   /* AUTOEXEC.BAT */

call add '@echo off'

call rem title 'REM'


call add 'if !%1 == !! goto :setenv'

call add lh vpcdir"\fshare.exe"

call add lh vpcdir"\idle.com"

call rem lh vpcdir"\mouse.com"

call add extdir"\ctmouse.exe"

call rem lh ms_dir"\MSCDEX.EXE /D:IDECD001 /L:"cdrdrv" /M:8"

call add lh extdir"\shsucdx.com /D:IDECD001,"cdrdrv

call add lh extdir"\doskey -i"

call add lh extdir"\xmsdsk" ramsize ramdrv": /y"

call add ':setenv'

call add 'call dosver.bat'

call set 'TEMP='tempdir

call set 'TMP='tempdir

call set 'PROMPT=$p$g'

call set 'BLASTER=A220 I5 D1 H5 P330 T6'

call add 'PATH='exedir';c:\%dosver%;'

call add ''


title:&#59; parse arg rem

call add REM "**********************************************"

call add REM "****  DOS Virtual Machine Additions	  *****"

call add REM "**********************************************"


rem:&#59; return

add:&#59; parse arg tail; rr = rr+1; file.rr = tail; return

set:&#59; parse arg tail; rr = rr+1; file.rr = "SET" tail; return

You get hold of say, IBM's rexx.exe from PC-DOS 7, and type "rexx inst", or brexx, the command updates config.sys and autoexec.bat. The file contains "dead" lines, such as the MSCDEX one. REM here is a subroutine on the third-last line, it basically ignores the tail and continues on.

Once you get the DOS version working, it's just a matter of creating the directories like 0950 etc, and placing the files in the correct folders. To boot 0950, one changes to \0950 and runs "\newdos -r"

One should note that a number of commands in the config.sys and autoexec.bat are useful for running DOS in a vm, particularly, Stacks, set blaster= etc.

One can then run a range of ancient and modern utilities to query the DOS version, eg "infer" = msd v 1.0, gives the cd-rom extensions by shsucdx as "2.30".

#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14463 posts
  • Location:The Outside of the Asylum (gate is closed)

Posted 23 June 2010 - 10:38 AM



AutoCon is essentially a database manager for your AUTOEXEC.BAT
and CONFIG.SYS files. It enables you to keep up to fifty
different configurations, and to change easily between those

As often, OT :unsure:, but not much:

OpenDOS loading screen toolkit

Although windows 95 has many kernel bugs and undesirable features, one thing
it does have is a loading screen.

Most versions of DOS do not have loading screens, so here is a way for you
to make your own.


#3 wendy


    Frequent Member

  • Lady
  • 267 posts
  • Location:one mile from the QR main line
  • Interests:Operating systems, Weights and Measures, Geometry

Posted 24 June 2010 - 07:37 AM

You could use dos-logo.sys, a device that loads in config.sys, and runs the necessary file while device drivers load in background.




The bitmaps for the load are not here, but i've got a few of them, along with the things above (basically the logos from Windows 9x, MS-DOS etc).

Other things worth the look for is a proggie like WLL. This reinstates the logo loading that the Tihiy process removed. Still, lile dos-logo.sys, wll.com loads .rle files too.

On the other hand, the DOS boot screen has never frightened me.

#4 tikbalang



  • Members
  • 26 posts

Posted 25 June 2010 - 03:20 PM

advanceboot, part of advancemame, has an interesting bootscreen utility. it loads static .pcx images. i found it more capable than blackout in hiding messages from both config.sys AND autoexec.bat. the two instances where it failed on me was with MS scandisk and hyperdisk from hyperware. the negative thing about it is that it comes in two files: bootmute.exe (toggle black screen) and bootlogo.exe (toggle logo).


blackout, if i remember, can be hexedited to replace the path/filename of the .gif file it uses.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users