892 lines
35 KiB
Plaintext
892 lines
35 KiB
Plaintext
|
||
SRDISK (TM)
|
||
ReSizeable RAMDisk version 2.04
|
||
for XMS and EMS memory
|
||
|
||
Copyright (c) 1991-1993 Marko Kohtala
|
||
All rights reserved
|
||
|
||
|
||
|
||
CONTENTS
|
||
|
||
1. Disclaimer of warranty
|
||
2. License
|
||
3. Features included
|
||
4. Files in this release
|
||
5. Usage
|
||
5.1. Basic installation
|
||
5.2. SRDISK device driver
|
||
5.2.1. XMS memory device driver
|
||
5.2.2. EMS memory device driver
|
||
5.2.3. EMS 3.2 memory device driver
|
||
5.3. SRDUMMY device driver
|
||
5.4. SRDISK program
|
||
5.4.1 SRDISK sample commands
|
||
5.4.2 SRDISK command line options
|
||
6. Troubleshooting
|
||
7. Trademarks
|
||
8. Last words
|
||
|
||
|
||
|
||
1. DISCLAIMER OF WARRANTY
|
||
|
||
THIS SOFTWARE AND MANUAL ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES AS
|
||
TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER
|
||
EXPRESSED OR IMPLIED. BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE
|
||
ENVIRONMENTS IN WHICH THIS PROGRAM MAY BE USED, NO WARRANTY OF FITNESS
|
||
FOR A PARTICULAR PURPOSE IS OFFERED.
|
||
|
||
GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE THOROUGHLY
|
||
TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT. THE USER MUST
|
||
ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF THE
|
||
SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF
|
||
PURCHASE PRICE.
|
||
|
||
|
||
|
||
2. LICENSE
|
||
|
||
This software is NOT public domain. It is copyrighted software
|
||
distributed as shareware.
|
||
|
||
This software is NOT free. A license fee must be paid if used longer
|
||
than for one month evaluation period. See PAYMENT.DOC for details of the
|
||
payment.
|
||
|
||
If you received this software on a CD-ROM or from a disk vendor, you
|
||
have only paid for the disk. You do NOT have a license to use this
|
||
software.
|
||
|
||
Everybody has the right to copy and distribute this software as long as
|
||
it is unmodified and all the original files listed in chapter 4 of this
|
||
document are included. A fee of at most $7 may be charged for the total
|
||
expences of copying. If a copying fee is taken, the receiver of this
|
||
software must be made aware that he has only the evaluation and copying
|
||
license stated above.
|
||
|
||
Remember that you may COPY THIS TO YOUR FRIENDS! This is the idea behind
|
||
shareware. Show this to your boss also (not meaning: if you do not count
|
||
him/her to your friends <g>). SRDISK can prove worth a few megabytes of
|
||
memory to you.
|
||
|
||
|
||
|
||
3. FEATURES INCLUDED
|
||
|
||
This RAM disk currently supports the following features:
|
||
|
||
* Compatible with MS-DOS versions from 3 to 6 and DR-DOS 5 to 6.
|
||
* XMS - Extended memory on 286 and up with HIMEM or other XMS 2.0
|
||
driver.
|
||
* EMS - Expanded memory of LIM/EMS version 3.2 and 4.0.
|
||
* Device drivers may be chained to form larger disks using many
|
||
different kind memories.
|
||
* Resizeable - can preserve disk contents if new format has room
|
||
enough.
|
||
* Removable. Can be disabled without reboot.
|
||
* Supports 32-bit sector addressing introduced in DOS 4. Thus over 32M
|
||
RAM disks are possible if you have the memory.
|
||
* Configurable
|
||
- sector size
|
||
- cluster size
|
||
- root directory entry count
|
||
- number of FATs
|
||
* Predefined DOS and FDFORMAT floppy disk look-alike formats.
|
||
* DISKCOPY compatible with DOS versions from 3.20 up. You can copy
|
||
to/from SRDISK drive using DOS DISKCOPY.
|
||
* Write protection.
|
||
* Can optionally set environment variables SRDISKn (n=1,2,...) to
|
||
the installed SRDISK drive letters.
|
||
* Comes with a dummy drive you can use to locate SRDISK (or any other
|
||
installable) drive at a higher letter.
|
||
|
||
I have a list of new features to implement in the future. By sending
|
||
money and feature suggestions you can help me make this program still
|
||
better.
|
||
|
||
Users may find that the ability to resize is invaluable. Since some
|
||
programs can take best use of memory by directly using it while others
|
||
need a fast disk for temporary files, you can now have optimal
|
||
performance with both kinds of programs without the trouble of changing
|
||
configuration and rebooting.
|
||
|
||
The feature of being able to resize automagically when there is need for
|
||
it is currently not in my reach. FAT filesystem in DOS just was not
|
||
designed for it. There is some more explanation about it later in this
|
||
document.
|
||
|
||
|
||
|
||
4. FILES IN THIS RELEASE
|
||
|
||
The following files are distributed in this release:
|
||
|
||
READ.ME some notes
|
||
SRDISK.DOC this document
|
||
SUOMI.DOC Finnish version of this document
|
||
SRDXMS.SYS device driver for XMS memory
|
||
SRDXMSS.SYS device driver for XMS memory (small version)
|
||
SRDEMS.SYS device driver for EMS 4.0 memory
|
||
SRDEMSS.SYS device driver for EMS 4.0 memory (small version)
|
||
SRDEMS3.SYS device driver for EMS 3.2 memory
|
||
SRDUMMY.SYS device driver for nothing but use drive letters
|
||
SRDISK.EXE formatter program
|
||
PAYMENT.DOC registering information
|
||
WHATSNEW.DOC what is new in this release and history
|
||
FILE_ID.DIZ short description of packet for BBS operators
|
||
|
||
The small versions of device drivers do not support DOS DISKCOPY
|
||
compatibility and may require user to make sure there is enough stack
|
||
available by specifying STACKS=8,512 (or similar) in CONFIG.SYS. Also,
|
||
you can not chain another device driver after a small version device
|
||
driver.
|
||
|
||
|
||
|
||
5. USAGE
|
||
|
||
The SRDISK is basicly split into two parts:
|
||
|
||
1) a device driver to add the virtual drive into DOS and
|
||
2) a program to control the device driver
|
||
|
||
The following explains the installation and how to use both of these
|
||
parts.
|
||
|
||
|
||
5.1. BASIC INSTALLATION
|
||
|
||
The basic installation for XMS memory can be done following these steps:
|
||
|
||
1. Copy SRDXMS.SYS into you root directory.
|
||
|
||
2. Copy SRDISK.EXE into some directory in your PATH.
|
||
|
||
3. Make sure you have HIMEM.SYS or some other XMS driver installed
|
||
in CONFIG.SYS before the following step.
|
||
|
||
4. Add into your CONFIG.SYS line
|
||
|
||
DEVICE=SRDXMS.SYS
|
||
|
||
5. Add into your AUTOEXEC.BAT after the PATH command line
|
||
|
||
SRDISK <size>
|
||
|
||
The <size> defines the disk size in Kbytes.
|
||
|
||
If you have EMS memory, then use file SRDEMS.SYS in place of SRDXMS.SYS
|
||
and make sure EMS 4.0 device driver is installed in CONFIG.SYS before
|
||
the SRDEMS.SYS.
|
||
|
||
The device driver adds into DOS a new disk drive. Before you run
|
||
SRDISK.EXE or when you set the disk size to zero, the new disk drive
|
||
behaves as if you have a floppy drive without a floppy inserted.
|
||
|
||
|
||
5.2. SRDISK DEVICE DRIVER
|
||
|
||
For a RAM disk you need a device driver. This device driver supplies a
|
||
storage for an array of sectors which DOS uses to store all the data.
|
||
SRDISK comes with separate drivers for storing the sectors in XMS
|
||
(extended memory managed by HIMEM.SYS or other XMS driver) and in EMS
|
||
memory.
|
||
|
||
Most often you do not need any parameters for the device drivers, but
|
||
the driver accepts two parameters:
|
||
|
||
DEVICE=SRDmmm.SYS [d:] [/A]
|
||
|
||
The [] around the parameter mean it is optional; you must not type the
|
||
brackets.
|
||
|
||
d: The 'd:' can be used to tell the driver at what letter it is
|
||
assigned in case DOS does not let it know it.
|
||
|
||
Another use for 'd:' is to define into what SRDISK drive the
|
||
current driver is to be appended.
|
||
|
||
If you need to have SRDISK at some specific drive letter, you
|
||
can use SRDUMMY.SYS. Note though, that drive letters are always
|
||
used in order from A to Z and you can only use up a few drives
|
||
before the letter you want to use.
|
||
|
||
/A This tells the driver to append itself to the previously
|
||
installed SRDISK device driver. The memory accessed using this
|
||
driver is then available as extra memory to the previously
|
||
installed SRDISK drive.
|
||
|
||
If you want the low part of your disk to use XMS and the high
|
||
part EMS memory, you can put these two lines into your
|
||
CONFIG.SYS
|
||
|
||
DEVICE=SRDXMS.SYS
|
||
DEVICE=SRDEMS.SYS /A
|
||
|
||
For this to work, the first device driver must have the extra
|
||
code to look into the next driver for more memory. Therefore the
|
||
first device driver must not be the small version SRDXMSS.SYS or
|
||
SRDEMSS.SYS.
|
||
|
||
Merely installing the driver gives you no RAM disk. It is as if you had
|
||
installed a floppy drive without putting a disk in the drive. For that
|
||
you need the SRDISK.EXE program.
|
||
|
||
The following chapters give some explanation about the different memory
|
||
types and explains reasons for the problems there are.
|
||
|
||
|
||
5.2.1. XMS MEMORY DEVICE DRIVER
|
||
|
||
8088 processor instruction set can only access memory at addresses from
|
||
0 to 1048575 (1 megabyte) and memory above the address 1048575 is called
|
||
extended memory. i80286 had a new mode (protected mode) where the
|
||
instructions had a little different meanings and could be used to
|
||
address memory above the 1 megabyte limit.
|
||
|
||
XMS (eXtended Memory Specification) is a means to control the usage of
|
||
extended memory between applications so that each application can have
|
||
exclusive access to some range of addresses without fear the other
|
||
application would be using the same memory for its own purposes.
|
||
|
||
When SRDISK (or any other XMS client) needs extended memory, it requests
|
||
it from extended memory manager (EMM) that follows the eXtended Memory
|
||
Specification. Most common and free such memory manager is HIMEM.SYS.
|
||
|
||
The EMM then tries to find available memory block (a contiguous range of
|
||
addresses available) that is as large or larger than the requested
|
||
memory block. If all of the available blocks are smaller than the
|
||
requested size, the request fails even if the available blocks would be
|
||
large enough when combined.
|
||
|
||
Since DOS and DOS programs still run in the 8088 mode where instructions
|
||
can not address memory beyond 1 megabyte limit, there is no way for them
|
||
to access the memory directly. XMS also defines service to copy memory
|
||
to and from the memory beyond the 1 megabyte limit.
|
||
|
||
|
||
5.2.2. EMS MEMORY DEVICE DRIVER
|
||
|
||
Since 8088 could only address memory up to 1 megabyte, any memory added
|
||
had to be made to use the same addresses with already existing memory.
|
||
Some new hardware had to be added so that the memory occupying a range
|
||
of addresses could be switched with another block of memory.
|
||
Lotus/Intel/MicroSoft Expanded Memory Specification (LIM EMS) was
|
||
developed to provide standardized access to this memory for much the
|
||
same reason XMS was developed to provide access to extended memory.
|
||
|
||
EMS uses a 64K memory area divided into four separate 16K windows to
|
||
access the expanded memory. These windows show different 16K blocks of
|
||
EMS memory (called pages) as requested by the application.
|
||
|
||
EMS memory can also be simulated very efficiently with 386 virtual
|
||
memory. For example EMM386 uses this method to convert extended memory
|
||
into expanded memory.
|
||
|
||
Since EMS memory is consisted of separate 16K pages, there is no
|
||
requirement to have the allocated memory be in contiguous blocks as with
|
||
XMS memory. Since all the available memory can be allocated, you can
|
||
better predict how much memory you can allocate.
|
||
|
||
|
||
5.2.3. EMS 3.2 MEMORY DEVICE DRIVER
|
||
|
||
EMS 3.2 is an older version of EMS. 4.0 is the currently most used one.
|
||
|
||
The main reason SRDISK has version 3.2 driver is that MS-Windows 3.1 has
|
||
a serious bug in the EMS protection it uses. Basicly with the EMS 3.2
|
||
driver you can access EMS disk that has been allocated before starting
|
||
MS-Windows but not one that is allocated inside DOS window. With the EMS
|
||
4.0 driver you can not access memory allocated before starting
|
||
MS-Windows but can well access memory that is allocated inside DOS
|
||
window.
|
||
|
||
In any case, MS-Windows will not allow any other process access the
|
||
disk allocated in another process.
|
||
|
||
|
||
5.3. SRDUMMY DEVICE DRIVER
|
||
|
||
SRDUMMY.SYS can be used to force installable device drivers to some
|
||
specific drive letters. To better understand what for you might need it,
|
||
read the following paragraph.
|
||
|
||
DOS allocates drives in order from A to Z. The first drives A and B are
|
||
always used for floppy drives. If you have hard disks, drives from C up
|
||
are allocated to them by DOS before CONFIG.SYS is loaded. After all the
|
||
standard hardware drives have been assigned, DOS reads the CONFIG.SYS
|
||
and loads the devices found there. Each block device driver (a device
|
||
supplying only an array of blocks of data, like SRDISK) is assigned one
|
||
or more drive letters in the order they are in CONFIG.SYS. The device
|
||
drivers can not determine to which drives they get assigned.
|
||
|
||
SRDUMMY.SYS tells DOS it provides one or more block devices and thus
|
||
uses up some drive letters. There will not be any drives though, and if
|
||
you access the drives, you'll get the drive not ready error.
|
||
|
||
SRDUMMY.SYS takes one parameter: The drive letter the next block device
|
||
should be loaded to.
|
||
|
||
Take a look at the following sample CONFIG.SYS:
|
||
|
||
DEVICE=SRDXMS.SYS
|
||
DEVICE=SRDUMMY.SYS G:
|
||
DEVICE=SRDEMS.SYS
|
||
|
||
If you have one hard disk, the floppies and hard disk use letters A-C.
|
||
SRDXMS.SYS is then loaded to D and SRDUMMY.SYS uses drives E and F.
|
||
SRDEMS.SYS loads thus at G.
|
||
|
||
If you add a second hard drive, it will take drive letter D and
|
||
SRDXMS.SYS will then be at E and SRDUMMY.SYS use only drive F putting
|
||
SRDEMS.SYS to G again.
|
||
|
||
If you add a few more drives so that drive G is already in use before
|
||
SRDUMMY.SYS gets loaded, you will only get a warning message from
|
||
SRDUMMY.SYS and the SRDEMS.SYS will load at the next available drive
|
||
letter.
|
||
|
||
DR-DOS 6 seems not to allow access to drive letters after P: even with
|
||
LASTDRIVE=Z statement in CONFIG.SYS. So with DR-DOS you must avoid using
|
||
the last drive letters after P:.
|
||
|
||
|
||
5.4. SRDISK PROGRAM
|
||
|
||
The disk can be enabled by, for example, using command "SRDISK 1024"
|
||
which will make first SRDISK a 1024K disk. It can be disabled by making
|
||
it of size 0: "SRDISK 0".
|
||
|
||
You should include the command to enable the RAM disk into your
|
||
AUTOEXEC.BAT file.
|
||
|
||
The SRDISK.EXE is self documented. You'll get the documentation by
|
||
typing at the DOS prompt "SRDISK /?" and hitting enter. To get a hang of
|
||
it better, some examples with explanations are given below.
|
||
|
||
|
||
5.4.1. SRDISK SAMPLE COMMANDS
|
||
|
||
Command
|
||
|
||
SRDISK 1024
|
||
|
||
creates or changes the old disk to a 1024K (= 1M) disk.
|
||
|
||
More precisely it calculates various disk parameters as it best sees fit
|
||
for most users needs. Those disk parameters can be defined by user on
|
||
the command line if the calculated values do not meet his needs. After
|
||
the parameters have been calculated, the memory (1024K = 1M) needed for
|
||
the disk is allocated and a disk image is created into the memory.
|
||
|
||
The calculated parameters include sector size, cluster size, number of
|
||
FATs and root directory size.
|
||
|
||
- Sector is the basic unit of storage. It's size does not mean much, but
|
||
it has to be a power of 2 and no larger than 512 bytes.
|
||
|
||
- Cluster size tells in how large blocks the space is allocated. Larger
|
||
clusters mean smaller FAT (= File Allocation Table), but then even the
|
||
smallest file always takes at least that much space. Cluster can not
|
||
be smaller than one sector. A cluster is a collection of sectors.
|
||
|
||
- FAT is the table that holds information about each allocation unit,
|
||
cluster, on the disk. The information can be indication that the
|
||
cluster is free, or where the next cluster of the file is or that the
|
||
cluster is unusable. A disk only needs one FAT - though multiple
|
||
copies of it can be specified. Note that the other FATs are only
|
||
copies of the first one.
|
||
|
||
- Root directory is limited to hold only some predefined number of
|
||
files. If you get "Can not create file" errors while there is plenty
|
||
of free space on disk, you need to make the root directory larger.
|
||
Alternatively you should create a subdirectory and create the files
|
||
there. Subdirectories can be arbitrarily large.
|
||
|
||
If there is data on the disk to be preserved, sector and cluster size
|
||
are not changed.
|
||
|
||
Command
|
||
|
||
SRDISK 1024 /O
|
||
|
||
does the same as the command 'SRDISK 1024' except the various disk
|
||
parameters are not calculated but instead the old parameters are used.
|
||
|
||
Command
|
||
|
||
SRDISK /F:1440
|
||
|
||
tries to create the disk to look like a real floppy disk. It also
|
||
defines some parameters that otherwise have no effect like media
|
||
descriptor, number of heads and sectors per track. These parameters have
|
||
no other function but to make it look like it is a real, physical disk -
|
||
which it is not. SRDISK drives are not accessible through BIOS, so some
|
||
diskcopy and utility programs can fail if used with SRDISK.
|
||
|
||
Command
|
||
|
||
SRDISK /S:256 /C:1024 /D:64
|
||
|
||
reformats the disk. The size is determined by the old size of the disk
|
||
even without the use of /O. Sector size is changed to 256 bytes, cluster
|
||
size to 1024 bytes (two sectors) and root directory will hold 64 entries
|
||
(one of which is used for the volume label).
|
||
|
||
Command
|
||
|
||
SRDISK /U
|
||
|
||
clears the disk. It recalculates the format and makes it better if
|
||
possible, but preserves the disk size. Without this switch, the disk
|
||
contents are preserved if possible. This is also usefull if you can not
|
||
resize the disk because of errors on it -- using this option the errors
|
||
will be ignored and the disk is made whole new.
|
||
|
||
Command
|
||
|
||
SRDISK E:
|
||
|
||
tests if E is a SRDISK RAMdisk and, as no format is defined, display
|
||
it's current configuration. The letter may not correspond to the letter
|
||
known by DOS for the drive if the letter is defined wrong when
|
||
installing the SRDISK.SYS device driver in CONFIG.SYS.
|
||
|
||
Command
|
||
|
||
SRDISK
|
||
|
||
without the drive letter specified tries to determine the drive by first
|
||
trying the current drive and if it is not a SRDISK drive, then the first
|
||
SRDISK drive loaded in CONFIG.SYS. As no change in the format is
|
||
defined, the current configuration of the found drive are displayed.
|
||
|
||
|
||
5.4.2. SRDISK COMMAND LINE OPTIONS
|
||
|
||
To ease remembering the command line options, SRDISK has for some
|
||
settings several different options. Many of the options are long, but
|
||
you can truncate them if you write enough for SRDISK to identify the
|
||
option unambiguously.
|
||
|
||
An exact match in the full lenght of the option is always identified
|
||
instead of some another option that begins with the same characters.
|
||
|
||
All numeric parameters for the options are translated using the C
|
||
language rules: Number starting with 0 is octal number (base eight) and
|
||
with 0x is hexadecimal (base 16), others are decimal.
|
||
|
||
The options in alphabetical order are
|
||
|
||
/? List of most important command line options
|
||
/A:n Number of FAT copies (1 or 2)
|
||
/ASK Ask for confirmation if data would be lost
|
||
/AVAILABLE:n Resize to disk to have n Kbytes of space available
|
||
/C:n Cluster size
|
||
/CLUSTER:n Same as /C
|
||
/D:n Dir entries
|
||
/DEVICETYPE:n Device type for DISKCOPY compatibility
|
||
/DIRENTRIES:n Same as /D
|
||
/DOSFORMAT:n DOS or FDFORMAT lookalike format
|
||
/E Set environment variables SRDISKn
|
||
/ENVIRONMENT Same as /E
|
||
/ERASE Clear disk contents, implies /FORCE
|
||
/F:n Same as /DOSFORMAT
|
||
/FATS:n Same as /A
|
||
/FILESPACE:n Make the disk have n Kbytes space for files
|
||
/FORCE Destroy data if necessary to force new format
|
||
/FREEMEM:n Determine disk size to leave at least n Kbytes mem free
|
||
/H Same as /?
|
||
/HEADS:n Number of heads for DISKCOPY compatibility
|
||
/HELP Same as /?
|
||
/M:n[:n...] Max sizes for different drivers chained to a drive
|
||
/MAXSIZE Allocate the disk as large as it can safely be allocated
|
||
/MEDIA:n Media ID byte for DISKCOPY compatibility
|
||
/MINSIZE Alias to /AVAILABLE:0, minimize the disk
|
||
/NO NO, do not destroy data to complete new format
|
||
/O Use old disk format where not redefined
|
||
/OLD Same as /O
|
||
/REGISTER Display registration information
|
||
/S:n Sector size (128, 256 or 512 bytes)
|
||
/SECTORS:n Number of sectors per track
|
||
/SECTORSIZE:n Same as /S
|
||
/SIDES:n Same as /HEADS
|
||
/SPT:n Same as /SECTORS
|
||
/U Same as /ERASE, FORMAT compatible
|
||
/UNCONDITIONAL Same as /ERASE /FORCE
|
||
/V:n Verbose level (1-5) to control amount of output
|
||
/VERBOSE:n Same as /V
|
||
/W:x Write protection x is ON/+ or OFF/-
|
||
/WRITEPROTECT:x Same as /W
|
||
/Y Same as /FORCE
|
||
/YES Same as /FORCE
|
||
|
||
The options by function
|
||
|
||
/? /H /HELP
|
||
|
||
List the most important command line options and exit.
|
||
|
||
/A:n /FATS:n
|
||
|
||
Number of FAT copies (1 or 2). You need only one FAT unless you
|
||
need to make the disk look like some floppy disk.
|
||
|
||
/AVAILABLE:n /MINSIZE
|
||
|
||
Space available on the disk. The disk size will be counted to be
|
||
large enough to hold the files already on it and to have n
|
||
Kbytes of space available.
|
||
|
||
/MINSIZE is the same as /AVAILABLE:0 and will also make the root
|
||
directory smaller.
|
||
|
||
/C:n /CLUSTER:n
|
||
|
||
Cluster size. Cluster is the unit used to allocate disk space.
|
||
This option has effect on the space used for File Allocation
|
||
Table. If cluster size is small, bigger FAT is needed and there
|
||
is less room for files, but files may take more room.
|
||
|
||
/D:n /DIRENTRIES:n
|
||
|
||
Root directory entries. FAT file system has fixed size root
|
||
directory. You can specify the size for it using this option.
|
||
|
||
Note that each entry is 32 bytes long and a fixed amount of
|
||
sectors are used to hold the entries. Thus if sector size is 512
|
||
bytes each sector can hold 16 entries (512 / 32 = 16) and
|
||
specifying /D:4 or /D:16 uses exactly the same amount of space
|
||
on the disk: one sector.
|
||
|
||
If there is nothing against it, I start to round the number of
|
||
root directory entries up to fill the last root directory
|
||
sector. Some utility programs can be confused if the last sector
|
||
is only partially used.
|
||
|
||
/DEVICETYPE:n
|
||
|
||
DOS does not care what type the device is, but in case some
|
||
utility program asks DOS for the type it can be specified with
|
||
this switch. This is normally set correctly if you use the /F
|
||
switch. Device types are
|
||
|
||
0 = 360K
|
||
1 = 1.2M
|
||
2 = 720K
|
||
3 = 8-inch single-density
|
||
4 = 8-inch double-density
|
||
5 = Hard disk
|
||
6 = Tape drive
|
||
7 = 1.44M
|
||
8 = Read/Write optical
|
||
9 = 2.88M
|
||
|
||
/E /ENVIRONMENT
|
||
|
||
Set environment variables SRDISK1, SRDISK2 etc. to the drive
|
||
letters or SRDISK drives installed. You can then use the
|
||
variables in batch files to access the RAM disk.
|
||
|
||
For example:
|
||
|
||
REM Set environment variables without much output and
|
||
REM make a tiny disk at the same time
|
||
SRDISK /E /V:1 /F:1
|
||
SET TMP=%SRDISK1%:\TMP
|
||
MKDIR %TMP%
|
||
|
||
IF "%SRDISK2%" == "" ECHO You have only one SRDISK drive
|
||
|
||
/F:n /DOSFORMAT:n
|
||
|
||
DOS or FDFORMAT lookalike formats. The number n defines the disk
|
||
size in Kbytes. This option also sets all the other parameters
|
||
besides the size to match the corresponding DOS or FDFORMAT
|
||
created floppy disk.
|
||
|
||
The currently supported formats are
|
||
|
||
Size Media Device SPT Head Root
|
||
|
||
160 FE 360 8 1 64 DOS
|
||
180 FC 360 9 1 64 DOS
|
||
200 FD 360 10 1 112 FDFORMAT
|
||
205 FD 360 10 1 112 FDFORMAT
|
||
320 FF 360 8 2 112 DOS
|
||
360 FD 360 9 2 112 DOS
|
||
400 FD 360 10 2 112 FDFORMAT
|
||
410 FD 360 10 2 112 FDFORMAT
|
||
640 FB 720 8 2 112 DOS
|
||
720 F9 720 9 2 112 DOS
|
||
800 F9 720 10 2 112 FDFORMAT
|
||
820 F9 720 10 2 112 FDFORMAT
|
||
1200 F9 1.2 15 2 224 DOS
|
||
1440 F0 1.44 18 2 224 DOS
|
||
1476 F0 1.44 18 2 224 FDFORMAT
|
||
1600 F0 1.44 20 2 224 FDFORMAT
|
||
1640 F0 1.44 20 2 224 FDFORMAT
|
||
1680 F0 1.44 21 2 224 FDFORMAT
|
||
1722 F0 1.44 21 2 224 FDFORMAT
|
||
2880 F0 2.88 24 2 240 DOS
|
||
|
||
In addition to these there is a special format 1 to make a mini
|
||
disk. This can be used if you have your RAM disk in your PATH
|
||
and do not want to get Drive Not Ready errors when you have
|
||
freed the memory for RAM disk. Check your memory manager though:
|
||
some memory managers allocate memory in 16K chunks and a 1K disk
|
||
uses as much memory as a 16K disk does.
|
||
|
||
/FILESPACE:n
|
||
|
||
Space available for files. The disk will be larger than n
|
||
Kbytes, since file allocation table and root directory always
|
||
take some space too.
|
||
|
||
Note that files usually take some extra space because the space
|
||
for them is allocated in clusters. For example, if cluster size
|
||
is 1024 bytes (1K), any file this long or smaller (but not 0
|
||
bytes) will use one cluster and thus 1024 bytes.
|
||
|
||
Subdirectories also use file space.
|
||
|
||
/FREEMEM:n /MAXSIZE
|
||
|
||
Memory available for other programs. The disk will be sized to
|
||
leave at least n Kbytes of memory to other programs. The disk
|
||
size may be less than necessary if there is some uncertainty
|
||
whether or not all the memory can be allocated.
|
||
|
||
FOR XMS MEMORY, THIS CAN ALLOCATE LESS THAN THERE IS AVAILABLE
|
||
SINCE XMS CAN NOT RELIABLY PUT ALL FREE MEMORY IN ONE BLOCK.
|
||
ALSO, SINCE SOME MEMORY MANAGERS ALLOCATE MEMORY IN BLOCKS OF 4
|
||
OR 16 KBYTES, THERE MIGHT BE 15 KBYTES LESS FREE MEMORY THAN
|
||
REQUESTED.
|
||
|
||
The disk can also be disabled if more free memory is requested
|
||
than there is available.
|
||
|
||
/MAXSIZE is same as /FREEMEM:0, thus using all safely available
|
||
memory for the disk.
|
||
|
||
If some program of yours needs free memory and you do not care
|
||
for disk contents, you can put for example
|
||
|
||
SRDISK /FREEMEM:1024 /YES
|
||
|
||
into a batch file to start to program. The /YES gives permission
|
||
to clear the disk if the disk can not be made small enough
|
||
otherwise.
|
||
|
||
/HEADS:n /SIDES:n
|
||
|
||
Number of heads for DISKCOPY compatibility. This is normally set
|
||
correctly if you use the /F switch.
|
||
|
||
/M:n[:n...]
|
||
|
||
Max sizes for different drivers chained to a drive.
|
||
|
||
Normally SRDISK uses as much space as is available on the first
|
||
driver and only then starts allocating on the second one. If you
|
||
want to use only up to some amount of memory on the different
|
||
drivers chained to one drive, you can define the amounts with
|
||
this option.
|
||
|
||
For example to define first driver use only 100K of memory, give
|
||
command
|
||
|
||
SRDISK /M:100
|
||
|
||
If you would have three or more drivers chained into one drive,
|
||
you could define first and third to use 100K and let the other
|
||
drivers use as much as they were allowed to use before with
|
||
command
|
||
|
||
SRDISK /M:100::100
|
||
|
||
/MEDIA:n
|
||
|
||
Media ID byte for DISKCOPY compatibility. This is normally set
|
||
correctly if you use the /F switch.
|
||
|
||
Use Media IDs in the range from 0xF0 to 0xFF. Smaller values
|
||
make CHKDSK report that it is possibly non-DOS format media.
|
||
|
||
/O /OLD
|
||
|
||
Use old disk format where not explicitly redefined with command
|
||
line options.
|
||
|
||
/REGISTER
|
||
|
||
Displays the registration information.
|
||
|
||
/S:n /SECTORSIZE:n
|
||
|
||
Sector size (128, 256 or 512 bytes). Sector is the basic
|
||
allocation unit of a disk. Smaller sector size can decrease the
|
||
amount of memory wasted on boot sector, FAT and root directory,
|
||
but that is just about the only benefit of it. Clusters are
|
||
formed of sectors, so sector size can not be larger than cluster
|
||
size. DOS uses by default 512 bytes per sectors.
|
||
|
||
/SECTORS:n /SPT:n
|
||
|
||
Number of sectors per track for DISKCOPY compatibility. This is
|
||
normally set correctly if you use the /F switch.
|
||
|
||
/U /UNCONDITIONAL /ERASE
|
||
|
||
Clear disk contents. This implies option /YES.
|
||
|
||
If your disk gets corrupted and SRDISK refuces to reformat it,
|
||
try this switch. SRDISK should not then care about the current
|
||
disk, but rather just wipes it off and creates a new one.
|
||
|
||
/V:n /VERBOSE:n
|
||
|
||
Verbose level (1-5) to control amount of output. With /V:1 you
|
||
can limit the output to the title.
|
||
|
||
/W:x /WRITEPROTECT:x
|
||
|
||
Write protection contol. The parameter x can be ON, + or nothing
|
||
to enable the write protection or OFF or - to disable it.
|
||
|
||
/Y /YES /FORCE
|
||
/NO
|
||
/ASK
|
||
|
||
These are to control the need of user intervention.
|
||
|
||
All questions in SRDISK are formed so that answer YES will give
|
||
permission to destroy data and continue, while NO will abort the
|
||
operation and try to preserve the data on the disk. By these
|
||
options you can give the answer on the command line.
|
||
|
||
/ASK is the default and means the user will be prompted to make
|
||
choise.
|
||
|
||
|
||
|
||
6. TROUBLESHOOTING
|
||
|
||
Causes of grief
|
||
|
||
1. RAM disks loose their contents when power is turned off! Do not store
|
||
anything valuable there.
|
||
|
||
2. There is no XMS nor EMS memory without a proper device driver.
|
||
HIMEM.SYS will do for XMS. For EMS you need to install the device driver
|
||
that came with your expanded memory hardware. QEMM can supply both on
|
||
386 or better hardware and you might be better off using the SRDEMS
|
||
driver with it.
|
||
|
||
3. Not all HIMEM.SYS support memory above 16M limit. HIMEM.SYS versions
|
||
2.78 and later should be good. Also these later versions may be limited
|
||
to 128000K blocks; solution is to link two (or more) SRDXMS.SYS drivers
|
||
(i.e. add "DEVICE=SRDXMS.SYS /A" line to CONFIG.SYS) and limit the first
|
||
one with command "SRDISK /M:128000". This will only break the /MAXSIZE
|
||
option.
|
||
|
||
4. DR-DOS 5 HIDOS.SYS does not implement the XMS resize function.
|
||
Therefore SRDISK may not be able to resize the disk unless you replace
|
||
the HIDOS.SYS with HIMEM.SYS.
|
||
|
||
5. Some programs swap themselves for a shell to the ramdisk. If you
|
||
change the format of the disk or clear the disk from such program, the
|
||
swapped program may not be able to recover and can crash your computer.
|
||
|
||
6. Some disk caching programs are reported to cache SRDISK too! This can
|
||
cause a system crash and caching a RAM disk is anyway useless. If you
|
||
use a disk cache, please load it before SRDxxx.SYS or tell it explicitly
|
||
not to cache the SRDISK drive.
|
||
|
||
7. SRDISK needs it's XMS memory in one contiguous area. Therefore if
|
||
SRDISK complaints about insufficient memory while you have plenty of it
|
||
free, the reason might be that some other program uses a piece of the
|
||
memory in the middle of the available memory. If you have a choise, use
|
||
EMS since it does not (usually) have this problem.
|
||
|
||
8. There can be problems with XMS memory when not enough of it can be
|
||
allocated. This may result in lost disk contents. Also some memory
|
||
managers that provide both XMS and EMS (like QEMM and the EMM386.EXE of
|
||
MS-DOS 6) can fool SRDISK to think there is more memory available than
|
||
there really is if SRDISK uses both XMS and EMS memory for the disk.
|
||
|
||
9. Some multitasking environments (like MS-Windows) can free the memory
|
||
allocated under them to the RAM disk. This will cause the data to be
|
||
lost and errors in programs that try to access the disk.
|
||
|
||
10. MS-Windows has buggy memory protection that prevents programs from
|
||
accessing memory allocated in another session. It also prevents using
|
||
EMS memory allocated for the SRDEMS.SYS driver outside Windows and for
|
||
the SRDEMS3.SYS driver inside Windows. In general you may find it better
|
||
to use SRDEMS3.SYS or SRDXMS.SYS and allocate any disk you will use
|
||
before starting Windows and never resize any disk while inside Windows.
|
||
|
||
|
||
|
||
7. TRADEMARKS
|
||
|
||
Oh, and we should not forget these (I can not verify they are correct,
|
||
but still):
|
||
|
||
QEMM is a trademark of Quartedreck Office Systems Inc.
|
||
Microsoft, MS-DOS, SmartDrive and Windows are trademarks of Microsoft
|
||
Corporation. DR-DOS is a trademark of Digital Research Inc. Intel is a
|
||
trademark of Intel Corporation. Lotus is trademark of Lotus Development
|
||
Corporation.
|
||
|
||
FDFORMAT is copyrighted by (and trademark of?) Christoph H. Hockst<73>tter,
|
||
Germany. Nice work.
|
||
|
||
SRDISK is my trademark.
|
||
|
||
If any mentioned trademarks are not included in this list, please tell
|
||
me about them. They are anyway hereby acknowledged.
|
||
|
||
|
||
|
||
8. LAST WORDS
|
||
|
||
Please, if you know of a way to get around the Windows 3.1 memory
|
||
protection, let me know about it.
|
||
|
||
You can contact me by sending E-mail from
|
||
|
||
Internet to `Marko.Kohtala@compart.fi'
|
||
CompuServe to `>INTERNET:Marko.Kohtala@compart.fi'
|
||
|
||
If the above address fails (if you do not get a reply, it propably has
|
||
failed), I can still be reached at `Marko.Kohtala@hut.fi'.
|
||
|
||
My surface mail address is
|
||
|
||
Marko Kohtala
|
||
PL 115
|
||
FIN-01451 Vantaa
|
||
FINLAND
|
||
|
||
You can also call Airline BBS, 24H, HST, V.32, V.42, MNP, +358-0-8725380
|
||
and leave mail at the PRIV area to me, Marko Kohtala (sorry, no
|
||
netmail there). You can also always get the latest release of SRDISK
|
||
from there.
|
||
|
||
If you have access to Fidonet, Bitnet, UUCP mail or just about any
|
||
network, ask your system operator if you can mail to Internet.
|
||
|
||
You can find the latest release of SRDISK in United States, Illinois at
|
||
|
||
The Midrange System BBS
|
||
Sysop: David Gibbs
|
||
FidoNet: 1:115/439
|
||
Phones: 708-776-1062 and 708-776-1063, both have HST and V.32
|
||
Using Remote Access
|
||
|
||
You can file request latest version using magic file name SRDISK.
|
||
|