BUG REPORTS ~~~~~~~~~~~  Version 2.0 zeroes a word in the wrong memory segment. This bug seems not to have any noticeable effect, especially during installation of the driver.  With the 0-kbyte collapsed disk, use of the CHKDSK.EXE utility from Golden Bow System produces errors whose severity depends upon the CHKDSK version in use: For that of the package of VOPT version 2.20 (19,491 bytes), the first execution yields a critical error message but a subsequent execution crashes the cpu, whereas for that of the package of version 2.01 (17,416 bytes), the repeated execution produces alternating critical error and FAT reading error messages. (The problem is not encountered when using the CHKDSK utility of DOS version 2.10 through 3.31, either in the original COM format or when a multi-segment version [DOS ò 3.00] has been converted into a EXE type file.)  An error in versions 2.00 and 2.10 produced an incorrect identification of the DOS version for versions 3.00 through 3.09 and 4.00-4.01.  Older versions of some LIM3.x-Expanded Memory Managers used a lot of stack space during implementation of some EMS functions, overflowing the available DOS stack. XDISK.SYS versions 2.40+ now add their own stack both during the driver initialization and normal operation.  Version 2.40 (086+) of XDISK.SYS pushed the SP register directly in a cpu- dependent manner, and the code did not work in the same way in all computers (this affected CRC calculations in some machines). Switch /S missing in BBS release.  Version 2.41 of XDISK.SYS did not implement properly the error exit during installation when using older DOS versions, and the 286+ version crashed the system when executed in 8086/8088 machines.  Version 2.42 of XDISK.SYS did not implement properly the error exit during installation when an EMS error was found (resulting in a number of displays, and erroneous EMS error code translation). Switch /S inactive in registered copies, producing a fixed sector size of 256 bytes.  Version 2.51 of XDISK.EXE and XDISK.SYS failed to implement switch /A, /P, /R, or /V, when XDISK.SYS was loaded in high memory via a UMB-loader utility of some 386-type memory managers. Version 2.52 fixes this problem. ---------------- UPGRADES & HISTORY ~~~~~~~~~~~~~~~~~~ 1.00 - Not circulated. Alpha testing. 1.30 - Not circulated. Beta testing driver. 1.50 - Not circulated. Beta testing 086 code driver/pipe. 1.70 - Not circulated. Beta testing 286 code driver/pipe. 2.00 - First release of 086 version for BBS distribution. 2.10 - Fixed incorrect word zeroing, and tightened the driver's code for faster operation. 2.20 - Fixed incorrect DOS version checking, and changed the nonresident driver's code for faster operation. 2.30 - Changed resident and non-resident driver's code for faster execution with a software timer (086 & 286 code); 286+ code was realigned for dword addresses. Syntax/status display was also changed. 2.40 - Added stack switching to resident part of driver to handle old EMMs (LIM3.0) overflowing one of the DOS stacks during some EMS calls. 2.41 - Modified the code in 086 version so that SP is pushed in the same manner in all machines. Forced alignment of word string moves. Bad index table in BBS version 2.40 missed /S. 2.42 - Fixed problem in error return when using DOS versions below 3.30 (especially 3.0). Added access control gate to Interrupt procedure which is closed if error found at initialization (DOS<3.30). Fixed stack bug in error return following cpu-type test. Fully separated installation stack from resident-operation stack. 2.50 - Modified DOS interrupt calls in Initialization procedure that could fail unless using DOS 3.2 or later; corrected incomplete message if EMS error was found during installation. Modified process for time of creation of the RAM disk (date of assembly in 086+, current date in 286+ systems). Fixed bug in the display of EMS error code when such an error occurred. Modified the 32-bit CRC to handle some 8-bit machine problems. Switch /S was inactivated in some copies. 2.51 - Added DOS access and password switches. Changed XDISK.COM to .EXE; moved to XDISK.EXE some non-resizing functions handled by XDISK.SYS. Communication with driver(s) is now handled both directly and via IOCTL requests. Header in 2.51+ now identifies the drive supported (except in DOS 2.10). 2.52 - Added two-part identification string in driver header. Added a fast search algorithm to scan up to 1 MB of RAM for the string since UMB loaders may place the driver anywhere (probably respecting paragraph boundary). 2.53 - Rewrote mathematical routines to increase performance speed. 2.60 - Development and beta testing of the 386+ version of XDISK.COM and of 2.97 XDISK.SYS (real mode). Optimization of the 386 codes via a software timer. 3.00 - Addition of self-modifying code to improve performance; optimization of parameter computations. Added driver self-installation in XMS UMB memory via XMS 2.0 call; added lower high-memory limit specification for the UMB load, defaulting to a last block load if none free above the limit. Jumps for calls in 286+/386+ versions.