Ignore:
Timestamp:
Apr 15, 2013, 4:03:33 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Fixed a bug that allowed EBIOS functions for user defined CHS.
  • Simplified user defined CHS and LBA setup a little.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm

    r526 r542  
    9999;;; SelectDrive
    100100    ; Try to select drive and wait until ready
    101     call    AccessDPT_GetDriveSelectByteForOldInt13hToAL
     101    call    AccessDPT_GetDriveSelectByteToAL
    102102    mov     [bp+IDEPACK.bDrvAndHead], al
    103103    call    Device_SelectDrive
     
    130130
    131131;;; InitializeDeviceParameters
    132     ; Initialize CHS parameters if LBA is not used and
    133     ; user has specified P-CHS parameters
    134     test    BYTE [di+DPT.bFlagsLow], FLGL_DPT_ASSISTED_LBA
    135     jnz     SHORT .SkipInitializeDeviceParameters       ; No need to initialize CHS parameters if LBA mode enabled
    136     call    AccessDPT_GetPointerToDRVPARAMStoCSBX
    137     test    BYTE [cs:bx+DRVPARAMS.wFlags], FLG_DRVPARAMS_USERCHS    ; User specified P-CHS?
    138     jz      SHORT .SkipInitializeDeviceParameters
    139 
    140132    ; Initialize Logical Sectors per Track and Max Head number
    141     mov     ax, [cs:bx+DRVPARAMS.wHeadsAndSectors]
     133    mov     ax, [di+DPT.wPchsHeadsAndSectors]
    142134    dec     ax                          ; Max Head number
    143     xchg    al, ah                      ; Heads now in AH
    144     mov     dx, ax                      ; Sectors per Track now in DL
     135    xchg    ah, al
     136    mov     dl, al                      ; Sectors per track
    145137    mov     al, COMMAND_INITIALIZE_DEVICE_PARAMETERS
    146138    mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY)
Note: See TracChangeset for help on using the changeset viewer.