Index: /trunk/bootcode/airboot.asm
===================================================================
--- /trunk/bootcode/airboot.asm	(revision 88)
+++ /trunk/bootcode/airboot.asm	(revision 89)
@@ -2404,5 +2404,5 @@
 
             ; Some debug area.
-ott         db  512 dup(?)
+dbg_scratch db  512 dup(?)
 
 
Index: /trunk/bootcode/regular/debug.asm
===================================================================
--- /trunk/bootcode/regular/debug.asm	(revision 88)
+++ /trunk/bootcode/regular/debug.asm	(revision 89)
@@ -40,34 +40,4 @@
 
 ;
-; Display a number that was put on the stack.
-; Used to track code-flow.
-;
-dbp     db  '>---------->> DebugProbe: ',0
-DEBUG_Probe     Proc
-        push    bp
-        mov     bp,sp
-        pushf
-        pusha
-
-        mov     si,offset [dbp]         ; Default probe-text.
-        call    AuxIO_Print
-        mov     ax,[bp+04]              ; Get probe-number from stack.
-        call    AuxIO_TeletypeHexWord
-        call    AuxIO_TeletypeNL
-
-        ; Also display registers.
-        popa
-        pusha
-        call    DEBUG_DumpRegisters
-
-        popa
-        popf
-        pop     bp
-        ret     2
-DEBUG_Probe     Endp
-
-
-
-;
 ; Show help on keys.
 ;
@@ -91,7 +61,7 @@
 
 ;
-; Call list for debug hot-keys.
-;
-dbg_call_list:
+; Dispatch table for debug hot-keys.
+;
+dbg_dispatch:
         db      't'
         dw      offset  DEBUG_Test
@@ -119,76 +89,4 @@
 
 ;
-; Handle keypresses when the main menu is active.
-;
-DEBUG_HandleKeypress    Proc
-        pushf
-        pusha
-
-        ; Save hot-key
-        mov     dl,al
-
-        ; Check for digit.
-        cmp     al,'0'
-        jb      DEBUG_HandleKeypress_exit
-        cmp     al,'9'
-        ja      DEBUG_HandleKeypress_try_alpha
-        ; It was a digit, dump disk info ('0' for 80h, '1' for 81h, etc)
-        call    DEBUG_DumpDiskInfo
-        ;~ jmp     DEBUG_HandleKeypress_check_it
-        jmp     DEBUG_HandleKeypress_exit
-
-        ; Check for alpha.
-    DEBUG_HandleKeypress_try_alpha:
-        ; Force upper-case.
-        and     al,11011111b
-        cmp     al,'A'
-        jb      DEBUG_HandleKeypress_exit
-        cmp     al,'Z'
-        ja      DEBUG_HandleKeypress_exit
-        ; It was an alpha.
-        jmp     DEBUG_HandleKeypress_check_it
-
-
-        ; Check if the key is a hot-key.
-    DEBUG_HandleKeypress_check_it:
-        cld
-        mov     si,offset dbg_call_list
-
-        ; Loop over jump-list.
-    DEBUG_HandleKeypress_next_entry:
-
-        ; Load the hot-key.
-        lodsb
-        ; No hot-key (not implemented) if end-of-list.
-        test    al,al
-        jz      DEBUG_HandleKeypress_ni
-
-        ; Compare hot-key and iterate if not the same.
-        cmp     dl,al
-        lodsw
-        jne     DEBUG_HandleKeypress_next_entry
-
-        ; Entry found, call corresponding routine.
-        mov     bx,ax
-        call    bx
-
-        ; Done.
-        jmp     DEBUG_HandleKeypress_exit
-
-        ; Call not-assigned routine.
-    DEBUG_HandleKeypress_ni:
-        call    DEBUG_NotAssigned
-        jmp     DEBUG_HandleKeypress_exit
-
-        ; Return to caller.
-    DEBUG_HandleKeypress_exit:
-        popa
-        popf
-        ret
-DEBUG_HandleKeypress    Endp
-
-
-
-;
 ; Show 'not assigned' message.
 ;
