\ Copyright (c) 2003 Scott Long \ Copyright (c) 2003 Aleksander Fafula \ Copyright (c) 2006-2015 Devin Teske \ 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: head/sys/boot/forth/logo-beastie.4th 281275 2015-04-08 20:10:42Z dteske $ 46 logoX ! 4 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 BSD mascot (19 rows x 34 columns) s" @[31m, ," logo+ s" /( )`" logo+ s" \ \___ / |" logo+ s" /- @[m_@[31m `-/ '" logo+ s" (@[m/\/ \@[31m \ /\" logo+ s" @[m/ / |@[31m ` \" logo+ s" @[34mO O @[m) @[31m/ |" logo+ s" @[m`-^--'@[31m`< '" logo+ s" (_.) _ ) /" logo+ s" `.___/` /" logo+ s" `-----' /" logo+ s" @[33m<----.@[31m __ / __ \" logo+ s" @[33m<----|====@[31mO)))@[33m==@[31m) \) /@[33m====|" logo+ s" @[33m<----'@[31m `--' `.__,' \" logo+ s" | |" logo+ s" \ / /\" logo+ s" @[36m______@[31m( (_ / \______/" logo+ s" @[36m,' ,-----' |" logo+ s" `--{__________)@[m" logo+ 2drop ;