Changeset 505 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Feb 25, 2013, 4:23:09 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Reverted the changes to MenuEvents.inc done in r492 since they broke the F1 key function in XTIDECFG.
  • Added a tail-call optimized variant of the CALL_DISPLAY_LIBRARY macro (JMP_DISPLAY_LIBRARY).
  • Put a block size limit in AH1Eh_ChangeXTCFmodeBasedOnControlRegisterInAL. I think it's needed but if not, it's easy to remove.
  • Other optimizations and fixes.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
2 edited

Legend:

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

    r493 r505  
    5050%ifdef MODULE_HOTKEYS
    5151    call    HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars        ; Done here while CX is still protected
    52 %endif             
     52%endif
    5353
    5454    pop     cx
     
    7373%ifdef MODULE_HOTKEYS
    7474    cmp     al, COM_DETECT_HOTKEY_SCANCODE  ; Set by last call to HotkeyBar_UpdateDuringDriveDetection above
    75     jz      .DriveDetectLoop
    76 %endif     
     75    je      .DriveDetectLoop
     76%endif
    7777
    7878    mov     al,[cs:ROMVARS.wFlags]          ; Configurator set to always scan?
     
    201201%ifdef MODULE_HOTKEYS
    202202    call    HotkeyBar_UpdateDuringDriveDetection
    203 %endif             
    204        
     203%endif
     204
    205205%ifdef MODULE_8BIT_IDE_ADVANCED
    206206    pop     dx
     
    248248;       Nothing
    249249;   Returns:
    250 ;       CF:     Set (from BootMenuPrint_NullTerminatedStringFromCSSIandSetCF)
     250;       CF:     Set (from DetectPrint_NullTerminatedStringFromCSSIandSetCF)
    251251;   Corrupts registers:
    252252;       AX, SI
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm

    r492 r505  
    33
    44;
    5 ; XTIDE Universal BIOS and Associated Tools 
     5; XTIDE Universal BIOS and Associated Tools
    66; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
    77;
     
    1010; the Free Software Foundation; either version 2 of the License, or
    1111; (at your option) any later version.
    12 ; 
     12;
    1313; This program is distributed in the hope that it will be useful,
    1414; but WITHOUT ANY WARRANTY; without even the implied warranty of
    1515; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16 ; GNU General Public License for more details.     
     16; GNU General Public License for more details.
    1717; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    18 ;       
     18;
    1919
    2020; Section containing code
     
    3131;--------------------------------------------------------------------
    3232DetectPrint_InitializeDisplayContext:
    33     CALL_DISPLAY_LIBRARY    InitializeDisplayContext
    34     ret
    35 
    36        
     33    JMP_DISPLAY_LIBRARY InitializeDisplayContext
     34
     35
    3736%ifdef MODULE_HOTKEYS
    3837;--------------------------------------------------------------------
     
    4645;--------------------------------------------------------------------
    4746DetectPrint_GetSoftwareCoordinatesToAX:
    48     CALL_DISPLAY_LIBRARY    GetSoftwareCoordinatesToAX
    49     ret
     47    JMP_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX
    5048%endif
    5149
    52        
     50
    5351;--------------------------------------------------------------------
    5452; DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP
     
    7573;   Corrupts registers:
    7674;       AX, CX, DX, SI, DI
    77 ;--------------------------------------------------------------------   
     75;--------------------------------------------------------------------
    7876DetectPrint_StartDetectWithAutodetectedBasePortInAXandIdeVarsInCSBP:
    7977    mov     dx, [cs:bp+IDEVARS.bDevice-1]   ; for Serial: AL=port address>>2, AH=baud rate
     
    152150DetectPrint_DriveNameFromDrvDetectInfoInESBX:
    153151    push    bp
    154     mov     bp,sp   
     152    mov     bp,sp
    155153    lea     si,[bx+DRVDETECTINFO.szDrvName]
    156154    push    si
     
    158156    jmp     SHORT DetectPrint_FormatCSSIfromParamsInSSBP
    159157
    160                
     158
    161159;--------------------------------------------------------------------
    162160; Prints BIOS name and segment address where it is found.
     
    175173                                        ; so that it can be a different value when using .BootMenuEntry
    176174
    177 .BootMenuEntry: 
     175.BootMenuEntry:
    178176    push    bp
    179177    mov     bp, sp
     
    186184    push    ax
    187185%else
    188     ; szTitle and szVersion have the high order byte of their addresses zero, 
     186    ; szTitle and szVersion have the high order byte of their addresses zero,
    189187    ; so these push instructions are only 2 bytes
    190188    ;
     
    259257
    260258    mov     si, g_szTryToBoot
    261     jmp     SHORT DetectPrint_FormatCSSIfromParamsInSSBP   
     259    jmp     SHORT DetectPrint_FormatCSSIfromParamsInSSBP
    262260
    263261
Note: See TracChangeset for help on using the changeset viewer.