                    DiscOVER - Development Log
                    ==========================

This is a simple log of changes made between different releases of
DiscOVER and MULTI_DiscOVER.  This includes both facility changes
and faults found and corrected.

v4.20   (released ?????)
 -  Added CDROM support.  Initially only via QUBIDE interface although
    majority of logic is not bound to this interface.

v4.16   (released 14/11/98)
 -  Fixed problem (introduced in 4.15) with navigating up/down a directory
    tree using F2/SHIFT-F2 on devices with ahrd directories.

v4.15   (released 11/10/98)
 -  Improved checking of QUBIDE interface to allow for v2 ROMS
    (in preperation for adding CDROM support).
 -  Fixed problem where if directory specified initially for an
    IBM format, no files are copied (was OK if started from root).

v4.14   (released 03/08/98)
 -  Changed checks for DOS format hard disks on QUBIDE.  Needed to fix
    a problem reported by Phil Borman.

v4.13   (released 25/07/98)
 -  Rebuilt with latest compiler to avoid potential problems that were
    introduced into compiler libraries for standard QL systems.

v4.12   (released 01/05/98)
 -  Minor internal changes and tidying up.  Should in theory have no
    visible effect.  Changes made while investigating a problem that
    turned out to be a compiler bug.

v4.11   (released 21/02/98)
 -  Fixed problem that would stop IBM format handling sub-directories
    properly. Believe that problem introduced in 4.10 release, but it
    also affects floppies in IBM format.
 -  Fixed problem with going up a level when a directory was specified
    in the settings for an IBM media.  Used to not re-scan this higher
    directory level if not already read.
 -  Changed calls to LIBLIST library to conform to v1.2 which requires
    an extra level of indirection on some calls.
 -  Changed way that format specific vectors are handled.  Basically this
    involved hanging a pointer to all format specific vectors off the DCB
    rather than having globally visible tables.  Should be more effecient.

v4.10   (released 28/07/96)
 -  Upgraded IBM format to handle MSDOS primary partitions on an MSDOS
    hard disk.  Aimed at supporting removable media attached to QUBIDE
    such as SyQuest.  Written so that if we ever get the ability to
    read/write physical sectors on other systems (e.g. QXL, QPC) then
    should also work for them once physical access level added.

v4.02   (released 10/06/96)
 -  Corrected View disk details for QDOS ED disks giveing incorrect sector
    size warning.
 -  Corrected View disk details for IBM HD disks giving invalid sectors
    per cluster warning.

v4.01   (released 15/12/95)
 -  The DiscOVER and MULTI programs are now a common binary.  Whether the
    program will work in Demo version, Standard version or MULTI version
    now depends on the Registration key (if any) that has been used.

v4.00   (released 01/09/95)
 -  First release as shareware
 -  Changes made to support registration process
 -  Change made to handle running in un-registered mode (based on the
    previous demo mode but not quite as restrictive).


v3.19   (released 14/07/95)
 -  Another go at fixing the name conversion algorithm (IBM/CPM formats)
    for the case when there is no extension at all.

v3.18   (released 07/05/95)
 -  Fixed problem introduced in the new name conversion algorithm
    where the extension would be set up incorrectly if it was less
    than 3 characters in length.

v3.17   (released 14/04/95)
 -  Changed the name conversion algorithm used by IBM and CPM formats
    so that if the filename contains multiple 'seperator' characters
    then the last is used to identify the extension.  Basically this
    just means that the extension is more likely to be what you want!

v3.16   (released 18/03/95)
 -  Fixed problem with Translates not working (this problem was due to
    an incorrect modification made at release 3.10).
 -  Various minor changes to compile warning free with the latest version
    of C68.
 -  Small improvement to disk detection algorithm that should reduce the
    time taken to detect a disk type.

v3.15   (released 30/12/94)
 -  Fixed problem whereby using Save_Settings would always fail
    (this was actually a bu in AS68 that generated incorrect code
     for label-label when the labels were in different sections).
 -  Rewrote Save_Settings code to be much more compact.

v3.14   (released 01/12/94)
 -  Compiled with the latest version of C68.
 -  Fixed new bug introduced whereby the "Create_Directory" call was
    being failed even if the create had worked.
  - Changed so that files now processed in forward direction in all
    formats except CPIO (which needs to be processed in reverse).
  - Reworked disk type identifying code.  This should be more robust,
    but may be slower.  Might need to revisit this code again?

v3.13   (released 14/11/94)
 -  Made changes to reflect Windows 95 beta 2.  Much of the special
    code that was added in the 3.12 release is no longer required.

v3.12   (released 11/10/94)
 -  Completed implementation of file rename facility (available from
    directory screen).
 -  Fixed problem that occurs when running on a PC fitted with a QXL
    and that is using the Windows95 operating system.  In this case
    special action has to be taken to determine the true density of
    a disk. 

