summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/forth/admin/banner.fs
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/openbios/forth/admin/banner.fs')
-rw-r--r--qemu/roms/openbios/forth/admin/banner.fs49
1 files changed, 49 insertions, 0 deletions
diff --git a/qemu/roms/openbios/forth/admin/banner.fs b/qemu/roms/openbios/forth/admin/banner.fs
new file mode 100644
index 000000000..5439fc082
--- /dev/null
+++ b/qemu/roms/openbios/forth/admin/banner.fs
@@ -0,0 +1,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
+;