@@ -205,199 +103,5 @@
 
 
-
-;
-; Dump information before the menu is displayed.
-;
-DEBUG_Dump1     Proc  Near
-        pushf
-        pusha
-
-        ; Hello message
-        mov     si, offset AuxIOHello
-        call    AuxIO_Print
-
-        ; Build Info
-        ;~ mov     si, offset BUILD_DATE
-        ;~ call    AuxIO_Print
-        call    AuxIO_PrintBuildInfo
-
-        ; Start new line
-        call    AuxIO_TeletypeNL
-        ;~ call    AuxIO_TeletypeNL
-
-        ;~ call    DEBUG_DumpHidePartTables
-        ;~ call    DEBUG_CheckMath
-        ;~ call    DEBUG_DumpGeo
-        ;~ call    DEBUG_CheckBitFields
-
-        popa
-        popf
-        ret
-DEBUG_Dump1     EndP
-
-
-
-;
-; Check the simple 32-bit math functions.
-;
-IF  0
-db_testmul32   db "## CHK MUL32 ##",10,0
-DEBUG_Test_MATH_Mul32   Proc    Near
-        pushf
-        pusha
-
-        ; Msg check math-module
-        mov     si,offset [db_testmul32]
-        call    AuxIO_Print
-
-        ; Output hex-word
-        mov     ax,0BABEh
-        call    AuxIO_TeletypeHexWord
-
-        mov     al,' '
-        call    AuxIO_Teletype
-        mov     al,'*'
-        call    AuxIO_Teletype
-        mov     al,' '
-        call    AuxIO_Teletype
-
-        ; Output hex-word
-        mov     ax,0BABEh
-        call    AuxIO_TeletypeHexWord
-
-        mov     al,' '
-        call    AuxIO_Teletype
-        mov     al,'='
-        call    AuxIO_Teletype
-        mov     al,' '
-        call    AuxIO_Teletype
-
-        mov     ax,0BABEh
-        mul     ax
-        call    AuxIO_TeletypeHexDWord
-
-        ; Start new line
-        call    AuxIO_TeletypeNL
-
-        ; Output hex-dword
-        mov     dx,0DEADh
-        mov     ax,0FACEh
-        call    AuxIO_TeletypeHexDWord
-
-        mov     al,' '
-        call    AuxIO_Teletype
-        mov     al,'*'
-        call    AuxIO_Teletype
-        mov     al,' '
-        call     AuxIO_Teletype
-
-        ; Output hex-dword
-        mov     dx,0DEADh
-        mov     ax,0FACEh
-        call    AuxIO_TeletypeHexDWord
-
-        mov     al,' '
-        call    AuxIO_Teletype
-        mov     al,'='
-        call    AuxIO_Teletype
-        mov     al,' '
-        call    AuxIO_Teletype
-
-        mov     bx,0DEADh
-        mov     cx,0FACEh
-        mov     dx,0DEADh
-        mov     ax,0FACEh
-        call    MATH_Mul32
-        call    AuxIO_TeletypeHexQWord
-
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_Test_MATH_Mul32   EndP
-ELSE
-DEBUG_Test_MATH_Mul32   Proc    Near
-        ret
-DEBUG_Test_MATH_Mul32   EndP
-ENDIF
-
-
-
-;
-; Toggle display of debug video page.
-;
-IF  0
-DEBUG_DebugScreenToggle Proc
-        pushf
-        pusha
-
-        mov     si, offset $+5
-        jmp     @F
-        db      10,'DebugScreenToggle:',10,0
-prvpg   db      00h
-hdr     db      10,'[Debug Console]',13,10,0
-@@:     call    AuxIO_Print
-
-        ; Get current page in BH
-        mov     ah, 0fh
-        int     10h
-
-        ; Already debug page ?
-        cmp     bh, 03h
-        je      DEBUG_DebugScreenToggle_back
-
-        ; Remember page
-        mov     [prvpg], bh
-
-        ; Switch to debug page
-        mov     al, 03h
-        mov     ah, 05h
-        int     10h
-
-        ; Get cursor position in DX (DH=row, DL=column)
-        ;~ mov     ah, 03h
-        ;~ mov     bh, 03h
-        ;~ int     10h
-
-        ;~ mov     al, 01h
-        ;~ mov     bh, 03h
-        ;~ mov     bl, 07h
-        ;~ mov     bp, offset [hdr]
-        ;~ mov     cx, sizeof(hdr)
-        ;~ mov     ah, 13h
-        ;~ int     10h
-
-        ;~ mov     bh, 03h
-        ;~ mov     dh, 00h
-        ;~ mov     dl, 00h
-        ;~ mov     ah, 02h
-        ;~ int     10h
-
-        mov     si, offset [hdr]
-        call    DBG_Teletype
-
-        jmp     DEBUG_DebugScreenToggle_end
-
-    DEBUG_DebugScreenToggle_back:
-        ; Switch back to previous page
-        mov     al, [prvpg]
-        mov     ah, 05h
-        int     10h
-        jmp     DEBUG_DebugScreenToggle_end
-
-    DEBUG_DebugScreenToggle_end:
-        popa
-        popf
-        ret
-DEBUG_DebugScreenToggle EndP
-ELSE
-DEBUG_DebugScreenToggle Proc
-        ret
-DEBUG_DebugScreenToggle EndP
-ENDIF
-
-
+; ============================================================== [ dump stuff ]
 
 ;
