VirtualBox

Ignore:
Timestamp:
Aug 24, 2016 1:42:38 PM (8 years ago)
Author:
vboxsync
Message:

BIOS: update alternative sources (this time without local modifications)

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

Legend:

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

    r63625 r63627  
    15251525  times 123 db 0
    15261526
    1527 section _TEXT progbits vstart=0xa00 align=1 ; size=0x317b class=CODE group=AUTO
     1527section _TEXT progbits vstart=0xa00 align=1 ; size=0x316b class=CODE group=AUTO
    15281528set_int_vector_:                             ; 0xc0a00 LB 0x1b
    15291529    push bx                                   ; 53
     
    64896489    mov dx, word [bp+00ch]                    ; 8b 56 0c
    64906490    lea ax, [bp+012h]                         ; 8d 46 12
    6491     call 03906h                               ; e8 5a 03
     6491    call 038f6h                               ; e8 4a 03
    64926492    jmp short 035d1h                          ; eb 23
    64936493    jmp short 035cch                          ; eb 1c
     
    64986498    mov dx, word [bp+010h]                    ; 8b 56 10
    64996499    lea ax, [bp+012h]                         ; 8d 46 12
    6500     call 03aefh                               ; e8 2c 05
     6500    call 03adfh                               ; e8 1c 05
    65016501    jmp short 035d1h                          ; eb 0c
    65026502    mov word [bp+012h], 00100h                ; c7 46 12 00 01
     
    67796779    pop bp                                    ; 5d
    67806780    retn                                      ; c3
    6781 vbe_biosfn_return_mode_information_:         ; 0xc3839 LB 0xcd
     6781vbe_biosfn_return_mode_information_:         ; 0xc3839 LB 0xbd
    67826782    push bp                                   ; 55
    67836783    mov bp, sp                                ; 89 e5
    67846784    push si                                   ; 56
    67856785    push di                                   ; 57
    6786     sub sp, strict byte 00006h                ; 83 ec 06
     6786    push ax                                   ; 50
     6787    push ax                                   ; 50
    67876788    push ax                                   ; 50
    67886789    mov ax, dx                                ; 89 d0
     
    67906791    mov word [bp-006h], cx                    ; 89 4e fa
    67916792    test dh, 040h                             ; f6 c6 40
    6792     je short 03853h                           ; 74 05
     6793    je short 03852h                           ; 74 05
    67936794    mov dx, strict word 00001h                ; ba 01 00
    6794     jmp short 03855h                          ; eb 02
     6795    jmp short 03854h                          ; eb 02
    67956796    xor dx, dx                                ; 31 d2
    6796     mov word [bp-00ah], dx                    ; 89 56 f6
    67976797    and ah, 001h                              ; 80 e4 01
    6798     call 036b5h                               ; e8 57 fe
     6798    call 036b5h                               ; e8 5b fe
    67996799    mov word [bp-008h], ax                    ; 89 46 f8
    68006800    test ax, ax                               ; 85 c0
    6801     je short 0389bh                           ; 74 36
     6801    je short 03897h                           ; 74 36
    68026802    mov cx, 00100h                            ; b9 00 01
    68036803    xor ax, ax                                ; 31 c0
     
    68056805    mov es, si                                ; 8e c6
    68066806    cld                                       ; fc
    6807     jcxz 03874h                               ; e3 02
     6807    jcxz 03870h                               ; e3 02
    68086808    rep stosb                                 ; f3 aa
    68096809    xor cx, cx                                ; 31 c9
    6810     jmp short 0387dh                          ; eb 05
     6810    jmp short 03879h                          ; eb 05
    68116811    cmp cx, strict byte 00042h                ; 83 f9 42
    6812     jnc short 0389dh                          ; 73 20
     6812    jnc short 03899h                          ; 73 20
    68136813    mov dx, word [bp-008h]                    ; 8b 56 f8
    68146814    inc dx                                    ; 42
     
    68166816    add dx, cx                                ; 01 ca
    68176817    mov ax, 003b6h                            ; b8 b6 03
    6818     call 03647h                               ; e8 bd fd
     6818    call 03647h                               ; e8 c1 fd
    68196819    mov bl, al                                ; 88 c3
    68206820    xor bh, bh                                ; 30 ff
     
    68226822    add dx, cx                                ; 01 ca
    68236823    mov ax, si                                ; 89 f0
    6824     call 03173h                               ; e8 db f8
    6825     inc cx                                    ; 41
    6826     jmp short 03878h                          ; eb dd
    6827     jmp short 038f4h                          ; eb 57
     6824    call 03173h                               ; e8 df f8
     6825    inc cx                                    ; 41
     6826    jmp short 03874h                          ; eb dd
     6827    jmp short 038e4h                          ; eb 4b
    68286828    mov dx, word [bp-006h]                    ; 8b 56 fa
    68296829    inc dx                                    ; 42
    68306830    inc dx                                    ; 42
    68316831    mov ax, si                                ; 89 f0
    6832     call 03165h                               ; e8 be f8
     6832    call 03165h                               ; e8 c2 f8
    68336833    test AL, strict byte 001h                 ; a8 01
    6834     je short 038c7h                           ; 74 1c
     6834    je short 038c3h                           ; 74 1c
    68356835    mov dx, word [bp-006h]                    ; 8b 56 fa
    68366836    add dx, strict byte 0000ch                ; 83 c2 0c
    68376837    mov bx, 00629h                            ; bb 29 06
    68386838    mov ax, si                                ; 89 f0
    6839     call 0318fh                               ; e8 d6 f8
     6839    call 0318fh                               ; e8 da f8
    68406840    mov dx, word [bp-006h]                    ; 8b 56 fa
    68416841    add dx, strict byte 0000eh                ; 83 c2 0e
    68426842    mov bx, 0c000h                            ; bb 00 c0
    68436843    mov ax, si                                ; 89 f0
    6844     call 0318fh                               ; e8 c8 f8
     6844    call 0318fh                               ; e8 cc f8
    68456845    mov ax, strict word 0000bh                ; b8 0b 00
    68466846    mov dx, 001ceh                            ; ba ce 01
    6847     call 00570h                               ; e8 a0 cc
    6848     mov cx, word [bp-006h]                    ; 8b 4e fa
    6849     add cx, strict byte 0002ah                ; 83 c1 2a
    6850     cmp word [bp-00ah], strict byte 00000h    ; 83 7e f6 00
    6851     je short 038e6h                           ; 74 0a
     6847    call 00570h                               ; e8 a4 cc
    68526848    mov dx, 001cfh                            ; ba cf 01
    6853     call 00577h                               ; e8 95 cc
    6854     mov bx, ax                                ; 89 c3
    6855     jmp short 038e8h                          ; eb 02
    6856     xor bx, bx                                ; 31 db
    6857     mov dx, cx                                ; 89 ca
    6858     mov ax, si                                ; 89 f0
    6859     call 0318fh                               ; e8 a0 f8
     6849    call 00577h                               ; e8 a5 cc
     6850    mov dx, word [bp-006h]                    ; 8b 56 fa
     6851    add dx, strict byte 0002ah                ; 83 c2 2a
     6852    mov bx, ax                                ; 89 c3
     6853    mov ax, si                                ; 89 f0
     6854    call 0318fh                               ; e8 b0 f8
    68606855    mov ax, strict word 0004fh                ; b8 4f 00
    6861     jmp short 038f7h                          ; eb 03
     6856    jmp short 038e7h                          ; eb 03
    68626857    mov ax, 00100h                            ; b8 00 01
    68636858    push SS                                   ; 16
    68646859    pop ES                                    ; 07
    6865     mov bx, word [bp-00ch]                    ; 8b 5e f4
     6860    mov bx, word [bp-00ah]                    ; 8b 5e f6
    68666861    mov word [es:bx], ax                      ; 26 89 07
    68676862    lea sp, [bp-004h]                         ; 8d 66 fc
     
    68706865    pop bp                                    ; 5d
    68716866    retn                                      ; c3
    6872 vbe_biosfn_set_mode_:                        ; 0xc3906 LB 0xeb
     6867vbe_biosfn_set_mode_:                        ; 0xc38f6 LB 0xeb
    68736868    push bp                                   ; 55
    68746869    mov bp, sp                                ; 89 e5
     
    68796874    mov word [bp-00ah], dx                    ; 89 56 f6
    68806875    test byte [bp-009h], 040h                 ; f6 46 f7 40
    6881     je short 0391eh                           ; 74 05
     6876    je short 0390eh                           ; 74 05
    68826877    mov ax, strict word 00001h                ; b8 01 00
    6883     jmp short 03920h                          ; eb 02
     6878    jmp short 03910h                          ; eb 02
    68846879    xor ax, ax                                ; 31 c0
    68856880    mov dx, ax                                ; 89 c2
    68866881    test ax, ax                               ; 85 c0
    6887     je short 03929h                           ; 74 03
     6882    je short 03919h                           ; 74 03
    68886883    mov ax, strict word 00040h                ; b8 40 00
    68896884    mov byte [bp-006h], al                    ; 88 46 fa
    68906885    test byte [bp-009h], 080h                 ; f6 46 f7 80
    6891     je short 03937h                           ; 74 05
     6886    je short 03927h                           ; 74 05
    68926887    mov ax, 00080h                            ; b8 80 00
    6893     jmp short 03939h                          ; eb 02
     6888    jmp short 03929h                          ; eb 02
    68946889    xor ax, ax                                ; 31 c0
    68956890    mov byte [bp-008h], al                    ; 88 46 f8
    68966891    and byte [bp-009h], 001h                  ; 80 66 f7 01
    68976892    cmp word [bp-00ah], 00100h                ; 81 7e f6 00 01
    6898     jnc short 0395ah                          ; 73 13
     6893    jnc short 0394ah                          ; 73 13
    68996894    xor ax, ax                                ; 31 c0
    6900     call 005ddh                               ; e8 91 cc
     6895    call 005ddh                               ; e8 a1 cc
    69016896    mov al, byte [bp-00ah]                    ; 8a 46 f6
    69026897    xor ah, ah                                ; 30 e4
    6903     call 0101ch                               ; e8 c8 d6
     6898    call 0101ch                               ; e8 d8 d6
    69046899    mov ax, strict word 0004fh                ; b8 4f 00
    6905     jmp near 039e7h                           ; e9 8d 00
     6900    jmp near 039d7h                           ; e9 8d 00
    69066901    mov ax, word [bp-00ah]                    ; 8b 46 f6
    6907     call 036b5h                               ; e8 55 fd
     6902    call 036b5h                               ; e8 65 fd
    69086903    mov bx, ax                                ; 89 c3
    69096904    test ax, ax                               ; 85 c0
    6910     jne short 03969h                          ; 75 03
    6911     jmp near 039e4h                           ; e9 7b 00
     6905    jne short 03959h                          ; 75 03
     6906    jmp near 039d4h                           ; e9 7b 00
    69126907    lea dx, [bx+014h]                         ; 8d 57 14
    69136908    mov ax, 003b6h                            ; b8 b6 03
    6914     call 03635h                               ; e8 c3 fc
     6909    call 03635h                               ; e8 d3 fc
    69156910    mov cx, ax                                ; 89 c1
    69166911    lea dx, [bx+016h]                         ; 8d 57 16
    69176912    mov ax, 003b6h                            ; b8 b6 03
    6918     call 03635h                               ; e8 b8 fc
     6913    call 03635h                               ; e8 c8 fc
    69196914    mov di, ax                                ; 89 c7
    69206915    lea dx, [bx+01bh]                         ; 8d 57 1b
    69216916    mov ax, 003b6h                            ; b8 b6 03
    6922     call 03647h                               ; e8 bf fc
     6917    call 03647h                               ; e8 cf fc
    69236918    mov bl, al                                ; 88 c3
    69246919    mov dl, al                                ; 88 c2
    69256920    xor ax, ax                                ; 31 c0
    6926     call 005ddh                               ; e8 4c cc
     6921    call 005ddh                               ; e8 5c cc
    69276922    cmp bl, 004h                              ; 80 fb 04
    6928     jne short 0399ch                          ; 75 06
     6923    jne short 0398ch                          ; 75 06
    69296924    mov ax, strict word 0006ah                ; b8 6a 00
    6930     call 0101ch                               ; e8 80 d6
     6925    call 0101ch                               ; e8 90 d6
    69316926    mov al, dl                                ; 88 d0
    69326927    xor ah, ah                                ; 30 e4
    6933     call 03616h                               ; e8 73 fc
     6928    call 03616h                               ; e8 83 fc
    69346929    mov ax, cx                                ; 89 c8
    6935     call 035d8h                               ; e8 30 fc
     6930    call 035d8h                               ; e8 40 fc
    69366931    mov ax, di                                ; 89 f8
    6937     call 035f7h                               ; e8 4a fc
     6932    call 035f7h                               ; e8 5a fc
    69386933    xor ax, ax                                ; 31 c0
    6939     call 00603h                               ; e8 51 cc
     6934    call 00603h                               ; e8 61 cc
    69406935    mov al, byte [bp-008h]                    ; 8a 46 f8
    69416936    or AL, strict byte 001h                   ; 0c 01
     
    69436938    mov dl, byte [bp-006h]                    ; 8a 56 fa
    69446939    or al, dl                                 ; 08 d0
    6945     call 005ddh                               ; e8 1c cc
    6946     call 0070dh                               ; e8 49 cd
     6940    call 005ddh                               ; e8 2c cc
     6941    call 0070dh                               ; e8 59 cd
    69476942    mov bx, word [bp-00ah]                    ; 8b 5e f6
    69486943    mov dx, 000bah                            ; ba ba 00
    69496944    mov ax, strict word 00040h                ; b8 40 00
    6950     call 0318fh                               ; e8 bf f7
     6945    call 0318fh                               ; e8 cf f7
    69516946    mov bl, byte [bp-008h]                    ; 8a 5e f8
    69526947    or bl, 060h                               ; 80 cb 60
     
    69546949    mov dx, 00087h                            ; ba 87 00
    69556950    mov ax, strict word 00040h                ; b8 40 00
    6956     call 03173h                               ; e8 92 f7
    6957     jmp near 03954h                           ; e9 70 ff
     6951    call 03173h                               ; e8 a2 f7
     6952    jmp near 03944h                           ; e9 70 ff
    69586953    mov ax, 00100h                            ; b8 00 01
    69596954    mov word [ss:si], ax                      ; 36 89 04
     
    69636958    pop bp                                    ; 5d
    69646959    retn                                      ; c3
    6965 vbe_biosfn_read_video_state_size_:           ; 0xc39f1 LB 0x8
     6960vbe_biosfn_read_video_state_size_:           ; 0xc39e1 LB 0x8
    69666961    push bp                                   ; 55
    69676962    mov bp, sp                                ; 89 e5
     
    69696964    pop bp                                    ; 5d
    69706965    retn                                      ; c3
    6971 vbe_biosfn_save_video_state_:                ; 0xc39f9 LB 0x5b
     6966vbe_biosfn_save_video_state_:                ; 0xc39e9 LB 0x5b
    69726967    push bp                                   ; 55
    69736968    mov bp, sp                                ; 89 e5
     
    69886983    mov dx, cx                                ; 89 ca
    69896984    mov ax, di                                ; 89 f8
    6990     call 0318fh                               ; e8 73 f7
     6985    call 0318fh                               ; e8 83 f7
    69916986    inc cx                                    ; 41
    69926987    inc cx                                    ; 41
    69936988    test byte [bp-00ah], 001h                 ; f6 46 f6 01
    6994     je short 03a4bh                           ; 74 27
     6989    je short 03a3bh                           ; 74 27
    69956990    mov si, strict word 00001h                ; be 01 00
    6996     jmp short 03a2eh                          ; eb 05
     6991    jmp short 03a1eh                          ; eb 05
    69976992    cmp si, strict byte 00009h                ; 83 fe 09
    6998     jnbe short 03a4bh                         ; 77 1d
     6993    jnbe short 03a3bh                         ; 77 1d
    69996994    cmp si, strict byte 00004h                ; 83 fe 04
    7000     je short 03a48h                           ; 74 15
     6995    je short 03a38h                           ; 74 15
    70016996    mov ax, si                                ; 89 f0
    70026997    mov dx, 001ceh                            ; ba ce 01
     
    70077002    mov dx, cx                                ; 89 ca
    70087003    mov ax, di                                ; 89 f8
    7009     call 0318fh                               ; e8 49 f7
     7004    call 0318fh                               ; e8 59 f7
    70107005    inc cx                                    ; 41
    70117006    inc cx                                    ; 41
    70127007    inc si                                    ; 46
    7013     jmp short 03a29h                          ; eb de
     7008    jmp short 03a19h                          ; eb de
    70147009    lea sp, [bp-008h]                         ; 8d 66 f8
    70157010    pop di                                    ; 5f
     
    70197014    pop bp                                    ; 5d
    70207015    retn                                      ; c3
    7021 vbe_biosfn_restore_video_state_:             ; 0xc3a54 LB 0x9b
     7016vbe_biosfn_restore_video_state_:             ; 0xc3a44 LB 0x9b
    70227017    push bp                                   ; 55
    70237018    mov bp, sp                                ; 89 e5
     
    70287023    mov cx, ax                                ; 89 c1
    70297024    mov bx, dx                                ; 89 d3
    7030     call 03181h                               ; e8 1f f7
     7025    call 03181h                               ; e8 2f f7
    70317026    mov word [bp-008h], ax                    ; 89 46 f8
    70327027    inc bx                                    ; 43
    70337028    inc bx                                    ; 43
    70347029    test byte [bp-008h], 001h                 ; f6 46 f8 01
    7035     jne short 03a7dh                          ; 75 10
     7030    jne short 03a6dh                          ; 75 10
    70367031    mov ax, strict word 00004h                ; b8 04 00
    70377032    mov dx, 001ceh                            ; ba ce 01
     
    70407035    mov dx, 001cfh                            ; ba cf 01
    70417036    out DX, ax                                ; ef
    7042     jmp short 03ae7h                          ; eb 6a
     7037    jmp short 03ad7h                          ; eb 6a
    70437038    mov ax, strict word 00001h                ; b8 01 00
    70447039    mov dx, 001ceh                            ; ba ce 01
     
    70467041    mov dx, bx                                ; 89 da
    70477042    mov ax, cx                                ; 89 c8
    7048     call 03181h                               ; e8 f6 f6
     7043    call 03181h                               ; e8 06 f7
    70497044    mov dx, 001cfh                            ; ba cf 01
    70507045    out DX, ax                                ; ef
     
    70567051    mov dx, bx                                ; 89 da
    70577052    mov ax, cx                                ; 89 c8
    7058     call 03181h                               ; e8 e2 f6
     7053    call 03181h                               ; e8 f2 f6
    70597054    mov dx, 001cfh                            ; ba cf 01
    70607055    out DX, ax                                ; ef
     
    70667061    mov dx, bx                                ; 89 da
    70677062    mov ax, cx                                ; 89 c8
    7068     call 03181h                               ; e8 ce f6
     7063    call 03181h                               ; e8 de f6
    70697064    mov dx, 001cfh                            ; ba cf 01
    70707065    out DX, ax                                ; ef
     
    70787073    out DX, ax                                ; ef
    70797074    mov si, strict word 00005h                ; be 05 00
    7080     jmp short 03ad1h                          ; eb 05
     7075    jmp short 03ac1h                          ; eb 05
    70817076    cmp si, strict byte 00009h                ; 83 fe 09
    7082     jnbe short 03ae7h                         ; 77 16
     7077    jnbe short 03ad7h                         ; 77 16
    70837078    mov ax, si                                ; 89 f0
    70847079    mov dx, 001ceh                            ; ba ce 01
     
    70867081    mov dx, bx                                ; 89 da
    70877082    mov ax, cx                                ; 89 c8
    7088     call 03181h                               ; e8 a3 f6
     7083    call 03181h                               ; e8 b3 f6
    70897084    mov dx, 001cfh                            ; ba cf 01
    70907085    out DX, ax                                ; ef
     
    70927087    inc bx                                    ; 43
    70937088    inc si                                    ; 46
    7094     jmp short 03acch                          ; eb e5
     7089    jmp short 03abch                          ; eb e5
    70957090    lea sp, [bp-006h]                         ; 8d 66 fa
    70967091    pop si                                    ; 5e
     
    70997094    pop bp                                    ; 5d
    71007095    retn                                      ; c3
    7101 vbe_biosfn_save_restore_state_:              ; 0xc3aef LB 0x8c
     7096vbe_biosfn_save_restore_state_:              ; 0xc3adf LB 0x8c
    71027097    push bp                                   ; 55
    71037098    mov bp, sp                                ; 89 e5
     
    71127107    xor ah, ah                                ; 30 e4
    71137108    cmp ax, strict word 00002h                ; 3d 02 00
    7114     je short 03b4eh                           ; 74 45
     7109    je short 03b3eh                           ; 74 45
    71157110    cmp ax, strict word 00001h                ; 3d 01 00
    7116     je short 03b32h                           ; 74 24
     7111    je short 03b22h                           ; 74 24
    71177112    test ax, ax                               ; 85 c0
    7118     jne short 03b6ah                          ; 75 58
     7113    jne short 03b5ah                          ; 75 58
    71197114    mov ax, word [bp-006h]                    ; 8b 46 fa
    7120     call 02a51h                               ; e8 39 ef
     7115    call 02a51h                               ; e8 49 ef
    71217116    mov cx, ax                                ; 89 c1
    71227117    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7123     je short 03b25h                           ; 74 05
    7124     call 039f1h                               ; e8 ce fe
     7118    je short 03b15h                           ; 74 05
     7119    call 039e1h                               ; e8 ce fe
    71257120    add ax, cx                                ; 01 c8
    71267121    add ax, strict word 0003fh                ; 05 3f 00
     
    71297124    pop ES                                    ; 07
    71307125    mov word [es:bx], ax                      ; 26 89 07
    7131     jmp short 03b6dh                          ; eb 3b
     7126    jmp short 03b5dh                          ; eb 3b
    71327127    push SS                                   ; 16
    71337128    pop ES                                    ; 07
     
    71357130    mov dx, cx                                ; 89 ca
    71367131    mov ax, word [bp-006h]                    ; 8b 46 fa
    7137     call 02a86h                               ; e8 47 ef
     7132    call 02a86h                               ; e8 57 ef
    71387133    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7139     je short 03b6dh                           ; 74 28
     7134    je short 03b5dh                           ; 74 28
    71407135    mov dx, ax                                ; 89 c2
    71417136    mov ax, cx                                ; 89 c8
    7142     call 039f9h                               ; e8 ad fe
    7143     jmp short 03b6dh                          ; eb 1f
     7137    call 039e9h                               ; e8 ad fe
     7138    jmp short 03b5dh                          ; eb 1f
    71447139    push SS                                   ; 16
    71457140    pop ES                                    ; 07
     
    71477142    mov dx, cx                                ; 89 ca
    71487143    mov ax, word [bp-006h]                    ; 8b 46 fa
    7149     call 02e07h                               ; e8 ac f2
     7144    call 02e07h                               ; e8 bc f2
    71507145    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7151     je short 03b6dh                           ; 74 0c
     7146    je short 03b5dh                           ; 74 0c
    71527147    mov dx, ax                                ; 89 c2
    71537148    mov ax, cx                                ; 89 c8
    7154     call 03a54h                               ; e8 ec fe
    7155     jmp short 03b6dh                          ; eb 03
     7149    call 03a44h                               ; e8 ec fe
     7150    jmp short 03b5dh                          ; eb 03
    71567151    mov di, 00100h                            ; bf 00 01
    71577152    push SS                                   ; 16
     
    71647159    retn 00002h                               ; c2 02 00
    71657160
    7166   ; Padding 0x885 bytes at 0xc3b7b
    7167   times 2181 db 0
     7161  ; Padding 0x895 bytes at 0xc3b6b
     7162  times 2197 db 0
    71687163
    71697164section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO
     
    82538248    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    82548249    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8255     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d0h
     8250    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07fh
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum

    r63625 r63627  
    1 af37cef32b59b58887a37fe686c86d2f *VBoxVgaBios286.rom
     18d91125af3fbd678849835b1667fb315 *VBoxVgaBios286.rom
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm

    r63625 r63627  
    15161516  times 110 db 0
    15171517
    1518 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f67 class=CODE group=AUTO
     1518section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f57 class=CODE group=AUTO
    15191519set_int_vector_:                             ; 0xc0a00 LB 0x1a
    15201520    push bx                                   ; 53
     
    59725972    mov dx, word [bp+00ch]                    ; 8b 56 0c
    59735973    lea ax, [bp+012h]                         ; 8d 46 12
    5974     call 036f4h                               ; e8 4d 03
     5974    call 036e4h                               ; e8 3d 03
    59755975    jmp short 033cah                          ; eb 21
    59765976    lea ax, [bp+00ch]                         ; 8d 46 0c
     
    59805980    mov dx, word [bp+010h]                    ; 8b 56 10
    59815981    lea ax, [bp+012h]                         ; 8d 46 12
    5982     call 038dbh                               ; e8 1f 05
     5982    call 038cbh                               ; e8 0f 05
    59835983    jmp short 033cah                          ; eb 0c
    59845984    mov word [bp+012h], 00100h                ; c7 46 12 00 01
     
    62616261    pop bp                                    ; 5d
    62626262    retn                                      ; c3
    6263 vbe_biosfn_return_mode_information_:         ; 0xc362c LB 0xc8
     6263vbe_biosfn_return_mode_information_:         ; 0xc362c LB 0xb8
    62646264    push bp                                   ; 55
    62656265    mov bp, sp                                ; 89 e5
    62666266    push si                                   ; 56
    62676267    push di                                   ; 57
    6268     sub sp, strict byte 00006h                ; 83 ec 06
     6268    push ax                                   ; 50
     6269    push ax                                   ; 50
    62696270    push ax                                   ; 50
    62706271    mov ax, dx                                ; 89 d0
     
    62756276    ; setne dl                                  ; 0f 95 c2
    62766277    xor dh, dh                                ; 30 f6
    6277     mov word [bp-008h], dx                    ; 89 56 f8
    62786278    and ah, 001h                              ; 80 e4 01
    6279     call 034aeh                               ; e8 61 fe
    6280     mov word [bp-00ah], ax                    ; 89 46 f6
     6279    call 034aeh                               ; e8 65 fe
     6280    mov word [bp-008h], ax                    ; 89 46 f8
    62816281    test ax, ax                               ; 85 c0
    6282     je near 036e2h                            ; 0f 84 8c 00
     6282    je near 036d2h                            ; 0f 84 80 00
    62836283    mov cx, 00100h                            ; b9 00 01
    62846284    xor ax, ax                                ; 31 c0
     
    62866286    mov es, bx                                ; 8e c3
    62876287    cld                                       ; fc
    6288     jcxz 03665h                               ; e3 02
     6288    jcxz 03661h                               ; e3 02
    62896289    rep stosb                                 ; f3 aa
    62906290    xor cx, cx                                ; 31 c9
    6291     jmp short 0366eh                          ; eb 05
     6291    jmp short 0366ah                          ; eb 05
    62926292    cmp cx, strict byte 00042h                ; 83 f9 42
    6293     jnc short 0368bh                          ; 73 1d
    6294     mov dx, word [bp-00ah]                    ; 8b 56 f6
     6293    jnc short 03687h                          ; 73 1d
     6294    mov dx, word [bp-008h]                    ; 8b 56 f8
    62956295    inc dx                                    ; 42
    62966296    inc dx                                    ; 42
    62976297    add dx, cx                                ; 01 ca
    62986298    mov ax, 003b6h                            ; b8 b6 03
    6299     call 03440h                               ; e8 c5 fd
     6299    call 03440h                               ; e8 c9 fd
    63006300    movzx bx, al                              ; 0f b6 d8
    63016301    mov dx, word [bp-006h]                    ; 8b 56 fa
    63026302    add dx, cx                                ; 01 ca
    63036303    mov ax, si                                ; 89 f0
    6304     call 02f4ch                               ; e8 c4 f8
    6305     inc cx                                    ; 41
    6306     jmp short 03669h                          ; eb de
     6304    call 02f4ch                               ; e8 c8 f8
     6305    inc cx                                    ; 41
     6306    jmp short 03665h                          ; eb de
    63076307    mov dx, word [bp-006h]                    ; 8b 56 fa
    63086308    inc dx                                    ; 42
    63096309    inc dx                                    ; 42
    63106310    mov ax, si                                ; 89 f0
    6311     call 02f3eh                               ; e8 a9 f8
     6311    call 02f3eh                               ; e8 ad f8
    63126312    test AL, strict byte 001h                 ; a8 01
    6313     je short 036b5h                           ; 74 1c
     6313    je short 036b1h                           ; 74 1c
    63146314    mov dx, word [bp-006h]                    ; 8b 56 fa
    63156315    add dx, strict byte 0000ch                ; 83 c2 0c
    63166316    mov bx, 00629h                            ; bb 29 06
    63176317    mov ax, si                                ; 89 f0
    6318     call 02f68h                               ; e8 c1 f8
     6318    call 02f68h                               ; e8 c5 f8
    63196319    mov dx, word [bp-006h]                    ; 8b 56 fa
    63206320    add dx, strict byte 0000eh                ; 83 c2 0e
    63216321    mov bx, 0c000h                            ; bb 00 c0
    63226322    mov ax, si                                ; 89 f0
    6323     call 02f68h                               ; e8 b3 f8
     6323    call 02f68h                               ; e8 b7 f8
    63246324    mov ax, strict word 0000bh                ; b8 0b 00
    63256325    mov dx, 001ceh                            ; ba ce 01
    6326     call 00570h                               ; e8 b2 ce
    6327     mov cx, word [bp-006h]                    ; 8b 4e fa
    6328     add cx, strict byte 0002ah                ; 83 c1 2a
    6329     cmp word [bp-008h], strict byte 00000h    ; 83 7e f8 00
    6330     je short 036d4h                           ; 74 0a
     6326    call 00570h                               ; e8 b6 ce
    63316327    mov dx, 001cfh                            ; ba cf 01
    6332     call 00577h                               ; e8 a7 ce
     6328    call 00577h                               ; e8 b7 ce
     6329    mov dx, word [bp-006h]                    ; 8b 56 fa
     6330    add dx, strict byte 0002ah                ; 83 c2 2a
    63336331    mov bx, ax                                ; 89 c3
    6334     jmp short 036d6h                          ; eb 02
    6335     xor bx, bx                                ; 31 db
    6336     mov dx, cx                                ; 89 ca
    6337     mov ax, si                                ; 89 f0
    6338     call 02f68h                               ; e8 8b f8
     6332    mov ax, si                                ; 89 f0
     6333    call 02f68h                               ; e8 9b f8
    63396334    mov ax, strict word 0004fh                ; b8 4f 00
    6340     jmp short 036e5h                          ; eb 03
     6335    jmp short 036d5h                          ; eb 03
    63416336    mov ax, 00100h                            ; b8 00 01
    63426337    push SS                                   ; 16
    63436338    pop ES                                    ; 07
    6344     mov bx, word [bp-00ch]                    ; 8b 5e f4
     6339    mov bx, word [bp-00ah]                    ; 8b 5e f6
    63456340    mov word [es:bx], ax                      ; 26 89 07
    63466341    lea sp, [bp-004h]                         ; 8d 66 fc
     
    63496344    pop bp                                    ; 5d
    63506345    retn                                      ; c3
    6351 vbe_biosfn_set_mode_:                        ; 0xc36f4 LB 0xe9
     6346vbe_biosfn_set_mode_:                        ; 0xc36e4 LB 0xe9
    63526347    push bp                                   ; 55
    63536348    mov bp, sp                                ; 89 e5
     
    63636358    mov ax, dx                                ; 89 d0
    63646359    test dx, dx                               ; 85 d2
    6365     je short 03714h                           ; 74 03
     6360    je short 03704h                           ; 74 03
    63666361    mov dx, strict word 00040h                ; ba 40 00
    63676362    mov byte [bp-006h], dl                    ; 88 56 fa
    63686363    test byte [bp-009h], 080h                 ; f6 46 f7 80
    6369     je short 03722h                           ; 74 05
     6364    je short 03712h                           ; 74 05
    63706365    mov dx, 00080h                            ; ba 80 00
    6371     jmp short 03724h                          ; eb 02
     6366    jmp short 03714h                          ; eb 02
    63726367    xor dx, dx                                ; 31 d2
    63736368    mov byte [bp-008h], dl                    ; 88 56 f8
    63746369    and byte [bp-009h], 001h                  ; 80 66 f7 01
    63756370    cmp word [bp-00ah], 00100h                ; 81 7e f6 00 01
    6376     jnc short 03744h                          ; 73 12
     6371    jnc short 03734h                          ; 73 12
    63776372    xor ax, ax                                ; 31 c0
    6378     call 005ddh                               ; e8 a6 ce
     6373    call 005ddh                               ; e8 b6 ce
    63796374    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6
    6380     call 00fdch                               ; e8 9e d8
     6375    call 00fdch                               ; e8 ae d8
    63816376    mov ax, strict word 0004fh                ; b8 4f 00
    6382     jmp near 037d3h                           ; e9 8f 00
     6377    jmp near 037c3h                           ; e9 8f 00
    63836378    mov dx, ax                                ; 89 c2
    63846379    mov ax, word [bp-00ah]                    ; 8b 46 f6
    6385     call 034aeh                               ; e8 62 fd
     6380    call 034aeh                               ; e8 72 fd
    63866381    mov bx, ax                                ; 89 c3
    63876382    test ax, ax                               ; 85 c0
    6388     je near 037d0h                            ; 0f 84 7c 00
     6383    je near 037c0h                            ; 0f 84 7c 00
    63896384    lea dx, [bx+014h]                         ; 8d 57 14
    63906385    mov ax, 003b6h                            ; b8 b6 03
    6391     call 0342eh                               ; e8 d1 fc
     6386    call 0342eh                               ; e8 e1 fc
    63926387    mov cx, ax                                ; 89 c1
    63936388    lea dx, [bx+016h]                         ; 8d 57 16
    63946389    mov ax, 003b6h                            ; b8 b6 03
    6395     call 0342eh                               ; e8 c6 fc
     6390    call 0342eh                               ; e8 d6 fc
    63966391    mov di, ax                                ; 89 c7
    63976392    lea dx, [bx+01bh]                         ; 8d 57 1b
    63986393    mov ax, 003b6h                            ; b8 b6 03
    6399     call 03440h                               ; e8 cd fc
     6394    call 03440h                               ; e8 dd fc
    64006395    mov bl, al                                ; 88 c3
    64016396    mov dl, al                                ; 88 c2
    64026397    xor ax, ax                                ; 31 c0
    6403     call 005ddh                               ; e8 61 ce
     6398    call 005ddh                               ; e8 71 ce
    64046399    cmp bl, 004h                              ; 80 fb 04
    6405     jne short 03787h                          ; 75 06
     6400    jne short 03777h                          ; 75 06
    64066401    mov ax, strict word 0006ah                ; b8 6a 00
    6407     call 00fdch                               ; e8 55 d8
     6402    call 00fdch                               ; e8 65 d8
    64086403    movzx ax, dl                              ; 0f b6 c2
    6409     call 0340fh                               ; e8 82 fc
     6404    call 0340fh                               ; e8 92 fc
    64106405    mov ax, cx                                ; 89 c8
    6411     call 033d1h                               ; e8 3f fc
     6406    call 033d1h                               ; e8 4f fc
    64126407    mov ax, di                                ; 89 f8
    6413     call 033f0h                               ; e8 59 fc
     6408    call 033f0h                               ; e8 69 fc
    64146409    xor ax, ax                                ; 31 c0
    6415     call 00603h                               ; e8 67 ce
     6410    call 00603h                               ; e8 77 ce
    64166411    mov al, byte [bp-008h]                    ; 8a 46 f8
    64176412    or AL, strict byte 001h                   ; 0c 01
     
    64196414    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa
    64206415    or ax, dx                                 ; 09 d0
    6421     call 005ddh                               ; e8 30 ce
    6422     call 0070dh                               ; e8 5d cf
     6416    call 005ddh                               ; e8 40 ce
     6417    call 0070dh                               ; e8 6d cf
    64236418    mov bx, word [bp-00ah]                    ; 8b 5e f6
    64246419    mov dx, 000bah                            ; ba ba 00
    64256420    mov ax, strict word 00040h                ; b8 40 00
    6426     call 02f68h                               ; e8 ac f7
     6421    call 02f68h                               ; e8 bc f7
    64276422    mov al, byte [bp-008h]                    ; 8a 46 f8
    64286423    or AL, strict byte 060h                   ; 0c 60
     
    64306425    mov dx, 00087h                            ; ba 87 00
    64316426    mov ax, strict word 00040h                ; b8 40 00
    6432     call 02f4ch                               ; e8 7f f7
    6433     jmp near 0373eh                           ; e9 6e ff
     6427    call 02f4ch                               ; e8 8f f7
     6428    jmp near 0372eh                           ; e9 6e ff
    64346429    mov ax, 00100h                            ; b8 00 01
    64356430    mov word [ss:si], ax                      ; 36 89 04
     
    64396434    pop bp                                    ; 5d
    64406435    retn                                      ; c3
    6441 vbe_biosfn_read_video_state_size_:           ; 0xc37dd LB 0x8
     6436vbe_biosfn_read_video_state_size_:           ; 0xc37cd LB 0x8
    64426437    push bp                                   ; 55
    64436438    mov bp, sp                                ; 89 e5
     
    64456440    pop bp                                    ; 5d
    64466441    retn                                      ; c3
    6447 vbe_biosfn_save_video_state_:                ; 0xc37e5 LB 0x5b
     6442vbe_biosfn_save_video_state_:                ; 0xc37d5 LB 0x5b
    64486443    push bp                                   ; 55
    64496444    mov bp, sp                                ; 89 e5
     
    64646459    mov dx, cx                                ; 89 ca
    64656460    mov ax, di                                ; 89 f8
    6466     call 02f68h                               ; e8 60 f7
     6461    call 02f68h                               ; e8 70 f7
    64676462    inc cx                                    ; 41
    64686463    inc cx                                    ; 41
    64696464    test byte [bp-00ah], 001h                 ; f6 46 f6 01
    6470     je short 03837h                           ; 74 27
     6465    je short 03827h                           ; 74 27
    64716466    mov si, strict word 00001h                ; be 01 00
    6472     jmp short 0381ah                          ; eb 05
     6467    jmp short 0380ah                          ; eb 05
    64736468    cmp si, strict byte 00009h                ; 83 fe 09
    6474     jnbe short 03837h                         ; 77 1d
     6469    jnbe short 03827h                         ; 77 1d
    64756470    cmp si, strict byte 00004h                ; 83 fe 04
    6476     je short 03834h                           ; 74 15
     6471    je short 03824h                           ; 74 15
    64776472    mov ax, si                                ; 89 f0
    64786473    mov dx, 001ceh                            ; ba ce 01
     
    64836478    mov dx, cx                                ; 89 ca
    64846479    mov ax, di                                ; 89 f8
    6485     call 02f68h                               ; e8 36 f7
     6480    call 02f68h                               ; e8 46 f7
    64866481    inc cx                                    ; 41
    64876482    inc cx                                    ; 41
    64886483    inc si                                    ; 46
    6489     jmp short 03815h                          ; eb de
     6484    jmp short 03805h                          ; eb de
    64906485    lea sp, [bp-008h]                         ; 8d 66 f8
    64916486    pop di                                    ; 5f
     
    64956490    pop bp                                    ; 5d
    64966491    retn                                      ; c3
    6497 vbe_biosfn_restore_video_state_:             ; 0xc3840 LB 0x9b
     6492vbe_biosfn_restore_video_state_:             ; 0xc3830 LB 0x9b
    64986493    push bp                                   ; 55
    64996494    mov bp, sp                                ; 89 e5
     
    65046499    mov cx, ax                                ; 89 c1
    65056500    mov bx, dx                                ; 89 d3
    6506     call 02f5ah                               ; e8 0c f7
     6501    call 02f5ah                               ; e8 1c f7
    65076502    mov word [bp-008h], ax                    ; 89 46 f8
    65086503    inc bx                                    ; 43
    65096504    inc bx                                    ; 43
    65106505    test byte [bp-008h], 001h                 ; f6 46 f8 01
    6511     jne short 03869h                          ; 75 10
     6506    jne short 03859h                          ; 75 10
    65126507    mov ax, strict word 00004h                ; b8 04 00
    65136508    mov dx, 001ceh                            ; ba ce 01
     
    65166511    mov dx, 001cfh                            ; ba cf 01
    65176512    out DX, ax                                ; ef
    6518     jmp short 038d3h                          ; eb 6a
     6513    jmp short 038c3h                          ; eb 6a
    65196514    mov ax, strict word 00001h                ; b8 01 00
    65206515    mov dx, 001ceh                            ; ba ce 01
     
    65226517    mov dx, bx                                ; 89 da
    65236518    mov ax, cx                                ; 89 c8
    6524     call 02f5ah                               ; e8 e3 f6
     6519    call 02f5ah                               ; e8 f3 f6
    65256520    mov dx, 001cfh                            ; ba cf 01
    65266521    out DX, ax                                ; ef
     
    65326527    mov dx, bx                                ; 89 da
    65336528    mov ax, cx                                ; 89 c8
    6534     call 02f5ah                               ; e8 cf f6
     6529    call 02f5ah                               ; e8 df f6
    65356530    mov dx, 001cfh                            ; ba cf 01
    65366531    out DX, ax                                ; ef
     
    65426537    mov dx, bx                                ; 89 da
    65436538    mov ax, cx                                ; 89 c8
    6544     call 02f5ah                               ; e8 bb f6
     6539    call 02f5ah                               ; e8 cb f6
    65456540    mov dx, 001cfh                            ; ba cf 01
    65466541    out DX, ax                                ; ef
     
    65546549    out DX, ax                                ; ef
    65556550    mov si, strict word 00005h                ; be 05 00
    6556     jmp short 038bdh                          ; eb 05
     6551    jmp short 038adh                          ; eb 05
    65576552    cmp si, strict byte 00009h                ; 83 fe 09
    6558     jnbe short 038d3h                         ; 77 16
     6553    jnbe short 038c3h                         ; 77 16
    65596554    mov ax, si                                ; 89 f0
    65606555    mov dx, 001ceh                            ; ba ce 01
     
    65626557    mov dx, bx                                ; 89 da
    65636558    mov ax, cx                                ; 89 c8
    6564     call 02f5ah                               ; e8 90 f6
     6559    call 02f5ah                               ; e8 a0 f6
    65656560    mov dx, 001cfh                            ; ba cf 01
    65666561    out DX, ax                                ; ef
     
    65686563    inc bx                                    ; 43
    65696564    inc si                                    ; 46
    6570     jmp short 038b8h                          ; eb e5
     6565    jmp short 038a8h                          ; eb e5
    65716566    lea sp, [bp-006h]                         ; 8d 66 fa
    65726567    pop si                                    ; 5e
     
    65756570    pop bp                                    ; 5d
    65766571    retn                                      ; c3
    6577 vbe_biosfn_save_restore_state_:              ; 0xc38db LB 0x8c
     6572vbe_biosfn_save_restore_state_:              ; 0xc38cb LB 0x8c
    65786573    push bp                                   ; 55
    65796574    mov bp, sp                                ; 89 e5
     
    65886583    xor ah, ah                                ; 30 e4
    65896584    cmp ax, strict word 00002h                ; 3d 02 00
    6590     je short 0393ah                           ; 74 45
     6585    je short 0392ah                           ; 74 45
    65916586    cmp ax, strict word 00001h                ; 3d 01 00
    6592     je short 0391eh                           ; 74 24
     6587    je short 0390eh                           ; 74 24
    65936588    test ax, ax                               ; 85 c0
    6594     jne short 03956h                          ; 75 58
     6589    jne short 03946h                          ; 75 58
    65956590    mov ax, word [bp-006h]                    ; 8b 46 fa
    6596     call 02853h                               ; e8 4f ef
     6591    call 02853h                               ; e8 5f ef
    65976592    mov cx, ax                                ; 89 c1
    65986593    test byte [bp-006h], 008h                 ; f6 46 fa 08
    6599     je short 03911h                           ; 74 05
    6600     call 037ddh                               ; e8 ce fe
     6594    je short 03901h                           ; 74 05
     6595    call 037cdh                               ; e8 ce fe
    66016596    add ax, cx                                ; 01 c8
    66026597    add ax, strict word 0003fh                ; 05 3f 00
     
    66056600    pop ES                                    ; 07
    66066601    mov word [es:bx], ax                      ; 26 89 07
    6607     jmp short 03959h                          ; eb 3b
     6602    jmp short 03949h                          ; eb 3b
    66086603    push SS                                   ; 16
    66096604    pop ES                                    ; 07
     
    66116606    mov dx, cx                                ; 89 ca
    66126607    mov ax, word [bp-006h]                    ; 8b 46 fa
    6613     call 02888h                               ; e8 5d ef
     6608    call 02888h                               ; e8 6d ef
    66146609    test byte [bp-006h], 008h                 ; f6 46 fa 08
    6615     je short 03959h                           ; 74 28
     6610    je short 03949h                           ; 74 28
    66166611    mov dx, ax                                ; 89 c2
    66176612    mov ax, cx                                ; 89 c8
    6618     call 037e5h                               ; e8 ad fe
    6619     jmp short 03959h                          ; eb 1f
     6613    call 037d5h                               ; e8 ad fe
     6614    jmp short 03949h                          ; eb 1f
    66206615    push SS                                   ; 16
    66216616    pop ES                                    ; 07
     
    66236618    mov dx, cx                                ; 89 ca
    66246619    mov ax, word [bp-006h]                    ; 8b 46 fa
    6625     call 02bf1h                               ; e8 aa f2
     6620    call 02bf1h                               ; e8 ba f2
    66266621    test byte [bp-006h], 008h                 ; f6 46 fa 08
    6627     je short 03959h                           ; 74 0c
     6622    je short 03949h                           ; 74 0c
    66286623    mov dx, ax                                ; 89 c2
    66296624    mov ax, cx                                ; 89 c8
    6630     call 03840h                               ; e8 ec fe
    6631     jmp short 03959h                          ; eb 03
     6625    call 03830h                               ; e8 ec fe
     6626    jmp short 03949h                          ; eb 03
    66326627    mov di, 00100h                            ; bf 00 01
    66336628    push SS                                   ; 16
     
    66406635    retn 00002h                               ; c2 02 00
    66416636
    6642   ; Padding 0xa99 bytes at 0xc3967
    6643   times 2713 db 0
     6637  ; Padding 0xaa9 bytes at 0xc3957
     6638  times 2729 db 0
    66446639
    66456640section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO
     
    77297724    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    77307725    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    7731     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c4h
     7726    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 074h
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum

    r63625 r63627  
    1 60fac0ba6cf1ab0eb51a796d6c29e04d *VBoxVgaBios386.rom
     1d85d3d2ccbf7d43eb62789921f0d3447 *VBoxVgaBios386.rom
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm

    r63625 r63627  
    15951595  times 32 db 0
    15961596
    1597 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3196 class=CODE group=AUTO
     1597section _TEXT progbits vstart=0xa00 align=1 ; size=0x3186 class=CODE group=AUTO
    15981598set_int_vector_:                             ; 0xc0a00 LB 0x1c
    15991599    push bx                                   ; 53
     
    66296629    mov dx, word [bp+00ch]                    ; 8b 56 0c
    66306630    lea ax, [bp+012h]                         ; 8d 46 12
    6631     call 03920h                               ; e8 5a 03
     6631    call 03910h                               ; e8 4a 03
    66326632    jmp short 035ebh                          ; eb 23
    66336633    jmp short 035e6h                          ; eb 1c
     
    66386638    mov dx, word [bp+010h]                    ; 8b 56 10
    66396639    lea ax, [bp+012h]                         ; 8d 46 12
    6640     call 03b09h                               ; e8 2c 05
     6640    call 03af9h                               ; e8 1c 05
    66416641    jmp short 035ebh                          ; eb 0c
    66426642    mov word [bp+012h], 00100h                ; c7 46 12 00 01
     
    69196919    pop bp                                    ; 5d
    69206920    retn                                      ; c3
    6921 vbe_biosfn_return_mode_information_:         ; 0xc3853 LB 0xcd
     6921vbe_biosfn_return_mode_information_:         ; 0xc3853 LB 0xbd
    69226922    push bp                                   ; 55
    69236923    mov bp, sp                                ; 89 e5
    69246924    push si                                   ; 56
    69256925    push di                                   ; 57
    6926     sub sp, strict byte 00006h                ; 83 ec 06
     6926    push ax                                   ; 50
     6927    push ax                                   ; 50
    69276928    push ax                                   ; 50
    69286929    mov ax, dx                                ; 89 d0
     
    69306931    mov word [bp-006h], cx                    ; 89 4e fa
    69316932    test dh, 040h                             ; f6 c6 40
    6932     je short 0386dh                           ; 74 05
     6933    je short 0386ch                           ; 74 05
    69336934    mov dx, strict word 00001h                ; ba 01 00
    6934     jmp short 0386fh                          ; eb 02
     6935    jmp short 0386eh                          ; eb 02
    69356936    xor dx, dx                                ; 31 d2
    6936     mov word [bp-00ah], dx                    ; 89 56 f6
    69376937    and ah, 001h                              ; 80 e4 01
    6938     call 036cfh                               ; e8 57 fe
     6938    call 036cfh                               ; e8 5b fe
    69396939    mov word [bp-008h], ax                    ; 89 46 f8
    69406940    test ax, ax                               ; 85 c0
    6941     je short 038b5h                           ; 74 36
     6941    je short 038b1h                           ; 74 36
    69426942    mov cx, 00100h                            ; b9 00 01
    69436943    xor ax, ax                                ; 31 c0
     
    69456945    mov es, si                                ; 8e c6
    69466946    cld                                       ; fc
    6947     jcxz 0388eh                               ; e3 02
     6947    jcxz 0388ah                               ; e3 02
    69486948    rep stosb                                 ; f3 aa
    69496949    xor cx, cx                                ; 31 c9
    6950     jmp short 03897h                          ; eb 05
     6950    jmp short 03893h                          ; eb 05
    69516951    cmp cx, strict byte 00042h                ; 83 f9 42
    6952     jnc short 038b7h                          ; 73 20
     6952    jnc short 038b3h                          ; 73 20
    69536953    mov dx, word [bp-008h]                    ; 8b 56 f8
    69546954    inc dx                                    ; 42
     
    69566956    add dx, cx                                ; 01 ca
    69576957    mov ax, 003b6h                            ; b8 b6 03
    6958     call 03661h                               ; e8 bd fd
     6958    call 03661h                               ; e8 c1 fd
    69596959    mov bl, al                                ; 88 c3
    69606960    xor bh, bh                                ; 30 ff
     
    69626962    add dx, cx                                ; 01 ca
    69636963    mov ax, si                                ; 89 f0
    6964     call 031a9h                               ; e8 f7 f8
    6965     inc cx                                    ; 41
    6966     jmp short 03892h                          ; eb dd
    6967     jmp short 0390eh                          ; eb 57
     6964    call 031a9h                               ; e8 fb f8
     6965    inc cx                                    ; 41
     6966    jmp short 0388eh                          ; eb dd
     6967    jmp short 038feh                          ; eb 4b
    69686968    mov dx, word [bp-006h]                    ; 8b 56 fa
    69696969    inc dx                                    ; 42
    69706970    inc dx                                    ; 42
    69716971    mov ax, si                                ; 89 f0
    6972     call 0319bh                               ; e8 da f8
     6972    call 0319bh                               ; e8 de f8
    69736973    test AL, strict byte 001h                 ; a8 01
    6974     je short 038e1h                           ; 74 1c
     6974    je short 038ddh                           ; 74 1c
    69756975    mov dx, word [bp-006h]                    ; 8b 56 fa
    69766976    add dx, strict byte 0000ch                ; 83 c2 0c
    69776977    mov bx, 0065ch                            ; bb 5c 06
    69786978    mov ax, si                                ; 89 f0
    6979     call 031c5h                               ; e8 f2 f8
     6979    call 031c5h                               ; e8 f6 f8
    69806980    mov dx, word [bp-006h]                    ; 8b 56 fa
    69816981    add dx, strict byte 0000eh                ; 83 c2 0e
    69826982    mov bx, 0c000h                            ; bb 00 c0
    69836983    mov ax, si                                ; 89 f0
    6984     call 031c5h                               ; e8 e4 f8
     6984    call 031c5h                               ; e8 e8 f8
    69856985    mov ax, strict word 0000bh                ; b8 0b 00
    69866986    mov dx, 001ceh                            ; ba ce 01
    6987     call 005a0h                               ; e8 b6 cc
    6988     mov cx, word [bp-006h]                    ; 8b 4e fa
    6989     add cx, strict byte 0002ah                ; 83 c1 2a
    6990     cmp word [bp-00ah], strict byte 00000h    ; 83 7e f6 00
    6991     je short 03900h                           ; 74 0a
     6987    call 005a0h                               ; e8 ba cc
    69926988    mov dx, 001cfh                            ; ba cf 01
    6993     call 005a7h                               ; e8 ab cc
    6994     mov bx, ax                                ; 89 c3
    6995     jmp short 03902h                          ; eb 02
    6996     xor bx, bx                                ; 31 db
    6997     mov dx, cx                                ; 89 ca
     6989    call 005a7h                               ; e8 bb cc
     6990    mov dx, word [bp-006h]                    ; 8b 56 fa
     6991    add dx, strict byte 0002ah                ; 83 c2 2a
     6992    mov bx, ax                                ; 89 c3
    69986993    mov ax, si                                ; 89 f0
    6999     call 031c5h                               ; e8 bc f8
     6994    call 031c5h                               ; e8 cc f8
    70006995    mov ax, strict word 0004fh                ; b8 4f 00
    7001     jmp short 03911h                          ; eb 03
     6996    jmp short 03901h                          ; eb 03
    70026997    mov ax, 00100h                            ; b8 00 01
    70036998    push SS                                   ; 16
    70046999    pop ES                                    ; 07
    7005     mov bx, word [bp-00ch]                    ; 8b 5e f4
     7000    mov bx, word [bp-00ah]                    ; 8b 5e f6
    70067001    mov word [es:bx], ax                      ; 26 89 07
    70077002    lea sp, [bp-004h]                         ; 8d 66 fc
     
    70107005    pop bp                                    ; 5d
    70117006    retn                                      ; c3
    7012 vbe_biosfn_set_mode_:                        ; 0xc3920 LB 0xeb
     7007vbe_biosfn_set_mode_:                        ; 0xc3910 LB 0xeb
    70137008    push bp                                   ; 55
    70147009    mov bp, sp                                ; 89 e5
     
    70197014    mov word [bp-00ah], dx                    ; 89 56 f6
    70207015    test byte [bp-009h], 040h                 ; f6 46 f7 40
    7021     je short 03938h                           ; 74 05
     7016    je short 03928h                           ; 74 05
    70227017    mov ax, strict word 00001h                ; b8 01 00
    7023     jmp short 0393ah                          ; eb 02
     7018    jmp short 0392ah                          ; eb 02
    70247019    xor ax, ax                                ; 31 c0
    70257020    mov dx, ax                                ; 89 c2
    70267021    test ax, ax                               ; 85 c0
    7027     je short 03943h                           ; 74 03
     7022    je short 03933h                           ; 74 03
    70287023    mov ax, strict word 00040h                ; b8 40 00
    70297024    mov byte [bp-006h], al                    ; 88 46 fa
    70307025    test byte [bp-009h], 080h                 ; f6 46 f7 80
    7031     je short 03951h                           ; 74 05
     7026    je short 03941h                           ; 74 05
    70327027    mov ax, 00080h                            ; b8 80 00
    7033     jmp short 03953h                          ; eb 02
     7028    jmp short 03943h                          ; eb 02
    70347029    xor ax, ax                                ; 31 c0
    70357030    mov byte [bp-008h], al                    ; 88 46 f8
    70367031    and byte [bp-009h], 001h                  ; 80 66 f7 01
    70377032    cmp word [bp-00ah], 00100h                ; 81 7e f6 00 01
    7038     jnc short 03974h                          ; 73 13
     7033    jnc short 03964h                          ; 73 13
    70397034    xor ax, ax                                ; 31 c0
    7040     call 00610h                               ; e8 aa cc
     7035    call 00610h                               ; e8 ba cc
    70417036    mov al, byte [bp-00ah]                    ; 8a 46 f6
    70427037    xor ah, ah                                ; 30 e4
    7043     call 01019h                               ; e8 ab d6
     7038    call 01019h                               ; e8 bb d6
    70447039    mov ax, strict word 0004fh                ; b8 4f 00
    7045     jmp near 03a01h                           ; e9 8d 00
     7040    jmp near 039f1h                           ; e9 8d 00
    70467041    mov ax, word [bp-00ah]                    ; 8b 46 f6
    7047     call 036cfh                               ; e8 55 fd
     7042    call 036cfh                               ; e8 65 fd
    70487043    mov bx, ax                                ; 89 c3
    70497044    test ax, ax                               ; 85 c0
    7050     jne short 03983h                          ; 75 03
    7051     jmp near 039feh                           ; e9 7b 00
     7045    jne short 03973h                          ; 75 03
     7046    jmp near 039eeh                           ; e9 7b 00
    70527047    lea dx, [bx+014h]                         ; 8d 57 14
    70537048    mov ax, 003b6h                            ; b8 b6 03
    7054     call 0364fh                               ; e8 c3 fc
     7049    call 0364fh                               ; e8 d3 fc
    70557050    mov cx, ax                                ; 89 c1
    70567051    lea dx, [bx+016h]                         ; 8d 57 16
    70577052    mov ax, 003b6h                            ; b8 b6 03
    7058     call 0364fh                               ; e8 b8 fc
     7053    call 0364fh                               ; e8 c8 fc
    70597054    mov di, ax                                ; 89 c7
    70607055    lea dx, [bx+01bh]                         ; 8d 57 1b
    70617056    mov ax, 003b6h                            ; b8 b6 03
    7062     call 03661h                               ; e8 bf fc
     7057    call 03661h                               ; e8 cf fc
    70637058    mov bl, al                                ; 88 c3
    70647059    mov dl, al                                ; 88 c2
    70657060    xor ax, ax                                ; 31 c0
    7066     call 00610h                               ; e8 65 cc
     7061    call 00610h                               ; e8 75 cc
    70677062    cmp bl, 004h                              ; 80 fb 04
    7068     jne short 039b6h                          ; 75 06
     7063    jne short 039a6h                          ; 75 06
    70697064    mov ax, strict word 0006ah                ; b8 6a 00
    7070     call 01019h                               ; e8 63 d6
     7065    call 01019h                               ; e8 73 d6
    70717066    mov al, dl                                ; 88 d0
    70727067    xor ah, ah                                ; 30 e4
    7073     call 03630h                               ; e8 73 fc
     7068    call 03630h                               ; e8 83 fc
    70747069    mov ax, cx                                ; 89 c8
    7075     call 035f2h                               ; e8 30 fc
     7070    call 035f2h                               ; e8 40 fc
    70767071    mov ax, di                                ; 89 f8
    7077     call 03611h                               ; e8 4a fc
     7072    call 03611h                               ; e8 5a fc
    70787073    xor ax, ax                                ; 31 c0
    7079     call 00636h                               ; e8 6a cc
     7074    call 00636h                               ; e8 7a cc
    70807075    mov al, byte [bp-008h]                    ; 8a 46 f8
    70817076    or AL, strict byte 001h                   ; 0c 01
     
    70837078    mov dl, byte [bp-006h]                    ; 8a 56 fa
    70847079    or al, dl                                 ; 08 d0
    7085     call 00610h                               ; e8 35 cc
    7086     call 00743h                               ; e8 65 cd
     7080    call 00610h                               ; e8 45 cc
     7081    call 00743h                               ; e8 75 cd
    70877082    mov bx, word [bp-00ah]                    ; 8b 5e f6
    70887083    mov dx, 000bah                            ; ba ba 00
    70897084    mov ax, strict word 00040h                ; b8 40 00
    7090     call 031c5h                               ; e8 db f7
     7085    call 031c5h                               ; e8 eb f7
    70917086    mov bl, byte [bp-008h]                    ; 8a 5e f8
    70927087    or bl, 060h                               ; 80 cb 60
     
    70947089    mov dx, 00087h                            ; ba 87 00
    70957090    mov ax, strict word 00040h                ; b8 40 00
    7096     call 031a9h                               ; e8 ae f7
    7097     jmp near 0396eh                           ; e9 70 ff
     7091    call 031a9h                               ; e8 be f7
     7092    jmp near 0395eh                           ; e9 70 ff
    70987093    mov ax, 00100h                            ; b8 00 01
    70997094    mov word [ss:si], ax                      ; 36 89 04
     
    71037098    pop bp                                    ; 5d
    71047099    retn                                      ; c3
    7105 vbe_biosfn_read_video_state_size_:           ; 0xc3a0b LB 0x8
     7100vbe_biosfn_read_video_state_size_:           ; 0xc39fb LB 0x8
    71067101    push bp                                   ; 55
    71077102    mov bp, sp                                ; 89 e5
     
    71097104    pop bp                                    ; 5d
    71107105    retn                                      ; c3
    7111 vbe_biosfn_save_video_state_:                ; 0xc3a13 LB 0x5b
     7106vbe_biosfn_save_video_state_:                ; 0xc3a03 LB 0x5b
    71127107    push bp                                   ; 55
    71137108    mov bp, sp                                ; 89 e5
     
    71287123    mov dx, cx                                ; 89 ca
    71297124    mov ax, di                                ; 89 f8
    7130     call 031c5h                               ; e8 8f f7
     7125    call 031c5h                               ; e8 9f f7
    71317126    inc cx                                    ; 41
    71327127    inc cx                                    ; 41
    71337128    test byte [bp-00ah], 001h                 ; f6 46 f6 01
    7134     je short 03a65h                           ; 74 27
     7129    je short 03a55h                           ; 74 27
    71357130    mov si, strict word 00001h                ; be 01 00
    7136     jmp short 03a48h                          ; eb 05
     7131    jmp short 03a38h                          ; eb 05
    71377132    cmp si, strict byte 00009h                ; 83 fe 09
    7138     jnbe short 03a65h                         ; 77 1d
     7133    jnbe short 03a55h                         ; 77 1d
    71397134    cmp si, strict byte 00004h                ; 83 fe 04
    7140     je short 03a62h                           ; 74 15
     7135    je short 03a52h                           ; 74 15
    71417136    mov ax, si                                ; 89 f0
    71427137    mov dx, 001ceh                            ; ba ce 01
     
    71477142    mov dx, cx                                ; 89 ca
    71487143    mov ax, di                                ; 89 f8
    7149     call 031c5h                               ; e8 65 f7
     7144    call 031c5h                               ; e8 75 f7
    71507145    inc cx                                    ; 41
    71517146    inc cx                                    ; 41
    71527147    inc si                                    ; 46
    7153     jmp short 03a43h                          ; eb de
     7148    jmp short 03a33h                          ; eb de
    71547149    lea sp, [bp-008h]                         ; 8d 66 f8
    71557150    pop di                                    ; 5f
     
    71597154    pop bp                                    ; 5d
    71607155    retn                                      ; c3
    7161 vbe_biosfn_restore_video_state_:             ; 0xc3a6e LB 0x9b
     7156vbe_biosfn_restore_video_state_:             ; 0xc3a5e LB 0x9b
    71627157    push bp                                   ; 55
    71637158    mov bp, sp                                ; 89 e5
     
    71687163    mov cx, ax                                ; 89 c1
    71697164    mov bx, dx                                ; 89 d3
    7170     call 031b7h                               ; e8 3b f7
     7165    call 031b7h                               ; e8 4b f7
    71717166    mov word [bp-008h], ax                    ; 89 46 f8
    71727167    inc bx                                    ; 43
    71737168    inc bx                                    ; 43
    71747169    test byte [bp-008h], 001h                 ; f6 46 f8 01
    7175     jne short 03a97h                          ; 75 10
     7170    jne short 03a87h                          ; 75 10
    71767171    mov ax, strict word 00004h                ; b8 04 00
    71777172    mov dx, 001ceh                            ; ba ce 01
     
    71807175    mov dx, 001cfh                            ; ba cf 01
    71817176    out DX, ax                                ; ef
    7182     jmp short 03b01h                          ; eb 6a
     7177    jmp short 03af1h                          ; eb 6a
    71837178    mov ax, strict word 00001h                ; b8 01 00
    71847179    mov dx, 001ceh                            ; ba ce 01
     
    71867181    mov dx, bx                                ; 89 da
    71877182    mov ax, cx                                ; 89 c8
    7188     call 031b7h                               ; e8 12 f7
     7183    call 031b7h                               ; e8 22 f7
    71897184    mov dx, 001cfh                            ; ba cf 01
    71907185    out DX, ax                                ; ef
     
    71967191    mov dx, bx                                ; 89 da
    71977192    mov ax, cx                                ; 89 c8
    7198     call 031b7h                               ; e8 fe f6
     7193    call 031b7h                               ; e8 0e f7
    71997194    mov dx, 001cfh                            ; ba cf 01
    72007195    out DX, ax                                ; ef
     
    72067201    mov dx, bx                                ; 89 da
    72077202    mov ax, cx                                ; 89 c8
    7208     call 031b7h                               ; e8 ea f6
     7203    call 031b7h                               ; e8 fa f6
    72097204    mov dx, 001cfh                            ; ba cf 01
    72107205    out DX, ax                                ; ef
     
    72187213    out DX, ax                                ; ef
    72197214    mov si, strict word 00005h                ; be 05 00
    7220     jmp short 03aebh                          ; eb 05
     7215    jmp short 03adbh                          ; eb 05
    72217216    cmp si, strict byte 00009h                ; 83 fe 09
    7222     jnbe short 03b01h                         ; 77 16
     7217    jnbe short 03af1h                         ; 77 16
    72237218    mov ax, si                                ; 89 f0
    72247219    mov dx, 001ceh                            ; ba ce 01
     
    72267221    mov dx, bx                                ; 89 da
    72277222    mov ax, cx                                ; 89 c8
    7228     call 031b7h                               ; e8 bf f6
     7223    call 031b7h                               ; e8 cf f6
    72297224    mov dx, 001cfh                            ; ba cf 01
    72307225    out DX, ax                                ; ef
     
    72327227    inc bx                                    ; 43
    72337228    inc si                                    ; 46
    7234     jmp short 03ae6h                          ; eb e5
     7229    jmp short 03ad6h                          ; eb e5
    72357230    lea sp, [bp-006h]                         ; 8d 66 fa
    72367231    pop si                                    ; 5e
     
    72397234    pop bp                                    ; 5d
    72407235    retn                                      ; c3
    7241 vbe_biosfn_save_restore_state_:              ; 0xc3b09 LB 0x8d
     7236vbe_biosfn_save_restore_state_:              ; 0xc3af9 LB 0x8d
    72427237    push bp                                   ; 55
    72437238    mov bp, sp                                ; 89 e5
     
    72527247    xor ah, ah                                ; 30 e4
    72537248    cmp ax, strict word 00002h                ; 3d 02 00
    7254     je short 03b69h                           ; 74 46
     7249    je short 03b59h                           ; 74 46
    72557250    cmp ax, strict word 00001h                ; 3d 01 00
    7256     je short 03b4dh                           ; 74 25
     7251    je short 03b3dh                           ; 74 25
    72577252    test ax, ax                               ; 85 c0
    7258     jne short 03b85h                          ; 75 59
     7253    jne short 03b75h                          ; 75 59
    72597254    mov ax, word [bp-006h]                    ; 8b 46 fa
    7260     call 02a84h                               ; e8 52 ef
     7255    call 02a84h                               ; e8 62 ef
    72617256    mov cx, ax                                ; 89 c1
    72627257    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7263     je short 03b3fh                           ; 74 05
    7264     call 03a0bh                               ; e8 ce fe
     7258    je short 03b2fh                           ; 74 05
     7259    call 039fbh                               ; e8 ce fe
    72657260    add ax, cx                                ; 01 c8
    72667261    add ax, strict word 0003fh                ; 05 3f 00
     
    72707265    pop ES                                    ; 07
    72717266    mov word [es:bx], ax                      ; 26 89 07
    7272     jmp short 03b88h                          ; eb 3b
     7267    jmp short 03b78h                          ; eb 3b
    72737268    push SS                                   ; 16
    72747269    pop ES                                    ; 07
     
    72767271    mov dx, cx                                ; 89 ca
    72777272    mov ax, word [bp-006h]                    ; 8b 46 fa
    7278     call 02ab9h                               ; e8 5f ef
     7273    call 02ab9h                               ; e8 6f ef
    72797274    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7280     je short 03b88h                           ; 74 28
     7275    je short 03b78h                           ; 74 28
    72817276    mov dx, ax                                ; 89 c2
    72827277    mov ax, cx                                ; 89 c8
    7283     call 03a13h                               ; e8 ac fe
    7284     jmp short 03b88h                          ; eb 1f
     7278    call 03a03h                               ; e8 ac fe
     7279    jmp short 03b78h                          ; eb 1f
    72857280    push SS                                   ; 16
    72867281    pop ES                                    ; 07
     
    72887283    mov dx, cx                                ; 89 ca
    72897284    mov ax, word [bp-006h]                    ; 8b 46 fa
    7290     call 02e3ah                               ; e8 c4 f2
     7285    call 02e3ah                               ; e8 d4 f2
    72917286    test byte [bp-006h], 008h                 ; f6 46 fa 08
    7292     je short 03b88h                           ; 74 0c
     7287    je short 03b78h                           ; 74 0c
    72937288    mov dx, ax                                ; 89 c2
    72947289    mov ax, cx                                ; 89 c8
    7295     call 03a6eh                               ; e8 eb fe
    7296     jmp short 03b88h                          ; eb 03
     7290    call 03a5eh                               ; e8 eb fe
     7291    jmp short 03b78h                          ; eb 03
    72977292    mov di, 00100h                            ; bf 00 01
    72987293    push SS                                   ; 16
     
    73057300    retn 00002h                               ; c2 02 00
    73067301
    7307   ; Padding 0x86a bytes at 0xc3b96
    7308   times 2154 db 0
     7302  ; Padding 0x87a bytes at 0xc3b86
     7303  times 2170 db 0
    73097304
    73107305section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO
     
    83948389    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    83958390    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    8396     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 057h
     8391    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 006h
  • trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum

    r63625 r63627  
    1 1ab45f397a0436077da73a023efa26a8 *VBoxVgaBios8086.rom
     141bd9ff8fec56dfa8c80333c5502caff *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