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

Last change on this file since 15 was 3, checked in by Tomi Tilli, 15 years ago
File size: 2.6 KB
RevLine 
[3]1; File name : DetectPrint.asm
2; Project name : IDE BIOS
3; Created date : 28.3.2010
4; Last update : 9.4.2010
5; Author : Tomi Tilli
6; Description : Functions for printing drive detection strings.
7
8; Section containing code
9SECTION .text
10
11;--------------------------------------------------------------------
12; Prints BIOS name and segment address where it is found.
13;
14; DetectPrint_RomFoundAtSegment
15; Parameters:
16; Nothing
17; Returns:
18; Nothing
19; Corrupts registers:
20; AX, CX, DX, SI
21;--------------------------------------------------------------------
22ALIGN JUMP_ALIGN
23DetectPrint_RomFoundAtSegment:
24 push cs
25 ePUSH_T ax, ROMVARS.szTitle
26 mov si, g_szRomAt
27 mov dh, 4 ; 4 bytes pushed to stack
28 jmp PrintString_JumpToFormat
29
30
31;--------------------------------------------------------------------
32; Displays IDE drive detection string for specific device.
33;
34; DetectPrint_StartingMasterDetect
35; DetectPrint_StartingSlaveDetect
36; Parameters:
37; CS:BP: Ptr to IDEVARS
38; Returns:
39; Nothing
40; Corrupts registers:
41; AX, CX, DX, SI
42;--------------------------------------------------------------------
43ALIGN JUMP_ALIGN
44DetectPrint_StartingMasterDetect:
45 mov ax, g_szMaster
46 jmp SHORT DetectPrint_StartingDriveDetect
47ALIGN JUMP_ALIGN
48DetectPrint_StartingSlaveDetect:
49 mov ax, g_szSlave
50 ; Fall to DetectPrint_StartingDriveDetect
51
52;--------------------------------------------------------------------
53; Displays IDE drive detection string.
54;
55; DetectPrint_StartingDriveDetect
56; Parameters:
57; AX: Offset to "Master" or "Slave" string
58; CS:BP: Ptr to IDEVARS
59; Returns:
60; Nothing
61; Corrupts registers:
62; AX, CX, DX, SI
63;--------------------------------------------------------------------
64ALIGN JUMP_ALIGN
65DetectPrint_StartingDriveDetect:
66 push WORD [cs:bp+IDEVARS.wPort]
67 push ax
68 mov si, g_szDetect
69 mov dh, 4 ; 4 bytes pushed to stack
70 jmp PrintString_JumpToFormat
71
72
73;--------------------------------------------------------------------
74; Displays Detected Drive Name from BOOTVARS or
75; drive not found string if no drive was found.
76;
77; DetectPrint_DriveNameOrNotFound
78; Parameters:
79; ES:BX: Ptr to BOOTNFO (if drive found)
80; CF: Cleared if drive found
81; Set it drive not found
82; Returns:
83; Nothing
84; Corrupts registers:
85; AX, DX, SI
86;--------------------------------------------------------------------
87ALIGN JUMP_ALIGN
88DetectPrint_DriveNameOrNotFound:
89 jc SHORT .PrintDriveNotFound
90 lea si, [bx+BOOTNFO.szDrvName]
91 call PrintString_FromES
92 jmp Print_Newline
93ALIGN JUMP_ALIGN
94.PrintDriveNotFound:
95 mov si, g_szNotFound
96 jmp PrintString_FromCS
Note: See TracBrowser for help on using the repository browser.