@@ -486,4 +190,442 @@
 
 
+
+;
+; Dump the new  partitions table.
+;
+IF  0
+DEBUG_DumpNewPartTable  Proc
+        pushf
+        pusha
+
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset [NewPartTable]
+        call    AuxIO_DumpSector
+
+        popa
+        popf
+        ret
+DEBUG_DumpNewPartTable  EndP
+DEBUG_DumpNewPartTable  Proc
+        ret
+DEBUG_DumpNewPartTable  EndP
+ENDIF
+
+
+
+;
+; Dump the partition pointers table.
+;
+IF  0
+DEBUG_DumpPartitionPointers     Proc
+        pushf
+        pusha
+
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset [PartitionPointers]
+        mov     cx,7
+
+    DEBUG_DumpPartitionPointers_next:
+        call    AuxIO_DumpParagraph
+        add     si,16
+        call    AuxIO_TeletypeNL
+        loop    DEBUG_DumpPartitionPointers_next
+
+        popa
+        popf
+        ret
+DEBUG_DumpPartitionPointers     EndP
+ELSE
+DEBUG_DumpPartitionPointers     Proc
+        ret
+DEBUG_DumpPartitionPointers     EndP
+ENDIF
+
+
+
+;
+; Dump the partition x-ref table.
+;
+IF  0
+xrt     db  10,'XrefTable:',10,0
+DEBUG_DumpPartitionXref     Proc
+        pushf
+        pusha
+
+        mov     si, offset [xrt]
+        call    AuxIO_Print
+        ;~ call    AuxIO_TeletypeNL
+
+        mov     si,offset [PartitionXref]
+        mov     cx,3
+
+    DEBUG_DumpPartitionXref_next:
+        call    AuxIO_DumpParagraph
+        add     si,16
+        call    AuxIO_TeletypeNL
+        loop    DEBUG_DumpPartitionXref_next
+
+        popa
+        popf
+        ret
+DEBUG_DumpPartitionXref     EndP
+ELSE
+DEBUG_DumpPartitionXref     Proc
+        ret
+DEBUG_DumpPartitionXref     EndP
+ENDIF
+
+
+
+;
+; Dump the dl-feature drive-letters.
+;
+IF  0
+ddl     db  10,'Driveletters:',10,0
+DEBUG_DumpDriveLetters      Proc
+        pushf
+        pusha
+
+        mov     si, offset [ddl]
+        call    AuxIO_Print
+
+        ; Dump the old drive-letters as set with the dl-feature.
+        mov     si,offset [DriveLetters]
+        mov     cx,3
+    DEBUG_DumpDriveLetters_next_1:
+        call    AuxIO_DumpParagraph
+        add     si,16
+        call    AuxIO_TeletypeNL
+        loop    DEBUG_DumpDriveLetters_next_1
+
+        ; Dump the new drive-letters as composed when scanning partitions
+        ; and partitions were added or removed.
+        mov     si,offset [NewDriveLetters]
+        mov     cx,3
+    DEBUG_DumpDriveLetters_next_2:
+        call    AuxIO_DumpParagraph
+        add     si,16
+        call    AuxIO_TeletypeNL
+        loop    DEBUG_DumpDriveLetters_next_2
+
+        popa
+        popf
+        ret
+DEBUG_DumpDriveLetters      EndP
+ELSE
+DEBUG_DumpDriveLetters      Proc
+        ret
+DEBUG_DumpDriveLetters      EndP
+ENDIF
+
+
+
+;
+; Dump some disk information.
+;
+IF  0
+ddi     db  10,'DumpDiskInfo:',10,0
+DEBUG_DumpDiskInfo          Proc
+        pushf
+        pusha
+
+        add     al, 50h                 ; ASCII '0' to BIOS 80h, '1'->81h, etc.
+
+        mov     si, offset [ddi]
+        call    AuxIO_Print
+
+        call    AuxIO_TeletypeHexByte
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_DumpDiskInfo          EndP
+ELSE
+DEBUG_DumpDiskInfo          Proc
+        ret
+DEBUG_DumpDiskInfo          EndP
+ENDIF
+
+
+
+;
+; Dump the lvm volume drive-letters.
+;
+IF  0
+dvl     db  10,'VolumeLetters:',10,0
+DEBUG_DumpVolumeLetters     Proc
+        pushf
+        pusha
+
+        mov     si, offset [dvl]
+        call    AuxIO_Print
+
+        mov     si,offset [PartitionVolumeLetters]
+        mov     cx,3
+
+    DEBUG_DumpVolumeLetters_next:
+        call    AuxIO_DumpParagraph
+        add     si,16
+        call    AuxIO_TeletypeNL
+        loop    DEBUG_DumpVolumeLetters_next
+
+        popa
+        popf
+        ret
+DEBUG_DumpVolumeLetters     EndP
+ELSE
+DEBUG_DumpVolumeLetters     Proc
+        ret
+DEBUG_DumpVolumeLetters     EndP
+ENDIF
+
+
+
+;
+; Dump the registers.
+;
+IF  1
+regAX   db  'AX:',0
+regBX   db  ' BX:',0
+regCX   db  ' CX:',0
+regDX   db  ' DX:',0
+regSI   db  ' SI:',0
+regDI   db  ' DI:',0
+
+regBP   db  'CS:',0
+regSP   db  ' DS:',0
+regCS   db  ' ES:',0
+regSS   db  ' SS:',0
+regDS   db  ' SP:',0
+regES   db  ' BP:',0
+
+;~ regFS   db  'FS:',0
+;~ regGS   db  ' GS:',0
+DEBUG_DumpRegisters     Proc
+        pushf
+        pusha
+
+        push    si
+        mov     si, offset [regAX]
+        call    AuxIO_Print
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,bx
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,cx
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,dx
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        pop     ax
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,di
+        call    AuxIO_TeletypeHexWord
+        call    AuxIO_TeletypeNL
+
+
+
+        call    AuxIO_Print
+        mov     ax,cs
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,ds
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,es
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,ss
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,sp
+        call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_Print
+        mov     ax,bp
+        call    AuxIO_TeletypeHexWord
+        call    AuxIO_TeletypeNL
+
+        ;~ call    AuxIO_Print
+        ;~ mov     ax,fs
+        ;~ call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        ;~ call    AuxIO_Print
+        ;~ mov     ax,gs
+        ;~ call    AuxIO_TeletypeHexWord
+        ;~ call    AuxIO_TeletypeNL
+
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_DumpRegisters     EndP
+ELSE
+DEBUG_DumpRegisters     Proc
+        ret
+DEBUG_DumpRegisters     EndP
+ENDIF
+
+
+
+;
+; Dump CHS values.
+;
+IF  0
+DEBUG_DumpCHS   Proc    Near
+        pushf
+        pusha
+        mov     al,'C'
+        call    AuxIO_Teletype
+        mov     al,':'
+        call    AuxIO_Teletype
+        mov     ah,cl
+        shr     ah,6
+        mov     al,ch
+        call    AuxIO_TeletypeHexWord
+        mov     al,' '
+        call    AuxIO_Teletype
+        mov     al,'H'
+        call    AuxIO_Teletype
+        mov     al,':'
+        call    AuxIO_Teletype
+        mov     al,dh
+        call    AuxIO_TeletypeHexByte
+        mov     al,' '
+        call    AuxIO_Teletype
+        mov     al,'S'
+        call    AuxIO_Teletype
+        mov     al,':'
+        call    AuxIO_Teletype
+        mov     al,cl
+        and     al,00111111b
+        call    AuxIO_TeletypeHexByte
+        call    AuxIO_TeletypeNL
+        popa
+        popf
+        ret
+DEBUG_DumpCHS   EndP
+ELSE
+DEBUG_DumpCHS   Proc    Near
+        ret
+DEBUG_DumpCHS   EndP
+ENDIF
+
+
+
+;
+; Dump BSS.
+;
+IF  0
+DEBUG_DumpBSSSectors    Proc    Near
+        pushf
+        pusha
+
+        mov     si, offset [PartitionSector]
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+
+        mov     si, offset [PBRSector]
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+
+        mov     si, offset [LVMSector]
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+
+        mov     si, offset [TmpSector]
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+
+        mov     si, offset [NewPartTable]
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_DumpBSSSectors    EndP
+ELSE
+DEBUG_DumpBSSSectors    Proc    Near
+        ret
+DEBUG_DumpBSSSectors    EndP
+ENDIF
+
+
+
+;
+; Dump 6-bit packed hide partition table.
+;
+IF  0
+DEBUG_DumpHidePartTables    Proc    Near
+        pushf
+        pusha
+
+        mov     cx,3
+        mov     si, offset [HidePartitionTable]
+    again1:
+        call    AuxIO_DumpSector
+        add     si,512
+        loop    again1
+        call    AuxIO_TeletypeNL
+
+        mov     cx,3
+        mov     si, offset [PartitionXref]
+    again2:
+        call    AuxIO_DumpParagraph
+        call    AuxIO_TeletypeNL
+        add     si,16
+        loop    again2
+        call    AuxIO_TeletypeNL
+
+        mov     cx,3
+        mov     si, offset [NewHidePartTable]
+    again3:
+        call    AuxIO_DumpSector
+        add     si,512
+        loop    again3
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_DumpHidePartTables    EndP
+ELSE
+DEBUG_DumpHidePartTables    Proc    Near
+        ret
+DEBUG_DumpHidePartTables    EndP
+ENDIF
+
+
+
+; ============================================================== [ test stuff ]
 
 ;