v3.11   (released 19/07/94)
 -  Fixed bug introduced in handling of CPIO format in 3.10 (result is that
    program loops trying to initialise drive.
 -  Recompiled programs with version of C68 that fixes potential problem
    in optimiser when 'hook' operator used as part of an expression.
 -  Reworked Disk "Auto recognition code" to reduce number of failures
    that are necessary (in worst case) to recognise the disks physical
    characteristics.
 -  Set up DFS and CPM mpdules so that Single Density drives can be open
    using either "*d?s" or "*d?d" type names.  This allows for the situation
    of having a system where the drive is switched to single density mode
    via hardware rather than software.  The "*d2s" option is always tried
    first to cater for the case of the software supporting it, and then the
    "*d2d" option if that fails.
 -  The notes on how to modify a disk interface to support single density
    disk drives has now been merged into the main DiscOVER documentation as
    an appendix.

v3.10   (released 08/05/94)
 -  Added the Quick Format option.   This involved completely re-working
    the existing format code.   Hopefully this will also result in the 
    removal of certain problems that can occur on some systems, especially
    when formatting HD disks.
 -  Changed internal reply standards so that 0 indicates sucess, and non-zero
    indicates failure.   This follows normal C library standards, and also
    makes it easier to pass back details of error conditions.
 -  Made appropriate changes and added casts to get warning free at level 6.
 -  Major restructuring of code associated with opening and initialising
    drives.  This has resulted in a significant rationalisation of this code
    which makes it smaller and (hopefully) less error prone.


v3.09   (development only - not released)
 -  Corrected a problem with copying from IBM to QDOS format if the source
    file is in a sub-directory.  The files were being correctly listed
    for selection, but then not being found when trying to open the
    source file to actually do a copy due to a fault in setting the
    directory path correctly.


v3.08   (development only - not released)
 -  Added saving the current order for checking for different disk densities
    to the information that is saved when saving parameter settings.
 -  Allowed for the fact that QXL systems open HD disks under the "*d2d"
    file mneumonic as well as DD ones.


v3.07   (released 29/10/93)
 -  The ST/QL systems from the E32 drivers onward seem to have developed
    a problem if the guardian window is closed before the program terminates.
    This close is therefore removed, so that the close is left to the
    operating system which makes the problem disappear.  This is technically
    a bug in the E drivers, but at least this stops the problem occuring.


v3.06   (released 17/10/93)
 -  Corrected problems with the Save Settings option.   This had resulted
    from making assumptions about the layour of memory that broke down
    when switching to C68 v4.  Removed the need for those assumptions.
 -  Fixed problems with "View Details" for QDOS.
 -  Minor changes to the documentation


v3.05
 -  Fixed problem with CPM format whereby erased entries would be ignored
    when looking for free directory entries.  This could incorrectly
    result in "Directory Full" messages.
 -  Fixed problem in CPM format which could stop the data really being
    written to disk for a file although the program would function
    apparently  normally (until you tried to look at the file contents!).
 -  Fixed problem with all formats whereby if a failure occured in the
    Open_New() routine, after reporting an error, a file copying screen
    would appear (even though output is being discarded!).
 -  Corrected problem in translates for characters larger than 127.  This
    was a re-occurence of a similar problem in a previous release where
    a field had been treated as signed instead of unisgned.


v3.04   (released 01/09/93)
 -  Corrected problem where files in QDOS sub-directories were being missed
    if they had a different case for the sub-directory part to the value
    entered by the user (case should be ignored).  Problem introuced in v2.31
    as result of trying to keep case of QDOS names.
 -  Additional information in file header now preserved if copying between
    QDOS type media (filetype, dataspace etc).
 -  Formatting an IBM disk changed so that the boot sector is now identical
    to a similar sector on one formatted under MSDOS 5.0.  Attempts to boot
    off this disk will now produce "not a system disk" message.
 -  Made QXL compatible by adding a small (0.5 second) delay before displaying
    the initial screen.  This gives the QXL time to get cacheing back on!
    (This is really a SMSQ bug and so may be fixed in later versions of SMSQ).
    

v3.03   (released 15/08/93)
 -  Corrected problem whereby using F1 to change device name could cause
    name to be truncated to an underscore character.
 -  Corrected problem (introduced in v2.32) which would cause attempts to
    format IBM disks to have unpredictable effects and probably cause the
    system to crash.
 -  Added small optimisation to deciding what density disks are in use, by
    giving preference on a new attempt to an option that succeeded last time.
    This should be of particular benefit to Gold Card users who are quite]
    likely to have both HD and DD (plus possibly ED!) disks to handle.
 -  Corrected a problem on the PLUSD format whereby genuine Spectrum Plus D
    disks (as opposed to Sam Coupe ones) were always coming up with a file
    size of zero.


v3.02   (released 01/07/93)
 -  Made changes for errors/warnings detected by C68 v4 beta


