Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 43256)
+++ /trunk/Config.kmk	(revision 43257)
@@ -209,12 +209,12 @@
 #       publisher so that RTStrVersionCompare have a chance of comparing
 #       prerelease from different publishers correctly.
-VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC3$(VBOX_BUILD_PUBLISHER)
+VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC4$(VBOX_BUILD_PUBLISHER)
 
 # Force the additions.sh script to get an exact additions build when we're doing the release.
 ifeq ($(int-mod $(VBOX_VERSION_BUILD),2),0)
-# export VBOX_ADDITIONS_SH_MODE     = release
-# export VBOX_DOCUMENTATION_SH_MODE = release
-# export VBOX_EFI_SH_MODE           = release
-# export VBOX_EXTPACKS_SH_MODE      = release
+ export VBOX_ADDITIONS_SH_MODE     = release
+ export VBOX_DOCUMENTATION_SH_MODE = release
+ export VBOX_EFI_SH_MODE           = release
+ export VBOX_EXTPACKS_SH_MODE      = release
 endif
 
Index: /trunk/debian/changelog
===================================================================
--- /trunk/debian/changelog	(revision 43256)
+++ /trunk/debian/changelog	(revision 43257)
@@ -1,2 +1,8 @@
+virtualbox-ose (4.2.0~rc4) unstable; urgency=low
+
+  * rebuild Debian package. NOTE: this is a release candidate, so do not use on production setups.
+
+ -- Oracle Corporation <info@virtualbox.org>  Sat, 08 Sep 2012 12:00:00 +0200
+
 virtualbox-ose (4.2.0~rc3) unstable; urgency=low
 
Index: /trunk/doc/manual/user_ChangeLogImpl.xml
===================================================================
--- /trunk/doc/manual/user_ChangeLogImpl.xml	(revision 43256)
+++ /trunk/doc/manual/user_ChangeLogImpl.xml	(revision 43257)
@@ -2,5 +2,5 @@
 
   <sect1>
-    <title>Version 4.2.0 Release Candidate 3 (2012-08-29)</title>
+    <title>Version 4.2.0 Release Candidate 4 (2012-09-08)</title>
 
     <para>This is a major update. The following major new features
@@ -64,4 +64,15 @@
         <para>Mac OS X hosts: sign application and installer to avoid warnings
         on Mountain Lion</para>
+      </listitem>
+
+      <listitem>
+        <para>VMM: fixed a potential host crash triggered by shutting down a VM
+          when another VM was running (only affected 32-bit hosts and 64-bit OS X hosts,
+          4.1 regression, bug #9897)</para>
+      </listitem>
+
+      <listitem>
+        <para>VMM: fixed a potential host crash under a high guest memory pressure
+          (seen with Windows 8 guests)</para>
       </listitem>
 
Index: /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 43256)
+++ /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 43257)
@@ -388,5 +388,5 @@
 # vboxvideo_drv_113
 #
-DLLS += vboxvideo_drv_113
+#DLLS += vboxvideo_drv_113
 vboxvideo_drv_113_TEMPLATE = VBOXGUESTR3XORGMOD
 vboxvideo_drv_113_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
@@ -527,11 +527,11 @@
 	$(QUIET)$(APPEND) -t "$@" "done"
 
