[46] | 1 | ;
|
---|
[51] | 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 |
|
---|
[65] | 20 | ;
|
---|
| 21 | ; If the EQU below is enabled, the testbuild color-scheme will be used.
|
---|
| 22 | ;
|
---|
| 23 | TESTBUILD EQU
|
---|
[51] | 24 |
|
---|
[65] | 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 |
|
---|
[51] | 54 | ;
|
---|
[46] | 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
|
---|
[55] | 66 | AB_MIDDLE_VERSION EQU 1
|
---|
[63] | 67 | AB_MINOR_VERSION EQU 1
|
---|
[46] | 68 |
|
---|
| 69 | ; The Year, Month and Day in BCD so we can easily extract nibbles.
|
---|
[63] | 70 | AB_YEAR EQU 2016h
|
---|
| 71 | AB_MONTH EQU 10h
|
---|
[64] | 72 | AB_DAY EQU 10h
|
---|
[46] | 73 |
|
---|
| 74 | ; The Hours, Minutes and Seconds, again in BCD for easy manipulation.
|
---|
[63] | 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
|
---|
[46] | 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
|
---|