NewDeal Technical Support Document 267
MORE DOS TIPS
Miscellaneous notes about using DOS commands and
about various DOS error messages
APPEND
The DOS command APPEND allows adding specified directories or drives to
the search path for regular files (not just executables like the PATH
command does). This can cause problems for NewDeal since even the
low-level Int 21h file-open command is affected. If the DOS command
APPEND is used and you copy a file with the same name as a file that
exists within the APPEND path, then it might overwrite the file that
already exists somewhere on the APPEND path. What happens is that when
NewDeal tries to create a new file, the routine FileCreate calls
FileOpen to see if the file already exists and can be opened. Since the
file doesn't exist in the current directory, APPEND kicks in and opens
the file on the APPEND path, and then NewDeal merrily overwrites the
existing file. We recommend that you do not run NewDeal when APPEND
is in use.
BUFFERS, do you really need 30?
When using a disk cache like SmartDrv, SuperPCK, NCache, and so forth, a
lower buffer count may be more efficient. NewDeal sets BUFFERS = 30
during installation, but you may wish to edit the CONFIG.SYS file by hand
and reduce the number to 10, 8, 5 or 4.
For more information about the optimum figure for your system, consult
your DOS manual or the documentation for your cache software. If you
experience any problems after reducing the number of buffers, try raising
the number back to the recommended minimum of 30 or higher.
Cannot delete directory
If you get the error message Cannot delete directory, it may not be
empty when the directory is in fact empty, check to see if the
directory itself has been set to Read-Only.
CHKDSK, swap file wrong size
CHKDSK can return an error about the length of the swap file simply
because the NewDeal software has crashed. It does not indicate an
incompatibility with the version of DOS or anything else significant.
COMSPEC, Boot from a floppy
When you boot up your PC, DOS sets up a system variable called COMSPEC
which stores the location of COMMAND.COM. COMSPEC can be set during boot
up though, so if you wish to boot from a floppy but have your PC access
COMMAND.COM from C:\DOS\COMMAND.COM you can do so by putting the
following line in your floppy's CONFIG.SYS:
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:256 /P
and/or put the following line in your floppy's AUTOEXEC.BAT:
SET COMSPEC=C:\DOS\COMMAND.COM
After you do this, you only need IO.SYS and MSDOS.SYS on your floppy and
COMMAND.COM in C:\DOS. If you want to examine COMSPEC, type SET at the
DOS prompt.
CRC errors
CRC stands for Cyclical Redundancy Check. When the computer moves data
from one place (hard drive, floppy, remote machine via modem) to another,
it does this check to insure that what it got was what it expected to
get. When the CRC check fails the user will get "CRC error" and maybe
"unable to read from disk." This typically means that files are damaged.
There might be CHKDSK errors. Somehow the data is getting corrupted. It
could mean hardware problems.
DEBUG and SID
DR DOS has a debug clone called SID that has similar, though not the
same, commands. For example, to set the OUT2 bit of COM2 (to get around
the delay needed by some ports before an interrupt will actually make it
onto the bus), in DEBUG, you would say
o2fc,8
but in SID, you would say
qo2fc,8
Entering things into memory is "more interesting" with SID. For example,
to fix up the serial port entries, in DEBUG you might say
e40:0 f8 03 f8 02
but in SID, you would say
s40:0
f8
03
f8
02
.
This is because SID will display each byte and you must type in the new
value, followed by a return, rather than having the bytes on the same
line as the command. A period on a line by itself signals the end of
entering data.
Disk Caches
Very early versions of the NewDeal operating system had trouble with
some disk caches that have a "delayed write" feature. As it turns out, it
was a bug in the EMS driver in versions 1.2 and earlier. The problem was
corrected starting in version 1.2.8.
One of the system engineers has a friend who was having trouble running
Windows on her laptop and thought maybe the 4 MB card (over and above the
2 MB on the motherboard) might be having some trouble. She could run New
Deal, however, so they loaded up Perf and tried to get NewDeal to use 2
MB of extended memory, to see if writing to the 4 MB card produced
software death. They worked at it for 10 minutes opening document after
document after document, running through all the pages of each, and
finally managed to get NewDeal to use 1.5 MB of memory.
When you've got extended or expanded memory, NewDeal already treats it
as sort of a file cache for its documents. Given a choice between
throwing out a clean block of memory [and having to load it back in from
disk] or writing it out to extended/expanded memory, NewDeal will always
choose to write it to the memory, until that memory fills up.
There are two things for which a cache is really nice:
- The mapping of 32-character names to DOS names and the
enumeration of directory contents in general. NewDeal doesn't cache such
things at all, so any help it can get from a disk cache is good.
- If your cache is big enough, most of the data that NewDeal needs to
restart after running a DOS program remains in the cache (unless the DOS
program did a lot of disk access) so restarting is lightning fast. On one
computer, we give Super PCKwik 7 MB to play with (it gives NewDeal back
half of that, though) and NewDeal restarts in under 2 seconds, usually,
after running a DOS program. Your mileage may vary.
There is a quite noticeable difference in speed between NewDeal running
with 384K of extended memory and no extended memory. As you get up to 2
MB of extra memory, it becomes much less noticeable, unless you're
manipulating really large documents, or documents with a large number of
ellipses in them (you don't want to know why).
On a 4 MB machine, we'd probably give 1 MB to the cache (whatever it
happens to be), use some for filling in the space above 640K (of which
NewDeal can make good use) and leave the rest for NewDeal to swap in.
A note about SMARTDRV in MS-DOS 6.0 The version of SMARTDRV
that first shipped with MS-DOS 6.0 may let the DOS prompt reappear before the
cache is done emptying. If you turn off the computer as soon as you see
the DOS prompt, you might cause corruption of files that are not finished
being written out from the cache. We recommend that customers not use
SMARTDRV version 4.1 . Obtain SMARTDRV version 4.2 or newer, or
upgrade to MS-DOS version 6.2 or higher.
Double DOS prompt
If you get two DOS prompts when exiting New Deal, like this:
C:\>
C:\>
here are some possible fixes:
- Edit the batch file that launches NewDeal and make the first line
@ECHO OFF. That should take of it. You need to be running DOS
3.2 or later.
- It could also be an extra carriage return at the end of the batch
file that launches New Deal. Make sure you don't have a blank line or two
at the end of the file.
- You can also delete the ECHO ON line at the end of the batch file
that launches New Deal. It caused the same result on several test systems
until we deleted that line.
EMM386 HIGHSCAN, NOEMS
The EMM386.EXE HIGHSCAN switch allows EMM386.EXE to map expanded memory
pages or upper memory blocks (UMB) over portions of the upper memory area
(UMA) used by system read-only memory (ROM).
If you use the HIGHSCAN switch on the DEVICE=C:\DOS\EMM386.EXE line in
the CONFIG.SYS file, EMM386.EXE examines the system ROM area starting at
memory location F000:0000. If EMM386.EXE determines that ROM is
duplicated between F000h-F7FFh and F800h-FFFFh, EMM386.EXE uses the
F000h-F7FFh region for expanded memory page mapping or UMB memory. This
adds up to 32 kilobytes to UMBs.
The video BIOS is usually mapped to the upper memory address range
C000-C7FF. Paradise and Western Digital video cards, among others,
generally follow this convention. Check your video card manual to verify
this. Using this configuration, it will be unnecessary to exclude the VGA
graphics region, A000-AFFF, and the VGA text block, B800-BFFF.
On some systems, EMM386.EXE uses the ROM area and the system does not
operate correctly. The symptoms of this condition vary. For example, the
system may stop responding (hang) or appear to operate normally until you
use a floppy disk drive. Because of these potential problems, HIGHSCAN is
not used by default.
If you experience KR-07 and 09 messages, try eliminating the
HIGHSCAN switch from the line that loads EMM386.EXE in your CONFIG.SYS file.
Also try changing the STACKS values to 18,256.
If you use the NOEMS switch with EMM386.EXE, then select only the
XMS/HIMEM.SYS memory type in the Computer section of Preferences. NOEMS
means Expanded memory will no longer be available, only XMS memory.
Falcon DOS 3.1 and Seattle DOS 3.1
NewDeal may not be compatible with the non-standard systems known as
Falcon DOS 3.1 or Seattle DOS 3.1.
FASTOPEN
If you are running MS-DOS and have FASTOPEN loaded in your CONFIG.SYS
file, we recommend that you remove it. The following is an example of
how FASTOPEN may be invoked in the CONFIG.SYS file
install = c:\dos\fastopen.exe c:=(50,25)
The first numeric parameter in the example above (50) is the number of
files FASTOPEN tracks, and the second numeric parameter (25) is the file
extent parameter, which we assume to mean the size of the file.
NewDeal is among several softwares that appear to be incompatible with
MS DOS's FASTOPEN. This incompatibility does not prevent NewDeal from
running; instead, spurious data may be written out to the disk at
undetermined times, thereby damaging open files. You will not notice any
problem until the next time the damaged file is accessed. Or you may get
the error message Unable to locate disk sector upon trying to run
NewDeal. Therefore, the safest option is to avoid using FASTOPEN at all
(i.e. eliminate the line containing FASTOPEN in the file CONFIG.SYS). The
FASTOPEN command in DR-DOS is just a placebo; it is not functional but
only exists to provide compatibility for some legacy DOS software
programs that require it.
File handles
Starting with DOS version 2.0, a set of UNIX-like file functions were
added to the DOS repertoire. The idea is that when you open a file, DOS
passes back a 16-bit value called a "file handle." Thereafter, when you
read, write, seek a position, or close the file, you refer to it with its
handle. One of the nicer features is that you can refer to certain
devices as if they were disk files by using one of these reserved,
pre-defined DOS handles.
- Handle = Name/Description
- 0 = Standard Input Device (usually the keyboard)
- 1 = Standard Output Device (usually the screen)
- 2 = Standard Error Device (always CON, the screen, for messages)
- 3 = Standard AUX Device (Asynchronous Adapter; 1st serial Port COM1)
- 4 = Standard Printer (first parallel printer port LPT1)
How to make smaller self-extracting ZIP files
First, ZIP the files normally. To do so, change to the directory where the
files to be ZIPed reside. Enter the following command:
PKZIP -ei filename files-to-be-archived
This command will create a file, filename.zip, containing the
files-to-be-archived.
The parameters must be in lower case as shown. Make sure that PKZIP.EXE and
ZIP2EXE.EXE are in a directory in your PATH.
Then, to create a self-extracting file with only a 2k overhead (as
opposed to 18k), use the following command:
ZIP2EXE -j filename
PC-MOS
PC-MOS is an alternative operating system for PC-type
computers that allows multiple users with terminals to
run DOS-like sessions from one PC acting as a server.
MOS is an acronym for Multi-user Operating System and
PC-MOS is published by The Software Link.
A typical use would be connecting multiple terminals
to one PC and using them as cash registers in a store.
NewDeal does NOT run with PC-MOS.
SUBST
A user tried to use this command
SUBST N: C:\NEWDEAL
then she could type N: and do a DIR of C:\NEWDEAL,
but when she tried to run NewDeal, she got an
error message "System Error: Unable to run from a
write protected disk."
This is logical since N: does not really exist and
NewDeal needs to write several files upon startup. As
far as we know there is no work around for this
problem. You just can't use SUBST with NewDeal this way.
Last Modified 11 Mar 1999