[PC-BSD Commits] r20724 - pcbsd/current/overlays/desktop-overlay/boot

svn at pcbsd.org svn at pcbsd.org
Thu Dec 20 07:42:49 PST 2012


Author: kris
Date: 2012-12-20 15:42:49 +0000 (Thu, 20 Dec 2012)
New Revision: 20724

Removed:
   pcbsd/current/overlays/desktop-overlay/boot/beastie.4th.gfx
   pcbsd/current/overlays/desktop-overlay/boot/beastie.4th.txt
Modified:
   pcbsd/current/overlays/desktop-overlay/boot/beastie.4th
Log:

Switch back to txt style beastie.4th



Modified: pcbsd/current/overlays/desktop-overlay/boot/beastie.4th
===================================================================
--- pcbsd/current/overlays/desktop-overlay/boot/beastie.4th	2012-12-20 14:56:20 UTC (rev 20723)
+++ pcbsd/current/overlays/desktop-overlay/boot/beastie.4th	2012-12-20 15:42:49 UTC (rev 20724)
@@ -42,39 +42,69 @@
 variable bootacpikey
 variable bootsafekey
 variable bootverbosekey
+variable rundisplaywiz
 variable bootsinglekey
-variable bootvesakey
-variable bootdisplaykey
-variable defaultskey
 variable escapekey
 variable rebootkey
 variable bootsafe_set
+variable xvesa
 variable xvesa_set
 variable xwiz_set
+variable kernelkey
+variable kerncurrent
+variable kerncurrent_set
+variable kernold
+variable kernold_set
+variable kerngeneric
+variable kerngeneric_set
 
-2variable xy-acpi
-2variable xy-safe
-2variable xy-single
-2variable xy-verbose
-2variable xy-vesa
-2variable xy-display
+46 constant dot
 
-variable default-acpi
-variable default-safe
-variable default-single
-variable default-verbose
-variable default-vesa
-variable default-display
+\ The BSD Daemon.  He is 19 rows high and 34 columns wide
+: beastie-logo ( x y -- )
+\ 2dup at-xy ."               ,        ," 1+
+\ 2dup at-xy ."              /(        )`" 1+
+\ 2dup at-xy ."              \ \___   / |" 1+
+\ 2dup at-xy ."              /- _  `-/  '" 1+
+\ 2dup at-xy ."             (/\/ \ \   /\" 1+
+\ 2dup at-xy ."             / /   | `    \" 1+
+\ 2dup at-xy ."             O O   ) /    |" 1+
+\ 2dup at-xy ."             `-^--'`<     '" 1+
+\ 2dup at-xy ."            (_.)  _  )   /" 1+
+\ 2dup at-xy ."             `.___/`    /       " 1+
+\ 2dup at-xy ."               `-----' /" 1+
+\ 2dup at-xy ."  <----.     __ / __   \" 1+
+\ 2dup at-xy ."  <----|====O)))==) \) /====|" 1+
+\ 2dup at-xy ."  <----'    `--' `.__,' \" 1+
+\ 2dup at-xy ."               |        |" 1+
+\ 2dup at-xy ."                \       /       /\" 1+
+\ 2dup at-xy ."           ______( (_  / \______/" 1+
+\ 2dup at-xy ."         ,'  ,-----'   |" 1+
+\ at-xy ."         `--{__________) "
+;
 
