WDe Copyright(C)2005 Ben Cadieux (ben.cadieux@gmail.com), Japheth.

WDe V1.1 [20.10.2024]
  - fixed: mounting logical drives from image files didn't adjust the
    "last sector", thus cluster numbers beyond logical disk size weren't
    rejected.
  - fixed: if current device was an image file, hitting Ctrl-Enter while
    in sector 0 of a logical drive did switch to a real physical disk.
  - save file chain: last update date & time now copied.
  - cmdline option -n added.
  - Goto menu: exchanged "Goto Boot Sector" and "Goto Cluster".
  - FAT directory sectors: LFNs in ASCII region displayed light green.
  - file AND directory names are accepted.

WDe V1.00 [08.11.2022]
  - rearranged startup code so there's no writing to the screen before
    main() has been reached; makes debuggers happy.
  - added timer.inc ( used by debug version )
  - wdex.com: restore pm interrupt vectors.
  - quick exit if no EGA/VGA detected.
  - wrong checksum of LFN entries detected.
  - accept (some) OEM chars in SFNs (oemchar.inc, oembittab)
  - fixed: sometimes, "chain" menu item was shown, but key F7 didn't
    start the op.
  - if a directory is to be saved as a file chain, don't ask if file
    is to be truncated ( since file size is always 0 then ).
  - added support for GPT-partitioned disks.
  - MBR view changed to a more readable table format.
  - in MBR, pressing Enter while cursor is positioned within a partition
    entry jumps to that partition.
  - fixed: changing drive or using "restrict" must invalidate items on
    sector stack.
  - fixed: save/restore root directory for FAT32 did save/restore just
    the first cluster ( was a "known bug" ).
  - fixed: internal var "sectors/cluster" was 8 bits only, too small for exFAT.
  - fixed: distinction FAT16/FAT32 wasn't foolproof. 
  - fixed: restoring a sector range from file did ignore trailing bytes
    behind the last full sector. Also, if file size was < sector size, the
    restore was rejected ( error "File too small" ).

WDe V0.99 [20.06.2022]
  - fixed: menu line restore after i/o error didn't work in v0.50.
  - fixed: to enter a cluster# in "goto cluster" did jump to a wrong
    cluster if cluster number contained a '9'.
  - fixed: Alt-Left at cluster 2 caused an error with a strange cluster#.
  - fixed: unformat FAT12/FAT16 didn't work in v0.50
  - fixed: unformat works for FAT32.
  - fixed: unformat may have stopped prematurely, leaving the disk in
    a corrupted state.
  - fixed: in v0.50, WDe had problems to handle image files correctly.
  - fixed: when restoring a file chain and the source file was a bit smaller
    than what's stored in the directory entry, WDe did show that last
    sector after the copy process.
  - fixed: function "find MBR" wasn't correct - did check 3 entries only,
    and assumed word at offset 1FCh to be 0000.
  - fixed: find MBR/BS/FAT/Dir displayed a wrong sector if the item was
    "found" in the current sector.
  - in directory view, files and directory names are displayed in different
    colors, the rest is darkened a bit ( light grey ).
  - filenames now accepted as cmdline parameters.
  - -m cmdline option may now be entered without number.
  - added option -8 to setm43.exe and setm432.exe.
  - debug version writes to debug terminal when running in a NTVDM.
    