v3.01
 -  Fixed problem with Spectrum disks for files that are on the second side
    (the sector number calcualation was wrong in this case).
 -  Changed updating of "Copy Bar" to use no timeout so that the copies
    can continue in the background under the pointer environment.


v3.00
 -  Add Spectrum DISCIPLE format to the list of formats that are
    supported by MULTI-DiscOVER
 -  Reworked method of determining disk density when it is not known
 -  Corrected problem with formatting IBM HD disks.
 -  Added CPM Definition file for PCW 720K format (sample from Simon Goodwin)
 -  Corrected a bad pointer problem with "Reset IBM Definition" which could 
    have unpredictable effects - but normally hangs the program.

    *----*----*----*----*----*----*----*----*----*----*----*----*----*

v2.32
 -  Make it an error to try and view details on devices that are not
    floppy disks.
 -  Corrected QDOS View Disk details to correctly show Density (it was
    always showing it as Double even when it was not)


v2.31     (released 15 Nov 92)
 -  Fixed problem with leaving directory channels open when going down
    a level with QDOS V2 filing systems and 'hard' directories.
 -  Error message now output if attempt made to format ED disks in any
    mode but QDOS as the sector size is incorrect.
 -  Fixed problems with formatting disks in HD mode, due to the fact that
    after the QDOS format phase completed the drive was not being opened
    in the correct density mode.


v2.30     (released 26 Oct 92)
 -  The VIEW disk parameters option did not allow for HD and ED disks.
 -  Made changes to get source to compile error free at c68 warning
    level 5.


v2.29    (released 1st Sep 92)
 -  When writing IBM files, the date was being set incorrectly.  This was
    dues to using the gmtime() function which was returning NULL.  used
    instead the localtime() function.


v2.28   (released 12th Aug 92)
 -  Minor changes to replace calls to Lattice specific library routines,
    strpm() and stch_i(), by calls to standard library routines, strtol()
    and strstr().
 -  Recompiled with C68 Release 3.02.


v2.27   (released 19 Jul 92)
 -  Corrected QDOSBios driver to get correct medium size when using
    Level 2 drivers.
 -  Corrected bug in IBM/Atari driver that meant that a deleted file
    in the middle of a directory could cause problems.
 -  Allowed for letters W/R/F/M for WIN/RAM/FLP/MDV when accepting
    device numbers
 -  Allowed device number range to go as high as 8
 -  Changed use of function keys when list of files displayed to be
    more compatible with QRAM/QPAC standard.
 -  Added check for CPIO disk to IBMBios as appears to have a problem
    if you specify IBM mode on a CPIO disk!.
 -  When preparing to copy files, the directory of the target device is
    read prior to the directory of the source device.  This ensures that
    the target is of the correct format.
 -  Added support for "Hard" Directories on QDOS media.


v2.26   (released 06 May 92)
 -  The changes made to allow gold card to recognise HD and ED disks
    (only HD validated so far).
 -  Corrected problem that could cause copying of a file to repeat endlessly
    if source was from QDOS V2 file system and file in a hard directory.
 -  Added new error message for situation when trying to format/Write to a 
    device that was set to read only.
 -  Corrected problem with releasing memory that under certain circumstances
    (which are not clear as it does not always happen) can cause the
    system to crash.
 -  Made changes to get all the source to compile without any warnings at
    the warn=4 option of C68.
 -  Converted date and time routines to ANSI style ones.


v2.25   (released 09 Apr 92)
 -  The CPIO format was no longer recognising pre SVR4 disks as valid.


v2.24   (released 14 Mar 92)

 -  Changes to be compatible with C68 Release 2
 -  Corrected fault that occurs when copying from QDOS device with Level 2
    drivers (e.g. ST/QL or GoldCard) with Hard Directories.  This could
    cause program to loop.
 -  Changes made in preperation for supporting HD and ED disks in the IBM
    option on Gold Card systems.   Facility not available in this release.
 -  Corrected fault which caused "Number of Sides" under VIEW option to
    be displayed as 0 rather than correct value.


v2.23   (released 29/09/91)

 -  Error corrected in handling of translate option.   Attempts to translate
    characters with a value greater than 127 caused random values to occur.
    Problem believed to have been introduced at v2.21 with switch to C68.


v2.22   (released 20/08/91)

 -  Changes made to support revised MENU routine
 -  Hard Directories on QDOS media recognised as such and indicated as
    such when giving a file list.


v2.21   (released 15/07/91)

 -  Changes made to allow C68 to be used as the C compiler
 -  If format option taken and device name changed, then although
    correct device formatted, it was always the TargetDevice that had
    the alien directory written to it instead of the one just formatted.


