From 3c2aaddaa4de88cb04455f3f69adaa63e746591d Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 7 Feb 2016 18:59:08 +0100 Subject: [PATCH] boot: improve branding by adding a shiny logo and version info Logo kindly supplied by the Schellevis brothers @jschellevis and @adschellevis, technicolor version follows... :) Some previous changes have been rolled back to avoid touching upstream code. --- sys/boot/forth/Makefile.inc | 3 ++ sys/boot/forth/beastie.4th | 4 +-- sys/boot/forth/brand-fbsd.4th | 18 +++++----- sys/boot/forth/brand-opnsense.4th | 46 +++++++++++++++++++++++++ sys/boot/forth/brand.4th | 2 +- sys/boot/forth/logo-orb.4th | 26 +++++++------- sys/boot/forth/logo-orbbw.4th | 2 +- sys/boot/forth/logo-portal.4th | 56 +++++++++++++++++++++++++++++++ sys/boot/forth/logo-portalbw.4th | 55 ++++++++++++++++++++++++++++++ 9 files changed, 186 insertions(+), 26 deletions(-) create mode 100644 sys/boot/forth/brand-opnsense.4th create mode 100644 sys/boot/forth/logo-portal.4th create mode 100644 sys/boot/forth/logo-portalbw.4th diff --git a/sys/boot/forth/Makefile.inc b/sys/boot/forth/Makefile.inc index 97ab433a1b2..932d63bbfed 100644 --- a/sys/boot/forth/Makefile.inc +++ b/sys/boot/forth/Makefile.inc @@ -3,6 +3,7 @@ FILES+= beastie.4th FILES+= brand.4th FILES+= brand-fbsd.4th +FILES+= brand-opnsense.4th FILES+= check-password.4th FILES+= color.4th FILES+= delay.4th @@ -15,6 +16,8 @@ FILES+= logo-beastiebw.4th FILES+= logo-fbsdbw.4th FILES+= logo-orb.4th FILES+= logo-orbbw.4th +FILES+= logo-portal.4th +FILES+= logo-portalbw.4th FILES+= menu.4th FILES+= menu-commands.4th FILES+= menusets.4th diff --git a/sys/boot/forth/beastie.4th b/sys/boot/forth/beastie.4th index 9ede592528a..cc38eecee87 100644 --- a/sys/boot/forth/beastie.4th +++ b/sys/boot/forth/beastie.4th @@ -64,9 +64,9 @@ variable logoY s" loader_logo" getenv dup -1 = over 0= or if dup 0= if 2drop else drop then \ getenv result unused loader_color? if - s" try-include /boot/logo-orb.4th" + s" try-include /boot/logo-portal.4th" else - s" try-include /boot/logo-orbbw.4th" + s" try-include /boot/logo-portalbw.4th" then else 2drop ( c-addr/u -- ) \ getenv result unused diff --git a/sys/boot/forth/brand-fbsd.4th b/sys/boot/forth/brand-fbsd.4th index 8d942b30680..9cd017f84a3 100644 --- a/sys/boot/forth/brand-fbsd.4th +++ b/sys/boot/forth/brand-fbsd.4th @@ -1,5 +1,4 @@ \ Copyright (c) 2006-2015 Devin Teske -\ Copyright (c) 2016 Tobias Boertitz \ All rights reserved. \ \ Redistribution and use in source and binary forms, with or without @@ -25,7 +24,7 @@ \ \ $FreeBSD$ -17 brandX ! 1 brandY ! \ Initialize brand placement defaults +2 brandX ! 1 brandY ! \ Initialize brand placement defaults : brand+ ( x y c-addr/u -- x y' ) 2swap 2dup at-xy 2swap \ position the cursor @@ -33,14 +32,15 @@ 1+ \ increase y for next time we're called ; -: brand ( x y -- ) \ "OPNsense" [wide] logo in B/W (6 rows x 47 columns) +: brand ( x y -- ) \ "FreeBSD" [wide] logo in B/W (7 rows x 42 columns) - s" ______ _____ _____ " brand+ - s" / __ |/ ___ |/ __ | " brand+ - s" | | | | |__/ | | | |___ ___ _ __ ___ ___ " brand+ - s" | | | | ___/| | | / __|/ _ \ '_ \/ __|/ _ \" brand+ - s" | |__| | | | | | \__ \ __/ | | \__ \ __/" brand+ - s" |_____/|_| |_| /__|___/\___|_| |_|___/\___|" brand+ + s" ______ ____ _____ _____ " brand+ + s" | ____| | _ \ / ____| __ \ " brand+ + s" | |___ _ __ ___ ___ | |_) | (___ | | | |" brand+ + s" | ___| '__/ _ \/ _ \| _ < \___ \| | | |" brand+ + s" | | | | | __/ __/| |_) |____) | |__| |" brand+ + s" | | | | | | || | | |" brand+ + s" |_| |_| \___|\___||____/|_____/|_____/ " brand+ 2drop ; diff --git a/sys/boot/forth/brand-opnsense.4th b/sys/boot/forth/brand-opnsense.4th new file mode 100644 index 00000000000..1644d7e8779 --- /dev/null +++ b/sys/boot/forth/brand-opnsense.4th @@ -0,0 +1,46 @@ +\ Copyright (c) 2006-2015 Devin Teske +\ Copyright (c) 2016 Tobias Boertitz +\ All rights reserved. +\ +\ Redistribution and use in source and binary forms, with or without +\ modification, are permitted provided that the following conditions +\ are met: +\ 1. Redistributions of source code must retain the above copyright +\ notice, this list of conditions and the following disclaimer. +\ 2. Redistributions in binary form must reproduce the above copyright +\ notice, this list of conditions and the following disclaimer in the +\ documentation and/or other materials provided with the distribution. +\ +\ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +\ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +\ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +\ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +\ SUCH DAMAGE. +\ +\ $FreeBSD$ + +17 brandX ! 1 brandY ! \ Initialize brand placement defaults + +: brand+ ( x y c-addr/u -- x y' ) + 2swap 2dup at-xy 2swap \ position the cursor + type \ print to the screen + 1+ \ increase y for next time we're called +; + +: brand ( x y -- ) \ "OPNsense" [wide] logo in B/W (6 rows x 47 columns) + + s" ______ _____ _____ " brand+ + s" / __ |/ ___ |/ __ | " brand+ + s" | | | | |__/ | | | |___ ___ _ __ ___ ___ " brand+ + s" | | | | ___/| | | / __|/ _ \ '_ \/ __|/ _ \" brand+ + s" | |__| | | | | | \__ \ __/ | | \__ \ __/" brand+ + s" |_____/|_| |_| /__|___/\___|_| |_|___/\___|" brand+ + + 2drop +; diff --git a/sys/boot/forth/brand.4th b/sys/boot/forth/brand.4th index 39a9bfae753..b956197ad62 100644 --- a/sys/boot/forth/brand.4th +++ b/sys/boot/forth/brand.4th @@ -58,7 +58,7 @@ variable brandY drop ( xt = 0 ) \ cruft s" loader_brand" getenv dup -1 = over 0= or if dup 0= if 2drop else drop then \ getenv result unused - s" try-include /boot/brand-fbsd.4th" + s" try-include /boot/brand-opnsense.4th" else 2drop ( c-addr/u -- ) \ getenv result unused s" try-include /boot/brand-${loader_brand}.4th" diff --git a/sys/boot/forth/logo-orb.4th b/sys/boot/forth/logo-orb.4th index 16361245acd..c2a504d1ddf 100644 --- a/sys/boot/forth/logo-orb.4th +++ b/sys/boot/forth/logo-orb.4th @@ -24,7 +24,7 @@ \ \ $FreeBSD$ -48 logoX ! 8 logoY ! \ Initialize logo placement defaults +46 logoX ! 7 logoY ! \ Initialize logo placement defaults : logo+ ( x y c-addr/u -- x y' ) 2swap 2dup at-xy 2swap \ position the cursor @@ -35,18 +35,18 @@ : logo ( x y -- ) \ color Orb mascot (15 rows x 30 columns) - s" @[30;1m``` @[31;1m`@[30;1m" logo+ - s" s` `.....---...@[31;1m....--.``` -/@[30;1m" logo+ - s" +o .--` @[31;1m/y:` +.@[30;1m" logo+ - s" yo`:. @[31;1m:o `+-@[30;1m" logo+ - s" y/ @[31;1m-/` -o/@[30;1m" logo+ - s" .- @[31;1m::/sy+:.@[30;1m" logo+ - s" / @[31;1m`-- /@[30;1m" logo+ - s" `: @[31;1m:`@[30;1m" logo+ - s" `: @[31;1m:`@[30;1m" logo+ - s" / @[31;1m/@[30;1m" logo+ - s" .- @[31;1m-.@[30;1m" logo+ - s" -- @[31;1m-.@[30;1m" logo+ + s" @[31m``` @[31;1m`@[31m" logo+ + s" s` `.....---...@[31;1m....--.``` -/@[31m" logo+ + s" +o .--` @[31;1m/y:` +.@[31m" logo+ + s" yo`:. @[31;1m:o `+-@[31m" logo+ + s" y/ @[31;1m-/` -o/@[31m" logo+ + s" .- @[31;1m::/sy+:.@[31m" logo+ + s" / @[31;1m`-- /@[31m" logo+ + s" `: @[31;1m:`@[31m" logo+ + s" `: @[31;1m:`@[31m" logo+ + s" / @[31;1m/@[31m" logo+ + s" .- @[31;1m-.@[31m" logo+ + s" -- @[31;1m-.@[31m" logo+ s" `:` @[31;1m`:`" logo+ s" @[31;1m.-- `--." logo+ s" .---.....----.@[m" logo+ diff --git a/sys/boot/forth/logo-orbbw.4th b/sys/boot/forth/logo-orbbw.4th index ecb7e669f0c..11dc11cabb7 100644 --- a/sys/boot/forth/logo-orbbw.4th +++ b/sys/boot/forth/logo-orbbw.4th @@ -24,7 +24,7 @@ \ \ $FreeBSD$ -48 logoX ! 8 logoY ! \ Initialize logo placement defaults +46 logoX ! 7 logoY ! \ Initialize logo placement defaults : logo+ ( x y c-addr/u -- x y' ) 2swap 2dup at-xy 2swap \ position the cursor diff --git a/sys/boot/forth/logo-portal.4th b/sys/boot/forth/logo-portal.4th new file mode 100644 index 00000000000..c809e40f9ed --- /dev/null +++ b/sys/boot/forth/logo-portal.4th @@ -0,0 +1,56 @@ +\ Copyright (c) 2006-2015 Devin Teske +\ Copyright (c) 2016 Deciso B.V. +\ All rights reserved. +\ +\ Redistribution and use in source and binary forms, with or without +\ modification, are permitted provided that the following conditions +\ are met: +\ 1. Redistributions of source code must retain the above copyright +\ notice, this list of conditions and the following disclaimer. +\ 2. Redistributions in binary form must reproduce the above copyright +\ notice, this list of conditions and the following disclaimer in the +\ documentation and/or other materials provided with the distribution. +\ +\ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +\ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +\ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +\ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +\ SUCH DAMAGE. +\ +\ $FreeBSD$ + +48 logoX ! 8 logoY ! \ Initialize logo placement defaults + +: logo+ ( x y c-addr/u -- x y' ) + 2swap 2dup at-xy 2swap \ position the cursor + [char] # escc! \ replace # with Esc + type \ print to the screen + 1+ \ increase y for next time we're called +; + +: logo ( x y -- ) \ color portal logo (15 rows x 30 columns) + + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@ @@@@@" logo+ + s" @@@@@ @@@@@ " logo+ + s" @@@@@@@@@@@ @@@@@@@@@@@" logo+ + s" \\\\\ ///// " logo+ + s" )))))))))))) (((((((((((" logo+ + s" ///// \\\\\ " logo+ + s" @@@@@@@@@@@ @@@@@@@@@@@" logo+ + s" @@@@@ @@@@@ " logo+ + s" @@@@@ @@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@ " logo+ + s" " logo+ + s" 16.1 ``Crafty Coyote'' " logo+ + + 2drop +; diff --git a/sys/boot/forth/logo-portalbw.4th b/sys/boot/forth/logo-portalbw.4th new file mode 100644 index 00000000000..2a4f59a6aad --- /dev/null +++ b/sys/boot/forth/logo-portalbw.4th @@ -0,0 +1,55 @@ +\ Copyright (c) 2006-2015 Devin Teske +\ Copyright (c) 2016 Deciso B.V. +\ All rights reserved. +\ +\ Redistribution and use in source and binary forms, with or without +\ modification, are permitted provided that the following conditions +\ are met: +\ 1. Redistributions of source code must retain the above copyright +\ notice, this list of conditions and the following disclaimer. +\ 2. Redistributions in binary form must reproduce the above copyright +\ notice, this list of conditions and the following disclaimer in the +\ documentation and/or other materials provided with the distribution. +\ +\ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +\ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +\ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +\ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +\ SUCH DAMAGE. +\ +\ $FreeBSD$ + +48 logoX ! 8 logoY ! \ Initialize logo placement defaults + +: logo+ ( x y c-addr/u -- x y' ) + 2swap 2dup at-xy 2swap \ position the cursor + type \ print to the screen + 1+ \ increase y for next time we're called +; + +: logo ( x y -- ) \ B/W portal logo (15 rows x 30 columns) + + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@ @@@@@" logo+ + s" @@@@@ @@@@@ " logo+ + s" @@@@@@@@@@@ @@@@@@@@@@@" logo+ + s" \\\\\ ///// " logo+ + s" )))))))))))) (((((((((((" logo+ + s" ///// \\\\\ " logo+ + s" @@@@@@@@@@@ @@@@@@@@@@@" logo+ + s" @@@@@ @@@@@ " logo+ + s" @@@@@ @@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" logo+ + s" @@@@@@@@@@@@@@@@@@@@@@@@@@@@ " logo+ + s" " logo+ + s" 16.1 ``Crafty Coyote'' " logo+ + + 2drop +;