64HDD - The CBM Drive Emulator (c) COPLIN 1999-2004

-------------------------------------------------------------------------------
				  README
-------------------------------------------------------------------------------
0. Contents

   1. COPYRIGHT
   2. Registration
   3. What does this emulator emulate?
   4. What does it not emulate?
   5. Running the emulator
   6. Accessing emulated disk drives
   7. The cables

   Note: further information may be obtained by reading the FAQ or
   downloading the complete user manual PDF.

-------------------------------------------------------------------------------
1. Copyright

   Alpha & Beta versions of this software before version 1.0 are freeware.

   The Professional version of 64HDD is available for purchase from the 64HDD
   website or authorised dealers.

   Code is being developed by Nicholas Coplin, ncoplin@lycos.com
   Website: www.64hdd.com

   Both the freeware and Professional versions of 64HDD are
                        (c) COPLIN 1999-2004

-------------------------------------------------------------------------------
2. Registration

   Although you may be using a freeware version of 64HDD it will require
   a registration code to be entered before it will run. This code is
   obtained by emailing filling in the form on the 64HDD website:

        www.64hdd.com/c64-free.html

   If you have trouble registering email, register@64hdd.com

   The auto-reply from the above email will give you a code which needs to
   be entered on the command-line used to run 64HDD, for example

   GO64HDD -code

   where -code is registration code for the particular version you are using.
-------------------------------------------------------------------------------
3. What does this emulator emulate?

   This program is intended to emulate the serial protocol that is used
   for the communication between a CBM (Commodore) computers and CBM serial
   Disk Drives. It aims to be compatible with the D64, D71 and D81 disk
   images (with and without error information).  By using the CBM serial
   protocol it aims to transfer data to and from the C64 without a special
   program on the C64, or other computer. The intention is to install the
   software into a PC box dedicated to a CBM computer as a mass storage
   device.  Using a 386/486 is expected to be cost justifyable and this is
   the intended target (currently all testing is done on a 486SX33 and C128
   in C64 mode. Lowest spec system successfully tested is 386SX25. The
   program has been tested with MSDOS, but you may use an equivalent such as
   DRDOS or FreeDOS if you wish.

   Saving files is currently supported supported in the MSDOS and some disk
   image file systems. Capabilities will be extended as time goes on. The
   command channel and SEQ files are supported in most file system also, but
   see special notes for using with Plus/4, C16 machines and the Vic20, or
   with slow PC controllers.

   You can load PRG files in all supported file systems.  Refer to
   64HDDDOC.PDF for detailed information and also to 64HDDXLS.PDF for
   specification and planned capabilities.  Refer to BUGS.TXT for known
   problems.

   In addition to file support, the 64HDD system can also be used in other
   ways making it possible to act as a cross-platform translator,
   co-processor, etc. Refer to the features section of the manual.

-------------------------------------------------------------------------------
4. What does it not emulate?

   Presently there is no intention to emulate the CBM Disk Drives to the
   CPU level.  I feel that this would be far too complicated for me :) and
   also increases the minimum specification of the PC controller to at least
   a P200 level. ROM and RAM maps are implemented, as well support for M-R
   and M-W commands.

   Command and direct access support is being progressively incorporated,
   cross-reference your version number with the specification document to
   see what functionality is available.

   Because of the limitations imposed by not emulating the CPU, most fast
   loaders, etc will not work.  The CBM Drive Emulator will be "compatible"
   but not a real CBM drive. Hence most copy protected programs (those which
   are not fixed by the error info data appended to the disk image) will not
   successfully work from a disk image.  Most "cracked" software saved as one
   or multiple PRG files seem to work. GEOS support is available because of
   the custom kernal used.