v2.20   (released 15/05/91)

 -  The ToOctal, FromOctal, ToHex and FromHex calls in CPIOBios_c removed
    by using sscanf and sprintf calls instead.
 -  Drive Type check enhanced to allow for disks of 40 tracks (or less)
    in 80 track drive where every track is readable (i.e. only first 40
    tracks of an 80 track disk have been used).
 -  The writing of CPIO headers enhanced to set the mode field to
    octal 100600.  On MINIX, afio was complaining that file type invalid.


v2.19   (released 11/03/91)

 -  A problem fixed that caused a lock-up when displaying a CPIO directory
    with any of the files in a sub-directory.
 -  A problem fixed that caused a lock-up when attempting to scroll off
    the bottom of an incomplete directory page.
 -  New 'Generic' routines for UP and DOWN directory levels introduced.
    As part of this 'DirectoryChar' field added to DCB.


v2.18

 -  A bug in "SECTOR_IO_ABSOLUTE" meant that a sector I/O fail would be
    reported if a disk was write protected as any successful read of a
    sector would promptly try to write it!  Bug introduced in v2.16.
 -  Writing of Unix CPIO files was failing due to check for free space
    being incorrect.
 -  Writing was also failing due to errors in the "CPIO_FIND_DIRECTORY_ENTRY"
    routine.
 -  The last file on a Unix CPIO disk was not being deleted.  This turned
    out to be a more general problem that could occur any time that the
    file header started on a sector boundary.
 -  The BIOS routine has had all the vector tables moved to the front of
    the source and renamed.  This adds to the clarity of the source.
 -  Routines READ_FILE_SECTOR introduced as a generic equivalent to the
    specific ones in the DFS, ADFS and CPIO modules.
 -  A short delay introduced into the viewing loop to give time to see
    the text.
 -  View Devices changed to ??
 -  Viewing details of CPIO disk was not showing extra prompts
 -  Viewing details of QDOS disk was not working.  This was due to 'reply'
    not being set. Drive was also being left open.
 -  Problem in scrolling up fixed.  Symptom was that subsequent down scroll
    would not display files previously displayed at bottom.
 -  Method of handling sector buffering completely rewritten,  This should
    fix bugs in CPIO format.  Also provide basis of caching if wanted later.

   
v2.17
 -  IBM Format option has boot block signature ($55AA) inserted in last
    two bytes to keep virus checksers happy.
 -  QDOS_GET_LIST amended to ignore errors trying to open a file if it
    returns "In Use" - the file is not listed however on the directory.
 -  Memotech MTX512 DS added to CPM formats.


v2.16       (released October 1990)
 -  Formatting options added.  At this stage, only QL, IBM and CPIO
    formats supported.
 -  'Sector_IO_Absolute' routine rewritten.
 -  Changes for Amiga begin, (but code only activated in test versions).


v2.15       (released July, 1990)
    N.B.    This version was the first version of DiscOVER that was released
            directly and not via PDQL.
  - The name  conversion routines altered to not make any changes if source
    and target same format.   This stops special characters such as
    underscores causing name changes when not required.
  - When an I/O  error occurs,  a message added to prompt check of write
    protect tab on disk is not the cause.
  - Internal checks on memory allocation added to try and detect why
    DiscOVER (sometimes) crashes on the Thor.
  - Translates cleared if format changed.
  - 'ADFS_Make_ConvertName' routine added


v2.14   N.B.    This version never released.  Sent to Chas Dillon for
                investigation of the Thor compatibility problem.
  - Re-compiled  using a new version of PDQC and the new linker that will be
    part of the PDQC compiler.   This results in significantly smaller
    program size.
 -  Internal diagnostic checks improved to try and determine why DiscOVER
    (latest versions) does not appear to work on the Thor.


v2.13       (released  22/10/89)
  - The date on files written to IBM disks was 1 month out (but read was now
    correct).
  - A number of the prompts at the foot of the screen were badly aligned.
  - When writing CPM  files, the  file length  was being  rounded down  to a
    multiple of 128 rather than up.  This could result in data being lost at
    the end of the file.
  - Changes made to use PDQC (Beta test version) instead of QLC.  The main
    visible result is that PROG_USE and DATA_USE defaults are used when
    opening Translate and Format defintion files.   The programs are also
    slightly smaller in size.
  - Efficiency of 'Read_File' and 'Write_File' improved and main copying
    loop re-written, resulting in almost a doubling of copying speed.
  - Diagnostics prompts added to start-up code
  - All 'Intel' and 'Octal' routines moved into DJW_LIB library.
  - 'Answer_YN' and 'Answer_QANY' moved to SHOW module.
  - Option to  save the majority of the current parameter settings added to
    the facilities available from the main menu.
    IBM_Save' added to save format definition area.
    CPM_Save' added to save format definition values added
  - In the Text module, many pointers to text changed to text arrays.            **
  - Headings in the title window were not correctly centred if the string
    defining them contained trailing spaces.
  - The OEM name was not being shown when viewing IBM disk parameters.
  - When asked if a new directory should be created,  trailing spaces were
    not being truncated from the name displayed which made the message look
    rather strange.
  - A number of the prompts at the foot of the screen were badly aligned.
  - When writing CPM  files, the file length was being rounded down to a
    multiple of 128 rather than up.  This could result in data being lost
    at the end of the file.


