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

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: \ 
        !            25: \ $FreeBSD: src/sys/boot/forth/brand.4th,v 1.1 2011/05/28 08:50:38 julian Exp $
        !            26: \
        !            27: \ $Id: brand.4th,v 1.1.2.1 2011/07/25 13:02:21 misho Exp $
        !            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>