The South African

S H A R E W A R E

M a g a z i n e

Volume 6 - Number 2

Shareware: Your Software Alternative

From The Editor's Desk

Dear Member,

Here it is again - after a fairly long period of silence: the latest edition of the SA Shareware Magazine. We apologize again for the delay, but our life has been fairly hectic over the past few months, not in the least due to a new addition to the editor's family (Sylvia Carina was born on 10th January). But things are slowly settling again, so you should be able to look forward to more frequent newsletters again.

On the club front, there is not too much to say. We would just like to remind you of our policy to copy either one volume onto a 360Kb floppy (5") or four (sometimes five) volumes onto a 1,44Mb stiffy (3"). The copy fees for members remain R10 per disk volume (e.g. 4588A to 4588E would count as five volumes). But we have changed the "bulk discount" arrangement: if you order (and pay) for four volumes, you can order one additional volume for free if you specify 360Kb floppy media, but three additional free volumes if you will take 3" stiffies. This means that if your PC can read high density stiffies, you can order 7 volumes for R40! With the increase in postal rates, we will be forced to increase our shipping, postage & handling fee soon, but we will try and keep at the current R6,oo at least until Easter.

On the articles side, there should again be something of interest to anyone in this issue. After our previous issue's introduction to Internet, we highlight one of its lesser known services: the Internet Relay Chat service. For those who would like to see how computer literate they really are, we include a nice, long MCQ/TF test. And for those of us who still run DOS applications, there is an article on how to maximize the amount of free base memory (640K) in which the DOS applications run. Finally, there is also the second part of the article on what was new in MS-DOS version 6.2; this part is highlighting the enhancements to the SMARTDRIVE disk caching driver.

Enjoy your reading!

Jean-Paul Van Belle.

 Contents

How to Get Maximum Upper Memory with MS-DOS Memory Management p.2

Funnies: E-mail Taglines p.6

Test Your Computer Knowledge p.7

Internet Relay Chat p.13

DOS 6.2 - WHAT'S NEW? p.16

New Shareware Reviews p.19

  How to Get Maximum Upper Memory with MS-DOS Memory Management

by Lou A. Moccia

The MS-DOS memory management system is good, but sometimes just not good enough. Before running out to get a better memory management package like Quarterdeck QEMM, Qualitas 386Max, or Helix NetRoom -- which can cost more than a DOS upgrade itself -- this article will present ways to configure the MS-DOS 5.0, 6.x, and Windows 3.1 EMM386.EXE memory manager to help you get the most Upper memory possible. In most cases, those who are currently unable to load everything they need into Upper memory on 386 or better computers will benefit greatly from this information.

Unfortunately, MS-DOS doesn't provide memory management for 286 or lower computers, other than Extended (XMS) memory services via the HIMEM.SYS driver (and in most cases, it only works for a system with more than 1 meg of memory installed). There's not much you can do on a 286 without the use of Upper memory, which is where you could load device drivers and TSRs high, out of conventional memory. There is hope, though! A few good shareware Upper memory managers that support a lot of 286 systems do exist, the best being LastByte, MemKit, UMB_DRVR, and UMM (all of which are available online). Popular commercial offerings that support some 286 systems include Quarterdeck QRAM, Qualitas MOVE'EM, and Helix NetRoom.

If the following information doesn't help you load everything you need into Upper memory, or one of the EMM386 configuration settings does not work on your computer, then your only options are the following: Invest in another memory management package (mentioned above); load only the device drivers and TSRs that you absolutely need; or live with the reduced conventional memory, but use a multi-config setup for running those huge applications or games.

Now on with the show... The MS-DOS memory management system consists of three parts:

First is the HIMEM.SYS device driver. HIMEM.SYS provides access to the computer's Extended memory, which is that above 1 meg. HIMEM.SYS makes the physical Extended memory accessible as XMS memory to programs that are designed to take advantage of it. (XMS is short for "eXtended Memory Specification"; XMS memory and Extended memory generally refer to the same thing these days, but they are technically different.) HIMEM.SYS also creates the High Memory Area (HMA) from the first 64K of Extended memory, which DOS can use for loading its own kernel into and free up close to 50K of conventional memory (which is that below 640K and being the most important to programs). For the HMA to be available on most systems, there must be at least 64K of Extended memory above 1 meg in the computer; computers with only 1 meg of total system memory usually will not be able to take advantage of loading DOS into the HMA.

