Changeset 365 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot


Ignore:
Timestamp:
Mar 27, 2012, 5:01:57 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Errors from AH=9h are stored to DPTs again.
  • XT build fits in 8k again.
Location:
trunk/XTIDE_Universal_BIOS/Src/Boot
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm

    r364 r365  
    6565
    6666;--------------------------------------------------------------------
    67 ; BootMenuInfo_IsAvailable
    68 ;   Parameters:
    69 ;       Nothing
    70 ;   Returns:
    71 ;       ES:     Segment to BOOTVARS with BOOTMENUINFOs
    72 ;       ZF:     Set if BOOTVARS with BOOTMENUINFOs is available
    73 ;               Cleared if not available (no longer initializing)
    74 ;   Corrupts registers:
    75 ;       BX
    76 ;--------------------------------------------------------------------
    77 BootMenuInfo_IsAvailable:
    78     LOAD_BDA_SEGMENT_TO es, bx
    79     cmp     WORD [es:BOOTVARS.wMagicWord], BOOTVARS_MAGIC_WORD
    80     ret
    81 
    82 
    83 ;--------------------------------------------------------------------
    8467; Returns offset to BOOTMENUINFO based on DPT pointer.
    8568;
     
    9073;       BX:     Offset to BOOTMENUINFO struct
    9174;   Corrupts registers:
    92 ;       Nothing
     75;       AX
    9376;--------------------------------------------------------------------
    9477BootMenuInfo_ConvertDPTtoBX:
    95     push    ax
    9678    mov     ax, di
    9779    sub     ax, BYTE RAMVARS_size                   ; subtract off base of DPTs
     
    10082    add     ax, BOOTVARS.rgBootNfo                  ; add base of BOOTMENUINFO
    10183    xchg    ax, bx
    102     pop     ax
    10384    ret
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm

    r363 r365  
    6565    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED
    6666    jz      SHORT .PushBlockSizeFromAX
    67     mov     al, [di+DPT_ATA.bSetBlock]
     67    mov     al, [di+DPT_ATA.bBlockSize]
    6868.PushBlockSizeFromAX:
    6969    push    ax
     
    114114;--------------------------------------------------------------------
    115115.PushResetStatus:
    116     call    BootMenuInfo_IsAvailable    ; Load segment to ES
    117     call    BootMenuInfo_ConvertDPTtoBX
    118     push    WORD [es:bx+BOOTMENUINFO.wInitErrorFlags]
     116    xor     ax, ax
     117%ifdef MODULE_SERIAL
     118    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE
     119    jnz     SHORT .AlwaysSuccess
     120    mov     al, [di+DPT_ATA.bInitError]
     121.AlwaysSuccess:
     122%endif
     123    push    ax
    119124
    120125;;; fall-out to BootMenuPrint_HardDiskRefreshInformation.
Note: See TracChangeset for help on using the changeset viewer.