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

Last change on this file since 320 was 241, checked in by gregli@…, 13 years ago

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 size: 1.4 KB
Line 
1; Project name : XTIDE Universal BIOS
2; Description : Functions for printing boot related strings.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; BootPrint_FailedToLoadFirstSector
9; Parameters:
10; AH: INT 13h error code
11; Returns:
12; Nothing
13; Corrupts registers:
14; AX, CX, SI, DI
15;--------------------------------------------------------------------
16ALIGN JUMP_ALIGN
17BootPrint_FailedToLoadFirstSector:
18 push bp
19 mov bp, sp
20 eMOVZX cx, ah
21 push cx ; Push INT 13h error code
22 mov si, g_szReadError
23
24 jmp short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
25
26
27;--------------------------------------------------------------------
28; BootPrint_TryToBootFromDL
29; Parameters:
30; DL: Drive to boot from (translated, 00h or 80h)
31; DS: RAMVARS segment
32; Returns:
33; Nothing
34; Corrupts registers:
35; AX, SI, DI
36;--------------------------------------------------------------------
37ALIGN JUMP_ALIGN
38BootPrint_TryToBootFromDL:
39 push bp
40 mov bp, sp
41
42 mov ax, g_szHDD
43 test dl, dl
44 js SHORT .NotFDD
45 mov ax, g_szFDD
46.NotFDD:
47 push ax
48
49 call DriveXlate_ToOrBack
50 push dx ; Push untranslated drive number
51 call DriveXlate_ToOrBack
52 push dx ; Push translated drive number
53
54 mov si, g_szTryToBoot
55 jmp short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
56
57
58
Note: See TracBrowser for help on using the repository browser.