Short:        Disk image device (adf,dms,iso,...)
Author:       Fredrik Wikstrom
Uploader:     Fredrik Wikstrom <fredrik@a500.org>
Type:         disk/misc
Version:      52.34
Architecture: i386-aros

This is an AROS port of the 52.x OS4 diskimage.device.

It is not to be confused with Thore Boeckelmann's diskimage.device, since it is
a from scratch development and not based on it in any way, so don't even bother
trying to use his GUI together with this device since it won't work (they are
incompatible in this way). The same mountlists can however be used for both
devices.

Some important notes:

In order to mount .hdf files you will probably need to specify the correct
HighCyl value for the .hdf file in question (FFS2 ignores this value if
LowCyl = 0 so this is not a problem on OS4).

In order to get localisation to work with the diskimage.device you may have to
move the line containing the following command in S:startup-sequence so that
it's located after the C:IPrefs command or the device will always use only the
builtin english strings:
C:Mount >NIL: DEVS:DOSDrivers/~(#?.info)

Requirements:

 - An x86 system capable of running AROS
 - expat.library - included
 - z.library (CISO, DAA, DAX, DMG and UIF plugins) - included
 - bz2.library (DMG plugin) - included

Recommended:

 - AISS (DiskImageGUI) - http://masonicons.info/

Supported disk image formats:

 - adf    (Amiga Disk File)
 - adz    (gzipped adf file)
 - bin
 - ccd    (CloneCD)
 - cso    (Compressed ISO)
 - cpr    (same format as dsk)
 - cue
 - d64    (use with 1541-Handler)
 - daa
 - dax
 - dmg    (Apple disk image format)
 - dms    (DiskMaSher)
 - dsk    (CPCEmu, non-EXTENDED images only)
 - fdi
 - flac   (with embedded cue file)
 - gi     (untested)
 - hdf
 - img
 - iso    (CD/DVD)
 - mdf    (Daemon Tools/Alcohol)
 - mds    (Daemon Tools/Alcohol)
 - nrg    (Nero)
 - raw
 - toast  (Roxio Toast)
 - uif    (MagicISO)
 - vdi    (VirtualBox)
 - wv     (with embedded cue file)

Usage:

Put one of the included IDFx/ICDx mount files into DEVS:DOSDrivers (or
SYS:Storage/DOSDrivers in which case they will have to be mounted manually
with C:Mount before use).

To mount a disk image on ICD0:

MountDiskImage drive ICD0: imagefile.iso

To eject:

MountDiskImage drive ICD0: eject

Changes:

52.34 (5-Jan-2015)
- Rewrote TD_ADDCHANGEINT/TD_REMCHANGEINT implementation to be more compatible
  with trackdisk.device/scsi.device.
- TD_REMOVE/TD_ADDCHANGEINT/TD_REMCHANGEINT are now implemented as quick
  commands.
- Fixed a memory leak in the FLAC decoder.
- Replaced several calls to AllocVec()/FreeVec() with AllocMem()/FreeMem().
- Inlined semaphore structures and eliminated usage of CreateSemaphore()/
  DeleteSemaphore() support functions.
- Inlined list structures and eliminated usage of CreateList()/DeleteList()
  support functions.
- Inlined message structures and eliminated usage of CreateMsg()/DeleteMsg()
  support functions.
- Eliminated usage of CreatePortNoSignal()/DeletePortNoSignal() support
  functions.
- Eliminated usage of CreateExtHook()/DeleteExtHook() support functions.
- Ported the VDI plugin.
- Fixed DOSDrivers for new filesystem naming scheme (afs-handler instead of
  afs.handler, cdrom-handler instead of cdrom.handler)
- Changed code to use clib swab(), strlcpy() and strlcat() functions.

52.33 (20-Sep-2014)
- MDS track mode detection now only looks at the 3 least significant bits.
- Added MODE 2 FORM 1 / 2448 support to MDS plugin.
- Added compiled in black and white fallback images same as in the
  m68k-amigaos version.
- The MDS plugin now checks the signature and version fields before trying to
  read the session data and returns ERROR_NOT_IMPLEMENTED for version 2.0 and
  newer MDS files.
- Moved the code for opening the MDF file to the end of the MDS_OpenImage()
  function.

See diskimage.guide/Changelog in the archive for a complete list of changes.