v2.12       (released 30/03/89)
  - When copying to an IBM sub-directory, an error 99 16 would occur when it
    was needed to extend the sub-directory.
  - Date for IBM files would be one month out.
  - The path name displayed  for ADFS  files would  include the  trailing CR
    characters (which show as 'splodges' on screen).
  - Failures on  opening a drive would correctly  give an error message, but
    the calling routine was not detecting the error condition. 
  - Standard  DiscOVER would  give a  message 27,0  instead of  'disk full'.
    This was due to this error message only being included for MULTI.
  - The algorithm  for converting names  to IBM/CPM format  was not handling
    separators correctly. This could result in strange looking names.
  - Wherever relevant,  changes made to use new 'ShowPrompts',
    'ShowVariables' and  'Menu' routines.  This means  major changes to some
    of the structures in the Text module  (although the text itself has not
    changed).
  - The front  screen layout revised to incorporate  some of the lower level
    menus onto the one screen.
  - When a format  definition file has  been loaded, then  the "Format Name"
    field is now displayed as part of the device details.
  - Target  file is now opened before Source file.  This should gives tidier
    error handling.
  - The  CPM module enhanced to be able to handle the CPM format used by the
    Z80 second processor on BBC systems.  This has meant the introduction of
    a  new parameter  option in  the Format  definition file  called 'SECTOR
    FACTOR'.
  - Interlace redefined so  that value  is distance  to next  sector, rather
    than number missed.  This changes default from 0 to 1.
 -  The structure used for text messages are modified to use the
    generalised routines from the DJW_UTILITY C library (although 
    the actual wording is not changed).
 -  'Copy_Single_File' amended to open target file before source file 
    as this is more efficient on error paths.
 -  'Copy_Single_File' amended to move for checking for the existence 
    of a file to the generic 'Open_New' routine.
 -  'ROOT' and 'SPECIAL' modules merged into one module.
 -  Code to handle file already existing moved to 'Open_New'
    from ROOT module to improve efficiency.
 -  "SHOW" and "SCAN" modues merged into single module.
 -  Screen not cleared until Directory read finished
 -  Modified to use new standardised display routines from the 
    DJW_UTILITY library.
 -  Screen showing device drive,type & directory amended to also
    show format name (if loaded) for IBM and CPM devices.                                           */
 -  IBM date was being calculated 1 month out for new files.
 -  'IBM_Extend_Directory' removed. Routine was not called as code 
    for this also in 'IBM_New_Directory_Entry'.
 -  'IBM_New_Directory_Entry'.  Code for extending a directory completely
     re-written.
 -  'IBM_Set_Position' removed as no longer used.
 -  IBM FAT search routines speeded up by keeping track of the
    first free entry and the last used entry.
 -  'IBM_Make_InternalName' routine improved to handle
    seperators better when deriving the extension.
 -  New routine 'QDOS_Find_Directory_Entry' added.
 -  Updated for revised Prompt structures.
 -  Handling of CDOS System Label/Time Stamp entries improved
 -  'ADFS_Down_Directory_Level' modified to not include CR's in
    the path name.
 - 'CPIO_Open_Drive' reorganised to improve error handling
 -  Error messages revised so that all error messages up to 27 now 
    also apply to standard DiscOVER.                                                **


