Changeset 615 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Aug 7, 2021, 9:02:29 AM (3 years ago)
Author:
aitotat
Message:
  • COMMAND_IDLE was not enough to disable standby timer from 1,8" Toshiba HDD. Apparently idle mode is the default mode. Added COMMAND_STAND_BY and that does what COMMAND_IDLE was supposed to do. Without COMMAND_STAND_BY the 1,8" Toshiba HDD experienced some random pauses (=>retry/abort... prompts) especially with Freedos 1.3RC4 but MS-DOS 7.10 (Win98) was mostly OK.
  • Added FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT command to set drive to maximum performance mode when standby timer is disabled. This feature needs a bit more work. See TODO comments in sources.
Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/DeviceIDE.inc

    r567 r615  
    3131TIMEOUT_MAXIMUM         EQU     255         ; We would actually want 31 seconds here but I don't think there are so slow drives
    3232
     33
     34; ATA specs say that in standby mode time to respond could be as long as 30 seconds
     35; Note that some low-power drives (like Toshiba 1,8" HDD) have power management enabled by default
     36; TODO: It might be better to define timeouts in IDEVARS (in ROMVARS) or in DPT. Having even a single bit in DPT means
     37; we could adjust timeouts on runtime when enabling or disabling power management.
    3338%ifdef MODULE_POWER_MANAGEMENT
    3439    TIMEOUT_BSY         EQU     TIMEOUT_MOTOR_STARTUP
  • trunk/XTIDE_Universal_BIOS/Inc/IdeRegisters.inc

    r541 r615  
    9797COMMAND_IDENTIFY_DEVICE                 EQU     0ECh
    9898COMMAND_SET_FEATURES                    EQU     0EFh
     99COMMAND_STAND_BY                        EQU     0E2h
    99100COMMAND_IDLE                            EQU     0E3h
    100101
     
    103104FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE   EQU     01h     ; CFA feature set only
    104105FEATURE_ENABLE_WRITE_CACHE              EQU     02h
     106FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT    EQU 05h
    105107FEATURE_DISABLE_8BIT_PIO_TRANSFER_MODE  EQU     81h     ; CFA feature set only
    106108FEATURE_DISABLE_WRITE_CACHE             EQU     82h     ; Can also be used to flush cache
     109FEATURE_DISABLE_ADVANCED_POWER_MANAGEMENT   EQU 85h     ; Might not be supported even if FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT is
    107110FEATURE_SET_TRANSFER_MODE               EQU     03h     ; Transfer mode goes to the Sector Count Register
    108111    PIO_DEFAULT_MODE                    EQU     0h
Note: See TracChangeset for help on using the changeset viewer.