[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;31m, ," 1+
+\ 2dup at-xy ." /( )`" 1+
+\ 2dup at-xy ." \ \___ / |" 1+
+\ 2dup at-xy ." /- [37m_[31m `-/ '" 1+
+\ 2dup at-xy ." ([37m/\/ \[31m \ /\" 1+
+\ 2dup at-xy ." [37m/ / |[31m ` \" 1+
+\ 2dup at-xy ." [34mO O [37m) [31m/ |" 1+
+\ 2dup at-xy ." [37m`-^--'[31m`< '" 1+
+\ 2dup at-xy ." (_.) _ ) /" 1+
+\ 2dup at-xy ." `.___/` / " 1+
+\ 2dup at-xy ." `-----' /" 1+
+\ 2dup at-xy ." [33m<----.[31m __ / __ \" 1+
+\ 2dup at-xy ." [33m<----|====[31mO)))[33m==[31m) \) /[33m====|" 1+
+\ 2dup at-xy ." [33m<----'[31m `--' `.__,' \" 1+
+\ 2dup at-xy ." | |" 1+
+\ 2dup at-xy ." \ / /\" 1+
+\ 2dup at-xy ." [36m______[31m( (_ / \______/" 1+
+\ 2dup at-xy ." [36m,' ,-----' |" 1+
+\ at-xy ." `--{__________) [0m"
+;
-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