SweetLow Posted July 11, 2024 Posted July 11, 2024 http://sweetlow.orgfree.com/download/esdi_506.zip Patches for ESDI_506.PDR from Windows 98SE [98SE] / RLoew's Terabyte Plus Pack 2.1 [TBP2.1]. Fixes: 1. [TBP2.1 - BigHDD] Handles drives with LBA48 support using algorithm from Windows NT: LBA48 commands are only used for drives that really need them, i.e. >= 128GiB, for drives < 128GiB LBA28 is used. Needed as work-around the rare situation of badly functioning hardware that reports support for LBA48 commands, but in reality does not process them. 2. [TBP2.1 - SATA] Interrupt handler: - Based on code from RLoew's TBP3.0. - For dedicated interrupts (Legacy ATA controllers) the code is completely identical in behavior to the original one (no unnecessary access to ports). - DMA error flag is preserved, only the Interrupt flag is reset. 3. [TBP2.1 - SATA] Data synchronization with BIOS: - LBA usage is enabled for drives with LBA support without any additional checks, drives without LBA use the old (full) algorithm - rollback to PIO if DMA fails 4. [98SE] Driver retrieves shared interrupt flag not from the CONFIGMG shared interrupt flag, but from the level/front interrupt flag. The CONFIGMG incorrectly changes the shared interrupt flag for multi-function devices (which are the vast majority of standard PCI ATA controllers). 5. [98SE] Fixed minor bug of non-saving register with the value of error of command execution for drives with removable media and media status notification enabled. 6. [98SE] Changed drive characteristic flags for the default record. Additions: 1. [98SE] Added IOR_IDE_PASS_THROUGH request processing for ATAPI devices. Also this request is correctly processed for ATA devices with sector size other than 512 bytes. Allows you to execute drive identification commands and SMART commands for such drives. It is recommended to use together with updated SMARTVSD.VXD for full functionality. Fixes 2 - 6 and Addition 1 are non-specific to TBP2.1. Corollary projects updated accordingly: https://github.com/LordOfMice/Tools/blob/master/atanames.zip - Right names of ATA drives plus version of device firmware in Device Manager for Windows 9x/ME http://sweetlow.orgfree.com/download/smartvsd.zip Patches for SMARTVSD.VXD - works for any combination of ATA channels and devices on these channels and more 2
SweetLow Posted March 1 Author Posted March 1 http://sweetlow.orgfree.com/download/esdi_506.zip Added 2025/03/01: 1. [TBP2.1 - SATA] Data synchronization with BIOS: - Returned physical geometry extraction from IDENTIFY for drives with LBA. 2. [98SE] Drive parameters setting error in drive reset handler no longer causes a general read/write error for drives with LBA. 3. [98SE] Uninitialized CMOS drive type definition variable. For all but the first two drives on Legacy Primary Channel, it could have been anything, usually what was on Legacy Primary Channel (i.e. type 47), and if there was no Legacy Primary Channel, it was 0 or really something random. Now anything other than real CMOS data will give you a 95 disk type. This reflects the FFFFh value that was already used in the code for the unset parameter in one place, and now it is also used for the default value. 4. [98SE] Minor change: IDENTIFY read error no longer resets other flags and sets IDENTIFY error flag, but only sets the IDENTIFY error flag (OR instead of MOV).
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now