source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm @ 189

Last change on this file since 189 was 189, checked in by gregli@…, 12 years ago

Additional space optimizations, including making IdleProcessing an option in MENUEVENT. Note the fall-through from one file to another, but that there are assembler checks to ensure the proper linkage is maintained. First version of StringsCompress.pl, a perl script to make StringsCompressed.asm from Strings.asm.

File size: 2.2 KB
Line 
1; Project name  :   XTIDE Universal BIOS
2; Description   :   Functions for printing drive detection strings.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Prints BIOS name and segment address where it is found.
9;
10; DetectPrint_RomFoundAtSegment
11;   Parameters:
12;       Nothing
13;   Returns:
14;       Nothing
15;   Corrupts registers:
16;       AX, SI, DI
17;--------------------------------------------------------------------
18DetectPrint_RomFoundAtSegment:
19    push    bp
20    mov     bp, sp
21    mov     si, g_szRomAt
22    ePUSH_T ax, ROMVARS.szTitle         ; Bios title string
23    push    cs                          ; BIOS segment
24    jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
25
26
27;--------------------------------------------------------------------
28; DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP
29;   Parameters:
30;       CS:AX:  Ptr to "Master" or "Slave" string
31;       CS:BP:  Ptr to IDEVARS
32;       SI:     Ptr to template string 
33;   Returns:
34;       Nothing
35;   Corrupts registers:
36;       AX, SI, DI
37;--------------------------------------------------------------------
38DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP:
39    push    bp
40    mov     di, [cs:bp+IDEVARS.wPort]
41    mov     bp, sp
42    push    ax                          ; Push "Master" or "Slave"
43    push    di                          ; Push port number
44    jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
45
46
47;--------------------------------------------------------------------
48; DetectPrint_DriveNameFromBootnfoInESBX
49;   Parameters:
50;       ES:BX:  Ptr to BOOTNFO (if drive found)
51;   Returns:
52;       Nothing
53;   Corrupts registers:
54;       AX, SI
55;--------------------------------------------------------------------
56DetectPrint_DriveNameFromBootnfoInESBX:
57    push    di
58    push    bx
59
60    lea     si, [bx+BOOTNFO.szDrvName]
61    mov     bx, es
62    CALL_DISPLAY_LIBRARY PrintNullTerminatedStringFromBXSI
63    CALL_DISPLAY_LIBRARY PrintNewlineCharacters
64
65    pop     bx
66    pop     di
67    ret
68
69
70;--------------------------------------------------------------------
71; DetectPrint_DriveNotFound
72;   Parameters:
73;       Nothing
74;   Returns:
75;       Nothing
76;   Corrupts registers:
77;       AX, SI
78;--------------------------------------------------------------------
79DetectPrint_DriveNotFound:
80    mov     si, g_szNotFound
81    jmp     BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
Note: See TracBrowser for help on using the repository browser.