Ignore:
Timestamp:
Feb 9, 2012, 11:08:59 AM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Space optimizations in the Boot Menu and BootInfo routines, taking advantage of nested %s. Optimization in the init of RamVars to avoid writing the signature twice. Preparing for addition of serial floppy support, starting to break the assumption that our drives are always 80h or higher.

File:
1 edited

Legend:

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

    r200 r241  
    1212; BootMenuPrintCfg_ForOurDrive
    1313;   Parameters:
    14 ;       DS:     Segment to DPT
    15 ;       Stack:  Offset to DPT
     14;       DS:DI:      Pointer to DPT
    1615;   Returns:
    1716;       Nothing
     
    2120ALIGN JUMP_ALIGN
    2221BootMenuPrintCfg_ForOurDrive:
    23     mov     si, g_szCfgHeader
    24     call    BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
    25     pop     di
    2622    eMOVZX  ax, BYTE [di+DPT.bIdevarsOffset]
    2723    xchg    si, ax                      ; CS:SI now points to IDEVARS
    2824    ; Fall to .PushAndFormatCfgString
    29 
    30 ;--------------------------------------------------------------------
    31 ; PushAndFormatCfgString
    32 ;   Parameters:
    33 ;       DS:DI:  Ptr to DPT
    34 ;       CS:SI:  Ptr to IDEVARS
    35 ;   Returns:
    36 ;       Nothing
    37 ;   Corrupts registers:
    38 ;       AX, DX, SI, DI
    39 ;--------------------------------------------------------------------
    40 .PushAndFormatCfgString:
    41     push    bp
    42     mov     bp, sp
    43     ; Fall to first push below
    4425
    4526;--------------------------------------------------------------------
     
    11495;--------------------------------------------------------------------
    11596.PushIRQ:
    116     eMOVZX  ax, BYTE [cs:si+IDEVARS.bIRQ]
     97    mov     al, BYTE [cs:si+IDEVARS.bIRQ]
     98    cbw
    11799    push    ax
    118100
     
    129111.PushResetStatus:
    130112    mov     al, [di+DPT.bFlagsHigh]
    131     and     ax, MASKH_DPT_RESET
     113    and     al, MASKH_DPT_RESET         ;  ah already zero from last push
    132114    push    ax
    133115
     
    142124;--------------------------------------------------------------------
    143125.PrintValuesFromStack:
    144     mov     si, g_szCfgFormat
    145     jmp     BootPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
     126    jmp     BootMenuPrint_HardDiskRefreshInformation.output
    146127
Note: See TracChangeset for help on using the changeset viewer.