-------------------------------------------------------------------------------
5. Quick Start to running the emulator

   Read the INSTALL.TXT file for more detailed information.

   The easiest way to use 64HDD is to install it with a default setup. From
   the c:\ prompt:

        PKUNZIP -d 64HDD.ZIP

   The -d is important as it will create the correct file system structure:

        c:\64hdd
        c:\64hdd\system
        ...and so on...

   Add C:\64HDD to your MSDOS path by modifying your autoexec.bat file.

   The GO64HDD batch file is the idea way to run 64HDD. It will accept
   addition parameters after the "code", and you can permanently modify the
   batch file to suit your configuration. It is advisable to start of with
   the most standard config and tailor it only when you know it works.

   If you run "64hdd.exe -h" you get the following help screen
   that lists all valid options.

   usage: 64HDD.EXE [-{h|8|9|10|11}] [+{8|9|10|11} filename] [+lpt {1|2|3}]

     -h:               the help screen
     -8..-15:          activate device 8..15 (default is 'c:\')
     +8..+15 filename: activate device 8..15 and attach to 'filename'
     +sysdir           non-default path of 64HDD system directory
     +prtndir          non-default path of CMDPRTN.TBL (default is SysDir)
     -lfn              support Win95 LongFileNames in MSDOS (v1.55 required)
     +pwr xxx          set default PwrLoader (default is '990')
     -faster           speed up load transmissions
     -fastest          speed up load transmissions
     -nocredits        speeds up start by not pausing for credits
     -noreset          prevents emulator reset whe CBM is reset
     -RegNo            replace 'RegNo' with real 'code'
     +lpt x            use printer port x (default is '1')
     -xe               use XE1541 protocol (default is 'X1541')
     -sl               enable Scroll-Lock LED (default is 'off')
     +p mhz            use Pentium TSC, with CPU at (1-9999)MHz
     -vic

   You *must* enable at least one device with '-X' or '+X filename'
   (with X equal 8, 9,... or 15) or the emulator will not be that useful.

   NOTE: filename given *must* be an absolute one, you can't give '..\XXX'

   The Scroll-Lock LED if enabled will function as an activity indicator,
   but will slow down transmissions (particular from the command channel)
   considerably (and may even be incompatible with some PCs).

   Enabling Pentium TSC support requires that a Pentium CPU is installed
   and that EMM386 is _not_ installed. The CPU speed should be given as
   an integer (in MHz), but if omitted and +p is the last command line
   parameter 64HDD will *attempt* to compute it. Some Pentium systems will
   work with the standard PIT timing method - really depends on how
   compatible your "compatible" is!

   LongFileName (LFN) support needs a special module installed. See the
   INSTALL.TXT file for information and the relevant chapter in the User
   Manual for specifics. Special attention should be paid to ensure adequate
   FILES, BUFFERS, and FCBS are allocated - the LFN tools can stretch these
   requirements.

   As the emulator may reset when the RESET signal on the serial line is
   RESET (eg when the CBM computer is switched "on" or reset), it is
   recommended that the 64HDD program be controlled via the example
   batch file (GO64HDD.BAT).  This batch file is also configured for working
   with the "EXIT" command.  This batch file may be modified by the
   experienced user. The "-noreset" command line option may also be used.

   The GO64HDD.BAT file has been configure to accept command-line parameters
   so that (as in the registration example below) additional information can
   be given:

        GO64HDD -xyz

   Remember the number of parameters for the batch file and the length of the
   final command-line is limited by MSDOS rules.

   To run the emulator either start from within the installed directory or
   have the batch and EXE programs on the MSDOS PATH. You should add the
   64HDD directory to your MSDOS PATH.

   Remember that MSDOS limits the size of the command line, so be mindful of
   the number of items listed and the size of paths specified. Extra drives
   can be activated via the command channel.

   64HDD Professional users have access also to the following command-line 
   options:

   -nup		limit video updates (for slow PCs)
   -cmd		enable CMD ROMs and Partition Format
   +snd x	tweak sound output (x=0 for 'off')
   @dev		activate devices listed in DEVICES.TBL
   +ss x:	Screen Saver after x seconds (0=disable)

   Upgrades to 64HDD Professional can be "auto-keyed" by specifying the drive
   letter for the FDD as the first command-line parameter (A or B). 64HDD will
   ignore the parmeter if keying has already been done.

-------------------------------------------------------------------------------
6. Accessing emulated disk drives

   If you have the emulator running on PC (e.g. with device 8 activated)
   you can load the directory as usual with:

        load"$",8

   This gives the directory of the device which can be a directory on the
   harddisk, a disk-image (.D64, .D71, .D81, .D2M), a tape-image (.T64) or
   an archive created by the LYNX archiver (.LNX).
   Loading works as usual too:

        load"filename",8

   To change the directories on the PC the directory loading command is
   slightly changed. Wildcards will show files mathing this pattern, and
   will not change directories:

        load"$..",8                 goes to the higher level PC directory
        load"$/dir1/dir2",8         change to absolute PC directory
        load"$d:/",8                change PC drives
        load"$d:/dir1/dir2",8       change PC drive and directory

        load"$directory",8          changes the current PC directory
        load"$diskimage.d64",8      attaches a diskimage in the current
                                    PC directory
        load"$diskimage.d71",8      attaches a diskimage in the current
                                    PC directory
        load"$diskimage.d81",8      attaches a diskimage in the current
                                    PC directory
        load"$tapeimage.t64",8      attaches a tapeimage
        load"$lynxarchive.lnx",8    attaches a LYNX archive

   Wildcards '*' can be used to load the first file in a disk /tape image,
   or MSDOS file system.

   Also, filetype specifiers are allowed when reading directories (see
   documentation for complete listing).

   Unit numbers are also supported and have the special function in that
   they can be predefined as "shortcuts" to either directories or images.


-------------------------------------------------------------------------------
7. The cables

   The program is configured for the following adaptor cable to be connected
   between your parallel printer port (LPT1/LPT2/LPT3) and a commodore gear.
   This cable is also known as X1541 cable because it was used the first
   time by a program with this name. Nowadays, it is used by many programs.
   At present the original X1541 cable scheme is default. If you have
   a newer machine with on-the-mainboard LPT ports, chances are it will not
   work.  To overcome this limitation you need an older LPT card installed
   in a slot as a secondary LPT port.

   If you wish you may use a XE1541 cable, but you need to add the "-xe"
   command line switch for it to be recognised.

   If you want to use the PwrLoader features, you need to add a parallel
   cable.  See separate documentation.

   If you want to use CD-Audio features you can optionally use a audio-in
   cable.  See separate documentation.

   If you want to use "Disk-Flip" features you can optionally add a push
   button switch between LPT pins 15 and 18.  See separate documentation.


        IBM Lpt port Female:         CBM IEEE serial port Female:
           Ŀ                          _ͻ
   Strobe1  Ŀ                    ͼ         ͻ  _____
                 14AutoFeed     Data5     1SrqIn  _____
   (Data 0) 2Ŀ                             6Reset
               15(Error)      Clock4     2ĿGround
            3       ____               ͻ   3    ͼ 
                 16Init                 ͼ
            4                             Atn
                 17SelectIn X1541Ŀ
            5                 C64signal   IBMsignal       Lpt port + 2 
                18                                                    
            6  ĿGround   2 Ground  18..25 Ground                 
                19         3 Atn          1 Strobe      bit 0      
            7                 4 Clock       14 AutoFeed    bit 1      
                       5 Data        17 SelectIn    bit 3      
                25            6 Reset       16 Init        bit 2      
           13            
           
                                XE1541Ŀ
                                 C64signal   IBMsignal       Lpt port + 2 
                                                                          
                                  2 Ground  18..25 Ground                 
                                  3 Atn         13 SelectIn    bit 0      
                                  4 Clock       12 PaperEnd    bit 1      
                                  5 Data        11 Busy        bit 3      
                                  6 Reset       10 Ack         bit 2      
                                                                          
                                             with Diode*     Lpt port + 1 
                                              direction to:               
                                                                          
                                  3 Atn          1 Strobe      bit 4      
                                  4 Clock       14 AutoFeed    bit 5      
                                  5 Data        17 SelectIn    bit 7      
                                  6 Reset       16 Init        bit 6      
                                
                                 * BAT85 or 1N5819, refer StarCommander notes
-------------------------------------------------------------------------------
