Ignore:
Timestamp:
Feb 28, 2011, 4:41:41 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Display library now gets initialized.
  • Small optimizations.
  • Something is still broken.
File:
1 edited

Legend:

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

    r98 r120  
    6868StartDetectionWithDriveSelectByteInBHandStringInAX:
    6969    call    DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP
    70     call    ReadAtaInfoFromDrive    ; Assume hard disk
    71     jnc     SHORT CreateBiosTablesForHardDisk
    72     ;call   ReadAtapiInfoFromDrive  ; Assume CD-ROM (not yet implemented)
    73     ;jnc    SHORT _CreateBiosTablesForCDROM
    74     jmp     DetectPrint_DriveNotFound
    75 
     70    ; Fall to .ReadAtaInfoFromHardDisk
    7671
    7772;--------------------------------------------------------------------
    78 ; ReadAtaInfoFromDrive
     73; .ReadAtaInfoFromHardDisk
    7974;   Parameters:
    8075;       BH:     Drive Select byte for Drive and Head Register
     
    8984;       AX, BL, CX, DX, DI
    9085;--------------------------------------------------------------------
    91 ReadAtaInfoFromDrive:
     86.ReadAtaInfoFromHardDisk:
    9287    mov     bl, [cs:bp+IDEVARS.bBusType]; Load BUS type
    9388    mov     dx, [cs:bp+IDEVARS.wPort]   ; Load IDE Base Port address
    9489    mov     di, BOOTVARS.rgbAtaInfo     ; ES:DI now points to ATA info location
    9590    call    AH25h_GetDriveInfo
    96     mov     si, di                      ; ES:SI now points to ATA information
    97     ret
     91    jnc     SHORT CreateBiosTablesForHardDisk
     92    ; Fall to .ReadAtapiInfoFromDrive
     93
     94.ReadAtapiInfoFromDrive:                ; Not yet implemented
     95    ;call   ReadAtapiInfoFromDrive      ; Assume CD-ROM
     96    ;jnc    SHORT _CreateBiosTablesForCDROM
     97    jmp     DetectPrint_DriveNotFound
    9898
    9999
     
    103103;       BH:     Drive Select byte for Drive and Head Register
    104104;       CS:BP:  Ptr to IDEVARS for the drive
    105 ;       ES:SI   Ptr to ATA information for the drive
     105;       ES:DI   Ptr to ATA information for the drive
    106106;       DS:     RAMVARS segment
    107107;       ES:     BDA/Bootnfo segment
     
    112112;--------------------------------------------------------------------
    113113CreateBiosTablesForHardDisk:
     114    mov     si, di                  ; ES:SI now points to ATA information
    114115    call    CreateDPT_FromAtaInformation
    115116    jc      SHORT .InvalidAtaInfo
Note: See TracChangeset for help on using the changeset viewer.