xref: /freebsd/stand/forth/logo-orb.4th (revision 26a58599a09a6181e0f5abe624021865a0c23186)
1ca987d46SWarner Losh\ Copyright (c) 2006-2015 Devin Teske <dteske@FreeBSD.org>
2ca987d46SWarner Losh\ All rights reserved.
3ca987d46SWarner Losh\
4ca987d46SWarner Losh\ Redistribution and use in source and binary forms, with or without
5ca987d46SWarner Losh\ modification, are permitted provided that the following conditions
6ca987d46SWarner Losh\ are met:
7ca987d46SWarner Losh\ 1. Redistributions of source code must retain the above copyright
8ca987d46SWarner Losh\    notice, this list of conditions and the following disclaimer.
9ca987d46SWarner Losh\ 2. Redistributions in binary form must reproduce the above copyright
10ca987d46SWarner Losh\    notice, this list of conditions and the following disclaimer in the
11ca987d46SWarner Losh\    documentation and/or other materials provided with the distribution.
12ca987d46SWarner Losh\
13ca987d46SWarner Losh\ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14ca987d46SWarner Losh\ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15ca987d46SWarner Losh\ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16ca987d46SWarner Losh\ ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17ca987d46SWarner Losh\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18ca987d46SWarner Losh\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19ca987d46SWarner Losh\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20ca987d46SWarner Losh\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21ca987d46SWarner Losh\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22ca987d46SWarner Losh\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23ca987d46SWarner Losh\ SUCH DAMAGE.
24ca987d46SWarner Losh\
25ca987d46SWarner Losh
26ca987d46SWarner Losh46 logoX ! 7 logoY ! \ Initialize logo placement defaults
27ca987d46SWarner Losh
28ca987d46SWarner Losh: logo+ ( x y c-addr/u -- x y' )
29ca987d46SWarner Losh	2swap 2dup at-xy 2swap \ position the cursor
30ca987d46SWarner Losh	[char] @ escc! \ replace @ with Esc
31ca987d46SWarner Losh	type \ print to the screen
32ca987d46SWarner Losh	1+ \ increase y for next time we're called
33ca987d46SWarner Losh;
34ca987d46SWarner Losh
35ca987d46SWarner Losh: logo ( x y -- ) \ color Orb mascot (15 rows x 30 columns)
36ca987d46SWarner Losh
37*3630506bSToomas Soome	framebuffer? if
38*3630506bSToomas Soome		s" term-putimage" sfind if
39*3630506bSToomas Soome			>r 2dup			( x y x y )
40*3630506bSToomas Soome			>r 0 swap r>		( x y 0 x y )
41*3630506bSToomas Soome			dup 0 swap 15 +		( x y 0 x y 0 y+15 )
42*3630506bSToomas Soome			s" /boot/images/freebsd-logo-rev.png"
43*3630506bSToomas Soome			r> execute if 2drop exit then
44*3630506bSToomas Soome		else
45*3630506bSToomas Soome			drop
46*3630506bSToomas Soome		then
47*3630506bSToomas Soome	then
48*3630506bSToomas Soome
49ca987d46SWarner Losh	s"  @[31m```                        @[31;1m`@[31m" logo+
50ca987d46SWarner Losh	s" s` `.....---...@[31;1m....--.```   -/@[31m"     logo+
51ca987d46SWarner Losh	s" +o   .--`         @[31;1m/y:`      +.@[31m"     logo+
52ca987d46SWarner Losh	s"  yo`:.            @[31;1m:o      `+-@[31m"      logo+
53ca987d46SWarner Losh	s"   y/               @[31;1m-/`   -o/@[31m"       logo+
54ca987d46SWarner Losh	s"  .-                  @[31;1m::/sy+:.@[31m"      logo+
55ca987d46SWarner Losh	s"  /                     @[31;1m`--  /@[31m"      logo+
56ca987d46SWarner Losh	s" `:                          @[31;1m:`@[31m"     logo+
57ca987d46SWarner Losh	s" `:                          @[31;1m:`@[31m"     logo+
58ca987d46SWarner Losh	s"  /                          @[31;1m/@[31m"      logo+
59ca987d46SWarner Losh	s"  .-                        @[31;1m-.@[31m"      logo+
60ca987d46SWarner Losh	s"   --                      @[31;1m-.@[31m"       logo+
61ca987d46SWarner Losh	s"    `:`                  @[31;1m`:`"             logo+
62ca987d46SWarner Losh	s"      @[31;1m.--             `--."               logo+
63ca987d46SWarner Losh	s"         .---.....----.@[m"                      logo+
64ca987d46SWarner Losh
65ca987d46SWarner Losh	2drop
66ca987d46SWarner Losh;
67