>>What is 64HDD?
It is a software program that is run on a PC to emulate disk and hard drive 
functionality for Commodore 8-Bit computers.

>>Is 64HDD free?
Current alpha and beta versions of 64HDD are free.  If you wish to donate to
support further releases of the freeware version, a donate "button" is
available on the website. A professional version with many extended features
is also available for both the C64 and C128.

>>Do I have to register 64HDD?
Yes, versions after v0.6a4 require "free registration". Registration codes 
are obtained by completing the online form, or if you have troubles by
emailing to register@64hdd.com or c64hdd@lycos.com. A reply message will
send you the necessary code and any late breaking news. The information
you give in the email will help me profile who uses 64HDD and how. The
registration code must be included when starting 64HDD, for example:
   GO64HDD -code

>>Where does 64HDD come from?
64HDD is coded entirely by Nicholas Coplin (from Australia). It is written
in a mixture of TurboC and x86 assembler. 64HDD is being developed for my
own personal use and priorities. Versions of it are being shared to other
Commodore users as an alternative to commercial hard disk equipment.

>>Who uses 64HDD?
There are many users of 64HDD representing over 35 countries. It is being 
used with all sorts of Commodore computers from the VIC20 through to the 
C128. Most users are gamers, but there are several developers using it for
mass storage and program development. With the introduction of GEOS support
I am sure there are many GEOS users too.

>>What do I need as a minimum to run 64HDD?
A cable, MS-DOS PC computer and the 64HDD software. The cable is either a 
X1541 (old PC cards) or XE1541 (for newer PCs). You need at least a i386.
If you are using JiffyDOS on your C64 you may need a slightly faster 386,
my DX40 works fine - my SX33 is marginal.

>>Which X cable suits my computer?
Detailed information can be found at http://sta.c64.org/xcables.html
Only the X1541 and XE1541 cables are currently supported by 64HDD. My
recommendation is the XE1541 as it is safer and usable with more LPT cards.

>>How do I get a cable for 64HDD?
You can either make one or buy one. To make one use the instructions in the
readme.txt file, or you can buy one from various sites on the internet,
they are also available from the on-line 64HDD Shop.

>>Will you support the XM or XA cable?
It is not a priority at the moment as these cables can be converted to the
XE1541 standard by swapping the DATA and RESET wires. You can do this far
quicker than what is involved in me re-writing the code ;-)

>>Will 64HDD work under Win95?
As a rule, 64HDD will not work in a multi-tasking environment. However if you
re-start in MS-DOS 64HDD should work fine. Pressing F8 before Windows starts
will provide a menu allowing you to select command prompt booting, or you may
use a pre-formatted boot floppy. The LFN tools will probably not work whilst
you are in a DOS box either. I've heard reports from users of 64HDD working
in a DOS-box, but only if your CPU is fast (at least P200).
LFN will not however work in a Windows DOS-box as Windows has its own LFN API
running.

>>Will 64HDD work under Win98?
Same rules apply as per Win95. If system is formatted in FAT32 and you
cannot boot to MS-DOS for any reason, you may be able to make a special
boot floppy.

>>Will 64HDD work under Win2000 or WinNT?
Most Win2k systems will be formatted in FAT32 or NTFS. You will not have
access to the HDD or DOS booting if your disk system is NTSF. You may be
able to make a special boot floppy from the Windows Setup Options.
Additionally, these OS also block hardware accesses and so it is unlikely
64HDD will work with this GUI active. It has been reported that drivers
such as "giveio.sys" and "userport.sys" can be installed to allow DOS-boxes
to have access to the LPT port. I have trialled these with limited success,
so feedback would be appreciated.

>>I have tried, but I can't get my Windows / Linux PC to run 64HDD?
64HDD is now available in a bootable CDROM for users who cannot get to DOS.
See the www.64hdd.com website for details.

>>How do I get 64HDD to work with my Pentium machine?
I have had reports of 64HDD working on machines up to 3000MHz. Pentium,
AMD or Celeron machines will normally require 64HDD to be started with some
optional settings. Usually it will require the +P option, with the MHz speed 
sometimes also required (make this the last parameter), eg. GO64HDD +p
If the PC system hangs at this point, then an incompatible version of
EMM386 exists in your CONFIG.SYS and you will need to REM this out.
Note also: with some processors, auto-detection may give a "stupid" answer.
If in this case specify the real value, eg a AMD K6/2-500 may report 1600MHz, so
force it to the correct speed with +p 500
In some cases it may be necessary to sweep this value to get the most compatible
performance from 64HDD (especially for a slow Pentium PC).