@@ -514,21 +656,31 @@
 ;
 IF 1
+db_testbin2pbcd db "## TEST BIN2PBCD ##",10,0
 DEBUG_Test_CONV_BinToPBCD   Proc
         pushf
         pusha
+
+        ; Msg test bin2pbcd
+        mov     si,offset [db_testbin2pbcd]
+        call    AuxIO_Print
+
+        ; Start with 0
         xor     cx, cx
+
+        ; Print 0 - 255 as BYTE and packed BCD
     next_value:
-        mov     al, cl
-        call    AuxIO_TeletypeHexByte
+        mov     al, cl                  ; Current value
+        call    AuxIO_TeletypeHexByte   ; Print as byte
         mov     al, ' '
         call    AuxIO_Teletype
-        mov     al, cl
-        call    CONV_BinToPBCD
-        call    AuxIO_TeletypeHexWord
-        call    AuxIO_TeletypeNL
-
-        inc     cx
-        cmp     cx, 0ffh
-        jbe     next_value
+        mov     al, cl                  ; Current value
+        call    CONV_BinToPBCD          ; Convert to packed BCD
+        call    AuxIO_TeletypeHexWord   ; Print as word
+        call    AuxIO_TeletypeNL
+
+        inc     cx                      ; Next value
+        cmp     cx, 0ffh                ; Check for last valid value
+        jbe     next_value              ; Repeat if still in range
+
         popa
         popf
@@ -544,461 +696,113 @@
 
 ;