-variable current-acpi
-variable current-safe
-variable current-single
-variable current-verbose
-variable current-vesa
-variable current-display
+: beastiebw-logo ( x y -- )
+\	2dup at-xy ."              ,        ," 1+
+\	2dup at-xy ."             /(        )`" 1+
+\	2dup at-xy ."             \ \___   / |" 1+
+\	2dup at-xy ."             /- _  `-/  '" 1+
+\	2dup at-xy ."            (/\/ \ \   /\" 1+
+\	2dup at-xy ."            / /   | `    \" 1+
+\	2dup at-xy ."            O O   ) /    |" 1+
+\	2dup at-xy ."            `-^--'`<     '" 1+
+\	2dup at-xy ."           (_.)  _  )   /" 1+
+\	2dup at-xy ."            `.___/`    /" 1+
+\	2dup at-xy ."              `-----' /" 1+
+\	2dup at-xy ." <----.     __ / __   \" 1+
+\	2dup at-xy ." <----|====O)))==) \) /====" 1+
+\	2dup at-xy ." <----'    `--' `.__,' \" 1+
+\	2dup at-xy ."              |        |" 1+
+\	2dup at-xy ."               \       /       /\" 1+
+\	2dup at-xy ."          ______( (_  / \______/" 1+
+\	2dup at-xy ."        ,'  ,-----'   |" 1+
+\	     at-xy ."        `--{__________)"
+;
 
-46 constant dot
-
 : fbsdbw-logo ( x y -- )
 	2dup at-xy ."     ____  ______" 1+
 	2dup at-xy ."    / __ \/ ____/" 1+
@@ -100,6 +130,16 @@
 		fbsdbw-logo
 		exit
 	then
+	2dup s" beastiebw" compare-insensitive 0= if
+		2drop
+		beastiebw-logo
+		exit
+	then
+	2dup s" beastie" compare-insensitive 0= if
+		2drop
+		beastie-logo
+		exit
+	then
 	2dup s" none" compare-insensitive 0= if
 		2drop
 		\ no logo
@@ -109,17 +149,6 @@
 	fbsdbw-logo
 ;
 
-: qseconds ( -- n )
-	-1
-	begin 1 while
-		seconds
-		86400 mod
-		swap over = if
-			exit
-		then
-	repeat
-;
-
 : acpienabled? ( -- flag )
 	s" acpi_load" getenv
 	dup -1 = if
@@ -150,15 +179,61 @@
 	menuidx @ 48 +
 ;
 
-: beastie-text-menu ( -- )
+: options-menu ( -- )
+	0 menuidx !
+	dot menubllt !
+	8 menuY !
+	5 menuX !
+	clear
+	24 1 at-xy ."     ____  ______    ____ _____ ____"
+	24 2 at-xy ."    / __ \/ ____/   / __ ) ___// __ \"
+	24 3 at-xy ."   / /_/ / /       / __  \__ \/ / / /"
+	24 4 at-xy ."  / ____/ /___    / /_/ /__/ / /_/ /"
+	24 5 at-xy ." /_/    \____/   /_____/____/_____/"
+	24 6 at-xy ."  "
+	24 7 at-xy ."   Press any key for boot options"
+;
+
+: kernels-menu ( -- )
+	0 menuidx !
+	dot menubllt !
+	8 menuY !
+	5 menuX !
+	clear
+	46 4 print-logo
+	43 15 2 2 box
+	13 6 at-xy ." Select kernel to boot in"
+	printmenuitem ."  Current kernel        (kernel)" kerncurrent !
+	s" kernelold_show" getenv
+	dup -1 <> if
+		s" YES" compare-insensitive 0 = if
+			printmenuitem ."  Previous kernel       (kernel.old)" kernold !
+		then
+	else
+		drop
+	then
+	s" kernelgeneric_show" getenv
+	dup -1 <> if
+		s" YES" compare-insensitive 0 = if
+			printmenuitem ."  Generic PC-BSD kernel (kernel.pcbsd)" kerngeneric !
+		then
+	else
+		drop
+	then
+	menuX @ 15 at-xy
+	." Select option, [Enter] for go back"
+	menuX @ 21 at-xy
+;
+
+: beastie-menu ( -- )
 	-1 menuidx !
 	dot menubllt !
 	8 menuY !
 	5 menuX !
 	clear
 	46 4 print-logo
