source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm @ 95

Last change on this file since 95 was 95, checked in by aitotat, 13 years ago

Changes to XTIDE Universal BIOS:

  • Smaller boot sector loading string.
  • Cleaned boot code a bit.
File size: 1.8 KB
RevLine 
[88]1; Project name  :   XTIDE Universal BIOS
[3]2; Description   :   Functions for printing boot related strings.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; BootPrint_TryToBootFromDL
9;   Parameters:
10;       DL:     Drive to boot from (translated, 00h or 80h)
11;       DS:     RAMVARS segment
12;   Returns:
13;       Nothing
14;   Corrupts registers:
[88]15;       AX, SI
[3]16;--------------------------------------------------------------------
17ALIGN JUMP_ALIGN
18BootPrint_TryToBootFromDL:
[88]19    push    bp
20    mov     bp, sp
[3]21
[95]22    mov     ax, g_szHDD
[88]23    test    dl, 80h
[95]24    eCMOVZ  ax, g_szFDD
25    push    ax
[88]26
[3]27    call    DriveXlate_ToOrBack
28    push    dx                  ; Push untranslated drive number
[88]29    call    DriveXlate_ToOrBack
30    push    dx                  ; Push translated drive number
[3]31
32    mov     si, g_szTryToBoot
[88]33    jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
[3]34
35
36;--------------------------------------------------------------------
[95]37; BootPrint_BootSectorResultStringFromBX
[3]38;   Parameters:
[95]39;       CS:BX:  Ptr to "found" or "not found"
[3]40;   Returns:
41;       Nothing
42;   Corrupts registers:
[88]43;       AX, SI
[3]44;--------------------------------------------------------------------
45ALIGN JUMP_ALIGN
[95]46BootPrint_BootSectorResultStringFromBX:
[88]47    push    bp
48    mov     bp, sp
49    ePUSH_T ax, g_szBootSector
[95]50    push    bx          ; "found" or "not found"
[3]51    mov     si, g_szSectRead
[88]52    jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
[3]53
54
55;--------------------------------------------------------------------
56; BootPrint_FailedToLoadFirstSector
57;   Parameters:
58;       AH:     INT 13h error code
59;   Returns:
60;       Nothing
61;   Corrupts registers:
[95]62;       AX, BX, SI
[3]63;--------------------------------------------------------------------
64ALIGN JUMP_ALIGN
65BootPrint_FailedToLoadFirstSector:
[88]66    push    bp
67    mov     bp, sp
[95]68    eMOVZX  bx, ah
69    push    bx                  ; Push INT 13h error code
[3]70    mov     si, g_szReadError
[88]71    jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
Note: See TracBrowser for help on using the repository browser.