home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
os2csm.zip
/
OS2CSM.ENG
< prev
next >
Wrap
Text File
|
1999-11-20
|
11KB
|
352 lines
user documentation OS2CSM Veit Kannegieser
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
Introduction
════════════
During starting of NWDOS/DRDOS i use the program BBB. It modifies
the CONFIG.SYS file loaded in memory. On DRDOS this is very simple
(no memory protection, you must only know where it is and DRDOS
even allows to load an user executable before loading device drivers.
Using OS/2 this is not possible.. user programs are loaded late.
An workaround could be writing an Snooper driver
(\OS2\BOOT\SNOOP.LST in Version 4). But i have not enough experience
to do that. So i have written something like an boot sector virus:
attached to OS2LDR it installs an filter to the BIOS disk interface
and modifies the loaded data if OS2KRNL tries to load the config.sys
file. To be really sure that it is the config.sys i must insert unique
comments (REM's) on every sector of the config.sys file (all 512 Byte).
512CONF.EXE does the config.sys marking and MENUCOMP inserts the
handler code in OS2LDR.
requirements
════════════
■ OS/2 4.0
i have not tested other versions
■ CGA/EGA/VGA/SVGA graphic card
■ HPFS file system on boot partition
or FAT floppy or boot partition
FAT/EXT2/.. not tested
Install
═══════
preparation
───────────
■ make bakup \CONFIG.SYS and OS2LDR.
■ make sure that emergency boot disks or ALT-F1 works
■ copy \OS2LDR to OS2LDR.ORG in directory of this program
Install steps
─────────────
in the following text D: will mean the OS/2 boot drive and
I:\OS2CSM the directory of this program.
1. Think (on paper) what things are worth to configure and what
values are needed
2. paint background and all things that do not move with an
programs like TheDraw (TDRAW463.ZIP). i have included an
sample (MENU.BIN). without colours it looks like this:
(select "SYSTEM VIO" font)
OS/2 Config.Sys MENU * Veit Kannegieser * 1999.11.17
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ Filesystems & Cache ░░ Network drivers ░░ Shell ░░░░░░░░░░
░░ ░░ √ TCP/IP,MPTS ░░ single CMD ░░░░░░░░░░
░░ HPFS 200 KB ░░ ∙ LAN ░░ single FC/2 ░░░░░░░░░░
░░ 800 KB ░░ ∙ Novell ░░ PManager + CMD ░░░░░░░░░░
░░ 2000 KB ░░░░░░░░░░░░░░░░░░░░░ PManager + FC/2 ░░░░░░░░░░
░░ ░░ add. drivers ░░ PM + Workplace Shell ░░░░░░░░░░
░░ FAT 100 KB ░░ √ CD ROM ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ 500 KB ░░ ∙ CD Writer ░░ DOS ░░░░░░░░░░
░░ 1000 KB ░░ ∙ IOMEGA Z-100 ░░ PROTECTONY ░░░░░░░░░░
░░ ░░ √ 1,4 MB SVDisk ░░ DOS Support ░░░░░░░░░░
░░ EXT2 off ░░ ∙ LPTool ░░ DOS+Windows Support ░░░░░░░░░░
░░ read ░░ √ Soundcard ░░ ∙ Odin ░░░░░░░░░░
░░ read/write ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ ░░ Mouse ░░ ChkDsk ░░░░░░░░░░
░░ VFAT off ░░ none ░░ disabled ░░░░░░░░░░
░░ read ░░ Logitech ░░ autocheck ░░░░░░░░░░
░░ read/write ░░ Mouse Systems ░░ forced ░░░░░░░░░░
░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ FAT32 off ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ read ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ write ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
1) command line 2) single memory hog 3) nice Network Desktop
3. edit MENU.TXT
MENU.TXT contains variable names, ranges and where they are
located on screen.
example HPFS CACHE size:
VAR HPFS 4 3 3 3 H
VAR tell MENUCOMP that an variable follows
HPFS ......variable HPFS
4 .........colomn 4 \ that means under
3 .........line 3 / the H from HPFS
3 .........3 values (100/800/2000)
3 .........default value is 3 (2000)
h .........jump with 'h' key to this mun item
4. edit D:\CONFIG.SYS
IFS=D:\OS2\HPFS.IFS /CACHE:^HPFS:1:100^^HPFS:2:800^^HPFS:3:2000^ /CRECL:128 /AUTOCHECK:DGHI
the general syntax is:
^variable_name:needed_value[,needed_value[..]]:character_string^
■ charcter string may not contain line breaks !
■ for logical combination simply use additional hidden variables
and statments (described later)
■ you may put even an entire line into the string:
^PROTECTONLY:2:PROTECTONLY=yes^
■ there is also an second form (only yes/no):
?"Protectonly=yes"PROTECTONLY=yes
general syntax:
?"Text on Screen"character_string
it will only executed if you answer wit "Y".
5. inster MENU.TXT and MENU.BIN together with the handler code
into D:\OS2LDR:
MENUCOMP.EXE D:\
(D:\ is the rootdir where OS/2 boots from)
6. put an uniqe remar to every sector of Config.sys:
512CONF.EXE D:\
(D:\ ist the place wher to read and write the CONFIG.SYS file.)
This process must be repeated for every change to D:\CONFIG.SYS !
(edited by You,an Install program,..)
7. System Shutdown and Reboot
8. report me errors and success..
special case FAT
────────────────
If OS/2 is booted from floppy there is screen message (IBM text logo)
before the config is read. This will cause the computer to hang if
OS2SCM code is loaded in video memory. Workaround: use the included
OS2BOOT file (copy OS2BOOT_ to A:\OS2BOOT). It will reserve some memory
for OS2SCM in conventional memory. If there occur boot problems make sure
that OS2BOOT ist not stored fragmented - simples way to ensure this is
to copy it first onto that disk.
unistall
════════
restore CONFIG.SYS and OS2LDR from backup (you have done it ?)
or
copy back OS2LDR.ORG to D:\OS2LDR
and execute 512CONF.EXE D:\ /U
to remove the remarks from D:\CONFIG.SYS
Keyboard functions of the Menu
══════════════════════════════
Tab .......................... jump to next variable
Shift-Tab .................... jump to previous variable
up/down +/- .................. modify selected variable
Esc .......................... quit menu and do not remain in memory
use this key if you intend to use Alt-F1
to load an other config.sys or an
install programm had modified the config.sys
and the system would hang.
Return ....................... quit menu and install handler
Alt-F1/F2 .................... like Return key but puts Alt-F1/F2 int keyboard
buffer for OS/2 recorvery menu
Alt-F5 ....................... view BIOS status screen
Ctrl or Scroll Lock .......... if you hold Ctrl down during boot process
the result of the modification will
displayed on screen.
Tips
════
■ let old and working commands in config.sys:
≡ install programms will find them and will be happy without
understaning of lines like ^HPFS=1:...
≡ if you boot with an original OS2LDR or press Esc-key in the menu
you can at least boot your system (ignoing a lot of "errors"
in config.sys)
■ After every Install program that changes the config.sys
call 512conf to fix it. A good way to make that easier is to
to create an .CMD file like D:\CONFIG.CMD:
@ECHO OFF
X:\Y\UTILS\512CONF D:\
or if you create an boot disk with OS2CSM put at least 512CONF.EXE
on that floppy to have it available in every case you may need it.
■ fixpacks, other changes to OS2LDR
since MENUCOMP will create OS2LDR based on OS2LDR.ORG in the
OS2CSM directory it is important to change OS2LDR.ORG if OS2LDR is
changed by a fixpack (OS2LDR and new OS2KRNL must match !) or
by Programs like PatchLDR:
fixpack: allow overwrite with the service program and copy \OS2LDR
to OS2LDR.ORG, recreate \OS2LDR with MENUCOMP
PatchLDR: rename OS2LDR.ORG to OS2LDR, apply PatchLDR, rename back
to OS2LDR.ORG
Syntax for MENU.TXT
═══════════════════
the sample MENU.TXT is commented...
* specify alternate MENU.BIN
MENU_BIN <filename> [ <rows> ]
TheDraw only edits files with 25/50/100 lines, you can edit an 50 line
file and MENUCOM will only use 28 lines if you give the rows parameter
28 and 50 rows are only possible on VGA cards.
* create an visible menu variable
VAR <varibale name> <column> <row> <upper limit> <default value> [<jump key>]
For <upper limit> = 1 the variable is an boolean variable with
only valid values 0=false and 1=true. In all other cases the range
is from 1 to <upper limit>. The <jump key> part is not required.
You should think about the different keyboard layout at boot time.
* create an not visible variable
HIDDEN <variable name> <upper limit>
* assignments and calculations
<V> is variable (like HPFS) oder value (3,TRUE)
STATEMENT <variable> := <expression>
STATEMENT IF <condition> THEN <Variable> := <expression>
<condition> is :
* <V>
* NOT <V>
* <V> OR <V>
* <V> AND <V>
* <V> = <V>
* <V> < <V>
* <V> > <V>
* <V> <= <V>
* <V> >= <V>
* <V> <> <V>
<expression> is :
* <V>
* NOT <V>
* <V> AND <V>
* <V> OR <V>
* <V> XOR <V>
* <V> + <V>
* <V> - <V>
* <V> = <V>
* <V> < <V>
* <V> > <V>
* <V> <= <V>
* <V> >= <V>
* <V> <> <V>
a valid line woul be for example
STATEMENT IF SHELL < 3 THEN DOS := 1
the spaces are needed !
intended extenstions
════════════════════
Please tell me what you think !
Of course it would mutch better if there would be an snooper driver that
patches the entire config.sys at once in memory...
If you want try yourself ... sources are available
(autor.txt)
512CONF,MENUCOMP: Virtual Pascal 2.0 (OS/2)
handler modules A86 (real mode)
History
═══════
≡ 1999.02.21
■ RSPINST modifies '=' to ' ' if it appears more than one time in a line
-> sytax expects now ':'
≡ 1999.06.21
■ timelimt option fixed
■ "^PROTSHELL:3,4:PROTSHELL=D:\OS2\PMSHELL.EXE^" now possible
≡ 1999.06.22
■ timelimit default value fixed
≡ 1999.07.08
■ MENUCOMP can now load files with system/read only attributes
≡ 1999.11.10..1999.11.20
■ calculated/hidden variables
■ boolean variables
■ 28/50 rows possible
■ ALT-F5 to view BIOS status screen
■ DOS Version of 512CONF and MENUCOMP
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