-     TESTING += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
-     OTHERS += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
-$$(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run: $$(vboxvideo_drv_113_1_STAGE_TARGET)
-	$(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
-	$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST)  \
-	    $(vboxvideo_drv_113_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
-	$(QUIET)$(APPEND) -t "$@" "done"
+#     TESTING += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
+#     OTHERS += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
+#$$(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run: $$(vboxvideo_drv_113_1_STAGE_TARGET)
+#	$(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
+#	$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST)  \
+#	    $(vboxvideo_drv_113_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
+#	$(QUIET)$(APPEND) -t "$@" "done"
 
     endif # ! VBOX_ONLY_SDK
Index: /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm
===================================================================
--- /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm	(revision 43256)
+++ /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm	(revision 43257)
@@ -118,6 +118,4 @@
 ;  //
 ;  // ============================================================================================
-;  #include <inttypes.h>
-;  #include "vgabios.h"
 
 ;
@@ -157,9 +155,9 @@
 
 
-section VGAROM progbits vstart=0x0 align=1 ; size=0x971 class=CODE group=AUTO
-    db  055h, 0aah, 040h, 0e9h, 068h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+section VGAROM progbits vstart=0x0 align=1 ; size=0x92e class=CODE group=AUTO
+    db  055h, 0aah, 040h, 0e9h, 05fh, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h
     db  04dh, 000h
-vgabios_int10_handler:                       ; 0xc0022 LB 0x593
+vgabios_int10_handler:                       ; 0xc0022 LB 0x575
     pushfw                                    ; 9c
     cmp ah, 00fh                              ; 80 fc 0f
@@ -215,29 +213,29 @@
     cmp AL, strict byte 003h                  ; 3c 03
     jne short 000afh                          ; 75 05
-    call 007eah                               ; e8 3d 07
+    call 007a7h                               ; e8 fa 06
     jmp short 000f3h                          ; eb 44
     cmp AL, strict byte 005h                  ; 3c 05
     jne short 000b8h                          ; 75 05
-    call 0080fh                               ; e8 59 07
+    call 007cch                               ; e8 16 07
     jmp short 000f3h                          ; eb 3b
     cmp AL, strict byte 006h                  ; 3c 06
     jne short 000c1h                          ; 75 05
-    call 0083ch                               ; e8 7d 07
+    call 007f9h                               ; e8 3a 07
     jmp short 000f3h                          ; eb 32
     cmp AL, strict byte 007h                  ; 3c 07
     jne short 000cah                          ; 75 05
-    call 00889h                               ; e8 c1 07
+    call 00846h                               ; e8 7e 07
     jmp short 000f3h                          ; eb 29
     cmp AL, strict byte 008h                  ; 3c 08
     jne short 000d3h                          ; 75 05
-    call 008bdh                               ; e8 ec 07
+    call 0087ah                               ; e8 a9 07
     jmp short 000f3h                          ; eb 20
     cmp AL, strict byte 009h                  ; 3c 09
     jne short 000dch                          ; 75 05
-    call 008f4h                               ; e8 1a 08
+    call 008b1h                               ; e8 d7 07
     jmp short 000f3h                          ; eb 17
     cmp AL, strict byte 00ah                  ; 3c 0a
     jne short 000e5h                          ; 75 05
-    call 00958h                               ; e8 75 08
+    call 00915h                               ; e8 32 08
     jmp short 000f3h                          ; eb 0e
     push ES                                   ; 06
@@ -246,5 +244,5 @@
     mov bx, 0c000h                            ; bb 00 c0
     mov ds, bx                                ; 8e db
-    call 03058h                               ; e8 68 2f
+    call 02fb4h                               ; e8 c4 2e
     popaw                                     ; 61
     pop DS                                    ; 1f
@@ -954,22 +952,4 @@
     push dx                                   ; 52
     mov dx, 001ceh                            ; ba ce 01
-    mov ax, strict word 00000h                ; b8 00 00
-    out DX, ax                                ; ef
-    mov dx, 001cfh                            ; ba cf 01
-    in ax, DX                                 ; ed
-    pop dx                                    ; 5a
-    retn                                      ; c3
-    push dx                                   ; 52
-    push ax                                   ; 50
-    mov dx, 001ceh                            ; ba ce 01
-    mov ax, strict word 00000h                ; b8 00 00
-    out DX, ax                                ; ef
-    pop ax                                    ; 58
-    mov dx, 001cfh                            ; ba cf 01
-    out DX, ax                                ; ef
-    pop dx                                    ; 5a
-    retn                                      ; c3
-    push dx                                   ; 52
-    mov dx, 001ceh                            ; ba ce 01
     mov ax, strict word 00003h                ; b8 03 00
     out DX, ax                                ; ef
@@ -977,22 +957,22 @@
     in ax, DX                                 ; ed
     cmp AL, strict byte 004h                  ; 3c 04
-    jbe short 005b3h                          ; 76 0b
+    jbe short 00595h                          ; 76 0b
     db  08ah, 0e0h
     ; mov ah, al                                ; 8a e0
     shr ah, 003h                              ; c0 ec 03
     test AL, strict byte 007h                 ; a8 07
-    je short 005b3h                           ; 74 02
+    je short 00595h                           ; 74 02
     db  0feh, 0c4h
     ; inc ah                                    ; fe c4
     pop dx                                    ; 5a
     retn                                      ; c3
-_dispi_get_max_bpp:                          ; 0xc05b5 LB 0x22
+_dispi_get_max_bpp:                          ; 0xc0597 LB 0x22
     push dx                                   ; 52
     push bx                                   ; 53
-    call 005e7h                               ; e8 2d 00
+    call 005c9h                               ; e8 2d 00
     db  08bh, 0d8h
     ; mov bx, ax                                ; 8b d8
     or ax, strict byte 00002h                 ; 83 c8 02
-    call 005d7h                               ; e8 15 00
+    call 005b9h                               ; e8 15 00
     mov dx, 001ceh                            ; ba ce 01
     mov ax, strict word 00003h                ; b8 03 00
@@ -1003,10 +983,10 @@
     db  08bh, 0c3h
     ; mov ax, bx                                ; 8b c3
-    call 005d7h                               ; e8 04 00
+    call 005b9h                               ; e8 04 00
     pop ax                                    ; 58
     pop bx                                    ; 5b
     pop dx                                    ; 5a
     retn                                      ; c3
-dispi_set_enable_:                           ; 0xc05d7 LB 0x1e
+dispi_set_enable_:                           ; 0xc05b9 LB 0x1e
     push dx                                   ; 52
     push ax                                   ; 50
@@ -1027,5 +1007,5 @@
     pop dx                                    ; 5a
     retn                                      ; c3
-dispi_set_bank_:                             ; 0xc05f5 LB 0x1e
+dispi_set_bank_:                             ; 0xc05d7 LB 0x1e
     push dx                                   ; 52
     push ax                                   ; 50
@@ -1046,10 +1026,10 @@
     pop dx                                    ; 5a
     retn                                      ; c3
-_dispi_set_bank_farcall:                     ; 0xc0613 LB 0xbe
+_dispi_set_bank_farcall:                     ; 0xc05f5 LB 0xbe
     cmp bx, 00100h                            ; 81 fb 00 01
-    je short 00637h                           ; 74 1e
+    je short 00619h                           ; 74 1e
     db  00bh, 0dbh
     ; or bx, bx                                 ; 0b db
-    jne short 00645h                          ; 75 28
+    jne short 00627h                          ; 75 28
     db  08bh, 0c2h
     ; mov ax, dx                                ; 8b c2
@@ -1066,5 +1046,5 @@
     db  03bh, 0d0h
     ; cmp dx, ax                                ; 3b d0
-    jne short 00645h                          ; 75 12
+    jne short 00627h                          ; 75 12
     mov ax, strict word 0004fh                ; b8 4f 00
     retf                                      ; cb
@@ -1120,7 +1100,7 @@
     db  08bh, 0d8h
     ; mov bx, ax                                ; 8b d8
-    call 00598h                               ; e8 0b ff
+    call 0057ah                               ; e8 0b ff
     cmp AL, strict byte 004h                  ; 3c 04
-    jnbe short 00693h                         ; 77 02
+    jnbe short 00675h                         ; 77 02
     shr bx, 1                                 ; d1 eb
     shr bx, 003h                              ; c1 eb 03
@@ -1134,5 +1114,5 @@
     pop ax                                    ; 58
     retn                                      ; c3
-    call 00685h                               ; e8 e0 ff
+    call 00667h                               ; e8 e0 ff
     push dx                                   ; 52
     push ax                                   ; 50
@@ -1161,5 +1141,5 @@
     pop dx                                    ; 5a
     retn                                      ; c3
-_vga_compat_setup:                           ; 0xc06d1 LB 0xe1
+_vga_compat_setup:                           ; 0xc06b3 LB 0xe1
     push ax                                   ; 50
     push dx                                   ; 52
@@ -1182,5 +1162,5 @@
     out DX, ax                                ; ef
     pop ax                                    ; 58
-    call 00685h                               ; e8 90 ff
+    call 00667h                               ; e8 90 ff
     mov dx, 001ceh                            ; ba ce 01
     mov ax, strict word 00002h                ; b8 02 00
@@ -1202,8 +1182,8 @@
     and AL, strict byte 0bdh                  ; 24 bd
     test ah, 001h                             ; f6 c4 01
-    je short 00719h                           ; 74 02
+    je short 006fbh                           ; 74 02
     or AL, strict byte 002h                   ; 0c 02
     test ah, 002h                             ; f6 c4 02
-    je short 00720h                           ; 74 02
+    je short 00702h                           ; 74 02
     or AL, strict byte 040h                   ; 0c 40
     out DX, AL                                ; ee
@@ -1246,5 +1226,5 @@
     in ax, DX                                 ; ed
     cmp AL, strict byte 008h                  ; 3c 08
-    jc short 007b0h                           ; 72 40
+    jc short 00792h                           ; 72 40
     mov dx, 003d4h                            ; ba d4 03
     mov AL, strict byte 014h                  ; b0 14
@@ -1283,5 +1263,5 @@
     pop dx                                    ; 5a
     pop ax                                    ; 58
-_vbe_has_vbe_display:                        ; 0xc07b2 LB 0x13
+_vbe_has_vbe_display:                        ; 0xc0794 LB 0x13
     push DS                                   ; 1e
     push bx                                   ; 53
@@ -1296,34 +1276,16 @@
     pop DS                                    ; 1f
     retn                                      ; c3
-_vbe_init:                                   ; 0xc07c5 LB 0x25
-    mov ax, 0b0c0h                            ; b8 c0 b0
-    call 00588h                               ; e8 bd fd
-    call 0057ah                               ; e8 ac fd
-    cmp ax, 0b0c0h                            ; 3d c0 b0
-    jne short 007e9h                          ; 75 16
+vbe_biosfn_return_current_mode:              ; 0xc07a7 LB 0x25
     push DS                                   ; 1e
-    push bx                                   ; 53
     mov ax, strict word 00040h                ; b8 40 00
     mov ds, ax                                ; 8e d8
-    mov bx, 000b9h                            ; bb b9 00
-    mov AL, strict byte 001h                  ; b0 01
-    mov byte [bx], al                         ; 88 07
-    pop bx                                    ; 5b
-    pop DS                                    ; 1f
-    mov ax, 0b0c4h                            ; b8 c4 b0
-    call 00588h                               ; e8 9f fd
-    retn                                      ; c3
-vbe_biosfn_return_current_mode:              ; 0xc07ea LB 0x25
-    push DS                                   ; 1e
-    mov ax, strict word 00040h                ; b8 40 00
-    mov ds, ax                                ; 8e d8
-    call 005e7h                               ; e8 f4 fd
+    call 005c9h                               ; e8 19 fe
     and ax, strict byte 00001h                ; 83 e0 01
-    je short 00801h                           ; 74 09
+    je short 007beh                           ; 74 09
     mov bx, 000bah                            ; bb ba 00
     mov ax, word [bx]                         ; 8b 07
     db  08bh, 0d8h
     ; mov bx, ax                                ; 8b d8
-    jne short 0080ah                          ; 75 09
+    jne short 007c7h                          ; 75 09
     mov bx, strict word 00049h                ; bb 49 00
     mov al, byte [bx]                         ; 8a 07
@@ -1335,22 +1297,22 @@
     pop DS                                    ; 1f
     retn                                      ; c3
-vbe_biosfn_display_window_control:           ; 0xc080f LB 0x2d
+vbe_biosfn_display_window_control:           ; 0xc07cc LB 0x2d
     cmp bl, 000h                              ; 80 fb 00
-    jne short 00838h                          ; 75 24
+    jne short 007f5h                          ; 75 24
     cmp bh, 001h                              ; 80 ff 01
-    je short 0082fh                           ; 74 16
-    jc short 0081fh                           ; 72 04
+    je short 007ech                           ; 74 16
+    jc short 007dch                           ; 72 04
     mov ax, 00100h                            ; b8 00 01
     retn                                      ; c3
     db  08bh, 0c2h
     ; mov ax, dx                                ; 8b c2
-    call 005f5h                               ; e8 d1 fd
-    call 00605h                               ; e8 de fd
+    call 005d7h                               ; e8 f6 fd
+    call 005e7h                               ; e8 03 fe
     db  03bh, 0c2h
     ; cmp ax, dx                                ; 3b c2
-    jne short 00838h                          ; 75 0d
+    jne short 007f5h                          ; 75 0d
     mov ax, strict word 0004fh                ; b8 4f 00
     retn                                      ; c3
-    call 00605h                               ; e8 d3 fd
+    call 005e7h                               ; e8 f8 fd
     db  08bh, 0d0h
     ; mov dx, ax                                ; 8b d0
@@ -1359,16 +1321,16 @@
     mov ax, 0014fh                            ; b8 4f 01
     retn                                      ; c3
-vbe_biosfn_set_get_logical_scan_line_length: ; 0xc083c LB 0x4d
+vbe_biosfn_set_get_logical_scan_line_length: ; 0xc07f9 LB 0x4d
     db  08bh, 0c1h
     ; mov ax, cx                                ; 8b c1
     cmp bl, 001h                              ; 80 fb 01
-    je short 00867h                           ; 74 24
+    je short 00824h                           ; 74 24
     cmp bl, 002h                              ; 80 fb 02
-    je short 0084eh                           ; 74 06
-    jc short 00864h                           ; 72 1a
+    je short 0080bh                           ; 74 06
+    jc short 00821h                           ; 72 1a
     mov ax, 00100h                            ; b8 00 01
     retn                                      ; c3
     push ax                                   ; 50
-    call 00598h                               ; e8 46 fd
+    call 0057ah                               ; e8 6b fd
     db  032h, 0ffh
     ; xor bh, bh                                ; 32 ff
@@ -1377,5 +1339,5 @@
     db  00ah, 0dbh
     ; or bl, bl                                 ; 0a db
-    jne short 0085fh                          ; 75 05
+    jne short 0081ch                          ; 75 05
     sal ax, 003h                              ; c1 e0 03
     mov BL, strict byte 001h                  ; b3 01
@@ -1384,16 +1346,16 @@
     pop ax                                    ; 58
     div bx                                    ; f7 f3
-    call 006a2h                               ; e8 3b fe
-    call 00598h                               ; e8 2e fd
+    call 00684h                               ; e8 60 fe
+    call 0057ah                               ; e8 53 fd
     db  032h, 0ffh
     ; xor bh, bh                                ; 32 ff
     db  08ah, 0dch
     ; mov bl, ah                                ; 8a dc
-    call 006b5h                               ; e8 44 fe
+    call 00697h                               ; e8 69 fe
     db  08bh, 0c8h
     ; mov cx, ax                                ; 8b c8
     db  00ah, 0dbh
     ; or bl, bl                                 ; 0a db
-    jne short 0087ch                          ; 75 05
+    jne short 00839h                          ; 75 05
     shr ax, 003h                              ; c1 e8 03
     mov BL, strict byte 001h                  ; b3 01
@@ -1401,31 +1363,31 @@
     db  08bh, 0d8h
     ; mov bx, ax                                ; 8b d8
-    call 006c3h                               ; e8 40 fe
+    call 006a5h                               ; e8 65 fe
     db  08bh, 0d0h
     ; mov dx, ax                                ; 8b d0
     mov ax, strict word 0004fh                ; b8 4f 00
     retn                                      ; c3
-vbe_biosfn_set_get_display_start:            ; 0xc0889 LB 0x34
+vbe_biosfn_set_get_display_start:            ; 0xc0846 LB 0x34
     cmp bl, 080h                              ; 80 fb 80
-    je short 00899h                           ; 74 0b
+    je short 00856h                           ; 74 0b
     cmp bl, 001h                              ; 80 fb 01
-    je short 008adh                           ; 74 1a
-    jc short 0089fh                           ; 72 0a
+    je short 0086ah                           ; 74 1a
+    jc short 0085ch                           ; 72 0a
     mov ax, 00100h                            ; b8 00 01
     retn                                      ; c3
-    call 0056dh                               ; e8 d1 fc
-    call 00560h                               ; e8 c1 fc
+    call 0056dh                               ; e8 14 fd
+    call 00560h                               ; e8 04 fd
     db  08bh, 0c1h
     ; mov ax, cx                                ; 8b c1
-    call 00649h                               ; e8 a5 fd
+    call 0062bh                               ; e8 ca fd
     db  08bh, 0c2h
     ; mov ax, dx                                ; 8b c2
-    call 00667h                               ; e8 be fd
+    call 00649h                               ; e8 e3 fd
     mov ax, strict word 0004fh                ; b8 4f 00
     retn                                      ; c3
-    call 00659h                               ; e8 a9 fd
+    call 0063bh                               ; e8 ce fd
     db  08bh, 0c8h
     ; mov cx, ax                                ; 8b c8
-    call 00677h                               ; e8 c2 fd
+    call 00659h                               ; e8 e7 fd
     db  08bh, 0d0h
     ; mov dx, ax                                ; 8b d0
@@ -1434,23 +1396,23 @@
     mov ax, strict word 0004fh                ; b8 4f 00
     retn                                      ; c3
-vbe_biosfn_set_get_dac_palette_format:       ; 0xc08bd LB 0x37
+vbe_biosfn_set_get_dac_palette_format:       ; 0xc087a LB 0x37
     cmp bl, 001h                              ; 80 fb 01
-    je short 008e0h                           ; 74 1e
-    jc short 008c8h                           ; 72 04
+    je short 0089dh                           ; 74 1e
+    jc short 00885h                           ; 72 04
     mov ax, 00100h                            ; b8 00 01
     retn                                      ; c3
-    call 005e7h                               ; e8 1c fd
+    call 005c9h                               ; e8 41 fd
     cmp bh, 006h                              ; 80 ff 06
-    je short 008dah                           ; 74 0a
+    je short 00897h                           ; 74 0a
     cmp bh, 008h                              ; 80 ff 08
-    jne short 008f0h                          ; 75 1b
+    jne short 008adh                          ; 75 1b
     or ax, strict byte 00020h                 ; 83 c8 20
-    jne short 008ddh                          ; 75 03
+    jne short 0089ah                          ; 75 03
     and ax, strict byte 0ffdfh                ; 83 e0 df
-    call 005d7h                               ; e8 f7 fc
+    call 005b9h                               ; e8 1c fd
     mov BH, strict byte 006h                  ; b7 06
-    call 005e7h                               ; e8 02 fd
+    call 005c9h                               ; e8 27 fd
     and ax, strict byte 00020h                ; 83 e0 20
-    je short 008ech                           ; 74 02
+    je short 008a9h                           ; 74 02
     mov BH, strict byte 008h                  ; b7 08
     mov ax, strict word 0004fh                ; b8 4f 00
@@ -1458,13 +1420,13 @@
     mov ax, 0014fh                            ; b8 4f 01
     retn                                      ; c3
-vbe_biosfn_set_get_palette_data:             ; 0xc08f4 LB 0x64
+vbe_biosfn_set_get_palette_data:             ; 0xc08b1 LB 0x64
     test bl, bl                               ; 84 db
-    je short 00907h                           ; 74 0f
+    je short 008c4h                           ; 74 0f
     cmp bl, 001h                              ; 80 fb 01
-    je short 0092fh                           ; 74 32
+    je short 008ech                           ; 74 32
     cmp bl, 003h                              ; 80 fb 03
-    jbe short 00954h                          ; 76 52
+    jbe short 00911h                          ; 76 52
     cmp bl, 080h                              ; 80 fb 80
-    jne short 00950h                          ; 75 49
+    jne short 0090dh                          ; 75 49
     pushad                                    ; 66 60
     push DS                                   ; 1e
@@ -1485,5 +1447,5 @@
     rol eax, 008h                             ; 66 c1 c0 08
     out DX, AL                                ; ee
-    loop 00915h                               ; e2 ed
+    loop 008d2h                               ; e2 ed
     pop DS                                    ; 1f
     popad                                     ; 66 61
@@ -1504,14 +1466,14 @@
     in AL, DX                                 ; ec
     stosd                                     ; 66 ab
-    loop 0093ah                               ; e2 ee
+    loop 008f7h                               ; e2 ee
     popad                                     ; 66 61
-    jmp short 0092bh                          ; eb db
+    jmp short 008e8h                          ; eb db
     mov ax, 0014fh                            ; b8 4f 01
     retn                                      ; c3
     mov ax, 0024fh                            ; b8 4f 02
     retn                                      ; c3
-vbe_biosfn_return_protected_mode_interface: ; 0xc0958 LB 0x19
+vbe_biosfn_return_protected_mode_interface: ; 0xc0915 LB 0x19
     test bl, bl                               ; 84 db
-    jne short 0096dh                          ; 75 11
+    jne short 0092ah                          ; 75 11
     mov di, 0c000h                            ; bf 00 c0
     mov es, di                                ; 8e c7
@@ -1525,8 +1487,8 @@
     retn                                      ; c3
 
-  ; Padding 0x8f bytes at 0xc0971
-  times 143 db 0
+  ; Padding 0xd2 bytes at 0xc092e
+  times 210 db 0
 
-section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f27 class=CODE group=AUTO
+section _TEXT progbits vstart=0xa00 align=1 ; size=0x2ebf class=CODE group=AUTO
 set_int_vector_:                             ; 0xc0a00 LB 0x1a
     push bx                                   ; 53
@@ -1542,5 +1504,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-init_vga_card_:                              ; 0xc0a1a LB 0x22
+init_vga_card_:                              ; 0xc0a1a LB 0x19
     push dx                                   ; 52
     push bp                                   ; 55
@@ -1555,11 +1517,8 @@
     mov dx, 003c5h                            ; ba c5 03
     out DX, AL                                ; ee
-    push 04800h                               ; 68 00 48
-    call 02f50h                               ; e8 1a 25
-    add sp, strict byte 00002h                ; 83 c4 02
     pop bp                                    ; 5d
     pop dx                                    ; 5a
     retn                                      ; c3
-init_bios_area_:                             ; 0xc0a3c LB 0x32
+init_bios_area_:                             ; 0xc0a33 LB 0x32
     push bx                                   ; 53
     push bp                                   ; 55
@@ -1579,13 +1538,13 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-_vgabios_init_func:                          ; 0xc0a6e LB 0x1e
+_vgabios_init_func:                          ; 0xc0a65 LB 0x1e
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
-    call 00a1ah                               ; e8 a6 ff
-    call 00a3ch                               ; e8 c5 ff
-    call 007c5h                               ; e8 4b fd
+    call 00a1ah                               ; e8 af ff
+    call 00a33h                               ; e8 c5 ff
+    call 0340bh                               ; e8 9a 29
     mov dx, strict word 00022h                ; ba 22 00
     mov ax, strict word 00010h                ; b8 10 00
-    call 00a00h                               ; e8 7d ff
+    call 00a00h                               ; e8 86 ff
     mov ax, strict word 00003h                ; b8 03 00
     db  032h, 0e4h
@@ -1594,5 +1553,5 @@
     pop bp                                    ; 5d
     retf                                      ; cb
-vga_get_cursor_pos_:                         ; 0xc0a8c LB 0x40
+vga_get_cursor_pos_:                         ; 0xc0a83 LB 0x40
     push cx                                   ; 51
     push si                                   ; 56
@@ -1602,13 +1561,13 @@
     mov si, dx                                ; 89 d6
     cmp AL, strict byte 007h                  ; 3c 07
-    jbe short 00aa7h                          ; 76 0e
+    jbe short 00a9eh                          ; 76 0e
     push SS                                   ; 16
     pop ES                                    ; 07
     mov word [es:si], strict word 00000h      ; 26 c7 04 00 00
     mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00
-    jmp short 00ac8h                          ; eb 21
+    jmp short 00abfh                          ; eb 21
     mov dx, strict word 00060h                ; ba 60 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 60 24
+    call 02f07h                               ; e8 60 24
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -1618,5 +1577,5 @@
     add dx, strict byte 00050h                ; 83 c2 50
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 4d 24
+    call 02f07h                               ; e8 4d 24
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -1626,5 +1585,5 @@
     pop cx                                    ; 59
     retn                                      ; c3
-vga_read_char_attr_:                         ; 0xc0acc LB 0xa3
+vga_read_char_attr_:                         ; 0xc0ac3 LB 0xa3
     push bx                                   ; 53
     push cx                                   ; 51
@@ -1636,14 +1595,14 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 13 24
+    call 02eebh                               ; e8 13 24
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 e7 23
+    call 02ec4h                               ; e8 e7 23
     mov ch, al                                ; 88 c5
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je short 00b59h                           ; 74 6d
+    je short 00b50h                           ; 74 6d
     movzx ax, cl                              ; 0f b6 c1
     lea bx, [bp-008h]                         ; 8d 5e f8
     lea dx, [bp-006h]                         ; 8d 56 fa
-    call 00a8ch                               ; e8 94 ff
+    call 00a83h                               ; e8 94 ff
     mov al, byte [bp-008h]                    ; 8a 46 f8
     mov byte [bp-002h], al                    ; 88 46 fe
@@ -1654,14 +1613,14 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 e2 23
+    call 02eebh                               ; e8 e2 23
     movzx di, al                              ; 0f b6 f8
     inc di                                    ; 47
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 f1 23
+    call 02f07h                               ; e8 f1 23
     movzx bx, ch                              ; 0f b6 dd
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    jne short 00b59h                          ; 75 2d
+    jne short 00b50h                          ; 75 2d
     mov dx, ax                                ; 89 c2
     imul dx, di                               ; 0f af d7
@@ -1679,5 +1638,5 @@
     add dx, ax                                ; 01 c2
     mov ax, word [bx+04836h]                  ; 8b 87 36 48
-    call 02f10h                               ; e8 ba 23
+    call 02f07h                               ; e8 ba 23
     mov word [ss:si], ax                      ; 36 89 04
     leave                                     ; c9
@@ -1687,19 +1646,16 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-    mov cl, byte [bp+di]                      ; 8a 0b
-    db  0c6h, 00bh, 0cbh
-    ; mov byte [bp+di], 0cbh                    ; c6 0b cb
-    db  00bh, 0d3h
-    ; or dx, bx                                 ; 0b d3
-    db  00bh, 0d8h
-    ; or bx, ax                                 ; 0b d8
-    db  00bh, 0ddh
-    ; or bx, bp                                 ; 0b dd
-    db  00bh, 0e2h
-    ; or sp, dx                                 ; 0b e2
-    db  00bh, 0e7h
-    ; or sp, di                                 ; 0b e7
+    or word [bp+di], 00bbdh                   ; 81 0b bd 0b
+    retn 0ca0bh                               ; c2 0b ca
+    db  00bh, 0cfh
+    ; or cx, di                                 ; 0b cf
+    db  00bh, 0d4h
+    ; or dx, sp                                 ; 0b d4
+    db  00bh, 0d9h
+    ; or bx, cx                                 ; 0b d9
+    db  00bh, 0deh
+    ; or bx, si                                 ; 0b de
     db  00bh
-vga_get_font_info_:                          ; 0xc0b6f LB 0x7f
+vga_get_font_info_:                          ; 0xc0b66 LB 0x7f
     push si                                   ; 56
     push di                                   ; 57
@@ -1709,11 +1665,11 @@
     mov bx, cx                                ; 89 cb
     cmp ax, strict word 00007h                ; 3d 07 00
-    jnbe short 00bc0h                         ; 77 3f
+    jnbe short 00bb7h                         ; 77 3f
     mov di, ax                                ; 89 c7
     add di, ax                                ; 01 c7
-    jmp word [cs:di+00b5fh]                   ; 2e ff a5 5f 0b
+    jmp word [cs:di+00b56h]                   ; 2e ff a5 56 0b
     mov dx, strict word 0007ch                ; ba 7c 00
     xor ax, ax                                ; 31 c0
-    call 02f2ch                               ; e8 9a 23
+    call 02f23h                               ; e8 9a 23
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -1723,5 +1679,5 @@
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 4e 23
+    call 02eebh                               ; e8 4e 23
     xor ah, ah                                ; 30 e4
     push SS                                   ; 16
@@ -1730,5 +1686,5 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 3e 23
+    call 02eebh                               ; e8 3e 23
     xor ah, ah                                ; 30 e4
     push SS                                   ; 16
@@ -1741,20 +1697,20 @@
     retn 00002h                               ; c2 02 00
     mov dx, 0010ch                            ; ba 0c 01
-    jmp short 00b8dh                          ; eb c2
+    jmp short 00b84h                          ; eb c2
     mov ax, 05db2h                            ; b8 b2 5d
     mov dx, 0c000h                            ; ba 00 c0
-    jmp short 00b92h                          ; eb bf
+    jmp short 00b89h                          ; eb bf
     mov ax, 055b2h                            ; b8 b2 55
-    jmp short 00bceh                          ; eb f6
+    jmp short 00bc5h                          ; eb f6
     mov ax, 059b2h                            ; b8 b2 59
-    jmp short 00bceh                          ; eb f1
+    jmp short 00bc5h                          ; eb f1
     mov ax, 07bb2h                            ; b8 b2 7b
-    jmp short 00bceh                          ; eb ec
+    jmp short 00bc5h                          ; eb ec
     mov ax, 06bb2h                            ; b8 b2 6b
-    jmp short 00bceh                          ; eb e7
+    jmp short 00bc5h                          ; eb e7
     mov ax, 07cdfh                            ; b8 df 7c
-    jmp short 00bceh                          ; eb e2
-    jmp short 00bc0h                          ; eb d2
-vga_read_pixel_:                             ; 0xc0bee LB 0x134
+    jmp short 00bc5h                          ; eb e2
+    jmp short 00bb7h                          ; eb d2
+vga_read_pixel_:                             ; 0xc0be5 LB 0x134
     push si                                   ; 56
     push di                                   ; 57
@@ -1765,29 +1721,29 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 f0 22
+    call 02eebh                               ; e8 f0 22
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 c4 22
+    call 02ec4h                               ; e8 c4 22
     mov cl, al                                ; 88 c1
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 00d1eh                            ; 0f 84 0d 01
+    je near 00d15h                            ; 0f 84 0d 01
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    je near 00d1eh                            ; 0f 84 fe 00
+    je near 00d15h                            ; 0f 84 fe 00
     mov bl, byte [bx+04834h]                  ; 8a 9f 34 48
     cmp bl, 003h                              ; 80 fb 03
-    jc short 00c3ah                           ; 72 11
-    jbe short 00c42h                          ; 76 17
+    jc short 00c31h                           ; 72 11
+    jbe short 00c39h                          ; 76 17
     cmp bl, 005h                              ; 80 fb 05
-    je near 00cfbh                            ; 0f 84 c9 00
+    je near 00cf2h                            ; 0f 84 c9 00
     cmp bl, 004h                              ; 80 fb 04
-    je short 00c42h                           ; 74 0b
-    jmp near 00d19h                           ; e9 df 00
+    je short 00c39h                           ; 74 0b
+    jmp near 00d10h                           ; e9 df 00
     cmp bl, 002h                              ; 80 fb 02
-    je short 00c9ah                           ; 74 5b
-    jmp near 00d19h                           ; e9 d7 00
+    je short 00c91h                           ; 74 5b
+    jmp near 00d10h                           ; e9 d7 00
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 c5 22
+    call 02f07h                               ; e8 c5 22
     imul ax, word [bp-006h]                   ; 0f af 46 fa
     mov bx, si                                ; 89 f3
@@ -1800,7 +1756,7 @@
     mov byte [bp-004h], al                    ; 88 46 fc
     mov byte [bp-002h], ch                    ; 88 6e fe
-    jmp short 00c70h                          ; eb 08
+    jmp short 00c67h                          ; eb 08
     cmp byte [bp-002h], 004h                  ; 80 7e fe 04
-    jnc near 00d1bh                           ; 0f 83 ab 00
+    jnc near 00d12h                           ; 0f 83 ab 00
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     sal ax, 008h                              ; c1 e0 08
@@ -1810,8 +1766,8 @@
     mov dx, bx                                ; 89 da
     mov ax, 0a000h                            ; b8 00 a0
-    call 02ef4h                               ; e8 6f 22
+    call 02eebh                               ; e8 6f 22
     and al, byte [bp-004h]                    ; 22 46 fc
     test al, al                               ; 84 c0
-    jbe short 00c95h                          ; 76 09
+    jbe short 00c8ch                          ; 76 09
     mov cl, byte [bp-002h]                    ; 8a 4e fe
     mov AL, strict byte 001h                  ; b0 01
@@ -1819,5 +1775,5 @@
     or ch, al                                 ; 08 c5
     inc byte [bp-002h]                        ; fe 46 fe
-    jmp short 00c68h                          ; eb ce
+    jmp short 00c5fh                          ; eb ce
     mov ax, word [bp-006h]                    ; 8b 46 fa
     shr ax, 1                                 ; d1 e8
@@ -1827,13 +1783,13 @@
     add bx, ax                                ; 01 c3
     test byte [bp-006h], 001h                 ; f6 46 fa 01
-    je short 00cb2h                           ; 74 03
+    je short 00ca9h                           ; 74 03
     add bh, 020h                              ; 80 c7 20
     mov dx, bx                                ; 89 da
     mov ax, 0b800h                            ; b8 00 b8
-    call 02ef4h                               ; e8 3a 22
+    call 02eebh                               ; e8 3a 22
     movzx bx, cl                              ; 0f b6 d9
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04835h], 002h                ; 80 bf 35 48 02
-    jne short 00ce2h                          ; 75 1b
+    jne short 00cd9h                          ; 75 1b
     mov cx, si                                ; 89 f1
     xor ch, ch                                ; 30 ed
@@ -1847,5 +1803,5 @@
     mov ch, al                                ; 88 c5
     and ch, 003h                              ; 80 e5 03
-    jmp short 00d1bh                          ; eb 39
+    jmp short 00d12h                          ; eb 39
     mov cx, si                                ; 89 f1
     xor ch, ch                                ; 30 ed
@@ -1858,8 +1814,8 @@
     mov ch, al                                ; 88 c5
     and ch, 001h                              ; 80 e5 01
-    jmp short 00d1bh                          ; eb 20
+    jmp short 00d12h                          ; eb 20
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 0c 22
+    call 02f07h                               ; e8 0c 22
     sal ax, 003h                              ; c1 e0 03
     imul ax, word [bp-006h]                   ; 0f af 46 fa
@@ -1867,7 +1823,7 @@
     add dx, ax                                ; 01 c2
     mov ax, 0a000h                            ; b8 00 a0
-    call 02ef4h                               ; e8 df 21
+    call 02eebh                               ; e8 df 21
     mov ch, al                                ; 88 c5
-    jmp short 00d1bh                          ; eb 02
+    jmp short 00d12h                          ; eb 02
     xor ch, ch                                ; 30 ed
     mov byte [ss:di], ch                      ; 36 88 2d
@@ -1876,5 +1832,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-biosfn_perform_gray_scale_summing_:          ; 0xc0d22 LB 0x88
+biosfn_perform_gray_scale_summing_:          ; 0xc0d19 LB 0x88
     push bx                                   ; 53
     push cx                                   ; 51
@@ -1893,5 +1849,5 @@
     xor si, si                                ; 31 f6
     cmp si, di                                ; 39 fe
-    jnc short 00d92h                          ; 73 52
+    jnc short 00d89h                          ; 73 52
     mov al, bl                                ; 88 d8
     mov dx, 003c7h                            ; ba c7 03
@@ -1921,5 +1877,5 @@
     sar cx, 008h                              ; c1 f9 08
     cmp cx, strict byte 0003fh                ; 83 f9 3f
-    jbe short 00d80h                          ; 76 03
+    jbe short 00d77h                          ; 76 03
     mov cx, strict word 0003fh                ; b9 3f 00
     mov al, bl                                ; 88 d8
@@ -1933,5 +1889,5 @@
     inc bx                                    ; 43
     inc si                                    ; 46
-    jmp short 00d3ch                          ; eb aa
+    jmp short 00d33h                          ; eb aa
     mov dx, 003dah                            ; ba da 03
     in AL, DX                                 ; ec
@@ -1951,5 +1907,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_set_cursor_shape_:                    ; 0xc0daa LB 0xa1
+biosfn_set_cursor_shape_:                    ; 0xc0da1 LB 0xa1
     push bx                                   ; 53
     push cx                                   ; 51
@@ -1969,28 +1925,28 @@
     mov dx, strict word 00060h                ; ba 60 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 4d 21
+    call 02f15h                               ; e8 4d 21
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 1a 21
+    call 02eebh                               ; e8 1a 21
     mov bl, al                                ; 88 c3
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 2b 21
+    call 02f07h                               ; e8 2b 21
     mov dx, ax                                ; 89 c2
     test bl, 001h                             ; f6 c3 01
-    je short 00e23h                           ; 74 37
+    je short 00e1ah                           ; 74 37
     cmp ax, strict word 00008h                ; 3d 08 00
-    jbe short 00e23h                          ; 76 32
+    jbe short 00e1ah                          ; 76 32
     cmp cl, 008h                              ; 80 f9 08
-    jnc short 00e23h                          ; 73 2d
+    jnc short 00e1ah                          ; 73 2d
     cmp ch, 020h                              ; 80 fd 20
-    jnc short 00e23h                          ; 73 28
+    jnc short 00e1ah                          ; 73 28
     inc di                                    ; 47
     cmp si, di                                ; 39 fe
-    je short 00e09h                           ; 74 09
+    je short 00e00h                           ; 74 09
     imul ax, di                               ; 0f af c7
     shr ax, 003h                              ; c1 e8 03
     dec ax                                    ; 48
-    jmp short 00e14h                          ; eb 0b
+    jmp short 00e0bh                          ; eb 0b
     lea si, [di+001h]                         ; 8d 75 01
     imul ax, si                               ; 0f af c6
@@ -2007,5 +1963,5 @@
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 e4 20
+    call 02f07h                               ; e8 e4 20
     mov bx, ax                                ; 89 c3
     mov AL, strict byte 00ah                  ; b0 0a
@@ -2028,5 +1984,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_set_cursor_pos_:                      ; 0xc0e4b LB 0x9e
+biosfn_set_cursor_pos_:                      ; 0xc0e42 LB 0x9e
     push bx                                   ; 53
     push cx                                   ; 51
@@ -2036,5 +1992,5 @@
     mov cx, dx                                ; 89 d1
     cmp AL, strict byte 007h                  ; 3c 07
-    jnbe near 00ee4h                          ; 0f 87 87 00
+    jnbe near 00edbh                          ; 0f 87 87 00
     movzx dx, al                              ; 0f b6 d0
     add dx, dx                                ; 01 d2
@@ -2042,17 +1998,17 @@
     mov bx, cx                                ; 89 cb
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 b1 20
+    call 02f15h                               ; e8 b1 20
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 7e 20
+    call 02eebh                               ; e8 7e 20
     cmp al, byte [bp-002h]                    ; 3a 46 fe
-    jne short 00ee4h                          ; 75 69
+    jne short 00edbh                          ; 75 69
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 8c 20
+    call 02f07h                               ; e8 8c 20
     mov bx, ax                                ; 89 c3
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 65 20
+    call 02eebh                               ; e8 65 20
     xor ah, ah                                ; 30 e4
     mov dx, ax                                ; 89 c2
@@ -2074,5 +2030,5 @@
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 4e 20
+    call 02f07h                               ; e8 4e 20
     mov bx, ax                                ; 89 c3
     mov AL, strict byte 00eh                  ; b0 0e
@@ -2097,5 +2053,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_set_active_page_:                     ; 0xc0ee9 LB 0xd8
+biosfn_set_active_page_:                     ; 0xc0ee0 LB 0xd8
     push bx                                   ; 53
     push cx                                   ; 51
@@ -2106,29 +2062,29 @@
     mov cl, al                                ; 88 c1
     cmp AL, strict byte 007h                  ; 3c 07
-    jnbe near 00fbah                          ; 0f 87 c0 00
+    jnbe near 00fb1h                          ; 0f 87 c0 00
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 f1 1f
+    call 02eebh                               ; e8 f1 1f
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 c5 1f
+    call 02ec4h                               ; e8 c5 1f
     mov ch, al                                ; 88 c5
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 00fbah                            ; 0f 84 aa 00
+    je near 00fb1h                            ; 0f 84 aa 00
     movzx ax, cl                              ; 0f b6 c1
     lea bx, [bp-004h]                         ; 8d 5e fc
     lea dx, [bp-002h]                         ; 8d 56 fe
-    call 00a8ch                               ; e8 70 fb
+    call 00a83h                               ; e8 70 fb
     movzx bx, ch                              ; 0f b6 dd
     mov si, bx                                ; 89 de
     sal si, 003h                              ; c1 e6 03
     cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
-    jne short 00f6bh                          ; 75 40
+    jne short 00f62h                          ; 75 40
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 dc 1f
+    call 02f07h                               ; e8 dc 1f
     mov bx, ax                                ; 89 c3
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 b5 1f
+    call 02eebh                               ; e8 b5 1f
     xor ah, ah                                ; 30 e4
     inc ax                                    ; 40
@@ -2144,9 +2100,9 @@
     mov dx, strict word 0004eh                ; ba 4e 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 bf 1f
+    call 02f15h                               ; e8 bf 1f
     or si, 000ffh                             ; 81 ce ff 00
     lea bx, [si+001h]                         ; 8d 5c 01
     imul bx, di                               ; 0f af df
-    jmp short 00f7dh                          ; eb 12
+    jmp short 00f74h                          ; eb 12
     movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
     sal bx, 006h                              ; c1 e3 06
@@ -2156,5 +2112,5 @@
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 8a 1f
+    call 02f07h                               ; e8 8a 1f
     mov si, ax                                ; 89 c6
     mov AL, strict byte 00ch                  ; b0 0c
@@ -2177,8 +2133,8 @@
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 50 1f
+    call 02ef9h                               ; e8 50 1f
     mov dx, word [bp-004h]                    ; 8b 56 fc
     mov ax, si                                ; 89 f0
-    call 00e4bh                               ; e8 91 fe
+    call 00e42h                               ; e8 91 fe
     leave                                     ; c9
     pop di                                    ; 5f
@@ -2188,5 +2144,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_set_video_mode_:                      ; 0xc0fc1 LB 0x382
+biosfn_set_video_mode_:                      ; 0xc0fb8 LB 0x382
     push bx                                   ; 53
     push cx                                   ; 51
@@ -2198,7 +2154,7 @@
     and AL, strict byte 080h                  ; 24 80
     mov byte [bp-006h], al                    ; 88 46 fa
-    call 007b2h                               ; e8 dd f7
+    call 00794h                               ; e8 c8 f7
     test ax, ax                               ; 85 c0
-    je short 00fe5h                           ; 74 0c
+    je short 00fdch                           ; 74 0c
     mov AL, strict byte 007h                  ; b0 07
     mov dx, 003c4h                            ; ba c4 03
@@ -2209,8 +2165,8 @@
     and byte [bp-004h], 07fh                  ; 80 66 fc 7f
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
-    call 02ecdh                               ; e8 dd 1e
+    call 02ec4h                               ; e8 dd 1e
     mov byte [bp-008h], al                    ; 88 46 f8
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 0133ch                            ; 0f 84 43 03
+    je near 01333h                            ; 0f 84 43 03
     movzx si, al                              ; 0f b6 f0
     mov al, byte [si+048b2h]                  ; 8a 84 b2 48
@@ -2226,14 +2182,14 @@
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 ca 1e
+    call 02eebh                               ; e8 ca 1e
     mov dx, 00088h                            ; ba 88 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 c1 1e
+    call 02eebh                               ; e8 c1 1e
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 b8 1e
+    call 02eebh                               ; e8 b8 1e
     mov ah, al                                ; 88 c4
     test AL, strict byte 008h                 ; a8 08
-    jne near 010ceh                           ; 0f 85 8a 00
+    jne near 010c5h                           ; 0f 85 8a 00
     mov bx, si                                ; 89 f3
     sal bx, 003h                              ; c1 e3 03
@@ -2246,22 +2202,22 @@
     mov bl, byte [bx+04839h]                  ; 8a 9f 39 48
     cmp bl, 001h                              ; 80 fb 01
-    jc short 0106eh                           ; 72 0e
-    jbe short 01077h                          ; 76 15
+    jc short 01065h                           ; 72 0e
+    jbe short 0106eh                          ; 76 15
     cmp bl, 003h                              ; 80 fb 03
-    je short 01081h                           ; 74 1a
+    je short 01078h                           ; 74 1a
     cmp bl, 002h                              ; 80 fb 02
-    je short 0107ch                           ; 74 10
-    jmp short 01084h                          ; eb 16
+    je short 01073h                           ; 74 10
+    jmp short 0107bh                          ; eb 16
     test bl, bl                               ; 84 db
-    jne short 01084h                          ; 75 12
+    jne short 0107bh                          ; 75 12
     mov di, 05046h                            ; bf 46 50
-    jmp short 01084h                          ; eb 0d
+    jmp short 0107bh                          ; eb 0d
     mov di, 05106h                            ; bf 06 51
-    jmp short 01084h                          ; eb 08
+    jmp short 0107bh                          ; eb 08
     mov di, 051c6h                            ; bf c6 51
-    jmp short 01084h                          ; eb 03
+    jmp short 0107bh                          ; eb 03
     mov di, 05286h                            ; bf 86 52
     xor bx, bx                                ; 31 db
-    jmp short 01097h                          ; eb 0f
+    jmp short 0108eh                          ; eb 0f
     xor al, al                                ; 30 c0
     mov dx, 003c9h                            ; ba c9 03
@@ -2271,5 +2227,5 @@
     inc bx                                    ; 43
     cmp bx, 00100h                            ; 81 fb 00 01
-    jnc short 010c1h                          ; 73 2a
+    jnc short 010b8h                          ; 73 2a
     movzx si, byte [bp-008h]                  ; 0f b6 76 f8
     sal si, 003h                              ; c1 e6 03
@@ -2277,5 +2233,5 @@
     movzx dx, byte [si+048c2h]                ; 0f b6 94 c2 48
     cmp bx, dx                                ; 39 d3
-    jnbe short 01088h                         ; 77 dc
+    jnbe short 0107fh                         ; 77 dc
     imul si, bx, strict byte 00003h           ; 6b f3 03
     add si, di                                ; 01 fe
@@ -2287,10 +2243,10 @@
     mov al, byte [si+002h]                    ; 8a 44 02
     out DX, AL                                ; ee
-    jmp short 01090h                          ; eb cf
+    jmp short 01087h                          ; eb cf
     test ah, 002h                             ; f6 c4 02
-    je short 010ceh                           ; 74 08
+    je short 010c5h                           ; 74 08
     mov dx, 00100h                            ; ba 00 01
     xor ax, ax                                ; 31 c0
-    call 00d22h                               ; e8 54 fc
+    call 00d19h                               ; e8 54 fc
     mov dx, 003dah                            ; ba da 03
     in AL, DX                                 ; ec
@@ -2298,7 +2254,7 @@
     ; sub ah, ah                                ; 2a e4
     xor bx, bx                                ; 31 db
-    jmp short 010ddh                          ; eb 05
+    jmp short 010d4h                          ; eb 05
     cmp bx, strict byte 00013h                ; 83 fb 13
-    jnbe short 010f4h                         ; 77 17
+    jnbe short 010ebh                         ; 77 17
     mov al, bl                                ; 88 d8
     mov dx, 003c0h                            ; ba c0 03
@@ -2310,5 +2266,5 @@
     out DX, AL                                ; ee
     inc bx                                    ; 43
-    jmp short 010d8h                          ; eb e4
+    jmp short 010cfh                          ; eb e4
     mov AL, strict byte 014h                  ; b0 14
     mov dx, 003c0h                            ; ba c0 03
@@ -2322,7 +2278,7 @@
     out DX, AL                                ; ee
     mov bx, strict word 00001h                ; bb 01 00
-    jmp short 01111h                          ; eb 05
+    jmp short 01108h                          ; eb 05
     cmp bx, strict byte 00004h                ; 83 fb 04
-    jnbe short 0112bh                         ; 77 1a
+    jnbe short 01122h                         ; 77 1a
     mov al, bl                                ; 88 d8
     mov dx, 003c4h                            ; ba c4 03
@@ -2335,9 +2291,9 @@
     out DX, AL                                ; ee
     inc bx                                    ; 43
-    jmp short 0110ch                          ; eb e1
+    jmp short 01103h                          ; eb e1
     xor bx, bx                                ; 31 db
-    jmp short 01134h                          ; eb 05
+    jmp short 0112bh                          ; eb 05
     cmp bx, strict byte 00008h                ; 83 fb 08
-    jnbe short 0114eh                         ; 77 1a
+    jnbe short 01145h                         ; 77 1a
     mov al, bl                                ; 88 d8
     mov dx, 003ceh                            ; ba ce 03
@@ -2350,11 +2306,11 @@
     out DX, AL                                ; ee
     inc bx                                    ; 43
-    jmp short 0112fh                          ; eb e1
+    jmp short 01126h                          ; eb e1
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04834h], 001h                ; 80 bf 34 48 01
-    jne short 01161h                          ; 75 05
+    jne short 01158h                          ; 75 05
     mov dx, 003b4h                            ; ba b4 03
-    jmp short 01164h                          ; eb 03
+    jmp short 0115bh                          ; eb 03
     mov dx, 003d4h                            ; ba d4 03
     mov si, dx                                ; 89 d6
@@ -2362,7 +2318,7 @@
     out DX, ax                                ; ef
     xor bx, bx                                ; 31 db
-    jmp short 01173h                          ; eb 05
+    jmp short 0116ah                          ; eb 05
     cmp bx, strict byte 00018h                ; 83 fb 18
-    jnbe short 0118eh                         ; 77 1b
+    jnbe short 01185h                         ; 77 1b
     mov al, bl                                ; 88 d8
     mov dx, si                                ; 89 f2
@@ -2376,5 +2332,5 @@
     out DX, AL                                ; ee
     inc bx                                    ; 43
-    jmp short 0116eh                          ; eb e0
+    jmp short 01165h                          ; eb e0
     mov bx, cx                                ; 89 cb
     mov al, byte [bx+048cfh]                  ; 8a 87 cf 48
@@ -2389,9 +2345,9 @@
     ; sub ah, ah                                ; 2a e4
     cmp byte [bp-006h], 000h                  ; 80 7e fa 00
-    jne short 01209h                          ; 75 5f
+    jne short 01200h                          ; 75 5f
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    jne short 011cbh                          ; 75 13
+    jne short 011c2h                          ; 75 13
     mov es, [bx+04836h]                       ; 8e 87 36 48
     mov cx, 04000h                            ; b9 00 40
@@ -2399,9 +2355,9 @@
     xor di, di                                ; 31 ff
     cld                                       ; fc
