INTRODUCTION


fakecd is a program that simulates a CD-ROM drive with a directory of
a hard drive. Its intended  purpose is to allow running of CD-based
software entirely from a hard drive. This gives you the following ad-
vantages:

  1. speed: Hard drives are much faster than CD-ROMs. If you need much
            data from your mass storage device in a short time your
            CD-ROM may be a bottleneck. This can result in "slide shows"
            in certain games. However, your CPU horsepower or your
            video interface may be the problem if a cd-based program
            is slow. With fakecd you can eliminate one potential bottle-
            neck and watch how the program runs with a very fast "CD-ROM 
            drive".

  2. memory: You don't need to load a CD-ROM driver or MSCDEX for fakecd
             to work (although they can coexist). If your program needs
             much conventional memory this may allow you to run the pro-
             gram at all.

This program  is public domain.
It was tested with MS-DOS 6.0 and Novell-DOS 7.0 and some CD-based 
games. It works in Windows 3.x since these Windows versions use DOS 
services to access the CD-ROM. It will not work in OS/2 and Windows 95.
 The worst thing that could possibly happen is that you are 
unable to access some drives after fakecd was installed. Uninstalling 
fakecd should remove the problem. If not, a simple reboot will work. 
Since fakecd does not write anything to any drive, it will NOT corrupt 
any data on your hard disks.

If you find any problems with fakecd (does not install, does not uninstall,
gives wrong error messages, ...) send an e-mail message to

ingo.warnke@rz.uni-rostock.de


HOW TO USE


First, you must copy the contents of your CD-ROM to a directory on your
hard disk. You may use any file managing utility or the DOS xcopy command:
xcopy e:\ c:\prog-cd /s /h
where e: is your CD-ROM drive and c:\prog-cd the destination directory. 

Since the volume label of the cd is not copied when all the normal files 
are copied to the hd, fakecd must somehow find it when it is started.
It will look for the file fakecd.dat in the directory that will become the 
root directory of the emulated cd-rom drive. This file is created by the
program InfoCD .

FakeCD will work without a fakecd.dat file but can then only assume default 
values for the data covered by fakecd.dat (e.g. FakeCD 1.0c will return 
"no volume label" instead of the volume label of the underlying hd).

InfoCD has two parameters.

The first gives the directory in which the fakecd.dat file will be placed.
This should be the directory on the hd in which the files from the cd
have been or will be written. But if you change your mind you can simply
copy the fakecd.dat file to the place where it is needed later.

The second (optional) parameter is a single letter. It is the drive letter
of the cd-rom drive that holds the original cd. This parameter can be omitted
if the cd lies in the first cd-rom of the system.

Example:
In order to create the fakecd.dat file for "Star Trek: A Final Unity" on my
computer I use InfoCD as follows:

infocd f:\spiele\sttng-cd k

Since I have only 1 cd-rom drive I could have omitted the final "k".

These 2 steps  (copying files and running InfoCD) need only be executed once.
 The following steps (loading FakeCD, running the program, unloading
FakeCD) must be executed every time you want to run the program with FakeCD.

fakecd is a TSR (memory resident) program. It  will need some 15K of memory during 
installation and less than 3 KB during operation (including environment) and can 
be loaded high (with command "lh fakecd ...").


The syntax of the fakecd command line is
fakecd /H[elp] | /? | /U[ninstall] | DIRECTORY [/L:x]

/Help and /?
will give you a short description of each option.

/Uninstall
will remove a previously installed fakecd from memory. This may be
impossible if some other TSR program was installed after fakecd. You
can have only one copy of fakecd resident in memory at one time (see 
/M for exception). If you want to use fakecd with other parameters
 you must first uninstall the old copy of fakecd and then install the new 
one. If you have several CD-based programs on your hard drive you can 
make batch files like

c:\utils\fakecd c:\prog1-cd /l:e
e:
prog1
c:
c:\utils\fakecd /u

This will load fakecd and simulate the directory c:\prog1-cd as CD-ROM 
drive E:. After the execution of prog1 the resident copy of fakecd is 
removed. You can later execute another copy of fakecd to simulate the 
same directory in another drive or a completely different directory.

DIRECTORY
is the name of the directory that will be the root directory of the 
simulated CD-ROM drive. It may be specified as a full path 
(c:\games\kyr1-cd) or as relative path (..\kyr3-cd). The drive on 
which the directory resides must be a local hard disk. It work swith a 
compressed drive (tested with Stacker) but not work with a network 
drive. This is due to the mechanism used by
fakecd to make the directory look like a drive to DOS.

/L:x
gives the drive letter (x) for the simulated CD-ROM drive. x must be in
the range from A up to the drive specified with LASTDRIVE. It should be
an unused drive since if your simulated CD-ROM will be C: you will not
be able to access any files on your hard drive C: (which will probably
include your DOS commands, COMMAND.COM and maybe fakecd).
If there is no /L:x parameter, fakecd uses a default value for x.
If MSCDEX is installed, x will be your first CD-ROM drive letter. If
MSCDEX is not installed, x will be your first unused drive letter.

/Multi
allows several resident copies of FakeCD at the same time, so you can
emulate more than one drive ( could be handy for games that use mul-
tiple cd-roms and allow them to be in different drives). 

I recommend that you always use the same drive letter for your CD-ROM.
Some programs are run directly from the CD and have some configuration
files on a predetermined place on your hard disk (most often on drive c:).
These programs should not worry if they are started from different drive
letters each time you run them. Other programs copy a small number of
files to your hard disk at installation time and one of these files must
be executed to start the program. This way they can store config files and
(in case of games) savegames to a user selected place on the hard disk.
These programs must find the CD-ROM drive with their CD in it. Some programs
(Legend of Kyrandia series) use CD-ROM specific methods to find the CD-ROM
drive and they work with fakecd if started from different drive letters each
time they are run. Other programs (Monty Python's CWOT and Dark Forces)
store the drive letter from which they were installed. If you start them
with fakecd from a different drive letter they will not find their data and
refuse to run.


CD-AUDIO


Some games use audio tracks for music. This music is not in a computer
readable form. It was not copied to the hard disk with the other files
and it can not be done (at least not in a form useful for fakecd). So you
will not hear that music. fakecd will however make the program believe that
everything is fine.

I hope you will find fakecd a useful program. If you have comments,
suggestions or bug reports, then send me an e-mail and I will (try to!) 
correct any errors.

Ingo Warnke
e-mail to:
ingo.warnke@rz.uni-rostock.de

