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 | ; If the EQU below is enabled, the testbuild color-scheme will be used.
|
---|
22 | ;
|
---|
23 | TESTBUILD EQU
|
---|
24 |
|
---|
25 | ; COLORS basic
|
---|
26 | ; 0 = black
|
---|
27 | ; 1 = blue
|
---|
28 | ; 2 = green
|
---|
29 | ; 3 = cyan
|
---|
30 | ; 4 = red
|
---|
31 | ; 5 = magenta
|
---|
32 | ; 6 = brown
|
---|
33 | ; 7 = white
|
---|
34 | ; 8 = grey
|
---|
35 |
|
---|
36 | ; COLORS all (fg)
|
---|
37 | ; 00h black
|
---|
38 | ; 10h blue
|
---|
39 | ; 20h green (also nice)
|
---|
40 | ; 30h cyan (also nice)
|
---|
41 | ; 40h red
|
---|
42 | ; 50h magenta
|
---|
43 | ; 60h brown (nice)
|
---|
44 | ; 70h white
|
---|
45 | ; 80h grey
|
---|
46 | ; 90h light blue (nice)
|
---|
47 | ; a0h bright green
|
---|
48 | ; b0h bright cyan
|
---|
49 | ; c0h bright red
|
---|
50 | ; d0h bright magenta
|
---|
51 | ; e0h bright yellow
|
---|
52 | ; f0h bright white
|
---|
53 |
|
---|
54 | ;
|
---|
55 | ; AiR-BOOT Version Information.
|
---|
56 | ;
|
---|
57 |
|
---|
58 | ;
|
---|
59 | ; First we define the numeric (BCD) AiR-BOOT version information.
|
---|
60 | ; This is used to derive ASCII and other representations.
|
---|
61 | ;
|
---|
62 |
|
---|
63 | ; AiR-BOOT version conform WarpIN format with implicit 0 as fourth number.
|
---|
64 | ; Note that the config-version is managed manually.
|
---|
65 | AB_MAJOR_VERSION EQU 1
|
---|
66 | AB_MIDDLE_VERSION EQU 1
|
---|
67 | AB_MINOR_VERSION EQU 1
|
---|
68 |
|
---|
69 | ; The Year, Month and Day in BCD so we can easily extract nibbles.
|
---|
70 | AB_YEAR EQU 2016h
|
---|
71 | AB_MONTH EQU 10h
|
---|
72 | AB_DAY EQU 10h
|
---|
73 |
|
---|
74 | ; The Hours, Minutes and Seconds, again in BCD for easy manipulation.
|
---|
75 | ;~ AB_HOURS EQU 01h
|
---|
76 | ;~ AB_MINUTES EQU 01h
|
---|
77 | ;~ AB_SECONDS EQU 01h
|
---|
78 | AB_HOURS EQU 99h
|
---|
79 | AB_MINUTES EQU 99h
|
---|
80 | AB_SECONDS EQU 99h
|
---|
81 |
|
---|
82 | ; The AiR-BOOT signature uses big-endian so we shuffle some bits around.
|
---|
83 | AB_SIG_VERSION EQU (((AB_MIDDLE_VERSION SHL 4) OR AB_MINOR_VERSION) SHL 8) OR AB_MAJOR_VERSION
|
---|
84 | AB_SIG_YEAR EQU ((AB_YEAR SHR 8) OR (AB_YEAR SHL 8) AND 0FFFFh)
|
---|
85 | AB_SIG_DATE EQU (AB_MONTH SHL 8) OR AB_DAY
|
---|
86 |
|
---|
87 | ;
|
---|
88 | ; This macro inserts the AiR-BOOT signature at the place where it is invoked.
|
---|
89 | ;
|
---|
90 | InsertAirbootSignature MACRO lang
|
---|
91 | db 'AiRBOOT'
|
---|
92 | dw AB_SIG_DATE
|
---|
93 | dw AB_SIG_YEAR
|
---|
94 | dw AB_SIG_VERSION
|
---|
95 | ; Wasm can only process the reference to 'lang' in pass 2 because it comes
|
---|
96 | ; from an included file which it has not processed yet at pass 1.
|
---|
97 | IFDEF WASM
|
---|
98 | IF2
|
---|
99 | db lang
|
---|
100 | ENDIF
|
---|
101 | ; The other assemblers process 'lang' correctly in pass 1.
|
---|
102 | ELSE
|
---|
103 | db lang
|
---|
104 | ENDIF
|
---|
105 | ENDM
|
---|