Annotation of elwix/config/boot/brand.4th, revision 1.5

1.2       misho       1: \ Copyright (c) 2006-2011 Devin Teske <devinteske@hotmail.com>
                      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
                     10: \    notice, this list of conditions and the following disclaimer in the
                     11: \    documentation and/or other materials provided with the distribution.
                     12: \ 
                     13: \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
                     14: \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     15: \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     16: \ ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
                     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: \ 
1.3       misho      25: \ $FreeBSD: src/sys/boot/forth/brand.4th,v 1.4 2012/11/17 01:51:16 svnexp Exp $
1.2       misho      26: \
1.5     ! misho      27: \ $Id: brand.4th,v 1.3.2.1 2013/01/28 10:48:46 misho Exp $
1.2       misho      28: 
                     29: marker task-brand.4th
                     30: 
                     31: variable brandX
                     32: variable brandY
                     33: 
                     34: \ Initialize logo placement
                     35: 2 brandX !
                     36: 1 brandY !
                     37: 
                     38: : elwix-logo ( x y -- ) \ "ElwiX" [wide] logo in B/W (7 rows x 42 columns)
                     39: 
                     40:        2dup at-xy ."                                           " 1+
                     41:        2dup at-xy ." '||''''|  '||               ||  '||' '|'  " 1+
                     42:        2dup at-xy ."  ||  .     ||  ... ... ... ...    || |    " 1+
                     43:        2dup at-xy ."  ||''|     ||   ||  ||  |   ||     ||     " 1+
                     44:        2dup at-xy ."  ||        ||    ||| |||    ||    | ||    " 1+
                     45:        2dup at-xy ." .||.....| .||.    |   |    .||. .|   ||.  " 1+
                     46:             at-xy ."                                           "
                     47: 
                     48:        \ Put the cursor back at the bottom
                     49:        0 25 at-xy
                     50: ;
                     51: 
                     52: : fbsd-logo ( x y -- ) \ "FreeBSD" [wide] logo in B/W (7 rows x 42 columns)
                     53: 
                     54:        2dup at-xy ."  ______               ____   _____ _____  " 1+
                     55:        2dup at-xy ." |  ____|             |  _ \ / ____|  __ \ " 1+
                     56:        2dup at-xy ." | |___ _ __ ___  ___ | |_) | (___ | |  | |" 1+
                     57:        2dup at-xy ." |  ___| '__/ _ \/ _ \|  _ < \___ \| |  | |" 1+
                     58:        2dup at-xy ." | |   | | |  __/  __/| |_) |____) | |__| |" 1+
                     59:        2dup at-xy ." | |   | | |    |    ||     |      |      |" 1+
                     60:             at-xy ." |_|   |_|  \___|\___||____/|_____/|_____/ "
                     61: 
                     62:        \ Put the cursor back at the bottom
                     63:        0 25 at-xy
                     64: ;
                     65: 
                     66: \ This function draws any number of company logos at (loader_brand_x,
                     67: \ loader_brand_y) if defined, or (2,1) (top-left) if not defined. To choose
                     68: \ your logo, set the variable `loader_brand' to the respective logo name.
                     69: \ 
                     70: \ Currently available:
                     71: \
                     72: \      NAME        DESCRIPTION
                     73: \      fbsd        FreeBSD logo
                     74: \      elwix       ELWIX logo
                     75: \ 
                     76: \ NOTE: Setting `loader_brand' to an undefined value (such as "none") will
                     77: \       prevent any brand from being drawn.
                     78: \ 
                     79: : draw-brand ( -- )
                     80: 
                     81:        s" loader_brand_x" getenv dup -1 <> if
                     82:                ?number 1 = if
                     83:                        brandX !
                     84:                then
                     85:        else
                     86:                drop
                     87:        then
                     88: 
                     89:        s" loader_brand_y" getenv dup -1 <> if
                     90:                ?number 1 = if
                     91:                        brandY !
                     92:                then
                     93:        else
                     94:                drop
                     95:        then
                     96: 
                     97:        s" loader_brand" getenv dup -1 = if
                     98:                brandX @ brandY @ elwix-logo
                     99:                drop exit
                    100:        then
                    101: 
                    102:        2dup s" fbsd" compare-insensitive 0= if
                    103:                brandX @ brandY @ fbsd-logo
                    104:                2drop exit
                    105:        then
                    106:        2dup s" elwix" compare-insensitive 0= if
                    107:                brandX @ brandY @ elwix-logo
                    108:                2drop exit
                    109:        then
                    110: 
                    111:        2drop
                    112: ;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>