summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/forth/admin/banner.fs
blob: 5439fc082471b24531bf007cc5c1d54f4250f09b (plain)
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
;