-    jcxz 011c9h                               ; e3 02
+    jcxz 011c0h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp short 01209h                          ; eb 3e
+    jmp short 01200h                          ; eb 3e
     cmp byte [bp-004h], 00dh                  ; 80 7e fc 0d
-    jnc short 011e3h                          ; 73 12
+    jnc short 011dah                          ; 73 12
     mov es, [bx+04836h]                       ; 8e 87 36 48
     mov cx, 04000h                            ; b9 00 40
@@ -2409,7 +2365,7 @@
     xor di, di                                ; 31 ff
     cld                                       ; fc
-    jcxz 011e1h                               ; e3 02
+    jcxz 011d8h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp short 01209h                          ; eb 26
+    jmp short 01200h                          ; eb 26
     mov AL, strict byte 002h                  ; b0 02
     mov dx, 003c4h                            ; ba c4 03
@@ -2427,5 +2383,5 @@
     xor di, di                                ; 31 ff
     cld                                       ; fc
-    jcxz 01205h                               ; e3 02
+    jcxz 011fch                               ; e3 02
     rep stosw                                 ; f3 ab
     mov al, byte [bp-010h]                    ; 8a 46 f0
@@ -2434,9 +2390,9 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 ec 1c
+    call 02ef9h                               ; e8 ec 1c
     mov bx, word [bp-00eh]                    ; 8b 5e f2
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 fc 1c
+    call 02f15h                               ; e8 fc 1c
     movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
     sal bx, 006h                              ; c1 e3 06
@@ -2444,17 +2400,17 @@
     mov dx, strict word 0004ch                ; ba 4c 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 e8 1c
+    call 02f15h                               ; e8 e8 1c
     mov bx, si                                ; 89 f3
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 dd 1c
+    call 02f15h                               ; e8 dd 1c
     movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 b4 1c
+    call 02ef9h                               ; e8 b4 1c
     mov bx, word [bp-00ah]                    ; 8b 5e f6
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 c4 1c
+    call 02f15h                               ; e8 c4 1c
     mov al, byte [bp-006h]                    ; 8a 46 fa
     or AL, strict byte 060h                   ; 0c 60
@@ -2462,56 +2418,56 @@
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 97 1c
+    call 02ef9h                               ; e8 97 1c
     mov bx, 000f9h                            ; bb f9 00
     mov dx, 00088h                            ; ba 88 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 8b 1c
+    call 02ef9h                               ; e8 8b 1c
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 74 1c
+    call 02eebh                               ; e8 74 1c
     and AL, strict byte 07fh                  ; 24 7f
     movzx bx, al                              ; 0f b6 d8
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 74 1c
+    call 02ef9h                               ; e8 74 1c
     mov bx, strict word 00008h                ; bb 08 00
     mov dx, 0008ah                            ; ba 8a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 68 1c
+    call 02ef9h                               ; e8 68 1c
     mov cx, ds                                ; 8c d9
     mov bx, 05596h                            ; bb 96 55
     mov dx, 000a8h                            ; ba a8 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f3eh                               ; e8 96 1c
+    call 02f35h                               ; e8 96 1c
     xor bx, bx                                ; 31 db
     mov dx, strict word 00065h                ; ba 65 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 4f 1c
+    call 02ef9h                               ; e8 4f 1c
     xor bx, bx                                ; 31 db
     mov dx, strict word 00066h                ; ba 66 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 44 1c
+    call 02ef9h                               ; e8 44 1c
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    jne short 012d5h                          ; 75 09
+    jne short 012cch                          ; 75 09
     mov dx, strict word 00007h                ; ba 07 00
     mov ax, strict word 00006h                ; b8 06 00
-    call 00daah                               ; e8 d5 fa
+    call 00da1h                               ; e8 d5 fa
     xor bx, bx                                ; 31 db
-    jmp short 012deh                          ; eb 05
+    jmp short 012d5h                          ; eb 05
     cmp bx, strict byte 00008h                ; 83 fb 08
-    jnc short 012e9h                          ; 73 0b
+    jnc short 012e0h                          ; 73 0b
     movzx ax, bl                              ; 0f b6 c3
     xor dx, dx                                ; 31 d2
-    call 00e4bh                               ; e8 65 fb
+    call 00e42h                               ; e8 65 fb
     inc bx                                    ; 43
-    jmp short 012d9h                          ; eb f0
+    jmp short 012d0h                          ; eb f0
     xor ax, ax                                ; 31 c0
-    call 00ee9h                               ; e8 fb fb
+    call 00ee0h                               ; e8 fb fb
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    jne short 0130ch                          ; 75 10
+    jne short 01303h                          ; 75 10
     xor bl, bl                                ; 30 db
     mov AL, strict byte 004h                  ; b0 04
@@ -2524,20 +2480,20 @@
     mov dx, 059b2h                            ; ba b2 59
     mov ax, strict word 0001fh                ; b8 1f 00
-    call 00a00h                               ; e8 eb f6
+    call 00a00h                               ; e8 f4 f6
     mov ax, word [bp-00ah]                    ; 8b 46 f6
     cmp ax, strict word 00010h                ; 3d 10 00
-    je short 01337h                           ; 74 1a
+    je short 0132eh                           ; 74 1a
     cmp ax, strict word 0000eh                ; 3d 0e 00
-    je short 01332h                           ; 74 10
+    je short 01329h                           ; 74 10
     cmp ax, strict word 00008h                ; 3d 08 00
-    jne short 0133ch                          ; 75 15
+    jne short 01333h                          ; 75 15
     mov dx, 055b2h                            ; ba b2 55
     mov ax, strict word 00043h                ; b8 43 00
-    call 00a00h                               ; e8 d0 f6
-    jmp short 0133ch                          ; eb 0a
+    call 00a00h                               ; e8 d9 f6
+    jmp short 01333h                          ; eb 0a
     mov dx, 05db2h                            ; ba b2 5d
-    jmp short 0132ah                          ; eb f3
+    jmp short 01321h                          ; eb f3
     mov dx, 06bb2h                            ; ba b2 6b
-    jmp short 0132ah                          ; eb ee
+    jmp short 01321h                          ; eb ee
     leave                                     ; c9
     pop di                                    ; 5f
@@ -2547,5 +2503,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-vgamem_copy_pl4_:                            ; 0xc1343 LB 0x72
+vgamem_copy_pl4_:                            ; 0xc133a LB 0x72
     push si                                   ; 56
     push di                                   ; 57
@@ -2570,5 +2526,5 @@
     xor bl, bl                                ; 30 db
     cmp bl, byte [bp+00ah]                    ; 3a 5e 0a
-    jnc short 013a8h                          ; 73 29
+    jnc short 0139fh                          ; 73 29
     movzx cx, bh                              ; 0f b6 cf
     movzx si, bl                              ; 0f b6 f3
@@ -2582,5 +2538,5 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 013a4h                               ; e3 06
+    jcxz 0139bh                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -2589,5 +2545,5 @@
     db  0feh, 0c3h
     ; inc bl                                    ; fe c3
-    jmp short 0137ah                          ; eb d2
+    jmp short 01371h                          ; eb d2
     mov ax, strict word 00005h                ; b8 05 00
     mov dx, 003ceh                            ; ba ce 03
@@ -2597,5 +2553,5 @@
     pop si                                    ; 5e
     retn 00004h                               ; c2 04 00
-vgamem_fill_pl4_:                            ; 0xc13b5 LB 0x5d
+vgamem_fill_pl4_:                            ; 0xc13ac LB 0x5d
     push di                                   ; 57
     enter 00004h, 000h                        ; c8 04 00 00
@@ -2615,5 +2571,5 @@
     xor bl, bl                                ; 30 db
     cmp bl, byte [bp+006h]                    ; 3a 5e 06
-    jnc short 01406h                          ; 73 22
+    jnc short 013fdh                          ; 73 22
     movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
@@ -2625,9 +2581,9 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 01402h                               ; e3 02
+    jcxz 013f9h                               ; e3 02
     rep stosb                                 ; f3 aa
     db  0feh, 0c3h
     ; inc bl                                    ; fe c3
-    jmp short 013dfh                          ; eb d9
+    jmp short 013d6h                          ; eb d9
     mov ax, strict word 00005h                ; b8 05 00
     mov dx, 003ceh                            ; ba ce 03
@@ -2636,5 +2592,5 @@
     pop di                                    ; 5f
     retn 00004h                               ; c2 04 00
-vgamem_copy_cga_:                            ; 0xc1412 LB 0xa0
+vgamem_copy_cga_:                            ; 0xc1409 LB 0xa0
     push si                                   ; 56
     push di                                   ; 57
@@ -2658,7 +2614,7 @@
     xor bl, bl                                ; 30 db
     cmp bl, byte [bp+00ah]                    ; 3a 5e 0a
-    jnc short 014ach                          ; 73 61
+    jnc short 014a3h                          ; 73 61
     test bl, 001h                             ; f6 c3 01
-    je short 01481h                           ; 74 31
+    je short 01478h                           ; 74 31
     movzx cx, bh                              ; 0f b6 cf
     movzx si, bl                              ; 0f b6 f3
@@ -2675,10 +2631,10 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 0147fh                               ; e3 06
+    jcxz 01476h                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
     rep movsb                                 ; f3 a4
     pop DS                                    ; 1f
-    jmp short 014a8h                          ; eb 27
+    jmp short 0149fh                          ; eb 27
     movzx cx, bh                              ; 0f b6 cf
     movzx ax, bl                              ; 0f b6 c3
@@ -2693,5 +2649,5 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 014a8h                               ; e3 06
+    jcxz 0149fh                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -2700,10 +2656,10 @@
     db  0feh, 0c3h
     ; inc bl                                    ; fe c3
-    jmp short 01446h                          ; eb 9a
+    jmp short 0143dh                          ; eb 9a
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00004h                               ; c2 04 00
-vgamem_fill_cga_:                            ; 0xc14b2 LB 0x86
+vgamem_fill_cga_:                            ; 0xc14a9 LB 0x86
     push si                                   ; 56
     push di                                   ; 57
@@ -2721,7 +2677,7 @@
     xor bl, bl                                ; 30 db
     cmp bl, byte [bp+008h]                    ; 3a 5e 08
-    jnc short 01532h                          ; 73 57
+    jnc short 01529h                          ; 73 57
     test bl, 001h                             ; f6 c3 01
-    je short 0150fh                           ; 74 2f
+    je short 01506h                           ; 74 2f
     movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
     movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
@@ -2738,7 +2694,7 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 0150dh                               ; e3 02
+    jcxz 01504h                               ; e3 02
     rep stosb                                 ; f3 aa
-    jmp short 0152eh                          ; eb 1f
+    jmp short 01525h                          ; eb 1f
     movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
     movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
@@ -2751,14 +2707,14 @@
     mov es, dx                                ; 8e c2
     cld                                       ; fc
-    jcxz 0152eh                               ; e3 02
+    jcxz 01525h                               ; e3 02
     rep stosb                                 ; f3 aa
     db  0feh, 0c3h
     ; inc bl                                    ; fe c3
-    jmp short 014d6h                          ; eb a4
+    jmp short 014cdh                          ; eb a4
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00004h                               ; c2 04 00
-biosfn_scroll_:                              ; 0xc1538 LB 0x501
+biosfn_scroll_:                              ; 0xc152f LB 0x501
     push si                                   ; 56
     push di                                   ; 57
@@ -2769,33 +2725,33 @@
     mov byte [bp-002h], cl                    ; 88 4e fe
     cmp bl, byte [bp+008h]                    ; 3a 5e 08
-    jnbe near 01a33h                          ; 0f 87 e2 04
+    jnbe near 01a2ah                          ; 0f 87 e2 04
     cmp cl, byte [bp+00ah]                    ; 3a 4e 0a
-    jnbe near 01a33h                          ; 0f 87 db 04
+    jnbe near 01a2ah                          ; 0f 87 db 04
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 93 19
+    call 02eebh                               ; e8 93 19
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 67 19
+    call 02ec4h                               ; e8 67 19
     mov byte [bp-00ah], al                    ; 88 46 f6
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 01a33h                            ; 0f 84 c4 04
+    je near 01a2ah                            ; 0f 84 c4 04
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 7c 19
+    call 02eebh                               ; e8 7c 19
     movzx cx, al                              ; 0f b6 c8
     inc cx                                    ; 41
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 8b 19
+    call 02f07h                               ; e8 8b 19
     mov word [bp-012h], ax                    ; 89 46 ee
     cmp byte [bp+00ch], 0ffh                  ; 80 7e 0c ff
-    jne short 0159ah                          ; 75 0c
+    jne short 01591h                          ; 75 0c
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 5d 19
+    call 02eebh                               ; e8 5d 19
     mov byte [bp+00ch], al                    ; 88 46 0c
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, cx                                ; 39 c8
-    jc short 015a9h                           ; 72 07
+    jc short 015a0h                           ; 72 07
     mov al, cl                                ; 88 c8
     db  0feh, 0c8h
@@ -2804,5 +2760,5 @@
     movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
     cmp ax, word [bp-012h]                    ; 3b 46 ee
-    jc short 015bah                           ; 72 08
+    jc short 015b1h                           ; 72 08
     mov al, byte [bp-012h]                    ; 8a 46 ee
     db  0feh, 0c8h
@@ -2811,5 +2767,5 @@
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     cmp ax, cx                                ; 39 c8
-    jbe short 015c6h                          ; 76 04
+    jbe short 015bdh                          ; 76 04
     mov byte [bp-00ch], 000h                  ; c6 46 f4 00
     mov al, byte [bp+00ah]                    ; 8a 46 0a
@@ -2830,5 +2786,5 @@
     imul ax, cx                               ; 0f af c1
     cmp byte [di+04833h], 000h                ; 80 bd 33 48 00
-    jne near 01795h                           ; 0f 85 9f 01
+    jne near 0178ch                           ; 0f 85 9f 01
     mov dx, ax                                ; 89 c2
     add dx, ax                                ; 01 c2
@@ -2838,15 +2794,15 @@
     imul bx, dx                               ; 0f af da
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01645h                          ; 75 3a
+    jne short 0163ch                          ; 75 3a
     cmp byte [bp-004h], 000h                  ; 80 7e fc 00
-    jne short 01645h                          ; 75 34
+    jne short 0163ch                          ; 75 34
     cmp byte [bp-002h], 000h                  ; 80 7e fe 00
-    jne short 01645h                          ; 75 2e
+    jne short 0163ch                          ; 75 2e
     movzx dx, byte [bp+008h]                  ; 0f b6 56 08
     cmp dx, word [bp-016h]                    ; 3b 56 ea
-    jne short 01645h                          ; 75 25
+    jne short 0163ch                          ; 75 25
     movzx dx, byte [bp+00ah]                  ; 0f b6 56 0a
     cmp dx, word [bp-014h]                    ; 3b 56 ec
-    jne short 01645h                          ; 75 1c
+    jne short 0163ch                          ; 75 1c
     movzx dx, byte [bp-008h]                  ; 0f b6 56 f8
     sal dx, 008h                              ; c1 e2 08
@@ -2857,20 +2813,20 @@
     mov di, bx                                ; 89 df
     cld                                       ; fc
-    jcxz 01642h                               ; e3 02
+    jcxz 01639h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp near 01a33h                           ; e9 ee 03
+    jmp near 01a2ah                           ; e9 ee 03
     cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
-    jne near 016eah                           ; 0f 85 9d 00
+    jne near 016e1h                           ; 0f 85 9d 00
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx dx, byte [bp+008h]                  ; 0f b6 56 08
     cmp dx, word [bp-010h]                    ; 3b 56 f0
-    jc near 01a33h                            ; 0f 82 d4 03
+    jc near 01a2ah                            ; 0f 82 d4 03
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     add ax, word [bp-010h]                    ; 03 46 f0
     cmp ax, dx                                ; 39 d0
-    jnbe short 01670h                         ; 77 06
+    jnbe short 01667h                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 016a3h                          ; 75 33
+    jne short 0169ah                          ; 75 33
     movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
@@ -2888,7 +2844,7 @@
     mov es, [si+04836h]                       ; 8e 84 36 48
     cld                                       ; fc
-    jcxz 016a1h                               ; e3 02
+    jcxz 01698h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp short 016e4h                          ; eb 41
+    jmp short 016dbh                          ; eb 41
     movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
     mov word [bp-018h], dx                    ; 89 56 e8
@@ -2912,5 +2868,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 016e4h                               ; e3 06
+    jcxz 016dbh                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -2918,17 +2874,17 @@
     pop DS                                    ; 1f
     inc word [bp-010h]                        ; ff 46 f0
-    jmp near 01654h                           ; e9 6a ff
+    jmp near 0164bh                           ; e9 6a ff
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe near 01a33h                          ; 0f 87 37 03
+    jnbe near 01a2ah                          ; 0f 87 37 03
     movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     add ax, dx                                ; 01 d0
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe short 01711h                         ; 77 06
+    jnbe short 01708h                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01744h                          ; 75 33
+    jne short 0173bh                          ; 75 33
     movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
@@ -2946,7 +2902,7 @@
     mov es, [si+04836h]                       ; 8e 84 36 48
     cld                                       ; fc
-    jcxz 01742h                               ; e3 02
+    jcxz 01739h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp short 01784h                          ; eb 40
+    jmp short 0177bh                          ; eb 40
     movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
@@ -2969,5 +2925,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 01784h                               ; e3 06
+    jcxz 0177bh                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -2976,7 +2932,7 @@
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jc near 01a33h                            ; 0f 82 a4 02
+    jc near 01a2ah                            ; 0f 82 a4 02
     dec word [bp-010h]                        ; ff 4e f0
-    jmp near 016f1h                           ; e9 5c ff
+    jmp near 016e8h                           ; e9 5c ff
     movzx bx, byte [si+048b2h]                ; 0f b6 9c b2 48
     sal bx, 006h                              ; c1 e3 06
@@ -2985,26 +2941,26 @@
     mov bl, byte [di+04834h]                  ; 8a 9d 34 48
     cmp bl, 004h                              ; 80 fb 04
-    je short 017bch                           ; 74 0f
+    je short 017b3h                           ; 74 0f
     cmp bl, 003h                              ; 80 fb 03
-    je short 017bch                           ; 74 0a
+    je short 017b3h                           ; 74 0a
     cmp bl, 002h                              ; 80 fb 02
-    je near 018fbh                            ; 0f 84 42 01
-    jmp near 01a33h                           ; e9 77 02
+    je near 018f2h                            ; 0f 84 42 01
+    jmp near 01a2ah                           ; e9 77 02
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01814h                          ; 75 52
+    jne short 0180bh                          ; 75 52
     cmp byte [bp-004h], 000h                  ; 80 7e fc 00
-    jne short 01814h                          ; 75 4c
+    jne short 0180bh                          ; 75 4c
     cmp byte [bp-002h], 000h                  ; 80 7e fe 00
-    jne short 01814h                          ; 75 46
+    jne short 0180bh                          ; 75 46
     movzx dx, byte [bp+008h]                  ; 0f b6 56 08
     mov ax, cx                                ; 89 c8
     dec ax                                    ; 48
     cmp dx, ax                                ; 39 c2
-    jne short 01814h                          ; 75 3b
+    jne short 0180bh                          ; 75 3b
     movzx dx, byte [bp+00ah]                  ; 0f b6 56 0a
     mov ax, word [bp-012h]                    ; 8b 46 ee
     dec ax                                    ; 48
     cmp dx, ax                                ; 39 c2
-    jne short 01814h                          ; 75 2f
+    jne short 0180bh                          ; 75 2f
     mov ax, 00205h                            ; b8 05 02
     mov dx, 003ceh                            ; ba ce 03
@@ -3019,22 +2975,22 @@
     xor di, di                                ; 31 ff
     cld                                       ; fc
-    jcxz 0180dh                               ; e3 02
+    jcxz 01804h                               ; e3 02
     rep stosb                                 ; f3 aa
     mov ax, strict word 00005h                ; b8 05 00
     out DX, ax                                ; ef
-    jmp near 01a33h                           ; e9 1f 02
+    jmp near 01a2ah                           ; e9 1f 02
     cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
-    jne short 01883h                          ; 75 69
+    jne short 0187ah                          ; 75 69
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jc near 01a33h                            ; 0f 82 07 02
+    jc near 01a2ah                            ; 0f 82 07 02
     movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
     add dx, word [bp-010h]                    ; 03 56 f0
     cmp dx, ax                                ; 39 c2
-    jnbe short 0183dh                         ; 77 06
+    jnbe short 01834h                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 0185ch                          ; 75 1f
+    jne short 01853h                          ; 75 1f
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     push ax                                   ; 50
@@ -3045,6 +3001,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 013b5h                               ; e8 5b fb
-    jmp short 0187eh                          ; eb 22
+    call 013ach                               ; e8 5b fb
+    jmp short 01875h                          ; eb 22
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     push ax                                   ; 50
@@ -3057,19 +3013,19 @@
     movzx dx, al                              ; 0f b6 d0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 01343h                               ; e8 c5 fa
+    call 0133ah                               ; e8 c5 fa
     inc word [bp-010h]                        ; ff 46 f0
-    jmp short 01821h                          ; eb 9e
+    jmp short 01818h                          ; eb 9e
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe near 01a33h                          ; 0f 87 9e 01
+    jnbe near 01a2ah                          ; 0f 87 9e 01
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
     add ax, dx                                ; 01 d0
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe short 018aah                         ; 77 06
+    jnbe short 018a1h                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 018c9h                          ; 75 1f
+    jne short 018c0h                          ; 75 1f
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     push ax                                   ; 50
@@ -3080,6 +3036,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 013b5h                               ; e8 ee fa
-    jmp short 018ebh                          ; eb 22
+    call 013ach                               ; e8 ee fa
+    jmp short 018e2h                          ; eb 22
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     push ax                                   ; 50
@@ -3092,23 +3048,23 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 01343h                               ; e8 58 fa
+    call 0133ah                               ; e8 58 fa
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jc near 01a33h                            ; 0f 82 3d 01
+    jc near 01a2ah                            ; 0f 82 3d 01
     dec word [bp-010h]                        ; ff 4e f0
-    jmp short 0188ah                          ; eb 8f
+    jmp short 01881h                          ; eb 8f
     mov dl, byte [di+04835h]                  ; 8a 95 35 48
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01942h                          ; 75 3d
+    jne short 01939h                          ; 75 3d
     cmp byte [bp-004h], 000h                  ; 80 7e fc 00
-    jne short 01942h                          ; 75 37
+    jne short 01939h                          ; 75 37
     cmp byte [bp-002h], 000h                  ; 80 7e fe 00
-    jne short 01942h                          ; 75 31
+    jne short 01939h                          ; 75 31
     movzx bx, byte [bp+008h]                  ; 0f b6 5e 08
     cmp bx, word [bp-016h]                    ; 3b 5e ea
-    jne short 01942h                          ; 75 28
+    jne short 01939h                          ; 75 28
     movzx bx, byte [bp+00ah]                  ; 0f b6 5e 0a
     cmp bx, word [bp-014h]                    ; 3b 5e ec
-    jne short 01942h                          ; 75 1f
+    jne short 01939h                          ; 75 1f
     movzx bx, byte [bp-006h]                  ; 0f b6 5e fa
     imul ax, bx                               ; 0f af c3
@@ -3119,25 +3075,25 @@
     xor di, di                                ; 31 ff
     cld                                       ; fc
-    jcxz 0193fh                               ; e3 02
+    jcxz 01936h                               ; e3 02
     rep stosb                                 ; f3 aa
-    jmp near 01a33h                           ; e9 f1 00
+    jmp near 01a2ah                           ; e9 f1 00
     cmp dl, 002h                              ; 80 fa 02
-    jne short 01950h                          ; 75 09
+    jne short 01947h                          ; 75 09
     sal byte [bp-002h], 1                     ; d0 66 fe
     sal byte [bp-00eh], 1                     ; d0 66 f2
     sal word [bp-012h], 1                     ; d1 66 ee
     cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
-    jne short 019bfh                          ; 75 69
+    jne short 019b6h                          ; 75 69
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jc near 01a33h                            ; 0f 82 cb 00
+    jc near 01a2ah                            ; 0f 82 cb 00
     movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
     add dx, word [bp-010h]                    ; 03 56 f0
     cmp dx, ax                                ; 39 c2
-    jnbe short 01979h                         ; 77 06
+    jnbe short 01970h                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01998h                          ; 75 1f
+    jne short 0198fh                          ; 75 1f
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     push ax                                   ; 50
@@ -3148,6 +3104,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 014b2h                               ; e8 1c fb
-    jmp short 019bah                          ; eb 22
+    call 014a9h                               ; e8 1c fb
+    jmp short 019b1h                          ; eb 22
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     push ax                                   ; 50
@@ -3160,19 +3116,19 @@
     movzx dx, al                              ; 0f b6 d0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 01412h                               ; e8 58 fa
+    call 01409h                               ; e8 58 fa
     inc word [bp-010h]                        ; ff 46 f0
-    jmp short 0195dh                          ; eb 9e
+    jmp short 01954h                          ; eb 9e
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     mov word [bp-010h], ax                    ; 89 46 f0
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe short 01a33h                         ; 77 64
+    jnbe short 01a2ah                         ; 77 64
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
     add ax, dx                                ; 01 d0
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jnbe short 019e4h                         ; 77 06
+    jnbe short 019dbh                         ; 77 06
     cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
-    jne short 01a03h                          ; 75 1f
+    jne short 019fah                          ; 75 1f
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     push ax                                   ; 50
@@ -3183,6 +3139,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 014b2h                               ; e8 b1 fa
-    jmp short 01a25h                          ; eb 22
+    call 014a9h                               ; e8 b1 fa
+    jmp short 01a1ch                          ; eb 22
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     push ax                                   ; 50
@@ -3195,15 +3151,15 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 01412h                               ; e8 ed f9
+    call 01409h                               ; e8 ed f9
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jc short 01a33h                           ; 72 05
+    jc short 01a2ah                           ; 72 05
     dec word [bp-010h]                        ; ff 4e f0
-    jmp short 019c6h                          ; eb 93
+    jmp short 019bdh                          ; eb 93
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00008h                               ; c2 08 00
-write_gfx_char_pl4_:                         ; 0xc1a39 LB 0xe6
+write_gfx_char_pl4_:                         ; 0xc1a30 LB 0xe6
     push si                                   ; 56
     push di                                   ; 57
@@ -3212,11 +3168,11 @@
     mov ah, bl                                ; 88 dc
     cmp byte [bp+00ah], 010h                  ; 80 7e 0a 10
-    je short 01a55h                           ; 74 0b
+    je short 01a4ch                           ; 74 0b
     cmp byte [bp+00ah], 00eh                  ; 80 7e 0a 0e
-    jne short 01a5ah                          ; 75 0a
+    jne short 01a51h                          ; 75 0a
     mov di, 05db2h                            ; bf b2 5d
-    jmp short 01a5dh                          ; eb 08
+    jmp short 01a54h                          ; eb 08
     mov di, 06bb2h                            ; bf b2 6b
-    jmp short 01a5dh                          ; eb 03
+    jmp short 01a54h                          ; eb 03
     mov di, 055b2h                            ; bf b2 55
     movzx si, cl                              ; 0f b6 f1
@@ -3238,13 +3194,13 @@
     out DX, ax                                ; ef
     test byte [bp-002h], 080h                 ; f6 46 fe 80
-    je short 01a98h                           ; 74 06
+    je short 01a8fh                           ; 74 06
     mov ax, 01803h                            ; b8 03 18
     out DX, ax                                ; ef
