| DISKED Change Log (sources)
| Version: 3.2.5
| Date: 08-Aug-1998


Version 3.2.5:

0. Bug Fix: Date and time fields when editing a directory entry
   work properly.


Version 3.2.4:

0. Bug Fix: FAT or Directory errors found during indexing are
   repored correctly; found a Watcom code generation bug (see
   FILES.C).


Version 3.2.3:

0. Bug Fix: The following bugs introduced in the previous version
            are fixed:

      o  Correctly displays disk volume label in all cases.
         (Except for Windows NT.)
      o  Should now parse pre DOS 6.0 floppy BOOT sector correctly.
      o  The range commands ('r' and 'R') no longer hang.
      o  Writing a file buffer greater than 32767 works.

1. Support for DJGPP:

      o  Less memory limitations.
      o  Larger file buffer (1M).
      o  Some commands not supported.
      o  Some command line options not supported.
      o  A couple of more source files.

2. Cleared up the use of the clusters array (see FILES.C).


Version 3.2.2:

0. Bug Fix: Start-up disk errors properly displays the drive letter.

1. Put back the current drive in the displaying of parameters.


Version 3.2.1:

0. Bug Fix: Remote drive checking put back in.

0. Bug Fix: Zip drive initialization failure with IOCTL reads fixed.

1. An IOCTL read failure during start-up will cause re-trying with
   INT 25h.


Version 3.2.0:

0. Bug Fix: .INI file lookup works properly under all conditions.

0. Bug Fix: Sector ranging now pauses independent of CPU speed.

1. Enhancements:

      o  BIOS Interrupt 13h support (with caveat -- see 5. below).
      o  DOS IOCTL Read/Write support.
      o  Will now set the a drive and directory for default file I/O.
      o  DISKED.INI keywords enhanced.
      o  Long File Names displayed during directory editing

2. I've made some major changes to many files. Some will be individually
   summarized below; here I'll outline some of the overall changes:

      o  Global variable naming convention changed - with few
         exceptions all globals use an embedded underscore (i.e.
         global_name).

      o  Use of enumerations with more consistant naming conventions
         (for these changes the compiler must force enums to be type
         int).

      o  Integer size typdefs have been changed from byte, word and
         dword to BYTE, UINT16 and UINT32 respectively.

      o  A few MSC compile time errors have been fixed (although I
         still have not attempted a Borland compile). MSC still
         generates many warnings (Watcom and I are lazy when it
         comes to integral type conversions.)

      o  I've turned off (with conditionals) heapchecking.

3. Created more source files:

      o  DOSIO.C  moved DOS function call stuff out of DISKIO.C and
                  added more functionality

      o  INT13.C  BIOS Interrupt 13h calls

      o  INT24.C  Critical Error Handler - yanked hhandler() out of
                  SETUP.C

      o  INT2F.C  Multiplex Interrupt - but only checks for Windows

4. Files that have had major rewrites:

   a. DISKIO.C

      To rewrite DISKIO was the main purpose of this version: more
      enums (enums are great if your debugger displays them
      symbolically); split up diskio() into several functions (one
      very large function is hard to fathom); INT 13h and IOCTL
      support (IOCTL seems to be only for floppys - weird); better
      error handling; minor Windows support.

   b. FILEIO.C

      More legible!; made the setjmp()/longjmp() return directly to
      DISKED.C; much better error handling. (It's still looks ugly
      though...)

   c. CONSOLE.C

      Fixed the MSC compile errors (fixed the #if/#endif mismatch,
      renamed many functions to fix the library name faults).

      This file really should be broken up into two files: INT16.C
      and INT10.C - next version perhaps...

   d. DISKLIB.C

      Fixed and/or enhanced the string/argument input functions;
      changed the three buffer mask keywords (Mask, Strip and Convert)
      to one numerical keyword, BufMask; dparams() handles large
      drives and shows if Windows is running.

   e. INIT.C

      Added more keywords and made it MUCH EASIER to do so; numerical
      arguments have range checking; keyword display enhanced; save/
      restore state has been removed.

   f. DISKED.C

      Mostly changes to deal with all the other changes. I added
      checks for sector buffer corruption (pointer overwrite check
      and checksumming - a little too late, it would have caught the
      Volume Label read error...).

5. Known Bugs (this is a CONTROLABLE bug):

   Interrupt 13h functionality will get messed up if hard drive(s)
   have multiple partitions. DISKED treats all drives logically, and
   is not yet smart enough to figure out that drives have been
   partitioned.

   A quick reason why: If a system has two physical hard drives, and
   the first is partitioned to two logical drives, DOS will report
   that there are the drives C:, D: and E:. DISKED is dumb so as to
   attempt to read drive D: with INT 13h which will really be drive
   E: -- this is BAD!

   Until I make DISKED figure this out it will only use INT 13h on
   the A: and B: drives.

   Moreover, now that Zip and other devices are being used, possibly
   as the B: drive, I have disabled INT 13h by default -- an entry
   will have to be made in the .INI file of "int13 yes" for INT 13h
   to work until I figure out what to do.


