[OpenBIOS] r436 - cpu/x86/pc/olpc

svn at openbios.org svn at openbios.org
Tue Jun 5 01:30:11 CEST 2007


Author: wmb
Date: 2007-06-05 01:30:10 +0200 (Tue, 05 Jun 2007)
New Revision: 436

Modified:
   cpu/x86/pc/olpc/fw.bth
Log:
OLPC -
(a) Don't freeze display by default
(b) Play startup only if left-side button held
(c) The only game key that invokes interactive mode is X (above power button)





Modified: cpu/x86/pc/olpc/fw.bth
===================================================================
--- cpu/x86/pc/olpc/fw.bth	2007-06-04 23:27:29 UTC (rev 435)
+++ cpu/x86/pc/olpc/fw.bth	2007-06-04 23:30:10 UTC (rev 436)
@@ -318,7 +318,10 @@
       h# 1454 pl@ 2 and  if
          ." Interacting due to botched resume" cr  hex interact
       then
-      i-key-wait  if  ." Interacting" cr  hex interact  then
+      i-key-wait  if
+         " patch false fast-boot? startup" eval
+         ." Interacting" cr  hex interact
+      then
 [ifdef] lx-devel
       init-superio
 [then]
@@ -434,17 +437,19 @@
 \ fload ${BP}/cpu/x86/pc/report.fth
 fload ${BP}/ofw/core/dualconsole.fth
 
-: user-switch?  ( -- flag )
+0 value game-key-mask
+
+: read-game-keys  ( -- f)
 [ifdef] lx-devel  false exit  [then]
    atest?  if  true exit  then
-   game-key@  0<>  dup  if
+   game-key@  dup to game-key-mask  if
       ." Release the game key to continue" cr
       begin  d# 100 ms  game-key@ 0=  until
    then
 ;
 : fast-boot?  ( -- flag )
 [ifdef] rom-loaded
-   user-switch? 0=
+   game-key-mask  h# 100 and  0=
 [else]
    false
 [then]
@@ -510,6 +515,9 @@
    r> to playback-volume
 ;
 
+: ?start-sound  ( -- )
+   game-key-mask h# 40 and  if  start-sound  then
+;
 : open-keyboard  ( -- )
    " keyboard" open-dev  ?dup  if  set-stdin  then
 ;
@@ -527,25 +535,25 @@
    no-page
 
    console-start
+   read-game-keys
    fast-boot?   if
       stdout off
       probe-pci
-      start-sound
+      ?start-sound
       ['] false to interrupt-auto-boot?
       interpreter-init
 [ifndef] lx-devel
       enable-power-button
 [then]
-      freeze
       auto-boot
       screen-ih stdout !
       open-keyboard
       optional-startup
    else
       banner
-
+      probe-pci
+      ?start-sound
       open-keyboard
-      probe-pci
       optional-startup
       interpreter-init
 [ifndef] lx-devel




More information about the OpenBIOS mailing list