source: xtideuniversalbios/trunk/Configurator/Src/FormatTitle.asm @ 2

Last change on this file since 2 was 2, checked in by aitotat, 14 years ago
File size: 3.6 KB
Line 
1; File name     :   FormatTitle.asm
2; Project name  :   XTIDE Univeral BIOS Configurator
3; Created date  :   19.4.2010
4; Last update   :   20.4.2010
5; Author        :   Tomi Tilli
6; Description   :   Functions for printing menu title strings.
7
8; Section containing code
9SECTION .text
10
11;--------------------------------------------------------------------
12; Redraws menu title strings.
13;
14; FormatTitle_RedrawMenuTitle
15;   Parameters:
16;       SS:BP:  Ptr to MENUVARS
17;   Returns:
18;       Nothing
19;   Corrupts registers:
20;       AX, BX, CX, DX
21;--------------------------------------------------------------------
22ALIGN JUMP_ALIGN
23FormatTitle_RedrawMenuTitle:
24    mov     dl, MFL_UPD_TITLE                       ; Invalidate Title strings
25    jmp     Menu_Invalidate
26
27
28;--------------------------------------------------------------------
29; Prints title strings for menu system.
30;
31; FormatTitle_String
32;   Parameters:
33;       SS:BP:  Ptr to MENUVARS
34;   Returns:
35;       Nothing
36;   Corrupts registers:
37;       AX, BX, CX, DX, ES
38;--------------------------------------------------------------------
39ALIGN JUMP_ALIGN
40FormatTitle_String:
41    mov     ax, cs
42    mov     ds, ax
43    mov     es, ax
44    call    FormatTitle_PrintProgramName
45    call    FormatTitle_PrintImageSource
46    jmp     SHORT FormatTitle_PrintUnsavedChanges
47
48
49;--------------------------------------------------------------------
50; Prints program name.
51;
52; FormatTitle_PrintProgramName
53;   Parameters:
54;       SS:BP:  Ptr to MENUVARS
55;       DS=ES:  String segment
56;   Returns:
57;       Nothing
58;   Corrupts registers:
59;       AX, BX, CX, DX
60;--------------------------------------------------------------------
61ALIGN JUMP_ALIGN
62FormatTitle_PrintProgramName:
63    mov     di, g_szTitleProgramName
64    mov     cx, CNT_TITLE_LINES
65    call    MenuDraw_MultilineStr
66    call    MenuDraw_NewlineStr
67    jmp     MenuDraw_NewlineStr
68
69
70;--------------------------------------------------------------------
71; Prints where BIOS image is loaded from.
72;
73; FormatTitle_PrintImageSource
74;   Parameters:
75;       SS:BP:  Ptr to MENUVARS
76;       DS=ES:  String segment
77;   Returns:
78;       Nothing
79;   Corrupts registers:
80;       AX, DX
81;--------------------------------------------------------------------
82ALIGN JUMP_ALIGN
83FormatTitle_PrintImageSource:
84    test    WORD [g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_FILELOADED | FLG_CFGVARS_ROMLOADED
85    jz      SHORT FormatTitle_NothingLoaded
86    mov     dx, g_szImageSource
87    PRINT_STR
88    test    WORD [g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_FILELOADED
89    jnz     SHORT FormatTitle_FileLoaded
90    ; Fall to FormatTitle_RomLoaded
91
92;--------------------------------------------------------------------
93; FormatTitle_RomLoaded
94; FormatTitle_FileLoaded
95; FormatTitle_NothingLoaded
96;   Parameters:
97;       SS:BP:  Ptr to MENUVARS
98;       DS=ES:  String segment
99;   Returns:
100;       Nothing
101;   Corrupts registers:
102;       AX, DX
103;--------------------------------------------------------------------
104;ALIGN JUMP_ALIGN
105FormatTitle_RomLoaded:
106    mov     dx, g_szRomLoaded
107    PRINT_STR
108    ret
109
110ALIGN JUMP_ALIGN
111FormatTitle_FileLoaded:
112    mov     dx, 80h + DTA.szFile    ; DTA starts at DOS PSP:80h
113    PRINT_STR
114    ret
115
116ALIGN JUMP_ALIGN
117FormatTitle_NothingLoaded:
118    mov     dx, g_szNoBiosLoaded
119    PRINT_STR
120    ret
121
122
123;--------------------------------------------------------------------
124; Prints unsaved changes.
125;
126; FormatTitle_PrintUnsavedChanges
127;   Parameters:
128;       SS:BP:  Ptr to MENUVARS
129;       DS=ES:  String segment
130;   Returns:
131;       Nothing
132;   Corrupts registers:
133;       AX, DX
134;--------------------------------------------------------------------
135ALIGN JUMP_ALIGN
136FormatTitle_PrintUnsavedChanges:
137    test    WORD [g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_UNSAVED
138    jz      SHORT .Return
139    mov     dl, '*'
140    PRINT_CHAR
141ALIGN JUMP_ALIGN
142.Return:
143    ret
Note: See TracBrowser for help on using the repository browser.