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

Last change on this file since 368 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
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;--------------------------------------------------------------------
[192]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;--------------------------------------------------------------------
[3]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:
[120]35; AX, SI, DI
[3]36;--------------------------------------------------------------------
37ALIGN JUMP_ALIGN
38BootPrint_TryToBootFromDL:
[88]39 push bp
40 mov bp, sp
[3]41
[95]42 mov ax, g_szHDD
[128]43 test dl, dl
44 js SHORT .NotFDD
45 mov ax, g_szFDD
46.NotFDD:
[95]47 push ax
[88]48
[3]49 call DriveXlate_ToOrBack
50 push dx ; Push untranslated drive number
[88]51 call DriveXlate_ToOrBack
52 push dx ; Push translated drive number
[3]53
54 mov si, g_szTryToBoot
[241]55 jmp short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
[3]56
57
[192]58
Note: See TracBrowser for help on using the repository browser.