Second is the EMM386.EXE device driver, which provides access to Upper memory and/or Expanded (EMS) memory. Upper memory is what EMM386.EXE creates from the areas of Reserved memory between 640K and 1 meg that are not occupied by any ROM BIOS. Expanded (or EMS, short for "Expanded Memory Specification") memory is a special type of memory in a computer, a standard for extra memory that came long before XMS. On 386 or better systems, EMM386.EXE simulates EMS memory from the XMS memory provided by HIMEM.SYS. That's one reason why EMM386.EXE requires that HIMEM.SYS be loaded first in CONFIG.SYS to work.

Third is the line DOS=HIGH,UMB in CONFIG.SYS. The UMB part is necessary for DOS to be able to access the Upper memory provided by EMM386.EXE. The HIGH part isn't really required, but it does perform a very important function in that it frees up close to 50K of conventional memory by moving the DOS kernel into the HMA created by HIMEM.SYS -- Its use is highly recommended! Note that you can have separate DOS=HIGH and DOS=UMB lines if you want (something MS-DOS 6 MemMaker likes to do), but combining them as DOS=HIGH,UMB is a bit more tidy and it is one less line for DOS to process at bootup.

So, lines similar to the following must exist in CONFIG.SYS for DOS to manage the memory in the computer:

DOS=HIGH,UMB

DEVICE=HIMEM.SYS

DEVICE=EMM386.EXE

HIMEM.SYS must be the first of any DEVICE lines to load in CONFIG.SYS, and EMM386.EXE must always load directly after HIMEM.SYS (in normal setups). By the way, it actually doesn't matter where lines like DOS=HIGH,UMB, FILES, BUFFERS, etc. appear in CONFIG.SYS; the only order that matters to DOS is that of DEVICE and DEVICEHIGH lines. Note that the path to HIMEM.SYS and EMM386.EXE is not shown above, since that of course varies per setup and depends on whether you're using MS-DOS 5.0, 6.x, or Windows 3.1. The MS-DOS 6.2 versions of HIMEM.SYS and EMM386.EXE are the newest, the MS-DOS 6.0 versions are older, the Windows 3.1 versions are older still, and the MS-DOS 5.0 versions are the oldest. Even if you have Windows 3.1 installed, always use the newest versions of HIMEM.SYS and EMM386.EXE since they contain fixes and enhancements over previous versions and are meant to replace them.

Now EMM386.EXE must be specially configured to get what we want: Maximum Upper memory. To do this, one of the following EMM386.EXE lines is to be used:

1) For Upper memory only, no EMS memory support:

* MS-DOS 5.0, 6.x, or Windows 3.1:

DEVICE=EMM386.EXE NOEMS I=B000-B7FF I=C800-F7FF

* MS-DOS 6.x only alternative:

DEVICE=EMM386.EXE NOEMS I=B000-B7FF I=C800-EFFF HIGHSCAN

This EMM386.EXE line is used when you want Upper memory only, and don't need EMS memory support for DOS programs, which is specified by the NOEMS parameter. You gain an extra 64K of Upper memory for loading things high when not using EMS memory support.

2) For both Upper memory and EMS memory support:

* MS-DOS 5.0 or Windows 3.1:

DEVICE=EMM386.EXE [memory] RAM FRAME=C800 I=B000-B7FF I=D800-F7FF

* MS-DOS 6.x only alternatives:

DEVICE=EMM386.EXE MIN=0 RAM FRAME=C800 I=B000-B7FF I=D800-F7FF or

DEVICE=EMM386.EXE MIN=0 RAM FRAME=C800 I=B000-B7FF I=D800-EFFF HIGHSCAN

