How to Configure a Board (MULTI-NODE!!!) under OS/2 with limited system resources. (Ram and CPU)

From OS2World.com Wiki
Jump to: navigation, search

Notice

This is just to say that in no means am I an OS/2 expert, and actually I just started learning it. However I have learned enough to figure out how to make a board with two high speed lines FLY under OS/2 and make it worthwhile for people with system setup's with at least my own. I can't guarantee that this will work or may or may not corrupt your system, but I will try my best.

System Requirements

I have a 386dx40 (M321 Model) and 8 megs of Ram. If you have less than this you are welcome to try this stuff, but i can almost guarantee that the performance will not be that great. If you have less than the above mentioned hardware, my advice is to use DESQview, and grab a copy of the other text help file I wrote, called DVACEBB?.zip available on my system.

Intro - My story

I feel I should let everyone in on how I came to this point. Having used DESQview for a long time, I wanted something more functional, something in which I didn't have to quit to dos every time I wanted to use a program that simply wouldn't function in DV, but since I have two nodes, and no Bus Mouse (a bit mouse, rather than serial) OS/2 seemed like a bit of a drag to get to know without one, and besides, my system isn't what you would call a ferrari. Eventually I said to heck with it and I tried OS/2. It's great the screens are a lot smoother than in DV, and the disk access really is great to the CPU. Unfortunately, I found that the communications programs that I use really don't like OS/2. My users complained of big three second pauses or general all around poor performance. So I went back to DV. Then one day, after wishing I could get OS/2 to work for me, I set it up again and went to work on it. Now I can safely have two nodes loaded, play any OS/2 application with no slowdown to the CPU, run any os/2 friendly Dos program with virtually no slowdown, all the while maintaining the great 32 bit multi threaded multitasking of OS/2 that you simply can't expect from a Dos Task Switcher. There are people out there who say OS/2 Sucks, as there are people that say DESQview sucks. Both of these programs are actually very good, and with the given time and care, they can be formed to work quite well depending on your system. These people obviously run something, and when it "Doesn't work perfect after the first run" it sucks. These people are ignorant, and really should stick to Dos without multitasking. Enough blabber, to those of you that read all this, thanks. On to the good stuff.

Config.Sys Settings for OS/2

Here are the settings of mine that I changed in OS/2 or added.

PRIORITY_DISK_IO=NO 

This makes sure that the disk drive doesn't hog the CPU when it's accessed, and gives the priority away to other things.

MAXWAIT=1

This defaults to 3, but it's a good idea to put it at 1, so that it will only put a thread on hold for that amount of seconds.

TIMESLICE=32,64

Not exactly sure how this one works, but it has to do with the amount of time the computer spends on each thread. This is the one that was recommended to me by OS/2 guru's (unlike me!)

Those are basically the main ones that have been changed. There are others that have been changed, but I will explain those in a little more detail a little further ahead.

Replacing the Default OS/2 Com Drivers

Simple. Simply download the latest version of SIO*.* from my board, and unzip it in a dir, and simply rem out any lines with com or vcom in your config.sys and replace them with these ones..

DEVICE=c:\os2\com\sio.sys (Comx:LockedBaudRate) (Comx:LockedBaudRate)
DEVICE=c:\os2\com\vsio.sys

These com drivers are well worth installing, as the ones that come with OS/2 aren't nearly as good.

Replacing the Presentation Manager as your Primary Shell

This is of special interest to persons who 1) don't have a mouse installed for various reasons and 2) wanna save a SHITLOAD of memory and improve their performance rather dramatically. There are some disadvantages to consider. Here are the pros and cons.

Advantages

1. Takes a LOT less memory just to boot your computer up and go into OS/2. 2. Allows you to MUCH easier access certain things, like DOS SETTINGS, and

  other stuff, without a mouse. All your DOS SETTINGS are included in text
  files and whenever you want to make changes you edit the text file with
  the settings and yer happening.

