VirtualBox

Changeset 43257 in vbox


Ignore:
Timestamp:
Sep 8, 2012 9:29:54 AM (12 years ago)
Author:
vboxsync
Message:

4.2.0 RC4

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r43089 r43257  
    209209#       publisher so that RTStrVersionCompare have a chance of comparing
    210210#       prerelease from different publishers correctly.
    211 VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC3$(VBOX_BUILD_PUBLISHER)
     211VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC4$(VBOX_BUILD_PUBLISHER)
    212212
    213213# Force the additions.sh script to get an exact additions build when we're doing the release.
    214214ifeq ($(int-mod $(VBOX_VERSION_BUILD),2),0)
    215 # export VBOX_ADDITIONS_SH_MODE     = release
    216 # export VBOX_DOCUMENTATION_SH_MODE = release
    217 # export VBOX_EFI_SH_MODE           = release
    218 # export VBOX_EXTPACKS_SH_MODE      = release
     215 export VBOX_ADDITIONS_SH_MODE     = release
     216 export VBOX_DOCUMENTATION_SH_MODE = release
     217 export VBOX_EFI_SH_MODE           = release
     218 export VBOX_EXTPACKS_SH_MODE      = release
    219219endif
    220220
  • trunk/debian/changelog

    r43089 r43257  
     1virtualbox-ose (4.2.0~rc4) unstable; urgency=low
     2
     3  * rebuild Debian package. NOTE: this is a release candidate, so do not use on production setups.
     4
     5 -- Oracle Corporation <[email protected]>  Sat, 08 Sep 2012 12:00:00 +0200
     6
    17virtualbox-ose (4.2.0~rc3) unstable; urgency=low
    28
  • trunk/doc/manual/user_ChangeLogImpl.xml

    r43226 r43257  
    22
    33  <sect1>
    4     <title>Version 4.2.0 Release Candidate 3 (2012-08-29)</title>
     4    <title>Version 4.2.0 Release Candidate 4 (2012-09-08)</title>
    55
    66    <para>This is a major update. The following major new features
     
    6464        <para>Mac OS X hosts: sign application and installer to avoid warnings
    6565        on Mountain Lion</para>
     66      </listitem>
     67
     68      <listitem>
     69        <para>VMM: fixed a potential host crash triggered by shutting down a VM
     70          when another VM was running (only affected 32-bit hosts and 64-bit OS X hosts,
     71          4.1 regression, bug #9897)</para>
     72      </listitem>
     73
     74      <listitem>
     75        <para>VMM: fixed a potential host crash under a high guest memory pressure
     76          (seen with Windows 8 guests)</para>
    6677      </listitem>
    6778
  • trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk

    r43253 r43257  
    388388# vboxvideo_drv_113
    389389#
    390 DLLS += vboxvideo_drv_113
     390#DLLS += vboxvideo_drv_113
    391391vboxvideo_drv_113_TEMPLATE = VBOXGUESTR3XORGMOD
    392392vboxvideo_drv_113_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
     
    527527        $(QUIET)$(APPEND) -t "$@" "done"
    528528
    529      TESTING += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
    530      OTHERS += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
    531 $$(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run: $$(vboxvideo_drv_113_1_STAGE_TARGET)
    532         $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
    533         $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST)  \
    534             $(vboxvideo_drv_113_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
    535         $(QUIET)$(APPEND) -t "$@" "done"
     529#     TESTING += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
     530#     OTHERS += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
     531#$$(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run: $$(vboxvideo_drv_113_1_STAGE_TARGET)
     532#       $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
     533#       $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST)  \
     534#           $(vboxvideo_drv_113_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
     535#       $(QUIET)$(APPEND) -t "$@" "done"
    536536
    537537    endif # ! VBOX_ONLY_SDK
  • trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm

    r43078 r43257  
    118118;  //
    119119;  // ============================================================================================
    120 ;  #include <inttypes.h>
    121 ;  #include "vgabios.h"
    122120
    123121;
     
    157155
    158156
    159 section VGAROM progbits vstart=0x0 align=1 ; size=0x971 class=CODE group=AUTO
    160     db  055h, 0aah, 040h, 0e9h, 068h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     157section VGAROM progbits vstart=0x0 align=1 ; size=0x92e class=CODE group=AUTO
     158    db  055h, 0aah, 040h, 0e9h, 05fh, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    161159    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h
    162160    db  04dh, 000h
    163 vgabios_int10_handler:                       ; 0xc0022 LB 0x593
     161vgabios_int10_handler:                       ; 0xc0022 LB 0x575
    164162    pushfw                                    ; 9c
    165163    cmp ah, 00fh                              ; 80 fc 0f
     
    215213    cmp AL, strict byte 003h                  ; 3c 03
    216214    jne short 000afh                          ; 75 05
    217     call 007eah                               ; e8 3d 07
     215    call 007a7h                               ; e8 fa 06
    218216    jmp short 000f3h                          ; eb 44
    219217    cmp AL, strict byte 005h                  ; 3c 05
    220218    jne short 000b8h                          ; 75 05
    221     call 0080fh                               ; e8 59 07
     219    call 007cch                               ; e8 16 07
    222220    jmp short 000f3h                          ; eb 3b
    223221    cmp AL, strict byte 006h                  ; 3c 06
    224222    jne short 000c1h                          ; 75 05
    225     call 0083ch                               ; e8 7d 07
     223    call 007f9h                               ; e8 3a 07
    226224    jmp short 000f3h                          ; eb 32
    227225    cmp AL, strict byte 007h                  ; 3c 07
    228226    jne short 000cah                          ; 75 05
    229     call 00889h                               ; e8 c1 07
     227    call 00846h                               ; e8 7e 07
    230228    jmp short 000f3h                          ; eb 29
    231229    cmp AL, strict byte 008h                  ; 3c 08
    232230    jne short 000d3h                          ; 75 05
    233     call 008bdh                               ; e8 ec 07
     231    call 0087ah                               ; e8 a9 07
    234232    jmp short 000f3h                          ; eb 20
    235233    cmp AL, strict byte 009h                  ; 3c 09
    236234    jne short 000dch                          ; 75 05
    237     call 008f4h                               ; e8 1a 08
     235    call 008b1h                               ; e8 d7 07
    238236    jmp short 000f3h                          ; eb 17
    239237    cmp AL, strict byte 00ah                  ; 3c 0a
    240238    jne short 000e5h                          ; 75 05
    241     call 00958h                               ; e8 75 08
     239    call 00915h                               ; e8 32 08
    242240    jmp short 000f3h                          ; eb 0e
    243241    push ES                                   ; 06
     
    246244    mov bx, 0c000h                            ; bb 00 c0
    247245    mov ds, bx                                ; 8e db
    248     call 03058h                               ; e8 68 2f
     246    call 02fb4h                               ; e8 c4 2e
    249247    popaw                                     ; 61
    250248    pop DS                                    ; 1f
     
    954952    push dx                                   ; 52
    955953    mov dx, 001ceh                            ; ba ce 01
    956     mov ax, strict word 00000h                ; b8 00 00
    957     out DX, ax                                ; ef
    958     mov dx, 001cfh                            ; ba cf 01
    959     in ax, DX                                 ; ed
    960     pop dx                                    ; 5a
    961     retn                                      ; c3
    962     push dx                                   ; 52
    963     push ax                                   ; 50
    964     mov dx, 001ceh                            ; ba ce 01
    965     mov ax, strict word 00000h                ; b8 00 00
    966     out DX, ax                                ; ef
    967     pop ax                                    ; 58
    968     mov dx, 001cfh                            ; ba cf 01
    969     out DX, ax                                ; ef
    970     pop dx                                    ; 5a
    971     retn                                      ; c3
    972     push dx                                   ; 52
    973     mov dx, 001ceh                            ; ba ce 01
    974954    mov ax, strict word 00003h                ; b8 03 00
    975955    out DX, ax                                ; ef
     
    977957    in ax, DX                                 ; ed
    978958    cmp AL, strict byte 004h                  ; 3c 04
    979     jbe short 005b3h                          ; 76 0b
     959    jbe short 00595h                          ; 76 0b
    980960    db  08ah, 0e0h
    981961    ; mov ah, al                                ; 8a e0
    982962    shr ah, 003h                              ; c0 ec 03
    983963    test AL, strict byte 007h                 ; a8 07
    984     je short 005b3h                           ; 74 02
     964    je short 00595h                           ; 74 02
    985965    db  0feh, 0c4h
    986966    ; inc ah                                    ; fe c4
    987967    pop dx                                    ; 5a
    988968    retn                                      ; c3
    989 _dispi_get_max_bpp:                          ; 0xc05b5 LB 0x22
     969_dispi_get_max_bpp:                          ; 0xc0597 LB 0x22
    990970    push dx                                   ; 52
    991971    push bx                                   ; 53
    992     call 005e7h                               ; e8 2d 00
     972    call 005c9h                               ; e8 2d 00
    993973    db  08bh, 0d8h
    994974    ; mov bx, ax                                ; 8b d8
    995975    or ax, strict byte 00002h                 ; 83 c8 02
    996     call 005d7h                               ; e8 15 00
     976    call 005b9h                               ; e8 15 00
    997977    mov dx, 001ceh                            ; ba ce 01
    998978    mov ax, strict word 00003h                ; b8 03 00
     
    1003983    db  08bh, 0c3h
    1004984    ; mov ax, bx                                ; 8b c3
    1005     call 005d7h                               ; e8 04 00
     985    call 005b9h                               ; e8 04 00
    1006986    pop ax                                    ; 58
    1007987    pop bx                                    ; 5b
    1008988    pop dx                                    ; 5a
    1009989    retn                                      ; c3
    1010 dispi_set_enable_:                           ; 0xc05d7 LB 0x1e
     990dispi_set_enable_:                           ; 0xc05b9 LB 0x1e
    1011991    push dx                                   ; 52
    1012992    push ax                                   ; 50
     
    10271007    pop dx                                    ; 5a
    10281008    retn                                      ; c3
    1029 dispi_set_bank_:                             ; 0xc05f5 LB 0x1e
     1009dispi_set_bank_:                             ; 0xc05d7 LB 0x1e
    10301010    push dx                                   ; 52
    10311011    push ax                                   ; 50
     
    10461026    pop dx                                    ; 5a
    10471027    retn                                      ; c3
    1048 _dispi_set_bank_farcall:                     ; 0xc0613 LB 0xbe
     1028_dispi_set_bank_farcall:                     ; 0xc05f5 LB 0xbe
    10491029    cmp bx, 00100h                            ; 81 fb 00 01
    1050     je short 00637h                           ; 74 1e
     1030    je short 00619h                           ; 74 1e
    10511031    db  00bh, 0dbh
    10521032    ; or bx, bx                                 ; 0b db
    1053     jne short 00645h                          ; 75 28
     1033    jne short 00627h                          ; 75 28
    10541034    db  08bh, 0c2h
    10551035    ; mov ax, dx                                ; 8b c2
     
    10661046    db  03bh, 0d0h
    10671047    ; cmp dx, ax                                ; 3b d0
    1068     jne short 00645h                          ; 75 12
     1048    jne short 00627h                          ; 75 12
    10691049    mov ax, strict word 0004fh                ; b8 4f 00
    10701050    retf                                      ; cb
     
    11201100    db  08bh, 0d8h
    11211101    ; mov bx, ax                                ; 8b d8
    1122     call 00598h                               ; e8 0b ff
     1102    call 0057ah                               ; e8 0b ff
    11231103    cmp AL, strict byte 004h                  ; 3c 04
    1124     jnbe short 00693h                         ; 77 02
     1104    jnbe short 00675h                         ; 77 02
    11251105    shr bx, 1                                 ; d1 eb
    11261106    shr bx, 003h                              ; c1 eb 03
     
    11341114    pop ax                                    ; 58
    11351115    retn                                      ; c3
    1136     call 00685h                               ; e8 e0 ff
     1116    call 00667h                               ; e8 e0 ff
    11371117    push dx                                   ; 52
    11381118    push ax                                   ; 50
     
    11611141    pop dx                                    ; 5a
    11621142    retn                                      ; c3
    1163 _vga_compat_setup:                           ; 0xc06d1 LB 0xe1
     1143_vga_compat_setup:                           ; 0xc06b3 LB 0xe1
    11641144    push ax                                   ; 50
    11651145    push dx                                   ; 52
     
    11821162    out DX, ax                                ; ef
    11831163    pop ax                                    ; 58
    1184     call 00685h                               ; e8 90 ff
     1164    call 00667h                               ; e8 90 ff
    11851165    mov dx, 001ceh                            ; ba ce 01
    11861166    mov ax, strict word 00002h                ; b8 02 00
     
    12021182    and AL, strict byte 0bdh                  ; 24 bd
    12031183    test ah, 001h                             ; f6 c4 01
    1204     je short 00719h                           ; 74 02
     1184    je short 006fbh                           ; 74 02
    12051185    or AL, strict byte 002h                   ; 0c 02
    12061186    test ah, 002h                             ; f6 c4 02
    1207     je short 00720h                           ; 74 02
     1187    je short 00702h                           ; 74 02
    12081188    or AL, strict byte 040h                   ; 0c 40
    12091189    out DX, AL                                ; ee
     
    12461226    in ax, DX                                 ; ed
    12471227    cmp AL, strict byte 008h                  ; 3c 08
    1248     jc short 007b0h                           ; 72 40
     1228    jc short 00792h                           ; 72 40
    12491229    mov dx, 003d4h                            ; ba d4 03
    12501230    mov AL, strict byte 014h                  ; b0 14
     
    12831263    pop dx                                    ; 5a
    12841264    pop ax                                    ; 58
    1285 _vbe_has_vbe_display:                        ; 0xc07b2 LB 0x13
     1265_vbe_has_vbe_display:                        ; 0xc0794 LB 0x13
    12861266    push DS                                   ; 1e
    12871267    push bx                                   ; 53
     
    12961276    pop DS                                    ; 1f
    12971277    retn                                      ; c3
    1298 _vbe_init:                                   ; 0xc07c5 LB 0x25
    1299     mov ax, 0b0c0h                            ; b8 c0 b0
    1300     call 00588h                               ; e8 bd fd
    1301     call 0057ah                               ; e8 ac fd
    1302     cmp ax, 0b0c0h                            ; 3d c0 b0
    1303     jne short 007e9h                          ; 75 16
     1278vbe_biosfn_return_current_mode:              ; 0xc07a7 LB 0x25
    13041279    push DS                                   ; 1e
    1305     push bx                                   ; 53
    13061280    mov ax, strict word 00040h                ; b8 40 00
    13071281    mov ds, ax                                ; 8e d8
    1308     mov bx, 000b9h                            ; bb b9 00
    1309     mov AL, strict byte 001h                  ; b0 01
    1310     mov byte [bx], al                         ; 88 07
    1311     pop bx                                    ; 5b
    1312     pop DS                                    ; 1f
    1313     mov ax, 0b0c4h                            ; b8 c4 b0
    1314     call 00588h                               ; e8 9f fd
    1315     retn                                      ; c3
    1316 vbe_biosfn_return_current_mode:              ; 0xc07ea LB 0x25
    1317     push DS                                   ; 1e
    1318     mov ax, strict word 00040h                ; b8 40 00
    1319     mov ds, ax                                ; 8e d8
    1320     call 005e7h                               ; e8 f4 fd
     1282    call 005c9h                               ; e8 19 fe
    13211283    and ax, strict byte 00001h                ; 83 e0 01
    1322     je short 00801h                           ; 74 09
     1284    je short 007beh                           ; 74 09
    13231285    mov bx, 000bah                            ; bb ba 00
    13241286    mov ax, word [bx]                         ; 8b 07
    13251287    db  08bh, 0d8h
    13261288    ; mov bx, ax                                ; 8b d8
    1327     jne short 0080ah                          ; 75 09
     1289    jne short 007c7h                          ; 75 09
    13281290    mov bx, strict word 00049h                ; bb 49 00
    13291291    mov al, byte [bx]                         ; 8a 07
     
    13351297    pop DS                                    ; 1f
    13361298    retn                                      ; c3
    1337 vbe_biosfn_display_window_control:           ; 0xc080f LB 0x2d
     1299vbe_biosfn_display_window_control:           ; 0xc07cc LB 0x2d
    13381300    cmp bl, 000h                              ; 80 fb 00
    1339     jne short 00838h                          ; 75 24
     1301    jne short 007f5h                          ; 75 24
    13401302    cmp bh, 001h                              ; 80 ff 01
    1341     je short 0082fh                           ; 74 16
    1342     jc short 0081fh                           ; 72 04
     1303    je short 007ech                           ; 74 16
     1304    jc short 007dch                           ; 72 04
    13431305    mov ax, 00100h                            ; b8 00 01
    13441306    retn                                      ; c3
    13451307    db  08bh, 0c2h
    13461308    ; mov ax, dx                                ; 8b c2
    1347     call 005f5h                               ; e8 d1 fd
    1348     call 00605h                               ; e8 de fd
     1309    call 005d7h                               ; e8 f6 fd
     1310    call 005e7h                               ; e8 03 fe
    13491311    db  03bh, 0c2h
    13501312    ; cmp ax, dx                                ; 3b c2
    1351     jne short 00838h                          ; 75 0d
     1313    jne short 007f5h                          ; 75 0d
    13521314    mov ax, strict word 0004fh                ; b8 4f 00
    13531315    retn                                      ; c3
    1354     call 00605h                               ; e8 d3 fd
     1316    call 005e7h                               ; e8 f8 fd
    13551317    db  08bh, 0d0h
    13561318    ; mov dx, ax                                ; 8b d0
     
    13591321    mov ax, 0014fh                            ; b8 4f 01
    13601322    retn                                      ; c3
    1361 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc083c LB 0x4d
     1323vbe_biosfn_set_get_logical_scan_line_length: ; 0xc07f9 LB 0x4d
    13621324    db  08bh, 0c1h
    13631325    ; mov ax, cx                                ; 8b c1
    13641326    cmp bl, 001h                              ; 80 fb 01
    1365     je short 00867h                           ; 74 24
     1327    je short 00824h                           ; 74 24
    13661328    cmp bl, 002h                              ; 80 fb 02
    1367     je short 0084eh                           ; 74 06
    1368     jc short 00864h                           ; 72 1a
     1329    je short 0080bh                           ; 74 06
     1330    jc short 00821h                           ; 72 1a
    13691331    mov ax, 00100h                            ; b8 00 01
    13701332    retn                                      ; c3
    13711333    push ax                                   ; 50
    1372     call 00598h                               ; e8 46 fd
     1334    call 0057ah                               ; e8 6b fd
    13731335    db  032h, 0ffh
    13741336    ; xor bh, bh                                ; 32 ff
     
    13771339    db  00ah, 0dbh
    13781340    ; or bl, bl                                 ; 0a db
    1379     jne short 0085fh                          ; 75 05
     1341    jne short 0081ch                          ; 75 05
    13801342    sal ax, 003h                              ; c1 e0 03
    13811343    mov BL, strict byte 001h                  ; b3 01
     
    13841346    pop ax                                    ; 58
    13851347    div bx                                    ; f7 f3
    1386     call 006a2h                               ; e8 3b fe
    1387     call 00598h                               ; e8 2e fd
     1348    call 00684h                               ; e8 60 fe
     1349    call 0057ah                               ; e8 53 fd
    13881350    db  032h, 0ffh
    13891351    ; xor bh, bh                                ; 32 ff
    13901352    db  08ah, 0dch
    13911353    ; mov bl, ah                                ; 8a dc
    1392     call 006b5h                               ; e8 44 fe
     1354    call 00697h                               ; e8 69 fe
    13931355    db  08bh, 0c8h
    13941356    ; mov cx, ax                                ; 8b c8
    13951357    db  00ah, 0dbh
    13961358    ; or bl, bl                                 ; 0a db
    1397     jne short 0087ch                          ; 75 05
     1359    jne short 00839h                          ; 75 05
    13981360    shr ax, 003h                              ; c1 e8 03
    13991361    mov BL, strict byte 001h                  ; b3 01
     
    14011363    db  08bh, 0d8h
    14021364    ; mov bx, ax                                ; 8b d8
    1403     call 006c3h                               ; e8 40 fe
     1365    call 006a5h                               ; e8 65 fe
    14041366    db  08bh, 0d0h
    14051367    ; mov dx, ax                                ; 8b d0
    14061368    mov ax, strict word 0004fh                ; b8 4f 00
    14071369    retn                                      ; c3
    1408 vbe_biosfn_set_get_display_start:            ; 0xc0889 LB 0x34
     1370vbe_biosfn_set_get_display_start:            ; 0xc0846 LB 0x34
    14091371    cmp bl, 080h                              ; 80 fb 80
    1410     je short 00899h                           ; 74 0b
     1372    je short 00856h                           ; 74 0b
    14111373    cmp bl, 001h                              ; 80 fb 01
    1412     je short 008adh                           ; 74 1a
    1413     jc short 0089fh                           ; 72 0a
     1374    je short 0086ah                           ; 74 1a
     1375    jc short 0085ch                           ; 72 0a
    14141376    mov ax, 00100h                            ; b8 00 01
    14151377    retn                                      ; c3
    1416     call 0056dh                               ; e8 d1 fc
    1417     call 00560h                               ; e8 c1 fc
     1378    call 0056dh                               ; e8 14 fd
     1379    call 00560h                               ; e8 04 fd
    14181380    db  08bh, 0c1h
    14191381    ; mov ax, cx                                ; 8b c1
    1420     call 00649h                               ; e8 a5 fd
     1382    call 0062bh                               ; e8 ca fd
    14211383    db  08bh, 0c2h
    14221384    ; mov ax, dx                                ; 8b c2
    1423     call 00667h                               ; e8 be fd
     1385    call 00649h                               ; e8 e3 fd
    14241386    mov ax, strict word 0004fh                ; b8 4f 00
    14251387    retn                                      ; c3
    1426     call 00659h                               ; e8 a9 fd
     1388    call 0063bh                               ; e8 ce fd
    14271389    db  08bh, 0c8h
    14281390    ; mov cx, ax                                ; 8b c8
    1429     call 00677h                               ; e8 c2 fd
     1391    call 00659h                               ; e8 e7 fd
    14301392    db  08bh, 0d0h
    14311393    ; mov dx, ax                                ; 8b d0
     
    14341396    mov ax, strict word 0004fh                ; b8 4f 00
    14351397    retn                                      ; c3
    1436 vbe_biosfn_set_get_dac_palette_format:       ; 0xc08bd LB 0x37
     1398vbe_biosfn_set_get_dac_palette_format:       ; 0xc087a LB 0x37
    14371399    cmp bl, 001h                              ; 80 fb 01
    1438     je short 008e0h                           ; 74 1e
    1439     jc short 008c8h                           ; 72 04
     1400    je short 0089dh                           ; 74 1e
     1401    jc short 00885h                           ; 72 04
    14401402    mov ax, 00100h                            ; b8 00 01
    14411403    retn                                      ; c3
    1442     call 005e7h                               ; e8 1c fd
     1404    call 005c9h                               ; e8 41 fd
    14431405    cmp bh, 006h                              ; 80 ff 06
    1444     je short 008dah                           ; 74 0a
     1406    je short 00897h                           ; 74 0a
    14451407    cmp bh, 008h                              ; 80 ff 08
    1446     jne short 008f0h                          ; 75 1b
     1408    jne short 008adh                          ; 75 1b
    14471409    or ax, strict byte 00020h                 ; 83 c8 20
    1448     jne short 008ddh                          ; 75 03
     1410    jne short 0089ah                          ; 75 03
    14491411    and ax, strict byte 0ffdfh                ; 83 e0 df
    1450     call 005d7h                               ; e8 f7 fc
     1412    call 005b9h                               ; e8 1c fd
    14511413    mov BH, strict byte 006h                  ; b7 06
    1452     call 005e7h                               ; e8 02 fd
     1414    call 005c9h                               ; e8 27 fd
    14531415    and ax, strict byte 00020h                ; 83 e0 20
    1454     je short 008ech                           ; 74 02
     1416    je short 008a9h                           ; 74 02
    14551417    mov BH, strict byte 008h                  ; b7 08
    14561418    mov ax, strict word 0004fh                ; b8 4f 00
     
    14581420    mov ax, 0014fh                            ; b8 4f 01
    14591421    retn                                      ; c3
    1460 vbe_biosfn_set_get_palette_data:             ; 0xc08f4 LB 0x64
     1422vbe_biosfn_set_get_palette_data:             ; 0xc08b1 LB 0x64
    14611423    test bl, bl                               ; 84 db
    1462     je short 00907h                           ; 74 0f
     1424    je short 008c4h                           ; 74 0f
    14631425    cmp bl, 001h                              ; 80 fb 01
    1464     je short 0092fh                           ; 74 32
     1426    je short 008ech                           ; 74 32
    14651427    cmp bl, 003h                              ; 80 fb 03
    1466     jbe short 00954h                          ; 76 52
     1428    jbe short 00911h                          ; 76 52
    14671429    cmp bl, 080h                              ; 80 fb 80
    1468     jne short 00950h                          ; 75 49
     1430    jne short 0090dh                          ; 75 49
    14691431    pushad                                    ; 66 60
    14701432    push DS                                   ; 1e
     
    14851447    rol eax, 008h                             ; 66 c1 c0 08
    14861448    out DX, AL                                ; ee
    1487     loop 00915h                               ; e2 ed
     1449    loop 008d2h                               ; e2 ed
    14881450    pop DS                                    ; 1f
    14891451    popad                                     ; 66 61
     
    15041466    in AL, DX                                 ; ec
    15051467    stosd                                     ; 66 ab
    1506     loop 0093ah                               ; e2 ee
     1468    loop 008f7h                               ; e2 ee
    15071469    popad                                     ; 66 61
    1508     jmp short 0092bh                          ; eb db
     1470    jmp short 008e8h                          ; eb db
    15091471    mov ax, 0014fh                            ; b8 4f 01
    15101472    retn                                      ; c3
    15111473    mov ax, 0024fh                            ; b8 4f 02
    15121474    retn                                      ; c3
    1513 vbe_biosfn_return_protected_mode_interface: ; 0xc0958 LB 0x19
     1475vbe_biosfn_return_protected_mode_interface: ; 0xc0915 LB 0x19
    15141476    test bl, bl                               ; 84 db
    1515     jne short 0096dh                          ; 75 11
     1477    jne short 0092ah                          ; 75 11
    15161478    mov di, 0c000h                            ; bf 00 c0
    15171479    mov es, di                                ; 8e c7
     
    15251487    retn                                      ; c3
    15261488
    1527   ; Padding 0x8f bytes at 0xc0971
    1528   times 143 db 0
     1489  ; Padding 0xd2 bytes at 0xc092e
     1490  times 210 db 0
    15291491
    1530 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f27 class=CODE group=AUTO
     1492section _TEXT progbits vstart=0xa00 align=1 ; size=0x2ebf class=CODE group=AUTO
    15311493set_int_vector_:                             ; 0xc0a00 LB 0x1a
    15321494    push bx                                   ; 53
     
    15421504    pop bx                                    ; 5b
    15431505    retn                                      ; c3
    1544 init_vga_card_:                              ; 0xc0a1a LB 0x22
     1506init_vga_card_:                              ; 0xc0a1a LB 0x19
    15451507    push dx                                   ; 52
    15461508    push bp                                   ; 55
     
    15551517    mov dx, 003c5h                            ; ba c5 03
    15561518    out DX, AL                                ; ee
    1557     push 04800h                               ; 68 00 48
    1558     call 02f50h                               ; e8 1a 25
    1559     add sp, strict byte 00002h                ; 83 c4 02
    15601519    pop bp                                    ; 5d
    15611520    pop dx                                    ; 5a
    15621521    retn                                      ; c3
    1563 init_bios_area_:                             ; 0xc0a3c LB 0x32
     1522init_bios_area_:                             ; 0xc0a33 LB 0x32
    15641523    push bx                                   ; 53
    15651524    push bp                                   ; 55
     
    15791538    pop bx                                    ; 5b
    15801539    retn                                      ; c3
    1581 _vgabios_init_func:                          ; 0xc0a6e LB 0x1e
     1540_vgabios_init_func:                          ; 0xc0a65 LB 0x1e
    15821541    push bp                                   ; 55
    15831542    mov bp, sp                                ; 89 e5
    1584     call 00a1ah                               ; e8 a6 ff
    1585     call 00a3ch                               ; e8 c5 ff
    1586     call 007c5h                               ; e8 4b fd
     1543    call 00a1ah                               ; e8 af ff
     1544    call 00a33h                               ; e8 c5 ff
     1545    call 0340bh                               ; e8 9a 29
    15871546    mov dx, strict word 00022h                ; ba 22 00
    15881547    mov ax, strict word 00010h                ; b8 10 00
    1589     call 00a00h                               ; e8 7d ff
     1548    call 00a00h                               ; e8 86 ff
    15901549    mov ax, strict word 00003h                ; b8 03 00
    15911550    db  032h, 0e4h
     
    15941553    pop bp                                    ; 5d
    15951554    retf                                      ; cb
    1596 vga_get_cursor_pos_:                         ; 0xc0a8c LB 0x40
     1555vga_get_cursor_pos_:                         ; 0xc0a83 LB 0x40
    15971556    push cx                                   ; 51
    15981557    push si                                   ; 56
     
    16021561    mov si, dx                                ; 89 d6
    16031562    cmp AL, strict byte 007h                  ; 3c 07
    1604     jbe short 00aa7h                          ; 76 0e
     1563    jbe short 00a9eh                          ; 76 0e
    16051564    push SS                                   ; 16
    16061565    pop ES                                    ; 07
    16071566    mov word [es:si], strict word 00000h      ; 26 c7 04 00 00
    16081567    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00
    1609     jmp short 00ac8h                          ; eb 21
     1568    jmp short 00abfh                          ; eb 21
    16101569    mov dx, strict word 00060h                ; ba 60 00
    16111570    mov ax, strict word 00040h                ; b8 40 00
    1612     call 02f10h                               ; e8 60 24
     1571    call 02f07h                               ; e8 60 24
    16131572    push SS                                   ; 16
    16141573    pop ES                                    ; 07
     
    16181577    add dx, strict byte 00050h                ; 83 c2 50
    16191578    mov ax, strict word 00040h                ; b8 40 00
    1620     call 02f10h                               ; e8 4d 24
     1579    call 02f07h                               ; e8 4d 24
    16211580    push SS                                   ; 16
    16221581    pop ES                                    ; 07
     
    16261585    pop cx                                    ; 59
    16271586    retn                                      ; c3
    1628 vga_read_char_attr_:                         ; 0xc0acc LB 0xa3
     1587vga_read_char_attr_:                         ; 0xc0ac3 LB 0xa3
    16291588    push bx                                   ; 53
    16301589    push cx                                   ; 51
     
    16361595    mov dx, strict word 00049h                ; ba 49 00
    16371596    mov ax, strict word 00040h                ; b8 40 00
    1638     call 02ef4h                               ; e8 13 24
     1597    call 02eebh                               ; e8 13 24
    16391598    xor ah, ah                                ; 30 e4
    1640     call 02ecdh                               ; e8 e7 23
     1599    call 02ec4h                               ; e8 e7 23
    16411600    mov ch, al                                ; 88 c5
    16421601    cmp AL, strict byte 0ffh                  ; 3c ff
    1643     je short 00b59h                           ; 74 6d
     1602    je short 00b50h                           ; 74 6d
    16441603    movzx ax, cl                              ; 0f b6 c1
    16451604    lea bx, [bp-008h]                         ; 8d 5e f8
    16461605    lea dx, [bp-006h]                         ; 8d 56 fa
    1647     call 00a8ch                               ; e8 94 ff
     1606    call 00a83h                               ; e8 94 ff
    16481607    mov al, byte [bp-008h]                    ; 8a 46 f8
    16491608    mov byte [bp-002h], al                    ; 88 46 fe
     
    16541613    mov dx, 00084h                            ; ba 84 00
    16551614    mov ax, strict word 00040h                ; b8 40 00
    1656     call 02ef4h                               ; e8 e2 23
     1615    call 02eebh                               ; e8 e2 23
    16571616    movzx di, al                              ; 0f b6 f8
    16581617    inc di                                    ; 47
    16591618    mov dx, strict word 0004ah                ; ba 4a 00
    16601619    mov ax, strict word 00040h                ; b8 40 00
    1661     call 02f10h                               ; e8 f1 23
     1620    call 02f07h                               ; e8 f1 23
    16621621    movzx bx, ch                              ; 0f b6 dd
    16631622    sal bx, 003h                              ; c1 e3 03
    16641623    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    1665     jne short 00b59h                          ; 75 2d
     1624    jne short 00b50h                          ; 75 2d
    16661625    mov dx, ax                                ; 89 c2
    16671626    imul dx, di                               ; 0f af d7
     
    16791638    add dx, ax                                ; 01 c2
    16801639    mov ax, word [bx+04836h]                  ; 8b 87 36 48
    1681     call 02f10h                               ; e8 ba 23
     1640    call 02f07h                               ; e8 ba 23
    16821641    mov word [ss:si], ax                      ; 36 89 04
    16831642    leave                                     ; c9
     
    16871646    pop bx                                    ; 5b
    16881647    retn                                      ; c3
    1689     mov cl, byte [bp+di]                      ; 8a 0b
    1690     db  0c6h, 00bh, 0cbh
    1691     ; mov byte [bp+di], 0cbh                    ; c6 0b cb
    1692     db  00bh, 0d3h
    1693     ; or dx, bx                                 ; 0b d3
    1694     db  00bh, 0d8h
    1695     ; or bx, ax                                 ; 0b d8
    1696     db  00bh, 0ddh
    1697     ; or bx, bp                                 ; 0b dd
    1698     db  00bh, 0e2h
    1699     ; or sp, dx                                 ; 0b e2
    1700     db  00bh, 0e7h
    1701     ; or sp, di                                 ; 0b e7
     1648    or word [bp+di], 00bbdh                   ; 81 0b bd 0b
     1649    retn 0ca0bh                               ; c2 0b ca
     1650    db  00bh, 0cfh
     1651    ; or cx, di                                 ; 0b cf
     1652    db  00bh, 0d4h
     1653    ; or dx, sp                                 ; 0b d4
     1654    db  00bh, 0d9h
     1655    ; or bx, cx                                 ; 0b d9
     1656    db  00bh, 0deh
     1657    ; or bx, si                                 ; 0b de
    17021658    db  00bh
    1703 vga_get_font_info_:                          ; 0xc0b6f LB 0x7f
     1659vga_get_font_info_:                          ; 0xc0b66 LB 0x7f
    17041660    push si                                   ; 56
    17051661    push di                                   ; 57
     
    17091665    mov bx, cx                                ; 89 cb
    17101666    cmp ax, strict word 00007h                ; 3d 07 00
    1711     jnbe short 00bc0h                         ; 77 3f
     1667    jnbe short 00bb7h                         ; 77 3f
    17121668    mov di, ax                                ; 89 c7
    17131669    add di, ax                                ; 01 c7
    1714     jmp word [cs:di+00b5fh]                   ; 2e ff a5 5f 0b
     1670    jmp word [cs:di+00b56h]                   ; 2e ff a5 56 0b
    17151671    mov dx, strict word 0007ch                ; ba 7c 00
    17161672    xor ax, ax                                ; 31 c0
    1717     call 02f2ch                               ; e8 9a 23
     1673    call 02f23h                               ; e8 9a 23
    17181674    push SS                                   ; 16
    17191675    pop ES                                    ; 07
     
    17231679    mov dx, 00085h                            ; ba 85 00
    17241680    mov ax, strict word 00040h                ; b8 40 00
    1725     call 02ef4h                               ; e8 4e 23
     1681    call 02eebh                               ; e8 4e 23
    17261682    xor ah, ah                                ; 30 e4
    17271683    push SS                                   ; 16
     
    17301686    mov dx, 00084h                            ; ba 84 00
    17311687    mov ax, strict word 00040h                ; b8 40 00
    1732     call 02ef4h                               ; e8 3e 23
     1688    call 02eebh                               ; e8 3e 23
    17331689    xor ah, ah                                ; 30 e4
    17341690    push SS                                   ; 16
     
    17411697    retn 00002h                               ; c2 02 00
    17421698    mov dx, 0010ch                            ; ba 0c 01
    1743     jmp short 00b8dh                          ; eb c2
     1699    jmp short 00b84h                          ; eb c2
    17441700    mov ax, 05db2h                            ; b8 b2 5d
    17451701    mov dx, 0c000h                            ; ba 00 c0
    1746     jmp short 00b92h                          ; eb bf
     1702    jmp short 00b89h                          ; eb bf
    17471703    mov ax, 055b2h                            ; b8 b2 55
    1748     jmp short 00bceh                          ; eb f6
     1704    jmp short 00bc5h                          ; eb f6
    17491705    mov ax, 059b2h                            ; b8 b2 59
    1750     jmp short 00bceh                          ; eb f1
     1706    jmp short 00bc5h                          ; eb f1
    17511707    mov ax, 07bb2h                            ; b8 b2 7b
    1752     jmp short 00bceh                          ; eb ec
     1708    jmp short 00bc5h                          ; eb ec
    17531709    mov ax, 06bb2h                            ; b8 b2 6b
    1754     jmp short 00bceh                          ; eb e7
     1710    jmp short 00bc5h                          ; eb e7
    17551711    mov ax, 07cdfh                            ; b8 df 7c
    1756     jmp short 00bceh                          ; eb e2
    1757     jmp short 00bc0h                          ; eb d2
    1758 vga_read_pixel_:                             ; 0xc0bee LB 0x134
     1712    jmp short 00bc5h                          ; eb e2
     1713    jmp short 00bb7h                          ; eb d2
     1714vga_read_pixel_:                             ; 0xc0be5 LB 0x134
    17591715    push si                                   ; 56
    17601716    push di                                   ; 57
     
    17651721    mov dx, strict word 00049h                ; ba 49 00
    17661722    mov ax, strict word 00040h                ; b8 40 00
    1767     call 02ef4h                               ; e8 f0 22
     1723    call 02eebh                               ; e8 f0 22
    17681724    xor ah, ah                                ; 30 e4
    1769     call 02ecdh                               ; e8 c4 22
     1725    call 02ec4h                               ; e8 c4 22
    17701726    mov cl, al                                ; 88 c1
    17711727    cmp AL, strict byte 0ffh                  ; 3c ff
    1772     je near 00d1eh                            ; 0f 84 0d 01
     1728    je near 00d15h                            ; 0f 84 0d 01
    17731729    movzx bx, al                              ; 0f b6 d8
    17741730    sal bx, 003h                              ; c1 e3 03
    17751731    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    1776     je near 00d1eh                            ; 0f 84 fe 00
     1732    je near 00d15h                            ; 0f 84 fe 00
    17771733    mov bl, byte [bx+04834h]                  ; 8a 9f 34 48
    17781734    cmp bl, 003h                              ; 80 fb 03
    1779     jc short 00c3ah                           ; 72 11
    1780     jbe short 00c42h                          ; 76 17
     1735    jc short 00c31h                           ; 72 11
     1736    jbe short 00c39h                          ; 76 17
    17811737    cmp bl, 005h                              ; 80 fb 05
    1782     je near 00cfbh                            ; 0f 84 c9 00
     1738    je near 00cf2h                            ; 0f 84 c9 00
    17831739    cmp bl, 004h                              ; 80 fb 04
    1784     je short 00c42h                           ; 74 0b
    1785     jmp near 00d19h                           ; e9 df 00
     1740    je short 00c39h                           ; 74 0b
     1741    jmp near 00d10h                           ; e9 df 00
    17861742    cmp bl, 002h                              ; 80 fb 02
    1787     je short 00c9ah                           ; 74 5b
    1788     jmp near 00d19h                           ; e9 d7 00
     1743    je short 00c91h                           ; 74 5b
     1744    jmp near 00d10h                           ; e9 d7 00
    17891745    mov dx, strict word 0004ah                ; ba 4a 00
    17901746    mov ax, strict word 00040h                ; b8 40 00
    1791     call 02f10h                               ; e8 c5 22
     1747    call 02f07h                               ; e8 c5 22
    17921748    imul ax, word [bp-006h]                   ; 0f af 46 fa
    17931749    mov bx, si                                ; 89 f3
     
    18001756    mov byte [bp-004h], al                    ; 88 46 fc
    18011757    mov byte [bp-002h], ch                    ; 88 6e fe
    1802     jmp short 00c70h                          ; eb 08
     1758    jmp short 00c67h                          ; eb 08
    18031759    cmp byte [bp-002h], 004h                  ; 80 7e fe 04
    1804     jnc near 00d1bh                           ; 0f 83 ab 00
     1760    jnc near 00d12h                           ; 0f 83 ab 00
    18051761    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    18061762    sal ax, 008h                              ; c1 e0 08
     
    18101766    mov dx, bx                                ; 89 da
    18111767    mov ax, 0a000h                            ; b8 00 a0
    1812     call 02ef4h                               ; e8 6f 22
     1768    call 02eebh                               ; e8 6f 22
    18131769    and al, byte [bp-004h]                    ; 22 46 fc
    18141770    test al, al                               ; 84 c0
    1815     jbe short 00c95h                          ; 76 09
     1771    jbe short 00c8ch                          ; 76 09
    18161772    mov cl, byte [bp-002h]                    ; 8a 4e fe
    18171773    mov AL, strict byte 001h                  ; b0 01
     
    18191775    or ch, al                                 ; 08 c5
    18201776    inc byte [bp-002h]                        ; fe 46 fe
    1821     jmp short 00c68h                          ; eb ce
     1777    jmp short 00c5fh                          ; eb ce
    18221778    mov ax, word [bp-006h]                    ; 8b 46 fa
    18231779    shr ax, 1                                 ; d1 e8
     
    18271783    add bx, ax                                ; 01 c3
    18281784    test byte [bp-006h], 001h                 ; f6 46 fa 01
    1829     je short 00cb2h                           ; 74 03
     1785    je short 00ca9h                           ; 74 03
    18301786    add bh, 020h                              ; 80 c7 20
    18311787    mov dx, bx                                ; 89 da
    18321788    mov ax, 0b800h                            ; b8 00 b8
    1833     call 02ef4h                               ; e8 3a 22
     1789    call 02eebh                               ; e8 3a 22
    18341790    movzx bx, cl                              ; 0f b6 d9
    18351791    sal bx, 003h                              ; c1 e3 03
    18361792    cmp byte [bx+04835h], 002h                ; 80 bf 35 48 02
    1837     jne short 00ce2h                          ; 75 1b
     1793    jne short 00cd9h                          ; 75 1b
    18381794    mov cx, si                                ; 89 f1
    18391795    xor ch, ch                                ; 30 ed
     
    18471803    mov ch, al                                ; 88 c5
    18481804    and ch, 003h                              ; 80 e5 03
    1849     jmp short 00d1bh                          ; eb 39
     1805    jmp short 00d12h                          ; eb 39
    18501806    mov cx, si                                ; 89 f1
    18511807    xor ch, ch                                ; 30 ed
     
    18581814    mov ch, al                                ; 88 c5
    18591815    and ch, 001h                              ; 80 e5 01
    1860     jmp short 00d1bh                          ; eb 20
     1816    jmp short 00d12h                          ; eb 20
    18611817    mov dx, strict word 0004ah                ; ba 4a 00
    18621818    mov ax, strict word 00040h                ; b8 40 00
    1863     call 02f10h                               ; e8 0c 22
     1819    call 02f07h                               ; e8 0c 22
    18641820    sal ax, 003h                              ; c1 e0 03
    18651821    imul ax, word [bp-006h]                   ; 0f af 46 fa
     
    18671823    add dx, ax                                ; 01 c2
    18681824    mov ax, 0a000h                            ; b8 00 a0
    1869     call 02ef4h                               ; e8 df 21
     1825    call 02eebh                               ; e8 df 21
    18701826    mov ch, al                                ; 88 c5
    1871     jmp short 00d1bh                          ; eb 02
     1827    jmp short 00d12h                          ; eb 02
    18721828    xor ch, ch                                ; 30 ed
    18731829    mov byte [ss:di], ch                      ; 36 88 2d
     
    18761832    pop si                                    ; 5e
    18771833    retn                                      ; c3
    1878 biosfn_perform_gray_scale_summing_:          ; 0xc0d22 LB 0x88
     1834biosfn_perform_gray_scale_summing_:          ; 0xc0d19 LB 0x88
    18791835    push bx                                   ; 53
    18801836    push cx                                   ; 51
     
    18931849    xor si, si                                ; 31 f6
    18941850    cmp si, di                                ; 39 fe
    1895     jnc short 00d92h                          ; 73 52
     1851    jnc short 00d89h                          ; 73 52
    18961852    mov al, bl                                ; 88 d8
    18971853    mov dx, 003c7h                            ; ba c7 03
     
    19211877    sar cx, 008h                              ; c1 f9 08
    19221878    cmp cx, strict byte 0003fh                ; 83 f9 3f
    1923     jbe short 00d80h                          ; 76 03
     1879    jbe short 00d77h                          ; 76 03
    19241880    mov cx, strict word 0003fh                ; b9 3f 00
    19251881    mov al, bl                                ; 88 d8
     
    19331889    inc bx                                    ; 43
    19341890    inc si                                    ; 46
    1935     jmp short 00d3ch                          ; eb aa
     1891    jmp short 00d33h                          ; eb aa
    19361892    mov dx, 003dah                            ; ba da 03
    19371893    in AL, DX                                 ; ec
     
    19511907    pop bx                                    ; 5b
    19521908    retn                                      ; c3
    1953 biosfn_set_cursor_shape_:                    ; 0xc0daa LB 0xa1
     1909biosfn_set_cursor_shape_:                    ; 0xc0da1 LB 0xa1
    19541910    push bx                                   ; 53
    19551911    push cx                                   ; 51
     
    19691925    mov dx, strict word 00060h                ; ba 60 00
    19701926    mov ax, strict word 00040h                ; b8 40 00
    1971     call 02f1eh                               ; e8 4d 21
     1927    call 02f15h                               ; e8 4d 21
    19721928    mov dx, 00089h                            ; ba 89 00
    19731929    mov ax, strict word 00040h                ; b8 40 00
    1974     call 02ef4h                               ; e8 1a 21
     1930    call 02eebh                               ; e8 1a 21
    19751931    mov bl, al                                ; 88 c3
    19761932    mov dx, 00085h                            ; ba 85 00
    19771933    mov ax, strict word 00040h                ; b8 40 00
    1978     call 02f10h                               ; e8 2b 21
     1934    call 02f07h                               ; e8 2b 21
    19791935    mov dx, ax                                ; 89 c2
    19801936    test bl, 001h                             ; f6 c3 01
    1981     je short 00e23h                           ; 74 37
     1937    je short 00e1ah                           ; 74 37
    19821938    cmp ax, strict word 00008h                ; 3d 08 00
    1983     jbe short 00e23h                          ; 76 32
     1939    jbe short 00e1ah                          ; 76 32
    19841940    cmp cl, 008h                              ; 80 f9 08
    1985     jnc short 00e23h                          ; 73 2d
     1941    jnc short 00e1ah                          ; 73 2d
    19861942    cmp ch, 020h                              ; 80 fd 20
    1987     jnc short 00e23h                          ; 73 28
     1943    jnc short 00e1ah                          ; 73 28
    19881944    inc di                                    ; 47
    19891945    cmp si, di                                ; 39 fe
    1990     je short 00e09h                           ; 74 09
     1946    je short 00e00h                           ; 74 09
    19911947    imul ax, di                               ; 0f af c7
    19921948    shr ax, 003h                              ; c1 e8 03
    19931949    dec ax                                    ; 48
    1994     jmp short 00e14h                          ; eb 0b
     1950    jmp short 00e0bh                          ; eb 0b
    19951951    lea si, [di+001h]                         ; 8d 75 01
    19961952    imul ax, si                               ; 0f af c6
     
    20071963    mov dx, strict word 00063h                ; ba 63 00
    20081964    mov ax, strict word 00040h                ; b8 40 00
    2009     call 02f10h                               ; e8 e4 20
     1965    call 02f07h                               ; e8 e4 20
    20101966    mov bx, ax                                ; 89 c3
    20111967    mov AL, strict byte 00ah                  ; b0 0a
     
    20281984    pop bx                                    ; 5b
    20291985    retn                                      ; c3
    2030 biosfn_set_cursor_pos_:                      ; 0xc0e4b LB 0x9e
     1986biosfn_set_cursor_pos_:                      ; 0xc0e42 LB 0x9e
    20311987    push bx                                   ; 53
    20321988    push cx                                   ; 51
     
    20361992    mov cx, dx                                ; 89 d1
    20371993    cmp AL, strict byte 007h                  ; 3c 07
    2038     jnbe near 00ee4h                          ; 0f 87 87 00
     1994    jnbe near 00edbh                          ; 0f 87 87 00
    20391995    movzx dx, al                              ; 0f b6 d0
    20401996    add dx, dx                                ; 01 d2
     
    20421998    mov bx, cx                                ; 89 cb
    20431999    mov ax, strict word 00040h                ; b8 40 00
    2044     call 02f1eh                               ; e8 b1 20
     2000    call 02f15h                               ; e8 b1 20
    20452001    mov dx, strict word 00062h                ; ba 62 00
    20462002    mov ax, strict word 00040h                ; b8 40 00
    2047     call 02ef4h                               ; e8 7e 20
     2003    call 02eebh                               ; e8 7e 20
    20482004    cmp al, byte [bp-002h]                    ; 3a 46 fe
    2049     jne short 00ee4h                          ; 75 69
     2005    jne short 00edbh                          ; 75 69
    20502006    mov dx, strict word 0004ah                ; ba 4a 00
    20512007    mov ax, strict word 00040h                ; b8 40 00
    2052     call 02f10h                               ; e8 8c 20
     2008    call 02f07h                               ; e8 8c 20
    20532009    mov bx, ax                                ; 89 c3
    20542010    mov dx, 00084h                            ; ba 84 00
    20552011    mov ax, strict word 00040h                ; b8 40 00
    2056     call 02ef4h                               ; e8 65 20
     2012    call 02eebh                               ; e8 65 20
    20572013    xor ah, ah                                ; 30 e4
    20582014    mov dx, ax                                ; 89 c2
     
    20742030    mov dx, strict word 00063h                ; ba 63 00
    20752031    mov ax, strict word 00040h                ; b8 40 00
    2076     call 02f10h                               ; e8 4e 20
     2032    call 02f07h                               ; e8 4e 20
    20772033    mov bx, ax                                ; 89 c3
    20782034    mov AL, strict byte 00eh                  ; b0 0e
     
    20972053    pop bx                                    ; 5b
    20982054    retn                                      ; c3
    2099 biosfn_set_active_page_:                     ; 0xc0ee9 LB 0xd8
     2055biosfn_set_active_page_:                     ; 0xc0ee0 LB 0xd8
    21002056    push bx                                   ; 53
    21012057    push cx                                   ; 51
     
    21062062    mov cl, al                                ; 88 c1
    21072063    cmp AL, strict byte 007h                  ; 3c 07
    2108     jnbe near 00fbah                          ; 0f 87 c0 00
     2064    jnbe near 00fb1h                          ; 0f 87 c0 00
    21092065    mov dx, strict word 00049h                ; ba 49 00
    21102066    mov ax, strict word 00040h                ; b8 40 00
    2111     call 02ef4h                               ; e8 f1 1f
     2067    call 02eebh                               ; e8 f1 1f
    21122068    xor ah, ah                                ; 30 e4
    2113     call 02ecdh                               ; e8 c5 1f
     2069    call 02ec4h                               ; e8 c5 1f
    21142070    mov ch, al                                ; 88 c5
    21152071    cmp AL, strict byte 0ffh                  ; 3c ff
    2116     je near 00fbah                            ; 0f 84 aa 00
     2072    je near 00fb1h                            ; 0f 84 aa 00
    21172073    movzx ax, cl                              ; 0f b6 c1
    21182074    lea bx, [bp-004h]                         ; 8d 5e fc
    21192075    lea dx, [bp-002h]                         ; 8d 56 fe
    2120     call 00a8ch                               ; e8 70 fb
     2076    call 00a83h                               ; e8 70 fb
    21212077    movzx bx, ch                              ; 0f b6 dd
    21222078    mov si, bx                                ; 89 de
    21232079    sal si, 003h                              ; c1 e6 03
    21242080    cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
    2125     jne short 00f6bh                          ; 75 40
     2081    jne short 00f62h                          ; 75 40
    21262082    mov dx, strict word 0004ah                ; ba 4a 00
    21272083    mov ax, strict word 00040h                ; b8 40 00
    2128     call 02f10h                               ; e8 dc 1f
     2084    call 02f07h                               ; e8 dc 1f
    21292085    mov bx, ax                                ; 89 c3
    21302086    mov dx, 00084h                            ; ba 84 00
    21312087    mov ax, strict word 00040h                ; b8 40 00
    2132     call 02ef4h                               ; e8 b5 1f
     2088    call 02eebh                               ; e8 b5 1f
    21332089    xor ah, ah                                ; 30 e4
    21342090    inc ax                                    ; 40
     
    21442100    mov dx, strict word 0004eh                ; ba 4e 00
    21452101    mov ax, strict word 00040h                ; b8 40 00
    2146     call 02f1eh                               ; e8 bf 1f
     2102    call 02f15h                               ; e8 bf 1f
    21472103    or si, 000ffh                             ; 81 ce ff 00
    21482104    lea bx, [si+001h]                         ; 8d 5c 01
    21492105    imul bx, di                               ; 0f af df
    2150     jmp short 00f7dh                          ; eb 12
     2106    jmp short 00f74h                          ; eb 12
    21512107    movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
    21522108    sal bx, 006h                              ; c1 e3 06
     
    21562112    mov dx, strict word 00063h                ; ba 63 00
    21572113    mov ax, strict word 00040h                ; b8 40 00
    2158     call 02f10h                               ; e8 8a 1f
     2114    call 02f07h                               ; e8 8a 1f
    21592115    mov si, ax                                ; 89 c6
    21602116    mov AL, strict byte 00ch                  ; b0 0c
     
    21772133    mov dx, strict word 00062h                ; ba 62 00
    21782134    mov ax, strict word 00040h                ; b8 40 00
    2179     call 02f02h                               ; e8 50 1f
     2135    call 02ef9h                               ; e8 50 1f
    21802136    mov dx, word [bp-004h]                    ; 8b 56 fc
    21812137    mov ax, si                                ; 89 f0
    2182     call 00e4bh                               ; e8 91 fe
     2138    call 00e42h                               ; e8 91 fe
    21832139    leave                                     ; c9
    21842140    pop di                                    ; 5f
     
    21882144    pop bx                                    ; 5b
    21892145    retn                                      ; c3
    2190 biosfn_set_video_mode_:                      ; 0xc0fc1 LB 0x382
     2146biosfn_set_video_mode_:                      ; 0xc0fb8 LB 0x382
    21912147    push bx                                   ; 53
    21922148    push cx                                   ; 51
     
    21982154    and AL, strict byte 080h                  ; 24 80
    21992155    mov byte [bp-006h], al                    ; 88 46 fa
    2200     call 007b2h                               ; e8 dd f7
     2156    call 00794h                               ; e8 c8 f7
    22012157    test ax, ax                               ; 85 c0
    2202     je short 00fe5h                           ; 74 0c
     2158    je short 00fdch                           ; 74 0c
    22032159    mov AL, strict byte 007h                  ; b0 07
    22042160    mov dx, 003c4h                            ; ba c4 03
     
    22092165    and byte [bp-004h], 07fh                  ; 80 66 fc 7f
    22102166    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    2211     call 02ecdh                               ; e8 dd 1e
     2167    call 02ec4h                               ; e8 dd 1e
    22122168    mov byte [bp-008h], al                    ; 88 46 f8
    22132169    cmp AL, strict byte 0ffh                  ; 3c ff
    2214     je near 0133ch                            ; 0f 84 43 03
     2170    je near 01333h                            ; 0f 84 43 03
    22152171    movzx si, al                              ; 0f b6 f0
    22162172    mov al, byte [si+048b2h]                  ; 8a 84 b2 48
     
    22262182    mov dx, 00087h                            ; ba 87 00
    22272183    mov ax, strict word 00040h                ; b8 40 00
    2228     call 02ef4h                               ; e8 ca 1e
     2184    call 02eebh                               ; e8 ca 1e
    22292185    mov dx, 00088h                            ; ba 88 00
    22302186    mov ax, strict word 00040h                ; b8 40 00
    2231     call 02ef4h                               ; e8 c1 1e
     2187    call 02eebh                               ; e8 c1 1e
    22322188    mov dx, 00089h                            ; ba 89 00
    22332189    mov ax, strict word 00040h                ; b8 40 00
    2234     call 02ef4h                               ; e8 b8 1e
     2190    call 02eebh                               ; e8 b8 1e
    22352191    mov ah, al                                ; 88 c4
    22362192    test AL, strict byte 008h                 ; a8 08
    2237     jne near 010ceh                           ; 0f 85 8a 00
     2193    jne near 010c5h                           ; 0f 85 8a 00
    22382194    mov bx, si                                ; 89 f3
    22392195    sal bx, 003h                              ; c1 e3 03
     
    22462202    mov bl, byte [bx+04839h]                  ; 8a 9f 39 48
    22472203    cmp bl, 001h                              ; 80 fb 01
    2248     jc short 0106eh                           ; 72 0e
    2249     jbe short 01077h                          ; 76 15
     2204    jc short 01065h                           ; 72 0e
     2205    jbe short 0106eh                          ; 76 15
    22502206    cmp bl, 003h                              ; 80 fb 03
    2251     je short 01081h                           ; 74 1a
     2207    je short 01078h                           ; 74 1a
    22522208    cmp bl, 002h                              ; 80 fb 02
    2253     je short 0107ch                           ; 74 10
    2254     jmp short 01084h                          ; eb 16
     2209    je short 01073h                           ; 74 10
     2210    jmp short 0107bh                          ; eb 16
    22552211    test bl, bl                               ; 84 db
    2256     jne short 01084h                          ; 75 12
     2212    jne short 0107bh                          ; 75 12
    22572213    mov di, 05046h                            ; bf 46 50
    2258     jmp short 01084h                          ; eb 0d
     2214    jmp short 0107bh                          ; eb 0d
    22592215    mov di, 05106h                            ; bf 06 51
    2260     jmp short 01084h                          ; eb 08
     2216    jmp short 0107bh                          ; eb 08
    22612217    mov di, 051c6h                            ; bf c6 51
    2262     jmp short 01084h                          ; eb 03
     2218    jmp short 0107bh                          ; eb 03
    22632219    mov di, 05286h                            ; bf 86 52
    22642220    xor bx, bx                                ; 31 db
    2265     jmp short 01097h                          ; eb 0f
     2221    jmp short 0108eh                          ; eb 0f
    22662222    xor al, al                                ; 30 c0
    22672223    mov dx, 003c9h                            ; ba c9 03
     
    22712227    inc bx                                    ; 43
    22722228    cmp bx, 00100h                            ; 81 fb 00 01
    2273     jnc short 010c1h                          ; 73 2a
     2229    jnc short 010b8h                          ; 73 2a
    22742230    movzx si, byte [bp-008h]                  ; 0f b6 76 f8
    22752231    sal si, 003h                              ; c1 e6 03
     
    22772233    movzx dx, byte [si+048c2h]                ; 0f b6 94 c2 48
    22782234    cmp bx, dx                                ; 39 d3
    2279     jnbe short 01088h                         ; 77 dc
     2235    jnbe short 0107fh                         ; 77 dc
    22802236    imul si, bx, strict byte 00003h           ; 6b f3 03
    22812237    add si, di                                ; 01 fe
     
    22872243    mov al, byte [si+002h]                    ; 8a 44 02
    22882244    out DX, AL                                ; ee
    2289     jmp short 01090h                          ; eb cf
     2245    jmp short 01087h                          ; eb cf
    22902246    test ah, 002h                             ; f6 c4 02
    2291     je short 010ceh                           ; 74 08
     2247    je short 010c5h                           ; 74 08
    22922248    mov dx, 00100h                            ; ba 00 01
    22932249    xor ax, ax                                ; 31 c0
    2294     call 00d22h                               ; e8 54 fc
     2250    call 00d19h                               ; e8 54 fc
    22952251    mov dx, 003dah                            ; ba da 03
    22962252    in AL, DX                                 ; ec
     
    22982254    ; sub ah, ah                                ; 2a e4
    22992255    xor bx, bx                                ; 31 db
    2300     jmp short 010ddh                          ; eb 05
     2256    jmp short 010d4h                          ; eb 05
    23012257    cmp bx, strict byte 00013h                ; 83 fb 13
    2302     jnbe short 010f4h                         ; 77 17
     2258    jnbe short 010ebh                         ; 77 17
    23032259    mov al, bl                                ; 88 d8
    23042260    mov dx, 003c0h                            ; ba c0 03
     
    23102266    out DX, AL                                ; ee
    23112267    inc bx                                    ; 43
    2312     jmp short 010d8h                          ; eb e4
     2268    jmp short 010cfh                          ; eb e4
    23132269    mov AL, strict byte 014h                  ; b0 14
    23142270    mov dx, 003c0h                            ; ba c0 03
     
    23222278    out DX, AL                                ; ee
    23232279    mov bx, strict word 00001h                ; bb 01 00
    2324     jmp short 01111h                          ; eb 05
     2280    jmp short 01108h                          ; eb 05
    23252281    cmp bx, strict byte 00004h                ; 83 fb 04
    2326     jnbe short 0112bh                         ; 77 1a
     2282    jnbe short 01122h                         ; 77 1a
    23272283    mov al, bl                                ; 88 d8
    23282284    mov dx, 003c4h                            ; ba c4 03
     
    23352291    out DX, AL                                ; ee
    23362292    inc bx                                    ; 43
    2337     jmp short 0110ch                          ; eb e1
     2293    jmp short 01103h                          ; eb e1
    23382294    xor bx, bx                                ; 31 db
    2339     jmp short 01134h                          ; eb 05
     2295    jmp short 0112bh                          ; eb 05
    23402296    cmp bx, strict byte 00008h                ; 83 fb 08
    2341     jnbe short 0114eh                         ; 77 1a
     2297    jnbe short 01145h                         ; 77 1a
    23422298    mov al, bl                                ; 88 d8
    23432299    mov dx, 003ceh                            ; ba ce 03
     
    23502306    out DX, AL                                ; ee
    23512307    inc bx                                    ; 43
    2352     jmp short 0112fh                          ; eb e1
     2308    jmp short 01126h                          ; eb e1
    23532309    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
    23542310    sal bx, 003h                              ; c1 e3 03
    23552311    cmp byte [bx+04834h], 001h                ; 80 bf 34 48 01
    2356     jne short 01161h                          ; 75 05
     2312    jne short 01158h                          ; 75 05
    23572313    mov dx, 003b4h                            ; ba b4 03
    2358     jmp short 01164h                          ; eb 03
     2314    jmp short 0115bh                          ; eb 03
    23592315    mov dx, 003d4h                            ; ba d4 03
    23602316    mov si, dx                                ; 89 d6
     
    23622318    out DX, ax                                ; ef
    23632319    xor bx, bx                                ; 31 db
    2364     jmp short 01173h                          ; eb 05
     2320    jmp short 0116ah                          ; eb 05
    23652321    cmp bx, strict byte 00018h                ; 83 fb 18
    2366     jnbe short 0118eh                         ; 77 1b
     2322    jnbe short 01185h                         ; 77 1b
    23672323    mov al, bl                                ; 88 d8
    23682324    mov dx, si                                ; 89 f2
     
    23762332    out DX, AL                                ; ee
    23772333    inc bx                                    ; 43
    2378     jmp short 0116eh                          ; eb e0
     2334    jmp short 01165h                          ; eb e0
    23792335    mov bx, cx                                ; 89 cb
    23802336    mov al, byte [bx+048cfh]                  ; 8a 87 cf 48
     
    23892345    ; sub ah, ah                                ; 2a e4
    23902346    cmp byte [bp-006h], 000h                  ; 80 7e fa 00
    2391     jne short 01209h                          ; 75 5f
     2347    jne short 01200h                          ; 75 5f
    23922348    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
    23932349    sal bx, 003h                              ; c1 e3 03
    23942350    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    2395     jne short 011cbh                          ; 75 13
     2351    jne short 011c2h                          ; 75 13
    23962352    mov es, [bx+04836h]                       ; 8e 87 36 48
    23972353    mov cx, 04000h                            ; b9 00 40
     
    23992355    xor di, di                                ; 31 ff
    24002356    cld                                       ; fc
    2401     jcxz 011c9h                               ; e3 02
     2357    jcxz 011c0h                               ; e3 02
    24022358    rep stosw                                 ; f3 ab
    2403     jmp short 01209h                          ; eb 3e
     2359    jmp short 01200h                          ; eb 3e
    24042360    cmp byte [bp-004h], 00dh                  ; 80 7e fc 0d
    2405     jnc short 011e3h                          ; 73 12
     2361    jnc short 011dah                          ; 73 12
    24062362    mov es, [bx+04836h]                       ; 8e 87 36 48
    24072363    mov cx, 04000h                            ; b9 00 40
     
    24092365    xor di, di                                ; 31 ff
    24102366    cld                                       ; fc
    2411     jcxz 011e1h                               ; e3 02
     2367    jcxz 011d8h                               ; e3 02
    24122368    rep stosw                                 ; f3 ab
    2413     jmp short 01209h                          ; eb 26
     2369    jmp short 01200h                          ; eb 26
    24142370    mov AL, strict byte 002h                  ; b0 02
    24152371    mov dx, 003c4h                            ; ba c4 03
     
    24272383    xor di, di                                ; 31 ff
    24282384    cld                                       ; fc
    2429     jcxz 01205h                               ; e3 02
     2385    jcxz 011fch                               ; e3 02
    24302386    rep stosw                                 ; f3 ab
    24312387    mov al, byte [bp-010h]                    ; 8a 46 f0
     
    24342390    mov dx, strict word 00049h                ; ba 49 00
    24352391    mov ax, strict word 00040h                ; b8 40 00
    2436     call 02f02h                               ; e8 ec 1c
     2392    call 02ef9h                               ; e8 ec 1c
    24372393    mov bx, word [bp-00eh]                    ; 8b 5e f2
    24382394    mov dx, strict word 0004ah                ; ba 4a 00
    24392395    mov ax, strict word 00040h                ; b8 40 00
    2440     call 02f1eh                               ; e8 fc 1c
     2396    call 02f15h                               ; e8 fc 1c
    24412397    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
    24422398    sal bx, 006h                              ; c1 e3 06
     
    24442400    mov dx, strict word 0004ch                ; ba 4c 00
    24452401    mov ax, strict word 00040h                ; b8 40 00
    2446     call 02f1eh                               ; e8 e8 1c
     2402    call 02f15h                               ; e8 e8 1c
    24472403    mov bx, si                                ; 89 f3
    24482404    mov dx, strict word 00063h                ; ba 63 00
    24492405    mov ax, strict word 00040h                ; b8 40 00
    2450     call 02f1eh                               ; e8 dd 1c
     2406    call 02f15h                               ; e8 dd 1c
    24512407    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
    24522408    mov dx, 00084h                            ; ba 84 00
    24532409    mov ax, strict word 00040h                ; b8 40 00
    2454     call 02f02h                               ; e8 b4 1c
     2410    call 02ef9h                               ; e8 b4 1c
    24552411    mov bx, word [bp-00ah]                    ; 8b 5e f6
    24562412    mov dx, 00085h                            ; ba 85 00
    24572413    mov ax, strict word 00040h                ; b8 40 00
    2458     call 02f1eh                               ; e8 c4 1c
     2414    call 02f15h                               ; e8 c4 1c
    24592415    mov al, byte [bp-006h]                    ; 8a 46 fa
    24602416    or AL, strict byte 060h                   ; 0c 60
     
    24622418    mov dx, 00087h                            ; ba 87 00
    24632419    mov ax, strict word 00040h                ; b8 40 00
    2464     call 02f02h                               ; e8 97 1c
     2420    call 02ef9h                               ; e8 97 1c
    24652421    mov bx, 000f9h                            ; bb f9 00
    24662422    mov dx, 00088h                            ; ba 88 00
    24672423    mov ax, strict word 00040h                ; b8 40 00
    2468     call 02f02h                               ; e8 8b 1c
     2424    call 02ef9h                               ; e8 8b 1c
    24692425    mov dx, 00089h                            ; ba 89 00
    24702426    mov ax, strict word 00040h                ; b8 40 00
    2471     call 02ef4h                               ; e8 74 1c
     2427    call 02eebh                               ; e8 74 1c
    24722428    and AL, strict byte 07fh                  ; 24 7f
    24732429    movzx bx, al                              ; 0f b6 d8
    24742430    mov dx, 00089h                            ; ba 89 00
    24752431    mov ax, strict word 00040h                ; b8 40 00
    2476     call 02f02h                               ; e8 74 1c
     2432    call 02ef9h                               ; e8 74 1c
    24772433    mov bx, strict word 00008h                ; bb 08 00
    24782434    mov dx, 0008ah                            ; ba 8a 00
    24792435    mov ax, strict word 00040h                ; b8 40 00
    2480     call 02f02h                               ; e8 68 1c
     2436    call 02ef9h                               ; e8 68 1c
    24812437    mov cx, ds                                ; 8c d9
    24822438    mov bx, 05596h                            ; bb 96 55
    24832439    mov dx, 000a8h                            ; ba a8 00
    24842440    mov ax, strict word 00040h                ; b8 40 00
    2485     call 02f3eh                               ; e8 96 1c
     2441    call 02f35h                               ; e8 96 1c
    24862442    xor bx, bx                                ; 31 db
    24872443    mov dx, strict word 00065h                ; ba 65 00
    24882444    mov ax, strict word 00040h                ; b8 40 00
    2489     call 02f02h                               ; e8 4f 1c
     2445    call 02ef9h                               ; e8 4f 1c
    24902446    xor bx, bx                                ; 31 db
    24912447    mov dx, strict word 00066h                ; ba 66 00
    24922448    mov ax, strict word 00040h                ; b8 40 00
    2493     call 02f02h                               ; e8 44 1c
     2449    call 02ef9h                               ; e8 44 1c
    24942450    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
    24952451    sal bx, 003h                              ; c1 e3 03
    24962452    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    2497     jne short 012d5h                          ; 75 09
     2453    jne short 012cch                          ; 75 09
    24982454    mov dx, strict word 00007h                ; ba 07 00
    24992455    mov ax, strict word 00006h                ; b8 06 00
    2500     call 00daah                               ; e8 d5 fa
     2456    call 00da1h                               ; e8 d5 fa
    25012457    xor bx, bx                                ; 31 db
    2502     jmp short 012deh                          ; eb 05
     2458    jmp short 012d5h                          ; eb 05
    25032459    cmp bx, strict byte 00008h                ; 83 fb 08
    2504     jnc short 012e9h                          ; 73 0b
     2460    jnc short 012e0h                          ; 73 0b
    25052461    movzx ax, bl                              ; 0f b6 c3
    25062462    xor dx, dx                                ; 31 d2
    2507     call 00e4bh                               ; e8 65 fb
     2463    call 00e42h                               ; e8 65 fb
    25082464    inc bx                                    ; 43
    2509     jmp short 012d9h                          ; eb f0
     2465    jmp short 012d0h                          ; eb f0
    25102466    xor ax, ax                                ; 31 c0
    2511     call 00ee9h                               ; e8 fb fb
     2467    call 00ee0h                               ; e8 fb fb
    25122468    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
    25132469    sal bx, 003h                              ; c1 e3 03
    25142470    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    2515     jne short 0130ch                          ; 75 10
     2471    jne short 01303h                          ; 75 10
    25162472    xor bl, bl                                ; 30 db
    25172473    mov AL, strict byte 004h                  ; b0 04
     
    25242480    mov dx, 059b2h                            ; ba b2 59
    25252481    mov ax, strict word 0001fh                ; b8 1f 00
    2526     call 00a00h                               ; e8 eb f6
     2482    call 00a00h                               ; e8 f4 f6
    25272483    mov ax, word [bp-00ah]                    ; 8b 46 f6
    25282484    cmp ax, strict word 00010h                ; 3d 10 00
    2529     je short 01337h                           ; 74 1a
     2485    je short 0132eh                           ; 74 1a
    25302486    cmp ax, strict word 0000eh                ; 3d 0e 00
    2531     je short 01332h                           ; 74 10
     2487    je short 01329h                           ; 74 10
    25322488    cmp ax, strict word 00008h                ; 3d 08 00
    2533     jne short 0133ch                          ; 75 15
     2489    jne short 01333h                          ; 75 15
    25342490    mov dx, 055b2h                            ; ba b2 55
    25352491    mov ax, strict word 00043h                ; b8 43 00
    2536     call 00a00h                               ; e8 d0 f6
    2537     jmp short 0133ch                          ; eb 0a
     2492    call 00a00h                               ; e8 d9 f6
     2493    jmp short 01333h                          ; eb 0a
    25382494    mov dx, 05db2h                            ; ba b2 5d
    2539     jmp short 0132ah                          ; eb f3
     2495    jmp short 01321h                          ; eb f3
    25402496    mov dx, 06bb2h                            ; ba b2 6b
    2541     jmp short 0132ah                          ; eb ee
     2497    jmp short 01321h                          ; eb ee
    25422498    leave                                     ; c9
    25432499    pop di                                    ; 5f
     
    25472503    pop bx                                    ; 5b
    25482504    retn                                      ; c3
    2549 vgamem_copy_pl4_:                            ; 0xc1343 LB 0x72
     2505vgamem_copy_pl4_:                            ; 0xc133a LB 0x72
    25502506    push si                                   ; 56
    25512507    push di                                   ; 57
     
    25702526    xor bl, bl                                ; 30 db
    25712527    cmp bl, byte [bp+00ah]                    ; 3a 5e 0a
    2572     jnc short 013a8h                          ; 73 29
     2528    jnc short 0139fh                          ; 73 29
    25732529    movzx cx, bh                              ; 0f b6 cf
    25742530    movzx si, bl                              ; 0f b6 f3
     
    25822538    mov es, dx                                ; 8e c2
    25832539    cld                                       ; fc
    2584     jcxz 013a4h                               ; e3 06
     2540    jcxz 0139bh                               ; e3 06
    25852541    push DS                                   ; 1e
    25862542    mov ds, dx                                ; 8e da
     
    25892545    db  0feh, 0c3h
    25902546    ; inc bl                                    ; fe c3
    2591     jmp short 0137ah                          ; eb d2
     2547    jmp short 01371h                          ; eb d2
    25922548    mov ax, strict word 00005h                ; b8 05 00
    25932549    mov dx, 003ceh                            ; ba ce 03
     
    25972553    pop si                                    ; 5e
    25982554    retn 00004h                               ; c2 04 00
    2599 vgamem_fill_pl4_:                            ; 0xc13b5 LB 0x5d
     2555vgamem_fill_pl4_:                            ; 0xc13ac LB 0x5d
    26002556    push di                                   ; 57
    26012557    enter 00004h, 000h                        ; c8 04 00 00
     
    26152571    xor bl, bl                                ; 30 db
    26162572    cmp bl, byte [bp+006h]                    ; 3a 5e 06
    2617     jnc short 01406h                          ; 73 22
     2573    jnc short 013fdh                          ; 73 22
    26182574    movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
    26192575    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     
    26252581    mov es, dx                                ; 8e c2
    26262582    cld                                       ; fc
    2627     jcxz 01402h                               ; e3 02
     2583    jcxz 013f9h                               ; e3 02
    26282584    rep stosb                                 ; f3 aa
    26292585    db  0feh, 0c3h
    26302586    ; inc bl                                    ; fe c3
    2631     jmp short 013dfh                          ; eb d9
     2587    jmp short 013d6h                          ; eb d9
    26322588    mov ax, strict word 00005h                ; b8 05 00
    26332589    mov dx, 003ceh                            ; ba ce 03
     
    26362592    pop di                                    ; 5f
    26372593    retn 00004h                               ; c2 04 00
    2638 vgamem_copy_cga_:                            ; 0xc1412 LB 0xa0
     2594vgamem_copy_cga_:                            ; 0xc1409 LB 0xa0
    26392595    push si                                   ; 56
    26402596    push di                                   ; 57
     
    26582614    xor bl, bl                                ; 30 db
    26592615    cmp bl, byte [bp+00ah]                    ; 3a 5e 0a
    2660     jnc short 014ach                          ; 73 61
     2616    jnc short 014a3h                          ; 73 61
    26612617    test bl, 001h                             ; f6 c3 01
    2662     je short 01481h                           ; 74 31
     2618    je short 01478h                           ; 74 31
    26632619    movzx cx, bh                              ; 0f b6 cf
    26642620    movzx si, bl                              ; 0f b6 f3
     
    26752631    mov es, dx                                ; 8e c2
    26762632    cld                                       ; fc
    2677     jcxz 0147fh                               ; e3 06
     2633    jcxz 01476h                               ; e3 06
    26782634    push DS                                   ; 1e
    26792635    mov ds, dx                                ; 8e da
    26802636    rep movsb                                 ; f3 a4
    26812637    pop DS                                    ; 1f
    2682     jmp short 014a8h                          ; eb 27
     2638    jmp short 0149fh                          ; eb 27
    26832639    movzx cx, bh                              ; 0f b6 cf
    26842640    movzx ax, bl                              ; 0f b6 c3
     
    26932649    mov es, dx                                ; 8e c2
    26942650    cld                                       ; fc
    2695     jcxz 014a8h                               ; e3 06
     2651    jcxz 0149fh                               ; e3 06
    26962652    push DS                                   ; 1e
    26972653    mov ds, dx                                ; 8e da
     
    27002656    db  0feh, 0c3h
    27012657    ; inc bl                                    ; fe c3
    2702     jmp short 01446h                          ; eb 9a
     2658    jmp short 0143dh                          ; eb 9a
    27032659    leave                                     ; c9
    27042660    pop di                                    ; 5f
    27052661    pop si                                    ; 5e
    27062662    retn 00004h                               ; c2 04 00
    2707 vgamem_fill_cga_:                            ; 0xc14b2 LB 0x86
     2663vgamem_fill_cga_:                            ; 0xc14a9 LB 0x86
    27082664    push si                                   ; 56
    27092665    push di                                   ; 57
     
    27212677    xor bl, bl                                ; 30 db
    27222678    cmp bl, byte [bp+008h]                    ; 3a 5e 08
    2723     jnc short 01532h                          ; 73 57
     2679    jnc short 01529h                          ; 73 57
    27242680    test bl, 001h                             ; f6 c3 01
    2725     je short 0150fh                           ; 74 2f
     2681    je short 01506h                           ; 74 2f
    27262682    movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
    27272683    movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
     
    27382694    mov es, dx                                ; 8e c2
    27392695    cld                                       ; fc
    2740     jcxz 0150dh                               ; e3 02
     2696    jcxz 01504h                               ; e3 02
    27412697    rep stosb                                 ; f3 aa
    2742     jmp short 0152eh                          ; eb 1f
     2698    jmp short 01525h                          ; eb 1f
    27432699    movzx cx, byte [bp-002h]                  ; 0f b6 4e fe
    27442700    movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
     
    27512707    mov es, dx                                ; 8e c2
    27522708    cld                                       ; fc
    2753     jcxz 0152eh                               ; e3 02
     2709    jcxz 01525h                               ; e3 02
    27542710    rep stosb                                 ; f3 aa
    27552711    db  0feh, 0c3h
    27562712    ; inc bl                                    ; fe c3
    2757     jmp short 014d6h                          ; eb a4
     2713    jmp short 014cdh                          ; eb a4
    27582714    leave                                     ; c9
    27592715    pop di                                    ; 5f
    27602716    pop si                                    ; 5e
    27612717    retn 00004h                               ; c2 04 00
    2762 biosfn_scroll_:                              ; 0xc1538 LB 0x501
     2718biosfn_scroll_:                              ; 0xc152f LB 0x501
    27632719    push si                                   ; 56
    27642720    push di                                   ; 57
     
    27692725    mov byte [bp-002h], cl                    ; 88 4e fe
    27702726    cmp bl, byte [bp+008h]                    ; 3a 5e 08
    2771     jnbe near 01a33h                          ; 0f 87 e2 04
     2727    jnbe near 01a2ah                          ; 0f 87 e2 04
    27722728    cmp cl, byte [bp+00ah]                    ; 3a 4e 0a
    2773     jnbe near 01a33h                          ; 0f 87 db 04
     2729    jnbe near 01a2ah                          ; 0f 87 db 04
    27742730    mov dx, strict word 00049h                ; ba 49 00
    27752731    mov ax, strict word 00040h                ; b8 40 00
    2776     call 02ef4h                               ; e8 93 19
     2732    call 02eebh                               ; e8 93 19
    27772733    xor ah, ah                                ; 30 e4
    2778     call 02ecdh                               ; e8 67 19
     2734    call 02ec4h                               ; e8 67 19
    27792735    mov byte [bp-00ah], al                    ; 88 46 f6
    27802736    cmp AL, strict byte 0ffh                  ; 3c ff
    2781     je near 01a33h                            ; 0f 84 c4 04
     2737    je near 01a2ah                            ; 0f 84 c4 04
    27822738    mov dx, 00084h                            ; ba 84 00
    27832739    mov ax, strict word 00040h                ; b8 40 00
    2784     call 02ef4h                               ; e8 7c 19
     2740    call 02eebh                               ; e8 7c 19
    27852741    movzx cx, al                              ; 0f b6 c8
    27862742    inc cx                                    ; 41
    27872743    mov dx, strict word 0004ah                ; ba 4a 00
    27882744    mov ax, strict word 00040h                ; b8 40 00
    2789     call 02f10h                               ; e8 8b 19
     2745    call 02f07h                               ; e8 8b 19
    27902746    mov word [bp-012h], ax                    ; 89 46 ee
    27912747    cmp byte [bp+00ch], 0ffh                  ; 80 7e 0c ff
    2792     jne short 0159ah                          ; 75 0c
     2748    jne short 01591h                          ; 75 0c
    27932749    mov dx, strict word 00062h                ; ba 62 00
    27942750    mov ax, strict word 00040h                ; b8 40 00
    2795     call 02ef4h                               ; e8 5d 19
     2751    call 02eebh                               ; e8 5d 19
    27962752    mov byte [bp+00ch], al                    ; 88 46 0c
    27972753    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    27982754    cmp ax, cx                                ; 39 c8
    2799     jc short 015a9h                           ; 72 07
     2755    jc short 015a0h                           ; 72 07
    28002756    mov al, cl                                ; 88 c8
    28012757    db  0feh, 0c8h
     
    28042760    movzx ax, byte [bp+00ah]                  ; 0f b6 46 0a
    28052761    cmp ax, word [bp-012h]                    ; 3b 46 ee
    2806     jc short 015bah                           ; 72 08
     2762    jc short 015b1h                           ; 72 08
    28072763    mov al, byte [bp-012h]                    ; 8a 46 ee
    28082764    db  0feh, 0c8h
     
    28112767    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
    28122768    cmp ax, cx                                ; 39 c8
    2813     jbe short 015c6h                          ; 76 04
     2769    jbe short 015bdh                          ; 76 04
    28142770    mov byte [bp-00ch], 000h                  ; c6 46 f4 00
    28152771    mov al, byte [bp+00ah]                    ; 8a 46 0a
     
    28302786    imul ax, cx                               ; 0f af c1
    28312787    cmp byte [di+04833h], 000h                ; 80 bd 33 48 00
    2832     jne near 01795h                           ; 0f 85 9f 01
     2788    jne near 0178ch                           ; 0f 85 9f 01
    28332789    mov dx, ax                                ; 89 c2
    28342790    add dx, ax                                ; 01 c2
     
    28382794    imul bx, dx                               ; 0f af da
    28392795    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    2840     jne short 01645h                          ; 75 3a
     2796    jne short 0163ch                          ; 75 3a
    28412797    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    2842     jne short 01645h                          ; 75 34
     2798    jne short 0163ch                          ; 75 34
    28432799    cmp byte [bp-002h], 000h                  ; 80 7e fe 00
    2844     jne short 01645h                          ; 75 2e
     2800    jne short 0163ch                          ; 75 2e
    28452801    movzx dx, byte [bp+008h]                  ; 0f b6 56 08
    28462802    cmp dx, word [bp-016h]                    ; 3b 56 ea
    2847     jne short 01645h                          ; 75 25
     2803    jne short 0163ch                          ; 75 25
    28482804    movzx dx, byte [bp+00ah]                  ; 0f b6 56 0a
    28492805    cmp dx, word [bp-014h]                    ; 3b 56 ec
    2850     jne short 01645h                          ; 75 1c
     2806    jne short 0163ch                          ; 75 1c
    28512807    movzx dx, byte [bp-008h]                  ; 0f b6 56 f8
    28522808    sal dx, 008h                              ; c1 e2 08
     
    28572813    mov di, bx                                ; 89 df
    28582814    cld                                       ; fc
    2859     jcxz 01642h                               ; e3 02
     2815    jcxz 01639h                               ; e3 02
    28602816    rep stosw                                 ; f3 ab
    2861     jmp near 01a33h                           ; e9 ee 03
     2817    jmp near 01a2ah                           ; e9 ee 03
    28622818    cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
    2863     jne near 016eah                           ; 0f 85 9d 00
     2819    jne near 016e1h                           ; 0f 85 9d 00
    28642820    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    28652821    mov word [bp-010h], ax                    ; 89 46 f0
    28662822    movzx dx, byte [bp+008h]                  ; 0f b6 56 08
    28672823    cmp dx, word [bp-010h]                    ; 3b 56 f0
    2868     jc near 01a33h                            ; 0f 82 d4 03
     2824    jc near 01a2ah                            ; 0f 82 d4 03
    28692825    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
    28702826    add ax, word [bp-010h]                    ; 03 46 f0
    28712827    cmp ax, dx                                ; 39 d0
    2872     jnbe short 01670h                         ; 77 06
     2828    jnbe short 01667h                         ; 77 06
    28732829    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    2874     jne short 016a3h                          ; 75 33
     2830    jne short 0169ah                          ; 75 33
    28752831    movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
    28762832    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     
    28882844    mov es, [si+04836h]                       ; 8e 84 36 48
    28892845    cld                                       ; fc
    2890     jcxz 016a1h                               ; e3 02
     2846    jcxz 01698h                               ; e3 02
    28912847    rep stosw                                 ; f3 ab
    2892     jmp short 016e4h                          ; eb 41
     2848    jmp short 016dbh                          ; eb 41
    28932849    movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
    28942850    mov word [bp-018h], dx                    ; 89 56 e8
     
    29122868    mov es, ax                                ; 8e c0
    29132869    cld                                       ; fc
    2914     jcxz 016e4h                               ; e3 06
     2870    jcxz 016dbh                               ; e3 06
    29152871    push DS                                   ; 1e
    29162872    mov ds, dx                                ; 8e da
     
    29182874    pop DS                                    ; 1f
    29192875    inc word [bp-010h]                        ; ff 46 f0
    2920     jmp near 01654h                           ; e9 6a ff
     2876    jmp near 0164bh                           ; e9 6a ff
    29212877    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    29222878    mov word [bp-010h], ax                    ; 89 46 f0
    29232879    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    29242880    cmp ax, word [bp-010h]                    ; 3b 46 f0
    2925     jnbe near 01a33h                          ; 0f 87 37 03
     2881    jnbe near 01a2ah                          ; 0f 87 37 03
    29262882    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
    29272883    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
    29282884    add ax, dx                                ; 01 d0
    29292885    cmp ax, word [bp-010h]                    ; 3b 46 f0
    2930     jnbe short 01711h                         ; 77 06
     2886    jnbe short 01708h                         ; 77 06
    29312887    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    2932     jne short 01744h                          ; 75 33
     2888    jne short 0173bh                          ; 75 33
    29332889    movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
    29342890    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     
    29462902    mov es, [si+04836h]                       ; 8e 84 36 48
    29472903    cld                                       ; fc
    2948     jcxz 01742h                               ; e3 02
     2904    jcxz 01739h                               ; e3 02
    29492905    rep stosw                                 ; f3 ab
    2950     jmp short 01784h                          ; eb 40
     2906    jmp short 0177bh                          ; eb 40
    29512907    movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
    29522908    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     
    29692925    mov es, ax                                ; 8e c0
    29702926    cld                                       ; fc
    2971     jcxz 01784h                               ; e3 06
     2927    jcxz 0177bh                               ; e3 06
    29722928    push DS                                   ; 1e
    29732929    mov ds, dx                                ; 8e da
     
    29762932    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    29772933    cmp ax, word [bp-010h]                    ; 3b 46 f0
    2978     jc near 01a33h                            ; 0f 82 a4 02
     2934    jc near 01a2ah                            ; 0f 82 a4 02
    29792935    dec word [bp-010h]                        ; ff 4e f0
    2980     jmp near 016f1h                           ; e9 5c ff
     2936    jmp near 016e8h                           ; e9 5c ff
    29812937    movzx bx, byte [si+048b2h]                ; 0f b6 9c b2 48
    29822938    sal bx, 006h                              ; c1 e3 06
     
    29852941    mov bl, byte [di+04834h]                  ; 8a 9d 34 48
    29862942    cmp bl, 004h                              ; 80 fb 04
    2987     je short 017bch                           ; 74 0f
     2943    je short 017b3h                           ; 74 0f
    29882944    cmp bl, 003h                              ; 80 fb 03
    2989     je short 017bch                           ; 74 0a
     2945    je short 017b3h                           ; 74 0a
    29902946    cmp bl, 002h                              ; 80 fb 02
    2991     je near 018fbh                            ; 0f 84 42 01
    2992     jmp near 01a33h                           ; e9 77 02
     2947    je near 018f2h                            ; 0f 84 42 01
     2948    jmp near 01a2ah                           ; e9 77 02
    29932949    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    2994     jne short 01814h                          ; 75 52
     2950    jne short 0180bh                          ; 75 52
    29952951    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    2996     jne short 01814h                          ; 75 4c
     2952    jne short 0180bh                          ; 75 4c
    29972953    cmp byte [bp-002h], 000h                  ; 80 7e fe 00
    2998     jne short 01814h                          ; 75 46
     2954    jne short 0180bh                          ; 75 46
    29992955    movzx dx, byte [bp+008h]                  ; 0f b6 56 08
    30002956    mov ax, cx                                ; 89 c8
    30012957    dec ax                                    ; 48
    30022958    cmp dx, ax                                ; 39 c2
    3003     jne short 01814h                          ; 75 3b
     2959    jne short 0180bh                          ; 75 3b
    30042960    movzx dx, byte [bp+00ah]                  ; 0f b6 56 0a
    30052961    mov ax, word [bp-012h]                    ; 8b 46 ee
    30062962    dec ax                                    ; 48
    30072963    cmp dx, ax                                ; 39 c2
    3008     jne short 01814h                          ; 75 2f
     2964    jne short 0180bh                          ; 75 2f
    30092965    mov ax, 00205h                            ; b8 05 02
    30102966    mov dx, 003ceh                            ; ba ce 03
     
    30192975    xor di, di                                ; 31 ff
    30202976    cld                                       ; fc
    3021     jcxz 0180dh                               ; e3 02
     2977    jcxz 01804h                               ; e3 02
    30222978    rep stosb                                 ; f3 aa
    30232979    mov ax, strict word 00005h                ; b8 05 00
    30242980    out DX, ax                                ; ef
    3025     jmp near 01a33h                           ; e9 1f 02
     2981    jmp near 01a2ah                           ; e9 1f 02
    30262982    cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
    3027     jne short 01883h                          ; 75 69
     2983    jne short 0187ah                          ; 75 69
    30282984    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    30292985    mov word [bp-010h], ax                    ; 89 46 f0
    30302986    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    30312987    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3032     jc near 01a33h                            ; 0f 82 07 02
     2988    jc near 01a2ah                            ; 0f 82 07 02
    30332989    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
    30342990    add dx, word [bp-010h]                    ; 03 56 f0
    30352991    cmp dx, ax                                ; 39 c2
    3036     jnbe short 0183dh                         ; 77 06
     2992    jnbe short 01834h                         ; 77 06
    30372993    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    3038     jne short 0185ch                          ; 75 1f
     2994    jne short 01853h                          ; 75 1f
    30392995    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    30402996    push ax                                   ; 50
     
    30453001    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    30463002    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3047     call 013b5h                               ; e8 5b fb
    3048     jmp short 0187eh                          ; eb 22
     3003    call 013ach                               ; e8 5b fb
     3004    jmp short 01875h                          ; eb 22
    30493005    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    30503006    push ax                                   ; 50
     
    30573013    movzx dx, al                              ; 0f b6 d0
    30583014    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3059     call 01343h                               ; e8 c5 fa
     3015    call 0133ah                               ; e8 c5 fa
    30603016    inc word [bp-010h]                        ; ff 46 f0
    3061     jmp short 01821h                          ; eb 9e
     3017    jmp short 01818h                          ; eb 9e
    30623018    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    30633019    mov word [bp-010h], ax                    ; 89 46 f0
    30643020    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    30653021    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3066     jnbe near 01a33h                          ; 0f 87 9e 01
     3022    jnbe near 01a2ah                          ; 0f 87 9e 01
    30673023    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    30683024    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
    30693025    add ax, dx                                ; 01 d0
    30703026    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3071     jnbe short 018aah                         ; 77 06
     3027    jnbe short 018a1h                         ; 77 06
    30723028    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    3073     jne short 018c9h                          ; 75 1f
     3029    jne short 018c0h                          ; 75 1f
    30743030    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    30753031    push ax                                   ; 50
     
    30803036    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    30813037    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3082     call 013b5h                               ; e8 ee fa
    3083     jmp short 018ebh                          ; eb 22
     3038    call 013ach                               ; e8 ee fa
     3039    jmp short 018e2h                          ; eb 22
    30843040    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    30853041    push ax                                   ; 50
     
    30923048    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    30933049    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3094     call 01343h                               ; e8 58 fa
     3050    call 0133ah                               ; e8 58 fa
    30953051    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    30963052    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3097     jc near 01a33h                            ; 0f 82 3d 01
     3053    jc near 01a2ah                            ; 0f 82 3d 01
    30983054    dec word [bp-010h]                        ; ff 4e f0
    3099     jmp short 0188ah                          ; eb 8f
     3055    jmp short 01881h                          ; eb 8f
    31003056    mov dl, byte [di+04835h]                  ; 8a 95 35 48
    31013057    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    3102     jne short 01942h                          ; 75 3d
     3058    jne short 01939h                          ; 75 3d
    31033059    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    3104     jne short 01942h                          ; 75 37
     3060    jne short 01939h                          ; 75 37
    31053061    cmp byte [bp-002h], 000h                  ; 80 7e fe 00
    3106     jne short 01942h                          ; 75 31
     3062    jne short 01939h                          ; 75 31
    31073063    movzx bx, byte [bp+008h]                  ; 0f b6 5e 08
    31083064    cmp bx, word [bp-016h]                    ; 3b 5e ea
    3109     jne short 01942h                          ; 75 28
     3065    jne short 01939h                          ; 75 28
    31103066    movzx bx, byte [bp+00ah]                  ; 0f b6 5e 0a
    31113067    cmp bx, word [bp-014h]                    ; 3b 5e ec
    3112     jne short 01942h                          ; 75 1f
     3068    jne short 01939h                          ; 75 1f
    31133069    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa
    31143070    imul ax, bx                               ; 0f af c3
     
    31193075    xor di, di                                ; 31 ff
    31203076    cld                                       ; fc
    3121     jcxz 0193fh                               ; e3 02
     3077    jcxz 01936h                               ; e3 02
    31223078    rep stosb                                 ; f3 aa
    3123     jmp near 01a33h                           ; e9 f1 00
     3079    jmp near 01a2ah                           ; e9 f1 00
    31243080    cmp dl, 002h                              ; 80 fa 02
    3125     jne short 01950h                          ; 75 09
     3081    jne short 01947h                          ; 75 09
    31263082    sal byte [bp-002h], 1                     ; d0 66 fe
    31273083    sal byte [bp-00eh], 1                     ; d0 66 f2
    31283084    sal word [bp-012h], 1                     ; d1 66 ee
    31293085    cmp byte [bp+00eh], 001h                  ; 80 7e 0e 01
    3130     jne short 019bfh                          ; 75 69
     3086    jne short 019b6h                          ; 75 69
    31313087    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    31323088    mov word [bp-010h], ax                    ; 89 46 f0
    31333089    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    31343090    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3135     jc near 01a33h                            ; 0f 82 cb 00
     3091    jc near 01a2ah                            ; 0f 82 cb 00
    31363092    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
    31373093    add dx, word [bp-010h]                    ; 03 56 f0
    31383094    cmp dx, ax                                ; 39 c2
    3139     jnbe short 01979h                         ; 77 06
     3095    jnbe short 01970h                         ; 77 06
    31403096    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    3141     jne short 01998h                          ; 75 1f
     3097    jne short 0198fh                          ; 75 1f
    31423098    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    31433099    push ax                                   ; 50
     
    31483104    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    31493105    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3150     call 014b2h                               ; e8 1c fb
    3151     jmp short 019bah                          ; eb 22
     3106    call 014a9h                               ; e8 1c fb
     3107    jmp short 019b1h                          ; eb 22
    31523108    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    31533109    push ax                                   ; 50
     
    31603116    movzx dx, al                              ; 0f b6 d0
    31613117    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3162     call 01412h                               ; e8 58 fa
     3118    call 01409h                               ; e8 58 fa
    31633119    inc word [bp-010h]                        ; ff 46 f0
    3164     jmp short 0195dh                          ; eb 9e
     3120    jmp short 01954h                          ; eb 9e
    31653121    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    31663122    mov word [bp-010h], ax                    ; 89 46 f0
    31673123    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    31683124    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3169     jnbe short 01a33h                         ; 77 64
     3125    jnbe short 01a2ah                         ; 77 64
    31703126    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    31713127    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
    31723128    add ax, dx                                ; 01 d0
    31733129    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3174     jnbe short 019e4h                         ; 77 06
     3130    jnbe short 019dbh                         ; 77 06
    31753131    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    3176     jne short 01a03h                          ; 75 1f
     3132    jne short 019fah                          ; 75 1f
    31773133    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    31783134    push ax                                   ; 50
     
    31833139    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    31843140    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3185     call 014b2h                               ; e8 b1 fa
    3186     jmp short 01a25h                          ; eb 22
     3141    call 014a9h                               ; e8 b1 fa
     3142    jmp short 01a1ch                          ; eb 22
    31873143    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    31883144    push ax                                   ; 50
     
    31953151    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    31963152    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    3197     call 01412h                               ; e8 ed f9
     3153    call 01409h                               ; e8 ed f9
    31983154    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
    31993155    cmp ax, word [bp-010h]                    ; 3b 46 f0
    3200     jc short 01a33h                           ; 72 05
     3156    jc short 01a2ah                           ; 72 05
    32013157    dec word [bp-010h]                        ; ff 4e f0
    3202     jmp short 019c6h                          ; eb 93
     3158    jmp short 019bdh                          ; eb 93
    32033159    leave                                     ; c9
    32043160    pop di                                    ; 5f
    32053161    pop si                                    ; 5e
    32063162    retn 00008h                               ; c2 08 00
    3207 write_gfx_char_pl4_:                         ; 0xc1a39 LB 0xe6
     3163write_gfx_char_pl4_:                         ; 0xc1a30 LB 0xe6
    32083164    push si                                   ; 56
    32093165    push di                                   ; 57
     
    32123168    mov ah, bl                                ; 88 dc
    32133169    cmp byte [bp+00ah], 010h                  ; 80 7e 0a 10
    3214     je short 01a55h                           ; 74 0b
     3170    je short 01a4ch                           ; 74 0b
    32153171    cmp byte [bp+00ah], 00eh                  ; 80 7e 0a 0e
    3216     jne short 01a5ah                          ; 75 0a
     3172    jne short 01a51h                          ; 75 0a
    32173173    mov di, 05db2h                            ; bf b2 5d
    3218     jmp short 01a5dh                          ; eb 08
     3174    jmp short 01a54h                          ; eb 08
    32193175    mov di, 06bb2h                            ; bf b2 6b
    3220     jmp short 01a5dh                          ; eb 03
     3176    jmp short 01a54h                          ; eb 03
    32213177    mov di, 055b2h                            ; bf b2 55
    32223178    movzx si, cl                              ; 0f b6 f1
     
    32383194    out DX, ax                                ; ef
    32393195    test byte [bp-002h], 080h                 ; f6 46 fe 80
    3240     je short 01a98h                           ; 74 06
     3196    je short 01a8fh                           ; 74 06
    32413197    mov ax, 01803h                            ; b8 03 18
    32423198    out DX, ax                                ; ef
    3243     jmp short 01a9ch                          ; eb 04
     3199    jmp short 01a93h                          ; eb 04
    32443200    mov ax, strict word 00003h                ; b8 03 00
    32453201    out DX, ax                                ; ef
    32463202    xor ch, ch                                ; 30 ed
    32473203    cmp ch, byte [bp+00ah]                    ; 3a 6e 0a
    3248     jnc short 01b0ah                          ; 73 67
     3204    jnc short 01b01h                          ; 73 67
    32493205    movzx si, ch                              ; 0f b6 f5
    32503206    movzx ax, byte [bp+008h]                  ; 0f b6 46 08
     
    32523208    add si, word [bp-00ah]                    ; 03 76 f6
    32533209    mov byte [bp-004h], 000h                  ; c6 46 fc 00
    3254     jmp short 01ac9h                          ; eb 13
     3210    jmp short 01ac0h                          ; eb 13
    32553211    xor bx, bx                                ; 31 db
    32563212    mov dx, si                                ; 89 f2
    32573213    mov ax, 0a000h                            ; b8 00 a0
    3258     call 02f02h                               ; e8 42 14
     3214    call 02ef9h                               ; e8 42 14
    32593215    inc byte [bp-004h]                        ; fe 46 fc
    32603216    cmp byte [bp-004h], 008h                  ; 80 7e fc 08
    3261     jnc short 01b06h                          ; 73 3d
     3217    jnc short 01afdh                          ; 73 3d
    32623218    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    32633219    mov cl, al                                ; 88 c1
     
    32723228    mov dx, si                                ; 89 f2
    32733229    mov ax, 0a000h                            ; b8 00 a0
    3274     call 02ef4h                               ; e8 0a 14
     3230    call 02eebh                               ; e8 0a 14
    32753231    movzx ax, ch                              ; 0f b6 c5
    32763232    add ax, word [bp-006h]                    ; 03 46 fa
     
    32793235    movzx ax, byte [bx]                       ; 0f b6 07
    32803236    test word [bp-008h], ax                   ; 85 46 f8
    3281     je short 01ab6h                           ; 74 ba
     3237    je short 01aadh                           ; 74 ba
    32823238    mov al, byte [bp-002h]                    ; 8a 46 fe
    32833239    and AL, strict byte 00fh                  ; 24 0f
    32843240    movzx bx, al                              ; 0f b6 d8
    3285     jmp short 01ab8h                          ; eb b2
     3241    jmp short 01aafh                          ; eb b2
    32863242    db  0feh, 0c5h
    32873243    ; inc ch                                    ; fe c5
    3288     jmp short 01a9eh                          ; eb 94
     3244    jmp short 01a95h                          ; eb 94
    32893245    mov ax, 0ff08h                            ; b8 08 ff
    32903246    mov dx, 003ceh                            ; ba ce 03
     
    32983254    pop si                                    ; 5e
    32993255    retn 00004h                               ; c2 04 00
    3300 write_gfx_char_cga_:                         ; 0xc1b1f LB 0x119
     3256write_gfx_char_cga_:                         ; 0xc1b16 LB 0x119
    33013257    push si                                   ; 56
    33023258    push di                                   ; 57
     
    33143270    sal di, 003h                              ; c1 e7 03
    33153271    mov byte [bp-002h], 000h                  ; c6 46 fe 00
    3316     jmp near 01b9dh                           ; e9 50 00
     3272    jmp near 01b94h                           ; e9 50 00
    33173273    xor al, al                                ; 30 c0
    33183274    xor ah, ah                                ; 30 e4
    3319     jmp short 01b5eh                          ; eb 0b
     3275    jmp short 01b55h                          ; eb 0b
    33203276    or al, bl                                 ; 08 d8
    33213277    shr ch, 1                                 ; d0 ed
     
    33233279    ; inc ah                                    ; fe c4
    33243280    cmp ah, 008h                              ; 80 fc 08
    3325     jnc short 01b86h                          ; 73 28
     3281    jnc short 01b7dh                          ; 73 28
    33263282    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
    33273283    add bx, di                                ; 01 fb
     
    33303286    movzx dx, ch                              ; 0f b6 d5
    33313287    test bx, dx                               ; 85 d3
    3332     je short 01b55h                           ; 74 e5
     3288    je short 01b4ch                           ; 74 e5
    33333289    mov CL, strict byte 007h                  ; b1 07
    33343290    sub cl, ah                                ; 28 e1
     
    33373293    sal bl, CL                                ; d2 e3
    33383294    test byte [bp-004h], 080h                 ; f6 46 fc 80
    3339     je short 01b53h                           ; 74 d1
     3295    je short 01b4ah                           ; 74 d1
    33403296    xor al, bl                                ; 30 d8
    3341     jmp short 01b55h                          ; eb cf
     3297    jmp short 01b4ch                          ; eb cf
    33423298    movzx bx, al                              ; 0f b6 d8
    33433299    mov dx, word [bp-006h]                    ; 8b 56 fa
    33443300    mov ax, 0b800h                            ; b8 00 b8
    3345     call 02f02h                               ; e8 70 13
     3301    call 02ef9h                               ; e8 70 13
    33463302    inc byte [bp-002h]                        ; fe 46 fe
    33473303    cmp byte [bp-002h], 008h                  ; 80 7e fe 08
    3348     jnc near 01c32h                           ; 0f 83 95 00
     3304    jnc near 01c29h                           ; 0f 83 95 00
    33493305    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    33503306    sar ax, 1                                 ; d1 f8
     
    33543310    mov word [bp-006h], bx                    ; 89 5e fa
    33553311    test byte [bp-002h], 001h                 ; f6 46 fe 01
    3356     je short 01bb8h                           ; 74 04
     3312    je short 01bafh                           ; 74 04
    33573313    add byte [bp-005h], 020h                  ; 80 46 fb 20
    33583314    mov CH, strict byte 080h                  ; b5 80
    33593315    cmp byte [bp+00ah], 001h                  ; 80 7e 0a 01
    3360     jne short 01bd1h                          ; 75 11
     3316    jne short 01bc8h                          ; 75 11
    33613317    test byte [bp-004h], ch                   ; 84 6e fc
    3362     je short 01b4dh                           ; 74 88
     3318    je short 01b44h                           ; 74 88
    33633319    mov dx, word [bp-006h]                    ; 8b 56 fa
    33643320    mov ax, 0b800h                            ; b8 00 b8
    3365     call 02ef4h                               ; e8 26 13
    3366     jmp near 01b4fh                           ; e9 7e ff
     3321    call 02eebh                               ; e8 26 13
     3322    jmp near 01b46h                           ; e9 7e ff
    33673323    test ch, ch                               ; 84 ed
    3368     jbe short 01b92h                          ; 76 bd
     3324    jbe short 01b89h                          ; 76 bd
    33693325    test byte [bp-004h], 080h                 ; f6 46 fc 80
    3370     je short 01be6h                           ; 74 0b
     3326    je short 01bddh                           ; 74 0b
    33713327    mov dx, word [bp-006h]                    ; 8b 56 fa
    33723328    mov ax, 0b800h                            ; b8 00 b8
    3373     call 02ef4h                               ; e8 10 13
    3374     jmp short 01be8h                          ; eb 02
     3329    call 02eebh                               ; e8 10 13
     3330    jmp short 01bdfh                          ; eb 02
    33753331    xor al, al                                ; 30 c0
    33763332    xor ah, ah                                ; 30 e4
    3377     jmp short 01bf7h                          ; eb 0b
     3333    jmp short 01beeh                          ; eb 0b
    33783334    or al, bl                                 ; 08 d8
    33793335    shr ch, 1                                 ; d0 ed
     
    33813337    ; inc ah                                    ; fe c4
    33823338    cmp ah, 004h                              ; 80 fc 04
    3383     jnc short 01c21h                          ; 73 2a
     3339    jnc short 01c18h                          ; 73 2a
    33843340    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
    33853341    add bx, di                                ; 01 fb
     
    33883344    movzx bx, ch                              ; 0f b6 dd
    33893345    test bx, dx                               ; 85 d3
    3390     je short 01beeh                           ; 74 e5
     3346    je short 01be5h                           ; 74 e5
    33913347    mov CL, strict byte 003h                  ; b1 03
    33923348    sub cl, ah                                ; 28 e1
     
    33963352    sal bl, CL                                ; d2 e3
    33973353    test byte [bp-004h], 080h                 ; f6 46 fc 80
    3398     je short 01bech                           ; 74 cf
     3354    je short 01be3h                           ; 74 cf
    33993355    xor al, bl                                ; 30 d8
    3400     jmp short 01beeh                          ; eb cd
     3356    jmp short 01be5h                          ; eb cd
    34013357    movzx bx, al                              ; 0f b6 d8
    34023358    mov dx, word [bp-006h]                    ; 8b 56 fa
    34033359    mov ax, 0b800h                            ; b8 00 b8
    3404     call 02f02h                               ; e8 d5 12
     3360    call 02ef9h                               ; e8 d5 12
    34053361    inc word [bp-006h]                        ; ff 46 fa
    3406     jmp short 01bd1h                          ; eb 9f
     3362    jmp short 01bc8h                          ; eb 9f
    34073363    leave                                     ; c9
    34083364    pop di                                    ; 5f
    34093365    pop si                                    ; 5e
    34103366    retn 00004h                               ; c2 04 00
    3411 write_gfx_char_lin_:                         ; 0xc1c38 LB 0x8c
     3367write_gfx_char_lin_:                         ; 0xc1c2f LB 0x8c
    34123368    push si                                   ; 56
    34133369    push di                                   ; 57
     
    34263382    sal si, 003h                              ; c1 e6 03
    34273383    xor cl, cl                                ; 30 c9
    3428     jmp short 01ca1h                          ; eb 3b
     3384    jmp short 01c98h                          ; eb 3b
    34293385    cmp ch, 008h                              ; 80 fd 08
    3430     jnc short 01c9ah                          ; 73 2f
     3386    jnc short 01c91h                          ; 73 2f
    34313387    xor al, al                                ; 30 c0
    34323388    movzx dx, cl                              ; 0f b6 d1
     
    34373393    movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
    34383394    test dx, bx                               ; 85 da
    3439     je short 01c84h                           ; 74 03
     3395    je short 01c7bh                           ; 74 03
    34403396    mov al, byte [bp-002h]                    ; 8a 46 fe
    34413397    movzx bx, al                              ; 0f b6 d8
     
    34433399    add dx, word [bp-006h]                    ; 03 56 fa
    34443400    mov ax, 0a000h                            ; b8 00 a0
    3445     call 02f02h                               ; e8 6f 12
     3401    call 02ef9h                               ; e8 6f 12
    34463402    shr byte [bp-004h], 1                     ; d0 6e fc
    34473403    db  0feh, 0c5h
    34483404    ; inc ch                                    ; fe c5
    3449     jmp short 01c66h                          ; eb cc
     3405    jmp short 01c5dh                          ; eb cc
    34503406    db  0feh, 0c1h
    34513407    ; inc cl                                    ; fe c1
    34523408    cmp cl, 008h                              ; 80 f9 08
    3453     jnc short 01cbeh                          ; 73 1d
     3409    jnc short 01cb5h                          ; 73 1d
    34543410    movzx bx, cl                              ; 0f b6 d9
    34553411    movzx dx, byte [bp+008h]                  ; 0f b6 56 08
     
    34613417    mov byte [bp-004h], 080h                  ; c6 46 fc 80
    34623418    xor ch, ch                                ; 30 ed
    3463     jmp short 01c6bh                          ; eb ad
     3419    jmp short 01c62h                          ; eb ad
    34643420    leave                                     ; c9
    34653421    pop di                                    ; 5f
    34663422    pop si                                    ; 5e
    34673423    retn 00002h                               ; c2 02 00
    3468 biosfn_write_char_attr_:                     ; 0xc1cc4 LB 0x163
     3424biosfn_write_char_attr_:                     ; 0xc1cbb LB 0x163
    34693425    push si                                   ; 56
    34703426    push di                                   ; 57
     
    34763432    mov dx, strict word 00049h                ; ba 49 00
    34773433    mov ax, strict word 00040h                ; b8 40 00
    3478     call 02ef4h                               ; e8 16 12
     3434    call 02eebh                               ; e8 16 12
    34793435    xor ah, ah                                ; 30 e4
    3480     call 02ecdh                               ; e8 ea 11
     3436    call 02ec4h                               ; e8 ea 11
    34813437    mov cl, al                                ; 88 c1
    34823438    mov byte [bp-002h], al                    ; 88 46 fe
    34833439    cmp AL, strict byte 0ffh                  ; 3c ff
    3484     je near 01e23h                            ; 0f 84 35 01
     3440    je near 01e1ah                            ; 0f 84 35 01
    34853441    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
    34863442    lea bx, [bp-018h]                         ; 8d 5e e8
    34873443    lea dx, [bp-016h]                         ; 8d 56 ea
    3488     call 00a8ch                               ; e8 91 ed
     3444    call 00a83h                               ; e8 91 ed
    34893445    mov al, byte [bp-018h]                    ; 8a 46 e8
    34903446    mov byte [bp-008h], al                    ; 88 46 f8
     
    34953451    mov dx, 00084h                            ; ba 84 00
    34963452    mov ax, strict word 00040h                ; b8 40 00
    3497     call 02ef4h                               ; e8 df 11
     3453    call 02eebh                               ; e8 df 11
    34983454    xor ah, ah                                ; 30 e4
    34993455    inc ax                                    ; 40
     
    35013457    mov dx, strict word 0004ah                ; ba 4a 00
    35023458    mov ax, strict word 00040h                ; b8 40 00
    3503     call 02f10h                               ; e8 ec 11
     3459    call 02f07h                               ; e8 ec 11
    35043460    mov word [bp-012h], ax                    ; 89 46 ee
    35053461    movzx bx, cl                              ; 0f b6 d9
     
    35073463    sal di, 003h                              ; c1 e7 03
    35083464    cmp byte [di+04833h], 000h                ; 80 bd 33 48 00
    3509     jne short 01d7dh                          ; 75 47
     3465    jne short 01d74h                          ; 75 47
    35103466    mov bx, word [bp-014h]                    ; 8b 5e ec
    35113467    imul bx, ax                               ; 0f af d8
     
    35313487    mov di, dx                                ; 89 d7
    35323488    cld                                       ; fc
    3533     jcxz 01d7ah                               ; e3 02
     3489    jcxz 01d71h                               ; e3 02
    35343490    rep stosw                                 ; f3 ab
    3535     jmp near 01e23h                           ; e9 a6 00
     3491    jmp near 01e1ah                           ; e9 a6 00
    35363492    movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
    35373493    sal bx, 006h                              ; c1 e3 06
     
    35423498    dec si                                    ; 4e
    35433499    cmp si, strict byte 0ffffh                ; 83 fe ff
    3544     je near 01e23h                            ; 0f 84 88 00
     3500    je near 01e1ah                            ; 0f 84 88 00
    35453501    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    35463502    cmp ax, word [bp-012h]                    ; 3b 46 ee
    3547     jnc near 01e23h                           ; 0f 83 7d 00
     3503    jnc near 01e1ah                           ; 0f 83 7d 00
    35483504    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
    35493505    sal bx, 003h                              ; c1 e3 03
    35503506    mov al, byte [bx+04834h]                  ; 8a 87 34 48
    35513507    cmp AL, strict byte 003h                  ; 3c 03
    3552     jc short 01dc1h                           ; 72 0c
    3553     jbe short 01dc7h                          ; 76 10
     3508    jc short 01db8h                           ; 72 0c
     3509    jbe short 01dbeh                          ; 76 10
    35543510    cmp AL, strict byte 005h                  ; 3c 05
    3555     je short 01e05h                           ; 74 4a
     3511    je short 01dfch                           ; 74 4a
    35563512    cmp AL, strict byte 004h                  ; 3c 04
    3557     je short 01dc7h                           ; 74 08
    3558     jmp short 01e1dh                          ; eb 5c
     3513    je short 01dbeh                           ; 74 08
     3514    jmp short 01e14h                          ; eb 5c
    35593515    cmp AL, strict byte 002h                  ; 3c 02
    3560     je short 01de6h                           ; 74 21
    3561     jmp short 01e1dh                          ; eb 56
     3516    je short 01dddh                           ; 74 21
     3517    jmp short 01e14h                          ; eb 56
    35623518    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    35633519    push ax                                   ; 50
     
    35683524    movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
    35693525    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    3570     call 01a39h                               ; e8 55 fc
    3571     jmp short 01e1dh                          ; eb 37
     3526    call 01a30h                               ; e8 55 fc
     3527    jmp short 01e14h                          ; eb 37
    35723528    movzx ax, byte [bp-010h]                  ; 0f b6 46 f0
    35733529    push ax                                   ; 50
     
    35783534    movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
    35793535    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    3580     call 01b1fh                               ; e8 1c fd
    3581     jmp short 01e1dh                          ; eb 18
     3536    call 01b16h                               ; e8 1c fd
     3537    jmp short 01e14h                          ; eb 18
    35823538    movzx ax, byte [bp-012h]                  ; 0f b6 46 ee
    35833539    push ax                                   ; 50
     
    35863542    movzx dx, byte [bp-00eh]                  ; 0f b6 56 f2
    35873543    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    3588     call 01c38h                               ; e8 1b fe
     3544    call 01c2fh                               ; e8 1b fe
    35893545    inc byte [bp-008h]                        ; fe 46 f8
    3590     jmp near 01d93h                           ; e9 70 ff
     3546    jmp near 01d8ah                           ; e9 70 ff
    35913547    leave                                     ; c9
    35923548    pop di                                    ; 5f
    35933549    pop si                                    ; 5e
    35943550    retn                                      ; c3
    3595 biosfn_write_char_only_:                     ; 0xc1e27 LB 0x16a
     3551biosfn_write_char_only_:                     ; 0xc1e1e LB 0x16a
    35963552    push si                                   ; 56
    35973553    push di                                   ; 57
     
    36033559    mov dx, strict word 00049h                ; ba 49 00
    36043560    mov ax, strict word 00040h                ; b8 40 00
    3605     call 02ef4h                               ; e8 b3 10
     3561    call 02eebh                               ; e8 b3 10
    36063562    xor ah, ah                                ; 30 e4
    3607     call 02ecdh                               ; e8 87 10
     3563    call 02ec4h                               ; e8 87 10
    36083564    mov cl, al                                ; 88 c1
    36093565    mov byte [bp-00ah], al                    ; 88 46 f6
    36103566    cmp AL, strict byte 0ffh                  ; 3c ff
    3611     je near 01f8dh                            ; 0f 84 3c 01
     3567    je near 01f84h                            ; 0f 84 3c 01
    36123568    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    36133569    lea bx, [bp-018h]                         ; 8d 5e e8
    36143570    lea dx, [bp-016h]                         ; 8d 56 ea
    3615     call 00a8ch                               ; e8 2e ec
     3571    call 00a83h                               ; e8 2e ec
    36163572    mov al, byte [bp-018h]                    ; 8a 46 e8
    36173573    mov byte [bp-008h], al                    ; 88 46 f8
     
    36223578    mov dx, 00084h                            ; ba 84 00
    36233579    mov ax, strict word 00040h                ; b8 40 00
    3624     call 02ef4h                               ; e8 7c 10
     3580    call 02eebh                               ; e8 7c 10
    36253581    xor ah, ah                                ; 30 e4
    36263582    inc ax                                    ; 40
     
    36283584    mov dx, strict word 0004ah                ; ba 4a 00
    36293585    mov ax, strict word 00040h                ; b8 40 00
    3630     call 02f10h                               ; e8 89 10
     3586    call 02f07h                               ; e8 89 10
    36313587    mov word [bp-012h], ax                    ; 89 46 ee
    36323588    movzx di, cl                              ; 0f b6 f9
     
    36343590    sal bx, 003h                              ; c1 e3 03
    36353591    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    3636     jne short 01ee3h                          ; 75 4a
     3592    jne short 01edah                          ; 75 4a
    36373593    mov dx, word [bp-014h]                    ; 8b 56 ec
    36383594    imul dx, ax                               ; 0f af d0
     
    36513607    dec si                                    ; 4e
    36523608    cmp si, strict byte 0ffffh                ; 83 fe ff
    3653     je near 01f8dh                            ; 0f 84 c6 00
     3609    je near 01f84h                            ; 0f 84 c6 00
    36543610    movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
    36553611    movzx bx, byte [bp-00ah]                  ; 0f b6 5e f6
     
    36593615    mov dx, cx                                ; 89 ca
    36603616    mov ax, di                                ; 89 f8
    3661     call 02f02h                               ; e8 23 10
    3662     inc cx                                    ; 41
    3663     inc cx                                    ; 41
    3664     jmp short 01ebfh                          ; eb dc
     3617    call 02ef9h                               ; e8 23 10
     3618    inc cx                                    ; 41
     3619    inc cx                                    ; 41
     3620    jmp short 01eb6h                          ; eb dc
    36653621    movzx di, byte [di+048b2h]                ; 0f b6 bd b2 48
    36663622    sal di, 006h                              ; c1 e7 06
     
    36713627    dec si                                    ; 4e
    36723628    cmp si, strict byte 0ffffh                ; 83 fe ff
    3673     je near 01f8dh                            ; 0f 84 8c 00
     3629    je near 01f84h                            ; 0f 84 8c 00
    36743630    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    36753631    cmp ax, word [bp-012h]                    ; 3b 46 ee
    3676     jnc near 01f8dh                           ; 0f 83 81 00
     3632    jnc near 01f84h                           ; 0f 83 81 00
    36773633    movzx bx, byte [bp-00ah]                  ; 0f b6 5e f6
    36783634    sal bx, 003h                              ; c1 e3 03
    36793635    mov bl, byte [bx+04834h]                  ; 8a 9f 34 48
    36803636    cmp bl, 003h                              ; 80 fb 03
    3681     jc short 01f2ah                           ; 72 0e
    3682     jbe short 01f31h                          ; 76 13
     3637    jc short 01f21h                           ; 72 0e
     3638    jbe short 01f28h                          ; 76 13
    36833639    cmp bl, 005h                              ; 80 fb 05
    3684     je short 01f6fh                           ; 74 4c
     3640    je short 01f66h                           ; 74 4c
    36853641    cmp bl, 004h                              ; 80 fb 04
    3686     je short 01f31h                           ; 74 09
    3687     jmp short 01f87h                          ; eb 5d
     3642    je short 01f28h                           ; 74 09
     3643    jmp short 01f7eh                          ; eb 5d
    36883644    cmp bl, 002h                              ; 80 fb 02
    3689     je short 01f50h                           ; 74 21
    3690     jmp short 01f87h                          ; eb 56
     3645    je short 01f47h                           ; 74 21
     3646    jmp short 01f7eh                          ; eb 56
    36913647    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    36923648    push ax                                   ; 50
     
    36973653    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    36983654    movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
    3699     call 01a39h                               ; e8 eb fa
    3700     jmp short 01f87h                          ; eb 37
     3655    call 01a30h                               ; e8 eb fa
     3656    jmp short 01f7eh                          ; eb 37
    37013657    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    37023658    push ax                                   ; 50
     
    37073663    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    37083664    movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
    3709     call 01b1fh                               ; e8 b2 fb
    3710     jmp short 01f87h                          ; eb 18
     3665    call 01b16h                               ; e8 b2 fb
     3666    jmp short 01f7eh                          ; eb 18
    37113667    movzx ax, byte [bp-012h]                  ; 0f b6 46 ee
    37123668    push ax                                   ; 50
     
    37153671    movzx dx, byte [bp-010h]                  ; 0f b6 56 f0
    37163672    movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2
    3717     call 01c38h                               ; e8 b1 fc
     3673    call 01c2fh                               ; e8 b1 fc
    37183674    inc byte [bp-008h]                        ; fe 46 f8
    3719     jmp near 01ef9h                           ; e9 6c ff
     3675    jmp near 01ef0h                           ; e9 6c ff
    37203676    leave                                     ; c9
    37213677    pop di                                    ; 5f
    37223678    pop si                                    ; 5e
    37233679    retn                                      ; c3
    3724 biosfn_write_pixel_:                         ; 0xc1f91 LB 0x168
     3680biosfn_write_pixel_:                         ; 0xc1f88 LB 0x168
    37253681    push si                                   ; 56
    37263682    enter 00008h, 000h                        ; c8 08 00 00
     
    37293685    mov dx, strict word 00049h                ; ba 49 00
    37303686    mov ax, strict word 00040h                ; b8 40 00
    3731     call 02ef4h                               ; e8 4f 0f
     3687    call 02eebh                               ; e8 4f 0f
    37323688    xor ah, ah                                ; 30 e4
    3733     call 02ecdh                               ; e8 23 0f
     3689    call 02ec4h                               ; e8 23 0f
    37343690    mov byte [bp-002h], al                    ; 88 46 fe
    37353691    cmp AL, strict byte 0ffh                  ; 3c ff
    3736     je near 020f6h                            ; 0f 84 43 01
     3692    je near 020edh                            ; 0f 84 43 01
    37373693    movzx bx, al                              ; 0f b6 d8
    37383694    sal bx, 003h                              ; c1 e3 03
    37393695    cmp byte [bx+04833h], 000h                ; 80 bf 33 48 00
    3740     je near 020f6h                            ; 0f 84 34 01
     3696    je near 020edh                            ; 0f 84 34 01
    37413697    mov al, byte [bx+04834h]                  ; 8a 87 34 48
    37423698    cmp AL, strict byte 003h                  ; 3c 03
    3743     jc short 01fd9h                           ; 72 0f
    3744     jbe short 01fe0h                          ; 76 14
     3699    jc short 01fd0h                           ; 72 0f
     3700    jbe short 01fd7h                          ; 76 14
    37453701    cmp AL, strict byte 005h                  ; 3c 05
    3746     je near 020d4h                            ; 0f 84 02 01
     3702    je near 020cbh                            ; 0f 84 02 01
    37473703    cmp AL, strict byte 004h                  ; 3c 04
    3748     je short 01fe0h                           ; 74 0a
     3704    je short 01fd7h                           ; 74 0a
    37493705    leave                                     ; c9
    37503706    pop si                                    ; 5e
    37513707    retn                                      ; c3
    37523708    cmp AL, strict byte 002h                  ; 3c 02
    3753     je short 02045h                           ; 74 68
     3709    je short 0203ch                           ; 74 68
    37543710    leave                                     ; c9
    37553711    pop si                                    ; 5e
     
    37573713    mov dx, strict word 0004ah                ; ba 4a 00
    37583714    mov ax, strict word 00040h                ; b8 40 00
    3759     call 02f10h                               ; e8 27 0f
     3715    call 02f07h                               ; e8 27 0f
    37603716    imul ax, cx                               ; 0f af c1
    37613717    mov bx, word [bp-008h]                    ; 8b 5e f8
     
    37763732    mov dx, bx                                ; 89 da
    37773733    mov ax, 0a000h                            ; b8 00 a0
    3778     call 02ef4h                               ; e8 db 0e
     3734    call 02eebh                               ; e8 db 0e
    37793735    test byte [bp-004h], 080h                 ; f6 46 fc 80
    3780     je short 02026h                           ; 74 07
     3736    je short 0201dh                           ; 74 07
    37813737    mov ax, 01803h                            ; b8 03 18
    37823738    mov dx, 003ceh                            ; ba ce 03
     
    37853741    mov dx, word [bp-006h]                    ; 8b 56 fa
    37863742    mov ax, 0a000h                            ; b8 00 a0
    3787     call 02f02h                               ; e8 cf 0e
     3743    call 02ef9h                               ; e8 cf 0e
    37883744    mov ax, 0ff08h                            ; b8 08 ff
    37893745    mov dx, 003ceh                            ; ba ce 03
     
    38003756    imul ax, ax, strict byte 00050h           ; 6b c0 50
    38013757    cmp byte [bx+04835h], 002h                ; 80 bf 35 48 02
    3802     jne short 0205bh                          ; 75 08
     3758    jne short 02052h                          ; 75 08
    38033759    mov bx, word [bp-008h]                    ; 8b 5e f8
    38043760    shr bx, 002h                              ; c1 eb 02
    3805     jmp short 02061h                          ; eb 06
     3761    jmp short 02058h                          ; eb 06
    38063762    mov bx, word [bp-008h]                    ; 8b 5e f8
    38073763    shr bx, 003h                              ; c1 eb 03
     
    38093765    mov word [bp-006h], bx                    ; 89 5e fa
    38103766    test cl, 001h                             ; f6 c1 01
    3811     je short 0206fh                           ; 74 04
     3767    je short 02066h                           ; 74 04
    38123768    add byte [bp-005h], 020h                  ; 80 46 fb 20
    38133769    mov dx, word [bp-006h]                    ; 8b 56 fa
    38143770    mov ax, 0b800h                            ; b8 00 b8
    3815     call 02ef4h                               ; e8 7c 0e
     3771    call 02eebh                               ; e8 7c 0e
    38163772    mov bl, al                                ; 88 c3
    38173773    movzx si, byte [bp-002h]                  ; 0f b6 76 fe
    38183774    sal si, 003h                              ; c1 e6 03
    38193775    cmp byte [si+04835h], 002h                ; 80 bc 35 48 02
    3820     jne short 020a1h                          ; 75 19
     3776    jne short 02098h                          ; 75 19
    38213777    mov al, byte [bp-008h]                    ; 8a 46 f8
    38223778    and AL, strict byte 003h                  ; 24 03
     
    38293785    sal bh, CL                                ; d2 e7
    38303786    mov AL, strict byte 003h                  ; b0 03
    3831     jmp short 020b4h                          ; eb 13
     3787    jmp short 020abh                          ; eb 13
    38323788    mov al, byte [bp-008h]                    ; 8a 46 f8
    38333789    and AL, strict byte 007h                  ; 24 07
     
    38403796    sal al, CL                                ; d2 e0
    38413797    test byte [bp-004h], 080h                 ; f6 46 fc 80
    3842     je short 020c0h                           ; 74 04
     3798    je short 020b7h                           ; 74 04
    38433799    xor bl, bh                                ; 30 fb
    3844     jmp short 020c6h                          ; eb 06
     3800    jmp short 020bdh                          ; eb 06
    38453801    not al                                    ; f6 d0
    38463802    and bl, al                                ; 20 c3
     
    38493805    mov dx, word [bp-006h]                    ; 8b 56 fa
    38503806    mov ax, 0b800h                            ; b8 00 b8
    3851     call 02f02h                               ; e8 31 0e
     3807    call 02ef9h                               ; e8 31 0e
    38523808    leave                                     ; c9
    38533809    pop si                                    ; 5e
     
    38553811    mov dx, strict word 0004ah                ; ba 4a 00
    38563812    mov ax, strict word 00040h                ; b8 40 00
    3857     call 02f10h                               ; e8 33 0e
     3813    call 02f07h                               ; e8 33 0e
    38583814    sal ax, 003h                              ; c1 e0 03
    38593815    imul cx, ax                               ; 0f af c8
     
    38643820    mov dx, ax                                ; 89 c2
    38653821    mov ax, 0a000h                            ; b8 00 a0
    3866     jmp short 020ceh                          ; eb d8
     3822    jmp short 020c5h                          ; eb d8
    38673823    leave                                     ; c9
    38683824    pop si                                    ; 5e
    38693825    retn                                      ; c3
    3870 biosfn_write_teletype_:                      ; 0xc20f9 LB 0x27f
     3826biosfn_write_teletype_:                      ; 0xc20f0 LB 0x27f
    38713827    push si                                   ; 56
    38723828    enter 00016h, 000h                        ; c8 16 00 00
     
    38763832    mov byte [bp-00eh], cl                    ; 88 4e f2
    38773833    cmp dl, 0ffh                              ; 80 fa ff
    3878     jne short 0211bh                          ; 75 0c
     3834    jne short 02112h                          ; 75 0c
    38793835    mov dx, strict word 00062h                ; ba 62 00
    38803836    mov ax, strict word 00040h                ; b8 40 00
    3881     call 02ef4h                               ; e8 dc 0d
     3837    call 02eebh                               ; e8 dc 0d
    38823838    mov byte [bp-002h], al                    ; 88 46 fe
    38833839    mov dx, strict word 00049h                ; ba 49 00
    38843840    mov ax, strict word 00040h                ; b8 40 00
    3885     call 02ef4h                               ; e8 d0 0d
     3841    call 02eebh                               ; e8 d0 0d
    38863842    xor ah, ah                                ; 30 e4
    3887     call 02ecdh                               ; e8 a4 0d
     3843    call 02ec4h                               ; e8 a4 0d
    38883844    mov byte [bp-00ch], al                    ; 88 46 f4
    38893845    cmp AL, strict byte 0ffh                  ; 3c ff
    3890     je near 02375h                            ; 0f 84 43 02
     3846    je near 0236ch                            ; 0f 84 43 02
    38913847    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    38923848    lea bx, [bp-016h]                         ; 8d 5e ea
    38933849    lea dx, [bp-014h]                         ; 8d 56 ec
    3894     call 00a8ch                               ; e8 4d e9
     3850    call 00a83h                               ; e8 4d e9
    38953851    mov al, byte [bp-016h]                    ; 8a 46 ea
    38963852    mov byte [bp-006h], al                    ; 88 46 fa
     
    39013857    mov dx, 00084h                            ; ba 84 00
    39023858    mov ax, strict word 00040h                ; b8 40 00
    3903     call 02ef4h                               ; e8 9b 0d
     3859    call 02eebh                               ; e8 9b 0d
    39043860    xor ah, ah                                ; 30 e4
    39053861    inc ax                                    ; 40
     
    39073863    mov dx, strict word 0004ah                ; ba 4a 00
    39083864    mov ax, strict word 00040h                ; b8 40 00
    3909     call 02f10h                               ; e8 a8 0d
     3865    call 02f07h                               ; e8 a8 0d
    39103866    mov word [bp-010h], ax                    ; 89 46 f0
    39113867    mov al, byte [bp-00ah]                    ; 8a 46 f6
    39123868    cmp AL, strict byte 009h                  ; 3c 09
    3913     jc short 0217eh                           ; 72 0c
    3914     jbe short 021a5h                          ; 76 31
     3869    jc short 02175h                           ; 72 0c
     3870    jbe short 0219ch                          ; 76 31
    39153871    cmp AL, strict byte 00dh                  ; 3c 0d
    3916     je short 02198h                           ; 74 20
     3872    je short 0218fh                           ; 74 20
    39173873    cmp AL, strict byte 00ah                  ; 3c 0a
    3918     je short 0219fh                           ; 74 23
    3919     jmp short 021e6h                          ; eb 68
     3874    je short 02196h                           ; 74 23
     3875    jmp short 021ddh                          ; eb 68
    39203876    cmp AL, strict byte 008h                  ; 3c 08
    3921     je short 0218ah                           ; 74 08
     3877    je short 02181h                           ; 74 08
    39223878    cmp AL, strict byte 007h                  ; 3c 07
    3923     je near 022c2h                            ; 0f 84 3a 01
    3924     jmp short 021e6h                          ; eb 5c
     3879    je near 022b9h                            ; 0f 84 3a 01
     3880    jmp short 021ddh                          ; eb 5c
    39253881    cmp byte [bp-006h], 000h                  ; 80 7e fa 00
    3926     jbe near 022c2h                           ; 0f 86 30 01
     3882    jbe near 022b9h                           ; 0f 86 30 01
    39273883    dec byte [bp-006h]                        ; fe 4e fa
    3928     jmp near 022c2h                           ; e9 2a 01
     3884    jmp near 022b9h                           ; e9 2a 01
    39293885    mov byte [bp-006h], 000h                  ; c6 46 fa 00
    3930     jmp near 022c2h                           ; e9 23 01
     3886    jmp near 022b9h                           ; e9 23 01
    39313887    inc byte [bp-008h]                        ; fe 46 f8
    3932     jmp near 022c2h                           ; e9 1d 01
     3888    jmp near 022b9h                           ; e9 1d 01
    39333889    movzx cx, byte [bp-00eh]                  ; 0f b6 4e f2
    39343890    movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
     
    39363892    mov dx, si                                ; 89 f2
    39373893    mov ax, strict word 00020h                ; b8 20 00
    3938     call 020f9h                               ; e8 40 ff
     3894    call 020f0h                               ; e8 40 ff
    39393895    lea bx, [bp-016h]                         ; 8d 5e ea
    39403896    lea dx, [bp-014h]                         ; 8d 56 ec
    39413897    mov ax, si                                ; 89 f0
    3942     call 00a8ch                               ; e8 c8 e8
     3898    call 00a83h                               ; e8 c8 e8
    39433899    mov al, byte [bp-016h]                    ; 8a 46 ea
    39443900    mov byte [bp-006h], al                    ; 88 46 fa
     
    39523908    idiv bx                                   ; f7 fb
    39533909    test dx, dx                               ; 85 d2
    3954     je short 021a5h                           ; 74 c2
    3955     jmp near 022c2h                           ; e9 dc 00
     3910    je short 0219ch                           ; 74 c2
     3911    jmp near 022b9h                           ; e9 dc 00
    39563912    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
    39573913    mov si, bx                                ; 89 de
    39583914    sal si, 003h                              ; c1 e6 03
    39593915    cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
    3960     jne short 02241h                          ; 75 4b
     3916    jne short 02238h                          ; 75 4b
    39613917    mov ax, word [bp-010h]                    ; 8b 46 f0
    39623918    imul ax, word [bp-012h]                   ; 0f af 46 ee
     
    39753931    mov ax, word [si+04836h]                  ; 8b 84 36 48
    39763932    mov dx, cx                                ; 89 ca
    3977     call 02f02h                               ; e8 da 0c
     3933    call 02ef9h                               ; e8 da 0c
    39783934    cmp byte [bp-00eh], 003h                  ; 80 7e f2 03
    3979     jne near 022bfh                           ; 0f 85 8f 00
     3935    jne near 022b6h                           ; 0f 85 8f 00
    39803936    movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
    39813937    mov dx, cx                                ; 89 ca
    39823938    inc dx                                    ; 42
    39833939    mov ax, word [si+04836h]                  ; 8b 84 36 48
    3984     call 02f02h                               ; e8 c4 0c
    3985     jmp near 022bfh                           ; e9 7e 00
     3940    call 02ef9h                               ; e8 c4 0c
     3941    jmp near 022b6h                           ; e9 7e 00
    39863942    movzx bx, byte [bx+048b2h]                ; 0f b6 9f b2 48
    39873943    sal bx, 006h                              ; c1 e3 06
     
    39903946    mov al, byte [si+04834h]                  ; 8a 84 34 48
    39913947    cmp AL, strict byte 003h                  ; 3c 03
    3992     jc short 02265h                           ; 72 0c
    3993     jbe short 0226bh                          ; 76 10
     3948    jc short 0225ch                           ; 72 0c
     3949    jbe short 02262h                          ; 76 10
    39943950    cmp AL, strict byte 005h                  ; 3c 05
    3995     je short 022a7h                           ; 74 48
     3951    je short 0229eh                           ; 74 48
    39963952    cmp AL, strict byte 004h                  ; 3c 04
    3997     je short 0226bh                           ; 74 08
    3998     jmp short 022bfh                          ; eb 5a
     3953    je short 02262h                           ; 74 08
     3954    jmp short 022b6h                          ; eb 5a
    39993955    cmp AL, strict byte 002h                  ; 3c 02
    4000     je short 02289h                           ; 74 20
    4001     jmp short 022bfh                          ; eb 54
     3956    je short 02280h                           ; 74 20
     3957    jmp short 022b6h                          ; eb 54
    40023958    movzx ax, ah                              ; 0f b6 c4
    40033959    push ax                                   ; 50
     
    40083964    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
    40093965    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    4010     call 01a39h                               ; e8 b2 f7
    4011     jmp short 022bfh                          ; eb 36
     3966    call 01a30h                               ; e8 b2 f7
     3967    jmp short 022b6h                          ; eb 36
    40123968    movzx ax, dl                              ; 0f b6 c2
    40133969    push ax                                   ; 50
     
    40183974    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
    40193975    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    4020     call 01b1fh                               ; e8 7a f8
    4021     jmp short 022bfh                          ; eb 18
     3976    call 01b16h                               ; e8 7a f8
     3977    jmp short 022b6h                          ; eb 18
    40223978    movzx ax, byte [bp-010h]                  ; 0f b6 46 f0
    40233979    push ax                                   ; 50
     
    40263982    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc
    40273983    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    4028     call 01c38h                               ; e8 79 f9
     3984    call 01c2fh                               ; e8 79 f9
    40293985    inc byte [bp-006h]                        ; fe 46 fa
    40303986    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    40313987    cmp ax, word [bp-010h]                    ; 3b 46 f0
    4032     jne short 022d2h                          ; 75 07
     3988    jne short 022c9h                          ; 75 07
    40333989    mov byte [bp-006h], 000h                  ; c6 46 fa 00
    40343990    inc byte [bp-008h]                        ; fe 46 f8
    40353991    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
    40363992    cmp ax, word [bp-012h]                    ; 3b 46 ee
    4037     jne near 02359h                           ; 0f 85 7c 00
     3993    jne near 02350h                           ; 0f 85 7c 00
    40383994    movzx si, byte [bp-00ch]                  ; 0f b6 76 f4
    40393995    sal si, 003h                              ; c1 e6 03
     
    40454001    ; dec bh                                    ; fe cf
    40464002    cmp byte [si+04833h], 000h                ; 80 bc 33 48 00
    4047     jne short 0233bh                          ; 75 46
     4003    jne short 02332h                          ; 75 46
    40484004    mov ax, word [bp-010h]                    ; 8b 46 f0
    40494005    imul ax, word [bp-012h]                   ; 0f af 46 ee
     
    40624018    inc dx                                    ; 42
    40634019    mov ax, word [si+04836h]                  ; 8b 84 36 48
    4064     call 02ef4h                               ; e8 d1 0b
     4020    call 02eebh                               ; e8 d1 0b
    40654021    push strict byte 00001h                   ; 6a 01
    40664022    movzx dx, byte [bp-002h]                  ; 0f b6 56 fe
     
    40734029    xor cx, cx                                ; 31 c9
    40744030    xor bx, bx                                ; 31 db
    4075     jmp short 02350h                          ; eb 15
     4031    jmp short 02347h                          ; eb 15
    40764032    push strict byte 00001h                   ; 6a 01
    40774033    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
     
    40854041    xor dx, dx                                ; 31 d2
    40864042    mov ax, strict word 00001h                ; b8 01 00
    4087     call 01538h                               ; e8 e2 f1
     4043    call 0152fh                               ; e8 e2 f1
    40884044    dec byte [bp-008h]                        ; fe 4e f8
    40894045    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8
     
    40944050    mov dx, word [bp-016h]                    ; 8b 56 ea
    40954051    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    4096     call 00e4bh                               ; e8 d6 ea
     4052    call 00e42h                               ; e8 d6 ea
    40974053    leave                                     ; c9
    40984054    pop si                                    ; 5e
    40994055    retn                                      ; c3
    4100 get_font_access_:                            ; 0xc2378 LB 0x29
     4056get_font_access_:                            ; 0xc236f LB 0x29
    41014057    push dx                                   ; 52
    41024058    push bp                                   ; 55
     
    41214077    pop dx                                    ; 5a
    41224078    retn                                      ; c3
    4123 release_font_access_:                        ; 0xc23a1 LB 0x39
     4079release_font_access_:                        ; 0xc2398 LB 0x39
    41244080    push dx                                   ; 52
    41254081    push bp                                   ; 55
     
    41524108    pop dx                                    ; 5a
    41534109    retn                                      ; c3
    4154 set_scan_lines_:                             ; 0xc23da LB 0xbc
     4110set_scan_lines_:                             ; 0xc23d1 LB 0xbc
    41554111    push bx                                   ; 53
    41564112    push cx                                   ; 51
     
    41634119    mov dx, strict word 00063h                ; ba 63 00
    41644120    mov ax, strict word 00040h                ; b8 40 00
    4165     call 02f10h                               ; e8 23 0b
     4121    call 02f07h                               ; e8 23 0b
    41664122    mov dx, ax                                ; 89 c2
    41674123    mov si, ax                                ; 89 c6
     
    41804136    out DX, AL                                ; ee
    41814137    cmp bl, 008h                              ; 80 fb 08
    4182     jne short 02411h                          ; 75 08
     4138    jne short 02408h                          ; 75 08
    41834139    mov dx, strict word 00007h                ; ba 07 00
    41844140    mov ax, strict word 00006h                ; b8 06 00
    4185     jmp short 0241eh                          ; eb 0d
     4141    jmp short 02415h                          ; eb 0d
    41864142    mov al, bl                                ; 88 d8
    41874143    sub AL, strict byte 003h                  ; 2c 03
     
    41904146    sub AL, strict byte 004h                  ; 2c 04
    41914147    xor ah, ah                                ; 30 e4
    4192     call 00daah                               ; e8 89 e9
     4148    call 00da1h                               ; e8 89 e9
    41934149    movzx di, bl                              ; 0f b6 fb
    41944150    mov bx, di                                ; 89 fb
    41954151    mov dx, 00085h                            ; ba 85 00
    41964152    mov ax, strict word 00040h                ; b8 40 00
    4197     call 02f1eh                               ; e8 ef 0a
     4153    call 02f15h                               ; e8 ef 0a
    41984154    mov AL, strict byte 012h                  ; b0 12
    41994155    mov dx, si                                ; 89 f2
     
    42304186    mov dx, 00084h                            ; ba 84 00
    42314187    mov ax, strict word 00040h                ; b8 40 00
    4232     call 02f02h                               ; e8 8f 0a
     4188    call 02ef9h                               ; e8 8f 0a
    42334189    mov dx, strict word 0004ah                ; ba 4a 00
    42344190    mov ax, strict word 00040h                ; b8 40 00
    4235     call 02f10h                               ; e8 94 0a
     4191    call 02f07h                               ; e8 94 0a
    42364192    movzx dx, cl                              ; 0f b6 d1
    42374193    mov bx, ax                                ; 89 c3
     
    42404196    mov dx, strict word 0004ch                ; ba 4c 00
    42414197    mov ax, strict word 00040h                ; b8 40 00
    4242     call 02f1eh                               ; e8 8f 0a
     4198    call 02f15h                               ; e8 8f 0a
    42434199    pop bp                                    ; 5d
    42444200    pop di                                    ; 5f
     
    42484204    pop bx                                    ; 5b
    42494205    retn                                      ; c3
    4250 biosfn_load_text_user_pat_:                  ; 0xc2496 LB 0x78
     4206biosfn_load_text_user_pat_:                  ; 0xc248d LB 0x78
    42514207    push si                                   ; 56
    42524208    push di                                   ; 57
     
    42564212    mov word [bp-004h], bx                    ; 89 5e fc
    42574213    mov word [bp-006h], cx                    ; 89 4e fa
    4258     call 02378h                               ; e8 cd fe
     4214    call 0236fh                               ; e8 cd fe
    42594215    mov al, byte [bp+00ah]                    ; 8a 46 0a
    42604216    and AL, strict byte 003h                  ; 24 03
     
    42704226    xor bx, bx                                ; 31 db
    42714227    cmp bx, word [bp-006h]                    ; 3b 5e fa
    4272     jnc short 024f8h                          ; 73 2b
     4228    jnc short 024efh                          ; 73 2b
    42734229    movzx cx, byte [bp+00ch]                  ; 0f b6 4e 0c
    42744230    mov si, bx                                ; 89 de
     
    42834239    mov es, ax                                ; 8e c0
    42844240    cld                                       ; fc
    4285     jcxz 024f5h                               ; e3 06
     4241    jcxz 024ech                               ; e3 06
    42864242    push DS                                   ; 1e
    42874243    mov ds, dx                                ; 8e da
     
    42894245    pop DS                                    ; 1f
    42904246    inc bx                                    ; 43
    4291     jmp short 024c8h                          ; eb d0
    4292     call 023a1h                               ; e8 a6 fe
     4247    jmp short 024bfh                          ; eb d0
     4248    call 02398h                               ; e8 a6 fe
    42934249    cmp byte [bp-002h], 010h                  ; 80 7e fe 10
    4294     jc short 02508h                           ; 72 07
     4250    jc short 024ffh                           ; 72 07
    42954251    movzx ax, byte [bp+00ch]                  ; 0f b6 46 0c
    4296     call 023dah                               ; e8 d2 fe
     4252    call 023d1h                               ; e8 d2 fe
    42974253    leave                                     ; c9
    42984254    pop di                                    ; 5f
    42994255    pop si                                    ; 5e
    43004256    retn 00006h                               ; c2 06 00
    4301 biosfn_load_text_8_14_pat_:                  ; 0xc250e LB 0x6c
     4257biosfn_load_text_8_14_pat_:                  ; 0xc2505 LB 0x6c
    43024258    push bx                                   ; 53
    43034259    push cx                                   ; 51
     
    43064262    enter 00004h, 000h                        ; c8 04 00 00
    43074263    mov byte [bp-002h], al                    ; 88 46 fe
    4308     call 02378h                               ; e8 5c fe
     4264    call 0236fh                               ; e8 5c fe
    43094265    mov al, dl                                ; 88 d0
    43104266    and AL, strict byte 003h                  ; 24 03
     
    43194275    mov word [bp-004h], bx                    ; 89 5e fc
    43204276    xor bx, bx                                ; 31 db
    4321     jmp short 0253fh                          ; eb 06
     4277    jmp short 02536h                          ; eb 06
    43224278    cmp bx, 00100h                            ; 81 fb 00 01
    4323     jnc short 02565h                          ; 73 26
     4279    jnc short 0255ch                          ; 73 26
    43244280    imul si, bx, strict byte 0000eh           ; 6b f3 0e
    43254281    mov di, bx                                ; 89 df
     
    43324288    mov es, ax                                ; 8e c0
    43334289    cld                                       ; fc
    4334     jcxz 02562h                               ; e3 06
     4290    jcxz 02559h                               ; e3 06
    43354291    push DS                                   ; 1e
    43364292    mov ds, dx                                ; 8e da
     
    43384294    pop DS                                    ; 1f
    43394295    inc bx                                    ; 43
    4340     jmp short 02539h                          ; eb d4
    4341     call 023a1h                               ; e8 39 fe
     4296    jmp short 02530h                          ; eb d4
     4297    call 02398h                               ; e8 39 fe
    43424298    cmp byte [bp-002h], 010h                  ; 80 7e fe 10
    4343     jc short 02574h                           ; 72 06
     4299    jc short 0256bh                           ; 72 06
    43444300    mov ax, strict word 0000eh                ; b8 0e 00
    4345     call 023dah                               ; e8 66 fe
     4301    call 023d1h                               ; e8 66 fe
    43464302    leave                                     ; c9
    43474303    pop di                                    ; 5f
     
    43504306    pop bx                                    ; 5b
    43514307    retn                                      ; c3
    4352 biosfn_load_text_8_8_pat_:                   ; 0xc257a LB 0x6e
     4308biosfn_load_text_8_8_pat_:                   ; 0xc2571 LB 0x6e
    43534309    push bx                                   ; 53
    43544310    push cx                                   ; 51
     
    43574313    enter 00004h, 000h                        ; c8 04 00 00
    43584314    mov byte [bp-002h], al                    ; 88 46 fe
    4359     call 02378h                               ; e8 f0 fd
     4315    call 0236fh                               ; e8 f0 fd
    43604316    mov al, dl                                ; 88 d0
    43614317    and AL, strict byte 003h                  ; 24 03
     
    43704326    mov word [bp-004h], bx                    ; 89 5e fc
    43714327    xor bx, bx                                ; 31 db
    4372     jmp short 025abh                          ; eb 06
     4328    jmp short 025a2h                          ; eb 06
    43734329    cmp bx, 00100h                            ; 81 fb 00 01
    4374     jnc short 025d3h                          ; 73 28
     4330    jnc short 025cah                          ; 73 28
    43754331    mov si, bx                                ; 89 de
    43764332    sal si, 003h                              ; c1 e6 03
     
    43844340    mov es, ax                                ; 8e c0
    43854341    cld                                       ; fc
    4386     jcxz 025d0h                               ; e3 06
     4342    jcxz 025c7h                               ; e3 06
    43874343    push DS                                   ; 1e
    43884344    mov ds, dx                                ; 8e da
     
    43904346    pop DS                                    ; 1f
    43914347    inc bx                                    ; 43
    4392     jmp short 025a5h                          ; eb d2
    4393     call 023a1h                               ; e8 cb fd
     4348    jmp short 0259ch                          ; eb d2
     4349    call 02398h                               ; e8 cb fd
    43944350    cmp byte [bp-002h], 010h                  ; 80 7e fe 10
    4395     jc short 025e2h                           ; 72 06
     4351    jc short 025d9h                           ; 72 06
    43964352    mov ax, strict word 00008h                ; b8 08 00
    4397     call 023dah                               ; e8 f8 fd
     4353    call 023d1h                               ; e8 f8 fd
    43984354    leave                                     ; c9
    43994355    pop di                                    ; 5f
     
    44024358    pop bx                                    ; 5b
    44034359    retn                                      ; c3
    4404 biosfn_load_text_8_16_pat_:                  ; 0xc25e8 LB 0x6e
     4360biosfn_load_text_8_16_pat_:                  ; 0xc25df LB 0x6e
    44054361    push bx                                   ; 53
    44064362    push cx                                   ; 51
     
    44094365    enter 00004h, 000h                        ; c8 04 00 00
    44104366    mov byte [bp-002h], al                    ; 88 46 fe
    4411     call 02378h                               ; e8 82 fd
     4367    call 0236fh                               ; e8 82 fd
    44124368    mov al, dl                                ; 88 d0
    44134369    and AL, strict byte 003h                  ; 24 03
     
    44224378    mov word [bp-004h], bx                    ; 89 5e fc
    44234379    xor bx, bx                                ; 31 db
    4424     jmp short 02619h                          ; eb 06
     4380    jmp short 02610h                          ; eb 06
    44254381    cmp bx, 00100h                            ; 81 fb 00 01
    4426     jnc short 02641h                          ; 73 28
     4382    jnc short 02638h                          ; 73 28
    44274383    mov si, bx                                ; 89 de
    44284384    sal si, 004h                              ; c1 e6 04
     
    44364392    mov es, ax                                ; 8e c0
    44374393    cld                                       ; fc
    4438     jcxz 0263eh                               ; e3 06
     4394    jcxz 02635h                               ; e3 06
    44394395    push DS                                   ; 1e
    44404396    mov ds, dx                                ; 8e da
     
    44424398    pop DS                                    ; 1f
    44434399    inc bx                                    ; 43
    4444     jmp short 02613h                          ; eb d2
    4445     call 023a1h                               ; e8 5d fd
     4400    jmp short 0260ah                          ; eb d2
     4401    call 02398h                               ; e8 5d fd
    44464402    cmp byte [bp-002h], 010h                  ; 80 7e fe 10
    4447     jc short 02650h                           ; 72 06
     4403    jc short 02647h                           ; 72 06
    44484404    mov ax, strict word 00010h                ; b8 10 00
    4449     call 023dah                               ; e8 8a fd
     4405    call 023d1h                               ; e8 8a fd
    44504406    leave                                     ; c9
    44514407    pop di                                    ; 5f
     
    44544410    pop bx                                    ; 5b
    44554411    retn                                      ; c3
    4456 biosfn_load_gfx_8_8_chars_:                  ; 0xc2656 LB 0x5
     4412biosfn_load_gfx_8_8_chars_:                  ; 0xc264d LB 0x5
    44574413    push bp                                   ; 55
    44584414    mov bp, sp                                ; 89 e5
    44594415    pop bp                                    ; 5d
    44604416    retn                                      ; c3
    4461 biosfn_load_gfx_user_chars_:                 ; 0xc265b LB 0x7
     4417biosfn_load_gfx_user_chars_:                 ; 0xc2652 LB 0x7
    44624418    push bp                                   ; 55
    44634419    mov bp, sp                                ; 89 e5
    44644420    pop bp                                    ; 5d
    44654421    retn 00002h                               ; c2 02 00
    4466 biosfn_load_gfx_8_14_chars_:                 ; 0xc2662 LB 0x5
     4422biosfn_load_gfx_8_14_chars_:                 ; 0xc2659 LB 0x5
    44674423    push bp                                   ; 55
    44684424    mov bp, sp                                ; 89 e5
    44694425    pop bp                                    ; 5d
    44704426    retn                                      ; c3
    4471 biosfn_load_gfx_8_8_dd_chars_:               ; 0xc2667 LB 0x5
     4427biosfn_load_gfx_8_8_dd_chars_:               ; 0xc265e LB 0x5
    44724428    push bp                                   ; 55
    44734429    mov bp, sp                                ; 89 e5
    44744430    pop bp                                    ; 5d
    44754431    retn                                      ; c3
    4476 biosfn_load_gfx_8_16_chars_:                 ; 0xc266c LB 0x5
     4432biosfn_load_gfx_8_16_chars_:                 ; 0xc2663 LB 0x5
    44774433    push bp                                   ; 55
    44784434    mov bp, sp                                ; 89 e5
    44794435    pop bp                                    ; 5d
    44804436    retn                                      ; c3
    4481 biosfn_alternate_prtsc_:                     ; 0xc2671 LB 0x5
     4437biosfn_alternate_prtsc_:                     ; 0xc2668 LB 0x5
    44824438    push bp                                   ; 55
    44834439    mov bp, sp                                ; 89 e5
    44844440    pop bp                                    ; 5d
    44854441    retn                                      ; c3
    4486 biosfn_switch_video_interface_:              ; 0xc2676 LB 0x5
     4442biosfn_switch_video_interface_:              ; 0xc266d LB 0x5
    44874443    push bp                                   ; 55
    44884444    mov bp, sp                                ; 89 e5
    44894445    pop bp                                    ; 5d
    44904446    retn                                      ; c3
    4491 biosfn_enable_video_refresh_control_:        ; 0xc267b LB 0x5
     4447biosfn_enable_video_refresh_control_:        ; 0xc2672 LB 0x5
    44924448    push bp                                   ; 55
    44934449    mov bp, sp                                ; 89 e5
    44944450    pop bp                                    ; 5d
    44954451    retn                                      ; c3
    4496 biosfn_write_string_:                        ; 0xc2680 LB 0x97
     4452biosfn_write_string_:                        ; 0xc2677 LB 0x97
    44974453    push si                                   ; 56
    44984454    push di                                   ; 57
     
    45064462    lea bx, [bp-00ah]                         ; 8d 5e f6
    45074463    lea dx, [bp-008h]                         ; 8d 56 f8
    4508     call 00a8ch                               ; e8 ec e3
     4464    call 00a83h                               ; e8 ec e3
    45094465    cmp byte [bp+008h], 0ffh                  ; 80 7e 08 ff
    4510     jne short 026b7h                          ; 75 11
     4466    jne short 026aeh                          ; 75 11
    45114467    mov al, byte [bp-00ah]                    ; 8a 46 f6
    45124468    mov byte [bp+00ah], al                    ; 88 46 0a
     
    45204476    add dx, ax                                ; 01 c2
    45214477    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    4522     call 00e4bh                               ; e8 80 e7
     4478    call 00e42h                               ; e8 80 e7
    45234479    dec si                                    ; 4e
    45244480    cmp si, strict byte 0ffffh                ; 83 fe ff
    4525     je short 02701h                           ; 74 30
     4481    je short 026f8h                           ; 74 30
    45264482    mov dx, di                                ; 89 fa
    45274483    inc di                                    ; 47
    45284484    mov ax, word [bp+00ch]                    ; 8b 46 0c
    4529     call 02ef4h                               ; e8 1a 08
     4485    call 02eebh                               ; e8 1a 08
    45304486    mov cl, al                                ; 88 c1
    45314487    test byte [bp-006h], 002h                 ; f6 46 fa 02
    4532     je short 026eeh                           ; 74 0c
     4488    je short 026e5h                           ; 74 0c
    45334489    mov dx, di                                ; 89 fa
    45344490    inc di                                    ; 47
    45354491    mov ax, word [bp+00ch]                    ; 8b 46 0c
    4536     call 02ef4h                               ; e8 09 08
     4492    call 02eebh                               ; e8 09 08
    45374493    mov byte [bp-002h], al                    ; 88 46 fe
    45384494    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe
     
    45404496    movzx ax, cl                              ; 0f b6 c1
    45414497    mov cx, strict word 00003h                ; b9 03 00
    4542     call 020f9h                               ; e8 fa f9
    4543     jmp short 026cbh                          ; eb ca
     4498    call 020f0h                               ; e8 fa f9
     4499    jmp short 026c2h                          ; eb ca
    45444500    test byte [bp-006h], 001h                 ; f6 46 fa 01
    4545     jne short 02711h                          ; 75 0a
     4501    jne short 02708h                          ; 75 0a
    45464502    mov dx, word [bp-00ah]                    ; 8b 56 f6
    45474503    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc
    4548     call 00e4bh                               ; e8 3a e7
     4504    call 00e42h                               ; e8 3a e7
    45494505    leave                                     ; c9
    45504506    pop di                                    ; 5f
    45514507    pop si                                    ; 5e
    45524508    retn 00008h                               ; c2 08 00
    4553 biosfn_read_state_info_:                     ; 0xc2717 LB 0xfe
     4509biosfn_read_state_info_:                     ; 0xc270e LB 0xfe
    45544510    push cx                                   ; 51
    45554511    push si                                   ; 56
     
    45634519    mov dx, word [bp-004h]                    ; 8b 56 fc
    45644520    mov ax, word [bp-002h]                    ; 8b 46 fe
    4565     call 02f3eh                               ; e8 11 08
     4521    call 02f35h                               ; e8 11 08
    45664522    mov di, word [bp-004h]                    ; 8b 7e fc
    45674523    add di, strict byte 00004h                ; 83 c7 04
     
    45714527    mov es, [bp-002h]                         ; 8e 46 fe
    45724528    cld                                       ; fc
    4573     jcxz 02748h                               ; e3 06
     4529    jcxz 0273fh                               ; e3 06
    45744530    push DS                                   ; 1e
    45754531    mov ds, dx                                ; 8e da
     
    45834539    mov es, [bp-002h]                         ; 8e 46 fe
    45844540    cld                                       ; fc
    4585     jcxz 02763h                               ; e3 06
     4541    jcxz 0275ah                               ; e3 06
    45864542    push DS                                   ; 1e
    45874543    mov ds, dx                                ; 8e da
     
    45904546    mov dx, 0008ah                            ; ba 8a 00
    45914547    mov ax, strict word 00040h                ; b8 40 00
    4592     call 02ef4h                               ; e8 88 07
     4548    call 02eebh                               ; e8 88 07
    45934549    movzx bx, al                              ; 0f b6 d8
    45944550    mov dx, word [bp-004h]                    ; 8b 56 fc
    45954551    add dx, strict byte 00025h                ; 83 c2 25
    45964552    mov ax, word [bp-002h]                    ; 8b 46 fe
    4597     call 02f02h                               ; e8 87 07
     4553    call 02ef9h                               ; e8 87 07
    45984554    mov dx, word [bp-004h]                    ; 8b 56 fc
    45994555    add dx, strict byte 00026h                ; 83 c2 26
    46004556    xor bx, bx                                ; 31 db
    46014557    mov ax, word [bp-002h]                    ; 8b 46 fe
    4602     call 02f02h                               ; e8 79 07
     4558    call 02ef9h                               ; e8 79 07
    46034559    mov dx, word [bp-004h]                    ; 8b 56 fc
    46044560    add dx, strict byte 00027h                ; 83 c2 27
    46054561    mov bx, strict word 00010h                ; bb 10 00
    46064562    mov ax, word [bp-002h]                    ; 8b 46 fe
    4607     call 02f02h                               ; e8 6a 07
     4563    call 02ef9h                               ; e8 6a 07
    46084564    mov dx, word [bp-004h]                    ; 8b 56 fc
    46094565    add dx, strict byte 00028h                ; 83 c2 28
    46104566    xor bx, bx                                ; 31 db
    46114567    mov ax, word [bp-002h]                    ; 8b 46 fe
    4612     call 02f02h                               ; e8 5c 07
     4568    call 02ef9h                               ; e8 5c 07
    46134569    mov dx, word [bp-004h]                    ; 8b 56 fc
    46144570    add dx, strict byte 00029h                ; 83 c2 29
    46154571    mov bx, strict word 00008h                ; bb 08 00
    46164572    mov ax, word [bp-002h]                    ; 8b 46 fe
    4617     call 02f02h                               ; e8 4d 07
     4573    call 02ef9h                               ; e8 4d 07
    46184574    mov dx, word [bp-004h]                    ; 8b 56 fc
    46194575    add dx, strict byte 0002ah                ; 83 c2 2a
    46204576    mov bx, strict word 00002h                ; bb 02 00
    46214577    mov ax, word [bp-002h]                    ; 8b 46 fe
    4622     call 02f02h                               ; e8 3e 07
     4578    call 02ef9h                               ; e8 3e 07
    46234579    mov dx, word [bp-004h]                    ; 8b 56 fc
    46244580    add dx, strict byte 0002bh                ; 83 c2 2b
    46254581    xor bx, bx                                ; 31 db
    46264582    mov ax, word [bp-002h]                    ; 8b 46 fe
    4627     call 02f02h                               ; e8 30 07
     4583    call 02ef9h                               ; e8 30 07
    46284584    mov dx, word [bp-004h]                    ; 8b 56 fc
    46294585    add dx, strict byte 0002ch                ; 83 c2 2c
    46304586    xor bx, bx                                ; 31 db
    46314587    mov ax, word [bp-002h]                    ; 8b 46 fe
    4632     call 02f02h                               ; e8 22 07
     4588    call 02ef9h                               ; e8 22 07
    46334589    mov dx, word [bp-004h]                    ; 8b 56 fc
    46344590    add dx, strict byte 00031h                ; 83 c2 31
    46354591    mov bx, strict word 00003h                ; bb 03 00
    46364592    mov ax, word [bp-002h]                    ; 8b 46 fe
    4637     call 02f02h                               ; e8 13 07
     4593    call 02ef9h                               ; e8 13 07
    46384594    mov dx, word [bp-004h]                    ; 8b 56 fc
    46394595    add dx, strict byte 00032h                ; 83 c2 32
    46404596    xor bx, bx                                ; 31 db
    46414597    mov ax, word [bp-002h]                    ; 8b 46 fe
    4642     call 02f02h                               ; e8 05 07
     4598    call 02ef9h                               ; e8 05 07
    46434599    mov di, word [bp-004h]                    ; 8b 7e fc
    46444600    add di, strict byte 00033h                ; 83 c7 33
     
    46474603    mov es, [bp-002h]                         ; 8e 46 fe
    46484604    cld                                       ; fc
    4649     jcxz 02810h                               ; e3 02
     4605    jcxz 02807h                               ; e3 02
    46504606    rep stosb                                 ; f3 aa
    46514607    leave                                     ; c9
     
    46544610    pop cx                                    ; 59
    46554611    retn                                      ; c3
    4656 biosfn_read_video_state_size2_:              ; 0xc2815 LB 0x23
     4612biosfn_read_video_state_size2_:              ; 0xc280c LB 0x23
    46574613    push dx                                   ; 52
    46584614    push bp                                   ; 55
     
    46614617    xor ax, ax                                ; 31 c0
    46624618    test dl, 001h                             ; f6 c2 01
    4663     je short 02825h                           ; 74 03
     4619    je short 0281ch                           ; 74 03
    46644620    mov ax, strict word 00046h                ; b8 46 00
    46654621    test dl, 002h                             ; f6 c2 02
    4666     je short 0282dh                           ; 74 03
     4622    je short 02824h                           ; 74 03
    46674623    add ax, strict word 0002ah                ; 05 2a 00
    46684624    test dl, 004h                             ; f6 c2 04
    4669     je short 02835h                           ; 74 03
     4625    je short 0282ch                           ; 74 03
    46704626    add ax, 00304h                            ; 05 04 03
    46714627    pop bp                                    ; 5d
    46724628    pop dx                                    ; 5a
    46734629    retn                                      ; c3
    4674 vga_get_video_state_size_:                   ; 0xc2838 LB 0xf
     4630vga_get_video_state_size_:                   ; 0xc282f LB 0xf
    46754631    push bx                                   ; 53
    46764632    push bp                                   ; 55
    46774633    mov bp, sp                                ; 89 e5
    46784634    mov bx, dx                                ; 89 d3
    4679     call 02815h                               ; e8 d4 ff
     4635    call 0280ch                               ; e8 d4 ff
    46804636    mov word [ss:bx], ax                      ; 36 89 07
    46814637    pop bp                                    ; 5d
    46824638    pop bx                                    ; 5b
    46834639    retn                                      ; c3
    4684 biosfn_save_video_state_:                    ; 0xc2847 LB 0x365
     4640biosfn_save_video_state_:                    ; 0xc283e LB 0x365
    46854641    push cx                                   ; 51
    46864642    push si                                   ; 56
     
    46924648    mov dx, strict word 00063h                ; ba 63 00
    46934649    mov ax, strict word 00040h                ; b8 40 00
    4694     call 02f10h                               ; e8 b4 06
     4650    call 02f07h                               ; e8 b4 06
    46954651    mov di, ax                                ; 89 c7
    46964652    test byte [bp-006h], 001h                 ; f6 46 fa 01
    4697     je near 029c9h                            ; 0f 84 63 01
     4653    je near 029c0h                            ; 0f 84 63 01
    46984654    mov dx, 003c4h                            ; ba c4 03
    46994655    in AL, DX                                 ; ec
     
    47034659    mov dx, cx                                ; 89 ca
    47044660    mov ax, si                                ; 89 f0
    4705     call 02f02h                               ; e8 8c 06
     4661    call 02ef9h                               ; e8 8c 06
    47064662    inc cx                                    ; 41
    47074663    mov dx, di                                ; 89 fa
     
    47124668    mov dx, cx                                ; 89 ca
    47134669    mov ax, si                                ; 89 f0
    4714     call 02f02h                               ; e8 7c 06
     4670    call 02ef9h                               ; e8 7c 06
    47154671    inc cx                                    ; 41
    47164672    mov dx, 003ceh                            ; ba ce 03
     
    47214677    mov dx, cx                                ; 89 ca
    47224678    mov ax, si                                ; 89 f0
    4723     call 02f02h                               ; e8 6b 06
     4679    call 02ef9h                               ; e8 6b 06
    47244680    inc cx                                    ; 41
    47254681    mov dx, 003dah                            ; ba da 03
     
    47354691    mov dx, cx                                ; 89 ca
    47364692    mov ax, si                                ; 89 f0
    4737     call 02f02h                               ; e8 50 06
     4693    call 02ef9h                               ; e8 50 06
    47384694    inc cx                                    ; 41
    47394695    mov dx, 003cah                            ; ba ca 03
     
    47444700    mov dx, cx                                ; 89 ca
    47454701    mov ax, si                                ; 89 f0
    4746     call 02f02h                               ; e8 3f 06
     4702    call 02ef9h                               ; e8 3f 06
    47474703    mov ax, strict word 00001h                ; b8 01 00
    47484704    mov word [bp-004h], ax                    ; 89 46 fc
    47494705    add cx, ax                                ; 01 c1
    4750     jmp short 028d3h                          ; eb 06
     4706    jmp short 028cah                          ; eb 06
    47514707    cmp word [bp-004h], strict byte 00004h    ; 83 7e fc 04
    4752     jnbe short 028f0h                         ; 77 1d
     4708    jnbe short 028e7h                         ; 77 1d
    47534709    mov al, byte [bp-004h]                    ; 8a 46 fc
    47544710    mov dx, 003c4h                            ; ba c4 03
     
    47614717    mov dx, cx                                ; 89 ca
    47624718    mov ax, si                                ; 89 f0
    4763     call 02f02h                               ; e8 18 06
     4719    call 02ef9h                               ; e8 18 06
    47644720    inc cx                                    ; 41
    47654721    inc word [bp-004h]                        ; ff 46 fc
    4766     jmp short 028cdh                          ; eb dd
     4722    jmp short 028c4h                          ; eb dd
    47674723    xor al, al                                ; 30 c0
    47684724    mov dx, 003c4h                            ; ba c4 03
     
    47754731    mov dx, cx                                ; 89 ca
    47764732    mov ax, si                                ; 89 f0
    4777     call 02f02h                               ; e8 fc 05
     4733    call 02ef9h                               ; e8 fc 05
    47784734    mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
    47794735    inc cx                                    ; 41
    4780     jmp short 02914h                          ; eb 06
     4736    jmp short 0290bh                          ; eb 06
    47814737    cmp word [bp-004h], strict byte 00018h    ; 83 7e fc 18
    4782     jnbe short 02930h                         ; 77 1c
     4738    jnbe short 02927h                         ; 77 1c
    47834739    mov al, byte [bp-004h]                    ; 8a 46 fc
    47844740    mov dx, di                                ; 89 fa
     
    47914747    mov dx, cx                                ; 89 ca
    47924748    mov ax, si                                ; 89 f0
    4793     call 02f02h                               ; e8 d8 05
     4749    call 02ef9h                               ; e8 d8 05
    47944750    inc cx                                    ; 41
    47954751    inc word [bp-004h]                        ; ff 46 fc
    4796     jmp short 0290eh                          ; eb de
     4752    jmp short 02905h                          ; eb de
    47974753    mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
    4798     jmp short 0293dh                          ; eb 06
     4754    jmp short 02934h                          ; eb 06
    47994755    cmp word [bp-004h], strict byte 00013h    ; 83 7e fc 13
    4800     jnbe short 02966h                         ; 77 29
     4756    jnbe short 0295dh                         ; 77 29
    48014757    mov dx, 003dah                            ; ba da 03
    48024758    in AL, DX                                 ; ec
     
    48154771    mov dx, cx                                ; 89 ca
    48164772    mov ax, si                                ; 89 f0
    4817     call 02f02h                               ; e8 a2 05
     4773    call 02ef9h                               ; e8 a2 05
    48184774    inc cx                                    ; 41
    48194775    inc word [bp-004h]                        ; ff 46 fc
    4820     jmp short 02937h                          ; eb d1
     4776    jmp short 0292eh                          ; eb d1
    48214777    mov dx, 003dah                            ; ba da 03
    48224778    in AL, DX                                 ; ec
     
    48244780    ; sub ah, ah                                ; 2a e4
    48254781    mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
    4826     jmp short 02979h                          ; eb 06
     4782    jmp short 02970h                          ; eb 06
    48274783    cmp word [bp-004h], strict byte 00008h    ; 83 7e fc 08
    4828     jnbe short 02996h                         ; 77 1d
     4784    jnbe short 0298dh                         ; 77 1d
    48294785    mov al, byte [bp-004h]                    ; 8a 46 fc
    48304786    mov dx, 003ceh                            ; ba ce 03
     
    48374793    mov dx, cx                                ; 89 ca
    48384794    mov ax, si                                ; 89 f0
    4839     call 02f02h                               ; e8 72 05
     4795    call 02ef9h                               ; e8 72 05
    48404796    inc cx                                    ; 41
    48414797    inc word [bp-004h]                        ; ff 46 fc
    4842     jmp short 02973h                          ; eb dd
     4798    jmp short 0296ah                          ; eb dd
    48434799    mov bx, di                                ; 89 fb
    48444800    mov dx, cx                                ; 89 ca
    48454801    mov ax, si                                ; 89 f0
    4846     call 02f1eh                               ; e8 7f 05
     4802    call 02f15h                               ; e8 7f 05
    48474803    inc cx                                    ; 41
    48484804    inc cx                                    ; 41
     
    48504806    mov dx, cx                                ; 89 ca
    48514807    mov ax, si                                ; 89 f0
    4852     call 02f02h                               ; e8 58 05
     4808    call 02ef9h                               ; e8 58 05
    48534809    inc cx                                    ; 41
    48544810    xor bx, bx                                ; 31 db
    48554811    mov dx, cx                                ; 89 ca
    48564812    mov ax, si                                ; 89 f0
    4857     call 02f02h                               ; e8 4e 05
     4813    call 02ef9h                               ; e8 4e 05
    48584814    inc cx                                    ; 41
    48594815    xor bx, bx                                ; 31 db
    48604816    mov dx, cx                                ; 89 ca
    48614817    mov ax, si                                ; 89 f0
    4862     call 02f02h                               ; e8 44 05
     4818    call 02ef9h                               ; e8 44 05
    48634819    inc cx                                    ; 41
    48644820    xor bx, bx                                ; 31 db
    48654821    mov dx, cx                                ; 89 ca
    48664822    mov ax, si                                ; 89 f0
    4867     call 02f02h                               ; e8 3a 05
     4823    call 02ef9h                               ; e8 3a 05
    48684824    inc cx                                    ; 41
    48694825    test byte [bp-006h], 002h                 ; f6 46 fa 02
    4870     je near 02b38h                            ; 0f 84 67 01
     4826    je near 02b2fh                            ; 0f 84 67 01
    48714827    mov dx, strict word 00049h                ; ba 49 00
    48724828    mov ax, strict word 00040h                ; b8 40 00
    4873     call 02ef4h                               ; e8 1a 05
     4829    call 02eebh                               ; e8 1a 05
    48744830    movzx bx, al                              ; 0f b6 d8
    48754831    mov dx, cx                                ; 89 ca
    48764832    mov ax, si                                ; 89 f0
    4877     call 02f02h                               ; e8 1e 05
     4833    call 02ef9h                               ; e8 1e 05
    48784834    inc cx                                    ; 41
    48794835    mov dx, strict word 0004ah                ; ba 4a 00
    48804836    mov ax, strict word 00040h                ; b8 40 00
    4881     call 02f10h                               ; e8 22 05
     4837    call 02f07h                               ; e8 22 05
    48824838    mov bx, ax                                ; 89 c3
    48834839    mov dx, cx                                ; 89 ca
    48844840    mov ax, si                                ; 89 f0
    4885     call 02f1eh                               ; e8 27 05
     4841    call 02f15h                               ; e8 27 05
    48864842    inc cx                                    ; 41
    48874843    inc cx                                    ; 41
    48884844    mov dx, strict word 0004ch                ; ba 4c 00
    48894845    mov ax, strict word 00040h                ; b8 40 00
    4890     call 02f10h                               ; e8 0e 05
     4846    call 02f07h                               ; e8 0e 05
    48914847    mov bx, ax                                ; 89 c3
    48924848    mov dx, cx                                ; 89 ca
    48934849    mov ax, si                                ; 89 f0
    4894     call 02f1eh                               ; e8 13 05
     4850    call 02f15h                               ; e8 13 05
    48954851    inc cx                                    ; 41
    48964852    inc cx                                    ; 41
    48974853    mov dx, strict word 00063h                ; ba 63 00
    48984854    mov ax, strict word 00040h                ; b8 40 00
    4899     call 02f10h                               ; e8 fa 04
     4855    call 02f07h                               ; e8 fa 04
    49004856    mov bx, ax                                ; 89 c3
    49014857    mov dx, cx                                ; 89 ca
    49024858    mov ax, si                                ; 89 f0
    4903     call 02f1eh                               ; e8 ff 04
     4859    call 02f15h                               ; e8 ff 04
    49044860    inc cx                                    ; 41
    49054861    inc cx                                    ; 41
    49064862    mov dx, 00084h                            ; ba 84 00
    49074863    mov ax, strict word 00040h                ; b8 40 00
    4908     call 02ef4h                               ; e8 ca 04
     4864    call 02eebh                               ; e8 ca 04
    49094865    movzx bx, al                              ; 0f b6 d8
    49104866    mov dx, cx                                ; 89 ca
    49114867    mov ax, si                                ; 89 f0
    4912     call 02f02h                               ; e8 ce 04
     4868    call 02ef9h                               ; e8 ce 04
    49134869    inc cx                                    ; 41
    49144870    mov dx, 00085h                            ; ba 85 00
    49154871    mov ax, strict word 00040h                ; b8 40 00
    4916     call 02f10h                               ; e8 d2 04
     4872    call 02f07h                               ; e8 d2 04
    49174873    mov bx, ax                                ; 89 c3
    49184874    mov dx, cx                                ; 89 ca
    49194875    mov ax, si                                ; 89 f0
    4920     call 02f1eh                               ; e8 d7 04
     4876    call 02f15h                               ; e8 d7 04
    49214877    inc cx                                    ; 41
    49224878    inc cx                                    ; 41
    49234879    mov dx, 00087h                            ; ba 87 00
    49244880    mov ax, strict word 00040h                ; b8 40 00
    4925     call 02ef4h                               ; e8 a2 04
     4881    call 02eebh                               ; e8 a2 04
    49264882    movzx bx, al                              ; 0f b6 d8
    49274883    mov dx, cx                                ; 89 ca
    49284884    mov ax, si                                ; 89 f0
    4929     call 02f02h                               ; e8 a6 04
     4885    call 02ef9h                               ; e8 a6 04
    49304886    inc cx                                    ; 41
    49314887    mov dx, 00088h                            ; ba 88 00
    49324888    mov ax, strict word 00040h                ; b8 40 00
    4933     call 02ef4h                               ; e8 8e 04
     4889    call 02eebh                               ; e8 8e 04
    49344890    movzx bx, al                              ; 0f b6 d8
    49354891    mov dx, cx                                ; 89 ca
    49364892    mov ax, si                                ; 89 f0
    4937     call 02f02h                               ; e8 92 04
     4893    call 02ef9h                               ; e8 92 04
    49384894    inc cx                                    ; 41
    49394895    mov dx, 00089h                            ; ba 89 00
    49404896    mov ax, strict word 00040h                ; b8 40 00
    4941     call 02ef4h                               ; e8 7a 04
     4897    call 02eebh                               ; e8 7a 04
    49424898    movzx bx, al                              ; 0f b6 d8
    49434899    mov dx, cx                                ; 89 ca
    49444900    mov ax, si                                ; 89 f0
    4945     call 02f02h                               ; e8 7e 04
     4901    call 02ef9h                               ; e8 7e 04
    49464902    inc cx                                    ; 41
    49474903    mov dx, strict word 00060h                ; ba 60 00
    49484904    mov ax, strict word 00040h                ; b8 40 00
    4949     call 02f10h                               ; e8 82 04
     4905    call 02f07h                               ; e8 82 04
    49504906    mov bx, ax                                ; 89 c3
    49514907    mov dx, cx                                ; 89 ca
    49524908    mov ax, si                                ; 89 f0
    4953     call 02f1eh                               ; e8 87 04
     4909    call 02f15h                               ; e8 87 04
    49544910    mov word [bp-004h], strict word 00000h    ; c7 46 fc 00 00
    49554911    inc cx                                    ; 41
    49564912    inc cx                                    ; 41
    4957     jmp short 02aa6h                          ; eb 06
     4913    jmp short 02a9dh                          ; eb 06
    49584914    cmp word [bp-004h], strict byte 00008h    ; 83 7e fc 08
    4959     jnc short 02ac4h                          ; 73 1e
     4915    jnc short 02abbh                          ; 73 1e
    49604916    mov dx, word [bp-004h]                    ; 8b 56 fc
    49614917    add dx, dx                                ; 01 d2
    49624918    add dx, strict byte 00050h                ; 83 c2 50
    49634919    mov ax, strict word 00040h                ; b8 40 00
    4964     call 02f10h                               ; e8 5c 04
     4920    call 02f07h                               ; e8 5c 04
    49654921    mov bx, ax                                ; 89 c3
    49664922    mov dx, cx                                ; 89 ca
    49674923    mov ax, si                                ; 89 f0
    4968     call 02f1eh                               ; e8 61 04
     4924    call 02f15h                               ; e8 61 04
    49694925    inc cx                                    ; 41
    49704926    inc cx                                    ; 41
    49714927    inc word [bp-004h]                        ; ff 46 fc
    4972     jmp short 02aa0h                          ; eb dc
     4928    jmp short 02a97h                          ; eb dc
    49734929    mov dx, strict word 0004eh                ; ba 4e 00
    49744930    mov ax, strict word 00040h                ; b8 40 00
    4975     call 02f10h                               ; e8 43 04
     4931    call 02f07h                               ; e8 43 04
    49764932    mov bx, ax                                ; 89 c3
    49774933    mov dx, cx                                ; 89 ca
    49784934    mov ax, si                                ; 89 f0
    4979     call 02f1eh                               ; e8 48 04
     4935    call 02f15h                               ; e8 48 04
    49804936    inc cx                                    ; 41
    49814937    inc cx                                    ; 41
    49824938    mov dx, strict word 00062h                ; ba 62 00
    49834939    mov ax, strict word 00040h                ; b8 40 00
    4984     call 02ef4h                               ; e8 13 04
     4940    call 02eebh                               ; e8 13 04
    49854941    movzx bx, al                              ; 0f b6 d8
    49864942    mov dx, cx                                ; 89 ca
    49874943    mov ax, si                                ; 89 f0
    4988     call 02f02h                               ; e8 17 04
     4944    call 02ef9h                               ; e8 17 04
    49894945    inc cx                                    ; 41
    49904946    mov dx, strict word 0007ch                ; ba 7c 00
    49914947    xor ax, ax                                ; 31 c0
    4992     call 02f10h                               ; e8 1c 04
     4948    call 02f07h                               ; e8 1c 04
    49934949    mov bx, ax                                ; 89 c3
    49944950    mov dx, cx                                ; 89 ca
    49954951    mov ax, si                                ; 89 f0
    4996     call 02f1eh                               ; e8 21 04
     4952    call 02f15h                               ; e8 21 04
    49974953    inc cx                                    ; 41
    49984954    inc cx                                    ; 41
    49994955    mov dx, strict word 0007eh                ; ba 7e 00
    50004956    xor ax, ax                                ; 31 c0
    5001     call 02f10h                               ; e8 09 04
     4957    call 02f07h                               ; e8 09 04
    50024958    mov bx, ax                                ; 89 c3
    50034959    mov dx, cx                                ; 89 ca
    50044960    mov ax, si                                ; 89 f0
    5005     call 02f1eh                               ; e8 0e 04
     4961    call 02f15h                               ; e8 0e 04
    50064962    inc cx                                    ; 41
    50074963    inc cx                                    ; 41
    50084964    mov dx, 0010ch                            ; ba 0c 01
    50094965    xor ax, ax                                ; 31 c0
    5010     call 02f10h                               ; e8 f6 03
     4966    call 02f07h                               ; e8 f6 03
    50114967    mov bx, ax                                ; 89 c3
    50124968    mov dx, cx                                ; 89 ca
    50134969    mov ax, si                                ; 89 f0
    5014     call 02f1eh                               ; e8 fb 03
     4970    call 02f15h                               ; e8 fb 03
    50154971    inc cx                                    ; 41
    50164972    inc cx                                    ; 41
    50174973    mov dx, 0010eh                            ; ba 0e 01
    50184974    xor ax, ax                                ; 31 c0
    5019     call 02f10h                               ; e8 e3 03
     4975    call 02f07h                               ; e8 e3 03
    50204976    mov bx, ax                                ; 89 c3
    50214977    mov dx, cx                                ; 89 ca
    50224978    mov ax, si                                ; 89 f0
    5023     call 02f1eh                               ; e8 e8 03
     4979    call 02f15h                               ; e8 e8 03
    50244980    inc cx                                    ; 41
    50254981    inc cx                                    ; 41
    50264982    test byte [bp-006h], 004h                 ; f6 46 fa 04
    5027     je short 02ba5h                           ; 74 67
     4983    je short 02b9ch                           ; 74 67
    50284984    mov dx, 003c7h                            ; ba c7 03
    50294985    in AL, DX                                 ; ec
     
    50334989    mov dx, cx                                ; 89 ca
    50344990    mov ax, si                                ; 89 f0
    5035     call 02f02h                               ; e8 b4 03
     4991    call 02ef9h                               ; e8 b4 03
    50364992    inc cx                                    ; 41
    50374993    mov dx, 003c8h                            ; ba c8 03
     
    50424998    mov dx, cx                                ; 89 ca
    50434999    mov ax, si                                ; 89 f0
    5044     call 02f02h                               ; e8 a3 03
     5000    call 02ef9h                               ; e8 a3 03
    50455001    inc cx                                    ; 41
    50465002    mov dx, 003c6h                            ; ba c6 03
     
    50515007    mov dx, cx                                ; 89 ca
    50525008    mov ax, si                                ; 89 f0
    5053     call 02f02h                               ; e8 92 03
     5009    call 02ef9h                               ; e8 92 03
    50545010    inc cx                                    ; 41
    50555011    xor al, al                                ; 30 c0
     
    50585014    xor ah, ah                                ; 30 e4
    50595015    mov word [bp-004h], ax                    ; 89 46 fc
    5060     jmp short 02b85h                          ; eb 07
     5016    jmp short 02b7ch                          ; eb 07
    50615017    cmp word [bp-004h], 00300h                ; 81 7e fc 00 03
    5062     jnc short 02b9bh                          ; 73 16
     5018    jnc short 02b92h                          ; 73 16
    50635019    mov dx, 003c9h                            ; ba c9 03
    50645020    in AL, DX                                 ; ec
     
    50685024    mov dx, cx                                ; 89 ca
    50695025    mov ax, si                                ; 89 f0
    5070     call 02f02h                               ; e8 6d 03
     5026    call 02ef9h                               ; e8 6d 03
    50715027    inc cx                                    ; 41
    50725028    inc word [bp-004h]                        ; ff 46 fc
    5073     jmp short 02b7eh                          ; eb e3
     5029    jmp short 02b75h                          ; eb e3
    50745030    xor bx, bx                                ; 31 db
    50755031    mov dx, cx                                ; 89 ca
    50765032    mov ax, si                                ; 89 f0
    5077     call 02f02h                               ; e8 5e 03
     5033    call 02ef9h                               ; e8 5e 03
    50785034    inc cx                                    ; 41
    50795035    mov ax, cx                                ; 89 c8
     
    50835039    pop cx                                    ; 59
    50845040    retn                                      ; c3
    5085 biosfn_restore_video_state_:                 ; 0xc2bac LB 0x321
     5041biosfn_restore_video_state_:                 ; 0xc2ba3 LB 0x321
    50865042    push cx                                   ; 51
    50875043    push si                                   ; 56
     
    50925048    mov cx, bx                                ; 89 d9
    50935049    test byte [bp-008h], 001h                 ; f6 46 f8 01
    5094     je near 02d0ah                            ; 0f 84 4a 01
     5050    je near 02d01h                            ; 0f 84 4a 01
    50955051    mov dx, 003dah                            ; ba da 03
    50965052    in AL, DX                                 ; ec
     
    50995055    lea dx, [bx+040h]                         ; 8d 57 40
    51005056    mov ax, si                                ; 89 f0
    5101     call 02f10h                               ; e8 42 03
     5057    call 02f07h                               ; e8 42 03
    51025058    mov di, ax                                ; 89 c7
    51035059    mov word [bp-002h], strict word 00001h    ; c7 46 fe 01 00
    51045060    lea cx, [bx+005h]                         ; 8d 4f 05
    5105     jmp short 02be0h                          ; eb 06
     5061    jmp short 02bd7h                          ; eb 06
    51065062    cmp word [bp-002h], strict byte 00004h    ; 83 7e fe 04
    5107     jnbe short 02bf8h                         ; 77 18
     5063    jnbe short 02befh                         ; 77 18
    51085064    mov al, byte [bp-002h]                    ; 8a 46 fe
    51095065    mov dx, 003c4h                            ; ba c4 03
     
    51115067    mov dx, cx                                ; 89 ca
    51125068    mov ax, si                                ; 89 f0
    5113     call 02ef4h                               ; e8 06 03
     5069    call 02eebh                               ; e8 06 03
    51145070    mov dx, 003c5h                            ; ba c5 03
    51155071    out DX, AL                                ; ee
    51165072    inc cx                                    ; 41
    51175073    inc word [bp-002h]                        ; ff 46 fe
    5118     jmp short 02bdah                          ; eb e2
     5074    jmp short 02bd1h                          ; eb e2
    51195075    xor al, al                                ; 30 c0
    51205076    mov dx, 003c4h                            ; ba c4 03
     
    51225078    mov dx, cx                                ; 89 ca
    51235079    mov ax, si                                ; 89 f0
    5124     call 02ef4h                               ; e8 ef 02
     5080    call 02eebh                               ; e8 ef 02
    51255081    mov dx, 003c5h                            ; ba c5 03
    51265082    out DX, AL                                ; ee
     
    51305086    out DX, ax                                ; ef
    51315087    mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
    5132     jmp short 02c1dh                          ; eb 06
     5088    jmp short 02c14h                          ; eb 06
    51335089    cmp word [bp-002h], strict byte 00018h    ; 83 7e fe 18
    5134     jnbe short 02c3ah                         ; 77 1d
     5090    jnbe short 02c31h                         ; 77 1d
    51355091    cmp word [bp-002h], strict byte 00011h    ; 83 7e fe 11
    5136     je short 02c34h                           ; 74 11
     5092    je short 02c2bh                           ; 74 11
    51375093    mov al, byte [bp-002h]                    ; 8a 46 fe
    51385094    mov dx, di                                ; 89 fa
     
    51405096    mov dx, cx                                ; 89 ca
    51415097    mov ax, si                                ; 89 f0
    5142     call 02ef4h                               ; e8 c4 02
     5098    call 02eebh                               ; e8 c4 02
    51435099    lea dx, [di+001h]                         ; 8d 55 01
    51445100    out DX, AL                                ; ee
    51455101    inc cx                                    ; 41
    51465102    inc word [bp-002h]                        ; ff 46 fe
    5147     jmp short 02c17h                          ; eb dd
     5103    jmp short 02c0eh                          ; eb dd
    51485104    mov dx, 003cch                            ; ba cc 03
    51495105    in AL, DX                                 ; ec
     
    51535109    mov word [bp-004h], ax                    ; 89 46 fc
    51545110    cmp di, 003d4h                            ; 81 ff d4 03
    5155     jne short 02c4fh                          ; 75 04
     5111    jne short 02c46h                          ; 75 04
    51565112    or byte [bp-004h], 001h                   ; 80 4e fc 01
    51575113    mov al, byte [bp-004h]                    ; 8a 46 fc
     
    51645120    add dx, strict byte 0fff9h                ; 83 c2 f9
    51655121    mov ax, si                                ; 89 f0
    5166     call 02ef4h                               ; e8 8f 02
     5122    call 02eebh                               ; e8 8f 02
    51675123    lea dx, [di+001h]                         ; 8d 55 01
    51685124    out DX, AL                                ; ee
    51695125    lea dx, [bx+003h]                         ; 8d 57 03
    51705126    mov ax, si                                ; 89 f0
    5171     call 02ef4h                               ; e8 83 02
     5127    call 02eebh                               ; e8 83 02
    51725128    xor ah, ah                                ; 30 e4
    51735129    mov word [bp-006h], ax                    ; 89 46 fa
     
    51775133    ; sub ah, ah                                ; 2a e4
    51785134    mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
    5179     jmp short 02c89h                          ; eb 06
     5135    jmp short 02c80h                          ; eb 06
    51805136    cmp word [bp-002h], strict byte 00013h    ; 83 7e fe 13
    5181     jnbe short 02ca7h                         ; 77 1e
     5137    jnbe short 02c9eh                         ; 77 1e
    51825138    mov ax, word [bp-006h]                    ; 8b 46 fa
    51835139    and ax, strict word 00020h                ; 25 20 00
     
    51875143    mov dx, cx                                ; 89 ca
    51885144    mov ax, si                                ; 89 f0
    5189     call 02ef4h                               ; e8 57 02
     5145    call 02eebh                               ; e8 57 02
    51905146    mov dx, 003c0h                            ; ba c0 03
    51915147    out DX, AL                                ; ee
    51925148    inc cx                                    ; 41
    51935149    inc word [bp-002h]                        ; ff 46 fe
    5194     jmp short 02c83h                          ; eb dc
     5150    jmp short 02c7ah                          ; eb dc
    51955151    mov al, byte [bp-006h]                    ; 8a 46 fa
    51965152    mov dx, 003c0h                            ; ba c0 03
     
    52015157    ; sub ah, ah                                ; 2a e4
    52025158    mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
    5203     jmp short 02cc1h                          ; eb 06
     5159    jmp short 02cb8h                          ; eb 06
    52045160    cmp word [bp-002h], strict byte 00008h    ; 83 7e fe 08
    5205     jnbe short 02cd9h                         ; 77 18
     5161    jnbe short 02cd0h                         ; 77 18
    52065162    mov al, byte [bp-002h]                    ; 8a 46 fe
    52075163    mov dx, 003ceh                            ; ba ce 03
     
    52095165    mov dx, cx                                ; 89 ca
    52105166    mov ax, si                                ; 89 f0
    5211     call 02ef4h                               ; e8 25 02
     5167    call 02eebh                               ; e8 25 02
    52125168    mov dx, 003cfh                            ; ba cf 03
    52135169    out DX, AL                                ; ee
    52145170    inc cx                                    ; 41
    52155171    inc word [bp-002h]                        ; ff 46 fe
    5216     jmp short 02cbbh                          ; eb e2
     5172    jmp short 02cb2h                          ; eb e2
    52175173    add cx, strict byte 00006h                ; 83 c1 06
    52185174    mov dx, bx                                ; 89 da
    52195175    mov ax, si                                ; 89 f0
    5220     call 02ef4h                               ; e8 11 02
     5176    call 02eebh                               ; e8 11 02
    52215177    mov dx, 003c4h                            ; ba c4 03
    52225178    out DX, AL                                ; ee
     
    52245180    mov dx, bx                                ; 89 da
    52255181    mov ax, si                                ; 89 f0
    5226     call 02ef4h                               ; e8 05 02
     5182    call 02eebh                               ; e8 05 02
    52275183    mov dx, di                                ; 89 fa
    52285184    out DX, AL                                ; ee
     
    52305186    mov dx, bx                                ; 89 da
    52315187    mov ax, si                                ; 89 f0
    5232     call 02ef4h                               ; e8 fa 01
     5188    call 02eebh                               ; e8 fa 01
    52335189    mov dx, 003ceh                            ; ba ce 03
    52345190    out DX, AL                                ; ee
    52355191    lea dx, [bx+002h]                         ; 8d 57 02
    52365192    mov ax, si                                ; 89 f0
    5237     call 02ef4h                               ; e8 ee 01
     5193    call 02eebh                               ; e8 ee 01
    52385194    lea dx, [di+006h]                         ; 8d 55 06
    52395195    out DX, AL                                ; ee
    52405196    test byte [bp-008h], 002h                 ; f6 46 f8 02
    5241     je near 02e79h                            ; 0f 84 67 01
    5242     mov dx, cx                                ; 89 ca
    5243     mov ax, si                                ; 89 f0
    5244     call 02ef4h                               ; e8 db 01
     5197    je near 02e70h                            ; 0f 84 67 01
     5198    mov dx, cx                                ; 89 ca
     5199    mov ax, si                                ; 89 f0
     5200    call 02eebh                               ; e8 db 01
    52455201    movzx bx, al                              ; 0f b6 d8
    52465202    mov dx, strict word 00049h                ; ba 49 00
    52475203    mov ax, strict word 00040h                ; b8 40 00
    5248     call 02f02h                               ; e8 dd 01
    5249     inc cx                                    ; 41
    5250     mov dx, cx                                ; 89 ca
    5251     mov ax, si                                ; 89 f0
    5252     call 02f10h                               ; e8 e3 01
     5204    call 02ef9h                               ; e8 dd 01
     5205    inc cx                                    ; 41
     5206    mov dx, cx                                ; 89 ca
     5207    mov ax, si                                ; 89 f0
     5208    call 02f07h                               ; e8 e3 01
    52535209    mov bx, ax                                ; 89 c3
    52545210    mov dx, strict word 0004ah                ; ba 4a 00
    52555211    mov ax, strict word 00040h                ; b8 40 00
    5256     call 02f1eh                               ; e8 e6 01
    5257     inc cx                                    ; 41
    5258     inc cx                                    ; 41
    5259     mov dx, cx                                ; 89 ca
    5260     mov ax, si                                ; 89 f0
    5261     call 02f10h                               ; e8 cf 01
     5212    call 02f15h                               ; e8 e6 01
     5213    inc cx                                    ; 41
     5214    inc cx                                    ; 41
     5215    mov dx, cx                                ; 89 ca
     5216    mov ax, si                                ; 89 f0
     5217    call 02f07h                               ; e8 cf 01
    52625218    mov bx, ax                                ; 89 c3
    52635219    mov dx, strict word 0004ch                ; ba 4c 00
    52645220    mov ax, strict word 00040h                ; b8 40 00
    5265     call 02f1eh                               ; e8 d2 01
    5266     inc cx                                    ; 41
    5267     inc cx                                    ; 41
    5268     mov dx, cx                                ; 89 ca
    5269     mov ax, si                                ; 89 f0
    5270     call 02f10h                               ; e8 bb 01
     5221    call 02f15h                               ; e8 d2 01
     5222    inc cx                                    ; 41
     5223    inc cx                                    ; 41
     5224    mov dx, cx                                ; 89 ca
     5225    mov ax, si                                ; 89 f0
     5226    call 02f07h                               ; e8 bb 01
    52715227    mov bx, ax                                ; 89 c3
    52725228    mov dx, strict word 00063h                ; ba 63 00
    52735229    mov ax, strict word 00040h                ; b8 40 00
    5274     call 02f1eh                               ; e8 be 01
    5275     inc cx                                    ; 41
    5276     inc cx                                    ; 41
    5277     mov dx, cx                                ; 89 ca
    5278     mov ax, si                                ; 89 f0
    5279     call 02ef4h                               ; e8 8b 01
     5230    call 02f15h                               ; e8 be 01
     5231    inc cx                                    ; 41
     5232    inc cx                                    ; 41
     5233    mov dx, cx                                ; 89 ca
     5234    mov ax, si                                ; 89 f0
     5235    call 02eebh                               ; e8 8b 01
    52805236    movzx bx, al                              ; 0f b6 d8
    52815237    mov dx, 00084h                            ; ba 84 00
    52825238    mov ax, strict word 00040h                ; b8 40 00
    5283     call 02f02h                               ; e8 8d 01
    5284     inc cx                                    ; 41
    5285     mov dx, cx                                ; 89 ca
    5286     mov ax, si                                ; 89 f0
    5287     call 02f10h                               ; e8 93 01
     5239    call 02ef9h                               ; e8 8d 01
     5240    inc cx                                    ; 41
     5241    mov dx, cx                                ; 89 ca
     5242    mov ax, si                                ; 89 f0
     5243    call 02f07h                               ; e8 93 01
    52885244    mov bx, ax                                ; 89 c3
    52895245    mov dx, 00085h                            ; ba 85 00
    52905246    mov ax, strict word 00040h                ; b8 40 00
    5291     call 02f1eh                               ; e8 96 01
    5292     inc cx                                    ; 41
    5293     inc cx                                    ; 41
    5294     mov dx, cx                                ; 89 ca
    5295     mov ax, si                                ; 89 f0
    5296     call 02ef4h                               ; e8 63 01
     5247    call 02f15h                               ; e8 96 01
     5248    inc cx                                    ; 41
     5249    inc cx                                    ; 41
     5250    mov dx, cx                                ; 89 ca
     5251    mov ax, si                                ; 89 f0
     5252    call 02eebh                               ; e8 63 01
    52975253    movzx bx, al                              ; 0f b6 d8
    52985254    mov dx, 00087h                            ; ba 87 00
    52995255    mov ax, strict word 00040h                ; b8 40 00
    5300     call 02f02h                               ; e8 65 01
    5301     inc cx                                    ; 41
    5302     mov dx, cx                                ; 89 ca
    5303     mov ax, si                                ; 89 f0
    5304     call 02ef4h                               ; e8 4f 01
     5256    call 02ef9h                               ; e8 65 01
     5257    inc cx                                    ; 41
     5258    mov dx, cx                                ; 89 ca
     5259    mov ax, si                                ; 89 f0
     5260    call 02eebh                               ; e8 4f 01
    53055261    movzx bx, al                              ; 0f b6 d8
    53065262    mov dx, 00088h                            ; ba 88 00
    53075263    mov ax, strict word 00040h                ; b8 40 00
    5308     call 02f02h                               ; e8 51 01
    5309     inc cx                                    ; 41
    5310     mov dx, cx                                ; 89 ca
    5311     mov ax, si                                ; 89 f0
    5312     call 02ef4h                               ; e8 3b 01
     5264    call 02ef9h                               ; e8 51 01
     5265    inc cx                                    ; 41
     5266    mov dx, cx                                ; 89 ca
     5267    mov ax, si                                ; 89 f0
     5268    call 02eebh                               ; e8 3b 01
    53135269    movzx bx, al                              ; 0f b6 d8
    53145270    mov dx, 00089h                            ; ba 89 00
    53155271    mov ax, strict word 00040h                ; b8 40 00
    5316     call 02f02h                               ; e8 3d 01
    5317     inc cx                                    ; 41
    5318     mov dx, cx                                ; 89 ca
    5319     mov ax, si                                ; 89 f0
    5320     call 02f10h                               ; e8 43 01
     5272    call 02ef9h                               ; e8 3d 01
     5273    inc cx                                    ; 41
     5274    mov dx, cx                                ; 89 ca
     5275    mov ax, si                                ; 89 f0
     5276    call 02f07h                               ; e8 43 01
    53215277    mov bx, ax                                ; 89 c3
    53225278    mov dx, strict word 00060h                ; ba 60 00
    53235279    mov ax, strict word 00040h                ; b8 40 00
    5324     call 02f1eh                               ; e8 46 01
     5280    call 02f15h                               ; e8 46 01
    53255281    mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
    53265282    inc cx                                    ; 41
    53275283    inc cx                                    ; 41
    5328     jmp short 02de7h                          ; eb 06
     5284    jmp short 02ddeh                          ; eb 06
    53295285    cmp word [bp-002h], strict byte 00008h    ; 83 7e fe 08
    5330     jnc short 02e05h                          ; 73 1e
    5331     mov dx, cx                                ; 89 ca
    5332     mov ax, si                                ; 89 f0
    5333     call 02f10h                               ; e8 22 01
     5286    jnc short 02dfch                          ; 73 1e
     5287    mov dx, cx                                ; 89 ca
     5288    mov ax, si                                ; 89 f0
     5289    call 02f07h                               ; e8 22 01
    53345290    mov bx, ax                                ; 89 c3
    53355291    mov dx, word [bp-002h]                    ; 8b 56 fe
     
    53375293    add dx, strict byte 00050h                ; 83 c2 50
    53385294    mov ax, strict word 00040h                ; b8 40 00
    5339     call 02f1eh                               ; e8 20 01
     5295    call 02f15h                               ; e8 20 01
    53405296    inc cx                                    ; 41
    53415297    inc cx                                    ; 41
    53425298    inc word [bp-002h]                        ; ff 46 fe
    5343     jmp short 02de1h                          ; eb dc
    5344     mov dx, cx                                ; 89 ca
    5345     mov ax, si                                ; 89 f0
    5346     call 02f10h                               ; e8 04 01
     5299    jmp short 02dd8h                          ; eb dc
     5300    mov dx, cx                                ; 89 ca
     5301    mov ax, si                                ; 89 f0
     5302    call 02f07h                               ; e8 04 01
    53475303    mov bx, ax                                ; 89 c3
    53485304    mov dx, strict word 0004eh                ; ba 4e 00
    53495305    mov ax, strict word 00040h                ; b8 40 00
    5350     call 02f1eh                               ; e8 07 01
    5351     inc cx                                    ; 41
    5352     inc cx                                    ; 41
    5353     mov dx, cx                                ; 89 ca
    5354     mov ax, si                                ; 89 f0
    5355     call 02ef4h                               ; e8 d4 00
     5306    call 02f15h                               ; e8 07 01
     5307    inc cx                                    ; 41
     5308    inc cx                                    ; 41
     5309    mov dx, cx                                ; 89 ca
     5310    mov ax, si                                ; 89 f0
     5311    call 02eebh                               ; e8 d4 00
    53565312    movzx bx, al                              ; 0f b6 d8
    53575313    mov dx, strict word 00062h                ; ba 62 00
    53585314    mov ax, strict word 00040h                ; b8 40 00
    5359     call 02f02h                               ; e8 d6 00
    5360     inc cx                                    ; 41
    5361     mov dx, cx                                ; 89 ca
    5362     mov ax, si                                ; 89 f0
    5363     call 02f10h                               ; e8 dc 00
     5315    call 02ef9h                               ; e8 d6 00
     5316    inc cx                                    ; 41
     5317    mov dx, cx                                ; 89 ca
     5318    mov ax, si                                ; 89 f0
     5319    call 02f07h                               ; e8 dc 00
    53645320    mov bx, ax                                ; 89 c3
    53655321    mov dx, strict word 0007ch                ; ba 7c 00
    53665322    xor ax, ax                                ; 31 c0
    5367     call 02f1eh                               ; e8 e0 00
    5368     inc cx                                    ; 41
    5369     inc cx                                    ; 41
    5370     mov dx, cx                                ; 89 ca
    5371     mov ax, si                                ; 89 f0
    5372     call 02f10h                               ; e8 c9 00
     5323    call 02f15h                               ; e8 e0 00
     5324    inc cx                                    ; 41
     5325    inc cx                                    ; 41
     5326    mov dx, cx                                ; 89 ca
     5327    mov ax, si                                ; 89 f0
     5328    call 02f07h                               ; e8 c9 00
    53735329    mov bx, ax                                ; 89 c3
    53745330    mov dx, strict word 0007eh                ; ba 7e 00
    53755331    xor ax, ax                                ; 31 c0
    5376     call 02f1eh                               ; e8 cd 00
    5377     inc cx                                    ; 41
    5378     inc cx                                    ; 41
    5379     mov dx, cx                                ; 89 ca
    5380     mov ax, si                                ; 89 f0
    5381     call 02f10h                               ; e8 b6 00
     5332    call 02f15h                               ; e8 cd 00
     5333    inc cx                                    ; 41
     5334    inc cx                                    ; 41
     5335    mov dx, cx                                ; 89 ca
     5336    mov ax, si                                ; 89 f0
     5337    call 02f07h                               ; e8 b6 00
    53825338    mov bx, ax                                ; 89 c3
    53835339    mov dx, 0010ch                            ; ba 0c 01
    53845340    xor ax, ax                                ; 31 c0
    5385     call 02f1eh                               ; e8 ba 00
    5386     inc cx                                    ; 41
    5387     inc cx                                    ; 41
    5388     mov dx, cx                                ; 89 ca
    5389     mov ax, si                                ; 89 f0
    5390     call 02f10h                               ; e8 a3 00
     5341    call 02f15h                               ; e8 ba 00
     5342    inc cx                                    ; 41
     5343    inc cx                                    ; 41
     5344    mov dx, cx                                ; 89 ca
     5345    mov ax, si                                ; 89 f0
     5346    call 02f07h                               ; e8 a3 00
    53915347    mov bx, ax                                ; 89 c3
    53925348    mov dx, 0010eh                            ; ba 0e 01
    53935349    xor ax, ax                                ; 31 c0
    5394     call 02f1eh                               ; e8 a7 00
     5350    call 02f15h                               ; e8 a7 00
    53955351    inc cx                                    ; 41
    53965352    inc cx                                    ; 41
    53975353    test byte [bp-008h], 004h                 ; f6 46 f8 04
    5398     je short 02ec6h                           ; 74 47
    5399     inc cx                                    ; 41
    5400     mov dx, cx                                ; 89 ca
    5401     mov ax, si                                ; 89 f0
    5402     call 02ef4h                               ; e8 6d 00
     5354    je short 02ebdh                           ; 74 47
     5355    inc cx                                    ; 41
     5356    mov dx, cx                                ; 89 ca
     5357    mov ax, si                                ; 89 f0
     5358    call 02eebh                               ; e8 6d 00
    54035359    xor ah, ah                                ; 30 e4
    54045360    mov word [bp-004h], ax                    ; 89 46 fc
     
    54065362    mov dx, cx                                ; 89 ca
    54075363    mov ax, si                                ; 89 f0
    5408     call 02ef4h                               ; e8 60 00
     5364    call 02eebh                               ; e8 60 00
    54095365    mov dx, 003c6h                            ; ba c6 03
    54105366    out DX, AL                                ; ee
     
    54155371    xor ah, ah                                ; 30 e4
    54165372    mov word [bp-002h], ax                    ; 89 46 fe
    5417     jmp short 02eadh                          ; eb 07
     5373    jmp short 02ea4h                          ; eb 07
    54185374    cmp word [bp-002h], 00300h                ; 81 7e fe 00 03
    5419     jnc short 02ebeh                          ; 73 11
    5420     mov dx, cx                                ; 89 ca
    5421     mov ax, si                                ; 89 f0
    5422     call 02ef4h                               ; e8 40 00
     5375    jnc short 02eb5h                          ; 73 11
     5376    mov dx, cx                                ; 89 ca
     5377    mov ax, si                                ; 89 f0
     5378    call 02eebh                               ; e8 40 00
    54235379    mov dx, 003c9h                            ; ba c9 03
    54245380    out DX, AL                                ; ee
    54255381    inc cx                                    ; 41
    54265382    inc word [bp-002h]                        ; ff 46 fe
    5427     jmp short 02ea6h                          ; eb e8
     5383    jmp short 02e9dh                          ; eb e8
    54285384    inc cx                                    ; 41
    54295385    mov al, byte [bp-004h]                    ; 8a 46 fc
     
    54365392    pop cx                                    ; 59
    54375393    retn                                      ; c3
    5438 find_vga_entry_:                             ; 0xc2ecd LB 0x27
     5394find_vga_entry_:                             ; 0xc2ec4 LB 0x27
    54395395    push bx                                   ; 53
    54405396    push dx                                   ; 52
     
    54445400    mov AH, strict byte 0ffh                  ; b4 ff
    54455401    xor al, al                                ; 30 c0
    5446     jmp short 02ee0h                          ; eb 06
     5402    jmp short 02ed7h                          ; eb 06
    54475403    db  0feh, 0c0h
    54485404    ; inc al                                    ; fe c0
    54495405    cmp AL, strict byte 00fh                  ; 3c 0f
    5450     jnbe short 02eeeh                         ; 77 0e
     5406    jnbe short 02ee5h                         ; 77 0e
    54515407    movzx bx, al                              ; 0f b6 d8
    54525408    sal bx, 003h                              ; c1 e3 03
    54535409    cmp dl, byte [bx+04832h]                  ; 3a 97 32 48
    5454     jne short 02edah                          ; 75 ee
     5410    jne short 02ed1h                          ; 75 ee
    54555411    mov ah, al                                ; 88 c4
    54565412    mov al, ah                                ; 88 e0
     
    54595415    pop bx                                    ; 5b
    54605416    retn                                      ; c3
    5461 read_byte_:                                  ; 0xc2ef4 LB 0xe
     5417read_byte_:                                  ; 0xc2eeb LB 0xe
    54625418    push bx                                   ; 53
    54635419    push bp                                   ; 55
     
    54695425    pop bx                                    ; 5b
    54705426    retn                                      ; c3
    5471 write_byte_:                                 ; 0xc2f02 LB 0xe
     5427write_byte_:                                 ; 0xc2ef9 LB 0xe
    54725428    push si                                   ; 56
    54735429    push bp                                   ; 55
     
    54795435    pop si                                    ; 5e
    54805436    retn                                      ; c3
    5481 read_word_:                                  ; 0xc2f10 LB 0xe
     5437read_word_:                                  ; 0xc2f07 LB 0xe
    54825438    push bx                                   ; 53
    54835439    push bp                                   ; 55
     
    54895445    pop bx                                    ; 5b
    54905446    retn                                      ; c3
    5491 write_word_:                                 ; 0xc2f1e LB 0xe
     5447write_word_:                                 ; 0xc2f15 LB 0xe
    54925448    push si                                   ; 56
    54935449    push bp                                   ; 55
     
    54995455    pop si                                    ; 5e
    55005456    retn                                      ; c3
    5501 read_dword_:                                 ; 0xc2f2c LB 0x12
     5457read_dword_:                                 ; 0xc2f23 LB 0x12
    55025458    push bx                                   ; 53
    55035459    push bp                                   ; 55
     
    55105466    pop bx                                    ; 5b
    55115467    retn                                      ; c3
    5512 write_dword_:                                ; 0xc2f3e LB 0x12
     5468write_dword_:                                ; 0xc2f35 LB 0x7f
    55135469    push si                                   ; 56
    55145470    push bp                                   ; 55
     
    55205476    pop bp                                    ; 5d
    55215477    pop si                                    ; 5e
    5522     retn                                      ; c3
    5523 printf_:                                     ; 0xc2f50 LB 0x108
    5524     push bx                                   ; 53
    5525     push cx                                   ; 51
    5526     push dx                                   ; 52
    5527     push si                                   ; 56
    5528     push di                                   ; 57
    5529     enter 00004h, 000h                        ; c8 04 00 00
    5530     lea si, [bp+00eh]                         ; 8d 76 0e
    5531     xor cx, cx                                ; 31 c9
    5532     xor bx, bx                                ; 31 db
    5533     mov di, word [bp+00eh]                    ; 8b 7e 0e
    5534     mov al, byte [di]                         ; 8a 05
    5535     test al, al                               ; 84 c0
    5536     je near 02fe4h                            ; 0f 84 79 00
    5537     cmp AL, strict byte 025h                  ; 3c 25
    5538     jne short 02f76h                          ; 75 07
    5539     mov cx, strict word 00001h                ; b9 01 00
    5540     xor bx, bx                                ; 31 db
    5541     jmp short 02fdeh                          ; eb 68
    5542     test cx, cx                               ; 85 c9
    5543     je short 02fdah                           ; 74 60
    5544     cmp AL, strict byte 030h                  ; 3c 30
    5545     jc short 02f8eh                           ; 72 10
    5546     cmp AL, strict byte 039h                  ; 3c 39
    5547     jnbe short 02f8eh                         ; 77 0c
    5548     xor ah, ah                                ; 30 e4
    5549     imul bx, bx, strict byte 0000ah           ; 6b db 0a
    5550     sub ax, strict word 00030h                ; 2d 30 00
    5551     add bx, ax                                ; 01 c3
    5552     jmp short 02fdeh                          ; eb 50
    5553     cmp AL, strict byte 078h                  ; 3c 78
    5554     jne short 02fdeh                          ; 75 4c
    5555     inc si                                    ; 46
    5556     inc si                                    ; 46
    5557     mov ax, word [ss:si]                      ; 36 8b 04
    5558     mov word [bp-004h], ax                    ; 89 46 fc
    5559     test bx, bx                               ; 85 db
    5560     jne short 02fa1h                          ; 75 03
    5561     mov bx, strict word 00004h                ; bb 04 00
    5562     lea di, [bx-001h]                         ; 8d 7f ff
    5563     mov word [bp-002h], strict word 00000h    ; c7 46 fe 00 00
    5564     cmp bx, word [bp-002h]                    ; 3b 5e fe
    5565     jbe short 02fd6h                          ; 76 28
    5566     mov cx, di                                ; 89 f9
    5567     sal cx, 002h                              ; c1 e1 02
    5568     mov ax, word [bp-004h]                    ; 8b 46 fc
    5569     shr ax, CL                                ; d3 e8
    5570     and ax, strict word 0000fh                ; 25 0f 00
    5571     cmp ax, strict word 00009h                ; 3d 09 00
    5572     jnbe short 02fc9h                         ; 77 09
    5573     add ax, strict word 00030h                ; 05 30 00
    5574     mov dx, 00504h                            ; ba 04 05
    5575     out DX, AL                                ; ee
    5576     jmp short 02fd0h                          ; eb 07
    5577     add ax, strict word 00037h                ; 05 37 00
    5578     mov dx, 00504h                            ; ba 04 05
    5579     out DX, AL                                ; ee
    5580     dec di                                    ; 4f
    5581     inc word [bp-002h]                        ; ff 46 fe
    5582     jmp short 02fa9h                          ; eb d3
    5583     xor cx, cx                                ; 31 c9
    5584     jmp short 02fdeh                          ; eb 04
    5585     mov dx, 00504h                            ; ba 04 05
    5586     out DX, AL                                ; ee
    5587     inc word [bp+00eh]                        ; ff 46 0e
    5588     jmp near 02f60h                           ; e9 7c ff
    5589     leave                                     ; c9
    5590     pop di                                    ; 5f
    5591     pop si                                    ; 5e
    5592     pop dx                                    ; 5a
    5593     pop cx                                    ; 59
    5594     pop bx                                    ; 5b
    55955478    retn                                      ; c3
    55965479    dec di                                    ; 4f
     
    56055488    add ax, 00304h                            ; 05 04 03
    56065489    add al, byte [bx+di]                      ; 02 01
    5607     add byte [bp+di], bl                      ; 00 1b
    5608     xor AL, strict byte 086h                  ; 34 86
    5609     xor ah, al                                ; 30 c4
    5610     xor al, bl                                ; 30 d8
    5611     xor cl, ch                                ; 30 e9
     5490    add byte [bx+033h], dh                    ; 00 77 33
     5491    loop 02f8fh                               ; e2 2f
     5492    and byte [bx+si], dh                      ; 20 30
     5493    xor AL, strict byte 030h                  ; 34 30
     5494    inc bp                                    ; 45
     5495    xor byte [bx+di+030h], bl                 ; 30 59 30
     5496    push strict byte 00030h                   ; 6a 30
     5497    je short 02f9ch                           ; 74 30
     5498    scasb                                     ; ae
     5499    xor byte [bp+si-03cd0h], dh               ; 30 b2 30 c3
     5500    xor al, ah                                ; 30 e0
    56125501    xor ch, bh                                ; 30 fd
    5613     xor byte [01831h], cl                     ; 30 0e 31 18
    5614     xor word [bp+si+031h], dx                 ; 31 52 31
    5615     push si                                   ; 56
    5616     xor word [bx+031h], sp                    ; 31 67 31
    5617     test byte [bx+di], dh                     ; 84 31
    5618     mov ax, word [0c131h]                     ; a1 31 c1
    5619     xor si, bx                                ; 31 de
    5620     xor bp, si                                ; 31 f5
    5621     xor word [bx+di], ax                      ; 31 01
    5622     db  032h, 0dch
    5623     ; xor bl, ah                                ; 32 dc
    5624     xor dl, byte [bx]                         ; 32 17
    5625     xor ax, word [bx+033h]                    ; 33 47 33
    5626     pop sp                                    ; 5c
    5627     xor bx, word [bp+03033h]                  ; 33 9e 33 30
     5502    xor byte [di], bl                         ; 30 1d
     5503    xor word [bp+si], di                      ; 31 3a
     5504    xor word [bx+di+031h], dx                 ; 31 51 31
     5505    pop bp                                    ; 5d
     5506    xor word [bx+si], di                      ; 31 38
     5507    xor dh, byte [bp+di+032h]                 ; 32 73 32
     5508    mov word [0b832h], ax                     ; a3 32 b8
     5509    db  032h, 0fah
     5510    ; xor bh, dl                                ; 32 fa
     5511    xor dh, byte [bx+si]                      ; 32 30
    56285512    and AL, strict byte 023h                  ; 24 23
    56295513    and ah, byte [bx+di]                      ; 22 21
     
    56325516    adc byte [si], al                         ; 10 04
    56335517    add al, byte [bx+di]                      ; 02 01
    5634     add byte [bp+di], bl                      ; 00 1b
    5635     xor AL, strict byte 022h                  ; 34 22
    5636     xor cl, byte [bx+si+032h]                 ; 32 48 32
    5637     pop cx                                    ; 59
    5638     xor ch, byte [bp+si+032h]                 ; 32 6a 32
    5639     and dh, byte [bp+si]                      ; 22 32
    5640     dec ax                                    ; 48
    5641     xor bl, byte [bx+di+032h]                 ; 32 59 32
    5642     push strict byte 00032h                   ; 6a 32
    5643     jnp short 03080h                          ; 7b 32
    5644     xchg word [bp+si], si                     ; 87 32
    5645     mov byte [0ad32h], AL                     ; a2 32 ad
    5646     xor bh, byte [bx+si-03cceh]               ; 32 b8 32 c3
     5518    add byte [bx+033h], dh                    ; 00 77 33
     5519    jle short 02fcbh                          ; 7e 31
     5520    movsb                                     ; a4
     5521    xor word [di-039cfh], si                  ; 31 b5 31 c6
     5522    xor word [bp+031h], di                    ; 31 7e 31
     5523    movsb                                     ; a4
     5524    xor word [di-039cfh], si                  ; 31 b5 31 c6
     5525    xor di, dx                                ; 31 d7
     5526    xor bx, sp                                ; 31 e3
     5527    xor si, di                                ; 31 fe
     5528    xor word [bx+di], cx                      ; 31 09
     5529    xor dl, byte [si]                         ; 32 14
     5530    xor bl, byte [bx]                         ; 32 1f
    56475531    db  032h
    5648 _int10_func:                                 ; 0xc3058 LB 0x3c7
     5532_int10_func:                                 ; 0xc2fb4 LB 0x3c7
    56495533    push si                                   ; 56
    56505534    push di                                   ; 57
     
    56545538    shr ax, 008h                              ; c1 e8 08
    56555539    cmp ax, strict word 0004fh                ; 3d 4f 00
    5656     jnbe near 0341bh                          ; 0f 87 ad 03
     5540    jnbe near 03377h                          ; 0f 87 ad 03
    56575541    push CS                                   ; 0e
    56585542    pop ES                                    ; 07
    56595543    mov cx, strict word 00016h                ; b9 16 00
    5660     mov di, 02febh                            ; bf eb 2f
     5544    mov di, 02f47h                            ; bf 47 2f
    56615545    repne scasb                               ; f2 ae
    56625546    sal cx, 1                                 ; d1 e1
    56635547    mov di, cx                                ; 89 cf
    5664     mov ax, word [cs:di+03000h]               ; 2e 8b 85 00 30
     5548    mov ax, word [cs:di+02f5ch]               ; 2e 8b 85 5c 2f
    56655549    mov cl, byte [bp+016h]                    ; 8a 4e 16
    56665550    jmp ax                                    ; ff e0
    56675551    mov al, byte [bp+016h]                    ; 8a 46 16
    56685552    xor ah, ah                                ; 30 e4
    5669     call 00fc1h                               ; e8 33 df
     5553    call 00fb8h                               ; e8 ce df
    56705554    mov ax, word [bp+016h]                    ; 8b 46 16
    56715555    and ax, strict word 0007fh                ; 25 7f 00
    56725556    cmp ax, strict word 00007h                ; 3d 07 00
    5673     je short 030aeh                           ; 74 15
     5557    je short 0300ah                           ; 74 15
    56745558    cmp ax, strict word 00006h                ; 3d 06 00
    5675     je short 030a5h                           ; 74 07
     5559    je short 03001h                           ; 74 07
    56765560    cmp ax, strict word 00005h                ; 3d 05 00
    5677     jbe short 030aeh                          ; 76 0b
    5678     jmp short 030b7h                          ; eb 12
     5561    jbe short 0300ah                          ; 76 0b
     5562    jmp short 03013h                          ; eb 12
    56795563    mov ax, word [bp+016h]                    ; 8b 46 16
    56805564    xor al, al                                ; 30 c0
    56815565    or AL, strict byte 03fh                   ; 0c 3f
    5682     jmp short 030beh                          ; eb 10
     5566    jmp short 0301ah                          ; eb 10
    56835567    mov ax, word [bp+016h]                    ; 8b 46 16
    56845568    xor al, al                                ; 30 c0
    56855569    or AL, strict byte 030h                   ; 0c 30
    5686     jmp short 030beh                          ; eb 07
     5570    jmp short 0301ah                          ; eb 07
    56875571    mov ax, word [bp+016h]                    ; 8b 46 16
    56885572    xor al, al                                ; 30 c0
    56895573    or AL, strict byte 020h                   ; 0c 20
    56905574    mov word [bp+016h], ax                    ; 89 46 16
    5691     jmp near 0341bh                           ; e9 57 03
     5575    jmp near 03377h                           ; e9 57 03
    56925576    mov al, byte [bp+014h]                    ; 8a 46 14
    56935577    movzx dx, al                              ; 0f b6 d0
     
    56955579    shr ax, 008h                              ; c1 e8 08
    56965580    xor ah, ah                                ; 30 e4
    5697     call 00daah                               ; e8 d5 dc
    5698     jmp near 0341bh                           ; e9 43 03
     5581    call 00da1h                               ; e8 70 dd
     5582    jmp near 03377h                           ; e9 43 03
    56995583    mov dx, word [bp+012h]                    ; 8b 56 12
    57005584    mov ax, word [bp+010h]                    ; 8b 46 10
    57015585    shr ax, 008h                              ; c1 e8 08
    57025586    xor ah, ah                                ; 30 e4
    5703     call 00e4bh                               ; e8 65 dd
    5704     jmp near 0341bh                           ; e9 32 03
     5587    call 00e42h                               ; e8 00 de
     5588    jmp near 03377h                           ; e9 32 03
    57055589    lea bx, [bp+012h]                         ; 8d 5e 12
    57065590    lea dx, [bp+014h]                         ; 8d 56 14
     
    57085592    shr ax, 008h                              ; c1 e8 08
    57095593    xor ah, ah                                ; 30 e4
    5710     call 00a8ch                               ; e8 92 d9
    5711     jmp near 0341bh                           ; e9 1e 03
     5594    call 00a83h                               ; e8 2d da
     5595    jmp near 03377h                           ; e9 1e 03
    57125596    xor ax, ax                                ; 31 c0
    57135597    mov word [bp+016h], ax                    ; 89 46 16
     
    57155599    mov word [bp+014h], ax                    ; 89 46 14
    57165600    mov word [bp+012h], ax                    ; 89 46 12
    5717     jmp near 0341bh                           ; e9 0d 03
     5601    jmp near 03377h                           ; e9 0d 03
    57185602    mov al, cl                                ; 88 c8
    57195603    xor ah, ah                                ; 30 e4
    5720     call 00ee9h                               ; e8 d4 dd
    5721     jmp near 0341bh                           ; e9 03 03
     5604    call 00ee0h                               ; e8 6f de
     5605    jmp near 03377h                           ; e9 03 03
    57225606    mov ax, strict word 00001h                ; b8 01 00
    57235607    push ax                                   ; 50
     
    57415625    mov al, byte [bp+016h]                    ; 8a 46 16
    57425626    xor ah, ah                                ; 30 e4
    5743     call 01538h                               ; e8 e9 e3
    5744     jmp near 0341bh                           ; e9 c9 02
     5627    call 0152fh                               ; e8 84 e4
     5628    jmp near 03377h                           ; e9 c9 02
    57455629    xor ax, ax                                ; 31 c0
    5746     jmp short 0311bh                          ; eb c5
     5630    jmp short 03077h                          ; eb c5
    57475631    lea dx, [bp+016h]                         ; 8d 56 16
    57485632    mov ax, word [bp+010h]                    ; 8b 46 10
    57495633    shr ax, 008h                              ; c1 e8 08
    57505634    xor ah, ah                                ; 30 e4
    5751     call 00acch                               ; e8 68 d9
    5752     jmp near 0341bh                           ; e9 b4 02
     5635    call 00ac3h                               ; e8 03 da
     5636    jmp near 03377h                           ; e9 b4 02
    57535637    mov cx, word [bp+014h]                    ; 8b 4e 14
    57545638    mov al, byte [bp+010h]                    ; 8a 46 10
     
    57595643    mov al, byte [bp+016h]                    ; 8a 46 16
    57605644    xor ah, ah                                ; 30 e4
    5761     call 01cc4h                               ; e8 43 eb
    5762     jmp near 0341bh                           ; e9 97 02
     5645    call 01cbbh                               ; e8 de eb
     5646    jmp near 03377h                           ; e9 97 02
    57635647    mov cx, word [bp+014h]                    ; 8b 4e 14
    57645648    mov al, byte [bp+010h]                    ; 8a 46 10
     
    57695653    mov al, byte [bp+016h]                    ; 8a 46 16
    57705654    xor ah, ah                                ; 30 e4
    5771     call 01e27h                               ; e8 89 ec
    5772     jmp near 0341bh                           ; e9 7a 02
     5655    call 01e1eh                               ; e8 24 ed
     5656    jmp near 03377h                           ; e9 7a 02
    57735657    mov cx, word [bp+012h]                    ; 8b 4e 12
    57745658    mov bx, word [bp+014h]                    ; 8b 5e 14
     
    57805664    mov al, byte [bp-002h]                    ; 8a 46 fe
    57815665    xor ah, ah                                ; 30 e4
    5782     call 01f91h                               ; e8 d3 ed
    5783     jmp near 0341bh                           ; e9 5a 02
     5666    call 01f88h                               ; e8 6e ee
     5667    jmp near 03377h                           ; e9 5a 02
    57845668    lea cx, [bp+016h]                         ; 8d 4e 16
    57855669    mov bx, word [bp+012h]                    ; 8b 5e 12
     
    57905674    mov al, byte [bp-002h]                    ; 8a 46 fe
    57915675    xor ah, ah                                ; 30 e4
    5792     call 00beeh                               ; e8 13 da
    5793     jmp near 0341bh                           ; e9 3d 02
     5676    call 00be5h                               ; e8 ae da
     5677    jmp near 03377h                           ; e9 3d 02
    57945678    mov cx, strict word 00002h                ; b9 02 00
    57955679    mov al, byte [bp+010h]                    ; 8a 46 10
     
    57985682    mov al, byte [bp+016h]                    ; 8a 46 16
    57995683    xor ah, ah                                ; 30 e4
    5800     call 020f9h                               ; e8 07 ef
    5801     jmp near 0341bh                           ; e9 26 02
     5684    call 020f0h                               ; e8 a2 ef
     5685    jmp near 03377h                           ; e9 26 02
    58025686    mov dx, word [bp+014h]                    ; 8b 56 14
    58035687    mov ax, word [bp+010h]                    ; 8b 46 10
    5804     call 00d22h                               ; e8 24 db
    5805     jmp near 0341bh                           ; e9 1a 02
     5688    call 00d19h                               ; e8 bf db
     5689    jmp near 03377h                           ; e9 1a 02
    58065690    mov ax, word [bp+016h]                    ; 8b 46 16
    58075691    xor ah, ah                                ; 30 e4
    58085692    cmp ax, strict word 00030h                ; 3d 30 00
    5809     jnbe near 0341bh                          ; 0f 87 0e 02
     5693    jnbe near 03377h                          ; 0f 87 0e 02
    58105694    push CS                                   ; 0e
    58115695    pop ES                                    ; 07
    58125696    mov cx, strict word 0000fh                ; b9 0f 00
    5813     mov di, 0302ch                            ; bf 2c 30
     5697    mov di, 02f88h                            ; bf 88 2f
    58145698    repne scasb                               ; f2 ae
    58155699    sal cx, 1                                 ; d1 e1
    58165700    mov di, cx                                ; 89 cf
    5817     mov ax, word [cs:di+0303ah]               ; 2e 8b 85 3a 30
     5701    mov ax, word [cs:di+02f96h]               ; 2e 8b 85 96 2f
    58185702    jmp ax                                    ; ff e0
    58195703    mov ax, word [bp+010h]                    ; 8b 46 10
     
    58305714    mov bx, word [bp+00ch]                    ; 8b 5e 0c
    58315715    mov dx, word [bp+01ah]                    ; 8b 56 1a
    5832     call 02496h                               ; e8 51 f2
    5833     jmp near 0341bh                           ; e9 d3 01
     5716    call 0248dh                               ; e8 ec f2
     5717    jmp near 03377h                           ; e9 d3 01
    58345718    mov al, byte [bp+010h]                    ; 8a 46 10
    58355719    movzx dx, al                              ; 0f b6 d0
    58365720    mov al, byte [bp+016h]                    ; 8a 46 16
    58375721    xor ah, ah                                ; 30 e4
    5838     call 0250eh                               ; e8 b8 f2
    5839     jmp near 0341bh                           ; e9 c2 01
     5722    call 02505h                               ; e8 53 f3
     5723    jmp near 03377h                           ; e9 c2 01
    58405724    mov al, byte [bp+010h]                    ; 8a 46 10
    58415725    movzx dx, al                              ; 0f b6 d0
    58425726    mov al, byte [bp+016h]                    ; 8a 46 16
    58435727    xor ah, ah                                ; 30 e4
    5844     call 0257ah                               ; e8 13 f3
    5845     jmp near 0341bh                           ; e9 b1 01
     5728    call 02571h                               ; e8 ae f3
     5729    jmp near 03377h                           ; e9 b1 01
    58465730    mov al, byte [bp+010h]                    ; 8a 46 10
    58475731    movzx dx, al                              ; 0f b6 d0
    58485732    mov al, byte [bp+016h]                    ; 8a 46 16
    58495733    xor ah, ah                                ; 30 e4
    5850     call 025e8h                               ; e8 70 f3
    5851     jmp near 0341bh                           ; e9 a0 01
     5734    call 025dfh                               ; e8 0b f4
     5735    jmp near 03377h                           ; e9 a0 01
    58525736    mov dx, word [bp+00ch]                    ; 8b 56 0c
    58535737    mov ax, word [bp+01ah]                    ; 8b 46 1a
    5854     call 02656h                               ; e8 d2 f3
    5855     jmp near 0341bh                           ; e9 94 01
     5738    call 0264dh                               ; e8 6d f4
     5739    jmp near 03377h                           ; e9 94 01
    58565740    mov al, byte [bp+012h]                    ; 8a 46 12
    58575741    xor ah, ah                                ; 30 e4
     
    58625746    mov dx, word [bp+00ch]                    ; 8b 56 0c
    58635747    mov ax, word [bp+01ah]                    ; 8b 46 1a
    5864     call 0265bh                               ; e8 bc f3
    5865     jmp near 0341bh                           ; e9 79 01
     5748    call 02652h                               ; e8 57 f4
     5749    jmp near 03377h                           ; e9 79 01
    58665750    mov al, byte [bp+010h]                    ; 8a 46 10
    58675751    xor ah, ah                                ; 30 e4
    5868     call 02662h                               ; e8 b8 f3
    5869     jmp near 0341bh                           ; e9 6e 01
     5752    call 02659h                               ; e8 53 f4
     5753    jmp near 03377h                           ; e9 6e 01
    58705754    mov al, byte [bp+010h]                    ; 8a 46 10
    58715755    xor ah, ah                                ; 30 e4
    5872     call 02667h                               ; e8 b2 f3
    5873     jmp near 0341bh                           ; e9 63 01
     5756    call 0265eh                               ; e8 4d f4
     5757    jmp near 03377h                           ; e9 63 01
    58745758    mov al, byte [bp+010h]                    ; 8a 46 10
    58755759    xor ah, ah                                ; 30 e4
    5876     call 0266ch                               ; e8 ac f3
    5877     jmp near 0341bh                           ; e9 58 01
     5760    call 02663h                               ; e8 47 f4
     5761    jmp near 03377h                           ; e9 58 01
    58785762    lea ax, [bp+012h]                         ; 8d 46 12
    58795763    push ax                                   ; 50
     
    58835767    mov ax, word [bp+010h]                    ; 8b 46 10
    58845768    shr ax, 008h                              ; c1 e8 08
    5885     call 00b6fh                               ; e8 96 d8
    5886     jmp near 0341bh                           ; e9 3f 01
     5769    call 00b66h                               ; e8 31 d9
     5770    jmp near 03377h                           ; e9 3f 01
    58875771    mov ax, word [bp+010h]                    ; 8b 46 10
    58885772    xor ah, ah                                ; 30 e4
    58895773    cmp ax, strict word 00036h                ; 3d 36 00
    5890     je short 0330eh                           ; 74 28
     5774    je short 0326ah                           ; 74 28
    58915775    cmp ax, strict word 00035h                ; 3d 35 00
    5892     je short 032f8h                           ; 74 0d
     5776    je short 03254h                           ; 74 0d
    58935777    cmp ax, strict word 00020h                ; 3d 20 00
    5894     jne near 0341bh                           ; 0f 85 29 01
    5895     call 02671h                               ; e8 7c f3
    5896     jmp near 0341bh                           ; e9 23 01
     5778    jne near 03377h                           ; 0f 85 29 01
     5779    call 02668h                               ; e8 17 f4
     5780    jmp near 03377h                           ; e9 23 01
    58975781    movzx ax, cl                              ; 0f b6 c1
    58985782    mov bx, word [bp+012h]                    ; 8b 5e 12
    58995783    mov dx, word [bp+01ah]                    ; 8b 56 1a
    5900     call 02676h                               ; e8 72 f3
     5784    call 0266dh                               ; e8 0d f4
    59015785    mov ax, word [bp+016h]                    ; 8b 46 16
    59025786    xor al, al                                ; 30 c0
    59035787    or AL, strict byte 012h                   ; 0c 12
    5904     jmp near 030beh                           ; e9 b0 fd
     5788    jmp near 0301ah                           ; e9 b0 fd
    59055789    mov al, cl                                ; 88 c8
    59065790    xor ah, ah                                ; 30 e4
    5907     call 0267bh                               ; e8 66 f3
    5908     jmp short 03304h                          ; eb ed
     5791    call 02672h                               ; e8 01 f4
     5792    jmp short 03260h                          ; eb ed
    59095793    push word [bp+00ch]                       ; ff 76 0c
    59105794    push word [bp+01ah]                       ; ff 76 1a
     
    59235807    movzx ax, cl                              ; 0f b6 c1
    59245808    mov cx, word [bp+014h]                    ; 8b 4e 14
    5925     call 02680h                               ; e8 3c f3
    5926     jmp near 0341bh                           ; e9 d4 00
     5809    call 02677h                               ; e8 d7 f3
     5810    jmp near 03377h                           ; e9 d4 00
    59275811    mov bx, si                                ; 89 f3
    59285812    mov dx, word [bp+01ah]                    ; 8b 56 1a
    59295813    mov ax, word [bp+010h]                    ; 8b 46 10
    5930     call 02717h                               ; e8 c5 f3
     5814    call 0270eh                               ; e8 60 f4
    59315815    mov ax, word [bp+016h]                    ; 8b 46 16
    59325816    xor al, al                                ; 30 c0
    59335817    or AL, strict byte 01bh                   ; 0c 1b
    5934     jmp near 030beh                           ; e9 62 fd
     5818    jmp near 0301ah                           ; e9 62 fd
    59355819    mov ax, word [bp+016h]                    ; 8b 46 16
    59365820    xor ah, ah                                ; 30 e4
    59375821    cmp ax, strict word 00002h                ; 3d 02 00
    5938     je short 03388h                           ; 74 22
     5822    je short 032e4h                           ; 74 22
    59395823    cmp ax, strict word 00001h                ; 3d 01 00
    5940     je short 0337ah                           ; 74 0f
     5824    je short 032d6h                           ; 74 0f
    59415825    test ax, ax                               ; 85 c0
    5942     jne short 03394h                          ; 75 25
     5826    jne short 032f0h                          ; 75 25
    59435827    lea dx, [bp+010h]                         ; 8d 56 10
    59445828    mov ax, word [bp+014h]                    ; 8b 46 14
    5945     call 02838h                               ; e8 c0 f4
    5946     jmp short 03394h                          ; eb 1a
     5829    call 0282fh                               ; e8 5b f5
     5830    jmp short 032f0h                          ; eb 1a
    59475831    mov bx, word [bp+010h]                    ; 8b 5e 10
    59485832    mov dx, word [bp+01ah]                    ; 8b 56 1a
    59495833    mov ax, word [bp+014h]                    ; 8b 46 14
    5950     call 02847h                               ; e8 c1 f4
    5951     jmp short 03394h                          ; eb 0c
     5834    call 0283eh                               ; e8 5c f5
     5835    jmp short 032f0h                          ; eb 0c
    59525836    mov bx, word [bp+010h]                    ; 8b 5e 10
    59535837    mov dx, word [bp+01ah]                    ; 8b 56 1a
    59545838    mov ax, word [bp+014h]                    ; 8b 46 14
    5955     call 02bach                               ; e8 18 f8
     5839    call 02ba3h                               ; e8 b3 f8
    59565840    mov ax, word [bp+016h]                    ; 8b 46 16
    59575841    xor al, al                                ; 30 c0
    59585842    or AL, strict byte 01ch                   ; 0c 1c
    5959     jmp near 030beh                           ; e9 20 fd
    5960     call 007b2h                               ; e8 11 d4
     5843    jmp near 0301ah                           ; e9 20 fd
     5844    call 00794h                               ; e8 97 d4
    59615845    test ax, ax                               ; 85 c0
    5962     je near 03416h                            ; 0f 84 6f 00
     5846    je near 03372h                            ; 0f 84 6f 00
    59635847    mov ax, word [bp+016h]                    ; 8b 46 16
    59645848    xor ah, ah                                ; 30 e4
    59655849    cmp ax, strict word 00002h                ; 3d 02 00
    5966     jc short 033c4h                           ; 72 13
    5967     jbe short 033eah                          ; 76 37
     5850    jc short 03320h                           ; 72 13
     5851    jbe short 03346h                          ; 76 37
    59685852    cmp ax, strict word 0000ah                ; 3d 0a 00
    5969     je short 0340fh                           ; 74 57
     5853    je short 0336bh                           ; 74 57
    59705854    cmp ax, strict word 00009h                ; 3d 09 00
    5971     je short 0340fh                           ; 74 52
     5855    je short 0336bh                           ; 74 52
    59725856    cmp ax, strict word 00004h                ; 3d 04 00
    5973     je short 033fah                           ; 74 38
    5974     jmp short 0340fh                          ; eb 4b
     5857    je short 03356h                           ; 74 38
     5858    jmp short 0336bh                          ; eb 4b
    59755859    cmp ax, strict word 00001h                ; 3d 01 00
    5976     je short 033dah                           ; 74 11
     5860    je short 03336h                           ; 74 11
    59775861    test ax, ax                               ; 85 c0
    5978     jne short 0340fh                          ; 75 42
     5862    jne short 0336bh                          ; 75 42
    59795863    mov bx, si                                ; 89 f3
    59805864    mov dx, word [bp+01ah]                    ; 8b 56 1a
    59815865    lea ax, [bp+016h]                         ; 8d 46 16
    5982     call 034e5h                               ; e8 0d 01
    5983     jmp short 0341bh                          ; eb 41
     5866    call 03486h                               ; e8 52 01
     5867    jmp short 03377h                          ; eb 41
    59845868    mov cx, si                                ; 89 f1
    59855869    mov bx, word [bp+01ah]                    ; 8b 5e 1a
    59865870    mov dx, word [bp+014h]                    ; 8b 56 14
    59875871    lea ax, [bp+016h]                         ; 8d 46 16
    5988     call 03612h                               ; e8 2a 02
    5989     jmp short 0341bh                          ; eb 31
     5872    call 035aah                               ; e8 66 02
     5873    jmp short 03377h                          ; eb 31
    59905874    mov cx, si                                ; 89 f1
    59915875    mov bx, word [bp+01ah]                    ; 8b 5e 1a
    59925876    mov dx, word [bp+010h]                    ; 8b 56 10
    59935877    lea ax, [bp+016h]                         ; 8d 46 16
    5994     call 036c2h                               ; e8 ca 02
    5995     jmp short 0341bh                          ; eb 21
     5878    call 0365ah                               ; e8 06 03
     5879    jmp short 03377h                          ; eb 21
    59965880    lea ax, [bp+010h]                         ; 8d 46 10
    59975881    push ax                                   ; 50
     
    60005884    mov dx, word [bp+014h]                    ; 8b 56 14
    60015885    lea ax, [bp+016h]                         ; 8d 46 16
    6002     call 0389eh                               ; e8 91 04
    6003     jmp short 0341bh                          ; eb 0c
     5886    call 03836h                               ; e8 cd 04
     5887    jmp short 03377h                          ; eb 0c
    60045888    mov word [bp+016h], 00100h                ; c7 46 16 00 01
    6005     jmp short 0341bh                          ; eb 05
     5889    jmp short 03377h                          ; eb 05
    60065890    mov word [bp+016h], 00100h                ; c7 46 16 00 01
    60075891    leave                                     ; c9
     
    60095893    pop si                                    ; 5e
    60105894    retn                                      ; c3
    6011 dispi_set_xres_:                             ; 0xc341f LB 0x18
     5895dispi_set_xres_:                             ; 0xc337b LB 0x18
    60125896    push bx                                   ; 53
    60135897    push dx                                   ; 52
     
    60255909    pop bx                                    ; 5b
    60265910    retn                                      ; c3
    6027 dispi_set_yres_:                             ; 0xc3437 LB 0x18
     5911dispi_set_yres_:                             ; 0xc3393 LB 0x18
    60285912    push bx                                   ; 53
    60295913    push dx                                   ; 52
     
    60415925    pop bx                                    ; 5b
    60425926    retn                                      ; c3
    6043 dispi_set_bpp_:                              ; 0xc344f LB 0x18
     5927dispi_set_bpp_:                              ; 0xc33ab LB 0x18
    60445928    push bx                                   ; 53
    60455929    push dx                                   ; 52
     
    60575941    pop bx                                    ; 5b
    60585942    retn                                      ; c3
    6059 in_word_:                                    ; 0xc3467 LB 0xf
     5943in_word_:                                    ; 0xc33c3 LB 0xf
    60605944    push bx                                   ; 53
    60615945    push bp                                   ; 55
     
    60695953    pop bx                                    ; 5b
    60705954    retn                                      ; c3
    6071 in_byte_:                                    ; 0xc3476 LB 0x11
     5955in_byte_:                                    ; 0xc33d2 LB 0x11
    60725956    push bx                                   ; 53
    60735957    push bp                                   ; 55
     
    60835967    pop bx                                    ; 5b
    60845968    retn                                      ; c3
    6085 mode_info_find_mode_:                        ; 0xc3487 LB 0x5e
     5969dispi_get_id_:                               ; 0xc33e3 LB 0x11
     5970    push dx                                   ; 52
     5971    push bp                                   ; 55
     5972    mov bp, sp                                ; 89 e5
     5973    xor ax, ax                                ; 31 c0
     5974    mov dx, 001ceh                            ; ba ce 01
     5975    out DX, ax                                ; ef
     5976    mov dx, 001cfh                            ; ba cf 01
     5977    in ax, DX                                 ; ed
     5978    pop bp                                    ; 5d
     5979    pop dx                                    ; 5a
     5980    retn                                      ; c3
     5981dispi_set_id_:                               ; 0xc33f4 LB 0x17
     5982    push bx                                   ; 53
     5983    push dx                                   ; 52
     5984    push bp                                   ; 55
     5985    mov bp, sp                                ; 89 e5
     5986    mov bx, ax                                ; 89 c3
     5987    xor ax, ax                                ; 31 c0
     5988    mov dx, 001ceh                            ; ba ce 01
     5989    out DX, ax                                ; ef
     5990    mov ax, bx                                ; 89 d8
     5991    mov dx, 001cfh                            ; ba cf 01
     5992    out DX, ax                                ; ef
     5993    pop bp                                    ; 5d
     5994    pop dx                                    ; 5a
     5995    pop bx                                    ; 5b
     5996    retn                                      ; c3
     5997vbe_init_:                                   ; 0xc340b LB 0x29
     5998    push bx                                   ; 53
     5999    push dx                                   ; 52
     6000    push bp                                   ; 55
     6001    mov bp, sp                                ; 89 e5
     6002    mov ax, 0b0c0h                            ; b8 c0 b0
     6003    call 033f4h                               ; e8 de ff
     6004    call 033e3h                               ; e8 ca ff
     6005    cmp ax, 0b0c0h                            ; 3d c0 b0
     6006    jne short 03430h                          ; 75 12
     6007    mov bx, strict word 00001h                ; bb 01 00
     6008    mov dx, 000b9h                            ; ba b9 00
     6009    mov ax, strict word 00040h                ; b8 40 00
     6010    call 02ef9h                               ; e8 cf fa
     6011    mov ax, 0b0c4h                            ; b8 c4 b0
     6012    call 033f4h                               ; e8 c4 ff
     6013    pop bp                                    ; 5d
     6014    pop dx                                    ; 5a
     6015    pop bx                                    ; 5b
     6016    retn                                      ; c3
     6017mode_info_find_mode_:                        ; 0xc3434 LB 0x52
    60866018    push bx                                   ; 53
    60876019    push cx                                   ; 51
     
    60906022    push bp                                   ; 55
    60916023    mov bp, sp                                ; 89 e5
    6092     mov si, ax                                ; 89 c6
    6093     mov di, dx                                ; 89 d7
     6024    mov di, ax                                ; 89 c7
     6025    mov si, dx                                ; 89 d6
    60946026    xor dx, dx                                ; 31 d2
    60956027    mov ax, 003b6h                            ; b8 b6 03
    6096     call 03467h                               ; e8 cd ff
     6028    call 033c3h                               ; e8 7c ff
    60976029    cmp ax, 077cch                            ; 3d cc 77
    6098     je short 034abh                           ; 74 0c
    6099     push ax                                   ; 50
    6100     push 07ee8h                               ; 68 e8 7e
    6101     call 02f50h                               ; e8 aa fa
    6102     add sp, strict byte 00004h                ; 83 c4 04
    6103     jmp short 034ddh                          ; eb 32
     6030    jne short 0347eh                          ; 75 32
    61046031    mov bx, strict word 00004h                ; bb 04 00
    61056032    mov dx, bx                                ; 89 da
    61066033    mov ax, 003b6h                            ; b8 b6 03
    6107     call 03467h                               ; e8 b1 ff
     6034    call 033c3h                               ; e8 6c ff
    61086035    mov cx, ax                                ; 89 c1
    61096036    cmp cx, strict byte 0ffffh                ; 83 f9 ff
    6110     je short 034ddh                           ; 74 20
     6037    je short 0347eh                           ; 74 20
    61116038    lea dx, [bx+002h]                         ; 8d 57 02
    61126039    mov ax, 003b6h                            ; b8 b6 03
    6113     call 03467h                               ; e8 a1 ff
     6040    call 033c3h                               ; e8 5c ff
    61146041    lea dx, [bx+044h]                         ; 8d 57 44
    6115     cmp cx, si                                ; 39 f1
    6116     jne short 034d9h                          ; 75 0c
    6117     test di, di                               ; 85 ff
    6118     jne short 034d5h                          ; 75 04
     6042    cmp cx, di                                ; 39 f9
     6043    jne short 0347ah                          ; 75 0c
     6044    test si, si                               ; 85 f6
     6045    jne short 03476h                          ; 75 04
    61196046    mov ax, bx                                ; 89 d8
    6120     jmp short 034dfh                          ; eb 0a
     6047    jmp short 03480h                          ; eb 0a
    61216048    test AL, strict byte 080h                 ; a8 80
    6122     jne short 034d1h                          ; 75 f8
     6049    jne short 03472h                          ; 75 f8
    61236050    mov bx, dx                                ; 89 d3
    6124     jmp short 034b0h                          ; eb d3
     6051    jmp short 03451h                          ; eb d3
    61256052    xor ax, ax                                ; 31 c0
    61266053    pop bp                                    ; 5d
     
    61306057    pop bx                                    ; 5b
    61316058    retn                                      ; c3
    6132 vbe_biosfn_return_controller_information_: ; 0xc34e5 LB 0x12d
     6059vbe_biosfn_return_controller_information_: ; 0xc3486 LB 0x124
    61336060    push cx                                   ; 51
    61346061    push si                                   ; 56
     
    61396066    mov word [bp-004h], bx                    ; 89 5e fc
    61406067    mov word [bp-006h], strict word 00022h    ; c7 46 fa 22 00
    6141     call 005b5h                               ; e8 ba d0
     6068    call 00597h                               ; e8 fb d0
    61426069    mov word [bp-00ah], ax                    ; 89 46 f6
    61436070    mov bx, word [bp-004h]                    ; 8b 5e fc
     
    61456072    xor dx, dx                                ; 31 d2
    61466073    mov ax, 003b6h                            ; b8 b6 03
    6147     call 03467h                               ; e8 5b ff
     6074    call 033c3h                               ; e8 16 ff
    61486075    cmp ax, 077cch                            ; 3d cc 77
    6149     je short 03524h                           ; 74 13
     6076    je short 034bch                           ; 74 0a
    61506077    push SS                                   ; 16
    61516078    pop ES                                    ; 07
    61526079    mov word [es:si], 00100h                  ; 26 c7 04 00 01
    6153     push 07f01h                               ; 68 01 7f
    6154     call 02f50h                               ; e8 32 fa
    6155     add sp, strict byte 00002h                ; 83 c4 02
    6156     jmp near 0360dh                           ; e9 e9 00
     6080    jmp near 035a5h                           ; e9 e9 00
    61576081    mov cx, strict word 00004h                ; b9 04 00
    61586082    mov word [bp-008h], strict word 00000h    ; c7 46 f8 00 00
    61596083    mov es, [bp-002h]                         ; 8e 46 fe
    61606084    cmp word [es:bx+002h], 03245h             ; 26 81 7f 02 45 32
    6161     jne short 0353eh                          ; 75 07
     6085    jne short 034d6h                          ; 75 07
    61626086    cmp word [es:bx], 04256h                  ; 26 81 3f 56 42
    6163     je short 0354dh                           ; 74 0f
     6087    je short 034e5h                           ; 74 0f
    61646088    cmp word [es:bx+002h], 04153h             ; 26 81 7f 02 53 41
    6165     jne short 03552h                          ; 75 0c
     6089    jne short 034eah                          ; 75 0c
    61666090    cmp word [es:bx], 04556h                  ; 26 81 3f 56 45
    6167     jne short 03552h                          ; 75 05
     6091    jne short 034eah                          ; 75 05
    61686092    mov word [bp-008h], strict word 00001h    ; c7 46 f8 01 00
    61696093    mov es, [bp-002h]                         ; 8e 46 fe
     
    61816105    mov dx, strict word 0ffffh                ; ba ff ff
    61826106    mov ax, 003b6h                            ; b8 b6 03
    6183     call 03467h                               ; e8 da fe
     6107    call 033c3h                               ; e8 9e fe
    61846108    mov es, [bp-002h]                         ; 8e 46 fe
    61856109    mov word [es:bx+012h], ax                 ; 26 89 47 12
    61866110    cmp word [bp-008h], strict byte 00000h    ; 83 7e f8 00
    6187     je short 035beh                           ; 74 24
     6111    je short 03556h                           ; 74 24
    61886112    mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
    61896113    mov word [es:bx+016h], 07e39h             ; 26 c7 47 16 39 7e
     
    61966120    add dx, strict byte 0001bh                ; 83 c2 1b
    61976121    mov ax, 003b6h                            ; b8 b6 03
    6198     call 03476h                               ; e8 ad fe
     6122    call 033d2h                               ; e8 71 fe
    61996123    xor ah, ah                                ; 30 e4
    62006124    cmp ax, word [bp-00ah]                    ; 3b 46 f6
    6201     jnbe short 035e9h                         ; 77 19
     6125    jnbe short 03581h                         ; 77 19
    62026126    mov dx, cx                                ; 89 ca
    62036127    mov ax, 003b6h                            ; b8 b6 03
    6204     call 03467h                               ; e8 8f fe
     6128    call 033c3h                               ; e8 53 fe
    62056129    mov bx, ax                                ; 89 c3
    62066130    mov dx, word [bp-004h]                    ; 8b 56 fc
    62076131    add dx, word [bp-006h]                    ; 03 56 fa
    62086132    mov ax, di                                ; 89 f8
    6209     call 02f1eh                               ; e8 39 f9
     6133    call 02f15h                               ; e8 98 f9
    62106134    add word [bp-006h], strict byte 00002h    ; 83 46 fa 02
    62116135    add cx, strict byte 00044h                ; 83 c1 44
    62126136    mov dx, cx                                ; 89 ca
    62136137    mov ax, 003b6h                            ; b8 b6 03
    6214     call 03467h                               ; e8 73 fe
     6138    call 033c3h                               ; e8 37 fe
    62156139    mov bx, ax                                ; 89 c3
    62166140    cmp ax, strict word 0ffffh                ; 3d ff ff
    6217     jne short 035beh                          ; 75 c3
     6141    jne short 03556h                          ; 75 c3
    62186142    mov dx, word [bp-004h]                    ; 8b 56 fc
    62196143    add dx, word [bp-006h]                    ; 03 56 fa
    62206144    mov ax, di                                ; 89 f8
    6221     call 02f1eh                               ; e8 18 f9
     6145    call 02f15h                               ; e8 77 f9
    62226146    push SS                                   ; 16
    62236147    pop ES                                    ; 07
     
    62286152    pop cx                                    ; 59
    62296153    retn                                      ; c3
    6230 vbe_biosfn_return_mode_information_:         ; 0xc3612 LB 0xb0
     6154vbe_biosfn_return_mode_information_:         ; 0xc35aa LB 0xb0
    62316155    push si                                   ; 56
    62326156    push di                                   ; 57
     
    62416165    xor dh, dh                                ; 30 f6
    62426166    and ah, 001h                              ; 80 e4 01
    6243     call 03487h                               ; e8 59 fe
     6167    call 03434h                               ; e8 6e fe
    62446168    mov word [bp-004h], ax                    ; 89 46 fc
    62456169    test ax, ax                               ; 85 c0
    6246     je near 036b3h                            ; 0f 84 7c 00
     6170    je near 0364bh                            ; 0f 84 7c 00
    62476171    mov cx, 00100h                            ; b9 00 01
    62486172    xor ax, ax                                ; 31 c0
     
    62506174    mov es, bx                                ; 8e c3
    62516175    cld                                       ; fc
    6252     jcxz 03646h                               ; e3 02
     6176    jcxz 035deh                               ; e3 02
    62536177    rep stosb                                 ; f3 aa
    62546178    xor cx, cx                                ; 31 c9
    6255     jmp short 0364fh                          ; eb 05
     6179    jmp short 035e7h                          ; eb 05
    62566180    cmp cx, strict byte 00042h                ; 83 f9 42
    6257     jnc short 0366ch                          ; 73 1d
     6181    jnc short 03604h                          ; 73 1d
    62586182    mov dx, word [bp-004h]                    ; 8b 56 fc
    62596183    inc dx                                    ; 42
     
    62616185    add dx, cx                                ; 01 ca
    62626186    mov ax, 003b6h                            ; b8 b6 03
    6263     call 03476h                               ; e8 1a fe
     6187    call 033d2h                               ; e8 de fd
    62646188    movzx bx, al                              ; 0f b6 d8
    62656189    mov dx, word [bp-002h]                    ; 8b 56 fe
    62666190    add dx, cx                                ; 01 ca
    62676191    mov ax, si                                ; 89 f0
    6268     call 02f02h                               ; e8 99 f8
    6269     inc cx                                    ; 41
    6270     jmp short 0364ah                          ; eb de
     6192    call 02ef9h                               ; e8 f8 f8
     6193    inc cx                                    ; 41
     6194    jmp short 035e2h                          ; eb de
    62716195    mov dx, word [bp-002h]                    ; 8b 56 fe
    62726196    inc dx                                    ; 42
    62736197    inc dx                                    ; 42
    62746198    mov ax, si                                ; 89 f0
    6275     call 02ef4h                               ; e8 7e f8
     6199    call 02eebh                               ; e8 dd f8
    62766200    test AL, strict byte 001h                 ; a8 01
    6277     je short 03696h                           ; 74 1c
     6201    je short 0362eh                           ; 74 1c
    62786202    mov dx, word [bp-002h]                    ; 8b 56 fe
    62796203    add dx, strict byte 0000ch                ; 83 c2 0c
    6280     mov bx, 00613h                            ; bb 13 06
    6281     mov ax, si                                ; 89 f0
    6282     call 02f1eh                               ; e8 96 f8
     6204    mov bx, 005f5h                            ; bb f5 05
     6205    mov ax, si                                ; 89 f0
     6206    call 02f15h                               ; e8 f5 f8
    62836207    mov dx, word [bp-002h]                    ; 8b 56 fe
    62846208    add dx, strict byte 0000eh                ; 83 c2 0e
    62856209    mov bx, 0c000h                            ; bb 00 c0
    62866210    mov ax, si                                ; 89 f0
    6287     call 02f1eh                               ; e8 88 f8
     6211    call 02f15h                               ; e8 e7 f8
    62886212    mov ax, strict word 0000bh                ; b8 0b 00
    62896213    mov dx, 001ceh                            ; ba ce 01
     
    62956219    mov bx, ax                                ; 89 c3
    62966220    mov ax, si                                ; 89 f0
    6297     call 02f1eh                               ; e8 70 f8
     6221    call 02f15h                               ; e8 cf f8
    62986222    mov ax, strict word 0004fh                ; b8 4f 00
    6299     jmp short 036b6h                          ; eb 03
     6223    jmp short 0364eh                          ; eb 03
    63006224    mov ax, 00100h                            ; b8 00 01
    63016225    push SS                                   ; 16
     
    63076231    pop si                                    ; 5e
    63086232    retn                                      ; c3
    6309 vbe_biosfn_set_mode_:                        ; 0xc36c2 LB 0xe4
     6233vbe_biosfn_set_mode_:                        ; 0xc365a LB 0xe4
    63106234    push si                                   ; 56
    63116235    push di                                   ; 57
     
    63196243    mov ax, dx                                ; 89 d0
    63206244    test dx, dx                               ; 85 d2
    6321     je short 036e0h                           ; 74 03
     6245    je short 03678h                           ; 74 03
    63226246    mov dx, strict word 00040h                ; ba 40 00
    63236247    mov byte [bp-002h], dl                    ; 88 56 fe
    63246248    test byte [bp-005h], 080h                 ; f6 46 fb 80
    6325     je short 036eeh                           ; 74 05
     6249    je short 03686h                           ; 74 05
    63266250    mov dx, 00080h                            ; ba 80 00
    6327     jmp short 036f0h                          ; eb 02
     6251    jmp short 03688h                          ; eb 02
    63286252    xor dx, dx                                ; 31 d2
    63296253    mov byte [bp-004h], dl                    ; 88 56 fc
    63306254    and byte [bp-005h], 001h                  ; 80 66 fb 01
    63316255    cmp word [bp-006h], 00100h                ; 81 7e fa 00 01
    6332     jnc short 03710h                          ; 73 12
     6256    jnc short 036a8h                          ; 73 12
    63336257    xor ax, ax                                ; 31 c0
    6334     call 005d7h                               ; e8 d4 ce
     6258    call 005b9h                               ; e8 1e cf
    63356259    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    6336     call 00fc1h                               ; e8 b7 d8
     6260    call 00fb8h                               ; e8 16 d9
    63376261    mov ax, strict word 0004fh                ; b8 4f 00
    6338     jmp near 0379fh                           ; e9 8f 00
     6262    jmp near 03737h                           ; e9 8f 00
    63396263    mov dx, ax                                ; 89 c2
    63406264    mov ax, word [bp-006h]                    ; 8b 46 fa
    6341     call 03487h                               ; e8 6f fd
     6265    call 03434h                               ; e8 84 fd
    63426266    mov bx, ax                                ; 89 c3
    63436267    test ax, ax                               ; 85 c0
    6344     je near 0379ch                            ; 0f 84 7c 00
     6268    je near 03734h                            ; 0f 84 7c 00
    63456269    lea dx, [bx+014h]                         ; 8d 57 14
    63466270    mov ax, 003b6h                            ; b8 b6 03
    6347     call 03467h                               ; e8 3e fd
     6271    call 033c3h                               ; e8 02 fd
    63486272    mov cx, ax                                ; 89 c1
    63496273    lea dx, [bx+016h]                         ; 8d 57 16
    63506274    mov ax, 003b6h                            ; b8 b6 03
    6351     call 03467h                               ; e8 33 fd
     6275    call 033c3h                               ; e8 f7 fc
    63526276    mov di, ax                                ; 89 c7
    63536277    lea dx, [bx+01bh]                         ; 8d 57 1b
    63546278    mov ax, 003b6h                            ; b8 b6 03
    6355     call 03476h                               ; e8 37 fd
     6279    call 033d2h                               ; e8 fb fc
    63566280    mov bl, al                                ; 88 c3
    63576281    mov dl, al                                ; 88 c2
    63586282    xor ax, ax                                ; 31 c0
    6359     call 005d7h                               ; e8 8f ce
     6283    call 005b9h                               ; e8 d9 ce
    63606284    cmp bl, 004h                              ; 80 fb 04
    6361     jne short 03753h                          ; 75 06
     6285    jne short 036ebh                          ; 75 06
    63626286    mov ax, strict word 0006ah                ; b8 6a 00
    6363     call 00fc1h                               ; e8 6e d8
     6287    call 00fb8h                               ; e8 cd d8
    63646288    movzx ax, dl                              ; 0f b6 c2
    6365     call 0344fh                               ; e8 f6 fc
     6289    call 033abh                               ; e8 ba fc
    63666290    mov ax, cx                                ; 89 c8
    6367     call 0341fh                               ; e8 c1 fc
     6291    call 0337bh                               ; e8 85 fc
    63686292    mov ax, di                                ; 89 f8
    6369     call 03437h                               ; e8 d4 fc
     6293    call 03393h                               ; e8 98 fc
    63706294    xor ax, ax                                ; 31 c0
    6371     call 005f5h                               ; e8 8d ce
     6295    call 005d7h                               ; e8 d7 ce
    63726296    mov al, byte [bp-004h]                    ; 8a 46 fc
    63736297    or AL, strict byte 001h                   ; 0c 01
     
    63756299    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe
    63766300    or ax, dx                                 ; 09 d0
    6377     call 005d7h                               ; e8 5e ce
    6378     call 006d1h                               ; e8 55 cf
     6301    call 005b9h                               ; e8 a8 ce
     6302    call 006b3h                               ; e8 9f cf
    63796303    mov bx, word [bp-006h]                    ; 8b 5e fa
    63806304    mov dx, 000bah                            ; ba ba 00
    63816305    mov ax, strict word 00040h                ; b8 40 00
    6382     call 02f1eh                               ; e8 96 f7
     6306    call 02f15h                               ; e8 f5 f7
    63836307    mov al, byte [bp-004h]                    ; 8a 46 fc
    63846308    or AL, strict byte 060h                   ; 0c 60
     
    63866310    mov dx, 00087h                            ; ba 87 00
    63876311    mov ax, strict word 00040h                ; b8 40 00
    6388     call 02f02h                               ; e8 69 f7
    6389     jmp near 0370ah                           ; e9 6e ff
     6312    call 02ef9h                               ; e8 c8 f7
     6313    jmp near 036a2h                           ; e9 6e ff
    63906314    mov ax, 00100h                            ; b8 00 01
    63916315    mov word [ss:si], ax                      ; 36 89 04
     
    63946318    pop si                                    ; 5e
    63956319    retn                                      ; c3
    6396 vbe_biosfn_read_video_state_size_:           ; 0xc37a6 LB 0x8
     6320vbe_biosfn_read_video_state_size_:           ; 0xc373e LB 0x8
    63976321    push bp                                   ; 55
    63986322    mov bp, sp                                ; 89 e5
     
    64006324    pop bp                                    ; 5d
    64016325    retn                                      ; c3
    6402 vbe_biosfn_save_video_state_:                ; 0xc37ae LB 0x58
     6326vbe_biosfn_save_video_state_:                ; 0xc3746 LB 0x58
    64036327    push bx                                   ; 53
    64046328    push cx                                   ; 51
     
    64176341    mov dx, cx                                ; 89 ca
    64186342    mov ax, di                                ; 89 f8
    6419     call 02f1eh                               ; e8 4d f7
     6343    call 02f15h                               ; e8 ac f7
    64206344    inc cx                                    ; 41
    64216345    inc cx                                    ; 41
    64226346    test byte [bp-002h], 001h                 ; f6 46 fe 01
    6423     je short 03800h                           ; 74 27
     6347    je short 03798h                           ; 74 27
    64246348    mov si, strict word 00001h                ; be 01 00
    6425     jmp short 037e3h                          ; eb 05
     6349    jmp short 0377bh                          ; eb 05
    64266350    cmp si, strict byte 00009h                ; 83 fe 09
    6427     jnbe short 03800h                         ; 77 1d
     6351    jnbe short 03798h                         ; 77 1d
    64286352    cmp si, strict byte 00004h                ; 83 fe 04
    6429     je short 037fdh                           ; 74 15
     6353    je short 03795h                           ; 74 15
    64306354    mov ax, si                                ; 89 f0
    64316355    mov dx, 001ceh                            ; ba ce 01
     
    64366360    mov dx, cx                                ; 89 ca
    64376361    mov ax, di                                ; 89 f8
    6438     call 02f1eh                               ; e8 23 f7
     6362    call 02f15h                               ; e8 82 f7
    64396363    inc cx                                    ; 41
    64406364    inc cx                                    ; 41
    64416365    inc si                                    ; 46
    6442     jmp short 037deh                          ; eb de
     6366    jmp short 03776h                          ; eb de
    64436367    leave                                     ; c9
    64446368    pop di                                    ; 5f
     
    64476371    pop bx                                    ; 5b
    64486372    retn                                      ; c3
    6449 vbe_biosfn_restore_video_state_:             ; 0xc3806 LB 0x98
     6373vbe_biosfn_restore_video_state_:             ; 0xc379e LB 0x98
    64506374    push bx                                   ; 53
    64516375    push cx                                   ; 51
     
    64546378    mov cx, ax                                ; 89 c1
    64556379    mov bx, dx                                ; 89 d3
    6456     call 02f10h                               ; e8 fc f6
     6380    call 02f07h                               ; e8 5b f7
    64576381    mov word [bp-002h], ax                    ; 89 46 fe
    64586382    inc bx                                    ; 43
    64596383    inc bx                                    ; 43
    64606384    test byte [bp-002h], 001h                 ; f6 46 fe 01
    6461     jne short 0382fh                          ; 75 10
     6385    jne short 037c7h                          ; 75 10
    64626386    mov ax, strict word 00004h                ; b8 04 00
    64636387    mov dx, 001ceh                            ; ba ce 01
     
    64666390    mov dx, 001cfh                            ; ba cf 01
    64676391    out DX, ax                                ; ef
    6468     jmp short 03899h                          ; eb 6a
     6392    jmp short 03831h                          ; eb 6a
    64696393    mov ax, strict word 00001h                ; b8 01 00
    64706394    mov dx, 001ceh                            ; ba ce 01
     
    64726396    mov dx, bx                                ; 89 da
    64736397    mov ax, cx                                ; 89 c8
    6474     call 02f10h                               ; e8 d3 f6
     6398    call 02f07h                               ; e8 32 f7
    64756399    mov dx, 001cfh                            ; ba cf 01
    64766400    out DX, ax                                ; ef
     
    64826406    mov dx, bx                                ; 89 da
    64836407    mov ax, cx                                ; 89 c8
    6484     call 02f10h                               ; e8 bf f6
     6408    call 02f07h                               ; e8 1e f7
    64856409    mov dx, 001cfh                            ; ba cf 01
    64866410    out DX, ax                                ; ef
     
    64926416    mov dx, bx                                ; 89 da
    64936417    mov ax, cx                                ; 89 c8
    6494     call 02f10h                               ; e8 ab f6
     6418    call 02f07h                               ; e8 0a f7
    64956419    mov dx, 001cfh                            ; ba cf 01
    64966420    out DX, ax                                ; ef
     
    65046428    out DX, ax                                ; ef
    65056429    mov si, strict word 00005h                ; be 05 00
    6506     jmp short 03883h                          ; eb 05
     6430    jmp short 0381bh                          ; eb 05
    65076431    cmp si, strict byte 00009h                ; 83 fe 09
    6508     jnbe short 03899h                         ; 77 16
     6432    jnbe short 03831h                         ; 77 16
    65096433    mov ax, si                                ; 89 f0
    65106434    mov dx, 001ceh                            ; ba ce 01
     
    65126436    mov dx, bx                                ; 89 da
    65136437    mov ax, cx                                ; 89 c8
    6514     call 02f10h                               ; e8 80 f6
     6438    call 02f07h                               ; e8 df f6
    65156439    mov dx, 001cfh                            ; ba cf 01
    65166440    out DX, ax                                ; ef
     
    65186442    inc bx                                    ; 43
    65196443    inc si                                    ; 46
    6520     jmp short 0387eh                          ; eb e5
     6444    jmp short 03816h                          ; eb e5
    65216445    leave                                     ; c9
    65226446    pop si                                    ; 5e
     
    65246448    pop bx                                    ; 5b
    65256449    retn                                      ; c3
    6526 vbe_biosfn_save_restore_state_:              ; 0xc389e LB 0x89
     6450vbe_biosfn_save_restore_state_:              ; 0xc3836 LB 0x89
    65276451    push si                                   ; 56
    65286452    push di                                   ; 57
     
    65356459    xor ah, ah                                ; 30 e4
    65366460    cmp ax, strict word 00002h                ; 3d 02 00
    6537     je short 038fdh                           ; 74 45
     6461    je short 03895h                           ; 74 45
    65386462    cmp ax, strict word 00001h                ; 3d 01 00
    6539     je short 038e1h                           ; 74 24
     6463    je short 03879h                           ; 74 24
    65406464    test ax, ax                               ; 85 c0
    6541     jne short 03919h                          ; 75 58
     6465    jne short 038b1h                          ; 75 58
    65426466    mov ax, word [bp-002h]                    ; 8b 46 fe
    6543     call 02815h                               ; e8 4e ef
     6467    call 0280ch                               ; e8 ad ef
    65446468    mov cx, ax                                ; 89 c1
    65456469    test byte [bp-002h], 008h                 ; f6 46 fe 08
    6546     je short 038d4h                           ; 74 05
    6547     call 037a6h                               ; e8 d4 fe
     6470    je short 0386ch                           ; 74 05
     6471    call 0373eh                               ; e8 d4 fe
    65486472    add ax, cx                                ; 01 c8
    65496473    add ax, strict word 0003fh                ; 05 3f 00
     
    65526476    pop ES                                    ; 07
    65536477    mov word [es:bx], ax                      ; 26 89 07
    6554     jmp short 0391ch                          ; eb 3b
     6478    jmp short 038b4h                          ; eb 3b
    65556479    push SS                                   ; 16
    65566480    pop ES                                    ; 07
     
    65586482    mov dx, cx                                ; 89 ca
    65596483    mov ax, word [bp-002h]                    ; 8b 46 fe
    6560     call 02847h                               ; e8 59 ef
     6484    call 0283eh                               ; e8 b8 ef
    65616485    test byte [bp-002h], 008h                 ; f6 46 fe 08
    6562     je short 0391ch                           ; 74 28
     6486    je short 038b4h                           ; 74 28
    65636487    mov dx, ax                                ; 89 c2
    65646488    mov ax, cx                                ; 89 c8
    6565     call 037aeh                               ; e8 b3 fe
    6566     jmp short 0391ch                          ; eb 1f
     6489    call 03746h                               ; e8 b3 fe
     6490    jmp short 038b4h                          ; eb 1f
    65676491    push SS                                   ; 16
    65686492    pop ES                                    ; 07
     
    65706494    mov dx, cx                                ; 89 ca
    65716495    mov ax, word [bp-002h]                    ; 8b 46 fe
    6572     call 02bach                               ; e8 a2 f2
     6496    call 02ba3h                               ; e8 01 f3
    65736497    test byte [bp-002h], 008h                 ; f6 46 fe 08
    6574     je short 0391ch                           ; 74 0c
     6498    je short 038b4h                           ; 74 0c
    65756499    mov dx, ax                                ; 89 c2
    65766500    mov ax, cx                                ; 89 c8
    6577     call 03806h                               ; e8 ef fe
    6578     jmp short 0391ch                          ; eb 03
     6501    call 0379eh                               ; e8 ef fe
     6502    jmp short 038b4h                          ; eb 03
    65796503    mov di, 00100h                            ; bf 00 01
    65806504    push SS                                   ; 16
     
    65866510    retn 00002h                               ; c2 02 00
    65876511
    6588   ; Padding 0xcd9 bytes at 0xc3927
    6589   times 3289 db 0
     6512  ; Padding 0xd41 bytes at 0xc38bf
     6513  times 3393 db 0
    65906514
    65916515section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO
     
    67216645section _DATA progbits vstart=0x4800 align=1 ; size=0x36e8 class=DATA group=DGROUP
    67226646_msg_vga_init:                               ; 0xc4800 LB 0x32
    6723     db  'Oracle VM VirtualBox Version 4.2.0_RC2 VGA BIOS', 00dh, 00ah, 000h
     6647    db  'Oracle VM VirtualBox Version 4.2.0_RC4 VGA BIOS', 00dh, 00ah, 000h
    67246648_vga_modes:                                  ; 0xc4832 LB 0x80
    67256649    db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     
    76097533    db  'Oracle VM VirtualBox VBE Adapter', 000h
    76107534_vbebios_product_revision:                   ; 0xc7e6d LB 0x27
    7611     db  'Oracle VM VirtualBox Version 4.2.0_RC2', 000h
     7535    db  'Oracle VM VirtualBox Version 4.2.0_RC4', 000h
    76127536_vbebios_info_string:                        ; 0xc7e94 LB 0x2b
    76137537    db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
     
    76157539    db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
    76167540
    7617 section CONST progbits vstart=0x7ee8 align=1 ; size=0x2e class=DATA group=DGROUP
    7618     db   'Signature NOT found! %x', 00ah, 000h
    7619     db   'Signature NOT found', 00ah, 000h
     7541section CONST progbits vstart=0x7ee8 align=1 ; size=0x0 class=DATA group=DGROUP
    76207542
    7621 section CONST2 progbits vstart=0x7f16 align=1 ; size=0x0 class=DATA group=DGROUP
     7543section CONST2 progbits vstart=0x7ee8 align=1 ; size=0x0 class=DATA group=DGROUP
    76227544
    7623   ; Padding 0xea bytes at 0xc7f16
    7624     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7625     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7626     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7627     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7628     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7629     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7630     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7631     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7632     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7633     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7634     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7635     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7636     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7637     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7638     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh
     7545  ; Padding 0x118 bytes at 0xc7ee8
     7546    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7547    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7548    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7549    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7550    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7551    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7552    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7553    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7554    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7555    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7556    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7557    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7558    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7559    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7560    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7561    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7562    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7563    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f1h
  • trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum

    r43078 r43257  
    1 54250906f009213dc80a23cc2201d899 *VBoxVgaBios.rom
     170389229f7e7c710e265d0d6008f117d *VBoxVgaBios.rom
  • trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm

    r43078 r43257  
    912912section CONST2 progbits vstart=0xcc4 align=1 ; size=0x3fe class=DATA group=DGROUP
    913913_bios_cvs_version_string:                    ; 0xf0cc4 LB 0x16
    914     db  'VirtualBox 4.2.0_RC2', 000h, 000h
     914    db  'VirtualBox 4.2.0_RC4', 000h, 000h
    915915_bios_prefix_string:                         ; 0xf0cda LB 0x8
    916916    db  'BIOS: ', 000h, 000h
     
    1516415164cpu_reset:                                   ; 0xffff0 LB 0x10
    1516515165    jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
    15166     db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0cdh
     15166    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0cbh
  • trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum

    r43078 r43257  
    1 6540183b9e43c8c9e7562cd549a7fd9b *VBoxPcBios.rom
     1ffabb374e7f00d18e0561b87add8e573 *VBoxPcBios.rom
  • trunk/src/bldprogs/checkUndefined.sh

    r40341 r43257  
    1 #! /bin/sh
     1#!/bin/sh
    22
    33#
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette