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

Last change on this file since 190 was 189, checked in by gregli@…, 13 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
RevLine 
[88]1; Project name : XTIDE Universal BIOS
[3]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:
[120]16; AX, SI, DI
[3]17;--------------------------------------------------------------------
18DetectPrint_RomFoundAtSegment:
[88]19 push bp
[97]20 mov bp, sp
[3]21 mov si, g_szRomAt
[88]22 ePUSH_T ax, ROMVARS.szTitle ; Bios title string
23 push cs ; BIOS segment
24 jmp BootMenuPrint_FormatCSSIfromParamsInSSBP
[3]25
26
27;--------------------------------------------------------------------
[97]28; DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP
[3]29; Parameters:
[88]30; CS:AX: Ptr to "Master" or "Slave" string
[3]31; CS:BP: Ptr to IDEVARS
[189]32; SI: Ptr to template string
[3]33; Returns:
34; Nothing
35; Corrupts registers:
[120]36; AX, SI, DI
[3]37;--------------------------------------------------------------------
[97]38DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP:
[88]39 push bp
[189]40 mov di, [cs:bp+IDEVARS.wPort]
[88]41 mov bp, sp
42 push ax ; Push "Master" or "Slave"
[189]43 push di ; Push port number
[88]44 jmp BootMenuPrint_FormatCSSIfromParamsInSSBP
[3]45
46
47;--------------------------------------------------------------------
[98]48; DetectPrint_DriveNameFromBootnfoInESBX
[3]49; Parameters:
50; ES:BX: Ptr to BOOTNFO (if drive found)
51; Returns:
52; Nothing
53; Corrupts registers:
[88]54; AX, SI
[3]55;--------------------------------------------------------------------
[98]56DetectPrint_DriveNameFromBootnfoInESBX:
[88]57 push di
58 push bx
59
[3]60 lea si, [bx+BOOTNFO.szDrvName]
[88]61 mov bx, es
62 CALL_DISPLAY_LIBRARY PrintNullTerminatedStringFromBXSI
63 CALL_DISPLAY_LIBRARY PrintNewlineCharacters
64
65 pop bx
66 pop di
67 ret
68
[98]69
70;--------------------------------------------------------------------
71; DetectPrint_DriveNotFound
72; Parameters:
73; Nothing
74; Returns:
75; Nothing
76; Corrupts registers:
77; AX, SI
78;--------------------------------------------------------------------
79DetectPrint_DriveNotFound:
[3]80 mov si, g_szNotFound
[98]81 jmp BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
Note: See TracBrowser for help on using the repository browser.