3. Seems to make everything run much smoother on a 8 meg 386dx40 system. 4. YES you can still run ALL PM OS/2 programs...

Disadvantages

1. Not as many ram consuming Icons. 2. No big pop up displays for editing stuff. 3. Loss of PM specific features (nothing too special) 4. One bug is that it seems to not you call batch files from in batch files

  without exiting both batch files. I'm trying to solve this problem, and
  at present, it doesn't matter, because for all the stuff I do like mail
  and online events, I simply have OS/2 open up another dos window to do
  all these things when the time comes. I will let anyone know when I 
  figure this one out in a future update of this file.

5. Some people will say it looks too plain. Oh well. Tell it runs like SMOKE

To set MSHELL.ZIP (On my board, FREQ) is really simple. Simply dump it in the root directory, and edit this line in your config.sys

SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
          to
SET RUNWORKPLACE=C:\OS2\MSHELL.EXE

Dat's it!!

OH!! Wait. There's more

Your going to need a program, that will let you start DOS SESSIONS from an OS/2 Command line. There's a slew of these. The one I use is called 4OS2, which is actually a command interpreter that replaces the CMD.EXE command as well. You can use either or. If you intend to use HSTART or STARTDOS (OS2 programs that start dos sessions, you need to do nothing, cept read the dox on how to use those files) If you intend to use 4OS2 (my recommendation as it allows a slew of other features that are really nice for your OS/2 prompts and batch programming, etc), then you would have to edit the follow ing lines in yer config.sys...

SET OS2_SHELL=C:\OS2\CMD.EXE 
         to
SET OS2_SHELL=C:\4OS2\4OS2.EXE
         and
SET COMPSPEC=C:\OS2\CMD.EXE

to

SET COMPSPEC=C:\4OS2\4OS2.EXE

Of course I strongly recommend that you read up on 4OS2 and 4DOS in general.

Now that you've done all that, you simply reboot your computer and the thing will generate a default Mshell.ini (listing of the task selections you want in the mshell.ini) Here is what mine looks like...

Tomb #1 ; start /f /max /k /win /dos=c:\board1.sta c:\portal\os2port1.bat
Tomb #2 ; start /f /max /k /win /dos=c:\board2.sta c:\portal\os2port2.bat
Tomb #3 ; start /f /max /k /win /dos=c:\board3.sta c:\node3.bat
Big Dos ; start /f /max /win /dos=c:\games.sta /k
BaseBall Sim ; start f /max /win /c /dos=c:\4dos\tiny.sta /k c:\baseball
Big Os2 ; 4os2
Asteroids ; asteroid.cmd

The start is the 4OS2 Command that opens DOS sessions. You can read up on the various options with the HELP command in 4OS2. Currently taking Tomb #1 for example, it would start a foreground(/f),windowed(/w), to be kept after the application is run (/k) and with the dos settings specified in the file board1.sta file, and to run the batch file os2port1.bat as the task. (Note that you should make a batch file in yer root dir for the specified task here, as there seems no good way to get it to change to the proper directory in any other fashion, and some programs would get upset if their data files weren't in the current directory)The Dos settings file looks like this:

board1.sta

DOS_AUTOEXEC=c:\Autoexe2.bat
DOS_FILES=40
DOS_DEVICE=C:\OS2\COM\VX00.SYS
DOS_SHELL=C:\4dos\4dos.com c:\4dos
DPMI_MEMORY_LIMIT=1
XMS_MEMORY_LIMIT=1024
EMS_MEMORY_LIMIT=200
DOS_FCBS=16
IDLE_SECONDS=0
IDLE_SENSITIVITY=50
VIDEO_ROM_EMULATION=1
VIDEO_FASTPASTE=1
VIDEO_RETRACE_EMULATION=1


Note that some off the Yes/No settings are represented by 0 for no and 1 for yes.

