home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / dosutils / multic21.arj / MULTICNF.DOC next >
Text File  |  1991-07-30  |  8KB  |  221 lines

  1. **********************************************************************
  2.       MULTICNF.SYS  v2.0
  3.  multi configuration program
  4. **********************************************************************
  5.   (C) 1990 Tero Pelander.
  6.  
  7.     You can distribute this utility when
  8.     following conditions are met:
  9.      - The program is not modified in any way
  10.      - You ask no contribution from the receiver
  11.         of this program.
  12.  
  13.  
  14.  
  15. *****  Description  *****
  16.  This program enables to use 3 different CONFIG.SYS and AUTOEXEC.BAT
  17. configurations, which can be selected at boot-time by pressing preset key
  18. combinations.
  19.  
  20.  
  21.  
  22. *****  Usage  *****
  23.  The MULTICNF.SYS file should be on the first line in the CONFIG.SYS file,
  24. and must be before the four device=-------- lines.
  25.  
  26. Usage: device=MULTICNF.SYS xx /T /N /R /Ox
  27.  
  28. Explanations:
  29. xx , time in seconds 0 - 60
  30.  - Time that program is waiting for responce from keyboard.
  31.  - If the time is 0 none of the texts are writen on the screen unless one
  32.    of the selection keys is pressed.
  33.  - The default wait time is 10s.
  34.  - This should be the first option.
  35.  
  36. /T , /Text , text lines follow
  37.  - Tells the program to show additional information of different selections.
  38.    Next lines on config.sys are comments for user to make his/her selection.
  39.    e.g. device = text This is first comment. Everything starting after first
  40.     DEVICE=TEXT (or second) space behind word TEXT will be printed.
  41.     device= TEXT    (this line begins with 3 spaces) Next line is empty.
  42.     DEVICE =text
  43.  - Depending on MS-DOS version you should leave one or two spaces behind
  44.    word TEXT before you start your own text.
  45.  - Currently all text will be converted to uppercase (by MS-DOS).
  46.  - If wait time is 0 none of the texts will be printed. You should still
  47.    leave the /T option to suppress any warnings about device=text lines.
  48.  
  49. /N , /No prompt
  50.  - line 'Press SHIFT, ALT or CTRL.' won't be printed
  51.  
  52. /R , /Remove comments
  53.  - You may want to include explanations to your config.sys starting with
  54.    REM command. Ms-dos versions before 4.0 don't understand that command
  55.    and will print 'Unrecognized command'.
  56.  - Including this option will suppress all 'Unrecognized command' warnings
  57.    but warnings like 'Unable to find ANSI.SYS driver' are printed. Look at
  58.    /O option.
  59.  
  60. /Ox , /Old ms-dos version
  61.  - The program automaticly detects what MS-DOS version it is using but
  62.    you can force it to use different settings.
  63.  
  64.  /O0 or /O
  65.    no restrictions, default for 4.0 and better
  66.  /O1
  67.    leave small part of code to memory and no empty line mark,
  68.    default for all before version 3.3
  69.  /O2
  70.    no empty line mark, default for 3.3x versions
  71.  
  72. When there is no empty line mark
  73.  - Pre 4.0 versions of MS-DOS don't usually count the number of the line
  74.    so they don't have a code for an empty line. When this is true multicnf
  75.    removes all unwanted lines and to fills the end of configuration with
  76.    'Unrecognized command' mark.
  77.  - You will always get warning 'Unrecognized command' as if the last command
  78.    in the config.sys had been typed wrong. This doesn't depend in any way
  79.    from option /R.
  80.  
  81.  
  82. Example of the first line in CONFIG.SYS for MS-DOS v3.2:
  83. DEVICE=C:\MULTICNF.SYS 15 /R
  84.  
  85. Example of the first line in CONFIG.SYS for MS-DOS v4.0:
  86. device=c:\multicnf.sys 15
  87.  
  88.  
  89.  
  90. *****  Selecting the boot configuration  *****
  91.  When machine boots up with MULTICNF, it will print it's acknowledgments
  92. and asks you to press SHIFT, ALT or CTRL. One of these keys can also be
  93. already depressed when the program executes. If none of the keys are pressed
  94. in a preset time (the number of seconds in config line), the configuration
  95. one (same as when SHIFT is pressed) is selected. Therefore, the first
  96. configuration is considered to be 'the normal one'.
  97.  
  98.  
  99.  
  100. *****  Creating multiple configurations  *****
  101.  All three configurations must be in CONFIG.SYS, separated with text
  102. 'DEVICE=--------' (8 minuses). The part between the first line (which
  103. loads MULTICNF) and first separator (device=--------) is always executed.
  104. The part from the first separator to second is run when normal/SHIFT
  105. configuration is selected, and so on.
  106.  
  107.  You can include comments to the end of separator line by first putting
  108. an space behind device=------.
  109.  
  110.  You can write commands after the last separator line but it will bring
  111. some unwanted properties. The warning 'Unrecognized command' (MS-DOS
  112. versions 2.11 - 3.x) will be placed where the last separator line is.
  113. Version 4.x users will get invalid line numbers when an error is detected
  114. on such line. Usually around 100 - 500 depending how many device=text lines
  115. there are.
  116.  
  117.  An example of config.sys (without the actual CONFIG commands.)
  118.  
  119. DEVICE=C:\DOS\DRV\MULTICNF.SYS 15 /T
  120. <if you use option /T, device=text lines are placed here>
  121. <commands in here are always executed>
  122. DEVICE=-------- <comment here>
  123. <commands in here are executed when nothing or SHIFT is pressed>
  124. DEVICE=-------- <comment here>
  125. <commands in here are executed when ALT is pressed>
  126. DEVICE=-------- <comment here>
  127. <commands in here are executed when CTRL is pressed>
  128. DEVICE=-------- <comment here>
  129.  
  130.  
  131.  
  132. *****  Detecting errors in config.sys  *****
  133.  An error will be reported if any line (even within a part that doesn't get
  134. executed) has a command that MS-DOS doesn't understand and you haven't used
  135. /R option.
  136.  
  137.  MS-DOS version 4.0 tells always the line number with the error. Lines
  138. correspond directly to the config.sys file. Too large line numbers will
  139. result from adding command behind last 'device=--------' line
  140.  
  141.  If you are using /O1 or /O2 option or you are using ms-dos version 3.3 or
  142. older you will always get an extra 'Unrecognized command' warning in the end
  143. of config.sys.
  144.  
  145.  
  146.  
  147. *****  Using multiple AUTOEXEC.BATs  *****
  148.  The program doesn't change the AUTOEXEC in any way regardless of the
  149. key pressed when booting. The way you can use multiple AUTOEXECs when
  150. booting, is using another program included: MULTIRET.COM. It returns in
  151. ERRORLEVEL with what key the machine was booted. The following return
  152. values exist:
  153.  
  154. 0 - no key was pressed at boot up time. configuration one (1) was used
  155. 1 - machine was booted with configuration 1. SHIFT was pressed
  156. 2 - configuration 2. ALT was pressed
  157. 3 - configuration 3. CTRL was pressed
  158.  
  159.  Next example shows the exact way of doing this. It just echoes the key
  160. combination the machine was booted with, but of course you can put anything
  161. you want in the place of the echoes.
  162.  
  163. @echo off
  164. rem  @ as the first mark on the line turn echo off for one line only
  165. rem  on MS-DOS version 3.3 and later
  166. multiret
  167. if errorlevel 3 goto CNF3
  168. if errorlevel 2 goto CNF2
  169. if errorlevel 1 goto CNF1
  170. echo No key was pressed
  171. :CNF1
  172. echo Started with config 1, normal
  173. goto END
  174. :CNF2
  175. echo Started with config 2, ALT was pressed
  176. goto END
  177. :CNF3
  178. echo Started with config 3, CTRL was pressed
  179. :END
  180.  
  181.  
  182.  
  183. *****  Technical information *****
  184.  After MS-DOS has been loaded CONFIG.SYS file is being decoded to memory.
  185. When a device (e.g. MULTICNF.SYS) is executed for first time it is given
  186. a pointer to decoded information of CONFIG.SYS.
  187.  
  188.  This program makes changes to the information and after it has finished it
  189. tells to MS-DOS that it couldn't install itself properly. MS-DOS releases
  190. the memory and executes the next command in the modified configuration.
  191. MS-DOS versions before 3.3 can't properly dechain the device driver so a
  192. small part (48 bytes) of the program is left in the memory.
  193.  
  194.  There is no way of knowing where the end of the decoded information is so
  195. user must supply the info by a device=-------- line.
  196.  
  197.  The program has been tested on MS-DOS versions 2.11, 3.2, 3.3 and 4.0.
  198.  
  199.  
  200.  
  201. *****  Version history  *****
  202. 1.0    First releace by Sami Tammilehto
  203. 2.0    completely rewritten by a new author
  204.     added all options, wait time is no longer needed on config.sys,
  205.     added support for ms-dos 4.0
  206. 2.1    fixed a bug: time zero and no key pressed
  207.     dos timer is no longer modified
  208.     commands behind last device=-------- line allowed
  209.  
  210.  
  211. I hope you have use of this utility. If you find any bugs, are intrested
  212. in the source code or think of some enchantments contact me.
  213.  
  214. Internet: tpelander@kontu.utu.fi      (130.232.2.1)
  215. Bitnet:   tpelander@FIRIEN
  216. Post:    Tero Pelander
  217.     TOP-keskus
  218.     Torninkatu
  219.     20100 Turku
  220.     Finland
  221.