Changeset 541 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Apr 14, 2013, 5:04:32 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Brought back compatible DPTs.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm

    r526 r541  
    8080    call    DetectDrives_FromAllIDEControllers
    8181    call    Interrupts_InitializeInterruptVectors
     82    ; Fall to .StoreDptPointersToIntVectors
     83
     84
     85%ifdef CREATE_COMPATIBLE_DPT
     86;--------------------------------------------------------------------
     87; .StoreDptPointersToIntVectors
     88;   Parameters:
     89;       DS:     RAMVARS segment
     90;       ES:     BDA and interrupt vector segment (zero)
     91;   Returns:
     92;       Nothing
     93;   Corrupts registers:
     94;       AX, CX, DX, SI, DI
     95;--------------------------------------------------------------------
     96.StoreDptPointersToIntVectors:
     97    mov     dl, 80h
     98    call    FindDPT_ForDriveNumberInDL  ; DPT to DS:DI
     99    jc      SHORT .FindForDrive81h      ; Store nothing if not our drive
     100
     101    call    CompatibleDPT_CreateToAXSIforDriveDL
     102    mov     [es:HD0_DPT_POINTER_41h*4], si
     103    mov     [es:HD0_DPT_POINTER_41h*4+2], ax
     104
     105.FindForDrive81h:
     106    mov     dl, 81h
     107    call    FindDPT_ForDriveNumberInDL
     108    jc      SHORT .CompatibleDPTsCreated
     109
     110    call    CompatibleDPT_CreateToAXSIforDriveDL
     111    mov     [es:HD1_DPT_POINTER_46h*4], si
     112    mov     [es:HD1_DPT_POINTER_46h*4+2], ax
     113.CompatibleDPTsCreated:
    82114    ; Fall to .ResetDetectedDrives
     115%endif ; CREATE_COMPATIBLE_DPT
     116
    83117
    84118;--------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.