Deleted Added
full compact
version.4th (256281) version.4th (281843)
1\ Copyright (c) 2006-2013 Devin Teske <dteske@FreeBSD.org>
1\ Copyright (c) 2006-2015 Devin Teske <dteske@FreeBSD.org>
2\ All rights reserved.
3\
4\ Redistribution and use in source and binary forms, with or without
5\ modification, are permitted provided that the following conditions
6\ are met:
7\ 1. Redistributions of source code must retain the above copyright
8\ notice, this list of conditions and the following disclaimer.
9\ 2. Redistributions in binary form must reproduce the above copyright

--- 7 unchanged lines hidden (view full) ---

17\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23\ SUCH DAMAGE.
24\
2\ All rights reserved.
3\
4\ Redistribution and use in source and binary forms, with or without
5\ modification, are permitted provided that the following conditions
6\ are met:
7\ 1. Redistributions of source code must retain the above copyright
8\ notice, this list of conditions and the following disclaimer.
9\ 2. Redistributions in binary form must reproduce the above copyright

--- 7 unchanged lines hidden (view full) ---

17\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23\ SUCH DAMAGE.
24\
25\ $FreeBSD: stable/10/sys/boot/forth/version.4th 254952 2013-08-27 06:09:28Z dteske $
25\ $FreeBSD: stable/10/sys/boot/forth/version.4th 281843 2015-04-22 01:08:40Z dteske $
26
27marker task-version.4th
28
26
27marker task-version.4th
28
29vocabulary version-processing
30only forth also version-processing definitions
31
29variable versionX
30variable versionY
31
32\ Default $loader_version value if not overridden or using tribute screen
33: str_loader_version ( -- C-ADDR/U|-1 ) -1 ;
34
35\ Initialize text placement to defaults
3680 versionX ! \ NOTE: this is the ending column (text is right-justified)
3724 versionY !
38
32variable versionX
33variable versionY
34
35\ Default $loader_version value if not overridden or using tribute screen
36: str_loader_version ( -- C-ADDR/U|-1 ) -1 ;
37
38\ Initialize text placement to defaults
3980 versionX ! \ NOTE: this is the ending column (text is right-justified)
4024 versionY !
41
42only forth definitions also version-processing
43
39: print_version ( -- )
40
41 \ Get the text placement position (if set)
42 s" loader_version_x" getenv dup -1 <> if
43 ?number drop versionX ! -1
44 then drop
45 s" loader_version_y" getenv dup -1 <> if
46 ?number drop versionY ! -1
47 then drop
48
49 \ Default version if none was set
50 s" loader_version" getenv dup -1 = if
51 drop
44: print_version ( -- )
45
46 \ Get the text placement position (if set)
47 s" loader_version_x" getenv dup -1 <> if
48 ?number drop versionX ! -1
49 then drop
50 s" loader_version_y" getenv dup -1 <> if
51 ?number drop versionY ! -1
52 then drop
53
54 \ Default version if none was set
55 s" loader_version" getenv dup -1 = if
56 drop
52 \ Default version if no logo is requested
57 \ Use above default if no logo is requested
53 s" loader_logo" getenv dup -1 = if
54 drop str_loader_version
55 else
58 s" loader_logo" getenv dup -1 = if
59 drop str_loader_version
60 else
61 \ For tributes, do nothing (defer to logo-*.4th)
56 2dup s" tribute" compare-insensitive 0= if
57 2drop
62 2dup s" tribute" compare-insensitive 0= if
63 2drop
58 s" tribute-logo" sfind if
59 drop exit \ see beastie tribute-text
64 s" logo" sfind if
65 drop exit \ see logo-tribute.4th
60 else
61 drop str_loader_version
62 then
63 else 2dup s" tributebw" compare-insensitive 0= if
64 2drop
66 else
67 drop str_loader_version
68 then
69 else 2dup s" tributebw" compare-insensitive 0= if
70 2drop
65 s" tributebw-logo" sfind if
66 drop exit \ see beastie tribute-text
71 s" logo" sfind if
72 drop exit \ see logo-tributebw.4th
67 else
68 drop str_loader_version
69 then
70 else
71 2drop str_loader_version
72 then then
73 then
74 then dup -1 = if
75 drop exit \ default version (above) is disabled
76 then
77
78 \ Right justify the text
79 dup versionX @ swap - versionY @ at-xy
80
81 \ Print the version (optionally in cyan)
73 else
74 drop str_loader_version
75 then
76 else
77 2drop str_loader_version
78 then then
79 then
80 then dup -1 = if
81 drop exit \ default version (above) is disabled
82 then
83
84 \ Right justify the text
85 dup versionX @ swap - versionY @ at-xy
86
87 \ Print the version (optionally in cyan)
82 loader_color? if
83 ." " type ." "
84 else
85 type
86 then
88 loader_color? dup ( c-addr/u -- c-addr/u bool bool )
89 if 6 fg then
90 -rot type
91 if me then
92
93 0 25 at-xy
87;
94;
95
96only forth definitions