-    jmp short 01a9ch                          ; eb 04
+    jmp short 01a93h                          ; eb 04
     mov ax, strict word 00003h                ; b8 03 00
     out DX, ax                                ; ef
     xor ch, ch                                ; 30 ed
     cmp ch, byte [bp+00ah]                    ; 3a 6e 0a
-    jnc short 01b0ah                          ; 73 67
+    jnc short 01b01h                          ; 73 67
     movzx si, ch                              ; 0f b6 f5
     movzx ax, byte [bp+008h]                  ; 0f b6 46 08
@@ -3252,12 +3208,12 @@
     add si, word [bp-00ah]                    ; 03 76 f6
     mov byte [bp-004h], 000h                  ; c6 46 fc 00
-    jmp short 01ac9h                          ; eb 13
+    jmp short 01ac0h                          ; eb 13
     xor bx, bx                                ; 31 db
     mov dx, si                                ; 89 f2
     mov ax, 0a000h                            ; b8 00 a0
-    call 02f02h                               ; e8 42 14
+    call 02ef9h                               ; e8 42 14
     inc byte [bp-004h]                        ; fe 46 fc
     cmp byte [bp-004h], 008h                  ; 80 7e fc 08
-    jnc short 01b06h                          ; 73 3d
+    jnc short 01afdh                          ; 73 3d
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     mov cl, al                                ; 88 c1
@@ -3272,5 +3228,5 @@
     mov dx, si                                ; 89 f2
     mov ax, 0a000h                            ; b8 00 a0
-    call 02ef4h                               ; e8 0a 14
+    call 02eebh                               ; e8 0a 14
     movzx ax, ch                              ; 0f b6 c5
     add ax, word [bp-006h]                    ; 03 46 fa
@@ -3279,12 +3235,12 @@
     movzx ax, byte [bx]                       ; 0f b6 07
     test word [bp-008h], ax                   ; 85 46 f8
-    je short 01ab6h                           ; 74 ba
+    je short 01aadh                           ; 74 ba
     mov al, byte [bp-002h]                    ; 8a 46 fe
     and AL, strict byte 00fh                  ; 24 0f
     movzx bx, al                              ; 0f b6 d8
-    jmp short 01ab8h                          ; eb b2
+    jmp short 01aafh                          ; eb b2
     db  0feh, 0c5h
     ; inc ch                                    ; fe c5
-    jmp short 01a9eh                          ; eb 94
+    jmp short 01a95h                          ; eb 94
     mov ax, 0ff08h                            ; b8 08 ff
     mov dx, 003ceh                            ; ba ce 03
@@ -3298,5 +3254,5 @@
     pop si                                    ; 5e
     retn 00004h                               ; c2 04 00
-write_gfx_char_cga_:                         ; 0xc1b1f LB 0x119
+write_gfx_char_cga_:                         ; 0xc1b16 LB 0x119
     push si                                   ; 56
     push di                                   ; 57
@@ -3314,8 +3270,8 @@
     sal di, 003h                              ; c1 e7 03
     mov byte [bp-002h], 000h                  ; c6 46 fe 00
-    jmp near 01b9dh                           ; e9 50 00
+    jmp near 01b94h                           ; e9 50 00
     xor al, al                                ; 30 c0
     xor ah, ah                                ; 30 e4
-    jmp short 01b5eh                          ; eb 0b
+    jmp short 01b55h                          ; eb 0b
     or al, bl                                 ; 08 d8
     shr ch, 1                                 ; d0 ed
@@ -3323,5 +3279,5 @@
     ; inc ah                                    ; fe c4
     cmp ah, 008h                              ; 80 fc 08
-    jnc short 01b86h                          ; 73 28
+    jnc short 01b7dh                          ; 73 28
     movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
     add bx, di                                ; 01 fb
@@ -3330,5 +3286,5 @@
     movzx dx, ch                              ; 0f b6 d5
     test bx, dx                               ; 85 d3
-    je short 01b55h                           ; 74 e5
+    je short 01b4ch                           ; 74 e5
     mov CL, strict byte 007h                  ; b1 07
     sub cl, ah                                ; 28 e1
@@ -3337,14 +3293,14 @@
     sal bl, CL                                ; d2 e3
     test byte [bp-004h], 080h                 ; f6 46 fc 80
-    je short 01b53h                           ; 74 d1
+    je short 01b4ah                           ; 74 d1
     xor al, bl                                ; 30 d8
-    jmp short 01b55h                          ; eb cf
+    jmp short 01b4ch                          ; eb cf
     movzx bx, al                              ; 0f b6 d8
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02f02h                               ; e8 70 13
+    call 02ef9h                               ; e8 70 13
     inc byte [bp-002h]                        ; fe 46 fe
     cmp byte [bp-002h], 008h                  ; 80 7e fe 08
-    jnc near 01c32h                           ; 0f 83 95 00
+    jnc near 01c29h                           ; 0f 83 95 00
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     sar ax, 1                                 ; d1 f8
@@ -3354,26 +3310,26 @@
     mov word [bp-006h], bx                    ; 89 5e fa
     test byte [bp-002h], 001h                 ; f6 46 fe 01
-    je short 01bb8h                           ; 74 04
+    je short 01bafh                           ; 74 04
     add byte [bp-005h], 020h                  ; 80 46 fb 20
     mov CH, strict byte 080h                  ; b5 80
     cmp byte [bp+00ah], 001h                  ; 80 7e 0a 01
-    jne short 01bd1h                          ; 75 11
+    jne short 01bc8h                          ; 75 11
     test byte [bp-004h], ch                   ; 84 6e fc
-    je short 01b4dh                           ; 74 88
+    je short 01b44h                           ; 74 88
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02ef4h                               ; e8 26 13
-    jmp near 01b4fh                           ; e9 7e ff
+    call 02eebh                               ; e8 26 13
+    jmp near 01b46h                           ; e9 7e ff
     test ch, ch                               ; 84 ed
-    jbe short 01b92h                          ; 76 bd
+    jbe short 01b89h                          ; 76 bd
     test byte [bp-004h], 080h                 ; f6 46 fc 80
-    je short 01be6h                           ; 74 0b
+    je short 01bddh                           ; 74 0b
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02ef4h                               ; e8 10 13
-    jmp short 01be8h                          ; eb 02
+    call 02eebh                               ; e8 10 13
+    jmp short 01bdfh                          ; eb 02
     xor al, al                                ; 30 c0
     xor ah, ah                                ; 30 e4
-    jmp short 01bf7h                          ; eb 0b
+    jmp short 01beeh                          ; eb 0b
     or al, bl                                 ; 08 d8
     shr ch, 1                                 ; d0 ed
@@ -3381,5 +3337,5 @@
     ; inc ah                                    ; fe c4
     cmp ah, 004h                              ; 80 fc 04
-    jnc short 01c21h                          ; 73 2a
+    jnc short 01c18h                          ; 73 2a
     movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
     add bx, di                                ; 01 fb
@@ -3388,5 +3344,5 @@
     movzx bx, ch                              ; 0f b6 dd
     test bx, dx                               ; 85 d3
-    je short 01beeh                           ; 74 e5
+    je short 01be5h                           ; 74 e5
     mov CL, strict byte 003h                  ; b1 03
     sub cl, ah                                ; 28 e1
@@ -3396,18 +3352,18 @@
     sal bl, CL                                ; d2 e3
     test byte [bp-004h], 080h                 ; f6 46 fc 80
-    je short 01bech                           ; 74 cf
+    je short 01be3h                           ; 74 cf
     xor al, bl                                ; 30 d8
-    jmp short 01beeh                          ; eb cd
+    jmp short 01be5h                          ; eb cd
     movzx bx, al                              ; 0f b6 d8
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02f02h                               ; e8 d5 12
+    call 02ef9h                               ; e8 d5 12
     inc word [bp-006h]                        ; ff 46 fa
-    jmp short 01bd1h                          ; eb 9f
+    jmp short 01bc8h                          ; eb 9f
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00004h                               ; c2 04 00
-write_gfx_char_lin_:                         ; 0xc1c38 LB 0x8c
+write_gfx_char_lin_:                         ; 0xc1c2f LB 0x8c
     push si                                   ; 56
     push di                                   ; 57
@@ -3426,7 +3382,7 @@
     sal si, 003h                              ; c1 e6 03
     xor cl, cl                                ; 30 c9
-    jmp short 01ca1h                          ; eb 3b
+    jmp short 01c98h                          ; eb 3b
     cmp ch, 008h                              ; 80 fd 08
-    jnc short 01c9ah                          ; 73 2f
+    jnc short 01c91h                          ; 73 2f
     xor al, al                                ; 30 c0
     movzx dx, cl                              ; 0f b6 d1
@@ -3437,5 +3393,5 @@
     movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
     test dx, bx                               ; 85 da
-    je short 01c84h                           ; 74 03
+    je short 01c7bh                           ; 74 03
     mov al, byte [bp-002h]                    ; 8a 46 fe
     movzx bx, al                              ; 0f b6 d8
@@ -3443,13 +3399,13 @@
     add dx, word [bp-006h]                    ; 03 56 fa
     mov ax, 0a000h                            ; b8 00 a0
-    call 02f02h                               ; e8 6f 12
+    call 02ef9h                               ; e8 6f 12
     shr byte [bp-004h], 1                     ; d0 6e fc
     db  0feh, 0c5h
     ; inc ch                                    ; fe c5
-    jmp short 01c66h                          ; eb cc
+    jmp short 01c5dh                          ; eb cc
     db  0feh, 0c1h
     ; inc cl                                    ; fe c1
     cmp cl, 008h                              ; 80 f9 08
-    jnc short 01cbeh                          ; 73 1d
+    jnc short 01cb5h                          ; 73 1d
     movzx bx, cl                              ; 0f b6 d9
     movzx dx, byte [bp+008h]                  ; 0f b6 56 08
@@ -3461,10 +3417,10 @@
     mov byte [bp-004h], 080h                  ; c6 46 fc 80
     xor ch, ch                                ; 30 ed
-    jmp short 01c6bh                          ; eb ad
+    jmp short 01c62h                          ; eb ad
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00002h                               ; c2 02 00
-biosfn_write_char_attr_:                     ; 0xc1cc4 LB 0x163
+biosfn_write_char_attr_:                     ; 0xc1cbb LB 0x163
     push si                                   ; 56
     push di                                   ; 57
@@ -3476,15 +3432,15 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 16 12
+    call 02eebh                               ; e8 16 12
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 ea 11
+    call 02ec4h                               ; e8 ea 11
     mov cl, al                                ; 88 c1
     mov byte [bp-002h], al                    ; 88 46 fe
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 01e23h                            ; 0f 84 35 01
+    je near 01e1ah                            ; 0f 84 35 01
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     lea bx, [bp-018h]                         ; 8d 5e e8
     lea dx, [bp-016h]                         ; 8d 56 ea
-    call 00a8ch                               ; e8 91 ed
+    call 00a83h                               ; e8 91 ed
     mov al, byte [bp-018h]                    ; 8a 46 e8
     mov byte [bp-008h], al                    ; 88 46 f8
@@ -3495,5 +3451,5 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 df 11
+    call 02eebh                               ; e8 df 11
     xor ah, ah                                ; 30 e4
     inc ax                                    ; 40
@@ -3501,5 +3457,5 @@
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 ec 11
+    call 02f07h                               ; e8 ec 11
     mov word [bp-012h], ax                    ; 89 46 ee
     movzx bx, cl                              ; 0f b6 d9
@@ -3507,5 +3463,5 @@
     sal di, 003h                              ; c1 e7 03
     cmp byte [di+04833h], 000h                ; 80 bd 33 48 00
-    jne short 01d7dh                          ; 75 47
+    jne short 01d74h                          ; 75 47
     mov bx, word [bp-014h]                    ; 8b 5e ec
     imul bx, ax                               ; 0f af d8
@@ -3531,7 +3487,7 @@
     mov di, dx                                ; 89 d7
     cld                                       ; fc
-    jcxz 01d7ah                               ; e3 02
+    jcxz 01d71h                               ; e3 02
     rep stosw                                 ; f3 ab
-    jmp near 01e23h                           ; e9 a6 00
+    jmp near 01e1ah                           ; e9 a6 00
     movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
     sal bx, 006h                              ; c1 e3 06
@@ -3542,22 +3498,22 @@
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
-    je near 01e23h                            ; 0f 84 88 00
+    je near 01e1ah                            ; 0f 84 88 00
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     cmp ax, word [bp-012h]                    ; 3b 46 ee
-    jnc near 01e23h                           ; 0f 83 7d 00
+    jnc near 01e1ah                           ; 0f 83 7d 00
     movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
     sal bx, 003h                              ; c1 e3 03
     mov al, byte [bx+04834h]                  ; 8a 87 34 48
     cmp AL, strict byte 003h                  ; 3c 03
-    jc short 01dc1h                           ; 72 0c
-    jbe short 01dc7h                          ; 76 10
+    jc short 01db8h                           ; 72 0c
+    jbe short 01dbeh                          ; 76 10
     cmp AL, strict byte 005h                  ; 3c 05
-    je short 01e05h                           ; 74 4a
+    je short 01dfch                           ; 74 4a
     cmp AL, strict byte 004h                  ; 3c 04
-    je short 01dc7h                           ; 74 08
-    jmp short 01e1dh                          ; eb 5c
+    je short 01dbeh                           ; 74 08
+    jmp short 01e14h                          ; eb 5c
     cmp AL, strict byte 002h                  ; 3c 02
-    je short 01de6h                           ; 74 21
-    jmp short 01e1dh                          ; eb 56
+    je short 01dddh                           ; 74 21
+    jmp short 01e14h                          ; eb 56
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     push ax                                   ; 50
@@ -3568,6 +3524,6 @@
     movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01a39h                               ; e8 55 fc
-    jmp short 01e1dh                          ; eb 37
+    call 01a30h                               ; e8 55 fc
+    jmp short 01e14h                          ; eb 37
     movzx ax, byte [bp-010h]                  ; 0f b6 46 f0
     push ax                                   ; 50
@@ -3578,6 +3534,6 @@
     movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01b1fh                               ; e8 1c fd
-    jmp short 01e1dh                          ; eb 18
+    call 01b16h                               ; e8 1c fd
+    jmp short 01e14h                          ; eb 18
     movzx ax, byte [bp-012h]                  ; 0f b6 46 ee
     push ax                                   ; 50
@@ -3586,12 +3542,12 @@
     movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01c38h                               ; e8 1b fe
+    call 01c2fh                               ; e8 1b fe
     inc byte [bp-008h]                        ; fe 46 f8
-    jmp near 01d93h                           ; e9 70 ff
+    jmp near 01d8ah                           ; e9 70 ff
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn                                      ; c3
-biosfn_write_char_only_:                     ; 0xc1e27 LB 0x16a
+biosfn_write_char_only_:                     ; 0xc1e1e LB 0x16a
     push si                                   ; 56
     push di                                   ; 57
@@ -3603,15 +3559,15 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 b3 10
+    call 02eebh                               ; e8 b3 10
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 87 10
+    call 02ec4h                               ; e8 87 10
     mov cl, al                                ; 88 c1
     mov byte [bp-00ah], al                    ; 88 46 f6
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 01f8dh                            ; 0f 84 3c 01
+    je near 01f84h                            ; 0f 84 3c 01
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     lea bx, [bp-018h]                         ; 8d 5e e8
     lea dx, [bp-016h]                         ; 8d 56 ea
-    call 00a8ch                               ; e8 2e ec
+    call 00a83h                               ; e8 2e ec
     mov al, byte [bp-018h]                    ; 8a 46 e8
     mov byte [bp-008h], al                    ; 88 46 f8
@@ -3622,5 +3578,5 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 7c 10
+    call 02eebh                               ; e8 7c 10
     xor ah, ah                                ; 30 e4
     inc ax                                    ; 40
@@ -3628,5 +3584,5 @@
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 89 10
+    call 02f07h                               ; e8 89 10
     mov word [bp-012h], ax                    ; 89 46 ee
     movzx di, cl                              ; 0f b6 f9
@@ -3634,5 +3590,5 @@
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    jne short 01ee3h                          ; 75 4a
+    jne short 01edah                          ; 75 4a
     mov dx, word [bp-014h]                    ; 8b 56 ec
     imul dx, ax                               ; 0f af d0
@@ -3651,5 +3607,5 @@
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
-    je near 01f8dh                            ; 0f 84 c6 00
+    je near 01f84h                            ; 0f 84 c6 00
     movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
     movzx bx, byte [bp-00ah]                  ; 0f b6 5e f6
@@ -3659,8 +3615,8 @@
     mov dx, cx                                ; 89 ca
     mov ax, di                                ; 89 f8
-    call 02f02h                               ; e8 23 10
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    jmp short 01ebfh                          ; eb dc
+    call 02ef9h                               ; e8 23 10
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    jmp short 01eb6h                          ; eb dc
     movzx di, byte [di+048b2h]                ; 0f b6 bd b2 48
     sal di, 006h                              ; c1 e7 06
@@ -3671,22 +3627,22 @@
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
-    je near 01f8dh                            ; 0f 84 8c 00
+    je near 01f84h                            ; 0f 84 8c 00
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     cmp ax, word [bp-012h]                    ; 3b 46 ee
-    jnc near 01f8dh                           ; 0f 83 81 00
+    jnc near 01f84h                           ; 0f 83 81 00
     movzx bx, byte [bp-00ah]                  ; 0f b6 5e f6
     sal bx, 003h                              ; c1 e3 03
     mov bl, byte [bx+04834h]                  ; 8a 9f 34 48
     cmp bl, 003h                              ; 80 fb 03
-    jc short 01f2ah                           ; 72 0e
-    jbe short 01f31h                          ; 76 13
+    jc short 01f21h                           ; 72 0e
+    jbe short 01f28h                          ; 76 13
     cmp bl, 005h                              ; 80 fb 05
-    je short 01f6fh                           ; 74 4c
+    je short 01f66h                           ; 74 4c
     cmp bl, 004h                              ; 80 fb 04
-    je short 01f31h                           ; 74 09
-    jmp short 01f87h                          ; eb 5d
+    je short 01f28h                           ; 74 09
+    jmp short 01f7eh                          ; eb 5d
     cmp bl, 002h                              ; 80 fb 02
-    je short 01f50h                           ; 74 21
-    jmp short 01f87h                          ; eb 56
+    je short 01f47h                           ; 74 21
+    jmp short 01f7eh                          ; eb 56
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     push ax                                   ; 50
@@ -3697,6 +3653,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
-    call 01a39h                               ; e8 eb fa
-    jmp short 01f87h                          ; eb 37
+    call 01a30h                               ; e8 eb fa
+    jmp short 01f7eh                          ; eb 37
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
     push ax                                   ; 50
@@ -3707,6 +3663,6 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
-    call 01b1fh                               ; e8 b2 fb
-    jmp short 01f87h                          ; eb 18
+    call 01b16h                               ; e8 b2 fb
+    jmp short 01f7eh                          ; eb 18
     movzx ax, byte [bp-012h]                  ; 0f b6 46 ee
     push ax                                   ; 50
@@ -3715,12 +3671,12 @@
     movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
     movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
-    call 01c38h                               ; e8 b1 fc
+    call 01c2fh                               ; e8 b1 fc
     inc byte [bp-008h]                        ; fe 46 f8
-    jmp near 01ef9h                           ; e9 6c ff
+    jmp near 01ef0h                           ; e9 6c ff
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn                                      ; c3
-biosfn_write_pixel_:                         ; 0xc1f91 LB 0x168
+biosfn_write_pixel_:                         ; 0xc1f88 LB 0x168
     push si                                   ; 56
     enter 00008h, 000h                        ; c8 08 00 00
@@ -3729,27 +3685,27 @@
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 4f 0f
+    call 02eebh                               ; e8 4f 0f
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 23 0f
+    call 02ec4h                               ; e8 23 0f
     mov byte [bp-002h], al                    ; 88 46 fe
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 020f6h                            ; 0f 84 43 01
+    je near 020edh                            ; 0f 84 43 01
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
     cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
-    je near 020f6h                            ; 0f 84 34 01
+    je near 020edh                            ; 0f 84 34 01
     mov al, byte [bx+04834h]                  ; 8a 87 34 48
     cmp AL, strict byte 003h                  ; 3c 03
-    jc short 01fd9h                           ; 72 0f
-    jbe short 01fe0h                          ; 76 14
+    jc short 01fd0h                           ; 72 0f
+    jbe short 01fd7h                          ; 76 14
     cmp AL, strict byte 005h                  ; 3c 05
-    je near 020d4h                            ; 0f 84 02 01
+    je near 020cbh                            ; 0f 84 02 01
     cmp AL, strict byte 004h                  ; 3c 04
-    je short 01fe0h                           ; 74 0a
+    je short 01fd7h                           ; 74 0a
     leave                                     ; c9
     pop si                                    ; 5e
     retn                                      ; c3
     cmp AL, strict byte 002h                  ; 3c 02
-    je short 02045h                           ; 74 68
+    je short 0203ch                           ; 74 68
     leave                                     ; c9
     pop si                                    ; 5e
@@ -3757,5 +3713,5 @@
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 27 0f
+    call 02f07h                               ; e8 27 0f
     imul ax, cx                               ; 0f af c1
     mov bx, word [bp-008h]                    ; 8b 5e f8
@@ -3776,7 +3732,7 @@
     mov dx, bx                                ; 89 da
     mov ax, 0a000h                            ; b8 00 a0
-    call 02ef4h                               ; e8 db 0e
+    call 02eebh                               ; e8 db 0e
     test byte [bp-004h], 080h                 ; f6 46 fc 80
-    je short 02026h                           ; 74 07
+    je short 0201dh                           ; 74 07
     mov ax, 01803h                            ; b8 03 18
     mov dx, 003ceh                            ; ba ce 03
@@ -3785,5 +3741,5 @@
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0a000h                            ; b8 00 a0
-    call 02f02h                               ; e8 cf 0e
+    call 02ef9h                               ; e8 cf 0e
     mov ax, 0ff08h                            ; b8 08 ff
     mov dx, 003ceh                            ; ba ce 03
@@ -3800,8 +3756,8 @@
     imul ax, ax, strict byte 00050h           ; 6b c0 50
     cmp byte [bx+04835h], 002h                ; 80 bf 35 48 02
-    jne short 0205bh                          ; 75 08
+    jne short 02052h                          ; 75 08
     mov bx, word [bp-008h]                    ; 8b 5e f8
     shr bx, 002h                              ; c1 eb 02
-    jmp short 02061h                          ; eb 06
+    jmp short 02058h                          ; eb 06
     mov bx, word [bp-008h]                    ; 8b 5e f8
     shr bx, 003h                              ; c1 eb 03
@@ -3809,14 +3765,14 @@
     mov word [bp-006h], bx                    ; 89 5e fa
     test cl, 001h                             ; f6 c1 01
-    je short 0206fh                           ; 74 04
+    je short 02066h                           ; 74 04
     add byte [bp-005h], 020h                  ; 80 46 fb 20
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02ef4h                               ; e8 7c 0e
+    call 02eebh                               ; e8 7c 0e
     mov bl, al                                ; 88 c3
     movzx si, byte [bp-002h]                  ; 0f b6 76 fe
     sal si, 003h                              ; c1 e6 03
     cmp byte [si+04835h], 002h                ; 80 bc 35 48 02
-    jne short 020a1h                          ; 75 19
+    jne short 02098h                          ; 75 19
     mov al, byte [bp-008h]                    ; 8a 46 f8
     and AL, strict byte 003h                  ; 24 03
@@ -3829,5 +3785,5 @@
     sal bh, CL                                ; d2 e7
     mov AL, strict byte 003h                  ; b0 03
-    jmp short 020b4h                          ; eb 13
+    jmp short 020abh                          ; eb 13
     mov al, byte [bp-008h]                    ; 8a 46 f8
     and AL, strict byte 007h                  ; 24 07
@@ -3840,7 +3796,7 @@
     sal al, CL                                ; d2 e0
     test byte [bp-004h], 080h                 ; f6 46 fc 80
-    je short 020c0h                           ; 74 04
+    je short 020b7h                           ; 74 04
     xor bl, bh                                ; 30 fb
-    jmp short 020c6h                          ; eb 06
+    jmp short 020bdh                          ; eb 06
     not al                                    ; f6 d0
     and bl, al                                ; 20 c3
@@ -3849,5 +3805,5 @@
     mov dx, word [bp-006h]                    ; 8b 56 fa
     mov ax, 0b800h                            ; b8 00 b8
-    call 02f02h                               ; e8 31 0e
+    call 02ef9h                               ; e8 31 0e
     leave                                     ; c9
     pop si                                    ; 5e
@@ -3855,5 +3811,5 @@
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 33 0e
+    call 02f07h                               ; e8 33 0e
     sal ax, 003h                              ; c1 e0 03
     imul cx, ax                               ; 0f af c8
@@ -3864,9 +3820,9 @@
     mov dx, ax                                ; 89 c2
     mov ax, 0a000h                            ; b8 00 a0
-    jmp short 020ceh                          ; eb d8
+    jmp short 020c5h                          ; eb d8
     leave                                     ; c9
     pop si                                    ; 5e
     retn                                      ; c3
-biosfn_write_teletype_:                      ; 0xc20f9 LB 0x27f
+biosfn_write_teletype_:                      ; 0xc20f0 LB 0x27f
     push si                                   ; 56
     enter 00016h, 000h                        ; c8 16 00 00
@@ -3876,21 +3832,21 @@
     mov byte [bp-00eh], cl                    ; 88 4e f2
     cmp dl, 0ffh                              ; 80 fa ff
-    jne short 0211bh                          ; 75 0c
+    jne short 02112h                          ; 75 0c
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 dc 0d
+    call 02eebh                               ; e8 dc 0d
     mov byte [bp-002h], al                    ; 88 46 fe
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 d0 0d
+    call 02eebh                               ; e8 d0 0d
     xor ah, ah                                ; 30 e4
-    call 02ecdh                               ; e8 a4 0d
+    call 02ec4h                               ; e8 a4 0d
     mov byte [bp-00ch], al                    ; 88 46 f4
     cmp AL, strict byte 0ffh                  ; 3c ff
-    je near 02375h                            ; 0f 84 43 02
+    je near 0236ch                            ; 0f 84 43 02
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     lea bx, [bp-016h]                         ; 8d 5e ea
     lea dx, [bp-014h]                         ; 8d 56 ec
-    call 00a8ch                               ; e8 4d e9
+    call 00a83h                               ; e8 4d e9
     mov al, byte [bp-016h]                    ; 8a 46 ea
     mov byte [bp-006h], al                    ; 88 46 fa
@@ -3901,5 +3857,5 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 9b 0d
+    call 02eebh                               ; e8 9b 0d
     xor ah, ah                                ; 30 e4
     inc ax                                    ; 40
@@ -3907,28 +3863,28 @@
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 a8 0d
+    call 02f07h                               ; e8 a8 0d
     mov word [bp-010h], ax                    ; 89 46 f0
     mov al, byte [bp-00ah]                    ; 8a 46 f6
     cmp AL, strict byte 009h                  ; 3c 09
-    jc short 0217eh                           ; 72 0c
-    jbe short 021a5h                          ; 76 31
+    jc short 02175h                           ; 72 0c
+    jbe short 0219ch                          ; 76 31
     cmp AL, strict byte 00dh                  ; 3c 0d