-	43 20 2 2 box
-	13 6 at-xy ." Welcome to PC-BSD!"
+	43 22 2 2 box
+	13 5 at-xy ." Welcome to PC-BSD!"
 	printmenuitem ."  Boot PC-BSD [default]" bootkey !
 	printmenuitem ."  Boot PC-BSD in single user mode" bootsinglekey !
 	printmenuitem ."  Boot PC-BSD with verbose logging" bootverbosekey !
@@ -179,36 +254,42 @@
 	else
 		." (Disabled)"
 	then
-	printmenuitem ."  Toggle X in VESA mode " bootvesakey !
+	printmenuitem ."  Toggle X in VESA mode " xvesa !
 	xvesa_set @ 1 = if
 		." (Enabled)"
 	else
 		." (Disabled)"
 	then
-	printmenuitem ."  Run the Display Wizard " bootdisplaykey !
+	printmenuitem ."  Run the Display Wizard " rundisplaywiz !
 	xwiz_set @ 1 = if
 		." (Enabled)"
 	else
 		." (Disabled)"
 	then
 	printmenuitem ."  Escape to loader prompt" escapekey !
+	s" kernelmenu_show" getenv
+	dup -1 <> if
+		s" YES" compare-insensitive 0 = if
+			printmenuitem ."  Select kernel " kernelkey !
+			kerngeneric_set @ 1 = if
+				." (kernel.pcbsd)"
+			then
+			kernold_set @ 1 = if
+				." (kernel.old)"
+			then
+		then
+	else
+		drop
+	then
 	printmenuitem ."  Reboot" rebootkey !
 	menuX @ 20 at-xy
 	." Select option, [Enter] for default"
 	menuX @ 21 at-xy
 ;
 
-: tkey-text ( delay delay -- delay key )
-	qseconds +
+: tkeynotimer
+	seconds +
 	begin 1 while
-		over 0<> if
-			dup qseconds u< if
-				drop
-				-1
-				exit
-			then
-			menuX @ promptwidth @ + 21 at-xy dup qseconds - .
-		then
 		key? if
 			drop
 			key
@@ -218,408 +299,98 @@
 	repeat
 ;
 
