Changeset 618 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc/IdeRegisters.inc


Ignore:
Timestamp:
Aug 31, 2021, 2:17:47 PM (3 years ago)
Author:
krille_n_
Message:

Changes:

  • Updated the BIOS makefile. Added the NO_ATAID_CORRECTION define back to the Tiny build as I've realized that the correction code should not be needed for builds without MODULE_EBIOS. Also added a new makefile target 'custom' to make it easier for people to make custom builds.
  • Fixed a bug where calling INT 13h/AH=15h for drives not handled by XUB (floppy drives for example) would return an error due to the fact that any non-zero return value in AH from the other BIOS would cause the CF to be set in Int13h_SetErrorCodeToIntpackInSSBPfromAH. The return path is now via Int13h_ReturnFromHandlerWithoutStoringErrorCode which means that no status/error code will be returned in the BDA but that should not be a problem as the other BIOS should do that anyway. This change also fixed another potential problem where return values in DL from the other BIOS were assumed to be drive numbers when MODULE_SERIAL_FLOPPY is included in the build.
  • Minor optimizations and fixes.
File:
1 edited

Legend:

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

    r615 r618  
    102102
    103103; Subcommands for COMMAND_SET_FEATURES
    104 FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE   EQU     01h     ; CFA feature set only
    105 FEATURE_ENABLE_WRITE_CACHE              EQU     02h
    106 FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT    EQU 05h
    107 FEATURE_DISABLE_8BIT_PIO_TRANSFER_MODE  EQU     81h     ; CFA feature set only
    108 FEATURE_DISABLE_WRITE_CACHE             EQU     82h     ; Can also be used to flush cache
    109 FEATURE_DISABLE_ADVANCED_POWER_MANAGEMENT   EQU 85h     ; Might not be supported even if FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT is
    110 FEATURE_SET_TRANSFER_MODE               EQU     03h     ; Transfer mode goes to the Sector Count Register
    111     PIO_DEFAULT_MODE                    EQU     0h
    112     PIO_DEFAULT_MODE_DISABLE_IORDY      EQU     1h
    113     PIO_FLOW_CONTROL_MODE_xxx           EQU     (1<<3)  ; Bits 2...0 hold the PIO mode
     104FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE       EQU     01h     ; CFA feature set only
     105FEATURE_ENABLE_WRITE_CACHE                  EQU     02h
     106FEATURE_ENABLE_ADVANCED_POWER_MANAGEMENT    EQU     05h
     107FEATURE_DISABLE_8BIT_PIO_TRANSFER_MODE      EQU     81h     ; CFA feature set only
     108FEATURE_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
     110FEATURE_SET_TRANSFER_MODE                   EQU     03h     ; Transfer mode goes to the Sector Count Register
     111    PIO_DEFAULT_MODE                        EQU     0h
     112    PIO_DEFAULT_MODE_DISABLE_IORDY          EQU     1h
     113    PIO_FLOW_CONTROL_MODE_xxx               EQU     (1<<3)  ; Bits 2...0 hold the PIO mode
    114114
    115115
Note: See TracChangeset for help on using the changeset viewer.