This EMM386.EXE line is used when you need both Upper memory and EMS memory support for DOS programs, which is specified by the RAM parameter. With the MS-DOS 5.0 or Windows 3.1 EMM386.EXE, you must specify a value for the amount of EMS memory you wish to have available to DOS programs if you want more than the default of 256K. With MS-DOS 6.x, a number no longer has to be specified to set the amount of EMS memory, because its EMM386.EXE will dynamically allocate as much EMS memory as a program requests, and then release it back to XMS memory when the program is done. Using the MIN=0 parameter means to not permanently reserve any EMS memory from the XMS memory pool (otherwise the default is 256K reserved), thereby making the largest amount of XMS memory available when EMS is not actually in use. (This is just like how Quarterdeck QEMM has been working all these years!)

The following explains the parameters common to both EMM386.EXE lines:

The I=B000-B7FF parameter tells EMM386.EXE to convert the area of Reserved memory that is normally for a monochrome video adapter into Upper memory. This is perfectly safe to do if you do not use monochrome, and gains 32K more Upper memory. The only major problems this may cause are when using special high-resolution video modes or monochrome emulation modes of certain SuperVGA video adapters; and with Windows 3.1, depending on the Windows video driver used. The video mode problem will vary greatly with the ton of video cards out there, but it is quite rare. The Windows problem can be solved by using the MONOUMB.386 driver available from Microsoft or included with MS-DOS 6.x, which involves adding the line DEVICE=MONOUMB.386 under the [386Enh] section of the SYSTEM.INI file in the Windows directory (either copy the MONOUMB.386 file to the Windows System directory, or supply the full path to the MONOUMB.386 on the DEVICE line).

The I=C800-F7FF parameter (or alternate I=C800-EFFF HIGHSCAN parameters for MS-DOS 6.x only; HIGHSCAN is really the same as I=F000-F7FF) converts the largest free area of Reserved memory normally empty on most systems (with one hard disk controller, no special expansion cards, and that are not IBM PS/2s) into Upper memory. If the RAM parameter is being used, then D800 is used instead of C800 because of the 64K EMS Page Frame required in Upper memory for EMS memory support. The EMS Page Frame is placed at the lowest free area by the FRAME=C800 parameter so the largest free area of Upper memory is created. Either of these settings is the most common, but it will of course differ per system. Some things to note about this memory range:

- Including the F000-F7FF area (or using HIGHSCAN with MS-DOS 6.x) converts the first half of the System ROM BIOS into Upper memory. This gains an extra 32K of Upper memory, but unfortunately it causes problems on quite a few systems. For example, many system will exhibit erratic floppy drive behaviour or plain old system lockups at some point. In my experience, I've found it necessary with a 1990 AMI BIOS to use F6FF instead of F7FF (or HIGHSCAN) to avoid floppy drive problems in certain DOS programs and in Windows; however, F7FF (and HIGHSCAN) works fine with a Phoenix BIOS on another system I use. You will just have to test it out on your system. Some less-compatible systems may not like Upper memory in the System ROM BIOS area at all.

- Adapter cards like secondary IDE hard disk controllers and SCSI controllers may use 8K or more for their own ROM starting at the C800 address.

- Network interface cards may place their RAM buffers in the D000-DFFF area.

- IBM PS/2 computers use the E000-EFFF range for their Advanced BIOS. Some computers (such as Epsons) use this range for the VGA BIOS instead of the normal C000-C7FF range.

To avoid memory conflicts, your best bet would be to first examine the Reserved memory area for the spaces that do not contain ROM. This way you can see if multiple I= parameters must be used instead of one big range, and what would be the best range for the 64K EMS Page Frame (if using EMS memory support). Such a utility to do this is called MSD (Microsoft Diagnostics) and comes with Windows 3.1, MS-DOS 6.x, and most other Microsoft products. There is also a utility from PC Magazine called UMASCAN that displays a nice map of the Reserved memory area.