-: beastie-text-start
-	s" YES" s" acpi_load" setenv
-	s" NO" s" xvesa" setenv
-	0 bootsafe_set !
-	0 xvesa_set !
-	0 xwiz_set !
-	s" autoboot_delay" getenv
-	dup -1 = if
-		drop
-		10
-	else
-		0 0 2swap >number drop drop drop
-	then
-	begin
-		beastie-text-menu
-		dup tkey-text
-		0 25 at-xy
-		dup 32 = if nip 0 swap then
-		dup -1 = if 0 boot then
-		dup 13 = if 0 boot then
-		dup bootkey @ = if 0 boot then
-		dup bootacpikey @ = if
-			acpienabled? if
-				s" acpi_load" unsetenv
-				s" 1" s" hint.acpi.0.disabled" setenv
-				s" 1" s" loader.acpi_disabled_by_user" setenv
-			else
-				s" YES" s" acpi_load" setenv
-				s" 0" s" hint.acpi.0.disabled" setenv
-			then
-			0 boot
-		then
-		dup bootsafekey @ = if
-			bootsafe_set @ 1 = if
-				s" 0" s" hw.ata.ata_dma" setenv
-				s" 0" s" hw.ata.atapi_dma" setenv
-				s" 0" s" hw.ata.wc" setenv
-				s" 0" s" hw.eisa_slots" setenv
-				s" 1" s" hint.kbdmux.0.disabled" setenv
-				0 bootsafe_set !
-			else
-				s" 1" s" hw.ata.ata_dma" setenv
-				s" 1" s" hw.ata.atapi_dma" setenv
-				s" 1" s" hw.ata.wc" setenv
-				s" 1" s" hw.eisa_slots" setenv
-				s" 0" s" hint.kbdmux.0.disabled" setenv
-				1 bootsafe_set !
-			then
-		then
-		dup bootverbosekey @ = if
-			s" YES" s" boot_verbose" setenv
-			0 boot
-		then
-		dup bootvesakey @ = if
-			xvesa_set @ 1 = if
-				s" NO" s" xvesa" setenv
-				0 xvesa_set !
-			else
-				s" YES" s" xvesa" setenv
-				1 xvesa_set !
-			then
-		then
-		dup bootdisplaykey @ = if
-			xwiz_set @ 1 = if
-				s" NO" s" runwiz" setenv
-				0 xwiz_set !
-			else
-				s" YES" s" runwiz" setenv
-				1 xwiz_set !
-			then
-		then
-		dup bootsinglekey @ = if
-			s" YES" s" boot_single" setenv
-			0 boot
-		then
-		dup escapekey @ = if
-			2drop
-			s" NO" s" autoboot_delay" setenv
-			exit
-		then
-		rebootkey @ = if 0 reboot then
-	again
-;
-
-vcheck? [if]
-
-: rgb-variable ( -- ) ( -- addr )
-	create 3 cells allot
-;
-
-rgb-variable fgcolor
-rgb-variable bgcolor
-rgb-variable litcolor
-rgb-variable dimcolor
-
-: use-color ( addr -- )
-	dup @ swap
-	1 cells +
-	dup @ swap
-	1 cells +
-	@
-	vrgbcolor
-;
-
-: store-color ( r g b addr -- )
-	3 roll over !
-	1 cells + rot over !
-	1 cells + !
-;
-
-: refresh-option ( y x n -- )
-	bgcolor use-color
-	128 2over rot vemit 2drop
-	if
-		litcolor use-color
-		128 vemit
-	else
-		dimcolor use-color
-		129 vemit
-	then
-	2drop
-;
-
-: refresh-all-options ( -- )
-	xy-acpi 2@    current-acpi @    refresh-option
-	xy-safe 2@    current-safe @    refresh-option
-	xy-single 2@  current-single @  refresh-option
-	xy-verbose 2@ current-verbose @ refresh-option
-	xy-vesa 2@    current-vesa @    refresh-option
-	xy-display 2@ current-display @ refresh-option
-;
-
-: nl ( y x inc -- y' x y' x )	\ next line
-	rot + swap 2dup
-;
-
-: itab ( y x -- x y x )		\ record current x position
-	swap over
-;
-
-: tab ( x y x' -- y x'' )	\ advance to next tab position
-	drop swap 24 +
-;
-
-: string++ ( addr count -- addr+1 count-1 )
-	1 - swap 1 + swap
-;
-
-: next-digit ( addr1 count1 -- addr2 count2 )	\ skip to next digit
-	begin
-		dup 0= if
-			exit
-		then
-
-		over c@
-		dup [char] 0 <
-		swap [char] 9 >
-		or
-	while
-		string++
-	repeat
-;
-
-: get-xy-var ( defy defx addr count -- y x )	\ parse var into xy pair
-	getenv
-	dup -1 = if
-		drop
-	else
-		0 0 2swap >number rot drop
-
-		next-digit
-		dup 0= if
-			2drop swap drop
-			exit
-		then
-
-		0 0 2swap >number 2drop drop
-		2swap 2drop
-		swap
-	then
-;
-
-: get-rgb-var ( defr defg defb addr count -- r g b ) \ parse var into rgb tuple
-	getenv
-	dup -1 = if
-		drop
-	else
-		0 0 2swap >number rot drop
-		5 roll drop	\ remove defr
-		next-digit
-		dup 0= if
-			2drop rot rot
-			exit
-		then
-		0 0 2swap >number rot drop
-		5 roll drop	\ remove defg
-		next-digit
-		dup 0= if
-			2drop rot
-			exit
-		then
-		0 0 2swap >number 2drop drop
-		3 roll drop	\ remove defb
-	then
-;
-
-: init-colors ( -- )
-	255 255 255 s" theme_fgcolor"  get-rgb-var fgcolor  store-color
-	0   0   0   s" theme_bgcolor"  get-rgb-var bgcolor  store-color
-	255 64  32  s" theme_litcolor" get-rgb-var litcolor store-color
-	128 64  32  s" theme_dimcolor" get-rgb-var dimcolor store-color
-;
-
-: init-option ( y x addr count - y x )	\ store xy position and emit bullet
-	2over 2swap 2! 129 vemit 32 vemit
-;
-
-: default-theme s" /boot/themes/default/theme.conf" ;
-: default-font  s" /boot/themes/default/stdfont" ;
-: default-bg    s" /boot/themes/default/bglogo.pcx" ;
-
-: load-theme ( -- font bg )
-	s" beastie_theme" getenv
-	dup -1 = if
-		drop
-		default-theme
-	then
-	read-conf
-
-	s" theme_font" getenv
-	dup -1 = if
-		drop
-		default-font
-	then
-	vloadfont
-	dup 0= if
-		drop
-		." Cannot load font!"
-		\ XXXXXX
-		\ 5000 ms
-		key drop
-		-1 exit
-	then
-	dup vusefont
-
-	s" theme_background" getenv
-	dup -1 = if
-		drop
-		default-bg
-	then
-	vloadpcx
-	dup 0= if
-		drop
-		." Cannot load PCX!"
-		\ XXXXXX
-		\ 5000 ms
-		key drop
-		vfreefont
-		-1 exit
-	then
-;
-
-: beastie-gfx-menu ( -- success )
-
-	\ Note:  Load files while still in text mode, for two reasons:
-	\ 1. twiddle() (called by I/O) interferes with graphics mode.
-	\ 2. If loading fails, we can fall back to beastie-text-menu
-	\    without switching back and forth to/from graphics mode.
-
-	load-theme
-	dup -1 = if
-		drop false exit
-	then
-
-	vmode
-	dup
-	0 0 vshowpcx
-	vfreepcx
-	drop	\ keep font
-
-	init-colors
-
-	fgcolor use-color
-	10 64 s" theme_options_xy" get-xy-var
-	v" Boot options:   "
-	2dup  xy-acpi    init-option v" 1  Disable ACPI" 2drop
-	16 nl xy-safe    init-option v" 2  Enable safe mode" 2drop
-	16 nl xy-single  init-option v" 3  Enter single user mode" 2drop
-	16 nl xy-verbose init-option v" 4  Enable verbose logging" 2drop
-	16 nl xy-vesa    init-option v" 5  Run X in VESA mode" 2drop
-	16 nl xy-display init-option v" 6  Run the Display Wizard" 2drop
-	2drop
-	136 64 s" theme_actions_xy" get-xy-var
-	v" Actions:   "
-	2dup  itab v" B" tab v" Boot PC-BSD with above options" 2drop
-	16 nl itab v" D" tab v" Restore default options" 2drop
-	16 nl itab v" L" tab v" Escape to loader prompt" 2drop
-	16 nl itab v" R" tab v" Reboot" 2drop
-	2drop
-	\ XXXXXX
-	49 bootacpikey !
-	50 bootsafekey !
-	51 bootsinglekey !
-	52 bootverbosekey !
-	53 bootvesakey !
-	54 bootdisplaykey !
-	98 bootkey !
-	100 defaultskey !
-	108 escapekey !
-	114 rebootkey !
-	true
-;
-
-: tkey-gfx ( delay delay -- delay key )
-	qseconds +
+: tkeyhidetimer
+	seconds +
 	begin 1 while
 		over 0<> if
-			dup qseconds u< if
+			dup seconds u< if
 				drop
 				-1
 				exit
 			then
-
-			dup qseconds - dup
-			bgcolor use-color
-			0 0 16 32 2over vrect
-			fgcolor use-color
-			rot 0 <# #s #> vtext 2drop
-
-			\ 8 * 2 pick /
-			\ dup 0< if drop 0 then
-			\ 255 swap rshift
-
-			\ 32 1 do
-			\ 	i over 80 16 vcirclearc
-			\ loop
-
-			drop
 		then
 		key? if
 			drop
 			key
 			exit
 		then
-		50 ms
+	50 ms
 	repeat
 ;
 
-: toggle ( y x var -- )
-	dup @ 0= dup rot !
-	refresh-option
-;
 
-: beastie-gfx-start ( -- success )
-	beastie-gfx-menu 0= if
-		false exit
+set-current
+
+: beastie-start
+	s" beastie_disable" getenv
+	dup -1 <> if
+		s" YES" compare-insensitive 0= if
+			exit
+		then
+	else
+		drop
 	then
-
-	false dup current-acpi ! default-acpi !
-	false dup current-safe ! default-safe !
-	false dup current-single ! default-single !
-	false dup current-verbose ! default-verbose !
-	false dup current-vesa ! default-vesa !
-	false dup current-display ! default-display !
-	refresh-all-options
-
+	s" NO" s" xvesa" setenv
+	0 bootsafe_set !
+	0 xvesa_set !
+	0 xwiz_set !
+	1 kerncurrent_set !
+	0 kernold_set !
+	0 kerngeneric_set !
 	s" autoboot_delay" getenv
 	dup -1 = if
+		s" 02" s" autoboot_delay" setenv
+	then
+	s" autoboot_delay" getenv
+	dup -1 = if
 		drop
 		10
 	else
-		0 0 2swap >number 2drop drop
+		0 0 2swap >number drop drop drop
 	then
-
 	begin
-		dup tkey-gfx
-
-		dup -1 =
-		over 13 = or
-		over bootkey @ = or if
-			current-acpi @ if
-				s" acpi_load" unsetenv
-				s" 1" s" hint.acpi.0.disabled" setenv
-				s" 1" s" loader.acpi_disabled_by_user" setenv
-			else
-				s" YES" s" acpi_load" setenv
-				s" 0" s" hint.acpi.0.disabled" setenv
+	s" autoboot_delay" getenv
+	dup -1 <> if
+		s" NO" compare-insensitive 0= if
+			beastie-menu
+			dup tkeynotimer
+			0 25 at-xy
+			dup 32 = if nip 0 swap then
+			dup -1 = if 0 boot then
+			dup 13 = if 0 boot then
+			dup bootkey @ = if 0 boot then
+			dup bootacpikey @ = if
+				acpienabled? if
+					s" acpi_load" unsetenv
+					s" 1" s" hint.acpi.0.disabled" setenv
+					s" 1" s" loader.acpi_disabled_by_user" setenv
+				else
+					s" YES" s" acpi_load" setenv
+					s" 0" s" hint.acpi.0.disabled" setenv
+				then
 			then
-			current-safe @ if
-				s" 0" s" hw.ata.ata_dma" setenv
-				s" 0" s" hw.ata.atapi_dma" setenv
-				s" 0" s" hw.ata.wc" setenv
-				s" 0" s" hw.eisa_slots" setenv
-				s" 1" s" hint.kbdmux.0.disabled" setenv
+			dup bootsafekey @ = if
+				bootsafe_set @ 1 = if
+					s" 0" s" hw.ata.ata_dma" setenv
+					s" 0" s" hw.ata.atapi_dma" setenv
+					s" 0" s" hw.ata.wc" setenv
+					s" 0" s" hw.eisa_slots" setenv
+					s" 1" s" hint.kbdmux.0.disabled" setenv
+					0 bootsafe_set !
+				else
+					s" 1" s" hw.ata.ata_dma" setenv
+					s" 1" s" hw.ata.atapi_dma" setenv
+					s" 1" s" hw.ata.wc" setenv
+					s" 1" s" hw.eisa_slots" setenv
+					s" 0" s" hint.kbdmux.0.disabled" setenv
+					1 bootsafe_set !
+				then
 			then
-			current-single @ if
-				s" YES" s" boot_single" setenv
-			then
-			current-verbose @ if
+			dup bootverbosekey @ = if
 				s" YES" s" boot_verbose" setenv
+				0 boot
 			then
-			current-vesa @ if
+			dup xvesa @ = if
 				xvesa_set @ 1 = if
 					s" NO" s" xvesa" setenv
 					0 xvesa_set !
@@ -628,7 +399,7 @@
 					1 xvesa_set !
 				then
 			then
-			current-display @ if
+			dup rundisplaywiz @ = if
 				xwiz_set @ 1 = if
 					s" NO" s" runwiz" setenv
 					0 xwiz_set !
@@ -637,97 +408,58 @@
 					1 xwiz_set !
 				then
 			then
-			vreset
-			0 boot
-		then
-
-		\ For debugging only: display key code
-		\ dup
-		\ bgcolor use-color
-		\ 32 0 16 32 2over vrect
-		\ fgcolor use-color
-		\ rot 0 <# #s #> vtext 2drop
-
-		dup bootacpikey @ = if
-			xy-acpi 2@ current-acpi toggle
-		then
-
-		dup bootsafekey @ = if
-			xy-safe 2@ current-safe toggle
-		then
-
-		dup bootsinglekey @ = if
-			xy-single 2@ current-single toggle
-		then
-
-		dup bootverbosekey @ = if
-			xy-verbose 2@ current-verbose toggle
-		then
-
-		dup bootvesakey @ = if
-			xy-vesa 2@ current-vesa toggle
-		then
-
-		dup bootdisplaykey @ = if
-			xy-display 2@ current-display toggle
-		then
-
-		dup defaultskey @ = if
-			default-acpi @ current-acpi !
-			default-safe @ current-safe !
-			default-single @ current-single !
-			default-verbose @ current-verbose !
-			default-vesa @ current-vesa !
-			default-display @ current-display !
-			refresh-all-options
-		then
-
-		dup escapekey @ = if
-			2drop
-			s" NO" s" autoboot_delay" setenv
-			vreset
-			true exit
-		then
-
-		rebootkey @ = if
-			vreset
-			0 reboot
-		then
-
-		drop 0
-	again
-;
-
-[else]
-
-: beastie-gfx-start false ;
-
-[then]
-
-set-current
-
-: beastie-start
-
-	s" beastie_disable" getenv
-	dup -1 <> if
-		s" YES" compare-insensitive 0= if
-			exit
-		then
-	else
-		drop
-	then
-
-	s" graphics_enable" getenv
-	dup -1 <> if
-		s" YES" compare-insensitive 0= if
-			beastie-gfx-start if
+			dup bootsinglekey @ = if
+				s" YES" s" boot_single" setenv
+				0 boot
+			then
+			dup kernelkey @ = if
+				kernels-menu
+				dup tkeynotimer
+				dup kerncurrent @ = if
+					1 kerncurrent_set !
+					0 kernold_set !
+					0 kerngeneric_set !
+				then
+				dup kerngeneric @ = if
+					0 kerncurrent_set !
+					0 kernold_set !
+					1 kerngeneric_set !
+				then
+				dup kernold @ = if
+					0 kerncurrent_set !
+					1 kernold_set !
+					0 kerngeneric_set !
+				then
+				0 1 unload drop
+				kerncurrent_set @ 1 = if
+					s" kernel" s" kernel" setenv
+				then
+				kerngeneric_set @  1 = if
+					s" kernel.pcbsd" s" kernel" setenv
+				then
+				kernold_set @ 1 = if
+					s" kernel.old" s" kernel" setenv
+				then
+			then
+			dup escapekey @ = if
+				2drop
+				s" NO" s" autoboot_delay" setenv
 				exit
 			then
+			rebootkey @ = if 0 reboot then
+		else
+			options-menu
+			dup tkeyhidetimer
+			dup 32 = if nip 0 swap then
+			clear
+			dup -1 = if 0 boot then
+			s" NO" s" autoboot_delay" setenv
 		then
 	else
-		drop
+		clear
+		0 boot	
 	then
-	beastie-text-start
+	again
 ;
 
 previous



More information about the Commits mailing list