-    je short 02198h                           ; 74 20
+    je short 0218fh                           ; 74 20
     cmp AL, strict byte 00ah                  ; 3c 0a
-    je short 0219fh                           ; 74 23
-    jmp short 021e6h                          ; eb 68
+    je short 02196h                           ; 74 23
+    jmp short 021ddh                          ; eb 68
     cmp AL, strict byte 008h                  ; 3c 08
-    je short 0218ah                           ; 74 08
+    je short 02181h                           ; 74 08
     cmp AL, strict byte 007h                  ; 3c 07
-    je near 022c2h                            ; 0f 84 3a 01
-    jmp short 021e6h                          ; eb 5c
+    je near 022b9h                            ; 0f 84 3a 01
+    jmp short 021ddh                          ; eb 5c
     cmp byte [bp-006h], 000h                  ; 80 7e fa 00
-    jbe near 022c2h                           ; 0f 86 30 01
+    jbe near 022b9h                           ; 0f 86 30 01
     dec byte [bp-006h]                        ; fe 4e fa
-    jmp near 022c2h                           ; e9 2a 01
+    jmp near 022b9h                           ; e9 2a 01
     mov byte [bp-006h], 000h                  ; c6 46 fa 00
-    jmp near 022c2h                           ; e9 23 01
+    jmp near 022b9h                           ; e9 23 01
     inc byte [bp-008h]                        ; fe 46 f8
-    jmp near 022c2h                           ; e9 1d 01
+    jmp near 022b9h                           ; e9 1d 01
     movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
     movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
@@ -3936,9 +3892,9 @@
     mov dx, si                                ; 89 f2
     mov ax, strict word 00020h                ; b8 20 00
-    call 020f9h                               ; e8 40 ff
+    call 020f0h                               ; e8 40 ff
     lea bx, [bp-016h]                         ; 8d 5e ea
     lea dx, [bp-014h]                         ; 8d 56 ec
     mov ax, si                                ; 89 f0
-    call 00a8ch                               ; e8 c8 e8
+    call 00a83h                               ; e8 c8 e8
     mov al, byte [bp-016h]                    ; 8a 46 ea
     mov byte [bp-006h], al                    ; 88 46 fa
@@ -3952,11 +3908,11 @@
     idiv bx                                   ; f7 fb
     test dx, dx                               ; 85 d2
-    je short 021a5h                           ; 74 c2
-    jmp near 022c2h                           ; e9 dc 00
+    je short 0219ch                           ; 74 c2
+    jmp near 022b9h                           ; e9 dc 00
     movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
     mov si, bx                                ; 89 de
     sal si, 003h                              ; c1 e6 03
     cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
-    jne short 02241h                          ; 75 4b
+    jne short 02238h                          ; 75 4b
     mov ax, word [bp-010h]                    ; 8b 46 f0
     imul ax, word [bp-012h]                   ; 0f af 46 ee
@@ -3975,13 +3931,13 @@
     mov ax, word [si+04836h]                  ; 8b 84 36 48
     mov dx, cx                                ; 89 ca
-    call 02f02h                               ; e8 da 0c
+    call 02ef9h                               ; e8 da 0c
     cmp byte [bp-00eh], 003h                  ; 80 7e f2 03
-    jne near 022bfh                           ; 0f 85 8f 00
+    jne near 022b6h                           ; 0f 85 8f 00
     movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
     mov dx, cx                                ; 89 ca
     inc dx                                    ; 42
     mov ax, word [si+04836h]                  ; 8b 84 36 48
-    call 02f02h                               ; e8 c4 0c
-    jmp near 022bfh                           ; e9 7e 00
+    call 02ef9h                               ; e8 c4 0c
+    jmp near 022b6h                           ; e9 7e 00
     movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
     sal bx, 006h                              ; c1 e3 06
@@ -3990,14 +3946,14 @@
     mov al, byte [si+04834h]                  ; 8a 84 34 48
     cmp AL, strict byte 003h                  ; 3c 03
-    jc short 02265h                           ; 72 0c
-    jbe short 0226bh                          ; 76 10
+    jc short 0225ch                           ; 72 0c
+    jbe short 02262h                          ; 76 10
     cmp AL, strict byte 005h                  ; 3c 05
-    je short 022a7h                           ; 74 48
+    je short 0229eh                           ; 74 48
     cmp AL, strict byte 004h                  ; 3c 04
-    je short 0226bh                           ; 74 08
-    jmp short 022bfh                          ; eb 5a
+    je short 02262h                           ; 74 08
+    jmp short 022b6h                          ; eb 5a
     cmp AL, strict byte 002h                  ; 3c 02
-    je short 02289h                           ; 74 20
-    jmp short 022bfh                          ; eb 54
+    je short 02280h                           ; 74 20
+    jmp short 022b6h                          ; eb 54
     movzx ax, ah                              ; 0f b6 c4
     push ax                                   ; 50
@@ -4008,6 +3964,6 @@
     movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01a39h                               ; e8 b2 f7
-    jmp short 022bfh                          ; eb 36
+    call 01a30h                               ; e8 b2 f7
+    jmp short 022b6h                          ; eb 36
     movzx ax, dl                              ; 0f b6 c2
     push ax                                   ; 50
@@ -4018,6 +3974,6 @@
     movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01b1fh                               ; e8 7a f8
-    jmp short 022bfh                          ; eb 18
+    call 01b16h                               ; e8 7a f8
+    jmp short 022b6h                          ; eb 18
     movzx ax, byte [bp-010h]                  ; 0f b6 46 f0
     push ax                                   ; 50
@@ -4026,14 +3982,14 @@
     movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
     movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
-    call 01c38h                               ; e8 79 f9
+    call 01c2fh                               ; e8 79 f9
     inc byte [bp-006h]                        ; fe 46 fa
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
     cmp ax, word [bp-010h]                    ; 3b 46 f0
-    jne short 022d2h                          ; 75 07
+    jne short 022c9h                          ; 75 07
     mov byte [bp-006h], 000h                  ; c6 46 fa 00
     inc byte [bp-008h]                        ; fe 46 f8
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     cmp ax, word [bp-012h]                    ; 3b 46 ee
-    jne near 02359h                           ; 0f 85 7c 00
+    jne near 02350h                           ; 0f 85 7c 00
     movzx si, byte [bp-00ch]                  ; 0f b6 76 f4
     sal si, 003h                              ; c1 e6 03
@@ -4045,5 +4001,5 @@
     ; dec bh                                    ; fe cf
     cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
-    jne short 0233bh                          ; 75 46
+    jne short 02332h                          ; 75 46
     mov ax, word [bp-010h]                    ; 8b 46 f0
     imul ax, word [bp-012h]                   ; 0f af 46 ee
@@ -4062,5 +4018,5 @@
     inc dx                                    ; 42
     mov ax, word [si+04836h]                  ; 8b 84 36 48
-    call 02ef4h                               ; e8 d1 0b
+    call 02eebh                               ; e8 d1 0b
     push strict byte 00001h                   ; 6a 01
     movzx dx, byte [bp-002h]                  ; 0f b6 56 fe
@@ -4073,5 +4029,5 @@
     xor cx, cx                                ; 31 c9
     xor bx, bx                                ; 31 db
-    jmp short 02350h                          ; eb 15
+    jmp short 02347h                          ; eb 15
     push strict byte 00001h                   ; 6a 01
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
@@ -4085,5 +4041,5 @@
     xor dx, dx                                ; 31 d2
     mov ax, strict word 00001h                ; b8 01 00
-    call 01538h                               ; e8 e2 f1
+    call 0152fh                               ; e8 e2 f1
     dec byte [bp-008h]                        ; fe 4e f8
     movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
@@ -4094,9 +4050,9 @@
     mov dx, word [bp-016h]                    ; 8b 56 ea
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
-    call 00e4bh                               ; e8 d6 ea
+    call 00e42h                               ; e8 d6 ea
     leave                                     ; c9
     pop si                                    ; 5e
     retn                                      ; c3
-get_font_access_:                            ; 0xc2378 LB 0x29
+get_font_access_:                            ; 0xc236f LB 0x29
     push dx                                   ; 52
     push bp                                   ; 55
@@ -4121,5 +4077,5 @@
     pop dx                                    ; 5a
     retn                                      ; c3
-release_font_access_:                        ; 0xc23a1 LB 0x39
+release_font_access_:                        ; 0xc2398 LB 0x39
     push dx                                   ; 52
     push bp                                   ; 55
@@ -4152,5 +4108,5 @@
     pop dx                                    ; 5a
     retn                                      ; c3
-set_scan_lines_:                             ; 0xc23da LB 0xbc
+set_scan_lines_:                             ; 0xc23d1 LB 0xbc
     push bx                                   ; 53
     push cx                                   ; 51
@@ -4163,5 +4119,5 @@
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 23 0b
+    call 02f07h                               ; e8 23 0b
     mov dx, ax                                ; 89 c2
     mov si, ax                                ; 89 c6
@@ -4180,8 +4136,8 @@
     out DX, AL                                ; ee
     cmp bl, 008h                              ; 80 fb 08
-    jne short 02411h                          ; 75 08
+    jne short 02408h                          ; 75 08
     mov dx, strict word 00007h                ; ba 07 00
     mov ax, strict word 00006h                ; b8 06 00
-    jmp short 0241eh                          ; eb 0d
+    jmp short 02415h                          ; eb 0d
     mov al, bl                                ; 88 d8
     sub AL, strict byte 003h                  ; 2c 03
@@ -4190,10 +4146,10 @@
     sub AL, strict byte 004h                  ; 2c 04
     xor ah, ah                                ; 30 e4
-    call 00daah                               ; e8 89 e9
+    call 00da1h                               ; e8 89 e9
     movzx di, bl                              ; 0f b6 fb
     mov bx, di                                ; 89 fb
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 ef 0a
+    call 02f15h                               ; e8 ef 0a
     mov AL, strict byte 012h                  ; b0 12
     mov dx, si                                ; 89 f2
@@ -4230,8 +4186,8 @@
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 8f 0a
+    call 02ef9h                               ; e8 8f 0a
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 94 0a
+    call 02f07h                               ; e8 94 0a
     movzx dx, cl                              ; 0f b6 d1
     mov bx, ax                                ; 89 c3
@@ -4240,5 +4196,5 @@
     mov dx, strict word 0004ch                ; ba 4c 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 8f 0a
+    call 02f15h                               ; e8 8f 0a
     pop bp                                    ; 5d
     pop di                                    ; 5f
@@ -4248,5 +4204,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_load_text_user_pat_:                  ; 0xc2496 LB 0x78
+biosfn_load_text_user_pat_:                  ; 0xc248d LB 0x78
     push si                                   ; 56
     push di                                   ; 57
@@ -4256,5 +4212,5 @@
     mov word [bp-004h], bx                    ; 89 5e fc
     mov word [bp-006h], cx                    ; 89 4e fa
-    call 02378h                               ; e8 cd fe
+    call 0236fh                               ; e8 cd fe
     mov al, byte [bp+00ah]                    ; 8a 46 0a
     and AL, strict byte 003h                  ; 24 03
@@ -4270,5 +4226,5 @@
     xor bx, bx                                ; 31 db
     cmp bx, word [bp-006h]                    ; 3b 5e fa
-    jnc short 024f8h                          ; 73 2b
+    jnc short 024efh                          ; 73 2b
     movzx cx, byte [bp+00ch]                  ; 0f b6 4e 0c
     mov si, bx                                ; 89 de
@@ -4283,5 +4239,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 024f5h                               ; e3 06
+    jcxz 024ech                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4289,15 +4245,15 @@
     pop DS                                    ; 1f
     inc bx                                    ; 43
-    jmp short 024c8h                          ; eb d0
-    call 023a1h                               ; e8 a6 fe
+    jmp short 024bfh                          ; eb d0
+    call 02398h                               ; e8 a6 fe
     cmp byte [bp-002h], 010h                  ; 80 7e fe 10
-    jc short 02508h                           ; 72 07
+    jc short 024ffh                           ; 72 07
     movzx ax, byte [bp+00ch]                  ; 0f b6 46 0c
-    call 023dah                               ; e8 d2 fe
+    call 023d1h                               ; e8 d2 fe
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00006h                               ; c2 06 00
-biosfn_load_text_8_14_pat_:                  ; 0xc250e LB 0x6c
+biosfn_load_text_8_14_pat_:                  ; 0xc2505 LB 0x6c
     push bx                                   ; 53
     push cx                                   ; 51
@@ -4306,5 +4262,5 @@
     enter 00004h, 000h                        ; c8 04 00 00
     mov byte [bp-002h], al                    ; 88 46 fe
-    call 02378h                               ; e8 5c fe
+    call 0236fh                               ; e8 5c fe
     mov al, dl                                ; 88 d0
     and AL, strict byte 003h                  ; 24 03
@@ -4319,7 +4275,7 @@
     mov word [bp-004h], bx                    ; 89 5e fc
     xor bx, bx                                ; 31 db
-    jmp short 0253fh                          ; eb 06
+    jmp short 02536h                          ; eb 06
     cmp bx, 00100h                            ; 81 fb 00 01
-    jnc short 02565h                          ; 73 26
+    jnc short 0255ch                          ; 73 26
     imul si, bx, strict byte 0000eh           ; 6b f3 0e
     mov di, bx                                ; 89 df
@@ -4332,5 +4288,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 02562h                               ; e3 06
+    jcxz 02559h                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4338,10 +4294,10 @@
     pop DS                                    ; 1f
     inc bx                                    ; 43
-    jmp short 02539h                          ; eb d4
-    call 023a1h                               ; e8 39 fe
+    jmp short 02530h                          ; eb d4
+    call 02398h                               ; e8 39 fe
     cmp byte [bp-002h], 010h                  ; 80 7e fe 10
-    jc short 02574h                           ; 72 06
+    jc short 0256bh                           ; 72 06
     mov ax, strict word 0000eh                ; b8 0e 00
-    call 023dah                               ; e8 66 fe
+    call 023d1h                               ; e8 66 fe
     leave                                     ; c9
     pop di                                    ; 5f
@@ -4350,5 +4306,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_load_text_8_8_pat_:                   ; 0xc257a LB 0x6e
+biosfn_load_text_8_8_pat_:                   ; 0xc2571 LB 0x6e
     push bx                                   ; 53
     push cx                                   ; 51
@@ -4357,5 +4313,5 @@
     enter 00004h, 000h                        ; c8 04 00 00
     mov byte [bp-002h], al                    ; 88 46 fe
-    call 02378h                               ; e8 f0 fd
+    call 0236fh                               ; e8 f0 fd
     mov al, dl                                ; 88 d0
     and AL, strict byte 003h                  ; 24 03
@@ -4370,7 +4326,7 @@
     mov word [bp-004h], bx                    ; 89 5e fc
     xor bx, bx                                ; 31 db
-    jmp short 025abh                          ; eb 06
+    jmp short 025a2h                          ; eb 06
     cmp bx, 00100h                            ; 81 fb 00 01
-    jnc short 025d3h                          ; 73 28
+    jnc short 025cah                          ; 73 28
     mov si, bx                                ; 89 de
     sal si, 003h                              ; c1 e6 03
@@ -4384,5 +4340,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 025d0h                               ; e3 06
+    jcxz 025c7h                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4390,10 +4346,10 @@
     pop DS                                    ; 1f
     inc bx                                    ; 43
-    jmp short 025a5h                          ; eb d2
-    call 023a1h                               ; e8 cb fd
+    jmp short 0259ch                          ; eb d2
+    call 02398h                               ; e8 cb fd
     cmp byte [bp-002h], 010h                  ; 80 7e fe 10
-    jc short 025e2h                           ; 72 06
+    jc short 025d9h                           ; 72 06
     mov ax, strict word 00008h                ; b8 08 00
-    call 023dah                               ; e8 f8 fd
+    call 023d1h                               ; e8 f8 fd
     leave                                     ; c9
     pop di                                    ; 5f
@@ -4402,5 +4358,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_load_text_8_16_pat_:                  ; 0xc25e8 LB 0x6e
+biosfn_load_text_8_16_pat_:                  ; 0xc25df LB 0x6e
     push bx                                   ; 53
     push cx                                   ; 51
@@ -4409,5 +4365,5 @@
     enter 00004h, 000h                        ; c8 04 00 00
     mov byte [bp-002h], al                    ; 88 46 fe
-    call 02378h                               ; e8 82 fd
+    call 0236fh                               ; e8 82 fd
     mov al, dl                                ; 88 d0
     and AL, strict byte 003h                  ; 24 03
@@ -4422,7 +4378,7 @@
     mov word [bp-004h], bx                    ; 89 5e fc
     xor bx, bx                                ; 31 db
-    jmp short 02619h                          ; eb 06
+    jmp short 02610h                          ; eb 06
     cmp bx, 00100h                            ; 81 fb 00 01
-    jnc short 02641h                          ; 73 28
+    jnc short 02638h                          ; 73 28
     mov si, bx                                ; 89 de
     sal si, 004h                              ; c1 e6 04
@@ -4436,5 +4392,5 @@
     mov es, ax                                ; 8e c0
     cld                                       ; fc
-    jcxz 0263eh                               ; e3 06
+    jcxz 02635h                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4442,10 +4398,10 @@
     pop DS                                    ; 1f
     inc bx                                    ; 43
-    jmp short 02613h                          ; eb d2
-    call 023a1h                               ; e8 5d fd
+    jmp short 0260ah                          ; eb d2
+    call 02398h                               ; e8 5d fd
     cmp byte [bp-002h], 010h                  ; 80 7e fe 10
-    jc short 02650h                           ; 72 06
+    jc short 02647h                           ; 72 06
     mov ax, strict word 00010h                ; b8 10 00
-    call 023dah                               ; e8 8a fd
+    call 023d1h                               ; e8 8a fd
     leave                                     ; c9
     pop di                                    ; 5f
@@ -4454,45 +4410,45 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_load_gfx_8_8_chars_:                  ; 0xc2656 LB 0x5
+biosfn_load_gfx_8_8_chars_:                  ; 0xc264d LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_load_gfx_user_chars_:                 ; 0xc265b LB 0x7
+biosfn_load_gfx_user_chars_:                 ; 0xc2652 LB 0x7
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn 00002h                               ; c2 02 00
-biosfn_load_gfx_8_14_chars_:                 ; 0xc2662 LB 0x5
+biosfn_load_gfx_8_14_chars_:                 ; 0xc2659 LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_load_gfx_8_8_dd_chars_:               ; 0xc2667 LB 0x5
+biosfn_load_gfx_8_8_dd_chars_:               ; 0xc265e LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_load_gfx_8_16_chars_:                 ; 0xc266c LB 0x5
+biosfn_load_gfx_8_16_chars_:                 ; 0xc2663 LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_alternate_prtsc_:                     ; 0xc2671 LB 0x5
+biosfn_alternate_prtsc_:                     ; 0xc2668 LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_switch_video_interface_:              ; 0xc2676 LB 0x5
+biosfn_switch_video_interface_:              ; 0xc266d LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_enable_video_refresh_control_:        ; 0xc267b LB 0x5
+biosfn_enable_video_refresh_control_:        ; 0xc2672 LB 0x5
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     pop bp                                    ; 5d
     retn                                      ; c3
-biosfn_write_string_:                        ; 0xc2680 LB 0x97
+biosfn_write_string_:                        ; 0xc2677 LB 0x97
     push si                                   ; 56
     push di                                   ; 57
@@ -4506,7 +4462,7 @@
     lea bx, [bp-00ah]                         ; 8d 5e f6
     lea dx, [bp-008h]                         ; 8d 56 f8
-    call 00a8ch                               ; e8 ec e3
+    call 00a83h                               ; e8 ec e3
     cmp byte [bp+008h], 0ffh                  ; 80 7e 08 ff
-    jne short 026b7h                          ; 75 11
+    jne short 026aeh                          ; 75 11
     mov al, byte [bp-00ah]                    ; 8a 46 f6
     mov byte [bp+00ah], al                    ; 88 46 0a
@@ -4520,19 +4476,19 @@
     add dx, ax                                ; 01 c2
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
-    call 00e4bh                               ; e8 80 e7
+    call 00e42h                               ; e8 80 e7
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
-    je short 02701h                           ; 74 30
+    je short 026f8h                           ; 74 30
     mov dx, di                                ; 89 fa
     inc di                                    ; 47
     mov ax, word [bp+00ch]                    ; 8b 46 0c
-    call 02ef4h                               ; e8 1a 08
+    call 02eebh                               ; e8 1a 08
     mov cl, al                                ; 88 c1
     test byte [bp-006h], 002h                 ; f6 46 fa 02
-    je short 026eeh                           ; 74 0c
+    je short 026e5h                           ; 74 0c
     mov dx, di                                ; 89 fa
     inc di                                    ; 47
     mov ax, word [bp+00ch]                    ; 8b 46 0c
-    call 02ef4h                               ; e8 09 08
+    call 02eebh                               ; e8 09 08
     mov byte [bp-002h], al                    ; 88 46 fe
     movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
@@ -4540,16 +4496,16 @@
     movzx ax, cl                              ; 0f b6 c1
     mov cx, strict word 00003h                ; b9 03 00
-    call 020f9h                               ; e8 fa f9
-    jmp short 026cbh                          ; eb ca
+    call 020f0h                               ; e8 fa f9
+    jmp short 026c2h                          ; eb ca
     test byte [bp-006h], 001h                 ; f6 46 fa 01
-    jne short 02711h                          ; 75 0a
+    jne short 02708h                          ; 75 0a
     mov dx, word [bp-00ah]                    ; 8b 56 f6
     movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
-    call 00e4bh                               ; e8 3a e7
+    call 00e42h                               ; e8 3a e7
     leave                                     ; c9
     pop di                                    ; 5f
     pop si                                    ; 5e
     retn 00008h                               ; c2 08 00
-biosfn_read_state_info_:                     ; 0xc2717 LB 0xfe
+biosfn_read_state_info_:                     ; 0xc270e LB 0xfe
     push cx                                   ; 51
     push si                                   ; 56
@@ -4563,5 +4519,5 @@
     mov dx, word [bp-004h]                    ; 8b 56 fc
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f3eh                               ; e8 11 08
+    call 02f35h                               ; e8 11 08
     mov di, word [bp-004h]                    ; 8b 7e fc
     add di, strict byte 00004h                ; 83 c7 04
@@ -4571,5 +4527,5 @@
     mov es, [bp-002h]                         ; 8e 46 fe
     cld                                       ; fc
-    jcxz 02748h                               ; e3 06
+    jcxz 0273fh                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4583,5 +4539,5 @@
     mov es, [bp-002h]                         ; 8e 46 fe
     cld                                       ; fc
-    jcxz 02763h                               ; e3 06
+    jcxz 0275ah                               ; e3 06
     push DS                                   ; 1e
     mov ds, dx                                ; 8e da
@@ -4590,55 +4546,55 @@
     mov dx, 0008ah                            ; ba 8a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 88 07
+    call 02eebh                               ; e8 88 07
     movzx bx, al                              ; 0f b6 d8
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00025h                ; 83 c2 25
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 87 07
+    call 02ef9h                               ; e8 87 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00026h                ; 83 c2 26
     xor bx, bx                                ; 31 db
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 79 07
+    call 02ef9h                               ; e8 79 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00027h                ; 83 c2 27
     mov bx, strict word 00010h                ; bb 10 00
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 6a 07
+    call 02ef9h                               ; e8 6a 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00028h                ; 83 c2 28
     xor bx, bx                                ; 31 db
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 5c 07
+    call 02ef9h                               ; e8 5c 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00029h                ; 83 c2 29
     mov bx, strict word 00008h                ; bb 08 00
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 4d 07
+    call 02ef9h                               ; e8 4d 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 0002ah                ; 83 c2 2a
     mov bx, strict word 00002h                ; bb 02 00
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 3e 07
+    call 02ef9h                               ; e8 3e 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 0002bh                ; 83 c2 2b
     xor bx, bx                                ; 31 db
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 30 07
+    call 02ef9h                               ; e8 30 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 0002ch                ; 83 c2 2c
     xor bx, bx                                ; 31 db
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 22 07
+    call 02ef9h                               ; e8 22 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00031h                ; 83 c2 31
     mov bx, strict word 00003h                ; bb 03 00
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 13 07
+    call 02ef9h                               ; e8 13 07
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, strict byte 00032h                ; 83 c2 32
     xor bx, bx                                ; 31 db
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02f02h                               ; e8 05 07
+    call 02ef9h                               ; e8 05 07
     mov di, word [bp-004h]                    ; 8b 7e fc
     add di, strict byte 00033h                ; 83 c7 33
@@ -4647,5 +4603,5 @@
     mov es, [bp-002h]                         ; 8e 46 fe
     cld                                       ; fc
-    jcxz 02810h                               ; e3 02
+    jcxz 02807h                               ; e3 02
     rep stosb                                 ; f3 aa
     leave                                     ; c9
@@ -4654,5 +4610,5 @@
     pop cx                                    ; 59
     retn                                      ; c3
-biosfn_read_video_state_size2_:              ; 0xc2815 LB 0x23
+biosfn_read_video_state_size2_:              ; 0xc280c LB 0x23
     push dx                                   ; 52
     push bp                                   ; 55
@@ -4661,26 +4617,26 @@
     xor ax, ax                                ; 31 c0
     test dl, 001h                             ; f6 c2 01
-    je short 02825h                           ; 74 03
+    je short 0281ch                           ; 74 03
     mov ax, strict word 00046h                ; b8 46 00
     test dl, 002h                             ; f6 c2 02
-    je short 0282dh                           ; 74 03
+    je short 02824h                           ; 74 03
     add ax, strict word 0002ah                ; 05 2a 00
     test dl, 004h                             ; f6 c2 04
-    je short 02835h                           ; 74 03
+    je short 0282ch                           ; 74 03
     add ax, 00304h                            ; 05 04 03
     pop bp                                    ; 5d
     pop dx                                    ; 5a
     retn                                      ; c3
-vga_get_video_state_size_:                   ; 0xc2838 LB 0xf
+vga_get_video_state_size_:                   ; 0xc282f LB 0xf
     push bx                                   ; 53
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
     mov bx, dx                                ; 89 d3
-    call 02815h                               ; e8 d4 ff
+    call 0280ch                               ; e8 d4 ff
     mov word [ss:bx], ax                      ; 36 89 07
     pop bp                                    ; 5d
     pop bx                                    ; 5b
     retn                                      ; c3
-biosfn_save_video_state_:                    ; 0xc2847 LB 0x365
+biosfn_save_video_state_:                    ; 0xc283e LB 0x365
     push cx                                   ; 51
     push si                                   ; 56
@@ -4692,8 +4648,8 @@
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 b4 06
+    call 02f07h                               ; e8 b4 06
     mov di, ax                                ; 89 c7
     test byte [bp-006h], 001h                 ; f6 46 fa 01
-    je near 029c9h                            ; 0f 84 63 01
+    je near 029c0h                            ; 0f 84 63 01
     mov dx, 003c4h                            ; ba c4 03
     in AL, DX                                 ; ec
@@ -4703,5 +4659,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 8c 06
+    call 02ef9h                               ; e8 8c 06
     inc cx                                    ; 41
     mov dx, di                                ; 89 fa
@@ -4712,5 +4668,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 7c 06
+    call 02ef9h                               ; e8 7c 06
     inc cx                                    ; 41
     mov dx, 003ceh                            ; ba ce 03
@@ -4721,5 +4677,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 6b 06
+    call 02ef9h                               ; e8 6b 06
     inc cx                                    ; 41
     mov dx, 003dah                            ; ba da 03