That about it does it for dos sessions...to run Os/2 sessions you need only specify the command on the mshell.ini line, and not need to load start, since it loads the os window anyways. After you make changes to the mshell.ini file you MUST switch to the mini shell window, hit options and Update Mshell .ini file before any changes will take place..

Using Mshell

Not much to it really. Hit O for options and you can use the print spooler, the Shutdown system, even open a generic os/2 prompt, and of course be able to update the ini file when you make changes. Use yer regular keyboard PM commands to move around the menus and stuff.

Optimizing your Dos Sessions

All of the Dos settings in my previous posted board1.sta are the ones I use and perhaps other should try and well as they seem to work rather nice for me. It's up to you if you wanna play with these or not.

Opening Dos Sessions from within other Dos Sessions

This is what you might have to do until one can figure out how to call batch files and have the window NOT close when the exit command is executed and dump all batch files immediately. For me, This is even better, because it lets me open up windows to do the maintenance or mail for me and the mailer goes back up. To do this, you would need once again a program that will let you use dos programs in dos sessions, and I use 4dos for many reasons because of this. Very similar to 4OS2 cept of course it has some rather specific dos functions. But you would call it in roughly the same way. Rather than saying call mail.bat or having your mail commands in your mailer's main batch file, simply have this line in yer :MAILIN label

:Mailin
start /f /win /c /dos=c:\4dos\tiny.sta mail.bat(or online.bat,etc)
goto start

what this would do is open up a foreground windowed session set to close when completed rather than sit there at the command line, and it would use the dos file tiny.sta for it's dos settings and run the mail.bat file. Also keep in mind that you should attempt to learn a bit about 4DOS, and you would get more out of this.

Running PM Programs

Simple. Open an Os/2 prompt. Run the program. Bingo. I do it all the time.

Editorial

If you do all of the following you can get your system to run damn fine. Of course this might be a bit confusing to some, but you can get the hang of it. Also something that might not be obvious is the dos_device= line. In there you would point that to a file called vx00.sys that is where you installed the sio comm files earlier. This is the fossil for dos programs and is required if you want fossil support for your dos programs. On another note, try and run as MANY os/2 programs as you can, such as an os/2 text editor ( I suggest Boxer/2 for OS/2 GREAT!!!!!), and as much as you can handle. I still run many dos programs, such as my mailer and bbs software, and these programs may not run quite as well as some os/2 similar programs but they are fine for me. Try and at least pick software that recognizes Os/2 exists and not totally brain dead to it. (HOG THE CPU> UGHGH) I STRONGLY urge you if you use external protocols to pick up a copy of a newer (febuary 1994) version of GSZ, as it was specifically optimized to work better under OS/2. (And i recommend using the HA SLOW option on the command line) Another thing to acquire is an OS/2 specific term program....here is a list of programs i recommend and programs I would look out for as they have caused me pain and trouble.

KEEPERS!

  • Renegade
  • Portal of Power
  • GSZ (Febuary or Later)
  • Many RG Utils are being optimized for OS/2
  • 4DOS (FOR MANY MANY REASONS!!)
  • Boxer for Dos/Os2 (get a copy of each!! Grin)
  • ANY OS/2 Program!! They run GREAT!! Take almost NO CPU TIME!!!

WOA!! Where did my CPU go!!!

Most online games

  • BRE 9.55
  • Usurper .002
  • Tw2002 Beta 3
  • Warlords of the Balance (fine on cpu..but has screwed com routines)
  • Many Dos Graphic Programs...

OH well. I must have missed a few things. But I can't think of any other stuff to write about. So, if you have any problems or stuff that you think you can better this on or even have some new suggestions for me, then drop by my board and chat me.

Acererak (Neil D)
The Tomb of Horrors
(416)255-2164 / (416)255-2165
Fido (1:250/346,348)
ItcNet (85:896/502)
TeleNet (20:23/211)
SillyNet (654/100/903)