-; Dump the new  partitions table.
-;
-IF  0
-DEBUG_DumpNewPartTable  Proc
-        pushf
-        pusha
-
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset [NewPartTable]
-        call    AuxIO_DumpSector
-
-        popa
-        popf
-        ret
-DEBUG_DumpNewPartTable  EndP
-DEBUG_DumpNewPartTable  Proc
-        ret
-DEBUG_DumpNewPartTable  EndP
-ENDIF
-
-
-
-;
-; Dump the partition pointers table.
-;
-IF  0
-DEBUG_DumpPartitionPointers     Proc
-        pushf
-        pusha
-
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset [PartitionPointers]
-        mov     cx,7
-
-    DEBUG_DumpPartitionPointers_next:
-        call    AuxIO_DumpParagraph
-        add     si,16
-        call    AuxIO_TeletypeNL
-        loop    DEBUG_DumpPartitionPointers_next
-
-        popa
-        popf
-        ret
-DEBUG_DumpPartitionPointers     EndP
-ELSE
-DEBUG_DumpPartitionPointers     Proc
-        ret
-DEBUG_DumpPartitionPointers     EndP
-ENDIF
-
-
-
-;
-; Dump the partition x-ref table.
-;
-IF  0
-xrt     db  10,'XrefTable:',10,0
-DEBUG_DumpPartitionXref     Proc
-        pushf
-        pusha
-
-        mov     si, offset [xrt]
-        call    AuxIO_Print
-        ;~ call    AuxIO_TeletypeNL
-
-        mov     si,offset [PartitionXref]
-        mov     cx,3
-
-    DEBUG_DumpPartitionXref_next:
-        call    AuxIO_DumpParagraph
-        add     si,16
-        call    AuxIO_TeletypeNL
-        loop    DEBUG_DumpPartitionXref_next
-
-        popa
-        popf
-        ret
-DEBUG_DumpPartitionXref     EndP
-ELSE
-DEBUG_DumpPartitionXref     Proc
-        ret
-DEBUG_DumpPartitionXref     EndP
-ENDIF
-
-
-
-;
-; Dump the dl-feature drive-letters.
-;
-IF  0
-ddl     db  10,'Driveletters:',10,0
-DEBUG_DumpDriveLetters      Proc
-        pushf
-        pusha
-
-        mov     si, offset [ddl]
-        call    AuxIO_Print
-
-        ; Dump the old drive-letters as set with the dl-feature.
-        mov     si,offset [DriveLetters]
-        mov     cx,3
-    DEBUG_DumpDriveLetters_next_1:
-        call    AuxIO_DumpParagraph
-        add     si,16
-        call    AuxIO_TeletypeNL
-        loop    DEBUG_DumpDriveLetters_next_1
-
-        ; Dump the new drive-letters as composed when scanning partitions
-        ; and partitions were added or removed.
-        mov     si,offset [NewDriveLetters]
-        mov     cx,3
-    DEBUG_DumpDriveLetters_next_2:
-        call    AuxIO_DumpParagraph
-        add     si,16
-        call    AuxIO_TeletypeNL
-        loop    DEBUG_DumpDriveLetters_next_2
-
-        popa
-        popf
-        ret
-DEBUG_DumpDriveLetters      EndP
-ELSE
-DEBUG_DumpDriveLetters      Proc
-        ret
-DEBUG_DumpDriveLetters      EndP
-ENDIF
-
-
-
-;
-; Dump some disk information.
-;
-IF  0
-ddi     db  10,'DumpDiskInfo:',10,0
-DEBUG_DumpDiskInfo          Proc
-        pushf
-        pusha
-
-        add     al, 50h                 ; ASCII '0' to BIOS 80h, '1'->81h, etc.
-
-        mov     si, offset [ddi]
-        call    AuxIO_Print
-
-        call    AuxIO_TeletypeHexByte
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_DumpDiskInfo          EndP
-ELSE
-DEBUG_DumpDiskInfo          Proc
-        ret
-DEBUG_DumpDiskInfo          EndP
-ENDIF
-
-
-
-;
-; Dump the lvm volume drive-letters.
-;
-IF  0
-dvl     db  10,'VolumeLetters:',10,0
-DEBUG_DumpVolumeLetters     Proc
-        pushf
-        pusha
-
-        mov     si, offset [dvl]
-        call    AuxIO_Print
-
-        mov     si,offset [PartitionVolumeLetters]
-        mov     cx,3
-
-    DEBUG_DumpVolumeLetters_next:
-        call    AuxIO_DumpParagraph
-        add     si,16
-        call    AuxIO_TeletypeNL
-        loop    DEBUG_DumpVolumeLetters_next
-
-        popa
-        popf
-        ret
-DEBUG_DumpVolumeLetters     EndP
-ELSE
-DEBUG_DumpVolumeLetters     Proc
-        ret
-DEBUG_DumpVolumeLetters     EndP
-ENDIF
-
-
-
-;
-; Dump the registers.
-;
-IF  1
-regAX   db  'AX:',0
-regBX   db  ' BX:',0
-regCX   db  ' CX:',0
-regDX   db  ' DX:',0
-regSI   db  ' SI:',0
-regDI   db  ' DI:',0
-
-regBP   db  'CS:',0
-regSP   db  ' DS:',0
-regCS   db  ' ES:',0
-regSS   db  ' SS:',0
-regDS   db  ' SP:',0
-regES   db  ' BP:',0
-
-;~ regFS   db  'FS:',0
-;~ regGS   db  ' GS:',0
-DEBUG_DumpRegisters     Proc
-        pushf
-        pusha
-
-        push    si
-        mov     si, offset [regAX]
-        call    AuxIO_Print
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,bx
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,cx
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,dx
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        pop     ax
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,di
-        call    AuxIO_TeletypeHexWord
-        call    AuxIO_TeletypeNL
-
-
-
-        call    AuxIO_Print
-        mov     ax,cs
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,ds
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,es
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,ss
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,sp
-        call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_Print
-        mov     ax,bp
-        call    AuxIO_TeletypeHexWord
-        call    AuxIO_TeletypeNL
-
-        ;~ call    AuxIO_Print
-        ;~ mov     ax,fs
-        ;~ call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        ;~ call    AuxIO_Print
-        ;~ mov     ax,gs
-        ;~ call    AuxIO_TeletypeHexWord
-        ;~ call    AuxIO_TeletypeNL
-
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_DumpRegisters     EndP
-ELSE
-DEBUG_DumpRegisters     Proc
-        ret
-DEBUG_DumpRegisters     EndP
-ENDIF
-
-
-
-;
-; Dump CHS values.
-;
-IF  0
-DEBUG_DumpCHS   Proc    Near
-        pushf
-        pusha
-        mov     al,'C'
-        call    AuxIO_Teletype
-        mov     al,':'
-        call    AuxIO_Teletype
-        mov     ah,cl
-        shr     ah,6
-        mov     al,ch
-        call    AuxIO_TeletypeHexWord
+; Test the simple 32-bit math functions.
+;
+IF  0
+db_testmul32   db "## TEST MUL32 ##",10,0
+DEBUG_Test_MATH_Mul32   Proc    Near
+        pushf
+        pusha
+
+        ; Msg test math-module
+        mov     si,offset [db_testmul32]
+        call    AuxIO_Print
+
+        ; Output hex-word
+        mov     ax,0BABEh
+        call    AuxIO_TeletypeHexWord
+
         mov     al,' '
         call    AuxIO_Teletype