@@ -4735,5 +4691,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 50 06
+    call 02ef9h                               ; e8 50 06
     inc cx                                    ; 41
     mov dx, 003cah                            ; ba ca 03
@@ -4744,11 +4700,11 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 3f 06
+    call 02ef9h                               ; e8 3f 06
     mov ax, strict word 00001h                ; b8 01 00
     mov word [bp-004h], ax                    ; 89 46 fc
     add cx, ax                                ; 01 c1
-    jmp short 028d3h                          ; eb 06
+    jmp short 028cah                          ; eb 06
     cmp word [bp-004h], strict byte 00004h    ; 83 7e fc 04
-    jnbe short 028f0h                         ; 77 1d
+    jnbe short 028e7h                         ; 77 1d
     mov al, byte [bp-004h]                    ; 8a 46 fc
     mov dx, 003c4h                            ; ba c4 03
@@ -4761,8 +4717,8 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 18 06
+    call 02ef9h                               ; e8 18 06
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 028cdh                          ; eb dd
+    jmp short 028c4h                          ; eb dd
     xor al, al                                ; 30 c0
     mov dx, 003c4h                            ; ba c4 03
@@ -4775,10 +4731,10 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 fc 05
+    call 02ef9h                               ; e8 fc 05
     mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
     inc cx                                    ; 41
-    jmp short 02914h                          ; eb 06
+    jmp short 0290bh                          ; eb 06
     cmp word [bp-004h], strict byte 00018h    ; 83 7e fc 18
-    jnbe short 02930h                         ; 77 1c
+    jnbe short 02927h                         ; 77 1c
     mov al, byte [bp-004h]                    ; 8a 46 fc
     mov dx, di                                ; 89 fa
@@ -4791,12 +4747,12 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 d8 05
+    call 02ef9h                               ; e8 d8 05
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 0290eh                          ; eb de
+    jmp short 02905h                          ; eb de
     mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
-    jmp short 0293dh                          ; eb 06
+    jmp short 02934h                          ; eb 06
     cmp word [bp-004h], strict byte 00013h    ; 83 7e fc 13
-    jnbe short 02966h                         ; 77 29
+    jnbe short 0295dh                         ; 77 29
     mov dx, 003dah                            ; ba da 03
     in AL, DX                                 ; ec
@@ -4815,8 +4771,8 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 a2 05
+    call 02ef9h                               ; e8 a2 05
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 02937h                          ; eb d1
+    jmp short 0292eh                          ; eb d1
     mov dx, 003dah                            ; ba da 03
     in AL, DX                                 ; ec
@@ -4824,7 +4780,7 @@
     ; sub ah, ah                                ; 2a e4
     mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
-    jmp short 02979h                          ; eb 06
+    jmp short 02970h                          ; eb 06
     cmp word [bp-004h], strict byte 00008h    ; 83 7e fc 08
-    jnbe short 02996h                         ; 77 1d
+    jnbe short 0298dh                         ; 77 1d
     mov al, byte [bp-004h]                    ; 8a 46 fc
     mov dx, 003ceh                            ; ba ce 03
@@ -4837,12 +4793,12 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 72 05
+    call 02ef9h                               ; e8 72 05
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 02973h                          ; eb dd
+    jmp short 0296ah                          ; eb dd
     mov bx, di                                ; 89 fb
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 7f 05
+    call 02f15h                               ; e8 7f 05
     inc cx                                    ; 41
     inc cx                                    ; 41
@@ -4850,180 +4806,180 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 58 05
+    call 02ef9h                               ; e8 58 05
     inc cx                                    ; 41
     xor bx, bx                                ; 31 db
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 4e 05
+    call 02ef9h                               ; e8 4e 05
     inc cx                                    ; 41
     xor bx, bx                                ; 31 db
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 44 05
+    call 02ef9h                               ; e8 44 05
     inc cx                                    ; 41
     xor bx, bx                                ; 31 db
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 3a 05
+    call 02ef9h                               ; e8 3a 05
     inc cx                                    ; 41
     test byte [bp-006h], 002h                 ; f6 46 fa 02
-    je near 02b38h                            ; 0f 84 67 01
+    je near 02b2fh                            ; 0f 84 67 01
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 1a 05
+    call 02eebh                               ; e8 1a 05
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 1e 05
+    call 02ef9h                               ; e8 1e 05
     inc cx                                    ; 41
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 22 05
+    call 02f07h                               ; e8 22 05
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 27 05
+    call 02f15h                               ; e8 27 05
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, strict word 0004ch                ; ba 4c 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 0e 05
+    call 02f07h                               ; e8 0e 05
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 13 05
+    call 02f15h                               ; e8 13 05
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 fa 04
+    call 02f07h                               ; e8 fa 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 ff 04
+    call 02f15h                               ; e8 ff 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 ca 04
+    call 02eebh                               ; e8 ca 04
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 ce 04
+    call 02ef9h                               ; e8 ce 04
     inc cx                                    ; 41
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 d2 04
+    call 02f07h                               ; e8 d2 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 d7 04
+    call 02f15h                               ; e8 d7 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 a2 04
+    call 02eebh                               ; e8 a2 04
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 a6 04
+    call 02ef9h                               ; e8 a6 04
     inc cx                                    ; 41
     mov dx, 00088h                            ; ba 88 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 8e 04
+    call 02eebh                               ; e8 8e 04
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 92 04
+    call 02ef9h                               ; e8 92 04
     inc cx                                    ; 41
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 7a 04
+    call 02eebh                               ; e8 7a 04
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 7e 04
+    call 02ef9h                               ; e8 7e 04
     inc cx                                    ; 41
     mov dx, strict word 00060h                ; ba 60 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 82 04
+    call 02f07h                               ; e8 82 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 87 04
+    call 02f15h                               ; e8 87 04
     mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
     inc cx                                    ; 41
     inc cx                                    ; 41
-    jmp short 02aa6h                          ; eb 06
+    jmp short 02a9dh                          ; eb 06
     cmp word [bp-004h], strict byte 00008h    ; 83 7e fc 08
-    jnc short 02ac4h                          ; 73 1e
+    jnc short 02abbh                          ; 73 1e
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, dx                                ; 01 d2
     add dx, strict byte 00050h                ; 83 c2 50
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 5c 04
+    call 02f07h                               ; e8 5c 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 61 04
+    call 02f15h                               ; e8 61 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 02aa0h                          ; eb dc
+    jmp short 02a97h                          ; eb dc
     mov dx, strict word 0004eh                ; ba 4e 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f10h                               ; e8 43 04
+    call 02f07h                               ; e8 43 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 48 04
+    call 02f15h                               ; e8 48 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02ef4h                               ; e8 13 04
+    call 02eebh                               ; e8 13 04
     movzx bx, al                              ; 0f b6 d8
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 17 04
+    call 02ef9h                               ; e8 17 04
     inc cx                                    ; 41
     mov dx, strict word 0007ch                ; ba 7c 00
     xor ax, ax                                ; 31 c0
-    call 02f10h                               ; e8 1c 04
+    call 02f07h                               ; e8 1c 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 21 04
+    call 02f15h                               ; e8 21 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, strict word 0007eh                ; ba 7e 00
     xor ax, ax                                ; 31 c0
-    call 02f10h                               ; e8 09 04
+    call 02f07h                               ; e8 09 04
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 0e 04
+    call 02f15h                               ; e8 0e 04
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, 0010ch                            ; ba 0c 01
     xor ax, ax                                ; 31 c0
-    call 02f10h                               ; e8 f6 03
+    call 02f07h                               ; e8 f6 03
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 fb 03
+    call 02f15h                               ; e8 fb 03
     inc cx                                    ; 41
     inc cx                                    ; 41
     mov dx, 0010eh                            ; ba 0e 01
     xor ax, ax                                ; 31 c0
-    call 02f10h                               ; e8 e3 03
+    call 02f07h                               ; e8 e3 03
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 e8 03
+    call 02f15h                               ; e8 e8 03
     inc cx                                    ; 41
     inc cx                                    ; 41
     test byte [bp-006h], 004h                 ; f6 46 fa 04
-    je short 02ba5h                           ; 74 67
+    je short 02b9ch                           ; 74 67
     mov dx, 003c7h                            ; ba c7 03
     in AL, DX                                 ; ec
@@ -5033,5 +4989,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 b4 03
+    call 02ef9h                               ; e8 b4 03
     inc cx                                    ; 41
     mov dx, 003c8h                            ; ba c8 03
@@ -5042,5 +4998,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 a3 03
+    call 02ef9h                               ; e8 a3 03
     inc cx                                    ; 41
     mov dx, 003c6h                            ; ba c6 03
@@ -5051,5 +5007,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 92 03
+    call 02ef9h                               ; e8 92 03
     inc cx                                    ; 41
     xor al, al                                ; 30 c0
@@ -5058,7 +5014,7 @@
     xor ah, ah                                ; 30 e4
     mov word [bp-004h], ax                    ; 89 46 fc
-    jmp short 02b85h                          ; eb 07
+    jmp short 02b7ch                          ; eb 07
     cmp word [bp-004h], 00300h                ; 81 7e fc 00 03
-    jnc short 02b9bh                          ; 73 16
+    jnc short 02b92h                          ; 73 16
     mov dx, 003c9h                            ; ba c9 03
     in AL, DX                                 ; ec
@@ -5068,12 +5024,12 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 6d 03
+    call 02ef9h                               ; e8 6d 03
     inc cx                                    ; 41
     inc word [bp-004h]                        ; ff 46 fc
-    jmp short 02b7eh                          ; eb e3
+    jmp short 02b75h                          ; eb e3
     xor bx, bx                                ; 31 db
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 5e 03
+    call 02ef9h                               ; e8 5e 03
     inc cx                                    ; 41
     mov ax, cx                                ; 89 c8
@@ -5083,5 +5039,5 @@
     pop cx                                    ; 59
     retn                                      ; c3
-biosfn_restore_video_state_:                 ; 0xc2bac LB 0x321
+biosfn_restore_video_state_:                 ; 0xc2ba3 LB 0x321
     push cx                                   ; 51
     push si                                   ; 56
@@ -5092,5 +5048,5 @@
     mov cx, bx                                ; 89 d9
     test byte [bp-008h], 001h                 ; f6 46 f8 01
-    je near 02d0ah                            ; 0f 84 4a 01
+    je near 02d01h                            ; 0f 84 4a 01
     mov dx, 003dah                            ; ba da 03
     in AL, DX                                 ; ec
@@ -5099,11 +5055,11 @@
     lea dx, [bx+040h]                         ; 8d 57 40
     mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 42 03
+    call 02f07h                               ; e8 42 03
     mov di, ax                                ; 89 c7
     mov word [bp-002h], strict word 00001h    ; c7 46 fe 01 00
     lea cx, [bx+005h]                         ; 8d 4f 05
-    jmp short 02be0h                          ; eb 06
+    jmp short 02bd7h                          ; eb 06
     cmp word [bp-002h], strict byte 00004h    ; 83 7e fe 04
-    jnbe short 02bf8h                         ; 77 18
+    jnbe short 02befh                         ; 77 18
     mov al, byte [bp-002h]                    ; 8a 46 fe
     mov dx, 003c4h                            ; ba c4 03
@@ -5111,10 +5067,10 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 06 03
+    call 02eebh                               ; e8 06 03
     mov dx, 003c5h                            ; ba c5 03
     out DX, AL                                ; ee
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02bdah                          ; eb e2
+    jmp short 02bd1h                          ; eb e2
     xor al, al                                ; 30 c0
     mov dx, 003c4h                            ; ba c4 03
@@ -5122,5 +5078,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 ef 02
+    call 02eebh                               ; e8 ef 02
     mov dx, 003c5h                            ; ba c5 03
     out DX, AL                                ; ee
@@ -5130,9 +5086,9 @@
     out DX, ax                                ; ef
     mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
-    jmp short 02c1dh                          ; eb 06
+    jmp short 02c14h                          ; eb 06
     cmp word [bp-002h], strict byte 00018h    ; 83 7e fe 18
-    jnbe short 02c3ah                         ; 77 1d
+    jnbe short 02c31h                         ; 77 1d
     cmp word [bp-002h], strict byte 00011h    ; 83 7e fe 11
-    je short 02c34h                           ; 74 11
+    je short 02c2bh                           ; 74 11
     mov al, byte [bp-002h]                    ; 8a 46 fe
     mov dx, di                                ; 89 fa
@@ -5140,10 +5096,10 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 c4 02
+    call 02eebh                               ; e8 c4 02
     lea dx, [di+001h]                         ; 8d 55 01
     out DX, AL                                ; ee
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02c17h                          ; eb dd
+    jmp short 02c0eh                          ; eb dd
     mov dx, 003cch                            ; ba cc 03
     in AL, DX                                 ; ec
@@ -5153,5 +5109,5 @@
     mov word [bp-004h], ax                    ; 89 46 fc
     cmp di, 003d4h                            ; 81 ff d4 03
-    jne short 02c4fh                          ; 75 04
+    jne short 02c46h                          ; 75 04
     or byte [bp-004h], 001h                   ; 80 4e fc 01
     mov al, byte [bp-004h]                    ; 8a 46 fc
@@ -5164,10 +5120,10 @@
     add dx, strict byte 0fff9h                ; 83 c2 f9
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 8f 02
+    call 02eebh                               ; e8 8f 02
     lea dx, [di+001h]                         ; 8d 55 01
     out DX, AL                                ; ee
     lea dx, [bx+003h]                         ; 8d 57 03
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 83 02
+    call 02eebh                               ; e8 83 02
     xor ah, ah                                ; 30 e4
     mov word [bp-006h], ax                    ; 89 46 fa
@@ -5177,7 +5133,7 @@
     ; sub ah, ah                                ; 2a e4
     mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
-    jmp short 02c89h                          ; eb 06
+    jmp short 02c80h                          ; eb 06
     cmp word [bp-002h], strict byte 00013h    ; 83 7e fe 13
-    jnbe short 02ca7h                         ; 77 1e
+    jnbe short 02c9eh                         ; 77 1e
     mov ax, word [bp-006h]                    ; 8b 46 fa
     and ax, strict word 00020h                ; 25 20 00
@@ -5187,10 +5143,10 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 57 02
+    call 02eebh                               ; e8 57 02
     mov dx, 003c0h                            ; ba c0 03
     out DX, AL                                ; ee
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02c83h                          ; eb dc
+    jmp short 02c7ah                          ; eb dc
     mov al, byte [bp-006h]                    ; 8a 46 fa
     mov dx, 003c0h                            ; ba c0 03
@@ -5201,7 +5157,7 @@
     ; sub ah, ah                                ; 2a e4
     mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
-    jmp short 02cc1h                          ; eb 06
+    jmp short 02cb8h                          ; eb 06
     cmp word [bp-002h], strict byte 00008h    ; 83 7e fe 08
-    jnbe short 02cd9h                         ; 77 18
+    jnbe short 02cd0h                         ; 77 18
     mov al, byte [bp-002h]                    ; 8a 46 fe
     mov dx, 003ceh                            ; ba ce 03
@@ -5209,14 +5165,14 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 25 02
+    call 02eebh                               ; e8 25 02
     mov dx, 003cfh                            ; ba cf 03
     out DX, AL                                ; ee
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02cbbh                          ; eb e2
+    jmp short 02cb2h                          ; eb e2
     add cx, strict byte 00006h                ; 83 c1 06
     mov dx, bx                                ; 89 da
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 11 02
+    call 02eebh                               ; e8 11 02
     mov dx, 003c4h                            ; ba c4 03
     out DX, AL                                ; ee
@@ -5224,5 +5180,5 @@
     mov dx, bx                                ; 89 da
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 05 02
+    call 02eebh                               ; e8 05 02
     mov dx, di                                ; 89 fa
     out DX, AL                                ; ee
@@ -5230,106 +5186,106 @@
     mov dx, bx                                ; 89 da
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 fa 01
+    call 02eebh                               ; e8 fa 01
     mov dx, 003ceh                            ; ba ce 03
     out DX, AL                                ; ee
     lea dx, [bx+002h]                         ; 8d 57 02
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 ee 01
+    call 02eebh                               ; e8 ee 01
     lea dx, [di+006h]                         ; 8d 55 06
     out DX, AL                                ; ee
     test byte [bp-008h], 002h                 ; f6 46 f8 02
-    je near 02e79h                            ; 0f 84 67 01
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 db 01
+    je near 02e70h                            ; 0f 84 67 01
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 db 01
     movzx bx, al                              ; 0f b6 d8
     mov dx, strict word 00049h                ; ba 49 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 dd 01
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 e3 01
+    call 02ef9h                               ; e8 dd 01
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 e3 01
     mov bx, ax                                ; 89 c3
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 e6 01
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 cf 01
+    call 02f15h                               ; e8 e6 01
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 cf 01
     mov bx, ax                                ; 89 c3
     mov dx, strict word 0004ch                ; ba 4c 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 d2 01
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 bb 01
+    call 02f15h                               ; e8 d2 01
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 bb 01
     mov bx, ax                                ; 89 c3
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 be 01
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 8b 01
+    call 02f15h                               ; e8 be 01
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 8b 01
     movzx bx, al                              ; 0f b6 d8
     mov dx, 00084h                            ; ba 84 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 8d 01
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 93 01
+    call 02ef9h                               ; e8 8d 01
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 93 01
     mov bx, ax                                ; 89 c3
     mov dx, 00085h                            ; ba 85 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 96 01
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 63 01
+    call 02f15h                               ; e8 96 01
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 63 01
     movzx bx, al                              ; 0f b6 d8
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 65 01
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 4f 01
+    call 02ef9h                               ; e8 65 01
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 4f 01
     movzx bx, al                              ; 0f b6 d8
     mov dx, 00088h                            ; ba 88 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 51 01
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 3b 01
+    call 02ef9h                               ; e8 51 01
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 3b 01
     movzx bx, al                              ; 0f b6 d8
     mov dx, 00089h                            ; ba 89 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 3d 01
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 43 01
+    call 02ef9h                               ; e8 3d 01
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 43 01
     mov bx, ax                                ; 89 c3
     mov dx, strict word 00060h                ; ba 60 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 46 01
+    call 02f15h                               ; e8 46 01
     mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
     inc cx                                    ; 41
     inc cx                                    ; 41
-    jmp short 02de7h                          ; eb 06
+    jmp short 02ddeh                          ; eb 06
     cmp word [bp-002h], strict byte 00008h    ; 83 7e fe 08
-    jnc short 02e05h                          ; 73 1e
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 22 01
+    jnc short 02dfch                          ; 73 1e
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 22 01
     mov bx, ax                                ; 89 c3
     mov dx, word [bp-002h]                    ; 8b 56 fe
@@ -5337,68 +5293,68 @@
     add dx, strict byte 00050h                ; 83 c2 50
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 20 01
+    call 02f15h                               ; e8 20 01
     inc cx                                    ; 41
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02de1h                          ; eb dc
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 04 01
+    jmp short 02dd8h                          ; eb dc
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 04 01
     mov bx, ax                                ; 89 c3
     mov dx, strict word 0004eh                ; ba 4e 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 07 01
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 d4 00
+    call 02f15h                               ; e8 07 01
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 d4 00
     movzx bx, al                              ; 0f b6 d8
     mov dx, strict word 00062h                ; ba 62 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 d6 00
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 dc 00
+    call 02ef9h                               ; e8 d6 00
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 dc 00
     mov bx, ax                                ; 89 c3
     mov dx, strict word 0007ch                ; ba 7c 00
     xor ax, ax                                ; 31 c0
-    call 02f1eh                               ; e8 e0 00
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 c9 00
+    call 02f15h                               ; e8 e0 00
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 c9 00
     mov bx, ax                                ; 89 c3
     mov dx, strict word 0007eh                ; ba 7e 00
     xor ax, ax                                ; 31 c0
-    call 02f1eh                               ; e8 cd 00
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 b6 00
+    call 02f15h                               ; e8 cd 00
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 b6 00
     mov bx, ax                                ; 89 c3
     mov dx, 0010ch                            ; ba 0c 01
     xor ax, ax                                ; 31 c0
-    call 02f1eh                               ; e8 ba 00
-    inc cx                                    ; 41
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02f10h                               ; e8 a3 00
+    call 02f15h                               ; e8 ba 00
+    inc cx                                    ; 41
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02f07h                               ; e8 a3 00
     mov bx, ax                                ; 89 c3
     mov dx, 0010eh                            ; ba 0e 01
     xor ax, ax                                ; 31 c0
-    call 02f1eh                               ; e8 a7 00
+    call 02f15h                               ; e8 a7 00
     inc cx                                    ; 41
     inc cx                                    ; 41
     test byte [bp-008h], 004h                 ; f6 46 f8 04
-    je short 02ec6h                           ; 74 47
-    inc cx                                    ; 41
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 6d 00
+    je short 02ebdh                           ; 74 47
+    inc cx                                    ; 41
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 6d 00
     xor ah, ah                                ; 30 e4
     mov word [bp-004h], ax                    ; 89 46 fc
@@ -5406,5 +5362,5 @@
     mov dx, cx                                ; 89 ca
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 60 00
+    call 02eebh                               ; e8 60 00
     mov dx, 003c6h                            ; ba c6 03
     out DX, AL                                ; ee
@@ -5415,15 +5371,15 @@
     xor ah, ah                                ; 30 e4
     mov word [bp-002h], ax                    ; 89 46 fe
-    jmp short 02eadh                          ; eb 07
+    jmp short 02ea4h                          ; eb 07
     cmp word [bp-002h], 00300h                ; 81 7e fe 00 03
-    jnc short 02ebeh                          ; 73 11
-    mov dx, cx                                ; 89 ca
-    mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 40 00
+    jnc short 02eb5h                          ; 73 11
+    mov dx, cx                                ; 89 ca
+    mov ax, si                                ; 89 f0
+    call 02eebh                               ; e8 40 00
     mov dx, 003c9h                            ; ba c9 03
     out DX, AL                                ; ee
     inc cx                                    ; 41
     inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02ea6h                          ; eb e8
+    jmp short 02e9dh                          ; eb e8
     inc cx                                    ; 41
     mov al, byte [bp-004h]                    ; 8a 46 fc
@@ -5436,5 +5392,5 @@
     pop cx                                    ; 59
     retn                                      ; c3
-find_vga_entry_:                             ; 0xc2ecd LB 0x27
+find_vga_entry_:                             ; 0xc2ec4 LB 0x27
     push bx                                   ; 53
     push dx                                   ; 52
@@ -5444,13 +5400,13 @@
     mov AH, strict byte 0ffh                  ; b4 ff
     xor al, al                                ; 30 c0
-    jmp short 02ee0h                          ; eb 06
+    jmp short 02ed7h                          ; eb 06
     db  0feh, 0c0h
     ; inc al                                    ; fe c0
     cmp AL, strict byte 00fh                  ; 3c 0f
-    jnbe short 02eeeh                         ; 77 0e
+    jnbe short 02ee5h                         ; 77 0e
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
     cmp dl, byte [bx+04832h]                  ; 3a 97 32 48
-    jne short 02edah                          ; 75 ee
+    jne short 02ed1h                          ; 75 ee
     mov ah, al                                ; 88 c4
     mov al, ah                                ; 88 e0
@@ -5459,5 +5415,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-read_byte_:                                  ; 0xc2ef4 LB 0xe
+read_byte_:                                  ; 0xc2eeb LB 0xe
     push bx                                   ; 53
     push bp                                   ; 55
@@ -5469,5 +5425,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-write_byte_:                                 ; 0xc2f02 LB 0xe
+write_byte_:                                 ; 0xc2ef9 LB 0xe
     push si                                   ; 56
     push bp                                   ; 55
@@ -5479,5 +5435,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-read_word_:                                  ; 0xc2f10 LB 0xe
+read_word_:                                  ; 0xc2f07 LB 0xe
     push bx                                   ; 53
     push bp                                   ; 55
@@ -5489,5 +5445,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-write_word_:                                 ; 0xc2f1e LB 0xe
+write_word_:                                 ; 0xc2f15 LB 0xe
     push si                                   ; 56
     push bp                                   ; 55
@@ -5499,5 +5455,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-read_dword_:                                 ; 0xc2f2c LB 0x12
+read_dword_:                                 ; 0xc2f23 LB 0x12
     push bx                                   ; 53
     push bp                                   ; 55
@@ -5510,5 +5466,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-write_dword_:                                ; 0xc2f3e LB 0x12
+write_dword_:                                ; 0xc2f35 LB 0x7f
     push si                                   ; 56
     push bp                                   ; 55
@@ -5520,77 +5476,4 @@
     pop bp                                    ; 5d
     pop si                                    ; 5e
-    retn                                      ; c3
-printf_:                                     ; 0xc2f50 LB 0x108
-    push bx                                   ; 53
-    push cx                                   ; 51
-    push dx                                   ; 52
-    push si                                   ; 56
-    push di                                   ; 57
-    enter 00004h, 000h                        ; c8 04 00 00
-    lea si, [bp+00eh]                         ; 8d 76 0e
-    xor cx, cx                                ; 31 c9
-    xor bx, bx                                ; 31 db
-    mov di, word [bp+00eh]                    ; 8b 7e 0e
-    mov al, byte [di]                         ; 8a 05
-    test al, al                               ; 84 c0
-    je near 02fe4h                            ; 0f 84 79 00
-    cmp AL, strict byte 025h                  ; 3c 25
-    jne short 02f76h                          ; 75 07
-    mov cx, strict word 00001h                ; b9 01 00
-    xor bx, bx                                ; 31 db
-    jmp short 02fdeh                          ; eb 68
-    test cx, cx                               ; 85 c9
-    je short 02fdah                           ; 74 60
-    cmp AL, strict byte 030h                  ; 3c 30
-    jc short 02f8eh                           ; 72 10
-    cmp AL, strict byte 039h                  ; 3c 39
-    jnbe short 02f8eh                         ; 77 0c
-    xor ah, ah                                ; 30 e4
-    imul bx, bx, strict byte 0000ah           ; 6b db 0a
-    sub ax, strict word 00030h                ; 2d 30 00
-    add bx, ax                                ; 01 c3
-    jmp short 02fdeh                          ; eb 50
-    cmp AL, strict byte 078h                  ; 3c 78
-    jne short 02fdeh                          ; 75 4c
-    inc si                                    ; 46
-    inc si                                    ; 46
-    mov ax, word [ss:si]                      ; 36 8b 04
-    mov word [bp-004h], ax                    ; 89 46 fc
-    test bx, bx                               ; 85 db
-    jne short 02fa1h                          ; 75 03
-    mov bx, strict word 00004h                ; bb 04 00
-    lea di, [bx-001h]                         ; 8d 7f ff
-    mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
-    cmp bx, word [bp-002h]                    ; 3b 5e fe
-    jbe short 02fd6h                          ; 76 28
-    mov cx, di                                ; 89 f9
-    sal cx, 002h                              ; c1 e1 02
-    mov ax, word [bp-004h]                    ; 8b 46 fc
-    shr ax, CL                                ; d3 e8
-    and ax, strict word 0000fh                ; 25 0f 00
-    cmp ax, strict word 00009h                ; 3d 09 00
-    jnbe short 02fc9h                         ; 77 09
-    add ax, strict word 00030h                ; 05 30 00
-    mov dx, 00504h                            ; ba 04 05
-    out DX, AL                                ; ee
-    jmp short 02fd0h                          ; eb 07
-    add ax, strict word 00037h                ; 05 37 00
-    mov dx, 00504h                            ; ba 04 05
-    out DX, AL                                ; ee
-    dec di                                    ; 4f
-    inc word [bp-002h]                        ; ff 46 fe
-    jmp short 02fa9h                          ; eb d3
-    xor cx, cx                                ; 31 c9
-    jmp short 02fdeh                          ; eb 04
-    mov dx, 00504h                            ; ba 04 05
-    out DX, AL                                ; ee
-    inc word [bp+00eh]                        ; ff 46 0e
-    jmp near 02f60h                           ; e9 7c ff
-    leave                                     ; c9
-    pop di                                    ; 5f
-    pop si                                    ; 5e
-    pop dx                                    ; 5a
-    pop cx                                    ; 59
-    pop bx                                    ; 5b
     retn                                      ; c3
     dec di                                    ; 4f
