Changeset 524 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs


Ignore:
Timestamp:
Mar 14, 2013, 2:28:30 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Min time to display hotkeys finally work correctly.
  • AT builds do not copy existing INT 13h handler to 40h by default, XT builds do.
  • Interrupts are enabled for Primary and Secondary controller by default on AT builds.
Location:
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/BootVars.asm

    r520 r524  
    3636%endif
    3737
    38     ; Clear to zero
     38    ; Clear all DRVDETECTINFO structs to zero
    3939    mov     al, DRVDETECTINFO_size
    4040    mul     BYTE [cs:ROMVARS.bIdeCnt]
    41 %ifdef MODULE_HOTKEYS ; We must not initialize anything before this!
    42     mov     di, BOOTVARS.hotkeyVars + HOTKEYVARS.clearToZeroFromThisPoint   
    43 %else
    44     mov     di, BOOTVARS.clearToZeroFromThisPoint
    45 %endif
    46     add     ax, BOOTVARS_size
    47     sub     ax, di
     41    mov     di, BOOTVARS.rgDrvDetectInfo    ; We must not initialize anything before this!
    4842    xchg    cx, ax
    4943
     
    5145    call    Memory_ZeroESDIwithSizeInCX
    5246
    53     ; Store default drives to boot from
     47    ; Initialize HOTKEYVARS by storing default drives to boot from
     48    mov     WORD [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wFddAndHddLetters], DEFAULT_FLOPPY_DRIVE_LETTER | (DEFAULT_HARD_DRIVE_LETTER<<8)
    5449    mov     dl, [cs:ROMVARS.bBootDrv]
    55 
    56     ; fall through to BootVars_StoreHotkeyForDriveNumberInDL
    57 
    58 ;--------------------------------------------------------------------
    59 ; BootVars_StoreHotkeyForDriveNumberInDL
    60 ;   Parameters:
    61 ;       DL:     Floppy or Hard Drive number
    62 ;       DS:     RAMVARS Segment
    63 ;       ES:     BDA Segment
    64 ;   Returns:
    65 ;       Nothing
    66 ;   Corrupts registers:
    67 ;       AX, CX, DI
    68 ;--------------------------------------------------------------------
    69 BootVars_StoreHotkeyForDriveNumberInDL:
    70     mov     WORD [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wFddAndHddLetters], DEFAULT_FLOPPY_DRIVE_LETTER | (DEFAULT_HARD_DRIVE_LETTER<<8)
    7150    call    DriveXlate_ConvertDriveNumberFromDLtoDriveLetter
    7251    jmp     HotkeyBar_StoreHotkeyToBootvarsForDriveLetterInDL
     
    7453%else
    7554    jmp     Memory_ZeroESDIwithSizeInCX
    76 
    7755%endif ; MODULE_HOTKEYS
  • trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm

    r522 r524  
    176176; IterateFindFirstDPTforIdevars
    177177;       DL:     Offset to IDEVARS to search from DPTs
     178;       SI:     Offset to this callback function
    178179;       DS:DI:  Ptr to DPT to examine
    179180;   Returns:
     
    183184IterateFindSecondDPTforIdevars:
    184185    call    IterateFindFirstDPTforIdevars
    185     jc      SHORT IterateFindFirstDPTforIdevars.done    ; Wrong controller
    186 
    187     ; We have found DPT for Master Drive,
    188     ; next DPT is for slave drive or master for another controller
    189     add     di, BYTE LARGEST_DPT_SIZE
    190     ; Fall to IterateFindFirstDPTforIdevars
     186    jc      SHORT .WrongController
     187    mov     si, IterateFindFirstDPTforIdevars
     188.WrongController:
     189    stc
     190    ret
    191191
    192192IterateFindFirstDPTforIdevars:
Note: See TracChangeset for help on using the changeset viewer.