v2.11       (released 08/01/89)
  - Copying to/from IBM sub-directories could fail with 'unable to set path'
    if the directory name was less than maximum filename length for the
    format.
  - The  settings of the 'InterLace' and 'Skew Factor' parameters were being
    ignored when  converting Logical sector numbers  to physical ones.  This
    would result  in the incorrect handling of  CPM formats which had either
    or both of these set non-zero.
  - UNIX CPIO disks were being copied incorrectly.  The begining of the file
    would be  lost, and there would  be extra data after  the end.  This was
    due to a mistake that had been introduced into the buffer handling!
  - Specifying All to overwrite  would  result  in  files  after  the  first
    failing with a 'Cannot open target file' message
  - The  memory allocation mechanism was altered to use the QDOS Common Heap
    mechanisms rather than C ones.   As  a  result  the  option  to  specify
    run-time memory allocation is now irrelevant.  The program will also use
    less memory in its quiescent state.
  - The  need to specify a 'dummy'  parameter before the 'retries' parameter
    has been removed.  The loading instructions in the User Guide have been
    updated to reflect this.
  - The IBM and BBC ADFS formats will now allow  new sub-directories to be
    (optionally) created when writing to a disk in that format if they do not
    already exist.
 -  'Read_Source_Record' routine removed as no longer used.
 -  'Copy_Single_File' amended to allocate Record buffer
 -  Error messages giving sector number now give it as 3 numbers in the 
    order track side sector.
 -  Error 99,10 removed from 'IBM_Down_Directory_Level', and
    error code passed up a level instead.
 -  New IBM sub-directories can now be created on writing.
 -  'IBM_Calc_Sector' amended to allow 'ReservedSectors' to be handled
    in BIOS routine 'Sector_IO'.
 -  'CPM_Calc_Sector' amended to allow for ReservedSectors to be handled 
    in 'Sector_IO' routine.
 -  'IBM_Set_File_Position' modified to give better error reporting.                                        **
 -  'DFS_Show_Disk_Details' amended to use 'BBCText' and 'BBCdata' 
    instead of 'DFSText' and 'DFSData'
 -  'DFS_Open_Drive' reorganised to give better error handling
 -  'ADFS_Open_Drive' reorganised for better error handling
 -  'ADFS_Down_Directory_Level' modified to support CreateFlag.
 -  'ADFS_Create_Directory_Level' routine added.
 -  ADFS ReservedSectors changed to 0 for correct handling of the
    InterLace and Skew Factor elsewhere.
 -  'ADFS_Show_Disk_Details' amended to use 'BBCText' and 'BBCData' 
    instead of 'ADFSText' and 'ADFSData'.
 -  Prompts added to Text module for creating new sub-directory level.
 -  'DFSText' and 'DFSData' renamed to 'BBCText' and 'BBCData' in Text
    module, and corresponding ADFS entries removed.


v2.10       (released 10/12/88)
  - When writing an IBM disk, the data was not being written to file unless
    the file was more than 512 bytes (1 sector)long.
  - The  program could lock up (normally giving a QDOS directory) on some
    systems.  This was (finally!) identified as being due to the fact that 
    no DataSpace was being set in program file header (8 bytes needed).  This
     problem would  not arise any time the EXEC/EX commands were redefined 
    to the standards of Toolkit2. as they always set at least 12 bytes.
 -  Performance improvement made to IBM routines for finding free FAT
    by remembering last successful point.
 -  'Close_File' amended to ensure that buffer flush always
    occurs before state of flags tested.
 -  ADFS Bios - The number of sides on a disk was being calulated 
    wrongly.  As a result a value of two would always be set.


v2.09       (released 19/11/88)
  - The  program would fail (without giving an error message) when trying to
    get a directory of an Atari single sided disk.
  - The IBM Bios routine  was allocating  more buffers  than it  needed, and
    then  not releasing all of them.  This  would eventually lead to an 'Out
    of Memory' error, particularily on a disk with a lot of Sub-Directories.
 - 'Menu' amended to allow for InitialOption parameter being out of range.
 - 'Bytes_Copied' routine amended to show copy progress as a bar in 
    the status window.
 -  View routine amended to display progress as a bar in the status area.
 - 'IBM_Open_Drive was not using the number of sectors/track from the
    boot sector.  This would mean incorrect handling of formats which
    did not have 9 sectors/track or a format definition file.
 -  IBM_Open_Drive changed to exit with 'good' return if 'msgflag'
     parameter set to YES.
 -  The IBM routines to go up/down directory levels were
     allocating superfluous buffers, and never releasing them.
 -  'QDOS_to_IBM_Date' merged in as only called once
 -  'QDOS_Close_Drive' removed as all actions covered by the 
    generic 'Close_Drive'.
 -  Error in 'Down_Directory' corrected
 -  'Close_File' made more generic so that vectored routines
    need only be called if file was open for writing.
 -  'IBM_Close_File' amended to bring it in line with the new more
     generic 'Close_File'.
 -  'CPM_Close_File' routine removed as now covered by the new 
    generic 'Close_File'.
 -  'DFS_Close_File' removed as now covered completely by 
    the generic 'close_file' routine.  
 -  'ADFS_Close_File' routine amended to bring it inline with
    the new more generic 'Close_File'.
 -  'CPIO_Close_File' routine amended to bring it in line
    with new more generic version of 'Close_File'
 -  'DFS_Write_File_Sector' removed as it was only a dummy.
 -  'ADFS_Write_File_Sector' removed as only a dummy.
 -  'CPIO_Write_File_Sector' removed as it was only a dummy.
 -  'QDOS_to_CPIO_Date' merged into body as only called once.
 -  'CPIO_to_QDOS_Date' merged into body as only called once.
 -  'CopiedText' removed from Text module as no longer needed.


v2.08       (released 14/11/88)
 -  'IBM_Find_Directory_Entry' was NOT exiting when it had run off the
    used entries, and no check had been included for end of directory.
 -  WARNING and ERROR text moved to 'Text' module.