@@ -5605,25 +5488,26 @@
     add ax, 00304h                            ; 05 04 03
     add al, byte [bx+di]                      ; 02 01
-    add byte [bp+di], bl                      ; 00 1b
-    xor AL, strict byte 086h                  ; 34 86
-    xor ah, al                                ; 30 c4
-    xor al, bl                                ; 30 d8
-    xor cl, ch                                ; 30 e9
+    add byte [bx+033h], dh                    ; 00 77 33
+    loop 02f8fh                               ; e2 2f
+    and byte [bx+si], dh                      ; 20 30
+    xor AL, strict byte 030h                  ; 34 30
+    inc bp                                    ; 45
+    xor byte [bx+di+030h], bl                 ; 30 59 30
+    push strict byte 00030h                   ; 6a 30
+    je short 02f9ch                           ; 74 30
+    scasb                                     ; ae
+    xor byte [bp+si-03cd0h], dh               ; 30 b2 30 c3
+    xor al, ah                                ; 30 e0
     xor ch, bh                                ; 30 fd
-    xor byte [01831h], cl                     ; 30 0e 31 18
-    xor word [bp+si+031h], dx                 ; 31 52 31
-    push si                                   ; 56
-    xor word [bx+031h], sp                    ; 31 67 31
-    test byte [bx+di], dh                     ; 84 31
-    mov ax, word [0c131h]                     ; a1 31 c1
-    xor si, bx                                ; 31 de
-    xor bp, si                                ; 31 f5
-    xor word [bx+di], ax                      ; 31 01
-    db  032h, 0dch
-    ; xor bl, ah                                ; 32 dc
-    xor dl, byte [bx]                         ; 32 17
-    xor ax, word [bx+033h]                    ; 33 47 33
-    pop sp                                    ; 5c
-    xor bx, word [bp+03033h]                  ; 33 9e 33 30
+    xor byte [di], bl                         ; 30 1d
+    xor word [bp+si], di                      ; 31 3a
+    xor word [bx+di+031h], dx                 ; 31 51 31
+    pop bp                                    ; 5d
+    xor word [bx+si], di                      ; 31 38
+    xor dh, byte [bp+di+032h]                 ; 32 73 32
+    mov word [0b832h], ax                     ; a3 32 b8
+    db  032h, 0fah
+    ; xor bh, dl                                ; 32 fa
+    xor dh, byte [bx+si]                      ; 32 30
     and AL, strict byte 023h                  ; 24 23
     and ah, byte [bx+di]                      ; 22 21
@@ -5632,19 +5516,19 @@
     adc byte [si], al                         ; 10 04
     add al, byte [bx+di]                      ; 02 01
-    add byte [bp+di], bl                      ; 00 1b
-    xor AL, strict byte 022h                  ; 34 22
-    xor cl, byte [bx+si+032h]                 ; 32 48 32
-    pop cx                                    ; 59
-    xor ch, byte [bp+si+032h]                 ; 32 6a 32
-    and dh, byte [bp+si]                      ; 22 32
-    dec ax                                    ; 48
-    xor bl, byte [bx+di+032h]                 ; 32 59 32
-    push strict byte 00032h                   ; 6a 32
-    jnp short 03080h                          ; 7b 32
-    xchg word [bp+si], si                     ; 87 32
-    mov byte [0ad32h], AL                     ; a2 32 ad
-    xor bh, byte [bx+si-03cceh]               ; 32 b8 32 c3
+    add byte [bx+033h], dh                    ; 00 77 33
+    jle short 02fcbh                          ; 7e 31
+    movsb                                     ; a4
+    xor word [di-039cfh], si                  ; 31 b5 31 c6
+    xor word [bp+031h], di                    ; 31 7e 31
+    movsb                                     ; a4
+    xor word [di-039cfh], si                  ; 31 b5 31 c6
+    xor di, dx                                ; 31 d7
+    xor bx, sp                                ; 31 e3
+    xor si, di                                ; 31 fe
+    xor word [bx+di], cx                      ; 31 09
+    xor dl, byte [si]                         ; 32 14
+    xor bl, byte [bx]                         ; 32 1f
     db  032h
-_int10_func:                                 ; 0xc3058 LB 0x3c7
+_int10_func:                                 ; 0xc2fb4 LB 0x3c7
     push si                                   ; 56
     push di                                   ; 57
@@ -5654,40 +5538,40 @@
     shr ax, 008h                              ; c1 e8 08
     cmp ax, strict word 0004fh                ; 3d 4f 00
-    jnbe near 0341bh                          ; 0f 87 ad 03
+    jnbe near 03377h                          ; 0f 87 ad 03
     push CS                                   ; 0e
     pop ES                                    ; 07
     mov cx, strict word 00016h                ; b9 16 00
-    mov di, 02febh                            ; bf eb 2f
+    mov di, 02f47h                            ; bf 47 2f
     repne scasb                               ; f2 ae
     sal cx, 1                                 ; d1 e1
     mov di, cx                                ; 89 cf
-    mov ax, word [cs:di+03000h]               ; 2e 8b 85 00 30
+    mov ax, word [cs:di+02f5ch]               ; 2e 8b 85 5c 2f
     mov cl, byte [bp+016h]                    ; 8a 4e 16
     jmp ax                                    ; ff e0
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 00fc1h                               ; e8 33 df
+    call 00fb8h                               ; e8 ce df
     mov ax, word [bp+016h]                    ; 8b 46 16
     and ax, strict word 0007fh                ; 25 7f 00
     cmp ax, strict word 00007h                ; 3d 07 00
-    je short 030aeh                           ; 74 15
+    je short 0300ah                           ; 74 15
     cmp ax, strict word 00006h                ; 3d 06 00
-    je short 030a5h                           ; 74 07
+    je short 03001h                           ; 74 07
     cmp ax, strict word 00005h                ; 3d 05 00
-    jbe short 030aeh                          ; 76 0b
-    jmp short 030b7h                          ; eb 12
+    jbe short 0300ah                          ; 76 0b
+    jmp short 03013h                          ; eb 12
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 03fh                   ; 0c 3f
-    jmp short 030beh                          ; eb 10
+    jmp short 0301ah                          ; eb 10
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 030h                   ; 0c 30
-    jmp short 030beh                          ; eb 07
+    jmp short 0301ah                          ; eb 07
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 020h                   ; 0c 20
     mov word [bp+016h], ax                    ; 89 46 16
-    jmp near 0341bh                           ; e9 57 03
+    jmp near 03377h                           ; e9 57 03
     mov al, byte [bp+014h]                    ; 8a 46 14
     movzx dx, al                              ; 0f b6 d0
@@ -5695,12 +5579,12 @@
     shr ax, 008h                              ; c1 e8 08
     xor ah, ah                                ; 30 e4
-    call 00daah                               ; e8 d5 dc
-    jmp near 0341bh                           ; e9 43 03
+    call 00da1h                               ; e8 70 dd
+    jmp near 03377h                           ; e9 43 03
     mov dx, word [bp+012h]                    ; 8b 56 12
     mov ax, word [bp+010h]                    ; 8b 46 10
     shr ax, 008h                              ; c1 e8 08
     xor ah, ah                                ; 30 e4
-    call 00e4bh                               ; e8 65 dd
-    jmp near 0341bh                           ; e9 32 03
+    call 00e42h                               ; e8 00 de
+    jmp near 03377h                           ; e9 32 03
     lea bx, [bp+012h]                         ; 8d 5e 12
     lea dx, [bp+014h]                         ; 8d 56 14
@@ -5708,6 +5592,6 @@
     shr ax, 008h                              ; c1 e8 08
     xor ah, ah                                ; 30 e4
-    call 00a8ch                               ; e8 92 d9
-    jmp near 0341bh                           ; e9 1e 03
+    call 00a83h                               ; e8 2d da
+    jmp near 03377h                           ; e9 1e 03
     xor ax, ax                                ; 31 c0
     mov word [bp+016h], ax                    ; 89 46 16
@@ -5715,9 +5599,9 @@
     mov word [bp+014h], ax                    ; 89 46 14
     mov word [bp+012h], ax                    ; 89 46 12
-    jmp near 0341bh                           ; e9 0d 03
+    jmp near 03377h                           ; e9 0d 03
     mov al, cl                                ; 88 c8
     xor ah, ah                                ; 30 e4
-    call 00ee9h                               ; e8 d4 dd
-    jmp near 0341bh                           ; e9 03 03
+    call 00ee0h                               ; e8 6f de
+    jmp near 03377h                           ; e9 03 03
     mov ax, strict word 00001h                ; b8 01 00
     push ax                                   ; 50
@@ -5741,14 +5625,14 @@
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 01538h                               ; e8 e9 e3
-    jmp near 0341bh                           ; e9 c9 02
+    call 0152fh                               ; e8 84 e4
+    jmp near 03377h                           ; e9 c9 02
     xor ax, ax                                ; 31 c0
-    jmp short 0311bh                          ; eb c5
+    jmp short 03077h                          ; eb c5
     lea dx, [bp+016h]                         ; 8d 56 16
     mov ax, word [bp+010h]                    ; 8b 46 10
     shr ax, 008h                              ; c1 e8 08
     xor ah, ah                                ; 30 e4
-    call 00acch                               ; e8 68 d9
-    jmp near 0341bh                           ; e9 b4 02
+    call 00ac3h                               ; e8 03 da
+    jmp near 03377h                           ; e9 b4 02
     mov cx, word [bp+014h]                    ; 8b 4e 14
     mov al, byte [bp+010h]                    ; 8a 46 10
@@ -5759,6 +5643,6 @@
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 01cc4h                               ; e8 43 eb
-    jmp near 0341bh                           ; e9 97 02
+    call 01cbbh                               ; e8 de eb
+    jmp near 03377h                           ; e9 97 02
     mov cx, word [bp+014h]                    ; 8b 4e 14
     mov al, byte [bp+010h]                    ; 8a 46 10
@@ -5769,6 +5653,6 @@
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 01e27h                               ; e8 89 ec
-    jmp near 0341bh                           ; e9 7a 02
+    call 01e1eh                               ; e8 24 ed
+    jmp near 03377h                           ; e9 7a 02
     mov cx, word [bp+012h]                    ; 8b 4e 12
     mov bx, word [bp+014h]                    ; 8b 5e 14
@@ -5780,6 +5664,6 @@
     mov al, byte [bp-002h]                    ; 8a 46 fe
     xor ah, ah                                ; 30 e4
-    call 01f91h                               ; e8 d3 ed
-    jmp near 0341bh                           ; e9 5a 02
+    call 01f88h                               ; e8 6e ee
+    jmp near 03377h                           ; e9 5a 02
     lea cx, [bp+016h]                         ; 8d 4e 16
     mov bx, word [bp+012h]                    ; 8b 5e 12
@@ -5790,6 +5674,6 @@
     mov al, byte [bp-002h]                    ; 8a 46 fe
     xor ah, ah                                ; 30 e4
-    call 00beeh                               ; e8 13 da
-    jmp near 0341bh                           ; e9 3d 02
+    call 00be5h                               ; e8 ae da
+    jmp near 03377h                           ; e9 3d 02
     mov cx, strict word 00002h                ; b9 02 00
     mov al, byte [bp+010h]                    ; 8a 46 10
@@ -5798,22 +5682,22 @@
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 020f9h                               ; e8 07 ef
-    jmp near 0341bh                           ; e9 26 02
+    call 020f0h                               ; e8 a2 ef
+    jmp near 03377h                           ; e9 26 02
     mov dx, word [bp+014h]                    ; 8b 56 14
     mov ax, word [bp+010h]                    ; 8b 46 10
-    call 00d22h                               ; e8 24 db
-    jmp near 0341bh                           ; e9 1a 02
+    call 00d19h                               ; e8 bf db
+    jmp near 03377h                           ; e9 1a 02
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor ah, ah                                ; 30 e4
     cmp ax, strict word 00030h                ; 3d 30 00
-    jnbe near 0341bh                          ; 0f 87 0e 02
+    jnbe near 03377h                          ; 0f 87 0e 02
     push CS                                   ; 0e
     pop ES                                    ; 07
     mov cx, strict word 0000fh                ; b9 0f 00
-    mov di, 0302ch                            ; bf 2c 30
+    mov di, 02f88h                            ; bf 88 2f
     repne scasb                               ; f2 ae
     sal cx, 1                                 ; d1 e1
     mov di, cx                                ; 89 cf
-    mov ax, word [cs:di+0303ah]               ; 2e 8b 85 3a 30
+    mov ax, word [cs:di+02f96h]               ; 2e 8b 85 96 2f
     jmp ax                                    ; ff e0
     mov ax, word [bp+010h]                    ; 8b 46 10
@@ -5830,28 +5714,28 @@
     mov bx, word [bp+00ch]                    ; 8b 5e 0c
     mov dx, word [bp+01ah]                    ; 8b 56 1a
-    call 02496h                               ; e8 51 f2
-    jmp near 0341bh                           ; e9 d3 01
+    call 0248dh                               ; e8 ec f2
+    jmp near 03377h                           ; e9 d3 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     movzx dx, al                              ; 0f b6 d0
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 0250eh                               ; e8 b8 f2
-    jmp near 0341bh                           ; e9 c2 01
+    call 02505h                               ; e8 53 f3
+    jmp near 03377h                           ; e9 c2 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     movzx dx, al                              ; 0f b6 d0
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 0257ah                               ; e8 13 f3
-    jmp near 0341bh                           ; e9 b1 01
+    call 02571h                               ; e8 ae f3
+    jmp near 03377h                           ; e9 b1 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     movzx dx, al                              ; 0f b6 d0
     mov al, byte [bp+016h]                    ; 8a 46 16
     xor ah, ah                                ; 30 e4
-    call 025e8h                               ; e8 70 f3
-    jmp near 0341bh                           ; e9 a0 01
+    call 025dfh                               ; e8 0b f4
+    jmp near 03377h                           ; e9 a0 01
     mov dx, word [bp+00ch]                    ; 8b 56 0c
     mov ax, word [bp+01ah]                    ; 8b 46 1a
-    call 02656h                               ; e8 d2 f3
-    jmp near 0341bh                           ; e9 94 01
+    call 0264dh                               ; e8 6d f4
+    jmp near 03377h                           ; e9 94 01
     mov al, byte [bp+012h]                    ; 8a 46 12
     xor ah, ah                                ; 30 e4
@@ -5862,18 +5746,18 @@
     mov dx, word [bp+00ch]                    ; 8b 56 0c
     mov ax, word [bp+01ah]                    ; 8b 46 1a
-    call 0265bh                               ; e8 bc f3
-    jmp near 0341bh                           ; e9 79 01
+    call 02652h                               ; e8 57 f4
+    jmp near 03377h                           ; e9 79 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     xor ah, ah                                ; 30 e4
-    call 02662h                               ; e8 b8 f3
-    jmp near 0341bh                           ; e9 6e 01
+    call 02659h                               ; e8 53 f4
+    jmp near 03377h                           ; e9 6e 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     xor ah, ah                                ; 30 e4
-    call 02667h                               ; e8 b2 f3
-    jmp near 0341bh                           ; e9 63 01
+    call 0265eh                               ; e8 4d f4
+    jmp near 03377h                           ; e9 63 01
     mov al, byte [bp+010h]                    ; 8a 46 10
     xor ah, ah                                ; 30 e4
-    call 0266ch                               ; e8 ac f3
-    jmp near 0341bh                           ; e9 58 01
+    call 02663h                               ; e8 47 f4
+    jmp near 03377h                           ; e9 58 01
     lea ax, [bp+012h]                         ; 8d 46 12
     push ax                                   ; 50
@@ -5883,28 +5767,28 @@
     mov ax, word [bp+010h]                    ; 8b 46 10
     shr ax, 008h                              ; c1 e8 08
-    call 00b6fh                               ; e8 96 d8
-    jmp near 0341bh                           ; e9 3f 01
+    call 00b66h                               ; e8 31 d9
+    jmp near 03377h                           ; e9 3f 01
     mov ax, word [bp+010h]                    ; 8b 46 10
     xor ah, ah                                ; 30 e4
     cmp ax, strict word 00036h                ; 3d 36 00
-    je short 0330eh                           ; 74 28
+    je short 0326ah                           ; 74 28
     cmp ax, strict word 00035h                ; 3d 35 00
-    je short 032f8h                           ; 74 0d
+    je short 03254h                           ; 74 0d
     cmp ax, strict word 00020h                ; 3d 20 00
-    jne near 0341bh                           ; 0f 85 29 01
-    call 02671h                               ; e8 7c f3
-    jmp near 0341bh                           ; e9 23 01
+    jne near 03377h                           ; 0f 85 29 01
+    call 02668h                               ; e8 17 f4
+    jmp near 03377h                           ; e9 23 01
     movzx ax, cl                              ; 0f b6 c1
     mov bx, word [bp+012h]                    ; 8b 5e 12
     mov dx, word [bp+01ah]                    ; 8b 56 1a
-    call 02676h                               ; e8 72 f3
+    call 0266dh                               ; e8 0d f4
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 012h                   ; 0c 12
-    jmp near 030beh                           ; e9 b0 fd
+    jmp near 0301ah                           ; e9 b0 fd
     mov al, cl                                ; 88 c8
     xor ah, ah                                ; 30 e4
-    call 0267bh                               ; e8 66 f3
-    jmp short 03304h                          ; eb ed
+    call 02672h                               ; e8 01 f4
+    jmp short 03260h                          ; eb ed
     push word [bp+00ch]                       ; ff 76 0c
     push word [bp+01ah]                       ; ff 76 1a
@@ -5923,75 +5807,75 @@
     movzx ax, cl                              ; 0f b6 c1
     mov cx, word [bp+014h]                    ; 8b 4e 14
-    call 02680h                               ; e8 3c f3
-    jmp near 0341bh                           ; e9 d4 00
+    call 02677h                               ; e8 d7 f3
+    jmp near 03377h                           ; e9 d4 00
     mov bx, si                                ; 89 f3
     mov dx, word [bp+01ah]                    ; 8b 56 1a
     mov ax, word [bp+010h]                    ; 8b 46 10
-    call 02717h                               ; e8 c5 f3
+    call 0270eh                               ; e8 60 f4
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 01bh                   ; 0c 1b
-    jmp near 030beh                           ; e9 62 fd
+    jmp near 0301ah                           ; e9 62 fd
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor ah, ah                                ; 30 e4
     cmp ax, strict word 00002h                ; 3d 02 00
-    je short 03388h                           ; 74 22
+    je short 032e4h                           ; 74 22
     cmp ax, strict word 00001h                ; 3d 01 00
-    je short 0337ah                           ; 74 0f
+    je short 032d6h                           ; 74 0f
     test ax, ax                               ; 85 c0
-    jne short 03394h                          ; 75 25
+    jne short 032f0h                          ; 75 25
     lea dx, [bp+010h]                         ; 8d 56 10
     mov ax, word [bp+014h]                    ; 8b 46 14
-    call 02838h                               ; e8 c0 f4
-    jmp short 03394h                          ; eb 1a
+    call 0282fh                               ; e8 5b f5
+    jmp short 032f0h                          ; eb 1a
     mov bx, word [bp+010h]                    ; 8b 5e 10
     mov dx, word [bp+01ah]                    ; 8b 56 1a
     mov ax, word [bp+014h]                    ; 8b 46 14
-    call 02847h                               ; e8 c1 f4
-    jmp short 03394h                          ; eb 0c
+    call 0283eh                               ; e8 5c f5
+    jmp short 032f0h                          ; eb 0c
     mov bx, word [bp+010h]                    ; 8b 5e 10
     mov dx, word [bp+01ah]                    ; 8b 56 1a
     mov ax, word [bp+014h]                    ; 8b 46 14
-    call 02bach                               ; e8 18 f8
+    call 02ba3h                               ; e8 b3 f8
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor al, al                                ; 30 c0
     or AL, strict byte 01ch                   ; 0c 1c
-    jmp near 030beh                           ; e9 20 fd
-    call 007b2h                               ; e8 11 d4
+    jmp near 0301ah                           ; e9 20 fd
+    call 00794h                               ; e8 97 d4
     test ax, ax                               ; 85 c0
-    je near 03416h                            ; 0f 84 6f 00
+    je near 03372h                            ; 0f 84 6f 00
     mov ax, word [bp+016h]                    ; 8b 46 16
     xor ah, ah                                ; 30 e4
     cmp ax, strict word 00002h                ; 3d 02 00
-    jc short 033c4h                           ; 72 13
-    jbe short 033eah                          ; 76 37
+    jc short 03320h                           ; 72 13
+    jbe short 03346h                          ; 76 37
     cmp ax, strict word 0000ah                ; 3d 0a 00
-    je short 0340fh                           ; 74 57
+    je short 0336bh                           ; 74 57
     cmp ax, strict word 00009h                ; 3d 09 00
-    je short 0340fh                           ; 74 52
+    je short 0336bh                           ; 74 52
     cmp ax, strict word 00004h                ; 3d 04 00
-    je short 033fah                           ; 74 38
-    jmp short 0340fh                          ; eb 4b
+    je short 03356h                           ; 74 38
+    jmp short 0336bh                          ; eb 4b
     cmp ax, strict word 00001h                ; 3d 01 00
-    je short 033dah                           ; 74 11
+    je short 03336h                           ; 74 11
     test ax, ax                               ; 85 c0
-    jne short 0340fh                          ; 75 42
+    jne short 0336bh                          ; 75 42
     mov bx, si                                ; 89 f3
     mov dx, word [bp+01ah]                    ; 8b 56 1a
     lea ax, [bp+016h]                         ; 8d 46 16
-    call 034e5h                               ; e8 0d 01
-    jmp short 0341bh                          ; eb 41
+    call 03486h                               ; e8 52 01
+    jmp short 03377h                          ; eb 41
     mov cx, si                                ; 89 f1
     mov bx, word [bp+01ah]                    ; 8b 5e 1a
     mov dx, word [bp+014h]                    ; 8b 56 14
     lea ax, [bp+016h]                         ; 8d 46 16
-    call 03612h                               ; e8 2a 02
-    jmp short 0341bh                          ; eb 31
+    call 035aah                               ; e8 66 02
+    jmp short 03377h                          ; eb 31
     mov cx, si                                ; 89 f1
     mov bx, word [bp+01ah]                    ; 8b 5e 1a
     mov dx, word [bp+010h]                    ; 8b 56 10
     lea ax, [bp+016h]                         ; 8d 46 16
-    call 036c2h                               ; e8 ca 02
-    jmp short 0341bh                          ; eb 21
+    call 0365ah                               ; e8 06 03
+    jmp short 03377h                          ; eb 21
     lea ax, [bp+010h]                         ; 8d 46 10
     push ax                                   ; 50
@@ -6000,8 +5884,8 @@
     mov dx, word [bp+014h]                    ; 8b 56 14
     lea ax, [bp+016h]                         ; 8d 46 16
-    call 0389eh                               ; e8 91 04
-    jmp short 0341bh                          ; eb 0c
+    call 03836h                               ; e8 cd 04
+    jmp short 03377h                          ; eb 0c
     mov word [bp+016h], 00100h                ; c7 46 16 00 01
-    jmp short 0341bh                          ; eb 05
+    jmp short 03377h                          ; eb 05
     mov word [bp+016h], 00100h                ; c7 46 16 00 01
     leave                                     ; c9
@@ -6009,5 +5893,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-dispi_set_xres_:                             ; 0xc341f LB 0x18
+dispi_set_xres_:                             ; 0xc337b LB 0x18
     push bx                                   ; 53
     push dx                                   ; 52
@@ -6025,5 +5909,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-dispi_set_yres_:                             ; 0xc3437 LB 0x18
+dispi_set_yres_:                             ; 0xc3393 LB 0x18
     push bx                                   ; 53
     push dx                                   ; 52
@@ -6041,5 +5925,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-dispi_set_bpp_:                              ; 0xc344f LB 0x18
+dispi_set_bpp_:                              ; 0xc33ab LB 0x18
     push bx                                   ; 53
     push dx                                   ; 52
@@ -6057,5 +5941,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-in_word_:                                    ; 0xc3467 LB 0xf
+in_word_:                                    ; 0xc33c3 LB 0xf
     push bx                                   ; 53
     push bp                                   ; 55
@@ -6069,5 +5953,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-in_byte_:                                    ; 0xc3476 LB 0x11
+in_byte_:                                    ; 0xc33d2 LB 0x11
     push bx                                   ; 53
     push bp                                   ; 55
@@ -6083,5 +5967,53 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-mode_info_find_mode_:                        ; 0xc3487 LB 0x5e
+dispi_get_id_:                               ; 0xc33e3 LB 0x11
+    push dx                                   ; 52
+    push bp                                   ; 55
+    mov bp, sp                                ; 89 e5
+    xor ax, ax                                ; 31 c0
+    mov dx, 001ceh                            ; ba ce 01
+    out DX, ax                                ; ef
+    mov dx, 001cfh                            ; ba cf 01
+    in ax, DX                                 ; ed
+    pop bp                                    ; 5d
+    pop dx                                    ; 5a
+    retn                                      ; c3
+dispi_set_id_:                               ; 0xc33f4 LB 0x17
+    push bx                                   ; 53
+    push dx                                   ; 52
+    push bp                                   ; 55
+    mov bp, sp                                ; 89 e5
+    mov bx, ax                                ; 89 c3
+    xor ax, ax                                ; 31 c0
+    mov dx, 001ceh                            ; ba ce 01
+    out DX, ax                                ; ef
+    mov ax, bx                                ; 89 d8
+    mov dx, 001cfh                            ; ba cf 01
+    out DX, ax                                ; ef
+    pop bp                                    ; 5d
+    pop dx                                    ; 5a
+    pop bx                                    ; 5b
+    retn                                      ; c3
+vbe_init_:                                   ; 0xc340b LB 0x29
+    push bx                                   ; 53
+    push dx                                   ; 52
+    push bp                                   ; 55
+    mov bp, sp                                ; 89 e5
+    mov ax, 0b0c0h                            ; b8 c0 b0
+    call 033f4h                               ; e8 de ff
+    call 033e3h                               ; e8 ca ff
+    cmp ax, 0b0c0h                            ; 3d c0 b0
+    jne short 03430h                          ; 75 12
+    mov bx, strict word 00001h                ; bb 01 00
+    mov dx, 000b9h                            ; ba b9 00
+    mov ax, strict word 00040h                ; b8 40 00
+    call 02ef9h                               ; e8 cf fa
+    mov ax, 0b0c4h                            ; b8 c4 b0
+    call 033f4h                               ; e8 c4 ff
+    pop bp                                    ; 5d
+    pop dx                                    ; 5a
+    pop bx                                    ; 5b
+    retn                                      ; c3
+mode_info_find_mode_:                        ; 0xc3434 LB 0x52
     push bx                                   ; 53
     push cx                                   ; 51
