File: banner.fs

package info (click to toggle)
openbios-sparc 1.0%2Bsvn640-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 4,412 kB
  • ctags: 12,091
  • sloc: ansic: 57,249; asm: 2,680; xml: 1,335; cpp: 414; makefile: 224; sh: 190
file content (49 lines) | stat: -rw-r--r-- 960 bytes parent folder | download | duplicates (18)
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
;