VirtualBox

Changeset 62178 in vbox for trunk/src/VBox/Devices/Graphics


Ignore:
Timestamp:
Jul 12, 2016 8:49:32 AM (8 years ago)
Author:
vboxsync
Message:

Devices: update alternative BIOS source and EFI binaries

Location:
trunk/src/VBox/Devices/Graphics/BIOS
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm

    r62120 r62178  
    16701670    xor bh, bh                                ; 30 ff
    16711671    sal bx, 003h                              ; c1 e3 03
    1672     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1672    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    16731673    jne short 00b68h                          ; 75 2c
    16741674    mul di                                    ; f7 e7
     
    16881688    add dx, dx                                ; 01 d2
    16891689    add dx, di                                ; 01 fa
    1690     mov ax, word [bx+04636h]                  ; 8b 87 36 46
     1690    mov ax, word [bx+04632h]                  ; 8b 87 32 46
    16911691    call 03181h                               ; e8 1c 26
    16921692    mov word [ss:si], ax                      ; 36 89 04
     
    17551755    mov dx, 0010ch                            ; ba 0c 01
    17561756    jmp short 00b99h                          ; eb c0
    1757     mov ax, 05bf0h                            ; b8 f0 5b
     1757    mov ax, 05bech                            ; b8 ec 5b
    17581758    mov dx, 0c000h                            ; ba 00 c0
    17591759    jmp short 00b9eh                          ; eb bd
    1760     mov ax, 053f0h                            ; b8 f0 53
     1760    mov ax, 053ech                            ; b8 ec 53
    17611761    jmp short 00bdch                          ; eb f6
    1762     mov ax, 057f0h                            ; b8 f0 57
     1762    mov ax, 057ech                            ; b8 ec 57
    17631763    jmp short 00bdch                          ; eb f1
    1764     mov ax, 079f0h                            ; b8 f0 79
     1764    mov ax, 079ech                            ; b8 ec 79
    17651765    jmp short 00bdch                          ; eb ec
    1766     mov ax, 069f0h                            ; b8 f0 69
     1766    mov ax, 069ech                            ; b8 ec 69
    17671767    jmp short 00bdch                          ; eb e7
    1768     mov ax, 07b1dh                            ; b8 1d 7b
     1768    mov ax, 07b19h                            ; b8 19 7b
    17691769    jmp short 00bdch                          ; eb e2
    17701770    jmp short 00bcbh                          ; eb cf
     
    17891789    xor bh, bh                                ; 30 ff
    17901790    sal bx, 003h                              ; c1 e3 03
    1791     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1791    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    17921792    jne short 00c30h                          ; 75 03
    17931793    jmp near 00d37h                           ; e9 07 01
    1794     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     1794    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    17951795    cmp bl, 003h                              ; 80 fb 03
    17961796    jc short 00c48h                           ; 72 0f
     
    18571857    xor bh, bh                                ; 30 ff
    18581858    sal bx, 003h                              ; c1 e3 03
    1859     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     1859    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    18601860    jne short 00cf8h                          ; 75 1b
    18611861    mov cx, si                                ; 89 f1
     
    21812181    mov si, bx                                ; 89 de
    21822182    sal si, 003h                              ; c1 e6 03
    2183     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     2183    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    21842184    jne short 00fbah                          ; 75 46
    21852185    mov dx, strict word 0004ah                ; ba 4a 00
     
    22142214    mul si                                    ; f7 e6
    22152215    jmp short 00fd0h                          ; eb 16
    2216     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     2216    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    22172217    xor ah, ah                                ; 30 e4
    22182218    mov bx, ax                                ; 89 c3
     
    22212221    xor ch, ch                                ; 30 ed
    22222222    mov ax, cx                                ; 89 c8
    2223     mul word [bx+046c9h]                      ; f7 a7 c9 46
     2223    mul word [bx+046c5h]                      ; f7 a7 c5 46
    22242224    mov bx, ax                                ; 89 c3
    22252225    mov dx, strict word 00063h                ; ba 63 00
     
    22952295    mov byte [bp-019h], 000h                  ; c6 46 e7 00
    22962296    mov bx, word [bp-01ah]                    ; 8b 5e e6
    2297     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     2297    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    22982298    mov byte [bp-00eh], al                    ; 88 46 f2
    22992299    mov bl, al                                ; 88 c3
    23002300    xor bh, bh                                ; 30 ff
    23012301    sal bx, 006h                              ; c1 e3 06
    2302     mov al, byte [bx+046c6h]                  ; 8a 87 c6 46
     2302    mov al, byte [bx+046c2h]                  ; 8a 87 c2 46
    23032303    xor ah, ah                                ; 30 e4
    23042304    mov word [bp-016h], ax                    ; 89 46 ea
    2305     mov al, byte [bx+046c7h]                  ; 8a 87 c7 46
     2305    mov al, byte [bx+046c3h]                  ; 8a 87 c3 46
    23062306    mov word [bp-014h], ax                    ; 89 46 ec
    2307     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     2307    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    23082308    mov word [bp-018h], ax                    ; 89 46 e8
    23092309    mov dx, 00087h                            ; ba 87 00
     
    23212321    mov bx, word [bp-01ah]                    ; 8b 5e e6
    23222322    sal bx, 003h                              ; c1 e3 03
    2323     mov al, byte [bx+04638h]                  ; 8a 87 38 46
     2323    mov al, byte [bx+04634h]                  ; 8a 87 34 46
    23242324    mov dx, 003c6h                            ; ba c6 03
    23252325    out DX, AL                                ; ee
     
    23272327    mov dx, 003c8h                            ; ba c8 03
    23282328    out DX, AL                                ; ee
    2329     mov bl, byte [bx+04639h]                  ; 8a 9f 39 46
     2329    mov bl, byte [bx+04635h]                  ; 8a 9f 35 46
    23302330    cmp bl, 001h                              ; 80 fb 01
    23312331    jc short 010ddh                           ; 72 0e
     
    23382338    test bl, bl                               ; 84 db
    23392339    jne short 010f3h                          ; 75 12
    2340     mov di, 04e46h                            ; bf 46 4e
     2340    mov di, 04e42h                            ; bf 42 4e
    23412341    jmp short 010f3h                          ; eb 0d
    2342     mov di, 04f06h                            ; bf 06 4f
     2342    mov di, 04f02h                            ; bf 02 4f
    23432343    jmp short 010f3h                          ; eb 08
    2344     mov di, 04fc6h                            ; bf c6 4f
     2344    mov di, 04fc2h                            ; bf c2 4f
    23452345    jmp short 010f3h                          ; eb 03
    2346     mov di, 05086h                            ; bf 86 50
     2346    mov di, 05082h                            ; bf 82 50
    23472347    xor bx, bx                                ; 31 db
    23482348    jmp short 010ffh                          ; eb 08
     
    23542354    mov si, ax                                ; 89 c6
    23552355    sal si, 003h                              ; c1 e6 03
    2356     mov al, byte [si+04639h]                  ; 8a 84 39 46
     2356    mov al, byte [si+04635h]                  ; 8a 84 35 46
    23572357    mov si, ax                                ; 89 c6
    2358     mov al, byte [si+046c2h]                  ; 8a 84 c2 46
     2358    mov al, byte [si+046beh]                  ; 8a 84 be 46
    23592359    cmp bx, ax                                ; 39 c3
    23602360    jnbe short 0112ch                         ; 77 15
     
    23972397    sal si, 006h                              ; c1 e6 06
    23982398    add si, bx                                ; 01 de
    2399     mov al, byte [si+046e9h]                  ; 8a 84 e9 46
     2399    mov al, byte [si+046e5h]                  ; 8a 84 e5 46
    24002400    out DX, AL                                ; ee
    24012401    inc bx                                    ; 43
     
    24232423    sal si, 006h                              ; c1 e6 06
    24242424    add si, bx                                ; 01 de
    2425     mov al, byte [si+046cah]                  ; 8a 84 ca 46
     2425    mov al, byte [si+046c6h]                  ; 8a 84 c6 46
    24262426    mov dx, 003c5h                            ; ba c5 03
    24272427    out DX, AL                                ; ee
     
    24402440    sal si, 006h                              ; c1 e6 06
    24412441    add si, bx                                ; 01 de
    2442     mov al, byte [si+046fdh]                  ; 8a 84 fd 46
     2442    mov al, byte [si+046f9h]                  ; 8a 84 f9 46
    24432443    mov dx, 003cfh                            ; ba cf 03
    24442444    out DX, AL                                ; ee
     
    24482448    xor bh, bh                                ; 30 ff
    24492449    sal bx, 003h                              ; c1 e3 03
    2450     cmp byte [bx+04634h], 001h                ; 80 bf 34 46 01
     2450    cmp byte [bx+04630h], 001h                ; 80 bf 30 46 01
    24512451    jne short 011e1h                          ; 75 05
    24522452    mov dx, 003b4h                            ; ba b4 03
     
    24702470    add di, bx                                ; 01 df
    24712471    lea dx, [si+001h]                         ; 8d 54 01
    2472     mov al, byte [di+046d0h]                  ; 8a 85 d0 46
     2472    mov al, byte [di+046cch]                  ; 8a 85 cc 46
    24732473    out DX, AL                                ; ee
    24742474    inc bx                                    ; 43
    24752475    jmp short 011eeh                          ; eb dd
    24762476    mov bx, cx                                ; 89 cb
    2477     mov al, byte [bx+046cfh]                  ; 8a 87 cf 46
     2477    mov al, byte [bx+046cbh]                  ; 8a 87 cb 46
    24782478    mov dx, 003c2h                            ; ba c2 03
    24792479    out DX, AL                                ; ee
     
    24902490    xor bh, ch                                ; 30 ef
    24912491    sal bx, 003h                              ; c1 e3 03
    2492     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2492    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    24932493    jne short 0124fh                          ; 75 13
    2494     mov es, [bx+04636h]                       ; 8e 87 36 46
     2494    mov es, [bx+04632h]                       ; 8e 87 32 46
    24952495    mov cx, 04000h                            ; b9 00 40
    24962496    mov ax, 00720h                            ; b8 20 07
     
    25022502    cmp byte [bp-00ch], 00dh                  ; 80 7e f4 0d
    25032503    jnc short 01267h                          ; 73 12
    2504     mov es, [bx+04636h]                       ; 8e 87 36 46
     2504    mov es, [bx+04632h]                       ; 8e 87 32 46
    25052505    mov cx, 04000h                            ; b9 00 40
    25062506    xor ax, ax                                ; 31 c0
     
    25202520    mov AL, strict byte 00fh                  ; b0 0f
    25212521    out DX, AL                                ; ee
    2522     mov es, [bx+04636h]                       ; 8e 87 36 46
     2522    mov es, [bx+04632h]                       ; 8e 87 32 46
    25232523    mov cx, 08000h                            ; b9 00 80
    25242524    xor ax, ax                                ; 31 c0
     
    25412541    xor bh, bh                                ; 30 ff
    25422542    sal bx, 006h                              ; c1 e3 06
    2543     mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     2543    mov bx, word [bx+046c5h]                  ; 8b 9f c5 46
    25442544    mov dx, strict word 0004ch                ; ba 4c 00
    25452545    mov ax, strict word 00040h                ; b8 40 00
     
    25822582    call 03173h                               ; e8 50 1e
    25832583    mov cx, ds                                ; 8c d9
    2584     mov bx, 053d4h                            ; bb d4 53
     2584    mov bx, 053d0h                            ; bb d0 53
    25852585    mov dx, 000a8h                            ; ba a8 00
    25862586    mov ax, strict word 00040h                ; b8 40 00
     
    25972597    xor bh, bh                                ; 30 ff
    25982598    sal bx, 003h                              ; c1 e3 03
    2599     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2599    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    26002600    jne short 0135fh                          ; 75 09
    26012601    mov dx, strict word 00007h                ; ba 07 00
     
    26172617    xor bh, bh                                ; 30 ff
    26182618    sal bx, 003h                              ; c1 e3 03
    2619     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2619    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    26202620    jne short 01398h                          ; 75 10
    26212621    xor bl, bl                                ; 30 db
     
    26272627    mov AH, strict byte 011h                  ; b4 11
    26282628    int 010h                                  ; cd 10
    2629     mov dx, 057f0h                            ; ba f0 57
     2629    mov dx, 057ech                            ; ba ec 57
    26302630    mov ax, strict word 0001fh                ; b8 1f 00
    26312631    call 00a00h                               ; e8 5f f6
     
    26372637    cmp ax, strict word 00008h                ; 3d 08 00
    26382638    jne short 013c8h                          ; 75 15
    2639     mov dx, 053f0h                            ; ba f0 53
     2639    mov dx, 053ech                            ; ba ec 53
    26402640    mov ax, strict word 00043h                ; b8 43 00
    26412641    call 00a00h                               ; e8 44 f6
    26422642    jmp short 013c8h                          ; eb 0a
    2643     mov dx, 05bf0h                            ; ba f0 5b
     2643    mov dx, 05bech                            ; ba ec 5b
    26442644    jmp short 013b6h                          ; eb f3
    2645     mov dx, 069f0h                            ; ba f0 69
     2645    mov dx, 069ech                            ; ba ec 69
    26462646    jmp short 013b6h                          ; eb ee
    26472647    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    30313031    mul cx                                    ; f7 e1
    30323032    mov si, ax                                ; 89 c6
    3033     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     3033    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    30343034    jne short 01758h                          ; 75 51
    30353035    add ax, ax                                ; 01 c0
     
    30593059    sal ax, 008h                              ; c1 e0 08
    30603060    add ax, strict word 00020h                ; 05 20 00
    3061     mov es, [di+04636h]                       ; 8e 85 36 46
     3061    mov es, [di+04632h]                       ; 8e 85 32 46
    30623062    mov cx, si                                ; 89 f1
    30633063    mov di, bx                                ; 89 df
     
    31033103    mov si, ax                                ; 89 c6
    31043104    sal si, 003h                              ; c1 e6 03
    3105     mov es, [si+04636h]                       ; 8e 84 36 46
     3105    mov es, [si+04632h]                       ; 8e 84 32 46
    31063106    mov ax, word [bp-01eh]                    ; 8b 46 e2
    31073107    cld                                       ; fc
     
    31243124    mov si, ax                                ; 89 c6
    31253125    sal si, 003h                              ; c1 e6 03
    3126     mov ax, word [si+04636h]                  ; 8b 84 36 46
     3126    mov ax, word [si+04632h]                  ; 8b 84 32 46
    31273127    mov word [bp-01eh], ax                    ; 89 46 e2
    31283128    mov ax, word [bp-016h]                    ; 8b 46 ea
     
    31753175    mov si, ax                                ; 89 c6
    31763176    sal si, 003h                              ; c1 e6 03
    3177     mov es, [si+04636h]                       ; 8e 84 36 46
     3177    mov es, [si+04632h]                       ; 8e 84 32 46
    31783178    mov ax, word [bp-01eh]                    ; 8b 46 e2
    31793179    cld                                       ; fc
     
    31983198    mov si, ax                                ; 89 c6
    31993199    sal si, 003h                              ; c1 e6 03
    3200     mov ax, word [si+04636h]                  ; 8b 84 36 46
     3200    mov ax, word [si+04632h]                  ; 8b 84 32 46
    32013201    mov word [bp-014h], ax                    ; 89 46 ec
    32023202    mov ax, word [bp-016h]                    ; 8b 46 ea
     
    32223222    dec word [bp-016h]                        ; ff 4e ea
    32233223    jmp near 0181ch                           ; e9 46 ff
    3224     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     3224    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    32253225    xor ah, ah                                ; 30 e4
    32263226    mov bx, ax                                ; 89 c3
    32273227    sal bx, 006h                              ; c1 e3 06
    3228     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     3228    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    32293229    mov byte [bp-012h], al                    ; 88 46 ee
    3230     mov bl, byte [di+04634h]                  ; 8a 9d 34 46
     3230    mov bl, byte [di+04630h]                  ; 8a 9d 30 46
    32313231    cmp bl, 004h                              ; 80 fb 04
    32323232    je short 018feh                           ; 74 0d
     
    32723272    mov bx, dx                                ; 89 d3
    32733273    sal bx, 003h                              ; c1 e3 03
    3274     mov es, [bx+04636h]                       ; 8e 87 36 46
     3274    mov es, [bx+04632h]                       ; 8e 87 32 46
    32753275    xor di, di                                ; 31 ff
    32763276    cld                                       ; fc
     
    33803380    dec word [bp-016h]                        ; ff 4e ea
    33813381    jmp short 019efh                          ; eb 92
    3382     mov bl, byte [di+04635h]                  ; 8a 9d 35 46
     3382    mov bl, byte [di+04631h]                  ; 8a 9d 31 46
    33833383    cmp byte [bp-006h], 000h                  ; 80 7e fa 00
    33843384    jne short 01aa5h                          ; 75 3e
     
    34003400    mul bx                                    ; f7 e3
    34013401    mov bl, byte [bp-010h]                    ; 8a 5e f0
    3402     mov es, [di+04636h]                       ; 8e 85 36 46
     3402    mov es, [di+04632h]                       ; 8e 85 32 46
    34033403    mov cx, ax                                ; 89 c1
    34043404    mov ax, bx                                ; 89 d8
     
    35253525    cmp byte [bp+006h], 00eh                  ; 80 7e 06 0e
    35263526    jne short 01bcah                          ; 75 0a
    3527     mov di, 05bf0h                            ; bf f0 5b
     3527    mov di, 05bech                            ; bf ec 5b
    35283528    jmp short 01bcdh                          ; eb 08
    3529     mov di, 069f0h                            ; bf f0 69
     3529    mov di, 069ech                            ; bf ec 69
    35303530    jmp short 01bcdh                          ; eb 03
    3531     mov di, 053f0h                            ; bf f0 53
     3531    mov di, 053ech                            ; bf ec 53
    35323532    xor ah, ah                                ; 30 e4
    35333533    mov bx, ax                                ; 89 c3
     
    36293629    mov byte [bp-008h], dl                    ; 88 56 f8
    36303630    mov al, bl                                ; 88 d8
    3631     mov si, 053f0h                            ; be f0 53
     3631    mov si, 053ech                            ; be ec 53
    36323632    xor ah, ah                                ; 30 e4
    36333633    mov bx, ax                                ; 89 c3
     
    37643764    mov byte [bp-006h], bl                    ; 88 5e fa
    37653765    mov al, cl                                ; 88 c8
    3766     mov si, 053f0h                            ; be f0 53
     3766    mov si, 053ech                            ; be ec 53
    37673767    xor ah, ah                                ; 30 e4
    37683768    mov bl, byte [bp+004h]                    ; 8a 5e 04
     
    38773877    mov di, ax                                ; 89 c7
    38783878    sal di, 003h                              ; c1 e7 03
    3879     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     3879    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    38803880    jne short 01f49h                          ; 75 52
    38813881    mov ax, bx                                ; 89 d8
     
    39083908    mov word [bp-01ah], bx                    ; 89 5e e6
    39093909    mov ax, word [bp-01ah]                    ; 8b 46 e6
    3910     mov es, [di+04636h]                       ; 8e 85 36 46
     3910    mov es, [di+04632h]                       ; 8e 85 32 46
    39113911    mov cx, si                                ; 89 f1
    39123912    mov di, dx                                ; 89 d7
     
    39163916    jmp near 02004h                           ; e9 bb 00
    39173917    mov bx, ax                                ; 89 c3
    3918     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     3918    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    39193919    mov bx, ax                                ; 89 c3
    39203920    sal bx, 006h                              ; c1 e3 06
    3921     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     3921    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    39223922    mov byte [bp-00eh], al                    ; 88 46 f2
    3923     mov al, byte [di+04635h]                  ; 8a 85 35 46
     3923    mov al, byte [di+04631h]                  ; 8a 85 31 46
    39243924    mov byte [bp-010h], al                    ; 88 46 f0
    39253925    dec si                                    ; 4e
     
    39343934    mov bx, ax                                ; 89 c3
    39353935    sal bx, 003h                              ; c1 e3 03
    3936     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     3936    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    39373937    cmp AL, strict byte 003h                  ; 3c 03
    39383938    jc short 01f91h                           ; 72 0c
     
    40464046    mov di, bx                                ; 89 df
    40474047    sal bx, 003h                              ; c1 e3 03
    4048     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     4048    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    40494049    jne short 020d3h                          ; 75 47
    40504050    mul word [bp-01ah]                        ; f7 66 e6
     
    40734073    mov bx, ax                                ; 89 c3
    40744074    sal bx, 003h                              ; c1 e3 03
    4075     mov ax, word [bx+04636h]                  ; 8b 87 36 46
     4075    mov ax, word [bx+04632h]                  ; 8b 87 32 46
    40764076    mov bx, dx                                ; 89 d3
    40774077    mov dx, cx                                ; 89 ca
     
    40804080    inc cx                                    ; 41
    40814081    jmp short 020afh                          ; eb dc
    4082     mov al, byte [di+046b2h]                  ; 8a 85 b2 46
     4082    mov al, byte [di+046aeh]                  ; 8a 85 ae 46
    40834083    xor ah, ah                                ; 30 e4
    40844084    mov di, ax                                ; 89 c7
    40854085    sal di, 006h                              ; c1 e7 06
    4086     mov al, byte [di+046c8h]                  ; 8a 85 c8 46
     4086    mov al, byte [di+046c4h]                  ; 8a 85 c4 46
    40874087    mov byte [bp-012h], al                    ; 88 46 ee
    4088     mov al, byte [bx+04635h]                  ; 8a 87 35 46
     4088    mov al, byte [bx+04631h]                  ; 8a 87 31 46
    40894089    mov byte [bp-016h], al                    ; 88 46 ea
    40904090    dec si                                    ; 4e
     
    40984098    mov bx, ax                                ; 89 c3
    40994099    sal bx, 003h                              ; c1 e3 03
    4100     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     4100    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    41014101    cmp bl, 003h                              ; 80 fb 03
    41024102    jc short 0211ch                           ; 72 0f
     
    41864186    mov bx, ax                                ; 89 c3
    41874187    sal bx, 003h                              ; c1 e3 03
    4188     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     4188    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    41894189    je short 021edh                           ; 74 18
    4190     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     4190    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    41914191    cmp AL, strict byte 003h                  ; 3c 03
    41924192    jc short 021e9h                           ; 72 0c
     
    42484248    shr ax, 1                                 ; d1 e8
    42494249    imul ax, ax, strict byte 00050h           ; 6b c0 50
    4250     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     4250    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    42514251    jne short 02276h                          ; 75 08
    42524252    mov bx, word [bp-00ah]                    ; 8b 5e f6
     
    42684268    mov si, ax                                ; 89 c6
    42694269    sal si, 003h                              ; c1 e6 03
    4270     cmp byte [si+04635h], 002h                ; 80 bc 35 46 02
     4270    cmp byte [si+04631h], 002h                ; 80 bc 31 46 02
    42714271    jne short 022bfh                          ; 75 19
    42724272    mov al, byte [bp-00ah]                    ; 8a 46 f6
     
    43924392    mov si, bx                                ; 89 de
    43934393    sal si, 003h                              ; c1 e6 03
    4394     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     4394    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    43954395    jne short 02427h                          ; 75 4e
    43964396    mov ax, word [bp-018h]                    ; 8b 46 e8
     
    44144414    add cx, ax                                ; 01 c1
    44154415    mov bl, byte [bp-00eh]                    ; 8a 5e f2
    4416     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4416    mov ax, word [si+04632h]                  ; 8b 84 32 46
    44174417    mov dx, cx                                ; 89 ca
    44184418    call 03173h                               ; e8 63 0d
     
    44234423    mov dx, cx                                ; 89 ca
    44244424    inc dx                                    ; 42
    4425     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4425    mov ax, word [si+04632h]                  ; 8b 84 32 46
    44264426    call 03173h                               ; e8 4e 0d
    44274427    jmp short 02470h                          ; eb 49
    4428     mov bl, byte [bx+046b2h]                  ; 8a 9f b2 46
     4428    mov bl, byte [bx+046aeh]                  ; 8a 9f ae 46
    44294429    sal bx, 006h                              ; c1 e3 06
    4430     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
    4431     mov ah, byte [si+04635h]                  ; 8a a4 35 46
    4432     mov cl, byte [si+04634h]                  ; 8a 8c 34 46
     4430    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
     4431    mov ah, byte [si+04631h]                  ; 8a a4 31 46
     4432    mov cl, byte [si+04630h]                  ; 8a 8c 30 46
    44334433    cmp cl, 003h                              ; 80 f9 03
    44344434    jc short 0244dh                           ; 72 0e
     
    45124512    ; dec al                                    ; fe c8
    45134513    mov byte [bp-00ah], al                    ; 88 46 f6
    4514     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     4514    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    45154515    jne short 02549h                          ; 75 4c
    45164516    mov ax, word [bp-018h]                    ; 8b 46 e8
     
    45334533    add dx, ax                                ; 01 c2
    45344534    inc dx                                    ; 42
    4535     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4535    mov ax, word [si+04632h]                  ; 8b 84 32 46
    45364536    call 03165h                               ; e8 36 0c
    45374537    push strict byte 00001h                   ; 6a 01
     
    48204820    sal di, 005h                              ; c1 e7 05
    48214821    add di, word [bp-00ch]                    ; 03 7e f4
    4822     add si, 05bf0h                            ; 81 c6 f0 5b
     4822    add si, 05bech                            ; 81 c6 ec 5b
    48234823    mov cx, strict word 0000eh                ; b9 0e 00
    48244824    mov dx, 0c000h                            ; ba 00 c0
     
    48754875    sal di, 005h                              ; c1 e7 05
    48764876    add di, word [bp-00ch]                    ; 03 7e f4
    4877     add si, 053f0h                            ; 81 c6 f0 53
     4877    add si, 053ech                            ; 81 c6 ec 53
    48784878    mov cx, strict word 00008h                ; b9 08 00
    48794879    mov dx, 0c000h                            ; ba 00 c0
     
    49304930    sal di, 005h                              ; c1 e7 05
    49314931    add di, word [bp-00ch]                    ; 03 7e f4
    4932     add si, 069f0h                            ; 81 c6 f0 69
     4932    add si, 069ech                            ; 81 c6 ec 69
    49334933    mov cx, strict word 00010h                ; b9 10 00
    49344934    mov dx, 0c000h                            ; ba 00 c0
     
    50715071    push bx                                   ; 53
    50725072    mov cx, ds                                ; 8c d9
    5073     mov bx, 05386h                            ; bb 86 53
     5073    mov bx, 05382h                            ; bb 82 53
    50745074    mov dx, word [bp-00ah]                    ; 8b 56 f6
    50755075    mov ax, word [bp-008h]                    ; 8b 46 f8
     
    60086008    xor bh, bh                                ; 30 ff
    60096009    sal bx, 003h                              ; c1 e3 03
    6010     cmp dl, byte [bx+04632h]                  ; 3a 97 32 46
     6010    cmp dl, byte [bx+0462eh]                  ; 3a 97 2e 46
    60116011    jne short 0314ah                          ; 75 ed
    60126012    mov ah, al                                ; 88 c4
     
    67216721    mov word [es:bx+002h], 04153h             ; 26 c7 47 02 53 41
    67226722    mov word [es:bx+004h], 00200h             ; 26 c7 47 04 00 02
    6723     mov word [es:bx+006h], 07c62h             ; 26 c7 47 06 62 7c
     6723    mov word [es:bx+006h], 07c5eh             ; 26 c7 47 06 5e 7c
    67246724    mov [es:bx+008h], ds                      ; 26 8c 5f 08
    67256725    mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00
     
    67376737    je short 037e2h                           ; 74 24
    67386738    mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
    6739     mov word [es:bx+016h], 07c77h             ; 26 c7 47 16 77 7c
     6739    mov word [es:bx+016h], 07c73h             ; 26 c7 47 16 73 7c
    67406740    mov [es:bx+018h], ds                      ; 26 8c 5f 18
    6741     mov word [es:bx+01ah], 07c8ah             ; 26 c7 47 1a 8a 7c
     6741    mov word [es:bx+01ah], 07c86h             ; 26 c7 47 1a 86 7c
    67426742    mov [es:bx+01ch], ds                      ; 26 8c 5f 1c
    6743     mov word [es:bx+01eh], 07cabh             ; 26 c7 47 1e ab 7c
     6743    mov word [es:bx+01eh], 07ca7h             ; 26 c7 47 1e a7 7c
    67446744    mov [es:bx+020h], ds                      ; 26 8c 5f 20
    67456745    mov dx, cx                                ; 89 ca
     
    72927292  times 235 db 0
    72937293
    7294 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP
    7295 _msg_vga_init:                               ; 0xc4600 LB 0x32
    7296     db  'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h
    7297 _vga_modes:                                  ; 0xc4632 LB 0x80
     7294section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
     7295_msg_vga_init:                               ; 0xc4600 LB 0x2e
     7296    db  'Oracle VM VirtualBox Version 5.1.0 VGA BIOS', 00dh, 00ah, 000h
     7297_vga_modes:                                  ; 0xc462e LB 0x80
    72987298    db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
    72997299    db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     
    73047304    db  011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    73057305    db  013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    7306 _line_to_vpti:                               ; 0xc46b2 LB 0x10
     7306_line_to_vpti:                               ; 0xc46ae LB 0x10
    73077307    db  017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh
    7308 _dac_regs:                                   ; 0xc46c2 LB 0x4
     7308_dac_regs:                                   ; 0xc46be LB 0x4
    73097309    dd  0ff3f3f3fh
    7310 _video_param_table:                          ; 0xc46c6 LB 0x780
     7310_video_param_table:                          ; 0xc46c2 LB 0x780
    73117311    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    73127312    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     
    74297429    db  073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch
    74307430    db  03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh
    7431 _palette0:                                   ; 0xc4e46 LB 0xc0
     7431_palette0:                                   ; 0xc4e42 LB 0xc0
    74327432    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    74337433    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
     
    74427442    db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    74437443    db  03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    7444 _palette1:                                   ; 0xc4f06 LB 0xc0
     7444_palette1:                                   ; 0xc4f02 LB 0xc0
    74457445    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    74467446    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah
     
    74557455    db  015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    74567456    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    7457 _palette2:                                   ; 0xc4fc6 LB 0xc0
     7457_palette2:                                   ; 0xc4fc2 LB 0xc0
    74587458    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    74597459    db  000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah
     
    74687468    db  015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    74697469    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    7470 _palette3:                                   ; 0xc5086 LB 0x300
     7470_palette3:                                   ; 0xc5082 LB 0x300
    74717471    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    74727472    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     
    75177517    db  00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    75187518    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7519 _static_functionality:                       ; 0xc5386 LB 0x10
     7519_static_functionality:                       ; 0xc5382 LB 0x10
    75207520    db  0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h
    7521 _dcc_table:                                  ; 0xc5396 LB 0x24
     7521_dcc_table:                                  ; 0xc5392 LB 0x24
    75227522    db  010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    75237523    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    75247524    db  000h, 000h, 000h, 000h
    7525 _secondary_save_area:                        ; 0xc53ba LB 0x1a
    7526     db  01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7525_secondary_save_area:                        ; 0xc53b6 LB 0x1a
     7526    db  01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    75277527    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7528 _video_save_pointer_table:                   ; 0xc53d4 LB 0x1c
    7529     db  0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7530     db  0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7531 _vgafont8:                                   ; 0xc53f0 LB 0x800
     7528_video_save_pointer_table:                   ; 0xc53d0 LB 0x1c
     7529    db  0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7530    db  0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7531_vgafont8:                                   ; 0xc53ec LB 0x800
    75327532    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
    75337533    db  07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
     
    76587658    db  078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h
    76597659    db  000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7660 _vgafont14:                                  ; 0xc5bf0 LB 0xe00
     7660_vgafont14:                                  ; 0xc5bec LB 0xe00
    76617661    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    76627662    db  07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh
     
    78837883    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h
    78847884    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7885 _vgafont16:                                  ; 0xc69f0 LB 0x1000
     7885_vgafont16:                                  ; 0xc69ec LB 0x1000
    78867886    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    78877887    db  000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h
     
    81408140    db  000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h
    81418141    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8142 _vgafont14alt:                               ; 0xc79f0 LB 0x12d
     8142_vgafont14alt:                               ; 0xc79ec LB 0x12d
    81438143    db  01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h
    81448144    db  000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h
     
    81608160    db  000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h
    81618161    db  018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h
    8162 _vgafont16alt:                               ; 0xc7b1d LB 0x145
     8162_vgafont16alt:                               ; 0xc7b19 LB 0x145
    81638163    db  01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h
    81648164    db  000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h
     
    81828182    db  000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h
    81838183    db  006h, 000h, 000h, 000h, 000h
    8184 _vbebios_copyright:                          ; 0xc7c62 LB 0x15
     8184_vbebios_copyright:                          ; 0xc7c5e LB 0x15
    81858185    db  'VirtualBox VESA BIOS', 000h
    8186 _vbebios_vendor_name:                        ; 0xc7c77 LB 0x13
     8186_vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
    81878187    db  'Oracle Corporation', 000h
    8188 _vbebios_product_name:                       ; 0xc7c8a LB 0x21
     8188_vbebios_product_name:                       ; 0xc7c86 LB 0x21
    81898189    db  'Oracle VM VirtualBox VBE Adapter', 000h
    8190 _vbebios_product_revision:                   ; 0xc7cab LB 0x27
    8191     db  'Oracle VM VirtualBox Version 5.1.0_RC1', 000h
    8192 _vbebios_info_string:                        ; 0xc7cd2 LB 0x2b
     8190_vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
     8191    db  'Oracle VM VirtualBox Version 5.1.0', 000h
     8192_vbebios_info_string:                        ; 0xc7cca LB 0x2b
    81938193    db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
    8194 _no_vbebios_info_string:                     ; 0xc7cfd LB 0x29
     8194_no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
    81958195    db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
    81968196
    8197 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     8197section CONST progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    81988198
    8199 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     8199section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    82008200
    8201   ; Padding 0x2da bytes at 0xc7d26
     8201  ; Padding 0x2e2 bytes at 0xc7d1e
    82028202    db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
    82038203    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
     
    82458245    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    82468246    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8247     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 077h
     8247    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     8248    db  000h, 049h
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum

    r62120 r62178  
    1 7b7edc92d5231f13f7faea9c13b059d8 *VBoxVgaBios286.rom
     1e9e35e150378e349671b5249d7cc6bd7 *VBoxVgaBios286.rom
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm

    r62120 r62178  
    16521652    movzx bx, ch                              ; 0f b6 dd
    16531653    sal bx, 003h                              ; c1 e3 03
    1654     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1654    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    16551655    jne short 00b5ah                          ; 75 2d
    16561656    mov dx, ax                                ; 89 c2
     
    16681668    mov dx, cx                                ; 89 ca
    16691669    add dx, ax                                ; 01 c2
    1670     mov ax, word [bx+04636h]                  ; 8b 87 36 46
     1670    mov ax, word [bx+04632h]                  ; 8b 87 32 46
    16711671    call 02f5ah                               ; e8 03 24
    16721672    mov word [ss:si], ax                      ; 36 89 04
     
    17341734    mov dx, 0010ch                            ; ba 0c 01
    17351735    jmp short 00b91h                          ; eb bf
    1736     mov ax, 05bf0h                            ; b8 f0 5b
     1736    mov ax, 05bech                            ; b8 ec 5b
    17371737    mov dx, 0c000h                            ; ba 00 c0
    17381738    jmp short 00b96h                          ; eb bc
    1739     mov ax, 053f0h                            ; b8 f0 53
     1739    mov ax, 053ech                            ; b8 ec 53
    17401740    jmp short 00bd5h                          ; eb f6
    1741     mov ax, 057f0h                            ; b8 f0 57
     1741    mov ax, 057ech                            ; b8 ec 57
    17421742    jmp short 00bd5h                          ; eb f1
    1743     mov ax, 079f0h                            ; b8 f0 79
     1743    mov ax, 079ech                            ; b8 ec 79
    17441744    jmp short 00bd5h                          ; eb ec
    1745     mov ax, 069f0h                            ; b8 f0 69
     1745    mov ax, 069ech                            ; b8 ec 69
    17461746    jmp short 00bd5h                          ; eb e7
    1747     mov ax, 07b1dh                            ; b8 1d 7b
     1747    mov ax, 07b19h                            ; b8 19 7b
    17481748    jmp short 00bd5h                          ; eb e2
    17491749    jmp short 00bc4h                          ; eb cf
     
    17671767    movzx bx, al                              ; 0f b6 d8
    17681768    sal bx, 003h                              ; c1 e3 03
    1769     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1769    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    17701770    je near 00d27h                            ; 0f 84 fe 00
    1771     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     1771    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    17721772    cmp bl, 003h                              ; 80 fb 03
    17731773    jc short 00c43h                           ; 72 11
     
    18281828    movzx bx, cl                              ; 0f b6 d9
    18291829    sal bx, 003h                              ; c1 e3 03
    1830     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     1830    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    18311831    jne short 00cebh                          ; 75 1b
    18321832    mov cx, si                                ; 89 f1
     
    21292129    mov si, bx                                ; 89 de
    21302130    sal si, 003h                              ; c1 e6 03
    2131     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     2131    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    21322132    jne short 00f83h                          ; 75 40
    21332133    mov dx, strict word 0004ah                ; ba 4a 00
     
    21562156    imul bx, di                               ; 0f af df
    21572157    jmp short 00f95h                          ; eb 12
    2158     movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     2158    movzx bx, byte [bx+046aeh]                ; 0f b6 9f ae 46
    21592159    sal bx, 006h                              ; c1 e3 06
    21602160    movzx ax, cl                              ; 0f b6 c1
    2161     mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     2161    mov bx, word [bx+046c5h]                  ; 8b 9f c5 46
    21622162    imul bx, ax                               ; 0f af d8
    21632163    mov dx, strict word 00063h                ; ba 63 00
     
    22272227    je near 01363h                            ; 0f 84 43 03
    22282228    movzx si, al                              ; 0f b6 f0
    2229     mov al, byte [si+046b2h]                  ; 8a 84 b2 46
     2229    mov al, byte [si+046aeh]                  ; 8a 84 ae 46
    22302230    mov byte [bp-00eh], al                    ; 88 46 f2
    22312231    movzx bx, al                              ; 0f b6 d8
    22322232    sal bx, 006h                              ; c1 e3 06
    2233     movzx ax, byte [bx+046c6h]                ; 0f b6 87 c6 46
     2233    movzx ax, byte [bx+046c2h]                ; 0f b6 87 c2 46
    22342234    mov word [bp-018h], ax                    ; 89 46 e8
    2235     movzx ax, byte [bx+046c7h]                ; 0f b6 87 c7 46
     2235    movzx ax, byte [bx+046c3h]                ; 0f b6 87 c3 46
    22362236    mov word [bp-016h], ax                    ; 89 46 ea
    2237     movzx ax, byte [bx+046c8h]                ; 0f b6 87 c8 46
     2237    movzx ax, byte [bx+046c4h]                ; 0f b6 87 c4 46
    22382238    mov word [bp-014h], ax                    ; 89 46 ec
    22392239    mov dx, 00087h                            ; ba 87 00
     
    22512251    mov bx, si                                ; 89 f3
    22522252    sal bx, 003h                              ; c1 e3 03
    2253     mov al, byte [bx+04638h]                  ; 8a 87 38 46
     2253    mov al, byte [bx+04634h]                  ; 8a 87 34 46
    22542254    mov dx, 003c6h                            ; ba c6 03
    22552255    out DX, AL                                ; ee
     
    22572257    mov dx, 003c8h                            ; ba c8 03
    22582258    out DX, AL                                ; ee
    2259     mov bl, byte [bx+04639h]                  ; 8a 9f 39 46
     2259    mov bl, byte [bx+04635h]                  ; 8a 9f 35 46
    22602260    cmp bl, 001h                              ; 80 fb 01
    22612261    jc short 01095h                           ; 72 0e
     
    22682268    test bl, bl                               ; 84 db
    22692269    jne short 010abh                          ; 75 12
    2270     mov di, 04e46h                            ; bf 46 4e
     2270    mov di, 04e42h                            ; bf 42 4e
    22712271    jmp short 010abh                          ; eb 0d
    2272     mov di, 04f06h                            ; bf 06 4f
     2272    mov di, 04f02h                            ; bf 02 4f
    22732273    jmp short 010abh                          ; eb 08
    2274     mov di, 04fc6h                            ; bf c6 4f
     2274    mov di, 04fc2h                            ; bf c2 4f
    22752275    jmp short 010abh                          ; eb 03
    2276     mov di, 05086h                            ; bf 86 50
     2276    mov di, 05082h                            ; bf 82 50
    22772277    xor bx, bx                                ; 31 db
    22782278    jmp short 010beh                          ; eb 0f
     
    22872287    movzx si, byte [bp-012h]                  ; 0f b6 76 ee
    22882288    sal si, 003h                              ; c1 e6 03
    2289     movzx si, byte [si+04639h]                ; 0f b6 b4 39 46
    2290     movzx dx, byte [si+046c2h]                ; 0f b6 94 c2 46
     2289    movzx si, byte [si+04635h]                ; 0f b6 b4 35 46
     2290    movzx dx, byte [si+046beh]                ; 0f b6 94 be 46
    22912291    cmp bx, dx                                ; 39 d3
    22922292    jnbe short 010afh                         ; 77 dc
     
    23202320    sal si, 006h                              ; c1 e6 06
    23212321    add si, bx                                ; 01 de
    2322     mov al, byte [si+046e9h]                  ; 8a 84 e9 46
     2322    mov al, byte [si+046e5h]                  ; 8a 84 e5 46
    23232323    out DX, AL                                ; ee
    23242324    inc bx                                    ; 43
     
    23442344    sal si, 006h                              ; c1 e6 06
    23452345    add si, bx                                ; 01 de
    2346     mov al, byte [si+046cah]                  ; 8a 84 ca 46
     2346    mov al, byte [si+046c6h]                  ; 8a 84 c6 46
    23472347    mov dx, 003c5h                            ; ba c5 03
    23482348    out DX, AL                                ; ee
     
    23592359    sal si, 006h                              ; c1 e6 06
    23602360    add si, bx                                ; 01 de
    2361     mov al, byte [si+046fdh]                  ; 8a 84 fd 46
     2361    mov al, byte [si+046f9h]                  ; 8a 84 f9 46
    23622362    mov dx, 003cfh                            ; ba cf 03
    23632363    out DX, AL                                ; ee
     
    23662366    movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
    23672367    sal bx, 003h                              ; c1 e3 03
    2368     cmp byte [bx+04634h], 001h                ; 80 bf 34 46 01
     2368    cmp byte [bx+04630h], 001h                ; 80 bf 30 46 01
    23692369    jne short 01188h                          ; 75 05
    23702370    mov dx, 003b4h                            ; ba b4 03
     
    23862386    add di, bx                                ; 01 df
    23872387    lea dx, [si+001h]                         ; 8d 54 01
    2388     mov al, byte [di+046d0h]                  ; 8a 85 d0 46
     2388    mov al, byte [di+046cch]                  ; 8a 85 cc 46
    23892389    out DX, AL                                ; ee
    23902390    inc bx                                    ; 43
    23912391    jmp short 01195h                          ; eb e0
    23922392    mov bx, cx                                ; 89 cb
    2393     mov al, byte [bx+046cfh]                  ; 8a 87 cf 46
     2393    mov al, byte [bx+046cbh]                  ; 8a 87 cb 46
    23942394    mov dx, 003c2h                            ; ba c2 03
    23952395    out DX, AL                                ; ee
     
    24052405    movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
    24062406    sal bx, 003h                              ; c1 e3 03
    2407     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2407    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    24082408    jne short 011f2h                          ; 75 13
    2409     mov es, [bx+04636h]                       ; 8e 87 36 46
     2409    mov es, [bx+04632h]                       ; 8e 87 32 46
    24102410    mov cx, 04000h                            ; b9 00 40
    24112411    mov ax, 00720h                            ; b8 20 07
     
    24172417    cmp byte [bp-00ch], 00dh                  ; 80 7e f4 0d
    24182418    jnc short 0120ah                          ; 73 12
    2419     mov es, [bx+04636h]                       ; 8e 87 36 46
     2419    mov es, [bx+04632h]                       ; 8e 87 32 46
    24202420    mov cx, 04000h                            ; b9 00 40
    24212421    xor ax, ax                                ; 31 c0
     
    24352435    mov AL, strict byte 00fh                  ; b0 0f
    24362436    out DX, AL                                ; ee
    2437     mov es, [bx+04636h]                       ; 8e 87 36 46
     2437    mov es, [bx+04632h]                       ; 8e 87 32 46
    24382438    mov cx, 08000h                            ; b9 00 80
    24392439    xor ax, ax                                ; 31 c0
     
    24542454    movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
    24552455    sal bx, 006h                              ; c1 e3 06
    2456     mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     2456    mov bx, word [bx+046c5h]                  ; 8b 9f c5 46
    24572457    mov dx, strict word 0004ch                ; ba 4c 00
    24582458    mov ax, strict word 00040h                ; b8 40 00
     
    24932493    call 02f4ch                               ; e8 8b 1c
    24942494    mov cx, ds                                ; 8c d9
    2495     mov bx, 053d4h                            ; bb d4 53
     2495    mov bx, 053d0h                            ; bb d0 53
    24962496    mov dx, 000a8h                            ; ba a8 00
    24972497    mov ax, strict word 00040h                ; b8 40 00
     
    25072507    movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
    25082508    sal bx, 003h                              ; c1 e3 03
    2509     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2509    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    25102510    jne short 012fch                          ; 75 09
    25112511    mov dx, strict word 00007h                ; ba 07 00
     
    25252525    movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
    25262526    sal bx, 003h                              ; c1 e3 03
    2527     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2527    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    25282528    jne short 01333h                          ; 75 10
    25292529    xor bl, bl                                ; 30 db
     
    25352535    mov AH, strict byte 011h                  ; b4 11
    25362536    int 010h                                  ; cd 10
    2537     mov dx, 057f0h                            ; ba f0 57
     2537    mov dx, 057ech                            ; ba ec 57
    25382538    mov ax, strict word 0001fh                ; b8 1f 00
    25392539    call 00a00h                               ; e8 c4 f6
     
    25452545    cmp ax, strict word 00008h                ; 3d 08 00
    25462546    jne short 01363h                          ; 75 15
    2547     mov dx, 053f0h                            ; ba f0 53
     2547    mov dx, 053ech                            ; ba ec 53
    25482548    mov ax, strict word 00043h                ; b8 43 00
    25492549    call 00a00h                               ; e8 a9 f6
    25502550    jmp short 01363h                          ; eb 0a
    2551     mov dx, 05bf0h                            ; ba f0 5b
     2551    mov dx, 05bech                            ; ba ec 5b
    25522552    jmp short 01351h                          ; eb f3
    2553     mov dx, 069f0h                            ; ba f0 69
     2553    mov dx, 069ech                            ; ba ec 69
    25542554    jmp short 01351h                          ; eb ee
    25552555    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    28612861    mov ax, word [bp-016h]                    ; 8b 46 ea
    28622862    imul ax, cx                               ; 0f af c1
    2863     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     2863    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    28642864    jne near 017d1h                           ; 0f 85 9f 01
    28652865    mov dx, ax                                ; 89 c2
     
    28842884    sal dx, 008h                              ; c1 e2 08
    28852885    add dx, strict byte 00020h                ; 83 c2 20
    2886     mov es, [di+04636h]                       ; 8e 85 36 46
     2886    mov es, [di+04632h]                       ; 8e 85 32 46
    28872887    mov cx, ax                                ; 89 c1
    28882888    mov ax, dx                                ; 89 d0
     
    29182918    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
    29192919    sal si, 003h                              ; c1 e6 03
    2920     mov es, [si+04636h]                       ; 8e 84 36 46
     2920    mov es, [si+04632h]                       ; 8e 84 32 46
    29212921    cld                                       ; fc
    29222922    jcxz 016ddh                               ; e3 02
     
    29322932    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
    29332933    sal si, 003h                              ; c1 e6 03
    2934     mov ax, word [si+04636h]                  ; 8b 84 36 46
     2934    mov ax, word [si+04632h]                  ; 8b 84 32 46
    29352935    mov si, word [bp-014h]                    ; 8b 76 ec
    29362936    imul si, word [bp-016h]                   ; 0f af 76 ea
     
    29762976    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
    29772977    sal si, 003h                              ; c1 e6 03
    2978     mov es, [si+04636h]                       ; 8e 84 36 46
     2978    mov es, [si+04632h]                       ; 8e 84 32 46
    29792979    cld                                       ; fc
    29802980    jcxz 0177eh                               ; e3 02
     
    29912991    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
    29922992    sal si, 003h                              ; c1 e6 03
    2993     mov ax, word [si+04636h]                  ; 8b 84 36 46
     2993    mov ax, word [si+04632h]                  ; 8b 84 32 46
    29942994    mov si, word [bp-014h]                    ; 8b 76 ec
    29952995    imul si, word [bp-016h]                   ; 0f af 76 ea
     
    30113011    dec word [bp-014h]                        ; ff 4e ec
    30123012    jmp near 0172dh                           ; e9 5c ff
    3013     movzx bx, byte [si+046b2h]                ; 0f b6 9c b2 46
     3013    movzx bx, byte [si+046aeh]                ; 0f b6 9c ae 46
    30143014    sal bx, 006h                              ; c1 e3 06
    3015     mov dl, byte [bx+046c8h]                  ; 8a 97 c8 46
     3015    mov dl, byte [bx+046c4h]                  ; 8a 97 c4 46
    30163016    mov byte [bp-00ah], dl                    ; 88 56 f6
    3017     mov bl, byte [di+04634h]                  ; 8a 9d 34 46
     3017    mov bl, byte [di+04630h]                  ; 8a 9d 30 46
    30183018    cmp bl, 004h                              ; 80 fb 04
    30193019    je short 017f8h                           ; 74 0f
     
    30483048    movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
    30493049    sal bx, 003h                              ; c1 e3 03
    3050     mov es, [bx+04636h]                       ; 8e 87 36 46
     3050    mov es, [bx+04632h]                       ; 8e 87 32 46
    30513051    xor di, di                                ; 31 ff
    30523052    cld                                       ; fc
     
    31303130    dec word [bp-014h]                        ; ff 4e ec
    31313131    jmp short 018c6h                          ; eb 8f
    3132     mov dl, byte [di+04635h]                  ; 8a 95 35 46
     3132    mov dl, byte [di+04631h]                  ; 8a 95 31 46
    31333133    cmp byte [bp-010h], 000h                  ; 80 7e f0 00
    31343134    jne short 0197eh                          ; 75 3d
     
    31483148    imul cx, ax                               ; 0f af c8
    31493149    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
    3150     mov es, [di+04636h]                       ; 8e 85 36 46
     3150    mov es, [di+04632h]                       ; 8e 85 32 46
    31513151    xor di, di                                ; 31 ff
    31523152    cld                                       ; fc
     
    32503250    cmp byte [bp+006h], 00eh                  ; 80 7e 06 0e
    32513251    jne short 01a9bh                          ; 75 0a
    3252     mov di, 05bf0h                            ; bf f0 5b
     3252    mov di, 05bech                            ; bf ec 5b
    32533253    jmp short 01a9eh                          ; eb 08
    3254     mov di, 069f0h                            ; bf f0 69
     3254    mov di, 069ech                            ; bf ec 69
    32553255    jmp short 01a9eh                          ; eb 03
    3256     mov di, 053f0h                            ; bf f0 53
     3256    mov di, 053ech                            ; bf ec 53
    32573257    movzx si, cl                              ; 0f b6 f1
    32583258    movzx bx, byte [bp+006h]                  ; 0f b6 5e 06
     
    33413341    sub sp, strict byte 00008h                ; 83 ec 08
    33423342    mov byte [bp-008h], dl                    ; 88 56 f8
    3343     mov si, 053f0h                            ; be f0 53
     3343    mov si, 053ech                            ; be ec 53
    33443344    xor bh, bh                                ; 30 ff
    33453345    movzx di, byte [bp+006h]                  ; 0f b6 7e 06
     
    34553455    sub sp, strict byte 00008h                ; 83 ec 08
    34563456    mov byte [bp-006h], dl                    ; 88 56 fa
    3457     mov di, 053f0h                            ; bf f0 53
     3457    mov di, 053ech                            ; bf ec 53
    34583458    movzx dx, cl                              ; 0f b6 d1
    34593459    movzx cx, byte [bp+004h]                  ; 0f b6 4e 04
     
    35503550    mov di, bx                                ; 89 df
    35513551    sal di, 003h                              ; c1 e7 03
    3552     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     3552    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    35533553    jne short 01dcdh                          ; 75 47
    35543554    mov bx, word [bp-018h]                    ; 8b 5e e8
     
    35713571    mov word [bp-01ah], ax                    ; 89 46 e6
    35723572    mov ax, word [bp-01ah]                    ; 8b 46 e6
    3573     mov es, [di+04636h]                       ; 8e 85 36 46
     3573    mov es, [di+04632h]                       ; 8e 85 32 46
    35743574    mov cx, si                                ; 89 f1
    35753575    mov di, dx                                ; 89 d7
     
    35783578    rep stosw                                 ; f3 ab
    35793579    jmp near 01e73h                           ; e9 a6 00
    3580     movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     3580    movzx bx, byte [bx+046aeh]                ; 0f b6 9f ae 46
    35813581    sal bx, 006h                              ; c1 e3 06
    3582     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     3582    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    35833583    mov byte [bp-008h], al                    ; 88 46 f8
    3584     mov al, byte [di+04635h]                  ; 8a 85 35 46
     3584    mov al, byte [di+04631h]                  ; 8a 85 31 46
    35853585    mov byte [bp-014h], al                    ; 88 46 ec
    35863586    dec si                                    ; 4e
     
    35923592    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa
    35933593    sal bx, 003h                              ; c1 e3 03
    3594     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     3594    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    35953595    cmp AL, strict byte 003h                  ; 3c 03
    35963596    jc short 01e11h                           ; 72 0c
     
    36803680    mov bx, di                                ; 89 fb
    36813681    sal bx, 003h                              ; c1 e3 03
    3682     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     3682    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    36833683    jne short 01f38h                          ; 75 4a
    36843684    mov dx, word [bp-018h]                    ; 8b 56 e8
     
    37023702    movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
    37033703    sal bx, 003h                              ; c1 e3 03
    3704     mov di, word [bx+04636h]                  ; 8b bf 36 46
     3704    mov di, word [bx+04632h]                  ; 8b bf 32 46
    37053705    mov bx, ax                                ; 89 c3
    37063706    mov dx, cx                                ; 89 ca
     
    37103710    inc cx                                    ; 41
    37113711    jmp short 01f14h                          ; eb dc
    3712     movzx di, byte [di+046b2h]                ; 0f b6 bd b2 46
     3712    movzx di, byte [di+046aeh]                ; 0f b6 bd ae 46
    37133713    sal di, 006h                              ; c1 e7 06
    3714     mov al, byte [di+046c8h]                  ; 8a 85 c8 46
     3714    mov al, byte [di+046c4h]                  ; 8a 85 c4 46
    37153715    mov byte [bp-00ah], al                    ; 88 46 f6
    3716     mov al, byte [bx+04635h]                  ; 8a 87 35 46
     3716    mov al, byte [bx+04631h]                  ; 8a 87 31 46
    37173717    mov byte [bp-008h], al                    ; 88 46 f8
    37183718    dec si                                    ; 4e
     
    37243724    movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
    37253725    sal bx, 003h                              ; c1 e3 03
    3726     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     3726    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    37273727    cmp bl, 003h                              ; 80 fb 03
    37283728    jc short 01f7fh                           ; 72 0e
     
    37873787    movzx bx, al                              ; 0f b6 d8
    37883788    sal bx, 003h                              ; c1 e3 03
    3789     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     3789    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    37903790    je near 0212bh                            ; 0f 84 0f 01
    3791     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     3791    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    37923792    cmp AL, strict byte 003h                  ; 3c 03
    37933793    jc short 02033h                           ; 72 0f
     
    38433843    shr ax, 1                                 ; d1 e8
    38443844    imul ax, ax, strict byte 00050h           ; 6b c0 50
    3845     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     3845    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    38463846    jne short 020b5h                          ; 75 08
    38473847    mov bx, word [bp-00ah]                    ; 8b 5e f6
     
    38613861    movzx si, byte [bp-004h]                  ; 0f b6 76 fc
    38623862    sal si, 003h                              ; c1 e6 03
    3863     cmp byte [si+04635h], 002h                ; 80 bc 35 46 02
     3863    cmp byte [si+04631h], 002h                ; 80 bc 31 46 02
    38643864    jne short 020fbh                          ; 75 19
    38653865    mov al, byte [bp-00ah]                    ; 8a 46 f6
     
    39743974    mov si, bx                                ; 89 de
    39753975    sal si, 003h                              ; c1 e6 03
    3976     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     3976    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    39773977    jne short 02256h                          ; 75 4d
    39783978    mov ax, word [bp-012h]                    ; 8b 46 ee
     
    39913991    add cx, ax                                ; 01 c1
    39923992    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
    3993     mov ax, word [si+04636h]                  ; 8b 84 36 46
     3993    mov ax, word [si+04632h]                  ; 8b 84 32 46
    39943994    mov dx, cx                                ; 89 ca
    39953995    call 02f4ch                               ; e8 0f 0d
     
    39993999    mov dx, cx                                ; 89 ca
    40004000    inc dx                                    ; 42
    4001     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4001    mov ax, word [si+04632h]                  ; 8b 84 32 46
    40024002    call 02f4ch                               ; e8 f9 0c
    40034003    jmp near 022d4h                           ; e9 7e 00
    4004     movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     4004    movzx bx, byte [bx+046aeh]                ; 0f b6 9f ae 46
    40054005    sal bx, 006h                              ; c1 e3 06
    4006     mov ah, byte [bx+046c8h]                  ; 8a a7 c8 46
    4007     mov dl, byte [si+04635h]                  ; 8a 94 35 46
    4008     mov al, byte [si+04634h]                  ; 8a 84 34 46
     4006    mov ah, byte [bx+046c4h]                  ; 8a a7 c4 46
     4007    mov dl, byte [si+04631h]                  ; 8a 94 31 46
     4008    mov al, byte [si+04630h]                  ; 8a 84 30 46
    40094009    cmp AL, strict byte 003h                  ; 3c 03
    40104010    jc short 0227ah                           ; 72 0c
     
    40624062    db  0feh, 0cbh
    40634063    ; dec bl                                    ; fe cb
    4064     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     4064    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    40654065    jne short 02354h                          ; 75 4a
    40664066    mov ax, word [bp-012h]                    ; 8b 46 ee
     
    40814081    add dx, ax                                ; 01 c2
    40824082    inc dx                                    ; 42
    4083     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4083    mov ax, word [si+04632h]                  ; 8b 84 32 46
    40844084    call 02f3eh                               ; e8 02 0c
    40854085    push strict byte 00001h                   ; 6a 01
     
    43564356    sal di, 005h                              ; c1 e7 05
    43574357    add di, word [bp-00ch]                    ; 03 7e f4
    4358     add si, 05bf0h                            ; 81 c6 f0 5b
     4358    add si, 05bech                            ; 81 c6 ec 5b
    43594359    mov cx, strict word 0000eh                ; b9 0e 00
    43604360    mov dx, 0c000h                            ; ba 00 c0
     
    44124412    sal di, 005h                              ; c1 e7 05
    44134413    add di, word [bp-00ch]                    ; 03 7e f4
    4414     add si, 053f0h                            ; 81 c6 f0 53
     4414    add si, 053ech                            ; 81 c6 ec 53
    44154415    mov cx, strict word 00008h                ; b9 08 00
    44164416    mov dx, 0c000h                            ; ba 00 c0
     
    44684468    sal di, 005h                              ; c1 e7 05
    44694469    add di, word [bp-00ch]                    ; 03 7e f4
    4470     add si, 069f0h                            ; 81 c6 f0 69
     4470    add si, 069ech                            ; 81 c6 ec 69
    44714471    mov cx, strict word 00010h                ; b9 10 00
    44724472    mov dx, 0c000h                            ; ba 00 c0
     
    46024602    push bx                                   ; 53
    46034603    mov cx, ds                                ; 8c d9
    4604     mov bx, 05386h                            ; bb 86 53
     4604    mov bx, 05382h                            ; bb 82 53
    46054605    mov dx, word [bp-00ah]                    ; 8b 56 f6
    46064606    mov ax, word [bp-008h]                    ; 8b 46 f8
     
    55025502    movzx bx, al                              ; 0f b6 d8
    55035503    sal bx, 003h                              ; c1 e3 03
    5504     cmp dl, byte [bx+04632h]                  ; 3a 97 32 46
     5504    cmp dl, byte [bx+0462eh]                  ; 3a 97 2e 46
    55055505    jne short 02f24h                          ; 75 ee
    55065506    mov ah, al                                ; 88 c4
     
    62036203    ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41
    62046204    mov word [es:bx+004h], 00200h             ; 26 c7 47 04 00 02
    6205     mov word [es:bx+006h], 07c62h             ; 26 c7 47 06 62 7c
     6205    mov word [es:bx+006h], 07c5eh             ; 26 c7 47 06 5e 7c
    62066206    mov [es:bx+008h], ds                      ; 26 8c 5f 08
    62076207    db  066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h
     
    62196219    je short 035d5h                           ; 74 24
    62206220    mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
    6221     mov word [es:bx+016h], 07c77h             ; 26 c7 47 16 77 7c
     6221    mov word [es:bx+016h], 07c73h             ; 26 c7 47 16 73 7c
    62226222    mov [es:bx+018h], ds                      ; 26 8c 5f 18
    6223     mov word [es:bx+01ah], 07c8ah             ; 26 c7 47 1a 8a 7c
     6223    mov word [es:bx+01ah], 07c86h             ; 26 c7 47 1a 86 7c
    62246224    mov [es:bx+01ch], ds                      ; 26 8c 5f 1c
    6225     mov word [es:bx+01eh], 07cabh             ; 26 c7 47 1e ab 7c
     6225    mov word [es:bx+01eh], 07ca7h             ; 26 c7 47 1e a7 7c
    62266226    mov [es:bx+020h], ds                      ; 26 8c 5f 20
    62276227    mov dx, cx                                ; 89 ca
     
    67686768  times 235 db 0
    67696769
    6770 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP
    6771 _msg_vga_init:                               ; 0xc4600 LB 0x32
    6772     db  'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h
    6773 _vga_modes:                                  ; 0xc4632 LB 0x80
     6770section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
     6771_msg_vga_init:                               ; 0xc4600 LB 0x2e
     6772    db  'Oracle VM VirtualBox Version 5.1.0 VGA BIOS', 00dh, 00ah, 000h
     6773_vga_modes:                                  ; 0xc462e LB 0x80
    67746774    db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
    67756775    db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     
    67806780    db  011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    67816781    db  013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    6782 _line_to_vpti:                               ; 0xc46b2 LB 0x10
     6782_line_to_vpti:                               ; 0xc46ae LB 0x10
    67836783    db  017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh
    6784 _dac_regs:                                   ; 0xc46c2 LB 0x4
     6784_dac_regs:                                   ; 0xc46be LB 0x4
    67856785    dd  0ff3f3f3fh
    6786 _video_param_table:                          ; 0xc46c6 LB 0x780
     6786_video_param_table:                          ; 0xc46c2 LB 0x780
    67876787    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    67886788    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     
    69056905    db  073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch
    69066906    db  03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh
    6907 _palette0:                                   ; 0xc4e46 LB 0xc0
     6907_palette0:                                   ; 0xc4e42 LB 0xc0
    69086908    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    69096909    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
     
    69186918    db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    69196919    db  03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    6920 _palette1:                                   ; 0xc4f06 LB 0xc0
     6920_palette1:                                   ; 0xc4f02 LB 0xc0
    69216921    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    69226922    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah
     
    69316931    db  015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    69326932    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    6933 _palette2:                                   ; 0xc4fc6 LB 0xc0
     6933_palette2:                                   ; 0xc4fc2 LB 0xc0
    69346934    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    69356935    db  000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah
     
    69446944    db  015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    69456945    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    6946 _palette3:                                   ; 0xc5086 LB 0x300
     6946_palette3:                                   ; 0xc5082 LB 0x300
    69476947    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    69486948    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     
    69936993    db  00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    69946994    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    6995 _static_functionality:                       ; 0xc5386 LB 0x10
     6995_static_functionality:                       ; 0xc5382 LB 0x10
    69966996    db  0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h
    6997 _dcc_table:                                  ; 0xc5396 LB 0x24
     6997_dcc_table:                                  ; 0xc5392 LB 0x24
    69986998    db  010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    69996999    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    70007000    db  000h, 000h, 000h, 000h
    7001 _secondary_save_area:                        ; 0xc53ba LB 0x1a
    7002     db  01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7001_secondary_save_area:                        ; 0xc53b6 LB 0x1a
     7002    db  01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    70037003    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7004 _video_save_pointer_table:                   ; 0xc53d4 LB 0x1c
    7005     db  0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7006     db  0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7007 _vgafont8:                                   ; 0xc53f0 LB 0x800
     7004_video_save_pointer_table:                   ; 0xc53d0 LB 0x1c
     7005    db  0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7006    db  0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7007_vgafont8:                                   ; 0xc53ec LB 0x800
    70087008    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
    70097009    db  07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
     
    71347134    db  078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h
    71357135    db  000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7136 _vgafont14:                                  ; 0xc5bf0 LB 0xe00
     7136_vgafont14:                                  ; 0xc5bec LB 0xe00
    71377137    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    71387138    db  07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh
     
    73597359    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h
    73607360    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7361 _vgafont16:                                  ; 0xc69f0 LB 0x1000
     7361_vgafont16:                                  ; 0xc69ec LB 0x1000
    73627362    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    73637363    db  000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h
     
    76167616    db  000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h
    76177617    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7618 _vgafont14alt:                               ; 0xc79f0 LB 0x12d
     7618_vgafont14alt:                               ; 0xc79ec LB 0x12d
    76197619    db  01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h
    76207620    db  000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h
     
    76367636    db  000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h
    76377637    db  018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h
    7638 _vgafont16alt:                               ; 0xc7b1d LB 0x145
     7638_vgafont16alt:                               ; 0xc7b19 LB 0x145
    76397639    db  01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h
    76407640    db  000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h
     
    76587658    db  000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h
    76597659    db  006h, 000h, 000h, 000h, 000h
    7660 _vbebios_copyright:                          ; 0xc7c62 LB 0x15
     7660_vbebios_copyright:                          ; 0xc7c5e LB 0x15
    76617661    db  'VirtualBox VESA BIOS', 000h
    7662 _vbebios_vendor_name:                        ; 0xc7c77 LB 0x13
     7662_vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
    76637663    db  'Oracle Corporation', 000h
    7664 _vbebios_product_name:                       ; 0xc7c8a LB 0x21
     7664_vbebios_product_name:                       ; 0xc7c86 LB 0x21
    76657665    db  'Oracle VM VirtualBox VBE Adapter', 000h
    7666 _vbebios_product_revision:                   ; 0xc7cab LB 0x27
    7667     db  'Oracle VM VirtualBox Version 5.1.0_RC1', 000h
    7668 _vbebios_info_string:                        ; 0xc7cd2 LB 0x2b
     7666_vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
     7667    db  'Oracle VM VirtualBox Version 5.1.0', 000h
     7668_vbebios_info_string:                        ; 0xc7cca LB 0x2b
    76697669    db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
    7670 _no_vbebios_info_string:                     ; 0xc7cfd LB 0x29
     7670_no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
    76717671    db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
    76727672
    7673 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     7673section CONST progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    76747674
    7675 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     7675section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    76767676
    7677   ; Padding 0x2da bytes at 0xc7d26
     7677  ; Padding 0x2e2 bytes at 0xc7d1e
    76787678    db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
    76797679    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
     
    77217721    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    77227722    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7723     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 06ch
     7723    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7724    db  000h, 03eh
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum

    r62120 r62178  
    1 b1671e41e2de2599648b792f96a4fb88 *VBoxVgaBios386.rom
     166faf6427926f344aa264190f73979b9 *VBoxVgaBios386.rom
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm

    r62120 r62178  
    17421742    mov CL, strict byte 003h                  ; b1 03
    17431743    sal bx, CL                                ; d3 e3
    1744     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1744    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    17451745    jne short 00b68h                          ; 75 2e
    17461746    mul word [bp-00ch]                        ; f7 66 f4
     
    17611761    sal dx, 1                                 ; d1 e2
    17621762    add dx, cx                                ; 01 ca
    1763     mov ax, word [bx+04636h]                  ; 8b 87 36 46
     1763    mov ax, word [bx+04632h]                  ; 8b 87 32 46
    17641764    call 031b7h                               ; e8 52 26
    17651765    mov word [ss:si], ax                      ; 36 89 04
     
    18281828    mov dx, 0010ch                            ; ba 0c 01
    18291829    jmp short 00b99h                          ; eb c0
    1830     mov ax, 05bf0h                            ; b8 f0 5b
     1830    mov ax, 05bech                            ; b8 ec 5b
    18311831    mov dx, 0c000h                            ; ba 00 c0
    18321832    jmp short 00b9eh                          ; eb bd
    1833     mov ax, 053f0h                            ; b8 f0 53
     1833    mov ax, 053ech                            ; b8 ec 53
    18341834    jmp short 00bdch                          ; eb f6
    1835     mov ax, 057f0h                            ; b8 f0 57
     1835    mov ax, 057ech                            ; b8 ec 57
    18361836    jmp short 00bdch                          ; eb f1
    1837     mov ax, 079f0h                            ; b8 f0 79
     1837    mov ax, 079ech                            ; b8 ec 79
    18381838    jmp short 00bdch                          ; eb ec
    1839     mov ax, 069f0h                            ; b8 f0 69
     1839    mov ax, 069ech                            ; b8 ec 69
    18401840    jmp short 00bdch                          ; eb e7
    1841     mov ax, 07b1dh                            ; b8 1d 7b
     1841    mov ax, 07b19h                            ; b8 19 7b
    18421842    jmp short 00bdch                          ; eb e2
    18431843    jmp short 00bcbh                          ; eb cf
     
    18631863    mov CL, strict byte 003h                  ; b1 03
    18641864    sal bx, CL                                ; d3 e3
    1865     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     1865    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    18661866    jne short 00c31h                          ; 75 03
    18671867    jmp near 00d38h                           ; e9 07 01
    1868     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     1868    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    18691869    cmp bl, cl                                ; 38 cb
    18701870    jc short 00c48h                           ; 72 0f
     
    19341934    mov CL, strict byte 003h                  ; b1 03
    19351935    sal bx, CL                                ; d3 e3
    1936     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     1936    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    19371937    jne short 00cfah                          ; 75 1b
    19381938    mov cx, si                                ; 89 f1
     
    22682268    mov si, bx                                ; 89 de
    22692269    sal si, CL                                ; d3 e6
    2270     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     2270    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    22712271    jne short 00fc0h                          ; 75 47
    22722272    mov dx, strict word 0004ah                ; ba 4a 00
     
    23002300    mul di                                    ; f7 e7
    23012301    jmp short 00fd0h                          ; eb 10
    2302     mov bl, byte [bx+046b2h]                  ; 8a 9f b2 46
     2302    mov bl, byte [bx+046aeh]                  ; 8a 9f ae 46
    23032303    mov CL, strict byte 006h                  ; b1 06
    23042304    sal bx, CL                                ; d3 e3
    23052305    mov al, ch                                ; 88 e8
    23062306    xor ah, ah                                ; 30 e4
    2307     mul word [bx+046c9h]                      ; f7 a7 c9 46
     2307    mul word [bx+046c5h]                      ; f7 a7 c5 46
    23082308    mov bx, ax                                ; 89 c3
    23092309    mov dx, strict word 00063h                ; ba 63 00
     
    23782378    mov byte [bp-013h], 000h                  ; c6 46 ed 00
    23792379    mov bx, word [bp-014h]                    ; 8b 5e ec
    2380     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     2380    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    23812381    mov byte [bp-00eh], al                    ; 88 46 f2
    23822382    mov bl, al                                ; 88 c3
     
    23842384    mov CL, strict byte 006h                  ; b1 06
    23852385    sal bx, CL                                ; d3 e3
    2386     mov al, byte [bx+046c6h]                  ; 8a 87 c6 46
     2386    mov al, byte [bx+046c2h]                  ; 8a 87 c2 46
    23872387    xor ah, ah                                ; 30 e4
    23882388    mov word [bp-016h], ax                    ; 89 46 ea
    2389     mov al, byte [bx+046c7h]                  ; 8a 87 c7 46
     2389    mov al, byte [bx+046c3h]                  ; 8a 87 c3 46
    23902390    mov word [bp-018h], ax                    ; 89 46 e8
    2391     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     2391    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    23922392    mov word [bp-01ah], ax                    ; 89 46 e6
    23932393    mov dx, 00087h                            ; ba 87 00
     
    24062406    mov bx, word [bp-014h]                    ; 8b 5e ec
    24072407    sal bx, CL                                ; d3 e3
    2408     mov al, byte [bx+04638h]                  ; 8a 87 38 46
     2408    mov al, byte [bx+04634h]                  ; 8a 87 34 46
    24092409    mov dx, 003c6h                            ; ba c6 03
    24102410    out DX, AL                                ; ee
     
    24122412    mov dx, 003c8h                            ; ba c8 03
    24132413    out DX, AL                                ; ee
    2414     mov bl, byte [bx+04639h]                  ; 8a 9f 39 46
     2414    mov bl, byte [bx+04635h]                  ; 8a 9f 35 46
    24152415    cmp bl, 001h                              ; 80 fb 01
    24162416    jc short 010dbh                           ; 72 0d
     
    24232423    test bl, bl                               ; 84 db
    24242424    jne short 010f1h                          ; 75 12
    2425     mov di, 04e46h                            ; bf 46 4e
     2425    mov di, 04e42h                            ; bf 42 4e
    24262426    jmp short 010f1h                          ; eb 0d
    2427     mov di, 04f06h                            ; bf 06 4f
     2427    mov di, 04f02h                            ; bf 02 4f
    24282428    jmp short 010f1h                          ; eb 08
    2429     mov di, 04fc6h                            ; bf c6 4f
     2429    mov di, 04fc2h                            ; bf c2 4f
    24302430    jmp short 010f1h                          ; eb 03
    2431     mov di, 05086h                            ; bf 86 50
     2431    mov di, 05082h                            ; bf 82 50
    24322432    xor bx, bx                                ; 31 db
    24332433    jmp short 010fdh                          ; eb 08
     
    24402440    mov si, ax                                ; 89 c6
    24412441    sal si, CL                                ; d3 e6
    2442     mov al, byte [si+04639h]                  ; 8a 84 39 46
     2442    mov al, byte [si+04635h]                  ; 8a 84 35 46
    24432443    mov si, ax                                ; 89 c6
    2444     mov al, byte [si+046c2h]                  ; 8a 84 c2 46
     2444    mov al, byte [si+046beh]                  ; 8a 84 be 46
    24452445    cmp bx, ax                                ; 39 c3
    24462446    jnbe short 01131h                         ; 77 1b
     
    24872487    sal si, CL                                ; d3 e6
    24882488    add si, bx                                ; 01 de
    2489     mov al, byte [si+046e9h]                  ; 8a 84 e9 46
     2489    mov al, byte [si+046e5h]                  ; 8a 84 e5 46
    24902490    out DX, AL                                ; ee
    24912491    inc bx                                    ; 43
     
    25142514    sal si, CL                                ; d3 e6
    25152515    add si, bx                                ; 01 de
    2516     mov al, byte [si+046cah]                  ; 8a 84 ca 46
     2516    mov al, byte [si+046c6h]                  ; 8a 84 c6 46
    25172517    mov dx, 003c5h                            ; ba c5 03
    25182518    out DX, AL                                ; ee
     
    25322532    sal si, CL                                ; d3 e6
    25332533    add si, bx                                ; 01 de
    2534     mov al, byte [si+046fdh]                  ; 8a 84 fd 46
     2534    mov al, byte [si+046f9h]                  ; 8a 84 f9 46
    25352535    mov dx, 003cfh                            ; ba cf 03
    25362536    out DX, AL                                ; ee
     
    25412541    mov CL, strict byte 003h                  ; b1 03
    25422542    sal bx, CL                                ; d3 e3
    2543     cmp byte [bx+04634h], 001h                ; 80 bf 34 46 01
     2543    cmp byte [bx+04630h], 001h                ; 80 bf 30 46 01
    25442544    jne short 011eah                          ; 75 05
    25452545    mov dx, 003b4h                            ; ba b4 03
     
    25642564    add di, bx                                ; 01 df
    25652565    lea dx, [si+001h]                         ; 8d 54 01
    2566     mov al, byte [di+046d0h]                  ; 8a 85 d0 46
     2566    mov al, byte [di+046cch]                  ; 8a 85 cc 46
    25672567    out DX, AL                                ; ee
    25682568    inc bx                                    ; 43
    25692569    jmp short 011f7h                          ; eb dc
    25702570    mov bx, cx                                ; 89 cb
    2571     mov al, byte [bx+046cfh]                  ; 8a 87 cf 46
     2571    mov al, byte [bx+046cbh]                  ; 8a 87 cb 46
    25722572    mov dx, 003c2h                            ; ba c2 03
    25732573    out DX, AL                                ; ee
     
    25852585    mov CL, strict byte 003h                  ; b1 03
    25862586    sal bx, CL                                ; d3 e3
    2587     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2587    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    25882588    jne short 0125ah                          ; 75 13
    2589     mov es, [bx+04636h]                       ; 8e 87 36 46
     2589    mov es, [bx+04632h]                       ; 8e 87 32 46
    25902590    mov cx, 04000h                            ; b9 00 40
    25912591    mov ax, 00720h                            ; b8 20 07
     
    25972597    cmp byte [bp-00ch], 00dh                  ; 80 7e f4 0d
    25982598    jnc short 01272h                          ; 73 12
    2599     mov es, [bx+04636h]                       ; 8e 87 36 46
     2599    mov es, [bx+04632h]                       ; 8e 87 32 46
    26002600    mov cx, 04000h                            ; b9 00 40
    26012601    xor ax, ax                                ; 31 c0
     
    26152615    mov AL, strict byte 00fh                  ; b0 0f
    26162616    out DX, AL                                ; ee
    2617     mov es, [bx+04636h]                       ; 8e 87 36 46
     2617    mov es, [bx+04632h]                       ; 8e 87 32 46
    26182618    mov cx, 08000h                            ; b9 00 80
    26192619    xor ax, ax                                ; 31 c0
     
    26372637    mov CL, strict byte 006h                  ; b1 06
    26382638    sal bx, CL                                ; d3 e3
    2639     mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     2639    mov bx, word [bx+046c5h]                  ; 8b 9f c5 46
    26402640    mov dx, strict word 0004ch                ; ba 4c 00
    26412641    mov ax, strict word 00040h                ; b8 40 00
     
    26782678    call 031a9h                               ; e8 7a 1e
    26792679    mov cx, ds                                ; 8c d9
    2680     mov bx, 053d4h                            ; bb d4 53
     2680    mov bx, 053d0h                            ; bb d0 53
    26812681    mov dx, 000a8h                            ; ba a8 00
    26822682    mov ax, strict word 00040h                ; b8 40 00
     
    26942694    mov CL, strict byte 003h                  ; b1 03
    26952695    sal bx, CL                                ; d3 e3
    2696     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2696    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    26972697    jne short 0136ch                          ; 75 09
    26982698    mov dx, strict word 00007h                ; ba 07 00
     
    27152715    mov CL, strict byte 003h                  ; b1 03
    27162716    sal bx, CL                                ; d3 e3
    2717     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     2717    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    27182718    jne short 013a6h                          ; 75 10
    27192719    xor bl, bl                                ; 30 db
     
    27252725    mov AH, strict byte 011h                  ; b4 11
    27262726    int 010h                                  ; cd 10
    2727     mov dx, 057f0h                            ; ba f0 57
     2727    mov dx, 057ech                            ; ba ec 57
    27282728    mov ax, strict word 0001fh                ; b8 1f 00
    27292729    call 00a00h                               ; e8 51 f6
     
    27352735    cmp ax, strict word 00008h                ; 3d 08 00
    27362736    jne short 013d6h                          ; 75 15
    2737     mov dx, 053f0h                            ; ba f0 53
     2737    mov dx, 053ech                            ; ba ec 53
    27382738    mov ax, strict word 00043h                ; b8 43 00
    27392739    call 00a00h                               ; e8 36 f6
    27402740    jmp short 013d6h                          ; eb 0a
    2741     mov dx, 05bf0h                            ; ba f0 5b
     2741    mov dx, 05bech                            ; ba ec 5b
    27422742    jmp short 013c4h                          ; eb f3
    2743     mov dx, 069f0h                            ; ba f0 69
     2743    mov dx, 069ech                            ; ba ec 69
    27442744    jmp short 013c4h                          ; eb ee
    27452745    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    31303130    mul bx                                    ; f7 e3
    31313131    mov word [bp-01ah], ax                    ; 89 46 e6
    3132     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     3132    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    31333133    jne short 01766h                          ; 75 50
    31343134    sal ax, 1                                 ; d1 e0
     
    31573157    xor al, ch                                ; 30 e8
    31583158    add ax, strict word 00020h                ; 05 20 00
    3159     mov es, [di+04636h]                       ; 8e 85 36 46
     3159    mov es, [di+04632h]                       ; 8e 85 32 46
    31603160    mov cx, word [bp-01ah]                    ; 8b 4e e6
    31613161    mov di, bx                                ; 89 df
     
    32023202    mov si, ax                                ; 89 c6
    32033203    sal si, CL                                ; d3 e6
    3204     mov es, [si+04636h]                       ; 8e 84 36 46
     3204    mov es, [si+04632h]                       ; 8e 84 32 46
    32053205    mov cx, word [bp-022h]                    ; 8b 4e de
    32063206    mov ax, di                                ; 89 f8
     
    32263226    mov si, ax                                ; 89 c6
    32273227    sal si, CL                                ; d3 e6
    3228     mov ax, word [si+04636h]                  ; 8b 84 36 46
     3228    mov ax, word [si+04632h]                  ; 8b 84 32 46
    32293229    mov word [bp-022h], ax                    ; 89 46 de
    32303230    mov ax, word [bp-016h]                    ; 8b 46 ea
     
    32783278    mov si, ax                                ; 89 c6
    32793279    sal si, CL                                ; d3 e6
    3280     mov si, word [si+04636h]                  ; 8b b4 36 46
     3280    mov si, word [si+04632h]                  ; 8b b4 32 46
    32813281    mov cx, di                                ; 89 f9
    32823282    mov ax, word [bp-022h]                    ; 8b 46 de
     
    33063306    mov si, ax                                ; 89 c6
    33073307    sal si, CL                                ; d3 e6
    3308     mov ax, word [si+04636h]                  ; 8b 84 36 46
     3308    mov ax, word [si+04632h]                  ; 8b 84 32 46
    33093309    mov word [bp-014h], ax                    ; 89 46 ec
    33103310    mov ax, word [bp-016h]                    ; 8b 46 ea
     
    33303330    dec word [bp-016h]                        ; ff 4e ea
    33313331    jmp near 01835h                           ; e9 3e ff
    3332     mov al, byte [si+046b2h]                  ; 8a 84 b2 46
     3332    mov al, byte [si+046aeh]                  ; 8a 84 ae 46
    33333333    xor ah, ah                                ; 30 e4
    33343334    mov CL, strict byte 006h                  ; b1 06
    33353335    mov si, ax                                ; 89 c6
    33363336    sal si, CL                                ; d3 e6
    3337     mov al, byte [si+046c8h]                  ; 8a 84 c8 46
     3337    mov al, byte [si+046c4h]                  ; 8a 84 c4 46
    33383338    mov byte [bp-012h], al                    ; 88 46 ee
    3339     mov al, byte [di+04634h]                  ; 8a 85 34 46
     3339    mov al, byte [di+04630h]                  ; 8a 85 30 46
    33403340    cmp AL, strict byte 004h                  ; 3c 04
    33413341    je short 0191dh                           ; 74 0b
     
    33793379    mov CL, strict byte 003h                  ; b1 03
    33803380    sal bx, CL                                ; d3 e3
    3381     mov bx, word [bx+04636h]                  ; 8b 9f 36 46
     3381    mov bx, word [bx+04632h]                  ; 8b 9f 32 46
    33823382    mov cx, ax                                ; 89 c1
    33833383    mov ax, dx                                ; 89 d0
     
    34933493    dec word [bp-016h]                        ; ff 4e ea
    34943494    jmp short 01a10h                          ; eb 8b
    3495     mov bl, byte [di+04635h]                  ; 8a 9d 35 46
     3495    mov bl, byte [di+04631h]                  ; 8a 9d 31 46
    34963496    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00
    34973497    jne short 01acfh                          ; 75 40
     
    35143514    mov dl, byte [bp-008h]                    ; 8a 56 f8
    35153515    xor dh, dh                                ; 30 f6
    3516     mov es, [di+04636h]                       ; 8e 85 36 46
     3516    mov es, [di+04632h]                       ; 8e 85 32 46
    35173517    mov cx, ax                                ; 89 c1
    35183518    mov ax, dx                                ; 89 d0
     
    36393639    cmp byte [bp+006h], 00eh                  ; 80 7e 06 0e
    36403640    jne short 01bf4h                          ; 75 0a
    3641     mov di, 05bf0h                            ; bf f0 5b
     3641    mov di, 05bech                            ; bf ec 5b
    36423642    jmp short 01bf7h                          ; eb 08
    3643     mov di, 069f0h                            ; bf f0 69
     3643    mov di, 069ech                            ; bf ec 69
    36443644    jmp short 01bf7h                          ; eb 03
    3645     mov di, 053f0h                            ; bf f0 53
     3645    mov di, 053ech                            ; bf ec 53
    36463646    xor ah, ah                                ; 30 e4
    36473647    mov bx, ax                                ; 89 c3
     
    37413741    mov byte [bp-008h], al                    ; 88 46 f8
    37423742    mov byte [bp-00ah], dl                    ; 88 56 f6
    3743     mov si, 053f0h                            ; be f0 53
     3743    mov si, 053ech                            ; be ec 53
    37443744    xor bh, bh                                ; 30 ff
    37453745    mov al, byte [bp+006h]                    ; 8a 46 06
     
    38793879    mov byte [bp-006h], bl                    ; 88 5e fa
    38803880    mov al, cl                                ; 88 c8
    3881     mov si, 053f0h                            ; be f0 53
     3881    mov si, 053ech                            ; be ec 53
    38823882    xor ah, ah                                ; 30 e4
    38833883    mov bl, byte [bp+004h]                    ; 8a 5e 04
     
    39943994    mov di, ax                                ; 89 c7
    39953995    sal di, CL                                ; d3 e7
    3996     cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     3996    cmp byte [di+0462fh], 000h                ; 80 bd 2f 46 00
    39973997    jne short 01f67h                          ; 75 49
    39983998    mov ax, bx                                ; 89 d8
     
    40214021    mov word [bp-01ch], bx                    ; 89 5e e4
    40224022    mov ax, word [bp-01ch]                    ; 8b 46 e4
    4023     mov es, [di+04636h]                       ; 8e 85 36 46
     4023    mov es, [di+04632h]                       ; 8e 85 32 46
    40244024    mov cx, si                                ; 89 f1
    40254025    mov di, dx                                ; 89 d7
     
    40294029    jmp near 02034h                           ; e9 cd 00
    40304030    mov bx, ax                                ; 89 c3
    4031     mov al, byte [bx+046b2h]                  ; 8a 87 b2 46
     4031    mov al, byte [bx+046aeh]                  ; 8a 87 ae 46
    40324032    mov CL, strict byte 006h                  ; b1 06
    40334033    mov bx, ax                                ; 89 c3
    40344034    sal bx, CL                                ; d3 e3
    4035     mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     4035    mov al, byte [bx+046c4h]                  ; 8a 87 c4 46
    40364036    mov byte [bp-010h], al                    ; 88 46 f0
    4037     mov al, byte [di+04635h]                  ; 8a 85 35 46
     4037    mov al, byte [di+04631h]                  ; 8a 85 31 46
    40384038    mov byte [bp-00ah], al                    ; 88 46 f6
    40394039    dec si                                    ; 4e
     
    40494049    mov bx, ax                                ; 89 c3
    40504050    sal bx, CL                                ; d3 e3
    4051     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     4051    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    40524052    cmp al, cl                                ; 38 c8
    40534053    jc short 01fb2h                           ; 72 0d
     
    41654165    mov CL, strict byte 003h                  ; b1 03
    41664166    sal bx, CL                                ; d3 e3
    4167     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     4167    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    41684168    jne short 02102h                          ; 75 4e
    41694169    mov ax, di                                ; 89 f8
     
    41954195    mov bx, dx                                ; 89 d3
    41964196    sal bx, CL                                ; d3 e3
    4197     mov cx, word [bx+04636h]                  ; 8b 8f 36 46
     4197    mov cx, word [bx+04632h]                  ; 8b 8f 32 46
    41984198    mov bx, ax                                ; 89 c3
    41994199    mov dx, di                                ; 89 fa
     
    42044204    jmp short 020dbh                          ; eb d9
    42054205    mov di, ax                                ; 89 c7
    4206     mov dl, byte [di+046b2h]                  ; 8a 95 b2 46
     4206    mov dl, byte [di+046aeh]                  ; 8a 95 ae 46
    42074207    xor dh, dh                                ; 30 f6
    42084208    mov CL, strict byte 006h                  ; b1 06
    42094209    mov di, dx                                ; 89 d7
    42104210    sal di, CL                                ; d3 e7
    4211     mov al, byte [di+046c8h]                  ; 8a 85 c8 46
     4211    mov al, byte [di+046c4h]                  ; 8a 85 c4 46
    42124212    mov byte [bp-012h], al                    ; 88 46 ee
    4213     mov al, byte [bx+04635h]                  ; 8a 87 35 46
     4213    mov al, byte [bx+04631h]                  ; 8a 87 31 46
    42144214    mov byte [bp-010h], al                    ; 88 46 f0
    42154215    dec si                                    ; 4e
     
    42244224    mov bx, dx                                ; 89 d3
    42254225    sal bx, CL                                ; d3 e3
    4226     mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     4226    mov bl, byte [bx+04630h]                  ; 8a 9f 30 46
    42274227    cmp bl, cl                                ; 38 cb
    42284228    jc short 0214dh                           ; 72 0e
     
    43104310    mov bx, ax                                ; 89 c3
    43114311    sal bx, CL                                ; d3 e3
    4312     cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     4312    cmp byte [bx+0462fh], 000h                ; 80 bf 2f 46 00
    43134313    je short 02219h                           ; 74 18
    4314     mov al, byte [bx+04634h]                  ; 8a 87 34 46
     4314    mov al, byte [bx+04630h]                  ; 8a 87 30 46
    43154315    cmp al, cl                                ; 38 c8
    43164316    jc short 02215h                           ; 72 0c
     
    43734373    mov si, strict word 00050h                ; be 50 00
    43744374    mul si                                    ; f7 e6
    4375     cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     4375    cmp byte [bx+04631h], 002h                ; 80 bf 31 46 02
    43764376    jne short 022a4h                          ; 75 09
    43774377    mov bx, word [bp-008h]                    ; 8b 5e f8
     
    43954395    mov si, ax                                ; 89 c6
    43964396    sal si, CL                                ; d3 e6
    4397     cmp byte [si+04635h], 002h                ; 80 bc 35 46 02
     4397    cmp byte [si+04631h], 002h                ; 80 bc 31 46 02
    43984398    jne short 022eeh                          ; 75 1a
    43994399    mov al, byte [bp-008h]                    ; 8a 46 f8
     
    45204520    mov si, bx                                ; 89 de
    45214521    sal si, CL                                ; d3 e6
    4522     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     4522    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    45234523    jne short 0244ch                          ; 75 46
    45244524    mov ax, word [bp-01ah]                    ; 8b 46 e6
     
    45384538    add cx, ax                                ; 01 c1
    45394539    mov bl, byte [bp-016h]                    ; 8a 5e ea
    4540     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4540    mov ax, word [si+04632h]                  ; 8b 84 32 46
    45414541    mov dx, cx                                ; 89 ca
    45424542    call 031a9h                               ; e8 74 0d
     
    45474547    mov dx, cx                                ; 89 ca
    45484548    inc dx                                    ; 42
    4549     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4549    mov ax, word [si+04632h]                  ; 8b 84 32 46
    45504550    call 031a9h                               ; e8 5f 0d
    45514551    jmp short 02492h                          ; eb 46
    4552     mov bl, byte [bx+046b2h]                  ; 8a 9f b2 46
     4552    mov bl, byte [bx+046aeh]                  ; 8a 9f ae 46
    45534553    mov CL, strict byte 006h                  ; b1 06
    45544554    sal bx, CL                                ; d3 e3
    4555     mov bl, byte [bx+046c8h]                  ; 8a 9f c8 46
    4556     mov ah, byte [si+04635h]                  ; 8a a4 35 46
    4557     mov al, byte [si+04634h]                  ; 8a 84 34 46
     4555    mov bl, byte [bx+046c4h]                  ; 8a 9f c4 46
     4556    mov ah, byte [si+04631h]                  ; 8a a4 31 46
     4557    mov al, byte [si+04630h]                  ; 8a 84 30 46
    45584558    cmp AL, strict byte 003h                  ; 3c 03
    45594559    jc short 02470h                           ; 72 0c
     
    46344634    ; dec al                                    ; fe c8
    46354635    mov byte [bp-012h], al                    ; 88 46 ee
    4636     cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     4636    cmp byte [si+0462fh], 000h                ; 80 bc 2f 46 00
    46374637    jne short 02569h                          ; 75 51
    46384638    mov ax, word [bp-01ah]                    ; 8b 46 e6
     
    46564656    add dx, ax                                ; 01 c2
    46574657    inc dx                                    ; 42
    4658     mov ax, word [si+04636h]                  ; 8b 84 36 46
     4658    mov ax, word [si+04632h]                  ; 8b 84 32 46
    46594659    call 0319bh                               ; e8 51 0c
    46604660    mov dx, strict word 00001h                ; ba 01 00
     
    49584958    sal di, CL                                ; d3 e7
    49594959    add di, word [bp-00ch]                    ; 03 7e f4
    4960     mov si, 05bf0h                            ; be f0 5b
     4960    mov si, 05bech                            ; be ec 5b
    49614961    add si, ax                                ; 01 c6
    49624962    mov cx, strict word 0000eh                ; b9 0e 00
     
    50185018    sal di, CL                                ; d3 e7
    50195019    add di, word [bp-00ch]                    ; 03 7e f4
    5020     add si, 053f0h                            ; 81 c6 f0 53
     5020    add si, 053ech                            ; 81 c6 ec 53
    50215021    mov cx, strict word 00008h                ; b9 08 00
    50225022    mov dx, 0c000h                            ; ba 00 c0
     
    50775077    sal di, CL                                ; d3 e7
    50785078    add di, word [bp-00ch]                    ; 03 7e f4
    5079     add si, 069f0h                            ; 81 c6 f0 69
     5079    add si, 069ech                            ; 81 c6 ec 69
    50805080    mov cx, strict word 00010h                ; b9 10 00
    50815081    mov dx, 0c000h                            ; ba 00 c0
     
    52135213    push bx                                   ; 53
    52145214    mov cx, ds                                ; 8c d9
    5215     mov bx, 05386h                            ; bb 86 53
     5215    mov bx, 05382h                            ; bb 82 53
    52165216    mov dx, word [bp-00ah]                    ; 8b 56 f6
    52175217    mov ax, word [bp-008h]                    ; 8b 46 f8
     
    61526152    mov CL, strict byte 003h                  ; b1 03
    61536153    sal bx, CL                                ; d3 e3
    6154     cmp dl, byte [bx+04632h]                  ; 3a 97 32 46
     6154    cmp dl, byte [bx+0462eh]                  ; 3a 97 2e 46
    61556155    jne short 0317eh                          ; 75 ec
    61566156    mov ah, al                                ; 88 c4
     
    68616861    mov word [es:bx+002h], 04153h             ; 26 c7 47 02 53 41
    68626862    mov word [es:bx+004h], 00200h             ; 26 c7 47 04 00 02
    6863     mov word [es:bx+006h], 07c62h             ; 26 c7 47 06 62 7c
     6863    mov word [es:bx+006h], 07c5eh             ; 26 c7 47 06 5e 7c
    68646864    mov [es:bx+008h], ds                      ; 26 8c 5f 08
    68656865    mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00
     
    68776877    je short 037fch                           ; 74 24
    68786878    mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
    6879     mov word [es:bx+016h], 07c77h             ; 26 c7 47 16 77 7c
     6879    mov word [es:bx+016h], 07c73h             ; 26 c7 47 16 73 7c
    68806880    mov [es:bx+018h], ds                      ; 26 8c 5f 18
    6881     mov word [es:bx+01ah], 07c8ah             ; 26 c7 47 1a 8a 7c
     6881    mov word [es:bx+01ah], 07c86h             ; 26 c7 47 1a 86 7c
    68826882    mov [es:bx+01ch], ds                      ; 26 8c 5f 1c
    6883     mov word [es:bx+01eh], 07cabh             ; 26 c7 47 1e ab 7c
     6883    mov word [es:bx+01eh], 07ca7h             ; 26 c7 47 1e a7 7c
    68846884    mov [es:bx+020h], ds                      ; 26 8c 5f 20
    68856885    mov dx, cx                                ; 89 ca
     
    74337433  times 235 db 0
    74347434
    7435 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP
    7436 _msg_vga_init:                               ; 0xc4600 LB 0x32
    7437     db  'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h
    7438 _vga_modes:                                  ; 0xc4632 LB 0x80
     7435section _DATA progbits vstart=0x4600 align=1 ; size=0x371e class=DATA group=DGROUP
     7436_msg_vga_init:                               ; 0xc4600 LB 0x2e
     7437    db  'Oracle VM VirtualBox Version 5.1.0 VGA BIOS', 00dh, 00ah, 000h
     7438_vga_modes:                                  ; 0xc462e LB 0x80
    74397439    db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
    74407440    db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     
    74457445    db  011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    74467446    db  013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
    7447 _line_to_vpti:                               ; 0xc46b2 LB 0x10
     7447_line_to_vpti:                               ; 0xc46ae LB 0x10
    74487448    db  017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh
    7449 _dac_regs:                                   ; 0xc46c2 LB 0x4
     7449_dac_regs:                                   ; 0xc46be LB 0x4
    74507450    dd  0ff3f3f3fh
    7451 _video_param_table:                          ; 0xc46c6 LB 0x780
     7451_video_param_table:                          ; 0xc46c2 LB 0x780
    74527452    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    74537453    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     
    75707570    db  073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch
    75717571    db  03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh
    7572 _palette0:                                   ; 0xc4e46 LB 0xc0
     7572_palette0:                                   ; 0xc4e42 LB 0xc0
    75737573    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    75747574    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
     
    75837583    db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    75847584    db  03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
    7585 _palette1:                                   ; 0xc4f06 LB 0xc0
     7585_palette1:                                   ; 0xc4f02 LB 0xc0
    75867586    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    75877587    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah
     
    75967596    db  015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    75977597    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    7598 _palette2:                                   ; 0xc4fc6 LB 0xc0
     7598_palette2:                                   ; 0xc4fc2 LB 0xc0
    75997599    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    76007600    db  000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah
     
    76097609    db  015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
    76107610    db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
    7611 _palette3:                                   ; 0xc5086 LB 0x300
     7611_palette3:                                   ; 0xc5082 LB 0x300
    76127612    db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
    76137613    db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     
    76587658    db  00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    76597659    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7660 _static_functionality:                       ; 0xc5386 LB 0x10
     7660_static_functionality:                       ; 0xc5382 LB 0x10
    76617661    db  0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h
    7662 _dcc_table:                                  ; 0xc5396 LB 0x24
     7662_dcc_table:                                  ; 0xc5392 LB 0x24
    76637663    db  010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    76647664    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    76657665    db  000h, 000h, 000h, 000h
    7666 _secondary_save_area:                        ; 0xc53ba LB 0x1a
    7667     db  01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7666_secondary_save_area:                        ; 0xc53b6 LB 0x1a
     7667    db  01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    76687668    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7669 _video_save_pointer_table:                   ; 0xc53d4 LB 0x1c
    7670     db  0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7671     db  0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7672 _vgafont8:                                   ; 0xc53f0 LB 0x800
     7669_video_save_pointer_table:                   ; 0xc53d0 LB 0x1c
     7670    db  0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7671    db  0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     7672_vgafont8:                                   ; 0xc53ec LB 0x800
    76737673    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
    76747674    db  07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
     
    77997799    db  078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h
    78007800    db  000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7801 _vgafont14:                                  ; 0xc5bf0 LB 0xe00
     7801_vgafont14:                                  ; 0xc5bec LB 0xe00
    78027802    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    78037803    db  07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh
     
    80248024    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h
    80258025    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8026 _vgafont16:                                  ; 0xc69f0 LB 0x1000
     8026_vgafont16:                                  ; 0xc69ec LB 0x1000
    80278027    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    80288028    db  000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h
     
    82818281    db  000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h
    82828282    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8283 _vgafont14alt:                               ; 0xc79f0 LB 0x12d
     8283_vgafont14alt:                               ; 0xc79ec LB 0x12d
    82848284    db  01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h
    82858285    db  000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h
     
    83018301    db  000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h
    83028302    db  018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h
    8303 _vgafont16alt:                               ; 0xc7b1d LB 0x145
     8303_vgafont16alt:                               ; 0xc7b19 LB 0x145
    83048304    db  01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h
    83058305    db  000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h
     
    83238323    db  000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h
    83248324    db  006h, 000h, 000h, 000h, 000h
    8325 _vbebios_copyright:                          ; 0xc7c62 LB 0x15
     8325_vbebios_copyright:                          ; 0xc7c5e LB 0x15
    83268326    db  'VirtualBox VESA BIOS', 000h
    8327 _vbebios_vendor_name:                        ; 0xc7c77 LB 0x13
     8327_vbebios_vendor_name:                        ; 0xc7c73 LB 0x13
    83288328    db  'Oracle Corporation', 000h
    8329 _vbebios_product_name:                       ; 0xc7c8a LB 0x21
     8329_vbebios_product_name:                       ; 0xc7c86 LB 0x21
    83308330    db  'Oracle VM VirtualBox VBE Adapter', 000h
    8331 _vbebios_product_revision:                   ; 0xc7cab LB 0x27
    8332     db  'Oracle VM VirtualBox Version 5.1.0_RC1', 000h
    8333 _vbebios_info_string:                        ; 0xc7cd2 LB 0x2b
     8331_vbebios_product_revision:                   ; 0xc7ca7 LB 0x23
     8332    db  'Oracle VM VirtualBox Version 5.1.0', 000h
     8333_vbebios_info_string:                        ; 0xc7cca LB 0x2b
    83348334    db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
    8335 _no_vbebios_info_string:                     ; 0xc7cfd LB 0x29
     8335_no_vbebios_info_string:                     ; 0xc7cf5 LB 0x29
    83368336    db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
    83378337
    8338 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     8338section CONST progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    83398339
    8340 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
     8340section CONST2 progbits vstart=0x7d1e align=1 ; size=0x0 class=DATA group=DGROUP
    83418341
    8342   ; Padding 0x2da bytes at 0xc7d26
     8342  ; Padding 0x2e2 bytes at 0xc7d1e
    83438343    db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
    83448344    db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
     
    83868386    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    83878387    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8388     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh
     8388    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     8389    db  000h, 0d0h
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum

    r62120 r62178  
    1 454a8ca9b253ba40254ed2882d362fa9 *VBoxVgaBios8086.rom
     16c7ee10604f362a96b50a3d666ce7672 *VBoxVgaBios8086.rom
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