@@ -6090,37 +6022,32 @@
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
-    mov si, ax                                ; 89 c6
-    mov di, dx                                ; 89 d7
+    mov di, ax                                ; 89 c7
+    mov si, dx                                ; 89 d6
     xor dx, dx                                ; 31 d2
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 cd ff
+    call 033c3h                               ; e8 7c ff
     cmp ax, 077cch                            ; 3d cc 77
-    je short 034abh                           ; 74 0c
-    push ax                                   ; 50
-    push 07ee8h                               ; 68 e8 7e
-    call 02f50h                               ; e8 aa fa
-    add sp, strict byte 00004h                ; 83 c4 04
-    jmp short 034ddh                          ; eb 32
+    jne short 0347eh                          ; 75 32
     mov bx, strict word 00004h                ; bb 04 00
     mov dx, bx                                ; 89 da
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 b1 ff
+    call 033c3h                               ; e8 6c ff
     mov cx, ax                                ; 89 c1
     cmp cx, strict byte 0ffffh                ; 83 f9 ff
-    je short 034ddh                           ; 74 20
+    je short 0347eh                           ; 74 20
     lea dx, [bx+002h]                         ; 8d 57 02
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 a1 ff
+    call 033c3h                               ; e8 5c ff
     lea dx, [bx+044h]                         ; 8d 57 44
-    cmp cx, si                                ; 39 f1
-    jne short 034d9h                          ; 75 0c
-    test di, di                               ; 85 ff
-    jne short 034d5h                          ; 75 04
+    cmp cx, di                                ; 39 f9
+    jne short 0347ah                          ; 75 0c
+    test si, si                               ; 85 f6
+    jne short 03476h                          ; 75 04
     mov ax, bx                                ; 89 d8
-    jmp short 034dfh                          ; eb 0a
+    jmp short 03480h                          ; eb 0a
     test AL, strict byte 080h                 ; a8 80
-    jne short 034d1h                          ; 75 f8
+    jne short 03472h                          ; 75 f8
     mov bx, dx                                ; 89 d3
-    jmp short 034b0h                          ; eb d3
+    jmp short 03451h                          ; eb d3
     xor ax, ax                                ; 31 c0
     pop bp                                    ; 5d
@@ -6130,5 +6057,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-vbe_biosfn_return_controller_information_: ; 0xc34e5 LB 0x12d
+vbe_biosfn_return_controller_information_: ; 0xc3486 LB 0x124
     push cx                                   ; 51
     push si                                   ; 56
@@ -6139,5 +6066,5 @@
     mov word [bp-004h], bx                    ; 89 5e fc
     mov word [bp-006h], strict word 00022h    ; c7 46 fa 22 00
-    call 005b5h                               ; e8 ba d0
+    call 00597h                               ; e8 fb d0
     mov word [bp-00ah], ax                    ; 89 46 f6
     mov bx, word [bp-004h]                    ; 8b 5e fc
@@ -6145,25 +6072,22 @@
     xor dx, dx                                ; 31 d2
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 5b ff
+    call 033c3h                               ; e8 16 ff
     cmp ax, 077cch                            ; 3d cc 77
-    je short 03524h                           ; 74 13
+    je short 034bch                           ; 74 0a
     push SS                                   ; 16
     pop ES                                    ; 07
     mov word [es:si], 00100h                  ; 26 c7 04 00 01
-    push 07f01h                               ; 68 01 7f
-    call 02f50h                               ; e8 32 fa
-    add sp, strict byte 00002h                ; 83 c4 02
-    jmp near 0360dh                           ; e9 e9 00
+    jmp near 035a5h                           ; e9 e9 00
     mov cx, strict word 00004h                ; b9 04 00
     mov word [bp-008h], strict word 00000h    ; c7 46 f8 00 00
     mov es, [bp-002h]                         ; 8e 46 fe
     cmp word [es:bx+002h], 03245h             ; 26 81 7f 02 45 32
-    jne short 0353eh                          ; 75 07
+    jne short 034d6h                          ; 75 07
     cmp word [es:bx], 04256h                  ; 26 81 3f 56 42
-    je short 0354dh                           ; 74 0f
+    je short 034e5h                           ; 74 0f
     cmp word [es:bx+002h], 04153h             ; 26 81 7f 02 53 41
-    jne short 03552h                          ; 75 0c
+    jne short 034eah                          ; 75 0c
     cmp word [es:bx], 04556h                  ; 26 81 3f 56 45
-    jne short 03552h                          ; 75 05
+    jne short 034eah                          ; 75 05
     mov word [bp-008h], strict word 00001h    ; c7 46 f8 01 00
     mov es, [bp-002h]                         ; 8e 46 fe
@@ -6181,9 +6105,9 @@
     mov dx, strict word 0ffffh                ; ba ff ff
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 da fe
+    call 033c3h                               ; e8 9e fe
     mov es, [bp-002h]                         ; 8e 46 fe
     mov word [es:bx+012h], ax                 ; 26 89 47 12
     cmp word [bp-008h], strict byte 00000h    ; 83 7e f8 00
-    je short 035beh                           ; 74 24
+    je short 03556h                           ; 74 24
     mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
     mov word [es:bx+016h], 07e39h             ; 26 c7 47 16 39 7e
@@ -6196,28 +6120,28 @@
     add dx, strict byte 0001bh                ; 83 c2 1b
     mov ax, 003b6h                            ; b8 b6 03
-    call 03476h                               ; e8 ad fe
+    call 033d2h                               ; e8 71 fe
     xor ah, ah                                ; 30 e4
     cmp ax, word [bp-00ah]                    ; 3b 46 f6
-    jnbe short 035e9h                         ; 77 19
+    jnbe short 03581h                         ; 77 19
     mov dx, cx                                ; 89 ca
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 8f fe
+    call 033c3h                               ; e8 53 fe
     mov bx, ax                                ; 89 c3
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, word [bp-006h]                    ; 03 56 fa
     mov ax, di                                ; 89 f8
-    call 02f1eh                               ; e8 39 f9
+    call 02f15h                               ; e8 98 f9
     add word [bp-006h], strict byte 00002h    ; 83 46 fa 02
     add cx, strict byte 00044h                ; 83 c1 44
     mov dx, cx                                ; 89 ca
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 73 fe
+    call 033c3h                               ; e8 37 fe
     mov bx, ax                                ; 89 c3
     cmp ax, strict word 0ffffh                ; 3d ff ff
-    jne short 035beh                          ; 75 c3
+    jne short 03556h                          ; 75 c3
     mov dx, word [bp-004h]                    ; 8b 56 fc
     add dx, word [bp-006h]                    ; 03 56 fa
     mov ax, di                                ; 89 f8
-    call 02f1eh                               ; e8 18 f9
+    call 02f15h                               ; e8 77 f9
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -6228,5 +6152,5 @@
     pop cx                                    ; 59
     retn                                      ; c3
-vbe_biosfn_return_mode_information_:         ; 0xc3612 LB 0xb0
+vbe_biosfn_return_mode_information_:         ; 0xc35aa LB 0xb0
     push si                                   ; 56
     push di                                   ; 57
@@ -6241,8 +6165,8 @@
     xor dh, dh                                ; 30 f6
     and ah, 001h                              ; 80 e4 01
-    call 03487h                               ; e8 59 fe
+    call 03434h                               ; e8 6e fe
     mov word [bp-004h], ax                    ; 89 46 fc
     test ax, ax                               ; 85 c0
-    je near 036b3h                            ; 0f 84 7c 00
+    je near 0364bh                            ; 0f 84 7c 00
     mov cx, 00100h                            ; b9 00 01
     xor ax, ax                                ; 31 c0
@@ -6250,10 +6174,10 @@
     mov es, bx                                ; 8e c3
     cld                                       ; fc
-    jcxz 03646h                               ; e3 02
+    jcxz 035deh                               ; e3 02
     rep stosb                                 ; f3 aa
     xor cx, cx                                ; 31 c9
-    jmp short 0364fh                          ; eb 05
+    jmp short 035e7h                          ; eb 05
     cmp cx, strict byte 00042h                ; 83 f9 42
-    jnc short 0366ch                          ; 73 1d
+    jnc short 03604h                          ; 73 1d
     mov dx, word [bp-004h]                    ; 8b 56 fc
     inc dx                                    ; 42
@@ -6261,29 +6185,29 @@
     add dx, cx                                ; 01 ca
     mov ax, 003b6h                            ; b8 b6 03
-    call 03476h                               ; e8 1a fe
+    call 033d2h                               ; e8 de fd
     movzx bx, al                              ; 0f b6 d8
     mov dx, word [bp-002h]                    ; 8b 56 fe
     add dx, cx                                ; 01 ca
     mov ax, si                                ; 89 f0
-    call 02f02h                               ; e8 99 f8
-    inc cx                                    ; 41
-    jmp short 0364ah                          ; eb de
+    call 02ef9h                               ; e8 f8 f8
+    inc cx                                    ; 41
+    jmp short 035e2h                          ; eb de
     mov dx, word [bp-002h]                    ; 8b 56 fe
     inc dx                                    ; 42
     inc dx                                    ; 42
     mov ax, si                                ; 89 f0
-    call 02ef4h                               ; e8 7e f8
+    call 02eebh                               ; e8 dd f8
     test AL, strict byte 001h                 ; a8 01
-    je short 03696h                           ; 74 1c
+    je short 0362eh                           ; 74 1c
     mov dx, word [bp-002h]                    ; 8b 56 fe
     add dx, strict byte 0000ch                ; 83 c2 0c
-    mov bx, 00613h                            ; bb 13 06
-    mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 96 f8
+    mov bx, 005f5h                            ; bb f5 05
+    mov ax, si                                ; 89 f0
+    call 02f15h                               ; e8 f5 f8
     mov dx, word [bp-002h]                    ; 8b 56 fe
     add dx, strict byte 0000eh                ; 83 c2 0e
     mov bx, 0c000h                            ; bb 00 c0
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 88 f8
+    call 02f15h                               ; e8 e7 f8
     mov ax, strict word 0000bh                ; b8 0b 00
     mov dx, 001ceh                            ; ba ce 01
@@ -6295,7 +6219,7 @@
     mov bx, ax                                ; 89 c3
     mov ax, si                                ; 89 f0
-    call 02f1eh                               ; e8 70 f8
+    call 02f15h                               ; e8 cf f8
     mov ax, strict word 0004fh                ; b8 4f 00
-    jmp short 036b6h                          ; eb 03
+    jmp short 0364eh                          ; eb 03
     mov ax, 00100h                            ; b8 00 01
     push SS                                   ; 16
@@ -6307,5 +6231,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-vbe_biosfn_set_mode_:                        ; 0xc36c2 LB 0xe4
+vbe_biosfn_set_mode_:                        ; 0xc365a LB 0xe4
     push si                                   ; 56
     push di                                   ; 57
@@ -6319,55 +6243,55 @@
     mov ax, dx                                ; 89 d0
     test dx, dx                               ; 85 d2
-    je short 036e0h                           ; 74 03
+    je short 03678h                           ; 74 03
     mov dx, strict word 00040h                ; ba 40 00
     mov byte [bp-002h], dl                    ; 88 56 fe
     test byte [bp-005h], 080h                 ; f6 46 fb 80
-    je short 036eeh                           ; 74 05
+    je short 03686h                           ; 74 05
     mov dx, 00080h                            ; ba 80 00
-    jmp short 036f0h                          ; eb 02
+    jmp short 03688h                          ; eb 02
     xor dx, dx                                ; 31 d2
     mov byte [bp-004h], dl                    ; 88 56 fc
     and byte [bp-005h], 001h                  ; 80 66 fb 01
     cmp word [bp-006h], 00100h                ; 81 7e fa 00 01
-    jnc short 03710h                          ; 73 12
+    jnc short 036a8h                          ; 73 12
     xor ax, ax                                ; 31 c0
-    call 005d7h                               ; e8 d4 ce
+    call 005b9h                               ; e8 1e cf
     movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
-    call 00fc1h                               ; e8 b7 d8
+    call 00fb8h                               ; e8 16 d9
     mov ax, strict word 0004fh                ; b8 4f 00
-    jmp near 0379fh                           ; e9 8f 00
+    jmp near 03737h                           ; e9 8f 00
     mov dx, ax                                ; 89 c2
     mov ax, word [bp-006h]                    ; 8b 46 fa
-    call 03487h                               ; e8 6f fd
+    call 03434h                               ; e8 84 fd
     mov bx, ax                                ; 89 c3
     test ax, ax                               ; 85 c0
-    je near 0379ch                            ; 0f 84 7c 00
+    je near 03734h                            ; 0f 84 7c 00
     lea dx, [bx+014h]                         ; 8d 57 14
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 3e fd
+    call 033c3h                               ; e8 02 fd
     mov cx, ax                                ; 89 c1
     lea dx, [bx+016h]                         ; 8d 57 16
     mov ax, 003b6h                            ; b8 b6 03
-    call 03467h                               ; e8 33 fd
+    call 033c3h                               ; e8 f7 fc
     mov di, ax                                ; 89 c7
     lea dx, [bx+01bh]                         ; 8d 57 1b
     mov ax, 003b6h                            ; b8 b6 03
-    call 03476h                               ; e8 37 fd
+    call 033d2h                               ; e8 fb fc
     mov bl, al                                ; 88 c3
     mov dl, al                                ; 88 c2
     xor ax, ax                                ; 31 c0
-    call 005d7h                               ; e8 8f ce
+    call 005b9h                               ; e8 d9 ce
     cmp bl, 004h                              ; 80 fb 04
-    jne short 03753h                          ; 75 06
+    jne short 036ebh                          ; 75 06
     mov ax, strict word 0006ah                ; b8 6a 00
-    call 00fc1h                               ; e8 6e d8
+    call 00fb8h                               ; e8 cd d8
     movzx ax, dl                              ; 0f b6 c2
-    call 0344fh                               ; e8 f6 fc
+    call 033abh                               ; e8 ba fc
     mov ax, cx                                ; 89 c8
-    call 0341fh                               ; e8 c1 fc
+    call 0337bh                               ; e8 85 fc
     mov ax, di                                ; 89 f8
-    call 03437h                               ; e8 d4 fc
+    call 03393h                               ; e8 98 fc
     xor ax, ax                                ; 31 c0
-    call 005f5h                               ; e8 8d ce
+    call 005d7h                               ; e8 d7 ce
     mov al, byte [bp-004h]                    ; 8a 46 fc
     or AL, strict byte 001h                   ; 0c 01
@@ -6375,10 +6299,10 @@
     movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     or ax, dx                                 ; 09 d0
-    call 005d7h                               ; e8 5e ce
-    call 006d1h                               ; e8 55 cf
+    call 005b9h                               ; e8 a8 ce
+    call 006b3h                               ; e8 9f cf
     mov bx, word [bp-006h]                    ; 8b 5e fa
     mov dx, 000bah                            ; ba ba 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f1eh                               ; e8 96 f7
+    call 02f15h                               ; e8 f5 f7
     mov al, byte [bp-004h]                    ; 8a 46 fc
     or AL, strict byte 060h                   ; 0c 60
@@ -6386,6 +6310,6 @@
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
-    call 02f02h                               ; e8 69 f7
-    jmp near 0370ah                           ; e9 6e ff
+    call 02ef9h                               ; e8 c8 f7
+    jmp near 036a2h                           ; e9 6e ff
     mov ax, 00100h                            ; b8 00 01
     mov word [ss:si], ax                      ; 36 89 04
@@ -6394,5 +6318,5 @@
     pop si                                    ; 5e
     retn                                      ; c3
-vbe_biosfn_read_video_state_size_:           ; 0xc37a6 LB 0x8
+vbe_biosfn_read_video_state_size_:           ; 0xc373e LB 0x8
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
@@ -6400,5 +6324,5 @@
     pop bp                                    ; 5d
     retn                                      ; c3
-vbe_biosfn_save_video_state_:                ; 0xc37ae LB 0x58
+vbe_biosfn_save_video_state_:                ; 0xc3746 LB 0x58
     push bx                                   ; 53
     push cx                                   ; 51
@@ -6417,15 +6341,15 @@
     mov dx, cx                                ; 89 ca
     mov ax, di                                ; 89 f8
-    call 02f1eh                               ; e8 4d f7
+    call 02f15h                               ; e8 ac f7
     inc cx                                    ; 41
     inc cx                                    ; 41
     test byte [bp-002h], 001h                 ; f6 46 fe 01
-    je short 03800h                           ; 74 27
+    je short 03798h                           ; 74 27
     mov si, strict word 00001h                ; be 01 00
-    jmp short 037e3h                          ; eb 05
+    jmp short 0377bh                          ; eb 05
     cmp si, strict byte 00009h                ; 83 fe 09
-    jnbe short 03800h                         ; 77 1d
+    jnbe short 03798h                         ; 77 1d
     cmp si, strict byte 00004h                ; 83 fe 04
-    je short 037fdh                           ; 74 15
+    je short 03795h                           ; 74 15
     mov ax, si                                ; 89 f0
     mov dx, 001ceh                            ; ba ce 01
@@ -6436,9 +6360,9 @@
     mov dx, cx                                ; 89 ca
     mov ax, di                                ; 89 f8
-    call 02f1eh                               ; e8 23 f7
+    call 02f15h                               ; e8 82 f7
     inc cx                                    ; 41
     inc cx                                    ; 41
     inc si                                    ; 46
-    jmp short 037deh                          ; eb de
+    jmp short 03776h                          ; eb de
     leave                                     ; c9
     pop di                                    ; 5f
@@ -6447,5 +6371,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-vbe_biosfn_restore_video_state_:             ; 0xc3806 LB 0x98
+vbe_biosfn_restore_video_state_:             ; 0xc379e LB 0x98
     push bx                                   ; 53
     push cx                                   ; 51
@@ -6454,10 +6378,10 @@
     mov cx, ax                                ; 89 c1
     mov bx, dx                                ; 89 d3
-    call 02f10h                               ; e8 fc f6
+    call 02f07h                               ; e8 5b f7
     mov word [bp-002h], ax                    ; 89 46 fe
     inc bx                                    ; 43
     inc bx                                    ; 43
     test byte [bp-002h], 001h                 ; f6 46 fe 01
-    jne short 0382fh                          ; 75 10
+    jne short 037c7h                          ; 75 10
     mov ax, strict word 00004h                ; b8 04 00
     mov dx, 001ceh                            ; ba ce 01
@@ -6466,5 +6390,5 @@
     mov dx, 001cfh                            ; ba cf 01
     out DX, ax                                ; ef
-    jmp short 03899h                          ; eb 6a
+    jmp short 03831h                          ; eb 6a
     mov ax, strict word 00001h                ; b8 01 00
     mov dx, 001ceh                            ; ba ce 01
@@ -6472,5 +6396,5 @@
     mov dx, bx                                ; 89 da
     mov ax, cx                                ; 89 c8
-    call 02f10h                               ; e8 d3 f6
+    call 02f07h                               ; e8 32 f7
     mov dx, 001cfh                            ; ba cf 01
     out DX, ax                                ; ef
@@ -6482,5 +6406,5 @@
     mov dx, bx                                ; 89 da
     mov ax, cx                                ; 89 c8
-    call 02f10h                               ; e8 bf f6
+    call 02f07h                               ; e8 1e f7
     mov dx, 001cfh                            ; ba cf 01
     out DX, ax                                ; ef
@@ -6492,5 +6416,5 @@
     mov dx, bx                                ; 89 da
     mov ax, cx                                ; 89 c8
-    call 02f10h                               ; e8 ab f6
+    call 02f07h                               ; e8 0a f7
     mov dx, 001cfh                            ; ba cf 01
     out DX, ax                                ; ef
@@ -6504,7 +6428,7 @@
     out DX, ax                                ; ef
     mov si, strict word 00005h                ; be 05 00
-    jmp short 03883h                          ; eb 05
+    jmp short 0381bh                          ; eb 05
     cmp si, strict byte 00009h                ; 83 fe 09
-    jnbe short 03899h                         ; 77 16
+    jnbe short 03831h                         ; 77 16
     mov ax, si                                ; 89 f0
     mov dx, 001ceh                            ; ba ce 01
@@ -6512,5 +6436,5 @@
     mov dx, bx                                ; 89 da
     mov ax, cx                                ; 89 c8
-    call 02f10h                               ; e8 80 f6
+    call 02f07h                               ; e8 df f6
     mov dx, 001cfh                            ; ba cf 01
     out DX, ax                                ; ef
@@ -6518,5 +6442,5 @@
     inc bx                                    ; 43
     inc si                                    ; 46
-    jmp short 0387eh                          ; eb e5
+    jmp short 03816h                          ; eb e5
     leave                                     ; c9
     pop si                                    ; 5e
@@ -6524,5 +6448,5 @@
     pop bx                                    ; 5b
     retn                                      ; c3
-vbe_biosfn_save_restore_state_:              ; 0xc389e LB 0x89
+vbe_biosfn_save_restore_state_:              ; 0xc3836 LB 0x89
     push si                                   ; 56
     push di                                   ; 57
@@ -6535,15 +6459,15 @@
     xor ah, ah                                ; 30 e4
     cmp ax, strict word 00002h                ; 3d 02 00
-    je short 038fdh                           ; 74 45
+    je short 03895h                           ; 74 45
     cmp ax, strict word 00001h                ; 3d 01 00
-    je short 038e1h                           ; 74 24
+    je short 03879h                           ; 74 24
     test ax, ax                               ; 85 c0
-    jne short 03919h                          ; 75 58
+    jne short 038b1h                          ; 75 58
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02815h                               ; e8 4e ef
+    call 0280ch                               ; e8 ad ef
     mov cx, ax                                ; 89 c1
     test byte [bp-002h], 008h                 ; f6 46 fe 08
-    je short 038d4h                           ; 74 05
-    call 037a6h                               ; e8 d4 fe
+    je short 0386ch                           ; 74 05
+    call 0373eh                               ; e8 d4 fe
     add ax, cx                                ; 01 c8
     add ax, strict word 0003fh                ; 05 3f 00
@@ -6552,5 +6476,5 @@
     pop ES                                    ; 07
     mov word [es:bx], ax                      ; 26 89 07
-    jmp short 0391ch                          ; eb 3b
+    jmp short 038b4h                          ; eb 3b
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -6558,11 +6482,11 @@
     mov dx, cx                                ; 89 ca
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02847h                               ; e8 59 ef
+    call 0283eh                               ; e8 b8 ef
     test byte [bp-002h], 008h                 ; f6 46 fe 08
-    je short 0391ch                           ; 74 28
+    je short 038b4h                           ; 74 28
     mov dx, ax                                ; 89 c2
     mov ax, cx                                ; 89 c8
-    call 037aeh                               ; e8 b3 fe
-    jmp short 0391ch                          ; eb 1f
+    call 03746h                               ; e8 b3 fe
+    jmp short 038b4h                          ; eb 1f
     push SS                                   ; 16
     pop ES                                    ; 07
@@ -6570,11 +6494,11 @@
     mov dx, cx                                ; 89 ca
     mov ax, word [bp-002h]                    ; 8b 46 fe
-    call 02bach                               ; e8 a2 f2
+    call 02ba3h                               ; e8 01 f3
     test byte [bp-002h], 008h                 ; f6 46 fe 08
-    je short 0391ch                           ; 74 0c
+    je short 038b4h                           ; 74 0c
     mov dx, ax                                ; 89 c2
     mov ax, cx                                ; 89 c8
-    call 03806h                               ; e8 ef fe
-    jmp short 0391ch                          ; eb 03
+    call 0379eh                               ; e8 ef fe
+    jmp short 038b4h                          ; eb 03
     mov di, 00100h                            ; bf 00 01
     push SS                                   ; 16
@@ -6586,6 +6510,6 @@
     retn 00002h                               ; c2 02 00
 
-  ; Padding 0xcd9 bytes at 0xc3927
-  times 3289 db 0
+  ; Padding 0xd41 bytes at 0xc38bf
+  times 3393 db 0
 
 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO
@@ -6721,5 +6645,5 @@
 section _DATA progbits vstart=0x4800 align=1 ; size=0x36e8 class=DATA group=DGROUP
 _msg_vga_init:                               ; 0xc4800 LB 0x32
-    db  'Oracle VM VirtualBox Version 4.2.0_RC2 VGA BIOS', 00dh, 00ah, 000h
+    db  'Oracle VM VirtualBox Version 4.2.0_RC4 VGA BIOS', 00dh, 00ah, 000h
 _vga_modes:                                  ; 0xc4832 LB 0x80
     db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
@@ -7609,5 +7533,5 @@
     db  'Oracle VM VirtualBox VBE Adapter', 000h
 _vbebios_product_revision:                   ; 0xc7e6d LB 0x27
-    db  'Oracle VM VirtualBox Version 4.2.0_RC2', 000h
+    db  'Oracle VM VirtualBox Version 4.2.0_RC4', 000h
 _vbebios_info_string:                        ; 0xc7e94 LB 0x2b
     db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
@@ -7615,24 +7539,25 @@
     db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
 
-section CONST progbits vstart=0x7ee8 align=1 ; size=0x2e class=DATA group=DGROUP
-    db   'Signature NOT found! %x', 00ah, 000h
-    db   'Signature NOT found', 00ah, 000h
+section CONST progbits vstart=0x7ee8 align=1 ; size=0x0 class=DATA group=DGROUP
 
-section CONST2 progbits vstart=0x7f16 align=1 ; size=0x0 class=DATA group=DGROUP
+section CONST2 progbits vstart=0x7ee8 align=1 ; size=0x0 class=DATA group=DGROUP
 
-  ; Padding 0xea bytes at 0xc7f16
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh
+  ; Padding 0x118 bytes at 0xc7ee8
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f1h
Index: /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum
===================================================================
--- /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum	(revision 43256)
+++ /trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum	(revision 43257)
@@ -1,1 +1,1 @@
-54250906f009213dc80a23cc2201d899 *VBoxVgaBios.rom
+70389229f7e7c710e265d0d6008f117d *VBoxVgaBios.rom
Index: /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm	(revision 43256)
+++ /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm	(revision 43257)
@@ -912,5 +912,5 @@
 section CONST2 progbits vstart=0xcc4 align=1 ; size=0x3fe class=DATA group=DGROUP
 _bios_cvs_version_string:                    ; 0xf0cc4 LB 0x16
-    db  'VirtualBox 4.2.0_RC2', 000h, 000h
+    db  'VirtualBox 4.2.0_RC4', 000h, 000h
 _bios_prefix_string:                         ; 0xf0cda LB 0x8
     db  'BIOS: ', 000h, 000h
@@ -15164,3 +15164,3 @@
 cpu_reset:                                   ; 0xffff0 LB 0x10
     jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
-    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0cdh
+    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0cbh
Index: /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum	(revision 43256)
+++ /trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum	(revision 43257)
@@ -1,1 +1,1 @@
-6540183b9e43c8c9e7562cd549a7fd9b *VBoxPcBios.rom
+ffabb374e7f00d18e0561b87add8e573 *VBoxPcBios.rom
Index: /trunk/src/bldprogs/checkUndefined.sh
===================================================================
--- /trunk/src/bldprogs/checkUndefined.sh	(revision 43256)
+++ /trunk/src/bldprogs/checkUndefined.sh	(revision 43257)
@@ -1,3 +1,3 @@
-#! /bin/sh
+#!/bin/sh
 
 #
