Try again to make "noescape" actually work...
authorhpa <hpa>
Thu, 18 Aug 2005 23:31:59 +0000 (23:31 +0000)
committerhpa <hpa>
Thu, 18 Aug 2005 23:31:59 +0000 (23:31 +0000)
abort.inc
parseconfig.inc
ui.inc

index e2cfcbb..25598d3 100644 (file)
--- a/abort.inc
+++ b/abort.inc
@@ -54,7 +54,7 @@ abort_check:
 %elif IS_PXELINUX
                lss esp,[BaseStack]
 %elif IS_ISOLINUX
-               lss sp,[cs:Stack]
+               lss sp,[Stack]
 %else
                NEED TO KNOW HOW TO RESET STACK
 %endif
@@ -62,7 +62,7 @@ abort_check:
                 call cwritestr                  ; Expects SI -> error msg
 
                ; If NOESCAPE is active, then execute the default command
-               cmp byte [KbdFlags],0
+               cmp byte [KbdFlagMask],0
                jz auto_boot                    ; Default command
                jmp enter_command               ; Otherwise command prompt
 
index 77caf84..1e5ff5f 100644 (file)
@@ -279,7 +279,7 @@ pc_say:             call pc_getline                 ; "say" command
 ; "noescape" command
 ;
 pc_noescape:
-               mov byte [KbdFlags],0
+               mov byte [KbdFlagMask],0        ; No escape route available...
                ; Fall into pc_getline
 
 ;
diff --git a/ui.inc b/ui.inc
index 06b67e9..968f778 100644 (file)
--- a/ui.inc
+++ b/ui.inc
@@ -22,7 +22,8 @@ no_config_file:
 check_for_key:
                cmp word [ForcePrompt],byte 0   ; Force prompt?
                jnz enter_command
-               test byte [KbdFlags],5Bh        ; Caps, Scroll, Shift, Alt
+               mov al,[KbdFlags]
+               test al,[KbdFlagMask]
                jz auto_boot                    ; If neither, default boot
 
 enter_command:
@@ -485,6 +486,9 @@ kernel_good:
 %endif
                ; Otherwise Linux kernel
 
+               section .data
+KbdFlagMask    db 5Bh                  ; Caps, Scroll, Shift, Alt
+
                section .bss
                alignb 2
 KernelExtPtr   resw 1                  ; During search, final null pointer