>>How do I get 64HDD to detect my XE1541 cable?
The XE1541 cable is not automatically detected and must be specified 
manually using the -xe option. If your computer has more than one LPT port,
or an unusual configuration then you may need to additionally specify the
LPT port number which will be used by the cable. eg. GO64HDD -xe +lpt 1

>>What is the slowest machine I can use 64HDD with?
The slowest PC successfully used has been a 386SX25 computer. I try to keep
to this low specification, but cannot test every version on this processor.
I generally test on at least one 386-class PC. If you are using JiffyDOS,
then your PC my need to be of slightly higher specification (my 386DX40 works
well). JiffyDOS has a slight quirk in its timing for detecting whether a
drive is JiffyDOS capable and your 64HDD needs to be fast enough to handle it.
The quirk seems only to happen with the @$ command.

>>Can I use 64HDD to read Disk and Tape images?
Of course you can. The image needs to be attached and this is done either by 
the command-line when starting 64HDD or by LOADing a $diskname file.

>>Can I use 64HDD to read and write files directly to the MDSOS system?
Yes, of course you can. Files can be created in the traditional 8.3 naming 
format, or if the LFN module is installed, in a 16.3 filename format 
compatible with the Win95 standard. Because of some minor differences between
MSDOS and CBMDOS, not every filename is legal and 64HDD will on rare occasion
make substitutions (for example instead of \ a graphic character will be
used).

>>Can I use 64HDD on a network with other MSDOS/Windows PCs?
Yes, according to Peter Simmonds who has done this and shared his findings for
other 64HDD users to take advantage of. These notes are in the network.txt
file included in this distribution. You will of course need a network card
and the software modules from Microsoft.

>>Why do I get a ?LOAD ERROR when I try to load a directory?
Depending upon your system configuration this message normally reflects that
an EOI error has occur, usually because your PC configuration is not fast
enough. The performance of 64HDD has been improved in recent versions, but 
the situation can be eliminated by connecting (and switching "on") a real
1541/71/81 disk drive)
                                       
>>Why does my load command "hang"?
This is usually the result of a timing problem. It could either be a result
of using computer which is too slow, or a Pentium computer with incorrectly 
set speed (try +p without a parameter for auto-calibration). Sometimes
double clocked CPUs or speed-step CPUs can have a problem (timing changes
during a transmission). Try switching off the "turbo" or Speed-Step.

>>Why can I SAVE files and send commands to 64HDD, but LOADs hang?
This typically means you are either using the XE1541 cable without telling
64HDD about it with the -xe option or your cable is damaged (a broken wire).

>>What do I do if I can't get 64HDD to work?
Firstly, re-read through the documentation and this FAQ. It is recommended
that you start off with the simplest configuration and build-up to your
final system desire. If you still have trouble send me an email outlining
what your hardware set-up is and what you have tried. Common problems I
see are:
	1) forgetting the registration code when starting the program
	2) forgetting to specify -xe when using a XE1541 cable
	3) forgetting to unzip the 64HDD.ZIP file with the -d option
	4) c:\64HDD directory not added to PATH
	5) not specifying +p or +p MHz on some Pentium setups
	6) using -faster and -fastest commands when your PC should not!

>>Can I get the source code for 64HDD?
No, sorry, the source is not being shared at present. If you would like to 
help in development, elsewhere in this FAQ is information about
writing plug-ins or drivers. Object files may be distributed sometime in the
future if there is a need for co-development.

>>Are there any non-MSDOS versions of 64HDD?
No, sorry, there are no alternate versions of 64HDD. The software is intended
for use with dedicated controllers, so it should not be difficult to obtain
an old system with MSDOS installed, or you can try a non-MS version of DOS
such as DRDOS or FreeDOS (I have tested FreeDOS and have been DOSEMU for
Linux does work).

>>Is 64HDD available for any other hardware platforms, eg. the Amiga?
No, sorry. The main reason is because the communications protocol are heavily
dependent on the timings within the PC chipset. A secondary reason is that
supporting a multi-platform source code will take time away from development
of the program's functionality.

>>Can I make suggestions about what new features 64HDD should have?
Yes, you can send me as many suggestions as you can think of and all will be 
reviewed, however as a lone programmer, I cannot implement all suggestions or 
requests.

