source: trunk/bootcode/bldlevel.inc@ 182

Last change on this file since 182 was 182, checked in by Ben Rietbroek, 8 years ago

Get Vendor and BuildMachine from the environment [v1.1.1-testing]

If 'BLDLVL_VENDOR' and BLDLVL_MCHINE' are not in the environment,
their values will be set to '*UNKNOWN*'. Currently these *must* be
environment variables, passing them on the (w)make cli might not work.
Also, no spaces are allowed in the values.

CAUTION:
This is a testbuild !
AirBoot uses the BIOS to access disks and a small coding error can trash
partition tables or other vital disk structures. You are advised to make
backups of TRACK0 and EBRs before using this testbuild. More info at:
https://rousseaux.github.io/netlabs.air-boot/pdf/AirBoot-v1.1.0-manual.pdf

File size: 4.7 KB
Line 
1;
2; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz
3;
4; This file is part of AiR-BOOT
5;
6; AiR-BOOT is free software: you can redistribute it and/or modify it under
7; the terms of the GNU General Public License as published by the Free
8; Software Foundation, either version 3 of the License, or (at your option)
9; any later version.
10;
11; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
12; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
13; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14; details.
15;
16; You should have received a copy of the GNU General Public License along with
17; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
18;
19
20
21
22
23;
24; OS/2 BLDLEVEL Information.
25;
26
27
28;
29; The version values in here are derived from the AiR-BOOT versions
30; as defined in VERSION.INC.
31;
32
33;
34; For some reason JWasm and Tasm don't accept 'EN' for instance, but need
35; it to be split-up. While 'iEN' does work. So all the strings that were not
36; accepted are split-up.
37;
38; Changed langid to be just one letter in build-level, conforming to the
39; AiR-BOOT signature.
40;
41
42; Vendor supplying this build -- make BLDLVL_VENDOR=YourInitials
43IFNDEF BLDLVL_VENDOR
44BLDLVL_VENDOR EQU '*UNKNOWN*'
45ENDIF
46
47; Build machine -- make BLDLVL_MACHINE=YourMachine
48IFNDEF BLDLVL_MACHINE
49BLDLVL_MACHINE EQU '*UNKNOWN*' ; 16 chars max.
50ENDIF
51
52; Version
53BLDLVL_MAJOR_VERSION EQU AB_MAJOR_VERSION + '0'
54BLDLVL_MIDDLE_VERSION EQU AB_MIDDLE_VERSION + '0'
55BLDLVL_MINOR_VERSION EQU AB_MINOR_VERSION + '0'
56; Build date
57BLDLVL_YEAR EQU (AB_YEAR SHR 12 AND 0Fh)+'0',(AB_YEAR SHR 8 AND 0Fh)+'0',(AB_YEAR SHR 4 AND 0Fh)+'0',(AB_YEAR AND 0Fh)+'0'
58BLDLVL_MONTH EQU (AB_MONTH SHR 4)+'0',(AB_MONTH AND 0Fh)+'0'
59BLDLVL_DAY EQU (AB_DAY SHR 4)+'0',(AB_DAY AND 0Fh)+'0'
60; Build time
61BLDLVL_HOURS EQU (AB_HOURS SHR 4)+'0',(AB_HOURS AND 0Fh)+'0'
62BLDLVL_MINUTES EQU (AB_MINUTES SHR 4)+'0',(AB_MINUTES AND 0Fh)+'0'
63BLDLVL_SECONDS EQU (AB_SECONDS SHR 4)+'0',(AB_SECONDS AND 0Fh)+'0'
64
65; Build language
66IFDEF WASM
67 ; Wasm can only process the reference to 'lang' in pass 2 because it comes
68 ; from an included file which it has not processed yet at pass 1.
69 IF2
70 BLDLVL_LANGUAGE EQU TXT_LanguageID
71 ENDIF
72; The other assemblers process 'lang' correctly in pass 1.
73ELSE
74 BLDLVL_LANGUAGE EQU TXT_LanguageID
75ENDIF
76; Description
77BLDLVL_DESCRIPTION EQU 'AiR-BOOT Boot Manager'
78
79
80
81;~ bliep struct
82 ;~ db '@#'
83 ;~ db BLDLVL_VENDOR
84 ;~ db ':'
85 ;~ db BLDLVL_MAJOR_VERSION
86 ;~ db '.'
87 ;~ db BLDLVL_MIDDLE_VERSION
88 ;~ db '.'
89 ;~ db BLDLVL_MINOR_VERSION
90 ;~ db '#@##1## '
91;~ bld_level_date_start db BLDLVL_YEAR
92 ;~ db '/'
93 ;~ db BLDLVL_MONTH
94 ;~ db '/'
95 ;~ db BLDLVL_DAY
96 ;~ db ' '
97 ;~ db BLDLVL_HOURS
98 ;~ db ':'
99 ;~ db BLDLVL_MINUTES
100 ;~ db ':'
101 ;~ db BLDLVL_SECONDS
102;~ bld_level_date_end db ' '
103 ;~ db BLDLVL_MACHINE
104 ;~ db '::'
105 ;~ ; Wasm can only process the reference to 'lang' in pass 2 because it
106 ;~ ;comes from an included file which it has not processed yet at pass 1.
107 ;~ IFDEF WASM
108 ;~ IF2
109 ;~ db BLDLVL_LANGUAGE
110 ;~ ENDIF
111 ;~ ; The other assemblers process 'lang' correctly in pass 1.
112 ;~ ELSE
113 ;~ db BLDLVL_LANGUAGE
114 ;~ ENDIF
115 ;~ db '::'
116 ;~ db BLDLVL_MINOR_VERSION
117 ;~ db '::@@'
118 ;~ db BLDLVL_DESCRIPTION
119 ;~ db 0
120;~ bliep ends
121
122
123;
124; This macro inserts the BLDLEVEL string at the place where it is invoked.
125;
126InsertBuildLevel MACRO
127 db '@#'
128 db BLDLVL_VENDOR
129 db ':'
130 db BLDLVL_MAJOR_VERSION
131 db '.'
132 db BLDLVL_MIDDLE_VERSION
133 db '.'
134 db BLDLVL_MINOR_VERSION
135 db '#@##1## '
136bld_level_date_start:
137 db BLDLVL_YEAR
138 db '/'
139 db BLDLVL_MONTH
140 db '/'
141 db BLDLVL_DAY
142 db ' '
143 db BLDLVL_HOURS
144 db ':'
145 db BLDLVL_MINUTES
146 db ':'
147 db BLDLVL_SECONDS
148bld_level_date_end:
149 db ' '
150 db BLDLVL_MACHINE
151 db '::'
152 ; Wasm can only process the reference to 'lang' in pass 2 because it comes
153 ; from an included file which it has not processed yet at pass 1.
154 IFDEF WASM
155 IF2
156 db BLDLVL_LANGUAGE
157 ENDIF
158 ; The other assemblers process 'lang' correctly in pass 1.
159 ELSE
160 db BLDLVL_LANGUAGE
161 ENDIF
162 db '::'
163 db BLDLVL_MINOR_VERSION
164 db '::@@'
165 db BLDLVL_DESCRIPTION
166 db 0
167ENDM
168
Note: See TracBrowser for help on using the repository browser.