-        mov     al,'H'
-        call    AuxIO_Teletype
-        mov     al,':'
-        call    AuxIO_Teletype
-        mov     al,dh
-        call    AuxIO_TeletypeHexByte
+        mov     al,'*'
+        call    AuxIO_Teletype
         mov     al,' '
         call    AuxIO_Teletype
-        mov     al,'S'
-        call    AuxIO_Teletype
-        mov     al,':'
-        call    AuxIO_Teletype
-        mov     al,cl
-        and     al,00111111b
-        call    AuxIO_TeletypeHexByte
-        call    AuxIO_TeletypeNL
-        popa
-        popf
-        ret
-DEBUG_DumpCHS   EndP
-ELSE
-DEBUG_DumpCHS   Proc    Near
-        ret
-DEBUG_DumpCHS   EndP
-ENDIF
-
-
-
-;
-; Dump BSS.
-;
-IF  0
-DEBUG_DumpBSSSectors    Proc    Near
-        pushf
-        pusha
-
-        mov     si, offset [PartitionSector]
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-
-        mov     si, offset [PBRSector]
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-
-        mov     si, offset [LVMSector]
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-
-        mov     si, offset [TmpSector]
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-
-        mov     si, offset [NewPartTable]
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_DumpBSSSectors    EndP
-ELSE
-DEBUG_DumpBSSSectors    Proc    Near
-        ret
-DEBUG_DumpBSSSectors    EndP
-ENDIF
-
-
-
-;
-; Dump 6-bit packed hide partition table.
-;
-IF  0
-DEBUG_DumpHidePartTables    Proc    Near
-        pushf
-        pusha
-
-        mov     cx,3
-        mov     si, offset [HidePartitionTable]
-    again1:
-        call    AuxIO_DumpSector
-        add     si,512
-        loop    again1
-        call    AuxIO_TeletypeNL
-
-        mov     cx,3
-        mov     si, offset [PartitionXref]
-    again2:
-        call    AuxIO_DumpParagraph
-        call    AuxIO_TeletypeNL
-        add     si,16
-        loop    again2
-        call    AuxIO_TeletypeNL
-
-        mov     cx,3
-        mov     si, offset [NewHidePartTable]
-    again3:
-        call    AuxIO_DumpSector
-        add     si,512
-        loop    again3
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_DumpHidePartTables    EndP
-ELSE
-DEBUG_DumpHidePartTables    Proc    Near
-        ret
-DEBUG_DumpHidePartTables    EndP
-ENDIF
-
-
-
-;
-; Check the bitfield routines.
-;
-IF  0
-DEBUG_CheckBitFields    Proc
-        pushf
-        pusha
-
-        mov     bx,offset [ott]
+
+        ; Output hex-word
+        mov     ax,0BABEh
+        call    AuxIO_TeletypeHexWord
+
+        mov     al,' '
+        call    AuxIO_Teletype
+        mov     al,'='
+        call    AuxIO_Teletype
+        mov     al,' '
+        call    AuxIO_Teletype
+
+        mov     ax,0BABEh
+        mul     ax
+        call    AuxIO_TeletypeHexDWord
+
+        ; Start new line
+        call    AuxIO_TeletypeNL
+
+        ; Output hex-dword
+        mov     dx,0DEADh
+        mov     ax,0FACEh
+        call    AuxIO_TeletypeHexDWord
+
+        mov     al,' '
+        call    AuxIO_Teletype
+        mov     al,'*'
+        call    AuxIO_Teletype
+        mov     al,' '
+        call     AuxIO_Teletype
+
+        ; Output hex-dword
+        mov     dx,0DEADh
+        mov     ax,0FACEh
+        call    AuxIO_TeletypeHexDWord
+
+        mov     al,' '
+        call    AuxIO_Teletype
+        mov     al,'='
+        call    AuxIO_Teletype
+        mov     al,' '
+        call    AuxIO_Teletype
+
+        mov     bx,0DEADh
+        mov     cx,0FACEh
+        mov     dx,0DEADh
+        mov     ax,0FACEh
+        call    MATH_Mul32
+        call    AuxIO_TeletypeHexQWord
+
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_Test_MATH_Mul32   EndP
+ELSE
+DEBUG_Test_MATH_Mul32   Proc    Near
+        ret
+DEBUG_Test_MATH_Mul32   EndP
+ENDIF
+
+
+
+;
+; Test the bitfield routines.
+;
+IF  0
+DEBUG_TestBitFieldFunctions Proc
+        pushf
+        pusha
+
+        mov     bx,offset [dbg_scratch]
 
         mov     al,0
         mov     dl,0
         mov     dh,6
-    DEBUG_CheckBitFields_next_write:
+    DEBUG_TestBitFieldFunctions_next_write:
         call    CONV_SetBitfieldValue
         inc     al
         inc     dl