There is one more trick for MS-DOS 6.x users. Using the EMM386.EXE parameter NOHI will prevent EMM386.EXE from taking 4K of Reserved memory for its own code. That 4K will then take away from free conventional memory, however if you have a device driver or TSR that requires just a couple more K to load resident in Upper memory, then that trade off is well worth it. I had to do this myself in order to fit SHARE into Upper memory; EMM386.EXE now takes up 4K more conventional memory, but the 17K SHARE driver fits into Upper memory now.

After you have configured EMM386.EXE for maximum Upper memory, you should optimize the loading order of your device drivers and TSRs so hopefully all of them fit into Upper memory now.

The easiest way to do this with MS-DOS 6.x is to run MemMaker in its Custom mode, and then if necessary change the EMM386.EXE line back to the way you configured it for maximum Upper memory. Since MemMaker puts a size value (the /L parameter) on each device driver and TSR load line, you can easily reorder them to load the ones with the largest size values first since they require the most free Upper memory to initialize in before going resident. Usually MemMaker does this reordering for you, but not always for the best.

If you are not using MS-DOS 6.x, then optimizing the loading order of your device drivers and TSRs is a more involved trial-and-error deal. You first have to check memory usage with the MEM /C command and note what device driver or TSR is not loading into Upper memory. Then move the line that loads that device driver or TSR higher up in CONFIG.SYS or AUTOEXEC.BAT. Reboot and check with MEM /C again. Keep trying if necessary until you hopefully get everything to load into Upper memory. Remember that no other device driver should be loaded before HIMEM.SYS and EMM386.EXE in CONFIG.SYS (in normal setups).

If you use a certain device driver or TSR that must load after another one to work properly, then you can't always optimize the loading order of them. An example of this is the new SmartDrive 5.0 included with MS-DOS 6.2, which can now cache a CD-ROM drive. In order to cache a CD-ROM drive, SmartDrive must be loaded after the MSCDEX.EXE driver. Since MSCDEX.EXE must be loaded first, and most load it into Upper memory, SmartDrive may not be able to completely fit into Upper memory anymore (depending on what else has been loaded into Upper memory already).

Hopefully the information discussed here will help you load everything you need to load into Upper memory, without having to spend more on a third- party memory management package!

Funnies (E-mail Taglines) 

On a clear disk you can see forever...

OOPS, I stepped on a GUI

If at first you don't succeed, put it out for beta test

Hey, is that an XT or are you running Windows?

In DBLSPACE no one can hear you scream...

Windows: from the makers of the 640K barrier

Circular Definition: see Definition, Circular

Does fuzzy logic tickle?

Oh,great.Nowthedamnspacebarwon'twork.

Computer Lie #1: You'll never use all that disk space.

Computers are not intelligent. They only think they are.

A yer ago I kudnt spel progremr now I are won.

DOS never says "EXCELLENT command or filename, Dude!"

Drive A: format failure, formatting C: instead...

Drive C: Error, (A)bort (R)etry (I)gnore (K)ick (S)cream

Diagonally parked in a parallel universe.

Daddy, what does "Formatting Drive C:" mean?

FATAL SYSTEM ERROR: Press F13 to continue...

Everyone has photographic memory...some don't have film!

Everyone is entitled to my opinion.

Error reading REALITY.SYS - Universe Halted

FIGHT BACK! Fill out your tax forms with Roman numerals.

Many thousands more of these "taglines" on our volumes 4250 & 4251

 

 Test Your Computer Knowledge

by Mike Eccles (with thanks)

True or False Questions

Answers

Answers? What answers?

;-)

 Internet Relay Chat

from the IRC FAQ

(1) What is IRC?

IRC stands for "Internet Relay Chat". It was written by Jarkko Oikarinen (jto@tolsun.oulu.fi) in 1988. Since starting in Finland, it has been used in some 20+ countries spanning the globe. It was designed as a replacement for the "talk" program but has become much much more than that. IRC is a multi-user chat system, where people convene on "channels" (a virtual place, usually with a topic of conversation) to talk in groups, or privately.

IRC gained international fame during the late Persian Gulf War, where updates from around the world came accross the wire, and most people on irc gathered on a single channel to hear these reports.

