
Disk2FDI - Formatted Disk Image creation utility
Copyright (C) 1998-2006, Vincent Joguin

30-Day Trial Version 1.01 - February 4, 2006

Disk2FDI is the utility to read Amiga, Amstrad, Apple ][, Atari ST, Commodore
1541, IBM single-density and PC formatted disks on your PC computer, without
any specific hardware extension, except a second disk drive unit in most
cases. With a Disk2FDI optional cable, it will save them as FDI files which
are currently supported by some emulation programs.

The ADF, DO, and D64 fileformats are also supported for Amiga, Apple disk ][
and Commodore 1541 formatted disks, as well as the DSK, ST and IMG fileformats
for IBM-formatted disks (FM, Atari ST and other non-standard IBM disks, and
standard PC MFM disks).

  1. Disclaimer
  2. What Is Supported In This Version
  3. Known Problems
  4. System Requirements
  5. Getting Started With 2 Disk Drives
  6. Running Disk2FDI
  7. What Is Planed To Be Supported
  8. What CANNOT Be Supported
  9. What Is Supported In The Registered Version
  10. How To Register
  11. Acknowledgments
  12. Contact


  1. Disclaimer
  -------------

Use this product at your own risks! I can't be liable for any damage it could
do to your software and/or hardware.

This product must not be used for purposes infringing national or
international copyright laws.

If you want to include this utility with your own project(s), please contact
me (see the Contact section below).

This product is a 30-day trial version, and is NOT public domain. You can copy
this program as long as it remains in its ZIP form, but you don't have the
right to modify any file of it.

By running this program for the first time, you are granted a 30-day trial
period. When this trial period expires, you must either delete the program,
and any copy of it that you may possess, or register on the Disk2FDI website.
Please see section 10 for more information about registration.
The distribution ZIP archive of this trial version can still be uploaded to
an Internet website, in the sole purpose of making this trial version
available to the public. This exception does NOT grant the webmaster any right
to use the software 30 days after its first execution.
The distribution ZIP archive of this trial version can also be included within
a FREE CD-ROM or DVD-ROM, such as one accompanying a magazine, in the sole
purpose of making this trial version available to the public. This exception
does NOT grant any owner of such a CD-ROM or DVD-ROM any right to use the
software 30 days after its first execution.


  2. What Is Supported
  --------------------

With version 1.0, it is temporarily not possible to create FDI-type disk
image files with the trial version.

Disk2FDI supports:
- Amiga Disk File (".ADF"). Such images are ready to be run in such emulators
  as UAE or Fellow.

- ".D64". Such images are ready to be run in such emulators as Hoxs64, CCS64,
  VICE, C64S, or other Commodore 64 emulators.

- DOS-Ordered (".DO"). Such images are ready to be run in such emulators as
  AppleWin, ApplePC, or other Apple ][ emulators.

- ".DSK". Such images are sector dumps of IBM single-density (FM) floppy
  disks. They should be usable with some emulators of older machines such as
  the TRS-80, the Acorn BBC, or the Atari 800. This kind of disk image has
  not been tested much, so any feedback and information about this is welcome.

- ".IMG". Such images are ready to be run in Flopper, or in PC emulators such
  as MESS.

- ".ST". Such images are ready to be run in such emulators as PaCifiST, SainT,
  WinSTon, STeem, or other Atari ST, TT and Falcon emulators.


You can also find many utilities to manage most of these files on the
Internet.


- Amstrad 3" floppy disks:

Amstrad 3" floppy disks will be imaged to the ".ST" or ".IMG" formats,
but not to the ".DSK" format usually supported by Amstrad emulators. Please
use a dedicated utility such as CPDRead by Ulrich Doewich to create Amstrad
".DSK" images.

To connect a 3" drive to your PC, you need to build a special floppy cable.

For information on how to connect a Single Head 3" floppy disk, visit the
following page: http://cpc-hardware.com/
More specifically:
http://cpc-hardware.com/sections.php?op=viewarticle&artid=30

For information on how to connect a Double Head 3" floppy disk, visit the
following page: http://www.fvempel.nl/3pc.html

Once connected, declare a Single Head 3" drive for Disk2FDI using the /A7 or
/B7 switch, or a Double Head 3" drive using the /A8 or /B8 switch.


- 8" floppy disk drives:

These drives should be connected to the PC floppy cable using a dedicated
interface (refer to your drive manual for a description of the signals),
which should leave the head(s) permanently loaded, or leave the motor on and
load the head(s) with the motor-on signal from the PC interface.

Once connected, declare a 8" drive for Disk2FDI using the /A9 or /B9 switch.
If it is single-sided, add the /H1 switch.


- FDI 2.0 files are currently supported by the following programs:
* Amiga
        - WinUAE (Windows), read-only access
                http://www.winuae.net/
        - E-UAE (Linux/Unix, Mac OS X, BeOS, AmigaOS), read-only access
                http://www.rcdrummond.net/uae/

* Apple 2
        - CiderPress (Windows), read-only access
                http://www.faddensoft.com/ciderpress/

* BBC Micro
        - B-Em (DOS, Windows, Mac OS X), read-only access
                http://b-em.bbcmicro.com/

* Commodore 64
        - Hoxs64 (Windows), read/write access
                http://www.hoxs64.com/

Although it is currently only supported in the registered version of Disk2FDI,
the FDI 2.0 format specification is presented in the "FDISPEC.TXT" file, so
that more emulation authors can support this fileformat.


  3. Known Problems
  -----------------

This version has FDI creation feature for 2 floppy disk drives disabled.
The algorithms included in version 0.9 of Disk2FDI were not working properly,
and the new, hopefully working version of the algorithms will be included in
the first beta version of Disk2FDI. The release of this beta version could
take months or years to be released, depending on my free time and the number
of registrations.


  4. System Requirements
  ----------------------

Common requirements:
- PC-class machine or later (not PCjr)
- 8088 processor or later. Tested with a Pentium 4 and Athlon XP
- 239 KB of free conventional memory
- DOS 2.0 to DOS 7.x

Specific requirements:

  Sector-dumped images:
    - DOS 2.0 to DOS 7.x, Windows 95, Windows 98 or Windows Me

    * Amiga
    Default file extension: .ADF
        - 2 floppy disk drives, one being a 3.5" drive
        - 1 blank or PC-formatted floppy disk

    * Apple disk ][
    Default file extension: .DO
        - 2 floppy disk drives, one being a 5.25" drive
        - 1 blank or PC-formatted floppy disk

    * Atari ST and other machines with a similar floppy disk controller
    Default file extension: .ST
        - Any version of DOS or Windows. Some configurations are untested.
        - at least 1 floppy disk drive of any kind

    * Commodore 1541
    Default file extension: .D64
        - AT-class machine or later
        - 80286 processor or later. Tested with a Pentium 4
        - 2 floppy disk drives, one being either a LOW-DENSITY (360K) 5.25"
          drive, usually found in old PC and XT machines, or a MODIFIED
          high-density (1.2M) 5.25" drive. Please read the "525HDMOD.htm"
          web page for technical information on how to modify a high-density
          5.25" floppy disk drive. When using a modified high-density drive,
          be sure to use the /A6 or /B6 switch when running Disk2FDI.
        - 1 blank or PC-formatted floppy disk

    * IBM single density (old Acorn, old Atari 800, old TRS-80, ...)
    Default file extension: .DSK
        - 2 floppy disk drives of any kind
        - 1 blank or PC-formatted floppy disk

    * IBM PC and other machines with a similar floppy disk controller
    Default file extension: .IMG
        - Any version of DOS or Windows. Some configurations are untested.
        - at least 1 floppy disk drive of any kind


  FDI file creation:
        - Registered version of Disk2FDI
        - Disk2FDI cable
        - Fast (preferably PCI) parallel port card
        - Pentium processor or later
        - 32 MB of RAM
        - at least 1 floppy disk drive of any kind


  5. Getting Started With 2 Disk Drives
  -------------------------------------

When 2 disk drives are required to read your disk (see chapter 4: "System
Requirements" above), you really MUST HAVE TWO (2) FLOPPY DISK DRIVES
installed in your computer, and connected to the same floppy cable to your
floppy controller, generally on the mother board. If you don't have 2 drives
and you don't know how to add one, please ask your local computer dealer to
install one for you. A new high-density 3.5" disk drive usually costs under
US$ or uro 15 nowadays.

Please note that it is not possible and it will NEVER be possible to read
those disks with only one standard PC disk drive and no extra hardware.

It is possible to read those disks with only one disk drive, some extra
hardware, and the registered version of Disk2FDI (see chapter 10: "How To
Register").

When you have the required drives properly installed in your computer (do not
forget to configure the floppy disk drive types in the BIOS, or use the /A
and/or /B switches), follow this simple procedure:

- Insert the floppy disk you want to read in an appropriate disk drive:
        - Amiga: 3.5" disk drive of any kind
        - Apple disk ][: 5.25" disk drive of any kind
        - Commodore 1541: 5.25" low-density (360K, PC or XT), or modified
          high-density (1.2M, AT, read the "525HDMOD.htm" web page) disk drive
        - IBM single density: a disk drive of any kind

- Insert a blank or PC-formatted disk into the other disk drive, no matter
   whether it is low or high density, 3.5" or 5.25". Note that if the disk
   is blank, its first track will be formatted. Apart from that, the disk will
   only be READ. So you can insert a formatted disk full of files: they won't
   be erased, and nothing will be written to this disk, except if it is the
   destination drive.

   WARNING: if you insert a floppy disk in the wrong disk drive, Disk2FDI
   could format its first track (after asking if you bother). So, it is
   recommended that you write-protect your original floppy disks to avoid
   any problem... Note that the FDI fileformat (not supported in this trial
   version) will remember whether the disk was write-protected.

You are then ready to read your floppy disk.


  6. Running Disk2FDI
  -------------------

At a DOS command prompt, simply type DISK2FDI followed, if necessary, by the
letter of the drive containing the floppy disk to read, and/or the filename
you want your disk image to be saved to.

Note: the first time Disk2FDI is started, it will create a DISK2FDI.CFG file
in the current directory to store the values of the maximum tracks reachable
by your disk drives. So be sure to always unzip the original archive when
copying Disk2FDI to another computer.

Note: the destination file will be written to the current directory (generally
on your hard drive, in the directory from where you have executed Disk2FDI),
or to the drive/directory specified on the command line.


Execution examples:

C:\DISKUTIL>DISK2FDI /?
        Will display a description of the available switches.

C:\DISKUTIL>DISK2FDI
        Will create an image of disk in drive A to a DISK.FDI file in the
        \DISKUTIL directory of your C: drive.
        (NOT SUPPORTED IN THIS VERSION, WILL DEFAULT TO THE /S SWITCH)

C:\DISKUTIL>DISK2FDI B: MYDISK
        Will create an image of disk in drive B to the MYDISK.FDI file in the
        \DISKUTIL directory of your C: drive.
        (NOT SUPPORTED IN THIS VERSION, WILL DEFAULT TO THE /S SWITCH)

The /S switch will enable the creation of a standard sector-dumped disk image
already supported by existing emulators. The ADF, D64, DO, DSK, IMG and ST
standard fileformats are supported.

C:\DISKUTIL>DISK2FDI /S B: D:\DSKIMAGE\DEMO
        Will create a sector-dumped image of disk in drive B to the DEMO.ADF,
        DEMO.D64, DEMO.DO, DEMO.DSK, DEMO.IMG or DEMO.ST file, depending on
        the kind of disk you have inserted, in the \DSKIMAGE directory of
        your D: drive. The kind of disk is detected automatically.

For DO, DSK, IMG and ST files you can specify the number of sectors per track
by entering this number immediately after the /S switch. For DSK, IMG and ST
files, you can also specify the sector size as 128 bytes/sector (".0"), 256
(".1"), 512 (".2"), 1024 (".3"), 2048 (".4"), 4096 (".5"), 8192 (".6"), 16384
(".7") or 32768 (".8"). The number of sectors can be automatically decreased
if the sector size is too high, and the sector size is limited to 1024 for DSK
files. It is also possible to bypass the automatic detection of the floppy
disk format by entering the format as the first parameter after the /S switch,
before the optional number of sectors. Allowed formats are ADF (880KB Amiga
format), ADH (High-density Amiga format), D64 (Commodore 1541 format), DO
(Apple disk ][ format), DSK (IBM single-density format), IMG and ST (IBM
double and high-density formats).

You can also specify the number of tracks using the /T switch, and the number
of heads using the /H switch.

For example, assuming disk in drive A is an Atari ST demo disk which is
single-sided and has 81 tracks formatted with 10 sectors per track and 512
bytes per sector, you can run Disk2FDI as follows:

C:\DISKUTIL>DISK2FDI /T81 /H1 /SST10.2 A: DEMO.ST

The /A and /B switches will override any BIOS configuration for drive A or B
respectively. These switches can be useful if your BIOS does not support a
particular floppy disk drive type, if you don't know how to configure the
BIOS, if you are using a 5.25" high-density floppy disk drive modified to spin
at 300 rpm (read the "525HDMOD.htm" web page for further details), or if you
are using a 3" or 8" floppy disk drive.

For example, to dump a Commodore 1541 disk (or any other kind of standard
5.25" disk) from drive B, this drive being a modified 5.25" high-density
drive, and using a standard 3.5" high-density drive as drive A, undeclared
in the BIOS, run Disk2FDI as follows:

C:\DISKUTIL>DISK2FDI /S /A4 /B6 B:

Using the extended form, you can also declare drives with different
specifications. For example, to use a double-sided 100-TPI 77-track 300-rpm
5.25" drive connected as drive A, run Disk2FDI as follows:

C:\DISKUTIL>DISK2FDI /A1.300.3.77.2.2.0


  7. What Is Planed To Be Supported
  ---------------------------------

Version 1.0 should hopefully have a fully working FDI extraction feature
using 2 disk drives.


  8. What CANNOT Be Supported
  ---------------------------

With only a standard PC, it is not possible by software to write anything
different from an IBM-sectored disk, even with 2 disk drives. It is also not
possible to write, on a general manner, an FDI file back to disk. This is
because the FDC of the PC always encodes data as MFM, so it is not possible
to write raw data to disk without the controller to place extra information
according to the MFM specification.

Reading Apple 400K and 800K floppy disks is also impossible with a standard PC.

Reading Commodore 8050 and 8250 floppy disks is impossible with a standard PC
disk drive, because they require a 100-TPI drive.


  9. What Is Supported In The Registered Version
  ----------------------------------------------

The registered version adds access to the /L, /R and /C switches:
        - The /L switch creates a log file containing the information printed
          on screen for each track.

        - The /R switch will prompt the user for retry if any bad sector is
          found on a track when using the /S switch.

        - The /C switch will make use of a Disk2FDI cable connected to a fast
          parallel port to image the disks, bypassing the FDC decoding
          mechanisms. With this mode, only 1 disk drive is required, and more
          disks can be read, such as Apple 400K and 800K disks, or
          copy-protected disks (to the FDI format).

With the /C switch, the FDI fileformat allows the representation of ALL data
present on the disk, even those that may not be readable by the standard
floppy disk controller. In other words, most disks, even those protected with
bizarre formats, should be read and accurately imaged.
The main supported formats are Amiga, Apple, Atari, Commodore, and IBM.


  10. How To Register
  -------------------

To buy the registered version of Disk2FDI, after the 30-day trial period,
please visit: http://www.oldskool.org/disk2fdi
Click on the "registered version" link, then follow the on-line procedure to
register. You will receive your personalized registered version of Disk2FDI
by e-mail. You will also receive all future updated registered versions freely
by e-mail, when they become available.


  11. Acknowledgments
  -------------------

I'd like to send greetings to Ciriaco Garca de Celis for his excellent
2MGUI program that brought the initial inspiration to write this utility.

Greetings to Christian Knig for thinking about reading disks with the
parallel port interrupt. This is really the way to do it!

Thanks to Toni Wilen for implementing and supporting the FDI format in WinUAE
so quickly, even before the dumping software is completely finished and
released.

Thanks to Andy McFadden, Tom Walker and David Horrocks for supporting the FDI
format in their respective programs.

Thanks to Wolfgang Moser for Commodore 1541 valuable support.

Thanks to Christophe Escurat for generously providing a 3" drive with modified
cables to connect to a PC. It was very much appreciated and useful to ensure
Disk2FDI works properly with these drives. It also led to small improvements
that benefit to other kinds of drives as well. Also thanks for all the general
support!

Also, thanks to David "Splash" Carrre, the OWB, and my wife for supporting
me in the creation of this software.


  12. Contact
  -----------

You can contact me for bug reports or kind remarks ;-)
Please read this documentation and the FAQ carefully before reporting a bug,
as it could be a misuse of the program or an unimplemented feature.

My e-mail: DELETE_THIS_TEXTdisk2fdi@joguin.com
Remove the DELETE_THIS_TEXT part.

Catch the latest Disk2FDI release at http://www.oldskool.org/disk2fdi


                                                   Vincent "ApH" Joguin 