-        jnz     DEBUG_CheckBitFields_next_write
+        jnz     DEBUG_TestBitFieldFunctions_next_write
 
         mov     dl,0
         mov     dh,6
-    DEBUG_CheckBitFields_next_read:
+    DEBUG_TestBitFieldFunctions_next_read:
         mov     al,dl
         call    AuxIO_TeletypeHexByte
@@ -1009,112 +813,20 @@
         call    AuxIO_TeletypeNL
         inc     dl
-        jnz     DEBUG_CheckBitFields_next_read
-
-        popa
-        popf
-        ret
-DEBUG_CheckBitFields    EndP
-ELSE
-DEBUG_CheckBitFields    Proc
-        ret
-DEBUG_CheckBitFields    EndP
-ENDIF
-
-
-
-;
-; Dump information before the partition is booted.
-;
-IF  0
-DEBUG_Dump2     Proc  Near
-        pushf
-        pusha
-
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_config
-        call    AuxIO_Print
-
-        mov     si,offset db_cfgparts
-        call    AuxIO_Print
-        mov     al,[CFG_Partitions]
-        call    AuxIO_TeletypeHexByte
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_cfgpartdef
-        call    AuxIO_Print
-        mov     al,[CFG_PartDefault]
-        call    AuxIO_TeletypeHexByte
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_cfgpartlast
-        call    AuxIO_Print
-        mov     al,[CFG_PartLast]
-        call    AuxIO_TeletypeHexByte
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_vars
-        call    AuxIO_Print
-
-        mov     si,offset db_newpart
-        call    AuxIO_Print
-        mov     si,offset NewPartTable
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        add     si,512
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_newhide
-        call    AuxIO_Print
-        mov     si,offset NewHidePartTable
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        add     si,512
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_dletters
-        call    AuxIO_Print
-        mov     si,offset NewDriveLetters
-        call    AuxIO_DumpParagraph
-        call    AuxIO_TeletypeNL
-        add     si,16
-        call    AuxIO_DumpParagraph
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_tmpec
-        call    AuxIO_Print
-        mov     si,offset TmpSector
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        mov     si,offset db_partsec
-        call    AuxIO_Print
-        mov     si,offset PartitionSector
-        call    AuxIO_DumpSector
-        call    AuxIO_TeletypeNL
-        call    AuxIO_TeletypeNL
-
-        popa
-        popf
-        ret
-DEBUG_Dump2     EndP
-ELSE
-DEBUG_Dump2     Proc  Near
-        ret
-DEBUG_Dump2     EndP
-ENDIF
-
-
-
-;
-; Like the MBR version, but uses video page 3
+        jnz     DEBUG_TestBitFieldFunctions_next_read
+
+        popa
+        popf
+        ret
+DEBUG_TestBitFieldFunctions EndP
+ELSE
+DEBUG_TestBitFieldFunctions Proc
+        ret
+DEBUG_TestBitFieldFunctions EndP
+ENDIF
+
+
+
+;
+; Like the MBR version, but uses video page 3.
 ;
 DBG_Teletype    Proc Near   Uses ax bx cx
@@ -1135,4 +847,305 @@
 
 ;