(2) How is IRC set up?

The user runs a "client" program (usually called 'irc') which connects to the irc network via another program called a "server". Servers exist to pass messages from user to user over the irc network.

(3) How do I use a client?

You either compile the source yourself, have someone else on your machine compile the source for you, or use the TELNET client. "telnet bradenville.andrew.cmu.edu". Please only use the latter when you have no other way of reaching irc, as this resource is quite limited.

(4) Where can I get source for the MS-DOS irc client?

cs.bu.edu /irc/clients/msdos freebie.engin.umich.edu:/pub/irc/clients/MSDOS

(5) Which server do I connect to?

It's usually best to try and connect to one geographically close, even though that may not be the best. You can always ask when you get on irc. Here's a list of servers avaliable for connection:

csd.bu.edu

ucsu.colorado.edu

badger.ugcs.caltech.edu

ug.cs.dal.ca

nic.funet.fi

vesuv.unisg.ch

munagin.ee.mu.oz.au

sunsystem2.informatik.tu-muenchen.de

This is, by no means, a comprehensive list, but merely a start. Connect to the closest of these servers and join the channel #Twilight_Zone When you get there, immediately ask what you want. Don't say "I have a question" because then hardly anyone will talk.

(6) OK, I've got a client and I'm connected to a server? Now what?

It's probably best to take a look around and see what you want to do first. All irc commands start with a "/", and most are one word. Typing /help will get you help information. /names will get you a list of names, etc.

The output is typically something like this-> (Note there are more channels than this, this is just sample output).

Pub: #hack zorgo eiji Patrick fup htoaster

Pub: #Nippon @jircc @miyu_d

Pub: #nicole MountainD

"Pub" means public (or "visible") channel. "hack" is the channel name. "#" is the prefix (see number 7 below). A "@" before someone's nickname indicates he/she is the "Channel operator" of that channel. A Channel Operator is someone who has control over a specific channel. It can be shared or not as the first Channel Operator sees fit. The first person to join the channel automatically gets Channel Operator, and can share it with anyone he/she chooses (or not).

(7) I hear this talk about "+" channels, but I don't see any. What were they?

"+" channels were in older server versions. They no longer exist, and probably will stay dead in later code revisions.

(8) What are good channels to try while using irc?

#hottub and #initgame are almost always teeming with people. #hottub is meant to simulate a hot tub, and #initgame is non-stop game of initials. Just join and find out!

Many irc operators are in #Twilight_Zone ... so if you join that channel and don't hear much talking, don't worry, it's not because you joined, operators don't talk much on that channel anyways!

(9) How can I find out more about how + and # channels are changing?

ftp to cs.bu.edu and look at irc/irc-2.7.CHANGES

(10) What if someone tells me to type something cryptic?

Never type anything anyone tells you to without knowing what it is. There is a problem with typing a certain command with the ircII client that gives anyone immediate control of your client (and thus can alter your account environment also).

(11) What is NickServ? What if I can't remember my NickServ password?

To quote from NickServ's help text, NickServ's purpose is to keep unique nicknames on irc. NickServ sends a warning to anyone else who signs on with your nickname. If you don't use IRC for 10 weeks, your nickname expires for reuse. Only a NickServ operator can change your nickserv password. To find out which NickServ operators are online, send /msg NickServ@service.de OPERWHO

Nicknames with a "*" next to them are online at the time.

(12) What is IPCLUB? GIF-Archives of IRC-persons?

IPCLUB stands for IRC Picture Club. It is an E-Mail service provided by tommi@phoenix.oulu.fi for all the users of the Internet. For more help, mail tommi@phoenix.oulu.fi with the subject of "IPCLUB/HELP".

(13) Where can I learn more?