>>What new feature are planned for 64HDD and when will they be available?
64HDDXLS.PDF contains an overview of what is planned for 64HDD. The version
number is a key to the level of functionality being offered. There is no
pre-defined timetable as to when these features will be implemented - but it
will generally follow in the stated order.

>>What can I do to help with the development of 64HDD?
Users can help in several ways. Firstly, by reporting bugs and other 
problems. Secondly, by letting me know if you have copies of specialist 
documentation about Commodore or CMD devices (in particular information
about image, BAM and protocol formats, including memory maps). Thirdly, as I
can't do all the development at one time, assistance in developing utilities
(such as file management) is appreciated.

>>Does 64HDD work with GEOS?
Yes! From v0.7a0 64HDD supports GEOS. A new kernal with appropriate disk
driver is available in the GEOS distribution and extensive documentation is
included in the 64HDD User Manual. If you want GEOS disks preconfigured to
work with 64HDD, then you can download these from the www.cmdrkey.com
website. Once configured, GEOS will  boot from 64HDD, and you can then 
choose from either a real, an REU or another 64HDD drive as your second
disk device. More extensive GEOS support is offered in the professional
version.

>>Does 64HDD work with fast loaders?
In general, fast loaders are not supported. The main reason is because these
loaders rely on re-programming the drive, and 64HDD doesn't support emulation
to this level. Custom fastLoaders are bundled with the Professional version.
With the standard serial cable speed-ups of up to x8 are possible.

>>Does 64HDD work with JiffyDOS?
64HDD is JiffyDOS tolerant, but as yet doesn't take advantage of the improved
loading speeds. JiffyDOS support is taking a long time to develop because of
even though bytes are synchronised during the transfer, bits are not and rely
on precise microsecond timing which varies from PC to PC.

>>Does 64HDD support burst mode on a C128 or modified C64?
Not yet, but it is planned for in a later release. Burst LOADs should be 
possible but will require re-wiring of an unused wire on your X-cable. Burst
SAVEs are not expected to be possible because of the signalling /detection
which goes on between the C128 and real drive. Currently, your C128 will
think and treat 64HDD as a slow-serial device.

>>Is there a parallel connection available?
Yes, and the tools are provided in the Pwr-Load plug-in. The parallel cable
is normally connected from the userport to the LPT port. The cable is 
specific to 64HDD and must be built by the user or ordered through me. The
cable I supply can include switches for extra functions such as 64HDD-RESET,
C64-RESET and DISK-FLIP.

>>How well does the parallel connection work?
It is available to all users with a simple extension of the keyboard LOAD
command (see manual). This works well for single part programs. To allow
subsequent stages to be Pwr-Loaded a ROM upgrade is typically required.
The kernal ROM can be changed in the C64 (or C128) to support parallel
loading with greater compatibility. Unlike with IDE64, if a program by-passes
the Kernal the file transfer will continue using the standard IEC serial
protocol and will not hang as it does with some cartridge based drive
systems. A future version of 64HDD /cable /ROM will actually trap the
the by-passed commands and re-direct the data transfer through the Pwr-Load
connection.

>>Is there a cartridge version of the Parallel Loader, equivalent to say
>>RAMLink?
Not yet, but a design is being developed. "64Link" will probably be based
on a simple modification to an existing CBM cartridge (most probably
SuperGames or Epyx FastLoad). It will possible also act as an REU emulator.

>>Which is faster; JiffyDOS or the Parallel Loader?
The parallel loader is faster and support for sequential files is provided
in the enhanced PwrLoad ROM upgrade. Even if the JiffyDOS protocol is
supported by 64HDD, the Parallel Loader will remain at least a factor of
two faster, so I recommend you go parallel rather than than wait for JD
support. The PwrLoad ROM can be ordered with JiffyDOS built in.

>>Does 64HDD work with "utility cartridges"?
64HDD works with many utility cartridges, though for some the "Turbo Mode"
must be switched off. There is a full compatibility list in the 
documentation, but the most notable incompatibility is FreezeMachine.
Some cartridges do not check for which drive is attached and so they only
support true 1541 hardware.

>>Why does 64HDD not emulate the 1541's CPU?
Emulating the hardware and CPU within the 1541 disk drive would improve
compatibility, but would raise the minimum PC specification to at least a
P200. It may also require a specialist cable. 1541EMU is a program which
has tried this low level of emulation and because of the slowness of the LPT
port incompatibilities exist even when used with really fast PCs. Many demos
still did not work and even JiffyDOS hanged when it came to long files.
CPU emulation is an option for the future, but not part of my current
development plans.