+; Dump information before the menu is displayed.
+;
+DEBUG_Dump1     Proc  Near
+        pushf
+        pusha
+
+        ; Hello message
+        mov     si, offset AuxIOHello
+        call    AuxIO_Print
+
+        ; Build Info
+        ;~ mov     si, offset BUILD_DATE
+        ;~ call    AuxIO_Print
+        call    AuxIO_PrintBuildInfo
+
+        ; Start new line
+        call    AuxIO_TeletypeNL
+        ;~ call    AuxIO_TeletypeNL
+
+        ;~ call    DEBUG_DumpHidePartTables
+        ;~ call    DEBUG_CheckMath
+        ;~ call    DEBUG_DumpGeo
+        ;~ call    DEBUG_CheckBitFields
+
+        popa
+        popf
+        ret
+DEBUG_Dump1     EndP
+
+
+
+;
+; Dump information before the partition is booted.
+;
+IF  0
+DEBUG_Dump2     Proc  Near
+        pushf
+        pusha
+
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_config
+        call    AuxIO_Print
+
+        mov     si,offset db_cfgparts
+        call    AuxIO_Print
+        mov     al,[CFG_Partitions]
+        call    AuxIO_TeletypeHexByte
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_cfgpartdef
+        call    AuxIO_Print
+        mov     al,[CFG_PartDefault]
+        call    AuxIO_TeletypeHexByte
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_cfgpartlast
+        call    AuxIO_Print
+        mov     al,[CFG_PartLast]
+        call    AuxIO_TeletypeHexByte
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_vars
+        call    AuxIO_Print
+
+        mov     si,offset db_newpart
+        call    AuxIO_Print
+        mov     si,offset NewPartTable
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        add     si,512
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_newhide
+        call    AuxIO_Print
+        mov     si,offset NewHidePartTable
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        add     si,512
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_dletters
+        call    AuxIO_Print
+        mov     si,offset NewDriveLetters
+        call    AuxIO_DumpParagraph
+        call    AuxIO_TeletypeNL
+        add     si,16
+        call    AuxIO_DumpParagraph
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_tmpec
+        call    AuxIO_Print
+        mov     si,offset TmpSector
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        mov     si,offset db_partsec
+        call    AuxIO_Print
+        mov     si,offset PartitionSector
+        call    AuxIO_DumpSector
+        call    AuxIO_TeletypeNL
+        call    AuxIO_TeletypeNL
+
+        popa
+        popf
+        ret
+DEBUG_Dump2     EndP
+ELSE
+DEBUG_Dump2     Proc  Near
+        ret
+DEBUG_Dump2     EndP
+ENDIF
+
+
+
+;
+; Display a number that was put on the stack.
+; Used to track code-flow.
+;
+dbp     db  '>---------->> DebugProbe: ',0
+DEBUG_Probe     Proc
+        push    bp
+        mov     bp,sp
+        pushf
+        pusha
+
+        mov     si,offset [dbp]         ; Default probe-text.
+        call    AuxIO_Print
+        mov     ax,[bp+04]              ; Get probe-number from stack.
+        call    AuxIO_TeletypeHexWord
+        call    AuxIO_TeletypeNL
+
+        ; Also display registers.
+        popa
+        pusha
+        call    DEBUG_DumpRegisters
+
+        popa
+        popf
+        pop     bp
+        ret     2
+DEBUG_Probe     Endp
+
+
+
+;
+; Toggle display of debug video page.
+;
+IF  0
+DEBUG_DebugScreenToggle Proc
+        pushf
+        pusha
+
+        mov     si, offset $+5
+        jmp     @F
+        db      10,'DebugScreenToggle:',10,0
+prvpg   db      00h
+hdr     db      10,'[Debug Console]',13,10,0
+@@:     call    AuxIO_Print
+
+        ; Get current page in BH
+        mov     ah, 0fh
+        int     10h
+
+        ; Already debug page ?
+        cmp     bh, 03h
+        je      DEBUG_DebugScreenToggle_back
+
+        ; Remember page
+        mov     [prvpg], bh
+
+        ; Switch to debug page
+        mov     al, 03h
+        mov     ah, 05h
+        int     10h
+
+        ; Get cursor position in DX (DH=row, DL=column)
+        ;~ mov     ah, 03h
+        ;~ mov     bh, 03h
+        ;~ int     10h
+
+        ;~ mov     al, 01h
+        ;~ mov     bh, 03h
+        ;~ mov     bl, 07h
+        ;~ mov     bp, offset [hdr]
+        ;~ mov     cx, sizeof(hdr)
+        ;~ mov     ah, 13h
+        ;~ int     10h
+
+        ;~ mov     bh, 03h
+        ;~ mov     dh, 00h
+        ;~ mov     dl, 00h
+        ;~ mov     ah, 02h
+        ;~ int     10h
+
+        mov     si, offset [hdr]
+        call    DBG_Teletype
+
+        jmp     DEBUG_DebugScreenToggle_end
+
+    DEBUG_DebugScreenToggle_back:
+        ; Switch back to previous page
+        mov     al, [prvpg]
+        mov     ah, 05h
+        int     10h
+        jmp     DEBUG_DebugScreenToggle_end
+
+    DEBUG_DebugScreenToggle_end:
+        popa
+        popf
+        ret
+DEBUG_DebugScreenToggle EndP
+ELSE
+DEBUG_DebugScreenToggle Proc
+        ret
+DEBUG_DebugScreenToggle EndP
+ENDIF
+
+
+
+;
+; Handle keypresses when the main menu is active.
+;
+DEBUG_HandleKeypress    Proc
+        pushf
+        pusha
+
+        ; Save hot-key
+        mov     dl,al
+
+        ; Check for digit.
+        cmp     al,'0'
+        jb      DEBUG_HandleKeypress_exit
+        cmp     al,'9'
+        ja      DEBUG_HandleKeypress_try_alpha
+        ; It was a digit, dump disk info ('0' for 80h, '1' for 81h, etc)
+        call    DEBUG_DumpDiskInfo
+        ;~ jmp     DEBUG_HandleKeypress_check_it
+        jmp     DEBUG_HandleKeypress_exit
+
+        ; Check for alpha.
+    DEBUG_HandleKeypress_try_alpha:
+        ; Force upper-case.
+        and     al,11011111b
+        cmp     al,'A'
+        jb      DEBUG_HandleKeypress_exit
+        cmp     al,'Z'
+        ja      DEBUG_HandleKeypress_exit
+        ; It was an alpha.
+        jmp     DEBUG_HandleKeypress_check_it
+
+
+        ; Check if the key is a hot-key.
+    DEBUG_HandleKeypress_check_it:
+        cld
+        mov     si,offset dbg_dispatch
+
+        ; Loop over jump-list.
+    DEBUG_HandleKeypress_next_entry:
+
+        ; Load the hot-key.
+        lodsb
+        ; No hot-key (not implemented) if end-of-list.
+        test    al,al
+        jz      DEBUG_HandleKeypress_ni
+
+        ; Compare hot-key and iterate if not the same.
+        cmp     dl,al
+        lodsw
+        jne     DEBUG_HandleKeypress_next_entry
+
+        ; Entry found, call corresponding routine.
+        mov     bx,ax
+        call    bx
+
+        ; Done.
+        jmp     DEBUG_HandleKeypress_exit
+
+        ; Call not-assigned routine.
+    DEBUG_HandleKeypress_ni:
+        call    DEBUG_NotAssigned
+        jmp     DEBUG_HandleKeypress_exit
+
+        ; Return to caller.
+    DEBUG_HandleKeypress_exit:
+        popa
+        popf
+        ret
+DEBUG_HandleKeypress    Endp
+
+
+
+;
 ; These strings can also be referenced outside the debug module when debugging
 ; is enabled.
