1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
\ 7.4.10 Banner
defer builtin-logo
defer builtin-banner
0 value suppress-banner?
:noname
0 0
; to builtin-logo
:noname
builddate s" built on " version s" Welcome to OpenBIOS v" pocket
tmpstrcat tmpstrcat tmpstrcat drop
; to builtin-banner
: suppress-banner ( -- )
1 to suppress-banner?
;
: banner ( -- )
suppress-banner
stdout @ ?dup 0= if exit then
\ draw logo if stdout is a "display" node
dup ihandle>phandle " device_type" rot get-package-property if 0 0 then
" display" strcmp if
drop
else
\ draw logo ( ihandle )
dup ihandle>phandle " draw-logo" rot find-method if
( ihandle xt )
swap >r >r
0 \ line #
oem-logo? if oem-logo else builtin-logo then
( 0 addr logo-len )
200 = if
d# 64 d# 64
r> r> call-package
else
r> r> 2drop 2drop
then
else
drop
then
then
oem-banner? if oem-banner else builtin-banner then
type cr
;
|