v2.07       (released 07/11/88)
  - The CLOSE_FILE  routine in  the BIOS  module was  not releasing  the I/O
    buffer associated with an FCB.  This would result in an 'Out of Memory'
    error eventually occuring.
  - CPM  files with no extension would have an underscore appended to the QL
    version of the name.


v2.06       (released 04/11/88)
  - If an error occured locating a directory entry, then an attempt woould
    be made to delete the file anyway,  which could result in the program
    looping.
  - When obtaining a file list for QDOS format as the target, the path name
    would be taken fromm the source directory.
  - When writing to QDOS floppy disks, then the first four bytes (the Format
    Id field) could be overwritten with zeroes.  This was not consistent and
    appeared timing dependent.   The routine to  read the first  sector of a
    QDOS floppy disk was moved  to  only  be  done  when  viewing  the  Disk
    parameters which cured this problem.
  - The DBG points in the modules BIOS, IBMBIOS and QDOSBIOS were altered to
    use bit dependent level numbers.
  - 'IBM_Find_Directory_Entry' was exiting prematurely if entry for a deleted
    file was found
 -  Error in 'Delete_File' corrected
 -  QDOS Filenames were incorrectly being displayed with all spaces removed.


v2.05
  - If an invalid key was pressed when on the first item of a  menu, the
    program would go into a loop (lock up).
  - Writing of CPM disks where the file  was larger than a  single extent
    would corrupt the target directory.  This was because the director entry
    was not being initialised properly.


v2.04       (released 19/10/88)
  - When writing CPIO format, File Headers not being written at correct
    position on the disc.
  - When reading CPIO format, any zero length file would be treated as end
    of data (ie FileName was not checked).
  - When opening a QDOS media as Source, the file length was not being set
    up  in the FCB.  This  could cause problems when target neded length in
    open (DFS, CPIO, etc).
  - When writing a QDOS format, some disk interfaces did not like the fact
    that the directory was kept open.  It is now therefore closed whenever a
    file is opened on a QDOS medium.
  - The names being displayed in File Lists always included the path data.
    This is only required for QDOS format media.
  - The file length for IBM media was being calculated incorrectly by using
    two bytes rather than four.
  - New SIDE USAGE option  of REVERSE added for CPM formats for case when
    second side of disk is used before the first one.
 -  The 'main' procedure can now take a parameter specifying the retry 
    count for Sector IO.
 -  Tranlasation prompts changed to ST and TS to reflect change to 
    Source and Target working.
 -  'Menu' amended to stop lock-up occuring if invalid key pressed 
    when current selection is the first one.
  - IBM Format file data not being moved correctly into position to be used


v2.03       (released 05/10/88)
    N.B.    First version released by PDQL to limited number of customers.

  - Corrected problem where DFS and CPM formats could corrupt disk when 
    writing if files had become fragmented (due to error in 
    'Free_Space_Remove' routine).
  - Support for CPIO format completed
  - Checks added to CPM directory read routines to detect inconsistancies in
    Directory Entries.
  - CPM format will now allow for Time Stamp and Volume labels. NOTE.  They
    are skipped over without the data in them being used on reading or
    updated on writing.
  - Reading Directory' message displayed when accessing the Target disk.
  - IBM Media codes F7 and F8 added to recognised list
  - 'IBM_Open_Internal' rewritten to be more efficient and
    to use generic routine 'Initialise_FCB'
  - Free Space calculation adjusted
  - I/O Buffer Allocation moved to 'Initialise_FCB'
  - "Reading Directory" message moved to 'Initialise_Drive'
  - CPM Free space was not being calculated correctly unless cluster 
    size was exactly 1 sector.
  - CPM code added to reduce amount of directory searched for entries 
    both when initialising drive, and also when looking for a 
    particular filename.
 -  DFS bios - Error message now returned if free space list not OK

v2.02       (released 24/09/88)
    N.B.    Passed to PDQL as basis for first Customer release

  - Support for CPM format completed.


v2.01
    N.B.    Development version only.

  - 'Menu' amended to allow multiple occurences of the same
         initial letter, and for ENTER to be the only accept option.
  -  Generalised List Handling routines added.
  - Support for BBC DFS and BBC ADFS formats completed.


v2.00
    N.B.    This was  a development version only.  It  had major faults
            and /omissions in many of  the Bios modules.  It  was intended
            primarily to  allow for evaluation of the new User Interface 
            and revised internal structure.

            The program was  now available in  two versions.  The  standard 
            DiscOVER supported IBM fas an alien ormats while MULTI-DiscOVER
            would support additional ones.

  - Corrected problem of reporting 'Disk Full' on IBM media  when there was 
    still some space (typically 5K) left.
  - Host/Alien concept changed to Source/Target concept
  - Independent selection of formats for Source and Target introduced.
  - Date and Time stamping introduced where relevant.
  - Total and Free space added to Directory displays.
  - Date/Time added to Directory Displays.
  - Major upgrade of user interface to  use a more intuitive approach to
    option selection.

    *----*----*----*----*----*----*----*----*----*----*----*----*----*