Version 3.0.1:

0. Bug Fix: volume label read correctly.

1. Other than the bug fix there have been no changes to the code.
   I do consider it no longer a "beta" release and I'm calling it
   Version 3.0.1.

2. All of the accompanying text documents have been re-written and
   consolodated.

3. I no longer use the GNU Public License (GPL). Although I regard
   the GPL as a good thing, I strongly disagree with Stallman's
   software philosophy and am completely disgusted by some of his
   "followers". I now distribute DISKED under my own DPU Software
   License. (The DPU Manifesto will be forthcoming.)


Version 3.0:

-1 The manual has been updated!

0. Bug Fix:  Map free space and Map file values displayed numbers
   greater than 32767 as negative numbers (signed/unsigned mis-
   match).

0. Bug Fix:  Found text offest was shown as greater than actual
   if the found text was not in the next sector (value was greater
   by the length of the string).

0. Bug Fix:  Watcom compiled version did not correctly highlight
   the prompt charcater when buffer became full (printed it as a
   space).

0. Bug Fix:  Microsoft compiled version with extensions disabled
   (/Za) would have filled the screen with garbage and would crash
   the computer.

0. Bug Fix:  'Zs' command switch lookup was order dependent and
   would fail to change some parameters when multiple letters were
   input.

0. Bug Fix:  The sector ranging ('r') was way too fast (a holdover
   from the XT days and I use a fixed value rather than time).  It
   is now set for a 33Mhz machine.  I'll get around to timing this
   properly real soon.

1. Displayed paramater values are all now either Hex or Decimal
   depending on the default radix (',' command).

2. The set position command ('sn,n,n') is now "track", "head",
   "sector" (before it was "track", "sector", "head").

3. New command ALT-E to toggle 'filter' ('*' command).

4. The "more help" screen ('?') has been updated.


Version 2.9.1:

0. Bug Fix:  Command line arguments that took parameters, such
   as /s{filename} previously could dereference a null (or un-
   initialized) pointer if the second parameter was missing.

0. Bug Fix:  Fixed possibility of a memory overrun error during
   the reading 16-bit FATs which could have halted COMMAND.COM.

0. Bug Fix:  Inserting a file with the 'I' command improperly
   handled the file buffer becoming full and if full, could have
   inserted too much data.

0. Bug Fix:  The reading of the volume label was inconsistant.

1. Added the display of disk Serial ID and File System information.


Version 2.9:

0. Bug Fix:  When changing a sector, the '=' command tested the
   argument for greater than the buffer size rather than greater
   or equal to the buffer size which could let the buffer be changed
   past the end.

0. Bug Fix:  The physical to logical calculation was in error
   when calculating to sector numbers larger that 65535.  This
   showed up only when using the 'next/back-track' and the 's'
   commands.

0. Bug Fix:  My calculation for setting to head 0 (when using the
   'h' or 's' commands) was wrong and would result in a "sector out
   of bounds" error at either the first track or the last track on
   hard drives.

   This was due to number of "hidden" sectors.  On drives where the
   number of hidden sectors was not a multiple of the sectors per
   track the error would happen on track 0, and on others on the
   last track.  (Hey, why do drives/DOS do such stupid things!)

   Actually, it makes (some) sense when the physical size of the
   drive is not a multiple of the cluster size, i.e. there is some
   "extra" space (or something like that).

   Anyways, I left the physical set commands in and just put some
   bounds checking tests around the calculation to "fix" it.  The
   drawback is that, 'h' near the end of the drive may go to the
   last sector only.

0. Bug Fix:  With a drive command line argument, DISKED did not
   restore the default drive upon exiting.  This is the second
   time I fixed this!

0. Bug Fix:  The 'P' command did not re-read the current sector
   when finished and displayed the wrong data.  If the starting
   sector of the 'P' command was 0, the go back back command, '^Q'
   tried to go to an out of bounds sector.  Both are fixed.


Version 2.8:

   I forgot what I did with this version.


Version 2.7a:

1. Fixed CRASH bug when <more> displayed for user to press any key
   to continue.  The macro clreol() cleared 0x4F00 columns rather
   than 0x4F.


Version 2.7:

1. Removed extra CR/LF on full sector display.

2. Disk search finds over sector boundries.


Version 2.6:

Changes (most significant):

0. Bug Fix:  Get sectors display numbers (minor fix).

0. Bug Fix:  Edit directory bug -- =0 selected out of bounds.

1. Set to default directory upon startup.
