Paid To Popup Hacking Articles: Fakecd simulates a CD-ROM

Fakecd simulates a CD-ROM

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 is the first public release of the program. It 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 was not tested with OS/2 or
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.

An (almost identical) beta version of this program has been tested by
some people with their games, including "Mortal Kombat II", "Dark
Forces", "Virtual Pool" and "Legend of Kyrandia I and III". There
were no problems reported.
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 content 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.
Then you must run fakecd. fakecd is a TSR (memory resident) program. It
will need some 9K of memory during installation and less than 2 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. 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 should be a local hard disk. It should
work with a compressed drive (tested with Stacker) but will probably
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.

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. (Note: I could test this feature with only one program.
So I need desperately feedback about programs that use audio tracks and
how they work with fakecd!)



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