summaryrefslogtreecommitdiffstats
path: root/release/picobsd
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>1999-06-14 16:36:50 +0000
committerroger <roger@FreeBSD.org>1999-06-14 16:36:50 +0000
commit1d10595f4f175e7891a2ac8e53d6962a14c9259d (patch)
tree13153517e1b3c9ed436fa2034a3a2440a32a0b05 /release/picobsd
parent8aaed59fddf4ff59075dea6d01940fa70e4bced6 (diff)
downloadFreeBSD-src-1d10595f4f175e7891a2ac8e53d6962a14c9259d.zip
FreeBSD-src-1d10595f4f175e7891a2ac8e53d6962a14c9259d.tar.gz
Update to PicoBSD 0.44 (from RELENG_3)
Diffstat (limited to 'release/picobsd')
-rw-r--r--release/picobsd/forth/loader.rc20
-rw-r--r--release/picobsd/forth/menu.4th99
2 files changed, 119 insertions, 0 deletions
diff --git a/release/picobsd/forth/loader.rc b/release/picobsd/forth/loader.rc
new file mode 100644
index 0000000..735cde2
--- /dev/null
+++ b/release/picobsd/forth/loader.rc
@@ -0,0 +1,20 @@
+\ Simple loader.rc for picobsd floppies
+\ $Id: loader.rc,v 1.1.2.1 1999/05/07 10:02:53 abial Exp $
+
+include /boot/loader.4th
+
+only forth definitions also support-functions
+
+s" /boot/defaults/loader.conf" initialize
+include_conf_files
+\ For now always display menu. You can remove this if you want.
+.( Loading screen routines...)
+include /boot/screen.4th
+.( Done) cr
+.( Loading frame routines...)
+include /boot/frames.4th
+.( Done) cr
+.( Loading menu...)
+include /boot/menu.4th
+.( Done) cr
+main_menu
diff --git a/release/picobsd/forth/menu.4th b/release/picobsd/forth/menu.4th
new file mode 100644
index 0000000..e5a5e7b
--- /dev/null
+++ b/release/picobsd/forth/menu.4th
@@ -0,0 +1,99 @@
+\ Simple greeting screen, presenting basic options.
+\ XXX This is far too trivial - I don't have time now to think
+\ XXX about something more fancy... :-/
+\ $Id: menu.4th,v 1.1.2.1 1999/05/07 10:02:55 abial Exp $
+
+: title
+ f_single
+ 60 11 10 4 box
+ 31 4 at-xy 15 fg 7 bg
+ ." Welcome to PicoBSD!"
+ me
+;
+
+: menu
+ 2 fg
+ 20 7 at-xy
+ ." 1. Start PicoBSD."
+ 20 8 at-xy
+ ." 2. Interact with BootFORTH."
+ 20 9 at-xy
+ ." 3. Reboot."
+ me
+;
+
+: tkey ( d -- flag | char )
+ seconds +
+ begin 1 while
+ dup seconds u< if
+ drop
+ -1
+ exit
+ then
+ key? if
+ drop
+ key
+ exit
+ then
+ repeat
+;
+
+: prompt
+ 14 fg
+ 20 11 at-xy
+ ." Enter your option (1,2,3): "
+ 10 tkey
+ dup 32 = if
+ drop key
+ then
+ dup 0< if
+ drop 49
+ then
+ dup emit
+ me
+;
+
+: help_text
+ 10 18 at-xy ." * Choose 1 if you just want to run PicoBSD."
+ 10 19 at-xy ." * Choose 2 if you want to use bootloader facilities."
+ 12 20 at-xy ." See '?' for available commands, and 'words' for"
+ 12 21 at-xy ." complete list of Forth words."
+ 10 22 at-xy ." * Choose 3 in order to warm boot your machine."
+;
+
+: (boot) 0 boot ;
+: (reboot) 0 reboot ;
+
+: main_menu
+ begin 1 while
+ clear
+ f_double
+ 79 23 1 1 box
+ title
+ menu
+ help_text
+ prompt
+ cr cr cr
+ dup 49 = if
+ clear
+ ." Starting PicoBSD. Please wait..." cr
+ start
+ exit
+ then
+ dup 50 = if
+ drop
+ 1 25 at-xy cr
+ exit
+ then
+ dup 51 = if
+ drop
+ 1 25 at-xy cr
+ ['] (reboot) catch abort" Error rebooting"
+ then
+ 20 12 at-xy
+ ." Key " emit ." is not a valid option!"
+ 20 13 at-xy
+ ." Press any key to continue..."
+ key drop
+ repeat
+;
OpenPOWER on IntegriCloud