v1.15
  - Cleared problem where when copying to IBM disk and a file  existed, then
    the copy  would be abandoned  (with an erroneous 'unable to delete'
    message) after deleting the file.
  - The Translate option incorrectly needed a space between file entries.


v1.14
  N.B.  Agreement reached with PDQL to market this product.  Software renamed
        to DiscOVER (was previously called IBMCopy).
  - Translate option expanded (by CD)


v1.13
  - Corrected problem where the Error message routine was not producing the
    correct QDOS sub-description message.
  - Corrected problem when copying to IBM disk and a file  existed, then the
    copy would be abandoned  (with an erroneous 'unable to delete' message)
    after deleting the file.
  - Text moved to separate  module to allow easy production of foreign
    language variants.


v1.12
    N.B.    This  version was passed to PDQL so that it could be evaluated
            as a possible product for them to market.
  - Corrected problem where if there  were no files in a directory,  the
    program would lock up after it had attempted to read the directory.
  - Corrected problem where if you were at a second level of sub-directory,
    then an attempt to move up a level would cause error 99 9 to occur.
  - Corrected problem where if a target IBM disk contained no files and no
    volume labes, then error 99 5 would be reported.
  - Corrected problem where when writing to an IBM disk,  only the first copy
    of the  updated FAT would be written (error introduced in v1.11).
  - Corrected problem where if an error occurred when writing to a file,
    then the error would occur twice  (2nd time when closing file).  Also,
    the copy would not abort but continue to try the next file.
  - Corrected problem which could make the program think that a QL had a
    40 track drive rather than a 80 track drive.  This could  occur if a
    disk that had previously been initialised  as 80 tracks was then 
    re-initalised as 40  track on a High Density IBM drive IBM (using the
    /4  option to  FORMAT). The  algorithm for determining drive type was
    modified to stop this happening.
  - Corrected problem where the default data translation  (which should
    have no effect) would erroneously convert charaters above ASCII value
    127 to arbitary values.
  - Added option for a user to supply his own IBM disk definition was added.
  - The unit of copying was changed to 512 bytes to speed it up.
  - The concept of an 'outlined entry as removed.  Current entry now
    indicated by cursor flashing next to it.

v1.11       (released 21/04/88)
  - Corrected problem where delete of IBM files was not working properly.
    The file listed as about to be deleted always corresponded to the file
    that was on line 1 of the file list at the time the ENTER key was
    pressed to action the deletes.
  - Corrected problem where View file of a QL file would cause the mesage
    "Unexpected Error 99 3".
  - Corrected problem where View file of an IBM file would not outline the
    original selected entry.  This could cause subsequent 'lock up' unless
    the ESC option was used to return to top menu.
  - Corrected problem where the option to change a drive number by pressing
    the numeric key was not working for QL devices.
  - Added option to change directory levels within a QL device.  IBM option
    rationalised to use F4 to go  down a level, and  SHIFT F4 to go up a
    level.  The display of the IBM file '..' was suppressed.
  - Delete  file process speeded up by using Directory Entry number instead
    of filename to find file to delete.


v1.10       (released 18/04/88)
  - Corrected problems with Sub-Directory handling.
  - Corrected problems with cpying to an IBM disk.
  - Option to Delete QL Files added.


v1.09
  - Sub-Directory handling completed.


v1.08
    N.B.    Sent to a number of friends to see if they could break it,
            and  to  get feedback on facilties offered.
  - Serial Number display on title screen added.


v1.07
  - All Device and Directory set options combined on a single screen.


v1.06
  - Data Translation facilities added.


v1.05
  - The View file facility added


v1.04 
  - Added facilties for editing of the Device/Directory names.


v1.03       (Released 18/03/88)
  - Corrected problem with the last character of the version number being
    ommitted on the title screen.
  - Corrected problem when copying to an IBM disk which resulted in the QL
    file size being rounded up to a multiple of 128.
  - Corrected problem which meant that the F1 option to select all files
    in a Directory would  also select Sub-Directory entries.  These files
    could then not be de-selected.  The copy process would then copy a zero
    length file to the QL media.
  - Corrected problem that the first file on a QL device was always being 
    ommitted from the list offiles displayed (and therefore could not be
    copied).


v1.02       (Released 10/02/88)
  - This version  was the first released version  of the IBMCOPY program
    (written in C).
    N.B. It does not support Directories  on  the  IBM  disk,  although
         much of the front-end code is already present.


v1.1
  - Development version only.  Incorporates first level of feedback.


v1.0
  - Rewritten in  C.  Development version only.  Used  to get initial feedback
    on approach used.

    *----*----*----*----*----*----*----*----*----*----*----*----*----*

v 0.5
  - Prototype of IBMCOPY (written in BASIC) to check feasability of concept