WDe V0.50 [12.05.2022]
  - fixed: restore chain didn't work in v0.50pre1.
  - restore exFAT file chains implemented.
  - fixed: restore partition didn't restore last sector.
  - fixed: menuitem "unformat" removed for exFAT.
  - fixed: for "undelete", before the FAT is modified, it's first checked
    if there're enough free contiguous clusters at the required location;
    if no, the file is optionally truncated or the operation canceled.
    Hence error "File chain exceeds FAT" obsolete and removed.
  - fixed: in v0.50pre, the last cluster of exFAT was not accessible.
  - in FAT view, entries beyond last cluster# are displayed with "-".
  - with image files, bytes/sector are no longer fixed to 512.
  - exFAT primary file entries: created & modified timestamps displayed in view.
  - exFAT file stream entries: 64-bit file size fully displayed in view.
  - significant speed-up for "save to file" function.
  - in "save to file", file "chain", pressing TAB presets filename to enter
    with the filename from the directory entries.
  - up to 255 chars may be entered as long filenames in bottom line.
  - main menu: F1 display help now, "Save" moved to F7.
  - huge speed-up for "find" and "fill" (string & hex).
  - another variant of tool setm43, setm432, added.
  - check for invalid LFNs added in dirview.
  - screen color softened if no user input possible in main area.
  - in data region of FAT file systems, if the current cluster# is
    associated with a file ( that is, not a free cluster# ), it is shown
    in light green.
  - fixed: find MBR didn't work.
  - speed-up for "recurse" ( searching "linking" entry ) scan in FAT.
  - added navigation Ctrl-Enter in FAT: search directory entry with matching
    start cluster.
  - added navigation Ctrl-Right in data area: search previous cluster in
    chain.

WDe V0.50pre1 [24.04.2022]
  - the non-menu keys ( cursor movement, sector editing, ... )
    will work in all menus, not just in the main menu.
  - directory view changed, displays 1 item only, detects and shows
    LFN entries.
  - option -s ( safe mode ) added.
  - optionally build wdex.com, a WDe running as DPMI client.
  - fixed: recursing a chain searched "below" the current cluster only;
    this didn't guarantee that the linking cluster ( the predecessor )
    was found. OTOH, this fix has the effect that the recurse scan will
    take quite a bit longer if the current cluster is the start of a
    chain.
  - wdevdd.dll: adjusted to also work with protected-mode apps ( wdex.com ).
  - regression in v0.40: ctrl-left inside FAT didn't work if the entry
    was located in a different sector.
  - menu item "disk" moved to "file" submenu, new menu item "help" added
    to main menu.
  - wdevdd.dll got a significant speed-up, making lengthy operations 
    under WinXP/Vista ( "find", "fill", "recurse", ... ) usable.
  - fixed: logical disks with format NTFS are no longer handled like FAT disks.
  - support for exFAT file system implemented - it's experimental so far.
    Under DOS, to investigate exFAT partitions, one will heve to use the
    "restrict" option, since DOS itself doesn't know how to mount such
    partitions.
  - option -m ( mount partition as logical drive ) added.
  - string enter function has improved edit capabilities.
  - if available, WDe now uses LFN functions for file open/create.
  - Alt+Right/Left navigation ( forward/back 1 cluster ) added.

WDe V0.40 [13.04.2022]
  - decimal numbers now displayed without leading zeros.
  - input of numeric data is now checked only after the return key has
    been pressed.
  - fixed: find directory in v0.33 didn't update the screen until ESC
    has been pressed.
  - fixed: if the string to be found began at offset 0 of next sector,
    the cursor wasn't positioned correctly.
  - prompts for entering sectors/cluster show hints about valid range.
  - fixed: menu item "file ops" may have displayed a wrong submenu in
    v0.33 if current sector was in data region.
  - lengthy operations will display progress in bottom line.
  - memory model changed to small to increase data segment to 64 kB
    and allow to implement dynamically allocated buffers.
  - fixed: restoring file/fat chain gave wrong or misleading feedback.
  - string search fastened (but still room for improvements).
  - enclose current entry in directory view with '>' and '<'.
  - implemented a small (8 items) "sector stack" to be used by Ctrl-Up.
    Supposed to revert Enter, Ctrl-Enter or Ctrl-Left keys.

WDe V0.33 [01.04.2022]
  - set video attributes only in the 80x43 area in case current video mode
    has more rows/cols.
  - ensure that displays are done in current video page.
  - fixed: switching between hex and binary mode didn't clear the first data
    line.
  - fixed: if HD access had to use int 13h, ah=3 ("old" write function),
    a wrong address (read buffer instead of write buffer) was used.
  - added SETM43 tool. If it works with the graphics card, WDE's look
    might improve since a 8x14 font (instead of 8x8) is used then.
  - accept 'x:' or 'xH'/'xF' on the command line when WDe is started.
  - source changed to true tiny model (reduces binary size).
  - lot of "spaghetti" code cleaned.
  - find function will move cursor to the start of the found string.
  - Home/End key in main menu move cursor to start/end of current sector.
  - "find next" function added. Also, find will now start from cursor 
    position in current sector, not from the current sector's start.

WDe V0.32 [17.03.2022]
  - don't change video mode if current mode has at least 43 lines.

WDe V0.31 [21.02.2010]
  - added WDEVDD to allow WDE running in Windows XP.

WDe V0.30b [??/??/??]
  - fixed a small bug in the hex printing code
  - separated int 13h buffers for getting drive info and reading/writing,
  - reversed display of attribute bits in directory view to match binary
  - fixed root cluster number display bug
  - enhanced finding MBR; less chance of a false positive
  - sector saving/restoring can no longer read/write outside drive parameters
  - fixed bug in fat functions allowing them to read/write past fat tables
  - added workaround to Win9x bug for theoretical writes to CD-Roms
  - fixed bootsector display bug that occurred under certain conditions
  - read functions fixed and reversed back to oldest to newest
  - fixed bug switching to drives that were unable to be edited
  - optimized code that converts values to hex strings
  - modified menu system to be more versatile
  - fixed bug getting fat entry data for last few allowable clusters
    on maximally sized Fat12 and Fat16 partitions
  - enhanced/corrected directory detection; less false negatives/positives
  - updated file/path character checking; this further improves directory
    finding and accepts more characters as valid input when undeleting
  - unformat function has been re-designed, re-written and implemented
  - bytes per sector returned by int 13h/48h now used for hard disks
  - hitting enter in the fat area now works regardless of the view set
  - fixed bug causing restore chain to default to second fat in directories
  - fixed rare bug causing Fat16 partitions to be shown as Fat32
  - file sharing violation crashes under windows fixed by having int 24h
    return "fail" instruction to the calling code
  - running out of disk space while writing a file now aborts with an error
  - last sector bound now kept for non-physical drives restricted as physical
  - restricting above as physical now always correctly sets last sector
  - defaults to Fat1 if saving/restoring Fat2 when none exists
  - fixed major partition saving bug (saving was starting at MBR)
  - fixed partition saving/restoring bug causing it to miss last sector
  - fixed CHS display code for high sector numbers
  - CHS no longer displayed when switching from physical to non-physical
  - workarounds added for CHS reading with poorly written BIOSes
  - searching for String/Hex on CDs no longer randomly stops
  - excessive amounts of code clean-up & optimization for speed and size
  - much better system implemented to generate random values
  - fixed some fat type detection problems
  - MBR view now shows Linux, FreeBSD and NTFS as partition types

WDe V0.21b [04/17/04]
  - read functions now attempted from newest to oldest (DrDOS fat32 fix)
  - fat type detection always relies on number of clusters now
  - re-wrote logical to physical jumping; works for fat1x now
  - fixed calculation bug for root if it isn't early on the drive
  - binary editing is now supported (SHIFT+TAB)
  - added Raw/Cooked CD reading option (for use with all functions now)
  - current sector numbers now showed for all save/restore sector functions
  - can no longer jump beyond the end of the drive with goto functions
  - added some proper support for non-standard sized sectors
  - old int 13h functions for backwards compatibility were reliant on new
    int 13h functions to get last sector number; fixed this
  - recurse and chain saving functions now work with the second fat (slower?)
  - added some unreadable sector compensation (fill with null)
  - for searches, unreadable sector skipping added
  - optimized CHS printing code for physical reads
  - cleaned writefile function; fixed two chain saving bugs
  - removed forgotten debug code for switching to CDs (displayed '06')
  - optimized and centralized a lot of screen and cursor code
  - re-implemented CD reading code; fixed some bugs (including dump as ISO)
  - cleaned/optimized various parts of the code; added some debug options
  - centralized sector saving code
  - re-wrote some fat12 support functions
  - re-wrote and centralized current fat entry calculations
  - jumping to linked clusters in the data area now aborts if fat entry is 0
  - fixed tiny fat12 finding bug that produced more false positives
  - CD fat12 view function problems fixed
  - bug using fat12 view on the last sector of the drive fixed
  - fixed annoying "file size too big" bug saving sectors to files
  - moved some code to where it belongs so the view area no longer gets
    wiped when it's not supposed to while performing certain functions
  - fixed screen-destroying bug saving sectors from physical drives
  - fixed bug not allowing aborting from sector saving
  - fixed bug getting dword values for 32-bit fill functions
  - aborting with escape key now possible with fill functions
  - fixed small logic flaw checking if a file to be written is too large
  - fixed small bug with fat16 fat cluster jumping & chain saving
  - fixed serious off-by-1 error with fat saving/restoring for the second fat
  - fixed tiny fat16 cluster jumping bugs with chain ending entries
  - centralized some filling function code
  - fixed bug losing high word with 32-bit fill functions
  - fixed logic error with decrement rollover for 12-bit fill function
  - fixed bug writing across sector limits with putfatentry for fat12
  - fixed bootsector view for fat1x showing hard drive number
  - MBR finding code much better; now finds MBRs created by more OSes
  - updated directory finding function to be slightly more strict
  - fixed year digit highlighting for directory view
  - cluster number now shows in fat32 root regions
  - fixed logic flaw in string/hex searches
  - set cursor position now uses bios; speed no longer needed
  - files can now be read as drives (TAB instead of choosing a drive)
  - limiting a sector range as a drive is now possible
  - fixed some bugs with saving/restoring partitions

WDe V0.20  [03/06/04]
  - jumping support for CDs cut down to sectors
  - support for direct reading of floppies (using 13h) added
  - undelete function can no longer accidentally write past fat1
  - directory detection now works with fat drives touched by Windows NT
  - int 24h is now hooked to handle errors that once crashed WDe
  - fixed small directory highlighting bug with modified time
  - 'CHS:' displayed when using extended int 13h functions
  - ISOs will automatically be dumped in RAW mode if possible
  - fat chain and file saving/restoring added
  - ctrl+left now recurses in the fat/data
  - now "Searching..." is always displayed while doing searches
  - full 4-digit dates now displayed in directory view
  - save/restore sectors now show the sector number being worked with

WDe V0.19  [08/24/02]
  - optimizations
  - added fill functions
  - added 'unknown' to fsinfo view
  - only the 'delete' key now writes nulls when ascii editing
  - fixed bug saving fat
  - fixed nasty bug saving sectors
  - fixed small bug entering "jump to cluster" values
  - fixed small bug when switching from fat32 to fat1x
  - fixed remainder of ctrl+right fat12 bug
  - jumping to fat2 now jumps to fat1 when there is no fat2
  - append option added for file writing
  - file undelete function added

WDe V0.18  [07/29/02]
  - fixed possible file handle bug
  - added "tab" to switch between ascii/hex editing
  - partition starts no longer show boot sector view by default
  - MBR view shows "Unused" when partition type is 00h
  - ctrl+enter in sector 0 of a logical drive now jumps to the
    physical drive that partition is on
  - logical to physical drive switching no longer shows cluster number
  - hitting enter in physical drives no longer jumps
  - physical drives show proper area along the top when views are set
  - added highest nibble ignoring for fat32 entries
  - fixed small multiplication bug when using over 8 sectors per cluster
  - directory view now has Created/Accessed/Modified fields
  - added FSinfo sector view (default only)

WDe V0.17  [06/22/02]
  - some optimizations
  - added a fat search function
  - added a quit prompt
  - corrected small mbr view bug again (permanent fix this time)
  - default view for CDs now clears the view
  - added 'Hid Fat' (hidden fat) partitions for MBR view
  - removed Ctrl+Right & Ctrl+Enter in root for fat1x
  - added directory auto-detect for physical drives
  - added '[MBR]' and '[Boot/Reserved]' for physical drives
  - "Save to Disk" now gives status messages
  - some fat12 view support for CDs
  - escape quits from file saving/restoring operations
  - ctrl+right now supports the second fat
  - fixed accidental re-reading of fat sectors on one ctrl+right
  - fixed accidental re-reading of fat sectors on multiple ctrl+rights
  - fixed fat12 ctrl+right for last two bytes of fat sector 1,4,7,10 etc.
  - added query to overwrite files
  - ctrl+right now always jumps to the low nibble in the fat
  - fixed file re-creation bug when saving sector mbr/bootsect
  - added proper theoretical "save to disk" for CDs
  - fixed low nibble hex backspace bug
  - fixed inconsistent locking issue
  - fixed drive re-locking bug (system would reset)
  - fixed small stack issues when aborting searches

WDe V0.16  [05/20/02]
  - some optimizations
  - mbr, bootsector, and directory search functions now support cd-rom
  - added proper CD extension detection
  - added fat12 view, [ctrl+]enter, ctrl+right & entry number display
  - fixed a stack bug when a string is not found
  - added more hard disk numbers allowed in boot sector view (up to 9)

WDe V0.15  [05/12/02]
  - lots of optimizations
  - implemented ctrl+right to jump to the next entry when in the fat
    and jumping directly to the next cluster when in the data area
  - ctrl+enter now jumps to the fat entry corresponding to the
    current cluster when in the data area
  - updated the boot sector display, and added 'media descriptor' to it
  - added 'Ext Fat' (extended fat) partitions for MBR view
  - boot sector view for backup boot sector added
  - boot sector view for partitions when using physical view
  - automatic directory detection added

WDe V0.14  [05/08/02]
  - some optimizations
  - fixed nasty key getting bug (created in V0.13b)
  - restore sectors can no longer go over the partition limit

WDe V0.13b [05/07/02]
  - some optimizations
  - fixed locking bug causing writes under windows to fail
  - save/restore root now supports fat12/fat16
  - fixed size checking when using restore drive/etc
  - now checks to see if sectors being saved exceeds 2gb
  - fixed view problem when saving sectors from cd from a subsector
  - added jumping from fat entries and directory entries
    to appropriate clusters by pressing 'enter'
  - fixed a small directory view bug (high cluster highlighting)
  - shows partition type in MBR-view (if fat12/fat16/fat32)
  - re-wrote functions handling hex editing movement

WDe V0.12b [04/25/02]
  - many optimizations
  - fixed a bug switching from a "subsector" on a CD drive to a logical
    or physical drive
  - fixed a cd-rom reading bug
  - fixed an MBR view bug (highlighting sectors)
  - fixed an insignificant potential fat type detection bug
  - added CHS sector reading (int13h/ah=02) and writing for compatibility
    with older systems that do not support extended int13h functions
  - added "entry: [hex entry number]" along the top when in the fat
  - dumping as ISO added for CDs
  - added save options to save/restore the mbr, bootsector, fat 1/2,
    root, entire drives and partitions to/from files
  - fixed a bug when unable to write to drive (defaulted to CD-rom r/w)
  - added 'active' for the active partition byte in mbr view
  - fixed bootsector view issues with non-fat32 drives
  - all view functions now work for CD subsectors
  - fixed bug entering cluster when using jump to cluster
  - fixed jumping bugs to input sector/cluster and last sector

WDe V0.11b
  - ctrl+pgup/pgdn now jumps 100 sectors at a time instead of 1000
  - won't crash when sectors per cluster is 0
  - will abort when unable to write sectors from file
  - will abort when unable to read sectors when searching
  - view functions added for fat16, fat32 and directories
  - directory search functions added
  - cd-rom support was [somewhat] added
  - fixed mbr/bs/dir search (ended one sector before the drive ended)

WDe V0.10b [04/01/02]
  - int13h sector writes were fixed, since the previous versions
    re-wrote the same data that was read from the drive
  - display is now properly set to 80x25 text mode on quit
  - some optimizations
  - fixed a small cluster miscalculation when the root is immediately
    after the fat on fat32 partitions
  - fixed a problem when changing to non-existant physical drives
    from logical drives
  - fixed a bug causing wde to quit when hitting escape when changing
    from a physical drive
  - view functions added (default/mbr/bootsector)
  - drive locking was added
  - proper fat type detection was added (for use with view functions)
  - bug fixed when saving sectors near the end of the drive
  - bug fixed when writing to disk after saving sectors
  - some search functions were added (string/hex/mbr/bs)
  - added jump functions for int13h disk reading (partition 1/2/3/4)
  - fixed a bug where two keys must be pressed after trying to read an
    invalid drive when WDe first starts
  - ctrl+pgup/pgdn now jumps 1000 sectors at a time

WDe V0.09b [03/18/02]
  - initial public release
