
				  SHSUCD Image

			   Copyright 2005 Jason Hood

			     Freeware. Version 3-2

		    Derived from SHSUCDHD v2.0 by John McCoy


    ===========
    Description
    ===========

    A set of CD-ROM drivers that emulate CD- and  DVD-ROMs  by	using  image
    files.   The  image file for a CD-ROM is a standard .ISO file, which can
    be generated by OMI (see below), as well as several other programs; DVD-
    ROM images are only generated by OMI.  There are five programs:

	SHSUCDHD	Emulates one or more CD-ROMs using image files
	SHSUCDRD	As above, but the files are copied to memory (XMS)
	SHSUDVHD	Emulates one or more DVD-ROMs using image files
	SHSUCDRI	Emulates one CD-ROM by copying it to memory
	OMI		Create an image from a CD- or DVD-ROM


    =====
    Usage
    =====

    Run the appropriate program with the name of one or more image files (or
    an optional drive letter for SHSUCDRI).  If the images are acceptable, a
    device driver called SHSU-CDH (SHSUCDHD), SHSU-CDR (SHSUCDRD & SHSUCDRI)
    or SHSU-DVH (SHSUDVHD) will be installed, with each image being assigned
    as a unit on that device.  SHSUCDX (or  MSCDEX)  can  then	be  used  to
    access the images as normal drive letters.	Note: SHSUDVHD will NOT work
    with MSCDEX.

    -------
    Options
    -------

	/F	specify image file name (not SHSUCDRI)
	/D	specify drive letter (SHSUCDRI)
	/L	leave memory free (SHSUCDRI)
	/C	control memory usage (not SHSUCDHD)
	/V	display memory usage
	/U	unload
	/Q	quiet


    /F - File name

    This "option" is required. It's complete syntax is:

	/F:[?]filename

    where FILENAME is the .ISO file for SHSUCDHD & SHSUCDRD,  or  the  first
    image  for	SHSUDVHD.   The question mark indicates this image should be
    ignored if it's invalid (rather than refusing to install).  The image is
    tested  for  validity  by reading a part of it to see if it looks like a
    normal CD.	SHSUCDHD also checks if the file size and volume size agree,
    although  only  a  warning	is displayed if not ('?' is not necessary to
    continue installation).  In the case of SHSUCDHD, the file is left open,
    so	it  should  not  be  moved whilst SHSUCDHD is active.  SHSUCDRD will
    accept images compressed by gzip.

    /D - Drive letter

    If there is more than one CD-ROM drive, this option will  tell  SHSUCDRI
    which drive to use.

    /L - Leave memory free

    If this option is present, SHSUCDRI will not install if free XMS  memory
    would  fall below its value, in mebibytes (1048576 bytes).	Eg: if there
    is 16MiB of XMS free and the image is 11MiB, then /L:6 will abort, since
    loading the image would only leave 5MiB free.

    /C - Control memory usage

    By default the programs  will  automatically  relocate  themselves	high
    (except  SHSUCDHD).   This option will keep the programs in conventional
    memory.  Alternatively, if the programs are loaded high they will  relo-
    cate into low memory; this option will then keep the programs high.

    /V - Memory usage

    When this option is used at install (it's ignored otherwise), a  summary
    of the memory usage is given.  The summary includes:

	Static		code and variables
	Dynamic 	data for each image, plus paragraph rounding
	SDA		swappable data area (to use DOS within DOS)
	Total		overall memory usage
	XMS		kibibytes (1024 bytes) or mebibytes (1048576 bytes)
			of XMS memory allocated

    SDA is used by SHSUCDHD and SHSUDVHD; XMS by SHSUCDRD and SHSUCDRI.

    /U - Unload

    Removes the program from the device driver chain,  SHSUCDHD  closes  its
    files,  and frees its memory.  It is possible to load each program mult-
    iple times, in which case only the latest will be removed.

    /Q - Quiet

    Use this option to prevent the display of the sign-on  banner.  If	used
    twice (ie. /QQ), no display will be output at all.


    =====
    Notes
    =====

    Any number of images are accepted, but only the first  10  unit  numbers
    will be displayed correctly.

    SHSUCDHD will not work after Win9X is started (although Win3  is  okay).
    The  old  version will work (available on my website; see README.TXT) or
    use SHSUDVHD.  Long names will not be available.   (Win9X  users  should
    really be using a VXD, but I do not know if one is available.)

    NT/2K/XP users can use FileDisk, see http://www.acc.umu.se/~bosse/ .


    =========
    Exit Code
    =========

	0	Installed, uninstalled, help
	1	Not installed, not uninstalled


    =======
    History
    =======

    Legend: + added, - bug-fixed, * changed.

    SHSUCDHD
    v3.01 - 17 May, 2005:
    * use correct address for lead-out track
    - 386 check was using near conditional jumps
    * removed DR-DOS INSTALL support, use INSTALLLAST (or define DOSMOVES)
    * modified the installer, binary is now smaller
    * more NASM macros

    v3.00 - 25 November, 2004:
    * clean slate.


    ===
    OMI
    ===

    OMI (Optical Media Image) will create an image file from  a  CD-ROM,  or
    multiple  files from a DVD-ROM.  The image is a direct copy of the CD or
    DVD, which can then be used by the above programs and SHSUCDX to  access
    the  CD/DVD,  without  needing  the  physical  disc.  Only the files are
    accessible, though, not any of the audio.  The time-stamp of the file is
    set to the modification time of the disc.  This program replaces CD2ISO.


    =====
    Usage
    =====

    At its simplest, just run it (of course, you'll need a CD in the  drive,
    SHSUCDX  or  MSCDEX  installed  and  enough  free disk space to hold the
    image).  An image of the entire CD/DVD will be created, using the volume
    label  as  the  file  name, with an extension of .ISO for CDs or .I? for
    DVDs.  If you have more than one drive,  specify  its  letter  (with  or
    without  a colon) to select it.  Likewise, to choose the file name, just
    specify it.  If you don't want to copy the entire disc, or  if  what  is
    copied is not actually everything, specify the number of sectors.  These
    three options can be in any order, but there is  one  caveat:  the	file
    name can not be a single letter or entirely digits.

    For DVDs, multiple image files are created,  since	DOS  is  limited  to
    files  of 2GiB.  Each file is 512MiB, with an extra 60Ki to simplify the
    driver.  A character is added to the filename (or extension) to indicate
    the  order of the files; the last character is overwritten if necessary.
    To use just the extension as the indicator, suffix the name with  a  dot
    (eg: "filename.i" will generate "filename.iA"; "filename." will generate
    "filename.A"; and "filename" will generate "filenamA").  Currently,  all
    files  must  reside on the same drive, so a big partition is required; a
    future version may allow the files to be stored across multiple drives.

    There are two more options available.  "-s" will force an  image  to  be
    split, if it would otherwise fit as a single file.	This allows SHSUDVHD
    to be used, if you would prefer not to leave the file open, or  need  to
    access the image in Win9X.	"-a" will use an ASCII progress bar, if your
    codepage does not support the graphic characters.

    Since CDs are typically quite large, progress is displayed	(as  a	per-
    centage, bar graph and sector countdown), with an estimated time remain-
    ing (updated every five seconds).  The imaging can be paused by pressing
    any  key, which then gives an option to abort or continue.	It will also
    pause if there is a read error from the CD or a write error to the disk.
    If	you  choose to abort, the image is not deleted and it is possible to
    resume the imaging (from just before the abortion point).


    =========
    Exit Code
    =========

	0	Image created, or help displayed
	1	Not enough memory
	2	Problem with CD (SHSUCDX not installed, drive is not a
		  CD-ROM, unrecognised format, no disc present)
	3	Image file already exists (user chose not to overwrite or
		  resume)
	4	Image could not be created (not enough free disk space,
		  could not create file)
	5	User aborted (with possible read/write error)


    =======
    History
    =======

    Legend: + added, - bug-fixed, * changed.

    v1.00 - 28 May, 2005:
    * renamed from CD2ISO, since it can handle DVDs, which aren't ISO
    * progress bar works in 0.5% increments, with graphic characters
    * use country-specific decimal, thousands and time separators


    =========================
    Jason Hood, 31 May, 2005.