A good place to start might be downloading the irc tutorials. They're avaliable via anonymous ftp from cs.bu.edu in /irc/support/tutorial.* .. You can also join various IRC related mailing lists. "operlist" is a list that discusses current (and past) server code, routing, and protocol. You can join by mailing operlist-request@eff.org. You can join the irchat mailing list by mailing irchat-request@cc.tut.fi. There is a low traffic ircII mailing list, mail dl2p+@andrew.cmu.edu to be added. Another mailing list, ircd-three@eff.org, exists to discuss protocol revisions for the 3.0 release of the ircd, currently in planning. Mail ircd-three-request@eff.org to be added to that.

(14) What do I do if I'm still confused or have additions to this posting?

email hrose@eff.org or ask for help (in #Twilight_Zone) on irc.

 

Quotable Quotes

Hard work never killed anyone but why take the risk?

Handwritten on a condom machine; "This gum tastes funny"

Friction can be a drag sometimes.

Fun with Greek #3: She's my cherry !

General stupidity error reading drive C:

Help!!! I'm falling and I can't click out!!!

Hello, I am part number │║▐║│║│█│║▌│║▌││.

Help stamp out, eliminate and abolish redundancy!

How much can I get away with and still go to heaven?

I am. Therefore, I think. I think.

I didn't know it was impossible when I did it.

I don't have a solution but I admire the problem.

I had a life once... now I have a computer and a modem.

I wish life had a scroll-back buffer.....

I'll jump off that bridge when I come to it.

I'm dangerous when I know what I'm doing.

I'm no stranger, just a friend you haven't met...

I'm not a complete idiot - several parts are missing.

I'm sure it's in the manual somewhere...

If At First You Don't Succeed Ignore The Docs...

If at first you don't succeed, call it v1.0!

If speed scares you, try Windows...

Ignorance is temporary; stupid is forever.

It can't be full...I STILL HAVE SUBDIRECTORIES!

It doesn't work, but it looks pretty.

It said "insert disk #3" - but onty two will fit...

It's as easy as 3.14159265358979323846264338327950...

It's not GEEK - it's SOCIALLY CHALLENGED, dammit!

Keyboard Not Found - Press [F1] to Continue

Itsdifficulttobeverycreativewithonlyfiftysevencharacters!

Let's organize this thing and take all the fun out of it.

Many thousands more of these "taglines" on our volumes 4250 & 4251

What's New in MS-DOS 6.2

[This is a continuation of the article in our previous issue]

SMARTDRIVE OVERHAUL

SMARTDRIVE is a disk cache program that works with computers that have extended memory. A disk cache uses a portion of memory to store information that DOS reads from disk. DOS can read the information from the disk cache much faster than it can read information from a drive. However, with DOS 6.0 Microsoft had their SMARTDRIVE program default to both read caching and write caching. The problem with write caching is that if you turned your computer off immediately after quitting a program, you could potentially lose data.

With DOS 6.2 SMARTDRIVE write caching is turned off by default. If you upgrade to DOS 6.2 from 6.0 and you had SMARTDRIVE write cache your drives, then SMARTDRIVE leaves write caching turned on.

You can force DOS immediately to write the cached data to the hard drive, by typing at the system prompt:

smartdrv /c <ENTER>

With DOS 6.2 SMARTDRIVE automatically flushes a write cached disk before returning you to the system prompt.

This means it gets the data from memory and writes it to the hard drive before you are returned to the system prompt. If you are using DOS at the command line, you should always exit your program and return to the DOS prompt before you turn your machine off.

With DOS 6.2 Microsoft has added a new /X switch to turn off write caching for all drives.

For most people, the SMARTDRIVE line is in their AUTOEXE.BAT file which is a text file that resides on the root directory of the start-up disk. See pages 205 - 208 in LEARNING DOS FOR THE COMPLETE NOVICE, 2nd Edition for examples and exact instructions on how to use EDIT and modify your AUTEXEC.BAT file to selectively turn off write caching. Those people with exotic ("bus-mastering" hard disk controllers) such as SCSI, or ESDI, may need to have SMARTDRIVE installed in the CONFIG.SYS file. The CONFIG.SYS file also resides in the root directory of your start-up disk and can be viewed and modified with the DOS EDIT program.

With DOS 6.2, you could add the /X switch to turn off write caching like so:

SMARTDRV /X

You can selectively disable write caching by following the SMARTDRV command with the letters of your hard drives. Suppose you had hard drives C, D, E, and you wanted to disable write caching on these drives. Use the DOS EDIT program to change the SMARTDRV line in the AUTOEXEC.BAT file to read the following:

SMARTDRV C D E

The above line tells DOS to allow read caching while disabling write caching for drives C, D, and E. SmartDrive does not cache compressed drives (DoubleSpaced drives); however, for increased performance, you can cache the host drive. If you are running DoubleSpace, you can get information on all your drives by typing:

dblspace /i <ENTER>

If you are running DoubleSpace, the above command gives you information about all your drives. It also tells you which drive is your host drive. Suppose you have only one hard drive and are running DoubleSpace. Suppose you typed the above command and found out that your DoubleSpace host drive is called H. If that is the case, you can configure SMARTDRIVE to read cache, but not write cache the host drive by changing your SMARTDRIVE line in your AUTOEXEC.BAT file to read:

SMARTDRV H

SmartDrive does not cache network drives, or RAM drives.

With DOS 6.2, SMARTDRIVE read caches CD-ROM drives. This is a very nice feature because CD-ROM drives are often too slow. Caching should help performance. If you want to see which drives SMARTDRV is caching, at the system prompt type:

smartdrv <ENTER>

TIP

If after typing SMARTDRV <ENTER> you notice that your CD- ROM drive is not being cached, there may be a perfectly logical reason. The line which loads the MSCDEX program needs to be loaded BEFORE the SMARTDRV line.

To see how to modify an AUTOEXEC.BAT or CONFIG.SYS file see LEARNING DOS FOR THE COMPLETE NOVICE, 2nd Edition. For most people the line that loads the MSCDEX program (for the CD-ROM) and SMARTDRV will be in the AUTOEXEC.BAT file. The AUTOEXEC.BAT file resides in the root directory of the start-up disk (usually drive C).

EXOTIC HARD DRIVES

If you are one of those people who have an exotic "bus mastering" hard drive controller, you may need to have SMARTDRIVE load in the CONFIG.SYS file. For specific instructions on how to modify a CONFIG.SYS file look in Learning DOS for the Complete Novice, 2nd edition. Try using the following line in the CONFIG.SYS file:

DEVICE=C:\DOS\SMARTDRV.EXE /DOUBLE_BUFFER

The above SMARTDRIVE command needs to come before the DEVICE command that loads EMM386. Note that when in the CONFIG.SYS file, SMARTDRV.EXE is used. Remember, before an AUTOEXEC.BAT or CONFIG.SYS start up file can take effect, you must reboot your machine. After you reboot type:

smartdrv <ENTER>

With the above DEVICE=C:\DOS\SMARTDRV.EXE /DOUBLE_BUFFER line in your CONFIG.SYS file the SMARTDRV <ENTER> command loads SMARTDRIVE into upper memory. After you do that you can type the following:

smartdrv /s <ENTER>

Here, the /S stands for Status. A table appears on your screen that looks something like:

DISK CACHING STATUS

drive read cache write cache buffering

A: yes no no

B: yes no no

C: yes yes no

S: yes no no

Look in the buffering column. If all the entries say "no" then your hard drive does not need this Double Buffering and you would be better off taking the SMARTDRIVE line out of your CONFIG.SYS file and just using a SMARTDRV line in your AUTOEXEC.BAT file. This Double Buffering makes SMARTDRIVE operate slower. So, if your hard drive can support SMARTDRV in the AUTOEXEC.BAT file, you are better off.

If you want more information about the DOS 6.2 SMARTDRIVE program type:

help smartdrv <ENTER>

Of course, you will have to be using DOS 6.2. If you need any help on using the DOS HELP see pages 192 - 194 in LEARNING DOS FOR THE COMPLETE NOVICE, 2nd Edition.

TIP

If you are using DOS at the command line, you should always exit your program and return to the DOS prompt before you turn your machine off. Make sure the rest of the family knows this, too.