>>I have trouble with the download, can I get 64HDD or updates elsewhere?
It may be possible to download updates from other site, but upgrades can be
emailed as attachments by request. 64HDD can also be posted to you on 3.5"
floppy media for US$3, DEM6, or A$3 (Australian residents only).

>>Does CMD and IDE64 Hard Disk software work with 64HDD?
Most software patched for these disk systems will also work with 64HDD, and
the IDE64 websites have some good tools and patches available. If you 
identify software which is incompatible with 64HDD, send me a note. Some CMD
software is only fully supported by the Professional version of 64HDD.

>>Which is better as far as compatibility; 64HDD or the other systems from
>>CMD or IDE64?
The CMD Hard Drive is probably the most compatible at the present time, 
especially since it has a real 6502 CPU and much of the hardware inside real
CBM disk drives. This means JiffyDOS works without problems, as the 6502 in
this drive is timed at 2MHz fastloaders generally don't work either.
The IDE64 system connects to the cartridge port and like other cartridge
drives this can be a source of incompatibility. I would like to think 64HDD
sits somewhere between the two and ultimately aims to match or better the
CMD drive's compatibility and functionality.

>>How do I swap device numbers without a swap button?
64HDD can be set to any allowable device on start-up by configuring the batch 
file. You can also use the utilities C128.PRG and SX64.PRG included to swap 
internal drive #8 to drive #9 and restart 64HDD with #8. Once running you
can also activate new 64HDD device numbers using the U0> command (see User
Manual for details). 64HDD Professional does have a "swap feature" built in
which can be activated either be a keyboard key or an extra button connected
to the LPT port.

>>How do I make programs with copy protection work?
This depends on the type of copy protection used. If "simple" track/sector
error schemes are used (eg error 20, 21, 23, etc) then the disk image you 
have should be error extended. The errors information needs to be recorded 
when the original disk is copied. There are other copy protection schemes and
other disk image formats for them. Currently, 64HDD only supports this basic, 
but very common, scheme. The other option is to use a back-up created with a 
cartridge such as Action Replay or Final Cartridge III. Action Replay IV has
been tested and found to be fully compatible with 64HDD when the turbo is
disabled and the "standard" freeze-save scheme is used. The third and most
difficult option is to patch the programs - but often patched versions can be
downloaded from the internet.

>>How do I make programs with fast loaders work with 64HDD?
The easist way is to make a back-up with either Action Replay or Final
Cartridge III. Remember to use the normal SAVE format not some special mode
that these cartridges are capable of.

>>How do I make "double sided" or multi-disks programs work with 64HDD?
Firstly, some programs can be transfered to the MSDOS file system which does
not have size limits. Secondly, some programs can be transfered to a larger 
disk image format (eg D81). Thirdly, 64HDD supports "disk-flipping" (read the
manual about how this function works).

>>What are 64HDD "Plug-Ins"?
Optional extra features and functionality are provided by external software 
modules called plug-ins. Standard plug-ins include LongFileName support (LFN),
parallel cable (Pwr-Load), CD-Audio, 3.5" disk support (1581COPY), etc. 64HDD 
will work without these plug-ins, but its functionality will be enhanced if
using them.

>>Can anyone write a plug-in?
Yes, but they only get supported by 64HDD when you tell me about them. All
plug-ins can initially be tested using the MSD command to execute a batch 
file. A supported plug-in will be assigned a unique command channel command,
as for example 1581COPY has been. Most plug-in software is compiled into an
executable or is run by its own batch file.

>>How can I play CD-Audio music with 64HDD?
Firstly your 64HDD system needs a CD-ROM drive and it needs to be configred
with a driver (in config.sys) and the MSCDEX extensions (in autoexec.bat).
The utilities from the CD-Audio ZIP also need to be installed. To hear the
sound your CD-ROM will need to have an audio-socket on the front panel. You
can either attach a cable to connect the socket to the C64's SID chip input
or you can connect your headphones /speaker directly to the socket. If you
connect to the SID chip input, you may want to use a projection circuit
as shown in the documentation. With the SID method, the volume of the sound
can be controlled by the SIDs volume register and the sound mixed with that
coming from the other SID voices.

>>Is there an enhanced version of 64HDD?
Yes, 64HDD Professional has a host of new features. More information at:
www.64hdd.com/professional/

