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.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenu.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
    1616; GNU General Public License for more details.
    17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html       
    18 ;       
     17; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
     18;
    1919
    2020; Section containing code
     
    2424; Displays Boot Menu and returns Drive or Function number.
    2525;
    26 ; BootMenu_DisplayAndStoreSelection
     26; BootMenu_DisplayAndReturnDriveInDLRomBootClearCF
    2727;   Parameters:
    2828;       DS:     RAMVARS segment
     
    4141
    4242    xchg    cx, ax
    43        
     43
    4444    ; Clear Boot Menu from screen
    4545    mov     ax, ' ' | (MONO_NORMAL<<8)
     
    5252;   Parameters:
    5353;       CX:     Index of menuitem selected from Boot Menu
     54;       DS:     RAMVARS segment
    5455;   Returns:
    5556;       DX:     Drive number to be used for booting
    56 ;       DS:     RAMVARS segment
    5757;       CF:     Set: There is a selected menu item, DL is valid
    5858;               Clear: The item selected is Rom Boot, DL is not valid
    5959;   Corrupts registers:
    60 ;       AX, BX, DI
     60;       AX, BX
    6161;
    6262; NOTE: We can't use the menu structure in here, as we are falling through
    63 ; through from BootMenu_DisplayAndReturnDriveInDLRomBootClearCF when the
     63; from BootMenu_DisplayAndReturnDriveInDLRomBootClearCF when the
    6464; menu structure has already been destroyed.
    6565;--------------------------------------------------------------------
     
    7373    sub     dl, al                          ; Remove floppy drives from index
    7474    call    RamVars_GetHardDiskCountFromBDAtoAX
    75     or      al, 80h                         ; Or 80h into AL before the sub             
     75    or      al, 80h                         ; Or 80h into AL before the sub
    7676    cmp     dl, al                          ; Set CF if hard disk
    7777                                            ; Clear CF if last item, beyond hard disk list, which indicates ROM boot
Note: See TracChangeset for help on using the changeset viewer.