Changeset 523 in xtideuniversalbios


Ignore:
Timestamp:
Mar 12, 2013, 3:16:28 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • No more wrong EEPROM size message when loading whole BIOS from ROM.
  • Auto Configure now enables interrupts for Primary and Secondary IDE when configuring AT builds.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm

    r505 r523  
    4343    call    ResetIdevarsToDefaultValues
    4444    call    DetectIdePortsAndDevices
     45    call    EnableInterruptsForPrimaryAndSecondaryControllers
    4546    call    StoreAndDisplayNumberOfControllers
    4647
     
    122123
    123124;--------------------------------------------------------------------
     125; EnableInterruptsForPrimaryAndSecondaryControllers
     126;   Parameters:
     127;       DS:DI:  Ptr to ROMVARS
     128;       CX:     Number of controllers detected
     129;   Returns:
     130;       Nothing
     131;   Corrupts registers:
     132;       AX, ES
     133;--------------------------------------------------------------------
     134ALIGN JUMP_ALIGN
     135EnableInterruptsForPrimaryAndSecondaryControllers:
     136    jcxz    .NoControllersDetected
     137    call    Buffers_IsXTbuildLoaded
     138    je      SHORT .DoNotEnableIRQforXTbuilds
     139    push    di
     140    push    cx
     141
     142    add     di, BYTE ROMVARS.ideVars0   ; DS:DI now points first IDEVARS
     143.CheckNextController:
     144    mov     al, 14
     145    cmp     WORD [di+IDEVARS.wBasePort], DEVICE_ATA_PRIMARY_PORT
     146    je      SHORT .EnableIrqAL
     147
     148    inc     ax  ; 15
     149    cmp     WORD [di+IDEVARS.wBasePort], DEVICE_ATA_SECONDARY_PORT
     150    jne     SHORT .DoNotEnableIRQ
     151
     152.EnableIrqAL:
     153    mov     [di+IDEVARS.bIRQ], al
     154.DoNotEnableIRQ:
     155    loop    .CheckNextController
     156    pop     cx
     157    pop     di
     158.DoNotEnableIRQforXTbuilds:
     159.NoControllersDetected:
     160    ret
     161
     162
     163;--------------------------------------------------------------------
    124164; StoreAndDisplayNumberOfControllers
    125165;   Parameters:
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/EEPROM.asm

    r484 r523  
    7878EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX:
    7979    xor     dx, dx
    80     eMOVZX  cx, [es:di+ROMVARS.bRomSize]
     80    eMOVZX  cx, BYTE [es:di+ROMVARS.bRomSize]
    8181    eSHL_IM cx, 9               ; *= 512 for byte count
    8282    ret
     
    108108;               Cleared if EEPROM not found
    109109;   Corrupts registers:
    110 ;       AX, BX, CX, SI, DI
     110;       AX, BX, CX, SI
    111111;--------------------------------------------------------------------
    112112ALIGN JUMP_ALIGN
     
    114114    push    es
    115115    push    ds
     116    push    di
    116117
    117118    call    EEPROM_FindXtideUniversalBiosROMtoESDI
     
    128129
    129130.XtideUniversalBiosNotFound:
     131    pop     di
    130132    pop     ds
    131133    pop     es
Note: See TracChangeset for help on using the changeset viewer.