Changeset 51062 in vbox for trunk/src/VBox/Devices/Graphics/BIOS
- Timestamp:
- Apr 14, 2014 7:29:58 AM (11 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
r50159 r51062 254 254 mov bx, 0c000h ; bb 00 c0 255 255 mov ds, bx ; 8e db 256 call 0 3040h ; e8 502f256 call 02ffdh ; e8 0d 2f 257 257 popaw ; 61 258 258 pop DS ; 1f … … 1507 1507 times 194 db 0 1508 1508 1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f 80class=CODE group=AUTO1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f3d class=CODE group=AUTO 1510 1510 set_int_vector_: ; 0xc0a00 LB 0x1a 1511 1511 push bx ; 53 … … 1561 1561 call 00a1ah ; e8 ac ff 1562 1562 call 00a36h ; e8 c5 ff 1563 call 034 afh ; e8 3b 2a1563 call 0346ch ; e8 f8 29 1564 1564 mov dx, strict word 00022h ; ba 22 00 1565 1565 mov ax, strict word 00010h ; b8 10 00 … … 1588 1588 mov dx, strict word 00060h ; ba 60 00 1589 1589 mov ax, strict word 00040h ; b8 40 00 1590 call 02f 93h ; e8 e7241590 call 02f50h ; e8 a4 24 1591 1591 push SS ; 16 1592 1592 pop ES ; 07 … … 1596 1596 add dx, strict byte 00050h ; 83 c2 50 1597 1597 mov ax, strict word 00040h ; b8 40 00 1598 call 02f 93h ; e8 d4241598 call 02f50h ; e8 91 24 1599 1599 push SS ; 16 1600 1600 pop ES ; 07 … … 1617 1617 mov dx, strict word 00049h ; ba 49 00 1618 1618 mov ax, strict word 00040h ; b8 40 00 1619 call 02f 77h ; e8 95241619 call 02f34h ; e8 52 24 1620 1620 xor ah, ah ; 30 e4 1621 call 02f 50h ; e8 69241621 call 02f0dh ; e8 26 24 1622 1622 mov ch, al ; 88 c5 1623 1623 cmp AL, strict byte 0ffh ; 3c ff … … 1635 1635 mov dx, 00084h ; ba 84 00 1636 1636 mov ax, strict word 00040h ; b8 40 00 1637 call 02f 77h ; e8 64241637 call 02f34h ; e8 21 24 1638 1638 movzx di, al ; 0f b6 f8 1639 1639 inc di ; 47 1640 1640 mov dx, strict word 0004ah ; ba 4a 00 1641 1641 mov ax, strict word 00040h ; b8 40 00 1642 call 02f 93h ; e8 73241642 call 02f50h ; e8 30 24 1643 1643 movzx bx, ch ; 0f b6 dd 1644 1644 sal bx, 003h ; c1 e3 03 … … 1660 1660 add dx, ax ; 01 c2 1661 1661 mov ax, word [bx+04833h] ; 8b 87 33 48 1662 call 02f 93h ; e8 3c 241662 call 02f50h ; e8 f9 23 1663 1663 mov word [ss:si], ax ; 36 89 04 1664 1664 lea sp, [bp-008h] ; 8d 66 f8 … … 1697 1697 mov dx, strict word 0007ch ; ba 7c 00 1698 1698 xor ax, ax ; 31 c0 1699 call 02f afh ; e8 19 241699 call 02f6ch ; e8 d6 23 1700 1700 push SS ; 16 1701 1701 pop ES ; 07 … … 1705 1705 mov dx, 00085h ; ba 85 00 1706 1706 mov ax, strict word 00040h ; b8 40 00 1707 call 02f 77h ; e8 cd231707 call 02f34h ; e8 8a 23 1708 1708 xor ah, ah ; 30 e4 1709 1709 push SS ; 16 … … 1712 1712 mov dx, 00084h ; ba 84 00 1713 1713 mov ax, strict word 00040h ; b8 40 00 1714 call 02f 77h ; e8 bd231714 call 02f34h ; e8 7a 23 1715 1715 xor ah, ah ; 30 e4 1716 1716 push SS ; 16 … … 1750 1750 mov dx, strict word 00049h ; ba 49 00 1751 1751 mov ax, strict word 00040h ; b8 40 00 1752 call 02f 77h ; e8 6a231752 call 02f34h ; e8 27 23 1753 1753 xor ah, ah ; 30 e4 1754 call 02f 50h ; e8 3e 231754 call 02f0dh ; e8 fb 22 1755 1755 mov cl, al ; 88 c1 1756 1756 cmp AL, strict byte 0ffh ; 3c ff … … 1774 1774 mov dx, strict word 0004ah ; ba 4a 00 1775 1775 mov ax, strict word 00040h ; b8 40 00 1776 call 02f 93h ; e8 3f 231776 call 02f50h ; e8 fc 22 1777 1777 imul ax, word [bp-00ah] ; 0f af 46 f6 1778 1778 mov bx, si ; 89 f3 … … 1795 1795 mov dx, bx ; 89 da 1796 1796 mov ax, 0a000h ; b8 00 a0 1797 call 02f 77h ; e8 e9221797 call 02f34h ; e8 a6 22 1798 1798 and al, byte [bp-008h] ; 22 46 f8 1799 1799 test al, al ; 84 c0 … … 1816 1816 mov dx, bx ; 89 da 1817 1817 mov ax, 0b800h ; b8 00 b8 1818 call 02f 77h ; e8 b4221818 call 02f34h ; e8 71 22 1819 1819 movzx bx, cl ; 0f b6 d9 1820 1820 sal bx, 003h ; c1 e3 03 … … 1846 1846 mov dx, strict word 0004ah ; ba 4a 00 1847 1847 mov ax, strict word 00040h ; b8 40 00 1848 call 02f 93h ; e8 86221848 call 02f50h ; e8 43 22 1849 1849 sal ax, 003h ; c1 e0 03 1850 1850 imul ax, word [bp-00ah] ; 0f af 46 f6 … … 1852 1852 add dx, ax ; 01 c2 1853 1853 mov ax, 0a000h ; b8 00 a0 1854 call 02f 77h ; e8 59221854 call 02f34h ; e8 16 22 1855 1855 mov ch, al ; 88 c5 1856 1856 jmp short 00d24h ; eb 02 … … 1959 1959 mov dx, strict word 00060h ; ba 60 00 1960 1960 mov ax, strict word 00040h ; b8 40 00 1961 call 02f a1h ; e8 c0211961 call 02f5eh ; e8 7d 21 1962 1962 mov dx, 00089h ; ba 89 00 1963 1963 mov ax, strict word 00040h ; b8 40 00 1964 call 02f 77h ; e8 8d211964 call 02f34h ; e8 4a 21 1965 1965 mov bl, al ; 88 c3 1966 1966 mov dx, 00085h ; ba 85 00 1967 1967 mov ax, strict word 00040h ; b8 40 00 1968 call 02f 93h ; e8 9e211968 call 02f50h ; e8 5b 21 1969 1969 mov dx, ax ; 89 c2 1970 1970 test bl, 001h ; f6 c3 01 … … 1997 1997 mov dx, strict word 00063h ; ba 63 00 1998 1998 mov ax, strict word 00040h ; b8 40 00 1999 call 02f 93h ; e8 57211999 call 02f50h ; e8 14 21 2000 2000 mov bx, ax ; 89 c3 2001 2001 mov AL, strict byte 00ah ; b0 0a … … 2036 2036 mov bx, cx ; 89 cb 2037 2037 mov ax, strict word 00040h ; b8 40 00 2038 call 02f a1h ; e8 20 212038 call 02f5eh ; e8 dd 20 2039 2039 mov dx, strict word 00062h ; ba 62 00 2040 2040 mov ax, strict word 00040h ; b8 40 00 2041 call 02f 77h ; e8 ed202041 call 02f34h ; e8 aa 20 2042 2042 cmp al, byte [bp-008h] ; 3a 46 f8 2043 2043 jne short 00ef8h ; 75 69 2044 2044 mov dx, strict word 0004ah ; ba 4a 00 2045 2045 mov ax, strict word 00040h ; b8 40 00 2046 call 02f 93h ; e8 fb202046 call 02f50h ; e8 b8 20 2047 2047 mov bx, ax ; 89 c3 2048 2048 mov dx, 00084h ; ba 84 00 2049 2049 mov ax, strict word 00040h ; b8 40 00 2050 call 02f 77h ; e8 d4202050 call 02f34h ; e8 91 20 2051 2051 xor ah, ah ; 30 e4 2052 2052 mov dx, ax ; 89 c2 … … 2068 2068 mov dx, strict word 00063h ; ba 63 00 2069 2069 mov ax, strict word 00040h ; b8 40 00 2070 call 02f 93h ; e8 bd202070 call 02f50h ; e8 7a 20 2071 2071 mov bx, ax ; 89 c3 2072 2072 mov AL, strict byte 00eh ; b0 0e … … 2107 2107 mov dx, strict word 00049h ; ba 49 00 2108 2108 mov ax, strict word 00040h ; b8 40 00 2109 call 02f 77h ; e8 5c202109 call 02f34h ; e8 19 20 2110 2110 xor ah, ah ; 30 e4 2111 call 02f 50h ; e8 30 202111 call 02f0dh ; e8 ed 1f 2112 2112 mov ch, al ; 88 c5 2113 2113 cmp AL, strict byte 0ffh ; 3c ff … … 2124 2124 mov dx, strict word 0004ah ; ba 4a 00 2125 2125 mov ax, strict word 00040h ; b8 40 00 2126 call 02f 93h ; e8 47202126 call 02f50h ; e8 04 20 2127 2127 mov bx, ax ; 89 c3 2128 2128 mov dx, 00084h ; ba 84 00 2129 2129 mov ax, strict word 00040h ; b8 40 00 2130 call 02f 77h ; e8 20 202130 call 02f34h ; e8 dd 1f 2131 2131 xor ah, ah ; 30 e4 2132 2132 inc ax ; 40 … … 2142 2142 mov dx, strict word 0004eh ; ba 4e 00 2143 2143 mov ax, strict word 00040h ; b8 40 00 2144 call 02f a1h ; e8 2a 202144 call 02f5eh ; e8 e7 1f 2145 2145 or si, 000ffh ; 81 ce ff 00 2146 2146 lea bx, [si+001h] ; 8d 5c 01 … … 2154 2154 mov dx, strict word 00063h ; ba 63 00 2155 2155 mov ax, strict word 00040h ; b8 40 00 2156 call 02f 93h ; e8 f51f2156 call 02f50h ; e8 b2 1f 2157 2157 mov si, ax ; 89 c6 2158 2158 mov AL, strict byte 00ch ; b0 0c … … 2175 2175 mov dx, strict word 00062h ; ba 62 00 2176 2176 mov ax, strict word 00040h ; b8 40 00 2177 call 02f 85h ; e8 bb1f2177 call 02f42h ; e8 78 1f 2178 2178 mov dx, word [bp-00eh] ; 8b 56 f2 2179 2179 mov ax, si ; 89 f0 … … 2210 2210 and byte [bp-00eh], 07fh ; 80 66 f2 7f 2211 2211 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 2212 call 02f 50h ; e8 431f2212 call 02f0dh ; e8 00 1f 2213 2213 mov byte [bp-012h], al ; 88 46 ee 2214 2214 cmp AL, strict byte 0ffh ; 3c ff … … 2227 2227 mov dx, 00087h ; ba 87 00 2228 2228 mov ax, strict word 00040h ; b8 40 00 2229 call 02f 77h ; e8 30 1f2229 call 02f34h ; e8 ed 1e 2230 2230 mov dx, 00088h ; ba 88 00 2231 2231 mov ax, strict word 00040h ; b8 40 00 2232 call 02f 77h ; e8 27 1f2232 call 02f34h ; e8 e4 1e 2233 2233 mov dx, 00089h ; ba 89 00 2234 2234 mov ax, strict word 00040h ; b8 40 00 2235 call 02f 77h ; e8 1e 1f2235 call 02f34h ; e8 db 1e 2236 2236 mov ah, al ; 88 c4 2237 2237 test AL, strict byte 008h ; a8 08 … … 2435 2435 mov dx, strict word 00049h ; ba 49 00 2436 2436 mov ax, strict word 00040h ; b8 40 00 2437 call 02f 85h ; e8 521d2437 call 02f42h ; e8 0f 1d 2438 2438 mov bx, word [bp-018h] ; 8b 5e e8 2439 2439 mov dx, strict word 0004ah ; ba 4a 00 2440 2440 mov ax, strict word 00040h ; b8 40 00 2441 call 02f a1h ; e8 621d2441 call 02f5eh ; e8 1f 1d 2442 2442 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2443 2443 sal bx, 006h ; c1 e3 06 … … 2445 2445 mov dx, strict word 0004ch ; ba 4c 00 2446 2446 mov ax, strict word 00040h ; b8 40 00 2447 call 02f a1h ; e8 4e1d2447 call 02f5eh ; e8 0b 1d 2448 2448 mov bx, si ; 89 f3 2449 2449 mov dx, strict word 00063h ; ba 63 00 2450 2450 mov ax, strict word 00040h ; b8 40 00 2451 call 02f a1h ; e8 431d2451 call 02f5eh ; e8 00 1d 2452 2452 movzx bx, byte [bp-016h] ; 0f b6 5e ea 2453 2453 mov dx, 00084h ; ba 84 00 2454 2454 mov ax, strict word 00040h ; b8 40 00 2455 call 02f 85h ; e8 1a 1d2455 call 02f42h ; e8 d7 1c 2456 2456 mov bx, word [bp-014h] ; 8b 5e ec 2457 2457 mov dx, 00085h ; ba 85 00 2458 2458 mov ax, strict word 00040h ; b8 40 00 2459 call 02f a1h ; e8 2a 1d2459 call 02f5eh ; e8 e7 1c 2460 2460 mov al, byte [bp-010h] ; 8a 46 f0 2461 2461 or AL, strict byte 060h ; 0c 60 … … 2463 2463 mov dx, 00087h ; ba 87 00 2464 2464 mov ax, strict word 00040h ; b8 40 00 2465 call 02f 85h ; e8 fd1c2465 call 02f42h ; e8 ba 1c 2466 2466 mov bx, 000f9h ; bb f9 00 2467 2467 mov dx, 00088h ; ba 88 00 2468 2468 mov ax, strict word 00040h ; b8 40 00 2469 call 02f 85h ; e8 f11c2469 call 02f42h ; e8 ae 1c 2470 2470 mov dx, 00089h ; ba 89 00 2471 2471 mov ax, strict word 00040h ; b8 40 00 2472 call 02f 77h ; e8 da1c2472 call 02f34h ; e8 97 1c 2473 2473 and AL, strict byte 07fh ; 24 7f 2474 2474 movzx bx, al ; 0f b6 d8 2475 2475 mov dx, 00089h ; ba 89 00 2476 2476 mov ax, strict word 00040h ; b8 40 00 2477 call 02f 85h ; e8 da1c2477 call 02f42h ; e8 97 1c 2478 2478 mov bx, strict word 00008h ; bb 08 00 2479 2479 mov dx, 0008ah ; ba 8a 00 2480 2480 mov ax, strict word 00040h ; b8 40 00 2481 call 02f 85h ; e8 ce1c2481 call 02f42h ; e8 8b 1c 2482 2482 mov cx, ds ; 8c d9 2483 2483 mov bx, 05593h ; bb 93 55 2484 2484 mov dx, 000a8h ; ba a8 00 2485 2485 mov ax, strict word 00040h ; b8 40 00 2486 call 02f c1h ; e8 fc1c2486 call 02f7eh ; e8 b9 1c 2487 2487 xor bx, bx ; 31 db 2488 2488 mov dx, strict word 00065h ; ba 65 00 2489 2489 mov ax, strict word 00040h ; b8 40 00 2490 call 02f 85h ; e8 b51c2490 call 02f42h ; e8 72 1c 2491 2491 xor bx, bx ; 31 db 2492 2492 mov dx, strict word 00066h ; ba 66 00 2493 2493 mov ax, strict word 00040h ; b8 40 00 2494 call 02f 85h ; e8 aa1c2494 call 02f42h ; e8 67 1c 2495 2495 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2496 2496 sal bx, 003h ; c1 e3 03 … … 2794 2794 mov dx, strict word 00049h ; ba 49 00 2795 2795 mov ax, strict word 00040h ; b8 40 00 2796 call 02f 77h ; e8 e4192796 call 02f34h ; e8 a1 19 2797 2797 xor ah, ah ; 30 e4 2798 call 02f 50h ; e8 b8192798 call 02f0dh ; e8 75 19 2799 2799 mov byte [bp-00eh], al ; 88 46 f2 2800 2800 cmp AL, strict byte 0ffh ; 3c ff … … 2802 2802 mov dx, 00084h ; ba 84 00 2803 2803 mov ax, strict word 00040h ; b8 40 00 2804 call 02f 77h ; e8 cd192804 call 02f34h ; e8 8a 19 2805 2805 movzx cx, al ; 0f b6 c8 2806 2806 inc cx ; 41 2807 2807 mov dx, strict word 0004ah ; ba 4a 00 2808 2808 mov ax, strict word 00040h ; b8 40 00 2809 call 02f 93h ; e8 dc192809 call 02f50h ; e8 99 19 2810 2810 mov word [bp-016h], ax ; 89 46 ea 2811 2811 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff … … 2813 2813 mov dx, strict word 00062h ; ba 62 00 2814 2814 mov ax, strict word 00040h ; b8 40 00 2815 call 02f 77h ; e8 ae192815 call 02f34h ; e8 6b 19 2816 2816 mov byte [bp+008h], al ; 88 46 08 2817 2817 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 3279 3279 mov dx, si ; 89 f2 3280 3280 mov ax, 0a000h ; b8 00 a0 3281 call 02f 85h ; e8 8e143281 call 02f42h ; e8 4b 14 3282 3282 inc byte [bp-008h] ; fe 46 f8 3283 3283 cmp byte [bp-008h], 008h ; 80 7e f8 08 … … 3295 3295 mov dx, si ; 89 f2 3296 3296 mov ax, 0a000h ; b8 00 a0 3297 call 02f 77h ; e8 56143297 call 02f34h ; e8 13 14 3298 3298 movzx ax, ch ; 0f b6 c5 3299 3299 add ax, word [bp-00ah] ; 03 46 f6 … … 3369 3369 mov dx, word [bp-00ah] ; 8b 56 f6 3370 3370 mov ax, 0b800h ; b8 00 b8 3371 call 02f 85h ; e8 b7133371 call 02f42h ; e8 74 13 3372 3372 inc byte [bp-006h] ; fe 46 fa 3373 3373 cmp byte [bp-006h], 008h ; 80 7e fa 08 … … 3389 3389 mov dx, word [bp-00ah] ; 8b 56 f6 3390 3390 mov ax, 0b800h ; b8 00 b8 3391 call 02f 77h ; e8 6d133391 call 02f34h ; e8 2a 13 3392 3392 jmp near 01b8bh ; e9 7e ff 3393 3393 test ch, ch ; 84 ed … … 3397 3397 mov dx, word [bp-00ah] ; 8b 56 f6 3398 3398 mov ax, 0b800h ; b8 00 b8 3399 call 02f 77h ; e8 57133399 call 02f34h ; e8 14 13 3400 3400 jmp short 01c24h ; eb 02 3401 3401 xor al, al ; 30 c0 … … 3428 3428 mov dx, word [bp-00ah] ; 8b 56 f6 3429 3429 mov ax, 0b800h ; b8 00 b8 3430 call 02f 85h ; e8 1c 133430 call 02f42h ; e8 d9 12 3431 3431 inc word [bp-00ah] ; ff 46 f6 3432 3432 jmp short 01c0dh ; eb 9f … … 3472 3472 add dx, word [bp-00ah] ; 03 56 f6 3473 3473 mov ax, 0a000h ; b8 00 a0 3474 call 02f 85h ; e8 b1123474 call 02f42h ; e8 6e 12 3475 3475 shr byte [bp-008h], 1 ; d0 6e f8 3476 3476 db 0feh, 0c5h … … 3508 3508 mov dx, strict word 00049h ; ba 49 00 3509 3509 mov ax, strict word 00040h ; b8 40 00 3510 call 02f 77h ; e8 53123510 call 02f34h ; e8 10 12 3511 3511 xor ah, ah ; 30 e4 3512 call 02f 50h ; e8 27 123512 call 02f0dh ; e8 e4 11 3513 3513 mov cl, al ; 88 c1 3514 3514 mov byte [bp-006h], al ; 88 46 fa … … 3527 3527 mov dx, 00084h ; ba 84 00 3528 3528 mov ax, strict word 00040h ; b8 40 00 3529 call 02f 77h ; e8 1c 123529 call 02f34h ; e8 d9 11 3530 3530 xor ah, ah ; 30 e4 3531 3531 inc ax ; 40 … … 3533 3533 mov dx, strict word 0004ah ; ba 4a 00 3534 3534 mov ax, strict word 00040h ; b8 40 00 3535 call 02f 93h ; e8 29 123535 call 02f50h ; e8 e6 11 3536 3536 mov word [bp-016h], ax ; 89 46 ea 3537 3537 movzx bx, cl ; 0f b6 d9 … … 3638 3638 mov dx, strict word 00049h ; ba 49 00 3639 3639 mov ax, strict word 00040h ; b8 40 00 3640 call 02f 77h ; e8 eb103640 call 02f34h ; e8 a8 10 3641 3641 xor ah, ah ; 30 e4 3642 call 02f 50h ; e8 bf103642 call 02f0dh ; e8 7c 10 3643 3643 mov cl, al ; 88 c1 3644 3644 mov byte [bp-00eh], al ; 88 46 f2 … … 3657 3657 mov dx, 00084h ; ba 84 00 3658 3658 mov ax, strict word 00040h ; b8 40 00 3659 call 02f 77h ; e8 b4103659 call 02f34h ; e8 71 10 3660 3660 xor ah, ah ; 30 e4 3661 3661 inc ax ; 40 … … 3663 3663 mov dx, strict word 0004ah ; ba 4a 00 3664 3664 mov ax, strict word 00040h ; b8 40 00 3665 call 02f 93h ; e8 c1103665 call 02f50h ; e8 7e 10 3666 3666 mov word [bp-016h], ax ; 89 46 ea 3667 3667 movzx di, cl ; 0f b6 f9 … … 3694 3694 mov dx, cx ; 89 ca 3695 3695 mov ax, di ; 89 f8 3696 call 02f 85h ; e8 5b103696 call 02f42h ; e8 18 10 3697 3697 inc cx ; 41 3698 3698 inc cx ; 41 … … 3767 3767 mov dx, strict word 00049h ; ba 49 00 3768 3768 mov ax, strict word 00040h ; b8 40 00 3769 call 02f 77h ; e8 820f3769 call 02f34h ; e8 3f 0f 3770 3770 xor ah, ah ; 30 e4 3771 call 02f 50h ; e8 560f3771 call 02f0dh ; e8 13 0f 3772 3772 mov byte [bp-004h], al ; 88 46 fc 3773 3773 cmp AL, strict byte 0ffh ; 3c ff … … 3791 3791 mov dx, strict word 0004ah ; ba 4a 00 3792 3792 mov ax, strict word 00040h ; b8 40 00 3793 call 02f 93h ; e8 5a0f3793 call 02f50h ; e8 17 0f 3794 3794 imul ax, cx ; 0f af c1 3795 3795 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3810 3810 mov dx, bx ; 89 da 3811 3811 mov ax, 0a000h ; b8 00 a0 3812 call 02f 77h ; e8 0e 0f3812 call 02f34h ; e8 cb 0e 3813 3813 test byte [bp-006h], 080h ; f6 46 fa 80 3814 3814 je short 02076h ; 74 07 … … 3819 3819 mov dx, word [bp-008h] ; 8b 56 f8 3820 3820 mov ax, 0a000h ; b8 00 a0 3821 call 02f 85h ; e8 02 0f3821 call 02f42h ; e8 bf 0e 3822 3822 mov ax, 0ff08h ; b8 08 ff 3823 3823 mov dx, 003ceh ; ba ce 03 … … 3845 3845 mov dx, word [bp-008h] ; 8b 56 f8 3846 3846 mov ax, 0b800h ; b8 00 b8 3847 call 02f 77h ; e8 af0e3847 call 02f34h ; e8 6c 0e 3848 3848 mov bl, al ; 88 c3 3849 3849 movzx si, byte [bp-004h] ; 0f b6 76 fc … … 3881 3881 mov dx, word [bp-008h] ; 8b 56 f8 3882 3882 mov ax, 0b800h ; b8 00 b8 3883 call 02f 85h ; e8 640e3883 call 02f42h ; e8 21 0e 3884 3884 lea sp, [bp-002h] ; 8d 66 fe 3885 3885 pop si ; 5e … … 3888 3888 mov dx, strict word 0004ah ; ba 4a 00 3889 3889 mov ax, strict word 00040h ; b8 40 00 3890 call 02f 93h ; e8 630e3890 call 02f50h ; e8 20 0e 3891 3891 sal ax, 003h ; c1 e0 03 3892 3892 imul cx, ax ; 0f af c8 … … 3898 3898 mov ax, 0a000h ; b8 00 a0 3899 3899 jmp short 0211eh ; eb d5 3900 biosfn_write_teletype_: ; 0xc2149 LB 0x2 843900 biosfn_write_teletype_: ; 0xc2149 LB 0x241 3901 3901 push bp ; 55 3902 3902 mov bp, sp ; 89 e5 … … 3904 3904 sub sp, strict byte 00016h ; 83 ec 16 3905 3905 mov byte [bp-00ch], al ; 88 46 f4 3906 mov byte [bp-00 4h], dl ; 88 56 fc3907 mov byte [bp-00 6h], bl ; 88 5e fa3908 mov byte [bp-0 10h], cl ; 88 4e f03906 mov byte [bp-006h], dl ; 88 56 fa 3907 mov byte [bp-004h], bl ; 88 5e fc 3908 mov byte [bp-00eh], cl ; 88 4e f2 3909 3909 cmp dl, 0ffh ; 80 fa ff 3910 3910 jne short 0216dh ; 75 0c 3911 3911 mov dx, strict word 00062h ; ba 62 00 3912 3912 mov ax, strict word 00040h ; b8 40 00 3913 call 02f 77h ; e8 0d 0e3914 mov byte [bp-00 4h], al ; 88 46 fc3913 call 02f34h ; e8 ca 0d 3914 mov byte [bp-006h], al ; 88 46 fa 3915 3915 mov dx, strict word 00049h ; ba 49 00 3916 3916 mov ax, strict word 00040h ; b8 40 00 3917 call 02f 77h ; e8 01 0e3917 call 02f34h ; e8 be 0d 3918 3918 xor ah, ah ; 30 e4 3919 call 02f 50h ; e8 d50d3920 mov byte [bp-0 0eh], al ; 88 46 f23919 call 02f0dh ; e8 92 0d 3920 mov byte [bp-010h], al ; 88 46 f0 3921 3921 cmp AL, strict byte 0ffh ; 3c ff 3922 je near 023 c7h ; 0f 84 43023923 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc3922 je near 02384h ; 0f 84 00 02 3923 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3924 3924 lea bx, [bp-018h] ; 8d 5e e8 3925 3925 lea dx, [bp-016h] ; 8d 56 ea … … 3933 3933 mov dx, 00084h ; ba 84 00 3934 3934 mov ax, strict word 00040h ; b8 40 00 3935 call 02f 77h ; e8 cc0d3935 call 02f34h ; e8 89 0d 3936 3936 xor ah, ah ; 30 e4 3937 3937 inc ax ; 40 … … 3939 3939 mov dx, strict word 0004ah ; ba 4a 00 3940 3940 mov ax, strict word 00040h ; b8 40 00 3941 call 02f 93h ; e8 d90d3941 call 02f50h ; e8 96 0d 3942 3942 mov word [bp-012h], ax ; 89 46 ee 3943 3943 mov al, byte [bp-00ch] ; 8a 46 f4 3944 cmp AL, strict byte 00 9h ; 3c 093945 jc short 021d 0h ; 72 0c3946 jbe short 021 f7h ; 76 313944 cmp AL, strict byte 008h ; 3c 08 3945 jc short 021d2h ; 72 0e 3946 jbe short 021dah ; 76 14 3947 3947 cmp AL, strict byte 00dh ; 3c 0d 3948 je short 021e ah ; 74 203948 je short 021e8h ; 74 1e 3949 3949 cmp AL, strict byte 00ah ; 3c 0a 3950 je short 021f1h ; 74 23 3951 jmp short 02238h ; eb 68 3952 cmp AL, strict byte 008h ; 3c 08 3953 je short 021dch ; 74 08 3950 je near 022dah ; 0f 84 0a 01 3951 jmp short 021efh ; eb 1d 3954 3952 cmp AL, strict byte 007h ; 3c 07 3955 je near 02 314h ; 0f 84 3a013956 jmp short 02 238h ; eb 5c3953 je near 022ddh ; 0f 84 05 01 3954 jmp short 021efh ; eb 15 3957 3955 cmp byte [bp-008h], 000h ; 80 7e f8 00 3958 jbe near 02 314h ; 0f 86 30 013956 jbe near 022ddh ; 0f 86 fb 00 3959 3957 dec byte [bp-008h] ; fe 4e f8 3960 jmp near 02 314h ; e9 2a 013958 jmp near 022ddh ; e9 f5 00 3961 3959 mov byte [bp-008h], 000h ; c6 46 f8 00 3962 jmp near 02314h ; e9 23 01 3963 inc byte [bp-00ah] ; fe 46 f6 3964 jmp near 02314h ; e9 1d 01 3965 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3966 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3967 movzx si, byte [bp-004h] ; 0f b6 76 fc 3968 mov dx, si ; 89 f2 3969 mov ax, strict word 00020h ; b8 20 00 3970 call 02149h ; e8 3e ff 3971 lea bx, [bp-018h] ; 8d 5e e8 3972 lea dx, [bp-016h] ; 8d 56 ea 3973 mov ax, si ; 89 f0 3974 call 00a88h ; e8 72 e8 3975 mov al, byte [bp-018h] ; 8a 46 e8 3976 mov byte [bp-008h], al ; 88 46 f8 3977 mov ax, word [bp-018h] ; 8b 46 e8 3978 xor al, al ; 30 c0 3979 shr ax, 008h ; c1 e8 08 3980 mov byte [bp-00ah], al ; 88 46 f6 3981 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3982 mov bx, strict word 00008h ; bb 08 00 3983 cwd ; 99 3984 idiv bx ; f7 fb 3985 test dx, dx ; 85 d2 3986 je short 021f7h ; 74 c2 3987 jmp near 02314h ; e9 dc 00 3988 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3960 jmp near 022ddh ; e9 ee 00 3961 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3989 3962 mov si, bx ; 89 de 3990 3963 sal si, 003h ; c1 e6 03 3991 3964 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 3992 jne short 022 93h ; 75 4b3965 jne short 0224ch ; 75 4d 3993 3966 mov ax, word [bp-012h] ; 8b 46 ee 3994 3967 imul ax, word [bp-014h] ; 0f af 46 ec 3995 3968 add ax, ax ; 01 c0 3996 3969 or AL, strict byte 0ffh ; 0c ff 3997 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3998 inc ax ; 40 3999 imul dx, ax ; 0f af d0 4000 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4001 imul cx, word [bp-012h] ; 0f af 4e ee 4002 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4003 add cx, bx ; 01 d9 4004 add cx, cx ; 01 c9 4005 add cx, dx ; 01 d1 3970 movzx dx, byte [bp-006h] ; 0f b6 56 fa 3971 mov cx, ax ; 89 c1 3972 inc cx ; 41 3973 imul cx, dx ; 0f af ca 3974 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3975 imul ax, word [bp-012h] ; 0f af 46 ee 3976 movzx dx, byte [bp-008h] ; 0f b6 56 f8 3977 add ax, dx ; 01 d0 3978 add ax, ax ; 01 c0 3979 add cx, ax ; 01 c1 4006 3980 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 4007 3981 mov ax, word [si+04833h] ; 8b 84 33 48 4008 3982 mov dx, cx ; 89 ca 4009 call 02f 85h ; e8 0b0d4010 cmp byte [bp-0 10h], 003h ; 80 7e f0034011 jne near 02 311h ; 0f 85 8f 004012 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa3983 call 02f42h ; e8 0f 0d 3984 cmp byte [bp-00eh], 003h ; 80 7e f2 03 3985 jne near 022cah ; 0f 85 8f 00 3986 movzx bx, byte [bp-004h] ; 0f b6 5e fc 4013 3987 mov dx, cx ; 89 ca 4014 3988 inc dx ; 42 4015 3989 mov ax, word [si+04833h] ; 8b 84 33 48 4016 call 02f 85h ; e8 f50c4017 jmp near 02 311h ; e9 7e 003990 call 02f42h ; e8 f9 0c 3991 jmp near 022cah ; e9 7e 00 4018 3992 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 4019 3993 sal bx, 006h ; c1 e3 06 … … 4022 3996 mov al, byte [si+04831h] ; 8a 84 31 48 4023 3997 cmp AL, strict byte 003h ; 3c 03 4024 jc short 022 b7h ; 72 0c4025 jbe short 022 bdh ; 76 103998 jc short 02270h ; 72 0c 3999 jbe short 02276h ; 76 10 4026 4000 cmp AL, strict byte 005h ; 3c 05 4027 je short 022 f9h ; 74 484001 je short 022b2h ; 74 48 4028 4002 cmp AL, strict byte 004h ; 3c 04 4029 je short 022 bdh ; 74 084030 jmp short 02 311h ; eb 5a4003 je short 02276h ; 74 08 4004 jmp short 022cah ; eb 5a 4031 4005 cmp AL, strict byte 002h ; 3c 02 4032 je short 022 dbh ; 74 204033 jmp short 02 311h ; eb 544006 je short 02294h ; 74 20 4007 jmp short 022cah ; eb 54 4034 4008 movzx ax, ah ; 0f b6 c4 4035 4009 push ax ; 50 … … 4038 4012 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4039 4013 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4040 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4014 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4041 4015 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4042 call 01a6eh ; e8 95f74043 jmp short 02 311h ; eb 364016 call 01a6eh ; e8 dc f7 4017 jmp short 022cah ; eb 36 4044 4018 movzx ax, dl ; 0f b6 c2 4045 4019 push ax ; 50 … … 4048 4022 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4049 4023 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4050 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4024 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4051 4025 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4052 call 01b59h ; e8 62f84053 jmp short 02 311h ; eb 184026 call 01b59h ; e8 a9 f8 4027 jmp short 022cah ; eb 18 4054 4028 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4055 4029 push ax ; 50 4056 4030 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4057 4031 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4058 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4032 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4059 4033 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4060 call 01c77h ; e8 66f94034 call 01c77h ; e8 ad f9 4061 4035 inc byte [bp-008h] ; fe 46 f8 4062 4036 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4063 4037 cmp ax, word [bp-012h] ; 3b 46 ee 4064 jne short 02 324h ; 75 074038 jne short 022ddh ; 75 07 4065 4039 mov byte [bp-008h], 000h ; c6 46 f8 00 4066 4040 inc byte [bp-00ah] ; fe 46 f6 4067 4041 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4068 4042 cmp ax, word [bp-014h] ; 3b 46 ec 4069 jne near 023 abh ; 0f 85 7c004070 movzx si, byte [bp-0 0eh] ; 0f b6 76 f24043 jne near 02368h ; 0f 85 80 00 4044 movzx si, byte [bp-010h] ; 0f b6 76 f0 4071 4045 sal si, 003h ; c1 e6 03 4072 mov bl, byte [bp-014h] ; 8a 5e ec 4046 mov bh, byte [bp-014h] ; 8a 7e ec 4047 db 0feh, 0cfh 4048 ; dec bh ; fe cf 4049 mov bl, byte [bp-012h] ; 8a 5e ee 4073 4050 db 0feh, 0cbh 4074 4051 ; dec bl ; fe cb 4075 mov bh, byte [bp-012h] ; 8a 7e ee4076 db 0feh, 0cfh4077 ; dec bh ; fe cf4078 4052 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 4079 jne short 023 8dh ; 75 464053 jne short 0234ah ; 75 4a 4080 4054 mov ax, word [bp-012h] ; 8b 46 ee 4081 4055 imul ax, word [bp-014h] ; 0f af 46 ec 4082 4056 add ax, ax ; 01 c0 4083 4057 or AL, strict byte 0ffh ; 0c ff 4084 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4085 inc ax ; 40 4086 imul dx, ax ; 0f af d0 4058 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4059 mov cx, ax ; 89 c1 4060 inc cx ; 41 4061 imul cx, dx ; 0f af ca 4087 4062 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4088 4063 dec ax ; 48 4089 4064 imul ax, word [bp-012h] ; 0f af 46 ee 4090 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4091 add cx, ax ; 01 c1 4092 add cx, cx ; 01 c9 4093 add dx, cx ; 01 ca 4065 movzx dx, byte [bp-008h] ; 0f b6 56 f8 4066 add ax, dx ; 01 d0 4067 add ax, ax ; 01 c0 4068 mov dx, cx ; 89 ca 4069 add dx, ax ; 01 c2 4094 4070 inc dx ; 42 4095 4071 mov ax, word [si+04833h] ; 8b 84 33 48 4096 call 02f 77h ; e8 02 0c4072 call 02f34h ; e8 02 0c 4097 4073 push strict byte 00001h ; 6a 01 4098 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4074 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4075 push dx ; 52 4076 movzx dx, bl ; 0f b6 d3 4099 4077 push dx ; 52 4100 4078 movzx dx, bh ; 0f b6 d7 4101 push dx ; 524102 movzx dx, bl ; 0f b6 d34103 4079 push dx ; 52 4104 4080 movzx dx, al ; 0f b6 d0 4105 4081 xor cx, cx ; 31 c9 4106 4082 xor bx, bx ; 31 db 4107 jmp short 023 a2h ; eb 154083 jmp short 0235fh ; eb 15 4108 4084 push strict byte 00001h ; 6a 01 4109 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4085 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4086 push ax ; 50 4087 movzx ax, bl ; 0f b6 c3 4110 4088 push ax ; 50 4111 4089 movzx ax, bh ; 0f b6 c7 4112 push ax ; 504113 movzx ax, bl ; 0f b6 c34114 4090 push ax ; 50 4115 4091 xor cx, cx ; 31 c9 … … 4117 4093 xor dx, dx ; 31 d2 4118 4094 mov ax, strict word 00001h ; b8 01 00 4119 call 01568h ; e8 c0 f14095 call 01568h ; e8 03 f2 4120 4096 dec byte [bp-00ah] ; fe 4e f6 4121 4097 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 4125 4101 add word [bp-018h], ax ; 01 46 e8 4126 4102 mov dx, word [bp-018h] ; 8b 56 e8 4127 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc4128 call 00e5eh ; e8 97ea4103 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4104 call 00e5eh ; e8 da ea 4129 4105 lea sp, [bp-002h] ; 8d 66 fe 4130 4106 pop si ; 5e 4131 4107 pop bp ; 5d 4132 4108 retn ; c3 4133 get_font_access_: ; 0xc23 cdLB 0x2c4109 get_font_access_: ; 0xc238a LB 0x2c 4134 4110 push bp ; 55 4135 4111 mov bp, sp ; 89 e5 … … 4155 4131 pop bp ; 5d 4156 4132 retn ; c3 4157 release_font_access_: ; 0xc23 f9LB 0x3c4133 release_font_access_: ; 0xc23b6 LB 0x3c 4158 4134 push bp ; 55 4159 4135 mov bp, sp ; 89 e5 … … 4187 4163 pop bp ; 5d 4188 4164 retn ; c3 4189 set_scan_lines_: ; 0xc2 435LB 0xbf4165 set_scan_lines_: ; 0xc23f2 LB 0xbf 4190 4166 push bp ; 55 4191 4167 mov bp, sp ; 89 e5 … … 4198 4174 mov dx, strict word 00063h ; ba 63 00 4199 4175 mov ax, strict word 00040h ; b8 40 00 4200 call 02f 93h ; e8 4b 0b4176 call 02f50h ; e8 4b 0b 4201 4177 mov dx, ax ; 89 c2 4202 4178 mov si, ax ; 89 c6 … … 4215 4191 out DX, AL ; ee 4216 4192 cmp bl, 008h ; 80 fb 08 4217 jne short 024 6ch ; 75 084193 jne short 02429h ; 75 08 4218 4194 mov dx, strict word 00007h ; ba 07 00 4219 4195 mov ax, strict word 00006h ; b8 06 00 4220 jmp short 024 79h ; eb 0d4196 jmp short 02436h ; eb 0d 4221 4197 mov al, bl ; 88 d8 4222 4198 sub AL, strict byte 003h ; 2c 03 … … 4225 4201 sub AL, strict byte 004h ; 2c 04 4226 4202 xor ah, ah ; 30 e4 4227 call 00dbah ; e8 3ee94203 call 00dbah ; e8 81 e9 4228 4204 movzx di, bl ; 0f b6 fb 4229 4205 mov bx, di ; 89 fb 4230 4206 mov dx, 00085h ; ba 85 00 4231 4207 mov ax, strict word 00040h ; b8 40 00 4232 call 02f a1h ; e8 17 0b4208 call 02f5eh ; e8 17 0b 4233 4209 mov AL, strict byte 012h ; b0 12 4234 4210 mov dx, si ; 89 f2 … … 4265 4241 mov dx, 00084h ; ba 84 00 4266 4242 mov ax, strict word 00040h ; b8 40 00 4267 call 02f 85h ; e8 b7 0a4243 call 02f42h ; e8 b7 0a 4268 4244 mov dx, strict word 0004ah ; ba 4a 00 4269 4245 mov ax, strict word 00040h ; b8 40 00 4270 call 02f 93h ; e8 bc 0a4246 call 02f50h ; e8 bc 0a 4271 4247 movzx dx, cl ; 0f b6 d1 4272 4248 mov bx, ax ; 89 c3 … … 4275 4251 mov dx, strict word 0004ch ; ba 4c 00 4276 4252 mov ax, strict word 00040h ; b8 40 00 4277 call 02f a1h ; e8 b7 0a4253 call 02f5eh ; e8 b7 0a 4278 4254 lea sp, [bp-00ah] ; 8d 66 f6 4279 4255 pop di ; 5f … … 4284 4260 pop bp ; 5d 4285 4261 retn ; c3 4286 biosfn_load_text_user_pat_: ; 0xc24 f4LB 0x7d4262 biosfn_load_text_user_pat_: ; 0xc24b1 LB 0x7d 4287 4263 push bp ; 55 4288 4264 mov bp, sp ; 89 e5 … … 4294 4270 mov word [bp-008h], bx ; 89 5e f8 4295 4271 mov word [bp-00ah], cx ; 89 4e f6 4296 call 023 cdh ; e8 c2 fe4272 call 0238ah ; e8 c2 fe 4297 4273 mov al, byte [bp+006h] ; 8a 46 06 4298 4274 and AL, strict byte 003h ; 24 03 … … 4308 4284 xor bx, bx ; 31 db 4309 4285 cmp bx, word [bp-00ah] ; 3b 5e f6 4310 jnc short 025 58h ; 73 2b4286 jnc short 02515h ; 73 2b 4311 4287 movzx cx, byte [bp+008h] ; 0f b6 4e 08 4312 4288 mov si, bx ; 89 de … … 4321 4297 mov es, ax ; 8e c0 4322 4298 cld ; fc 4323 jcxz 025 55h ; e3 064299 jcxz 02512h ; e3 06 4324 4300 push DS ; 1e 4325 4301 mov ds, dx ; 8e da … … 4327 4303 pop DS ; 1f 4328 4304 inc bx ; 43 4329 jmp short 02 528h ; eb d04330 call 023 f9h ; e8 9e fe4305 jmp short 024e5h ; eb d0 4306 call 023b6h ; e8 9e fe 4331 4307 cmp byte [bp-006h], 010h ; 80 7e fa 10 4332 jc short 025 68h ; 72 074308 jc short 02525h ; 72 07 4333 4309 movzx ax, byte [bp+008h] ; 0f b6 46 08 4334 call 02 435h ; e8 cd fe4310 call 023f2h ; e8 cd fe 4335 4311 lea sp, [bp-004h] ; 8d 66 fc 4336 4312 pop di ; 5f … … 4338 4314 pop bp ; 5d 4339 4315 retn 00006h ; c2 06 00 4340 biosfn_load_text_8_14_pat_: ; 0xc25 71LB 0x704316 biosfn_load_text_8_14_pat_: ; 0xc252e LB 0x70 4341 4317 push bp ; 55 4342 4318 mov bp, sp ; 89 e5 … … 4348 4324 push ax ; 50 4349 4325 mov byte [bp-00ah], al ; 88 46 f6 4350 call 023 cdh ; e8 4d fe4326 call 0238ah ; e8 4d fe 4351 4327 mov al, dl ; 88 d0 4352 4328 and AL, strict byte 003h ; 24 03 … … 4361 4337 mov word [bp-00ch], bx ; 89 5e f4 4362 4338 xor bx, bx ; 31 db 4363 jmp short 025 a3h ; eb 064339 jmp short 02560h ; eb 06 4364 4340 cmp bx, 00100h ; 81 fb 00 01 4365 jnc short 025 c9h ; 73 264341 jnc short 02586h ; 73 26 4366 4342 imul si, bx, strict byte 0000eh ; 6b f3 0e 4367 4343 mov di, bx ; 89 df … … 4374 4350 mov es, ax ; 8e c0 4375 4351 cld ; fc 4376 jcxz 025 c6h ; e3 064352 jcxz 02583h ; e3 06 4377 4353 push DS ; 1e 4378 4354 mov ds, dx ; 8e da … … 4380 4356 pop DS ; 1f 4381 4357 inc bx ; 43 4382 jmp short 025 9dh ; eb d44383 call 023 f9h ; e8 2d fe4358 jmp short 0255ah ; eb d4 4359 call 023b6h ; e8 2d fe 4384 4360 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4385 jc short 025 d8h ; 72 064361 jc short 02595h ; 72 06 4386 4362 mov ax, strict word 0000eh ; b8 0e 00 4387 call 02 435h ; e8 5d fe4363 call 023f2h ; e8 5d fe 4388 4364 lea sp, [bp-008h] ; 8d 66 f8 4389 4365 pop di ; 5f … … 4393 4369 pop bp ; 5d 4394 4370 retn ; c3 4395 biosfn_load_text_8_8_pat_: ; 0xc25 e1LB 0x724371 biosfn_load_text_8_8_pat_: ; 0xc259e LB 0x72 4396 4372 push bp ; 55 4397 4373 mov bp, sp ; 89 e5 … … 4403 4379 push ax ; 50 4404 4380 mov byte [bp-00ah], al ; 88 46 f6 4405 call 023 cdh ; e8 dd fd4381 call 0238ah ; e8 dd fd 4406 4382 mov al, dl ; 88 d0 4407 4383 and AL, strict byte 003h ; 24 03 … … 4416 4392 mov word [bp-00ch], bx ; 89 5e f4 4417 4393 xor bx, bx ; 31 db 4418 jmp short 02 613h ; eb 064394 jmp short 025d0h ; eb 06 4419 4395 cmp bx, 00100h ; 81 fb 00 01 4420 jnc short 02 63bh ; 73 284396 jnc short 025f8h ; 73 28 4421 4397 mov si, bx ; 89 de 4422 4398 sal si, 003h ; c1 e6 03 … … 4430 4406 mov es, ax ; 8e c0 4431 4407 cld ; fc 4432 jcxz 02 638h ; e3 064408 jcxz 025f5h ; e3 06 4433 4409 push DS ; 1e 4434 4410 mov ds, dx ; 8e da … … 4436 4412 pop DS ; 1f 4437 4413 inc bx ; 43 4438 jmp short 02 60dh ; eb d24439 call 023 f9h ; e8 bb fd4414 jmp short 025cah ; eb d2 4415 call 023b6h ; e8 bb fd 4440 4416 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4441 jc short 026 4ah ; 72 064417 jc short 02607h ; 72 06 4442 4418 mov ax, strict word 00008h ; b8 08 00 4443 call 02 435h ; e8 eb fd4419 call 023f2h ; e8 eb fd 4444 4420 lea sp, [bp-008h] ; 8d 66 f8 4445 4421 pop di ; 5f … … 4449 4425 pop bp ; 5d 4450 4426 retn ; c3 4451 biosfn_load_text_8_16_pat_: ; 0xc26 53LB 0x724427 biosfn_load_text_8_16_pat_: ; 0xc2610 LB 0x72 4452 4428 push bp ; 55 4453 4429 mov bp, sp ; 89 e5 … … 4459 4435 push ax ; 50 4460 4436 mov byte [bp-00ah], al ; 88 46 f6 4461 call 023 cdh ; e8 6b fd4437 call 0238ah ; e8 6b fd 4462 4438 mov al, dl ; 88 d0 4463 4439 and AL, strict byte 003h ; 24 03 … … 4472 4448 mov word [bp-00ch], bx ; 89 5e f4 4473 4449 xor bx, bx ; 31 db 4474 jmp short 026 85h ; eb 064450 jmp short 02642h ; eb 06 4475 4451 cmp bx, 00100h ; 81 fb 00 01 4476 jnc short 026 adh ; 73 284452 jnc short 0266ah ; 73 28 4477 4453 mov si, bx ; 89 de 4478 4454 sal si, 004h ; c1 e6 04 … … 4486 4462 mov es, ax ; 8e c0 4487 4463 cld ; fc 4488 jcxz 026 aah ; e3 064464 jcxz 02667h ; e3 06 4489 4465 push DS ; 1e 4490 4466 mov ds, dx ; 8e da … … 4492 4468 pop DS ; 1f 4493 4469 inc bx ; 43 4494 jmp short 026 7fh ; eb d24495 call 023 f9h ; e8 49 fd4470 jmp short 0263ch ; eb d2 4471 call 023b6h ; e8 49 fd 4496 4472 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4497 jc short 026 bch ; 72 064473 jc short 02679h ; 72 06 4498 4474 mov ax, strict word 00010h ; b8 10 00 4499 call 02 435h ; e8 79 fd4475 call 023f2h ; e8 79 fd 4500 4476 lea sp, [bp-008h] ; 8d 66 f8 4501 4477 pop di ; 5f … … 4505 4481 pop bp ; 5d 4506 4482 retn ; c3 4507 biosfn_load_gfx_8_8_chars_: ; 0xc26 c5LB 0x54483 biosfn_load_gfx_8_8_chars_: ; 0xc2682 LB 0x5 4508 4484 push bp ; 55 4509 4485 mov bp, sp ; 89 e5 4510 4486 pop bp ; 5d 4511 4487 retn ; c3 4512 biosfn_load_gfx_user_chars_: ; 0xc26 caLB 0x74488 biosfn_load_gfx_user_chars_: ; 0xc2687 LB 0x7 4513 4489 push bp ; 55 4514 4490 mov bp, sp ; 89 e5 4515 4491 pop bp ; 5d 4516 4492 retn 00002h ; c2 02 00 4517 biosfn_load_gfx_8_14_chars_: ; 0xc26 d1LB 0x54493 biosfn_load_gfx_8_14_chars_: ; 0xc268e LB 0x5 4518 4494 push bp ; 55 4519 4495 mov bp, sp ; 89 e5 4520 4496 pop bp ; 5d 4521 4497 retn ; c3 4522 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 d6LB 0x54498 biosfn_load_gfx_8_8_dd_chars_: ; 0xc2693 LB 0x5 4523 4499 push bp ; 55 4524 4500 mov bp, sp ; 89 e5 4525 4501 pop bp ; 5d 4526 4502 retn ; c3 4527 biosfn_load_gfx_8_16_chars_: ; 0xc26 dbLB 0x54503 biosfn_load_gfx_8_16_chars_: ; 0xc2698 LB 0x5 4528 4504 push bp ; 55 4529 4505 mov bp, sp ; 89 e5 4530 4506 pop bp ; 5d 4531 4507 retn ; c3 4532 biosfn_alternate_prtsc_: ; 0xc26 e0LB 0x54508 biosfn_alternate_prtsc_: ; 0xc269d LB 0x5 4533 4509 push bp ; 55 4534 4510 mov bp, sp ; 89 e5 4535 4511 pop bp ; 5d 4536 4512 retn ; c3 4537 biosfn_switch_video_interface_: ; 0xc26 e5LB 0x54513 biosfn_switch_video_interface_: ; 0xc26a2 LB 0x5 4538 4514 push bp ; 55 4539 4515 mov bp, sp ; 89 e5 4540 4516 pop bp ; 5d 4541 4517 retn ; c3 4542 biosfn_enable_video_refresh_control_: ; 0xc26 eaLB 0x54518 biosfn_enable_video_refresh_control_: ; 0xc26a7 LB 0x5 4543 4519 push bp ; 55 4544 4520 mov bp, sp ; 89 e5 4545 4521 pop bp ; 5d 4546 4522 retn ; c3 4547 biosfn_write_string_: ; 0xc26 efLB 0x9c4523 biosfn_write_string_: ; 0xc26ac LB 0x9c 4548 4524 push bp ; 55 4549 4525 mov bp, sp ; 89 e5 … … 4559 4535 lea bx, [bp-00eh] ; 8d 5e f2 4560 4536 lea dx, [bp-00ch] ; 8d 56 f4 4561 call 00a88h ; e8 77e34537 call 00a88h ; e8 ba e3 4562 4538 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4563 jne short 02 728h ; 75 114539 jne short 026e5h ; 75 11 4564 4540 mov al, byte [bp-00eh] ; 8a 46 f2 4565 4541 mov byte [bp+006h], al ; 88 46 06 … … 4573 4549 add dx, ax ; 01 c2 4574 4550 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4575 call 00e5eh ; e8 22e74551 call 00e5eh ; e8 65 e7 4576 4552 dec si ; 4e 4577 4553 cmp si, strict byte 0ffffh ; 83 fe ff 4578 je short 027 72h ; 74 304554 je short 0272fh ; 74 30 4579 4555 mov dx, di ; 89 fa 4580 4556 inc di ; 47 4581 4557 mov ax, word [bp+008h] ; 8b 46 08 4582 call 02f 77h ; e8 2c 084558 call 02f34h ; e8 2c 08 4583 4559 mov cl, al ; 88 c1 4584 4560 test byte [bp-00ah], 002h ; f6 46 f6 02 4585 je short 027 5fh ; 74 0c4561 je short 0271ch ; 74 0c 4586 4562 mov dx, di ; 89 fa 4587 4563 inc di ; 47 4588 4564 mov ax, word [bp+008h] ; 8b 46 08 4589 call 02f 77h ; e8 1b 084565 call 02f34h ; e8 1b 08 4590 4566 mov byte [bp-006h], al ; 88 46 fa 4591 4567 movzx bx, byte [bp-006h] ; 0f b6 5e fa … … 4593 4569 movzx ax, cl ; 0f b6 c1 4594 4570 mov cx, strict word 00003h ; b9 03 00 4595 call 02149h ; e8 d9 f94596 jmp short 02 73ch ; eb ca4571 call 02149h ; e8 1c fa 4572 jmp short 026f9h ; eb ca 4597 4573 test byte [bp-00ah], 001h ; f6 46 f6 01 4598 jne short 027 82h ; 75 0a4574 jne short 0273fh ; 75 0a 4599 4575 mov dx, word [bp-00eh] ; 8b 56 f2 4600 4576 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4601 call 00e5eh ; e8 dc e64577 call 00e5eh ; e8 1f e7 4602 4578 lea sp, [bp-004h] ; 8d 66 fc 4603 4579 pop di ; 5f … … 4605 4581 pop bp ; 5d 4606 4582 retn 00008h ; c2 08 00 4607 biosfn_read_state_info_: ; 0xc27 8bLB 0x1014583 biosfn_read_state_info_: ; 0xc2748 LB 0x101 4608 4584 push bp ; 55 4609 4585 mov bp, sp ; 89 e5 … … 4617 4593 mov dx, word [bp-00ah] ; 8b 56 f6 4618 4594 mov ax, word [bp-008h] ; 8b 46 f8 4619 call 02f c1h ; e8 20 084595 call 02f7eh ; e8 20 08 4620 4596 mov di, word [bp-00ah] ; 8b 7e f6 4621 4597 add di, strict byte 00004h ; 83 c7 04 … … 4625 4601 mov es, [bp-008h] ; 8e 46 f8 4626 4602 cld ; fc 4627 jcxz 027 bch ; e3 064603 jcxz 02779h ; e3 06 4628 4604 push DS ; 1e 4629 4605 mov ds, dx ; 8e da … … 4637 4613 mov es, [bp-008h] ; 8e 46 f8 4638 4614 cld ; fc 4639 jcxz 027 d7h ; e3 064615 jcxz 02794h ; e3 06 4640 4616 push DS ; 1e 4641 4617 mov ds, dx ; 8e da … … 4644 4620 mov dx, 0008ah ; ba 8a 00 4645 4621 mov ax, strict word 00040h ; b8 40 00 4646 call 02f 77h ; e8 97 074622 call 02f34h ; e8 97 07 4647 4623 movzx bx, al ; 0f b6 d8 4648 4624 mov dx, word [bp-00ah] ; 8b 56 f6 4649 4625 add dx, strict byte 00025h ; 83 c2 25 4650 4626 mov ax, word [bp-008h] ; 8b 46 f8 4651 call 02f 85h ; e8 96 074627 call 02f42h ; e8 96 07 4652 4628 mov dx, word [bp-00ah] ; 8b 56 f6 4653 4629 add dx, strict byte 00026h ; 83 c2 26 4654 4630 xor bx, bx ; 31 db 4655 4631 mov ax, word [bp-008h] ; 8b 46 f8 4656 call 02f 85h ; e8 88 074632 call 02f42h ; e8 88 07 4657 4633 mov dx, word [bp-00ah] ; 8b 56 f6 4658 4634 add dx, strict byte 00027h ; 83 c2 27 4659 4635 mov bx, strict word 00010h ; bb 10 00 4660 4636 mov ax, word [bp-008h] ; 8b 46 f8 4661 call 02f 85h ; e8 79 074637 call 02f42h ; e8 79 07 4662 4638 mov dx, word [bp-00ah] ; 8b 56 f6 4663 4639 add dx, strict byte 00028h ; 83 c2 28 4664 4640 xor bx, bx ; 31 db 4665 4641 mov ax, word [bp-008h] ; 8b 46 f8 4666 call 02f 85h ; e8 6b 074642 call 02f42h ; e8 6b 07 4667 4643 mov dx, word [bp-00ah] ; 8b 56 f6 4668 4644 add dx, strict byte 00029h ; 83 c2 29 4669 4645 mov bx, strict word 00008h ; bb 08 00 4670 4646 mov ax, word [bp-008h] ; 8b 46 f8 4671 call 02f 85h ; e8 5c 074647 call 02f42h ; e8 5c 07 4672 4648 mov dx, word [bp-00ah] ; 8b 56 f6 4673 4649 add dx, strict byte 0002ah ; 83 c2 2a 4674 4650 mov bx, strict word 00002h ; bb 02 00 4675 4651 mov ax, word [bp-008h] ; 8b 46 f8 4676 call 02f 85h ; e8 4d 074652 call 02f42h ; e8 4d 07 4677 4653 mov dx, word [bp-00ah] ; 8b 56 f6 4678 4654 add dx, strict byte 0002bh ; 83 c2 2b 4679 4655 xor bx, bx ; 31 db 4680 4656 mov ax, word [bp-008h] ; 8b 46 f8 4681 call 02f 85h ; e8 3f 074657 call 02f42h ; e8 3f 07 4682 4658 mov dx, word [bp-00ah] ; 8b 56 f6 4683 4659 add dx, strict byte 0002ch ; 83 c2 2c 4684 4660 xor bx, bx ; 31 db 4685 4661 mov ax, word [bp-008h] ; 8b 46 f8 4686 call 02f 85h ; e8 31 074662 call 02f42h ; e8 31 07 4687 4663 mov dx, word [bp-00ah] ; 8b 56 f6 4688 4664 add dx, strict byte 00031h ; 83 c2 31 4689 4665 mov bx, strict word 00003h ; bb 03 00 4690 4666 mov ax, word [bp-008h] ; 8b 46 f8 4691 call 02f 85h ; e8 22 074667 call 02f42h ; e8 22 07 4692 4668 mov dx, word [bp-00ah] ; 8b 56 f6 4693 4669 add dx, strict byte 00032h ; 83 c2 32 4694 4670 xor bx, bx ; 31 db 4695 4671 mov ax, word [bp-008h] ; 8b 46 f8 4696 call 02f 85h ; e8 14 074672 call 02f42h ; e8 14 07 4697 4673 mov di, word [bp-00ah] ; 8b 7e f6 4698 4674 add di, strict byte 00033h ; 83 c7 33 … … 4701 4677 mov es, [bp-008h] ; 8e 46 f8 4702 4678 cld ; fc 4703 jcxz 028 84h ; e3 024679 jcxz 02841h ; e3 02 4704 4680 rep stosb ; f3 aa 4705 4681 lea sp, [bp-006h] ; 8d 66 fa … … 4709 4685 pop bp ; 5d 4710 4686 retn ; c3 4711 biosfn_read_video_state_size2_: ; 0xc28 8cLB 0x234687 biosfn_read_video_state_size2_: ; 0xc2849 LB 0x23 4712 4688 push dx ; 52 4713 4689 push bp ; 55 … … 4716 4692 xor ax, ax ; 31 c0 4717 4693 test dl, 001h ; f6 c2 01 4718 je short 028 9ch ; 74 034694 je short 02859h ; 74 03 4719 4695 mov ax, strict word 00046h ; b8 46 00 4720 4696 test dl, 002h ; f6 c2 02 4721 je short 028 a4h ; 74 034697 je short 02861h ; 74 03 4722 4698 add ax, strict word 0002ah ; 05 2a 00 4723 4699 test dl, 004h ; f6 c2 04 4724 je short 028 ach ; 74 034700 je short 02869h ; 74 03 4725 4701 add ax, 00304h ; 05 04 03 4726 4702 pop bp ; 5d 4727 4703 pop dx ; 5a 4728 4704 retn ; c3 4729 vga_get_video_state_size_: ; 0xc28 afLB 0x124705 vga_get_video_state_size_: ; 0xc286c LB 0x12 4730 4706 push bp ; 55 4731 4707 mov bp, sp ; 89 e5 4732 4708 push bx ; 53 4733 4709 mov bx, dx ; 89 d3 4734 call 028 8ch ; e8 d4 ff4710 call 02849h ; e8 d4 ff 4735 4711 mov word [ss:bx], ax ; 36 89 07 4736 4712 lea sp, [bp-002h] ; 8d 66 fe … … 4738 4714 pop bp ; 5d 4739 4715 retn ; c3 4740 biosfn_save_video_state_: ; 0xc28 c1LB 0x3694716 biosfn_save_video_state_: ; 0xc287e LB 0x369 4741 4717 push bp ; 55 4742 4718 mov bp, sp ; 89 e5 … … 4751 4727 mov dx, strict word 00063h ; ba 63 00 4752 4728 mov ax, strict word 00040h ; b8 40 00 4753 call 02f 93h ; e8 bc 064729 call 02f50h ; e8 bc 06 4754 4730 mov di, ax ; 89 c7 4755 4731 test byte [bp-00ch], 001h ; f6 46 f4 01 4756 je near 02a 44h ; 0f 84 63 014732 je near 02a01h ; 0f 84 63 01 4757 4733 mov dx, 003c4h ; ba c4 03 4758 4734 in AL, DX ; ec … … 4762 4738 mov dx, cx ; 89 ca 4763 4739 mov ax, si ; 89 f0 4764 call 02f 85h ; e8 94 064740 call 02f42h ; e8 94 06 4765 4741 inc cx ; 41 4766 4742 mov dx, di ; 89 fa … … 4771 4747 mov dx, cx ; 89 ca 4772 4748 mov ax, si ; 89 f0 4773 call 02f 85h ; e8 84 064749 call 02f42h ; e8 84 06 4774 4750 inc cx ; 41 4775 4751 mov dx, 003ceh ; ba ce 03 … … 4780 4756 mov dx, cx ; 89 ca 4781 4757 mov ax, si ; 89 f0 4782 call 02f 85h ; e8 73 064758 call 02f42h ; e8 73 06 4783 4759 inc cx ; 41 4784 4760 mov dx, 003dah ; ba da 03 … … 4794 4770 mov dx, cx ; 89 ca 4795 4771 mov ax, si ; 89 f0 4796 call 02f 85h ; e8 58 064772 call 02f42h ; e8 58 06 4797 4773 inc cx ; 41 4798 4774 mov dx, 003cah ; ba ca 03 … … 4803 4779 mov dx, cx ; 89 ca 4804 4780 mov ax, si ; 89 f0 4805 call 02f 85h ; e8 47 064781 call 02f42h ; e8 47 06 4806 4782 mov ax, strict word 00001h ; b8 01 00 4807 4783 mov word [bp-00ah], ax ; 89 46 f6 4808 4784 add cx, ax ; 01 c1 4809 jmp short 029 4eh ; eb 064785 jmp short 0290bh ; eb 06 4810 4786 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 4811 jnbe short 029 6bh ; 77 1d4787 jnbe short 02928h ; 77 1d 4812 4788 mov al, byte [bp-00ah] ; 8a 46 f6 4813 4789 mov dx, 003c4h ; ba c4 03 … … 4820 4796 mov dx, cx ; 89 ca 4821 4797 mov ax, si ; 89 f0 4822 call 02f 85h ; e8 20 064798 call 02f42h ; e8 20 06 4823 4799 inc cx ; 41 4824 4800 inc word [bp-00ah] ; ff 46 f6 4825 jmp short 029 48h ; eb dd4801 jmp short 02905h ; eb dd 4826 4802 xor al, al ; 30 c0 4827 4803 mov dx, 003c4h ; ba c4 03 … … 4834 4810 mov dx, cx ; 89 ca 4835 4811 mov ax, si ; 89 f0 4836 call 02f 85h ; e8 04 064812 call 02f42h ; e8 04 06 4837 4813 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4838 4814 inc cx ; 41 4839 jmp short 029 8fh ; eb 064815 jmp short 0294ch ; eb 06 4840 4816 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 4841 jnbe short 029 abh ; 77 1c4817 jnbe short 02968h ; 77 1c 4842 4818 mov al, byte [bp-00ah] ; 8a 46 f6 4843 4819 mov dx, di ; 89 fa … … 4850 4826 mov dx, cx ; 89 ca 4851 4827 mov ax, si ; 89 f0 4852 call 02f 85h ; e8 e0 054828 call 02f42h ; e8 e0 05 4853 4829 inc cx ; 41 4854 4830 inc word [bp-00ah] ; ff 46 f6 4855 jmp short 029 89h ; eb de4831 jmp short 02946h ; eb de 4856 4832 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4857 jmp short 029 b8h ; eb 064833 jmp short 02975h ; eb 06 4858 4834 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 4859 jnbe short 029 e1h ; 77 294835 jnbe short 0299eh ; 77 29 4860 4836 mov dx, 003dah ; ba da 03 4861 4837 in AL, DX ; ec … … 4874 4850 mov dx, cx ; 89 ca 4875 4851 mov ax, si ; 89 f0 4876 call 02f 85h ; e8 aa 054852 call 02f42h ; e8 aa 05 4877 4853 inc cx ; 41 4878 4854 inc word [bp-00ah] ; ff 46 f6 4879 jmp short 029 b2h ; eb d14855 jmp short 0296fh ; eb d1 4880 4856 mov dx, 003dah ; ba da 03 4881 4857 in AL, DX ; ec … … 4883 4859 ; sub ah, ah ; 2a e4 4884 4860 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4885 jmp short 029 f4h ; eb 064861 jmp short 029b1h ; eb 06 4886 4862 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4887 jnbe short 02 a11h ; 77 1d4863 jnbe short 029ceh ; 77 1d 4888 4864 mov al, byte [bp-00ah] ; 8a 46 f6 4889 4865 mov dx, 003ceh ; ba ce 03 … … 4896 4872 mov dx, cx ; 89 ca 4897 4873 mov ax, si ; 89 f0 4898 call 02f 85h ; e8 7a 054874 call 02f42h ; e8 7a 05 4899 4875 inc cx ; 41 4900 4876 inc word [bp-00ah] ; ff 46 f6 4901 jmp short 029 eeh ; eb dd4877 jmp short 029abh ; eb dd 4902 4878 mov bx, di ; 89 fb 4903 4879 mov dx, cx ; 89 ca 4904 4880 mov ax, si ; 89 f0 4905 call 02f a1h ; e8 87 054881 call 02f5eh ; e8 87 05 4906 4882 inc cx ; 41 4907 4883 inc cx ; 41 … … 4909 4885 mov dx, cx ; 89 ca 4910 4886 mov ax, si ; 89 f0 4911 call 02f 85h ; e8 60 054887 call 02f42h ; e8 60 05 4912 4888 inc cx ; 41 4913 4889 xor bx, bx ; 31 db 4914 4890 mov dx, cx ; 89 ca 4915 4891 mov ax, si ; 89 f0 4916 call 02f 85h ; e8 56 054892 call 02f42h ; e8 56 05 4917 4893 inc cx ; 41 4918 4894 xor bx, bx ; 31 db 4919 4895 mov dx, cx ; 89 ca 4920 4896 mov ax, si ; 89 f0 4921 call 02f 85h ; e8 4c 054897 call 02f42h ; e8 4c 05 4922 4898 inc cx ; 41 4923 4899 xor bx, bx ; 31 db 4924 4900 mov dx, cx ; 89 ca 4925 4901 mov ax, si ; 89 f0 4926 call 02f 85h ; e8 42 054902 call 02f42h ; e8 42 05 4927 4903 inc cx ; 41 4928 4904 test byte [bp-00ch], 002h ; f6 46 f4 02 4929 je near 02b b3h ; 0f 84 67 014905 je near 02b70h ; 0f 84 67 01 4930 4906 mov dx, strict word 00049h ; ba 49 00 4931 4907 mov ax, strict word 00040h ; b8 40 00 4932 call 02f 77h ; e8 22 054908 call 02f34h ; e8 22 05 4933 4909 movzx bx, al ; 0f b6 d8 4934 4910 mov dx, cx ; 89 ca 4935 4911 mov ax, si ; 89 f0 4936 call 02f 85h ; e8 26 054912 call 02f42h ; e8 26 05 4937 4913 inc cx ; 41 4938 4914 mov dx, strict word 0004ah ; ba 4a 00 4939 4915 mov ax, strict word 00040h ; b8 40 00 4940 call 02f 93h ; e8 2a 054916 call 02f50h ; e8 2a 05 4941 4917 mov bx, ax ; 89 c3 4942 4918 mov dx, cx ; 89 ca 4943 4919 mov ax, si ; 89 f0 4944 call 02f a1h ; e8 2f 054920 call 02f5eh ; e8 2f 05 4945 4921 inc cx ; 41 4946 4922 inc cx ; 41 4947 4923 mov dx, strict word 0004ch ; ba 4c 00 4948 4924 mov ax, strict word 00040h ; b8 40 00 4949 call 02f 93h ; e8 16 054925 call 02f50h ; e8 16 05 4950 4926 mov bx, ax ; 89 c3 4951 4927 mov dx, cx ; 89 ca 4952 4928 mov ax, si ; 89 f0 4953 call 02f a1h ; e8 1b 054929 call 02f5eh ; e8 1b 05 4954 4930 inc cx ; 41 4955 4931 inc cx ; 41 4956 4932 mov dx, strict word 00063h ; ba 63 00 4957 4933 mov ax, strict word 00040h ; b8 40 00 4958 call 02f 93h ; e8 02 054934 call 02f50h ; e8 02 05 4959 4935 mov bx, ax ; 89 c3 4960 4936 mov dx, cx ; 89 ca 4961 4937 mov ax, si ; 89 f0 4962 call 02f a1h ; e8 07 054938 call 02f5eh ; e8 07 05 4963 4939 inc cx ; 41 4964 4940 inc cx ; 41 4965 4941 mov dx, 00084h ; ba 84 00 4966 4942 mov ax, strict word 00040h ; b8 40 00 4967 call 02f 77h ; e8 d2 044943 call 02f34h ; e8 d2 04 4968 4944 movzx bx, al ; 0f b6 d8 4969 4945 mov dx, cx ; 89 ca 4970 4946 mov ax, si ; 89 f0 4971 call 02f 85h ; e8 d6 044947 call 02f42h ; e8 d6 04 4972 4948 inc cx ; 41 4973 4949 mov dx, 00085h ; ba 85 00 4974 4950 mov ax, strict word 00040h ; b8 40 00 4975 call 02f 93h ; e8 da 044951 call 02f50h ; e8 da 04 4976 4952 mov bx, ax ; 89 c3 4977 4953 mov dx, cx ; 89 ca 4978 4954 mov ax, si ; 89 f0 4979 call 02f a1h ; e8 df 044955 call 02f5eh ; e8 df 04 4980 4956 inc cx ; 41 4981 4957 inc cx ; 41 4982 4958 mov dx, 00087h ; ba 87 00 4983 4959 mov ax, strict word 00040h ; b8 40 00 4984 call 02f 77h ; e8 aa 044960 call 02f34h ; e8 aa 04 4985 4961 movzx bx, al ; 0f b6 d8 4986 4962 mov dx, cx ; 89 ca 4987 4963 mov ax, si ; 89 f0 4988 call 02f 85h ; e8 ae 044964 call 02f42h ; e8 ae 04 4989 4965 inc cx ; 41 4990 4966 mov dx, 00088h ; ba 88 00 4991 4967 mov ax, strict word 00040h ; b8 40 00 4992 call 02f 77h ; e8 96 044968 call 02f34h ; e8 96 04 4993 4969 movzx bx, al ; 0f b6 d8 4994 4970 mov dx, cx ; 89 ca 4995 4971 mov ax, si ; 89 f0 4996 call 02f 85h ; e8 9a 044972 call 02f42h ; e8 9a 04 4997 4973 inc cx ; 41 4998 4974 mov dx, 00089h ; ba 89 00 4999 4975 mov ax, strict word 00040h ; b8 40 00 5000 call 02f 77h ; e8 82 044976 call 02f34h ; e8 82 04 5001 4977 movzx bx, al ; 0f b6 d8 5002 4978 mov dx, cx ; 89 ca 5003 4979 mov ax, si ; 89 f0 5004 call 02f 85h ; e8 86 044980 call 02f42h ; e8 86 04 5005 4981 inc cx ; 41 5006 4982 mov dx, strict word 00060h ; ba 60 00 5007 4983 mov ax, strict word 00040h ; b8 40 00 5008 call 02f 93h ; e8 8a 044984 call 02f50h ; e8 8a 04 5009 4985 mov bx, ax ; 89 c3 5010 4986 mov dx, cx ; 89 ca 5011 4987 mov ax, si ; 89 f0 5012 call 02f a1h ; e8 8f 044988 call 02f5eh ; e8 8f 04 5013 4989 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5014 4990 inc cx ; 41 5015 4991 inc cx ; 41 5016 jmp short 02 b21h ; eb 064992 jmp short 02adeh ; eb 06 5017 4993 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5018 jnc short 02 b3fh ; 73 1e4994 jnc short 02afch ; 73 1e 5019 4995 mov dx, word [bp-00ah] ; 8b 56 f6 5020 4996 add dx, dx ; 01 d2 5021 4997 add dx, strict byte 00050h ; 83 c2 50 5022 4998 mov ax, strict word 00040h ; b8 40 00 5023 call 02f 93h ; e8 64 044999 call 02f50h ; e8 64 04 5024 5000 mov bx, ax ; 89 c3 5025 5001 mov dx, cx ; 89 ca 5026 5002 mov ax, si ; 89 f0 5027 call 02f a1h ; e8 69 045003 call 02f5eh ; e8 69 04 5028 5004 inc cx ; 41 5029 5005 inc cx ; 41 5030 5006 inc word [bp-00ah] ; ff 46 f6 5031 jmp short 02 b1bh ; eb dc5007 jmp short 02ad8h ; eb dc 5032 5008 mov dx, strict word 0004eh ; ba 4e 00 5033 5009 mov ax, strict word 00040h ; b8 40 00 5034 call 02f 93h ; e8 4b 045010 call 02f50h ; e8 4b 04 5035 5011 mov bx, ax ; 89 c3 5036 5012 mov dx, cx ; 89 ca 5037 5013 mov ax, si ; 89 f0 5038 call 02f a1h ; e8 50 045014 call 02f5eh ; e8 50 04 5039 5015 inc cx ; 41 5040 5016 inc cx ; 41 5041 5017 mov dx, strict word 00062h ; ba 62 00 5042 5018 mov ax, strict word 00040h ; b8 40 00 5043 call 02f 77h ; e8 1b 045019 call 02f34h ; e8 1b 04 5044 5020 movzx bx, al ; 0f b6 d8 5045 5021 mov dx, cx ; 89 ca 5046 5022 mov ax, si ; 89 f0 5047 call 02f 85h ; e8 1f 045023 call 02f42h ; e8 1f 04 5048 5024 inc cx ; 41 5049 5025 mov dx, strict word 0007ch ; ba 7c 00 5050 5026 xor ax, ax ; 31 c0 5051 call 02f 93h ; e8 24 045027 call 02f50h ; e8 24 04 5052 5028 mov bx, ax ; 89 c3 5053 5029 mov dx, cx ; 89 ca 5054 5030 mov ax, si ; 89 f0 5055 call 02f a1h ; e8 29 045031 call 02f5eh ; e8 29 04 5056 5032 inc cx ; 41 5057 5033 inc cx ; 41 5058 5034 mov dx, strict word 0007eh ; ba 7e 00 5059 5035 xor ax, ax ; 31 c0 5060 call 02f 93h ; e8 11 045036 call 02f50h ; e8 11 04 5061 5037 mov bx, ax ; 89 c3 5062 5038 mov dx, cx ; 89 ca 5063 5039 mov ax, si ; 89 f0 5064 call 02f a1h ; e8 16 045040 call 02f5eh ; e8 16 04 5065 5041 inc cx ; 41 5066 5042 inc cx ; 41 5067 5043 mov dx, 0010ch ; ba 0c 01 5068 5044 xor ax, ax ; 31 c0 5069 call 02f 93h ; e8 fe 035045 call 02f50h ; e8 fe 03 5070 5046 mov bx, ax ; 89 c3 5071 5047 mov dx, cx ; 89 ca 5072 5048 mov ax, si ; 89 f0 5073 call 02f a1h ; e8 03 045049 call 02f5eh ; e8 03 04 5074 5050 inc cx ; 41 5075 5051 inc cx ; 41 5076 5052 mov dx, 0010eh ; ba 0e 01 5077 5053 xor ax, ax ; 31 c0 5078 call 02f 93h ; e8 eb 035054 call 02f50h ; e8 eb 03 5079 5055 mov bx, ax ; 89 c3 5080 5056 mov dx, cx ; 89 ca 5081 5057 mov ax, si ; 89 f0 5082 call 02f a1h ; e8 f0 035058 call 02f5eh ; e8 f0 03 5083 5059 inc cx ; 41 5084 5060 inc cx ; 41 5085 5061 test byte [bp-00ch], 004h ; f6 46 f4 04 5086 je short 02 c20h ; 74 675062 je short 02bddh ; 74 67 5087 5063 mov dx, 003c7h ; ba c7 03 5088 5064 in AL, DX ; ec … … 5092 5068 mov dx, cx ; 89 ca 5093 5069 mov ax, si ; 89 f0 5094 call 02f 85h ; e8 bc 035070 call 02f42h ; e8 bc 03 5095 5071 inc cx ; 41 5096 5072 mov dx, 003c8h ; ba c8 03 … … 5101 5077 mov dx, cx ; 89 ca 5102 5078 mov ax, si ; 89 f0 5103 call 02f 85h ; e8 ab 035079 call 02f42h ; e8 ab 03 5104 5080 inc cx ; 41 5105 5081 mov dx, 003c6h ; ba c6 03 … … 5110 5086 mov dx, cx ; 89 ca 5111 5087 mov ax, si ; 89 f0 5112 call 02f 85h ; e8 9a 035088 call 02f42h ; e8 9a 03 5113 5089 inc cx ; 41 5114 5090 xor al, al ; 30 c0 … … 5117 5093 xor ah, ah ; 30 e4 5118 5094 mov word [bp-00ah], ax ; 89 46 f6 5119 jmp short 02 c00h ; eb 075095 jmp short 02bbdh ; eb 07 5120 5096 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5121 jnc short 02 c16h ; 73 165097 jnc short 02bd3h ; 73 16 5122 5098 mov dx, 003c9h ; ba c9 03 5123 5099 in AL, DX ; ec … … 5127 5103 mov dx, cx ; 89 ca 5128 5104 mov ax, si ; 89 f0 5129 call 02f 85h ; e8 75 035105 call 02f42h ; e8 75 03 5130 5106 inc cx ; 41 5131 5107 inc word [bp-00ah] ; ff 46 f6 5132 jmp short 02b f9h ; eb e35108 jmp short 02bb6h ; eb e3 5133 5109 xor bx, bx ; 31 db 5134 5110 mov dx, cx ; 89 ca 5135 5111 mov ax, si ; 89 f0 5136 call 02f 85h ; e8 66 035112 call 02f42h ; e8 66 03 5137 5113 inc cx ; 41 5138 5114 mov ax, cx ; 89 c8 … … 5143 5119 pop bp ; 5d 5144 5120 retn ; c3 5145 biosfn_restore_video_state_: ; 0xc2 c2aLB 0x3265121 biosfn_restore_video_state_: ; 0xc2be7 LB 0x326 5146 5122 push bp ; 55 5147 5123 mov bp, sp ; 89 e5 … … 5154 5130 mov cx, bx ; 89 d9 5155 5131 test byte [bp-00eh], 001h ; f6 46 f2 01 5156 je near 02d 8ah ; 0f 84 4a 015132 je near 02d47h ; 0f 84 4a 01 5157 5133 mov dx, 003dah ; ba da 03 5158 5134 in AL, DX ; ec … … 5161 5137 lea dx, [bx+040h] ; 8d 57 40 5162 5138 mov ax, si ; 89 f0 5163 call 02f 93h ; e8 45 035139 call 02f50h ; e8 45 03 5164 5140 mov di, ax ; 89 c7 5165 5141 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 5166 5142 lea cx, [bx+005h] ; 8d 4f 05 5167 jmp short 02c 60h ; eb 065143 jmp short 02c1dh ; eb 06 5168 5144 cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 5169 jnbe short 02c 78h ; 77 185145 jnbe short 02c35h ; 77 18 5170 5146 mov al, byte [bp-008h] ; 8a 46 f8 5171 5147 mov dx, 003c4h ; ba c4 03 … … 5173 5149 mov dx, cx ; 89 ca 5174 5150 mov ax, si ; 89 f0 5175 call 02f 77h ; e8 09 035151 call 02f34h ; e8 09 03 5176 5152 mov dx, 003c5h ; ba c5 03 5177 5153 out DX, AL ; ee 5178 5154 inc cx ; 41 5179 5155 inc word [bp-008h] ; ff 46 f8 5180 jmp short 02c 5ah ; eb e25156 jmp short 02c17h ; eb e2 5181 5157 xor al, al ; 30 c0 5182 5158 mov dx, 003c4h ; ba c4 03 … … 5184 5160 mov dx, cx ; 89 ca 5185 5161 mov ax, si ; 89 f0 5186 call 02f 77h ; e8 f2 025162 call 02f34h ; e8 f2 02 5187 5163 mov dx, 003c5h ; ba c5 03 5188 5164 out DX, AL ; ee … … 5192 5168 out DX, ax ; ef 5193 5169 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5194 jmp short 02c 9dh ; eb 065170 jmp short 02c5ah ; eb 06 5195 5171 cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 5196 jnbe short 02c bah ; 77 1d5172 jnbe short 02c77h ; 77 1d 5197 5173 cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 5198 je short 02c b4h ; 74 115174 je short 02c71h ; 74 11 5199 5175 mov al, byte [bp-008h] ; 8a 46 f8 5200 5176 mov dx, di ; 89 fa … … 5202 5178 mov dx, cx ; 89 ca 5203 5179 mov ax, si ; 89 f0 5204 call 02f 77h ; e8 c7 025180 call 02f34h ; e8 c7 02 5205 5181 lea dx, [di+001h] ; 8d 55 01 5206 5182 out DX, AL ; ee 5207 5183 inc cx ; 41 5208 5184 inc word [bp-008h] ; ff 46 f8 5209 jmp short 02c 97h ; eb dd5185 jmp short 02c54h ; eb dd 5210 5186 mov dx, 003cch ; ba cc 03 5211 5187 in AL, DX ; ec … … 5215 5191 mov word [bp-00ah], ax ; 89 46 f6 5216 5192 cmp di, 003d4h ; 81 ff d4 03 5217 jne short 02c cfh ; 75 045193 jne short 02c8ch ; 75 04 5218 5194 or byte [bp-00ah], 001h ; 80 4e f6 01 5219 5195 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5226 5202 add dx, strict byte 0fff9h ; 83 c2 f9 5227 5203 mov ax, si ; 89 f0 5228 call 02f 77h ; e8 92 025204 call 02f34h ; e8 92 02 5229 5205 lea dx, [di+001h] ; 8d 55 01 5230 5206 out DX, AL ; ee 5231 5207 lea dx, [bx+003h] ; 8d 57 03 5232 5208 mov ax, si ; 89 f0 5233 call 02f 77h ; e8 86 025209 call 02f34h ; e8 86 02 5234 5210 xor ah, ah ; 30 e4 5235 5211 mov word [bp-00ch], ax ; 89 46 f4 … … 5239 5215 ; sub ah, ah ; 2a e4 5240 5216 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5241 jmp short 02 d09h ; eb 065217 jmp short 02cc6h ; eb 06 5242 5218 cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 5243 jnbe short 02 d27h ; 77 1e5219 jnbe short 02ce4h ; 77 1e 5244 5220 mov ax, word [bp-00ch] ; 8b 46 f4 5245 5221 and ax, strict word 00020h ; 25 20 00 … … 5249 5225 mov dx, cx ; 89 ca 5250 5226 mov ax, si ; 89 f0 5251 call 02f 77h ; e8 5a 025227 call 02f34h ; e8 5a 02 5252 5228 mov dx, 003c0h ; ba c0 03 5253 5229 out DX, AL ; ee 5254 5230 inc cx ; 41 5255 5231 inc word [bp-008h] ; ff 46 f8 5256 jmp short 02 d03h ; eb dc5232 jmp short 02cc0h ; eb dc 5257 5233 mov al, byte [bp-00ch] ; 8a 46 f4 5258 5234 mov dx, 003c0h ; ba c0 03 … … 5263 5239 ; sub ah, ah ; 2a e4 5264 5240 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5265 jmp short 02 d41h ; eb 065241 jmp short 02cfeh ; eb 06 5266 5242 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5267 jnbe short 02d 59h ; 77 185243 jnbe short 02d16h ; 77 18 5268 5244 mov al, byte [bp-008h] ; 8a 46 f8 5269 5245 mov dx, 003ceh ; ba ce 03 … … 5271 5247 mov dx, cx ; 89 ca 5272 5248 mov ax, si ; 89 f0 5273 call 02f 77h ; e8 28 025249 call 02f34h ; e8 28 02 5274 5250 mov dx, 003cfh ; ba cf 03 5275 5251 out DX, AL ; ee 5276 5252 inc cx ; 41 5277 5253 inc word [bp-008h] ; ff 46 f8 5278 jmp short 02 d3bh ; eb e25254 jmp short 02cf8h ; eb e2 5279 5255 add cx, strict byte 00006h ; 83 c1 06 5280 5256 mov dx, bx ; 89 da 5281 5257 mov ax, si ; 89 f0 5282 call 02f 77h ; e8 14 025258 call 02f34h ; e8 14 02 5283 5259 mov dx, 003c4h ; ba c4 03 5284 5260 out DX, AL ; ee … … 5286 5262 mov dx, bx ; 89 da 5287 5263 mov ax, si ; 89 f0 5288 call 02f 77h ; e8 08 025264 call 02f34h ; e8 08 02 5289 5265 mov dx, di ; 89 fa 5290 5266 out DX, AL ; ee … … 5292 5268 mov dx, bx ; 89 da 5293 5269 mov ax, si ; 89 f0 5294 call 02f 77h ; e8 fd 015270 call 02f34h ; e8 fd 01 5295 5271 mov dx, 003ceh ; ba ce 03 5296 5272 out DX, AL ; ee 5297 5273 lea dx, [bx+002h] ; 8d 57 02 5298 5274 mov ax, si ; 89 f0 5299 call 02f 77h ; e8 f1 015275 call 02f34h ; e8 f1 01 5300 5276 lea dx, [di+006h] ; 8d 55 06 5301 5277 out DX, AL ; ee 5302 5278 test byte [bp-00eh], 002h ; f6 46 f2 02 5303 je near 02e f9h ; 0f 84 67 015304 mov dx, cx ; 89 ca 5305 mov ax, si ; 89 f0 5306 call 02f 77h ; e8 de 015279 je near 02eb6h ; 0f 84 67 01 5280 mov dx, cx ; 89 ca 5281 mov ax, si ; 89 f0 5282 call 02f34h ; e8 de 01 5307 5283 movzx bx, al ; 0f b6 d8 5308 5284 mov dx, strict word 00049h ; ba 49 00 5309 5285 mov ax, strict word 00040h ; b8 40 00 5310 call 02f 85h ; e8 e0 015311 inc cx ; 41 5312 mov dx, cx ; 89 ca 5313 mov ax, si ; 89 f0 5314 call 02f 93h ; e8 e6 015286 call 02f42h ; e8 e0 01 5287 inc cx ; 41 5288 mov dx, cx ; 89 ca 5289 mov ax, si ; 89 f0 5290 call 02f50h ; e8 e6 01 5315 5291 mov bx, ax ; 89 c3 5316 5292 mov dx, strict word 0004ah ; ba 4a 00 5317 5293 mov ax, strict word 00040h ; b8 40 00 5318 call 02f a1h ; e8 e9 015319 inc cx ; 41 5320 inc cx ; 41 5321 mov dx, cx ; 89 ca 5322 mov ax, si ; 89 f0 5323 call 02f 93h ; e8 d2 015294 call 02f5eh ; e8 e9 01 5295 inc cx ; 41 5296 inc cx ; 41 5297 mov dx, cx ; 89 ca 5298 mov ax, si ; 89 f0 5299 call 02f50h ; e8 d2 01 5324 5300 mov bx, ax ; 89 c3 5325 5301 mov dx, strict word 0004ch ; ba 4c 00 5326 5302 mov ax, strict word 00040h ; b8 40 00 5327 call 02f a1h ; e8 d5 015328 inc cx ; 41 5329 inc cx ; 41 5330 mov dx, cx ; 89 ca 5331 mov ax, si ; 89 f0 5332 call 02f 93h ; e8 be 015303 call 02f5eh ; e8 d5 01 5304 inc cx ; 41 5305 inc cx ; 41 5306 mov dx, cx ; 89 ca 5307 mov ax, si ; 89 f0 5308 call 02f50h ; e8 be 01 5333 5309 mov bx, ax ; 89 c3 5334 5310 mov dx, strict word 00063h ; ba 63 00 5335 5311 mov ax, strict word 00040h ; b8 40 00 5336 call 02f a1h ; e8 c1 015337 inc cx ; 41 5338 inc cx ; 41 5339 mov dx, cx ; 89 ca 5340 mov ax, si ; 89 f0 5341 call 02f 77h ; e8 8e 015312 call 02f5eh ; e8 c1 01 5313 inc cx ; 41 5314 inc cx ; 41 5315 mov dx, cx ; 89 ca 5316 mov ax, si ; 89 f0 5317 call 02f34h ; e8 8e 01 5342 5318 movzx bx, al ; 0f b6 d8 5343 5319 mov dx, 00084h ; ba 84 00 5344 5320 mov ax, strict word 00040h ; b8 40 00 5345 call 02f 85h ; e8 90 015346 inc cx ; 41 5347 mov dx, cx ; 89 ca 5348 mov ax, si ; 89 f0 5349 call 02f 93h ; e8 96 015321 call 02f42h ; e8 90 01 5322 inc cx ; 41 5323 mov dx, cx ; 89 ca 5324 mov ax, si ; 89 f0 5325 call 02f50h ; e8 96 01 5350 5326 mov bx, ax ; 89 c3 5351 5327 mov dx, 00085h ; ba 85 00 5352 5328 mov ax, strict word 00040h ; b8 40 00 5353 call 02f a1h ; e8 99 015354 inc cx ; 41 5355 inc cx ; 41 5356 mov dx, cx ; 89 ca 5357 mov ax, si ; 89 f0 5358 call 02f 77h ; e8 66 015329 call 02f5eh ; e8 99 01 5330 inc cx ; 41 5331 inc cx ; 41 5332 mov dx, cx ; 89 ca 5333 mov ax, si ; 89 f0 5334 call 02f34h ; e8 66 01 5359 5335 movzx bx, al ; 0f b6 d8 5360 5336 mov dx, 00087h ; ba 87 00 5361 5337 mov ax, strict word 00040h ; b8 40 00 5362 call 02f 85h ; e8 68 015363 inc cx ; 41 5364 mov dx, cx ; 89 ca 5365 mov ax, si ; 89 f0 5366 call 02f 77h ; e8 52 015338 call 02f42h ; e8 68 01 5339 inc cx ; 41 5340 mov dx, cx ; 89 ca 5341 mov ax, si ; 89 f0 5342 call 02f34h ; e8 52 01 5367 5343 movzx bx, al ; 0f b6 d8 5368 5344 mov dx, 00088h ; ba 88 00 5369 5345 mov ax, strict word 00040h ; b8 40 00 5370 call 02f 85h ; e8 54 015371 inc cx ; 41 5372 mov dx, cx ; 89 ca 5373 mov ax, si ; 89 f0 5374 call 02f 77h ; e8 3e 015346 call 02f42h ; e8 54 01 5347 inc cx ; 41 5348 mov dx, cx ; 89 ca 5349 mov ax, si ; 89 f0 5350 call 02f34h ; e8 3e 01 5375 5351 movzx bx, al ; 0f b6 d8 5376 5352 mov dx, 00089h ; ba 89 00 5377 5353 mov ax, strict word 00040h ; b8 40 00 5378 call 02f 85h ; e8 40 015379 inc cx ; 41 5380 mov dx, cx ; 89 ca 5381 mov ax, si ; 89 f0 5382 call 02f 93h ; e8 46 015354 call 02f42h ; e8 40 01 5355 inc cx ; 41 5356 mov dx, cx ; 89 ca 5357 mov ax, si ; 89 f0 5358 call 02f50h ; e8 46 01 5383 5359 mov bx, ax ; 89 c3 5384 5360 mov dx, strict word 00060h ; ba 60 00 5385 5361 mov ax, strict word 00040h ; b8 40 00 5386 call 02f a1h ; e8 49 015362 call 02f5eh ; e8 49 01 5387 5363 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5388 5364 inc cx ; 41 5389 5365 inc cx ; 41 5390 jmp short 02e 67h ; eb 065366 jmp short 02e24h ; eb 06 5391 5367 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5392 jnc short 02e 85h ; 73 1e5393 mov dx, cx ; 89 ca 5394 mov ax, si ; 89 f0 5395 call 02f 93h ; e8 25 015368 jnc short 02e42h ; 73 1e 5369 mov dx, cx ; 89 ca 5370 mov ax, si ; 89 f0 5371 call 02f50h ; e8 25 01 5396 5372 mov bx, ax ; 89 c3 5397 5373 mov dx, word [bp-008h] ; 8b 56 f8 … … 5399 5375 add dx, strict byte 00050h ; 83 c2 50 5400 5376 mov ax, strict word 00040h ; b8 40 00 5401 call 02f a1h ; e8 23 015377 call 02f5eh ; e8 23 01 5402 5378 inc cx ; 41 5403 5379 inc cx ; 41 5404 5380 inc word [bp-008h] ; ff 46 f8 5405 jmp short 02e 61h ; eb dc5406 mov dx, cx ; 89 ca 5407 mov ax, si ; 89 f0 5408 call 02f 93h ; e8 07 015381 jmp short 02e1eh ; eb dc 5382 mov dx, cx ; 89 ca 5383 mov ax, si ; 89 f0 5384 call 02f50h ; e8 07 01 5409 5385 mov bx, ax ; 89 c3 5410 5386 mov dx, strict word 0004eh ; ba 4e 00 5411 5387 mov ax, strict word 00040h ; b8 40 00 5412 call 02f a1h ; e8 0a 015413 inc cx ; 41 5414 inc cx ; 41 5415 mov dx, cx ; 89 ca 5416 mov ax, si ; 89 f0 5417 call 02f 77h ; e8 d7 005388 call 02f5eh ; e8 0a 01 5389 inc cx ; 41 5390 inc cx ; 41 5391 mov dx, cx ; 89 ca 5392 mov ax, si ; 89 f0 5393 call 02f34h ; e8 d7 00 5418 5394 movzx bx, al ; 0f b6 d8 5419 5395 mov dx, strict word 00062h ; ba 62 00 5420 5396 mov ax, strict word 00040h ; b8 40 00 5421 call 02f 85h ; e8 d9 005422 inc cx ; 41 5423 mov dx, cx ; 89 ca 5424 mov ax, si ; 89 f0 5425 call 02f 93h ; e8 df 005397 call 02f42h ; e8 d9 00 5398 inc cx ; 41 5399 mov dx, cx ; 89 ca 5400 mov ax, si ; 89 f0 5401 call 02f50h ; e8 df 00 5426 5402 mov bx, ax ; 89 c3 5427 5403 mov dx, strict word 0007ch ; ba 7c 00 5428 5404 xor ax, ax ; 31 c0 5429 call 02f a1h ; e8 e3 005430 inc cx ; 41 5431 inc cx ; 41 5432 mov dx, cx ; 89 ca 5433 mov ax, si ; 89 f0 5434 call 02f 93h ; e8 cc 005405 call 02f5eh ; e8 e3 00 5406 inc cx ; 41 5407 inc cx ; 41 5408 mov dx, cx ; 89 ca 5409 mov ax, si ; 89 f0 5410 call 02f50h ; e8 cc 00 5435 5411 mov bx, ax ; 89 c3 5436 5412 mov dx, strict word 0007eh ; ba 7e 00 5437 5413 xor ax, ax ; 31 c0 5438 call 02f a1h ; e8 d0 005439 inc cx ; 41 5440 inc cx ; 41 5441 mov dx, cx ; 89 ca 5442 mov ax, si ; 89 f0 5443 call 02f 93h ; e8 b9 005414 call 02f5eh ; e8 d0 00 5415 inc cx ; 41 5416 inc cx ; 41 5417 mov dx, cx ; 89 ca 5418 mov ax, si ; 89 f0 5419 call 02f50h ; e8 b9 00 5444 5420 mov bx, ax ; 89 c3 5445 5421 mov dx, 0010ch ; ba 0c 01 5446 5422 xor ax, ax ; 31 c0 5447 call 02f a1h ; e8 bd 005448 inc cx ; 41 5449 inc cx ; 41 5450 mov dx, cx ; 89 ca 5451 mov ax, si ; 89 f0 5452 call 02f 93h ; e8 a6 005423 call 02f5eh ; e8 bd 00 5424 inc cx ; 41 5425 inc cx ; 41 5426 mov dx, cx ; 89 ca 5427 mov ax, si ; 89 f0 5428 call 02f50h ; e8 a6 00 5453 5429 mov bx, ax ; 89 c3 5454 5430 mov dx, 0010eh ; ba 0e 01 5455 5431 xor ax, ax ; 31 c0 5456 call 02f a1h ; e8 aa 005432 call 02f5eh ; e8 aa 00 5457 5433 inc cx ; 41 5458 5434 inc cx ; 41 5459 5435 test byte [bp-00eh], 004h ; f6 46 f2 04 5460 je short 02f 46h ; 74 475461 inc cx ; 41 5462 mov dx, cx ; 89 ca 5463 mov ax, si ; 89 f0 5464 call 02f 77h ; e8 70 005436 je short 02f03h ; 74 47 5437 inc cx ; 41 5438 mov dx, cx ; 89 ca 5439 mov ax, si ; 89 f0 5440 call 02f34h ; e8 70 00 5465 5441 xor ah, ah ; 30 e4 5466 5442 mov word [bp-00ah], ax ; 89 46 f6 … … 5468 5444 mov dx, cx ; 89 ca 5469 5445 mov ax, si ; 89 f0 5470 call 02f 77h ; e8 63 005446 call 02f34h ; e8 63 00 5471 5447 mov dx, 003c6h ; ba c6 03 5472 5448 out DX, AL ; ee … … 5477 5453 xor ah, ah ; 30 e4 5478 5454 mov word [bp-008h], ax ; 89 46 f8 5479 jmp short 02 f2dh ; eb 075455 jmp short 02eeah ; eb 07 5480 5456 cmp word [bp-008h], 00300h ; 81 7e f8 00 03 5481 jnc short 02 f3eh ; 73 115482 mov dx, cx ; 89 ca 5483 mov ax, si ; 89 f0 5484 call 02f 77h ; e8 43 005457 jnc short 02efbh ; 73 11 5458 mov dx, cx ; 89 ca 5459 mov ax, si ; 89 f0 5460 call 02f34h ; e8 43 00 5485 5461 mov dx, 003c9h ; ba c9 03 5486 5462 out DX, AL ; ee 5487 5463 inc cx ; 41 5488 5464 inc word [bp-008h] ; ff 46 f8 5489 jmp short 02 f26h ; eb e85465 jmp short 02ee3h ; eb e8 5490 5466 inc cx ; 41 5491 5467 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5499 5475 pop bp ; 5d 5500 5476 retn ; c3 5501 find_vga_entry_: ; 0xc2f 50LB 0x275477 find_vga_entry_: ; 0xc2f0d LB 0x27 5502 5478 push bx ; 53 5503 5479 push dx ; 52 … … 5507 5483 mov AH, strict byte 0ffh ; b4 ff 5508 5484 xor al, al ; 30 c0 5509 jmp short 02f 63h ; eb 065485 jmp short 02f20h ; eb 06 5510 5486 db 0feh, 0c0h 5511 5487 ; inc al ; fe c0 5512 5488 cmp AL, strict byte 00fh ; 3c 0f 5513 jnbe short 02f 71h ; 77 0e5489 jnbe short 02f2eh ; 77 0e 5514 5490 movzx bx, al ; 0f b6 d8 5515 5491 sal bx, 003h ; c1 e3 03 5516 5492 cmp dl, byte [bx+0482fh] ; 3a 97 2f 48 5517 jne short 02f 5dh ; 75 ee5493 jne short 02f1ah ; 75 ee 5518 5494 mov ah, al ; 88 c4 5519 5495 mov al, ah ; 88 e0 … … 5522 5498 pop bx ; 5b 5523 5499 retn ; c3 5524 read_byte_: ; 0xc2f 77LB 0xe5500 read_byte_: ; 0xc2f34 LB 0xe 5525 5501 push bx ; 53 5526 5502 push bp ; 55 … … 5532 5508 pop bx ; 5b 5533 5509 retn ; c3 5534 write_byte_: ; 0xc2f 85LB 0xe5510 write_byte_: ; 0xc2f42 LB 0xe 5535 5511 push si ; 56 5536 5512 push bp ; 55 … … 5542 5518 pop si ; 5e 5543 5519 retn ; c3 5544 read_word_: ; 0xc2f 93LB 0xe5520 read_word_: ; 0xc2f50 LB 0xe 5545 5521 push bx ; 53 5546 5522 push bp ; 55 … … 5552 5528 pop bx ; 5b 5553 5529 retn ; c3 5554 write_word_: ; 0xc2f a1LB 0xe5530 write_word_: ; 0xc2f5e LB 0xe 5555 5531 push si ; 56 5556 5532 push bp ; 55 … … 5562 5538 pop si ; 5e 5563 5539 retn ; c3 5564 read_dword_: ; 0xc2f afLB 0x125540 read_dword_: ; 0xc2f6c LB 0x12 5565 5541 push bx ; 53 5566 5542 push bp ; 55 … … 5573 5549 pop bx ; 5b 5574 5550 retn ; c3 5575 write_dword_: ; 0xc2f c1LB 0x7f5551 write_dword_: ; 0xc2f7e LB 0x7f 5576 5552 push si ; 56 5577 5553 push bp ; 55 … … 5595 5571 add ax, 00304h ; 05 04 03 5596 5572 add al, byte [bx+di] ; 02 01 5597 add byte [bp+di], al ; 00 03 5598 xor AL, strict byte 06eh ; 34 6e 5599 xor byte [si-03fd0h], ch ; 30 ac 30 c0 5600 xor cl, dl ; 30 d1 5601 xor ch, ah ; 30 e5 5602 xor dh, dh ; 30 f6 5603 xor byte [bx+si], al ; 30 00 5604 xor word [bp+si], di ; 31 3a 5605 xor word [04f31h], di ; 31 3e 31 4f 5606 xor word [si+031h], bp ; 31 6c 31 5607 mov word [bx+di], si ; 89 31 5608 test ax, 0c631h ; a9 31 c6 5609 xor bp, bx ; 31 dd 5610 xor cx, bp ; 31 e9 5611 xor sp, ax ; 31 c4 5612 db 032h, 0ffh 5613 ; xor bh, bh ; 32 ff 5614 xor ch, byte [bx] ; 32 2f 5615 xor ax, word [si+033h] ; 33 44 33 5616 xchg byte [bp+di], dh ; 86 33 5573 add al, al ; 00 c0 5574 xor bp, word [bp+di] ; 33 2b 5575 xor byte [bx+di+030h], ch ; 30 69 30 5576 jnl short 02fddh ; 7d 30 5577 db 08eh 5578 xor byte [bp+si-04cd0h], ah ; 30 a2 30 b3 5579 xor byte [di-008d0h], bh ; 30 bd 30 f7 5580 xor bl, bh ; 30 fb 5581 xor byte [si], cl ; 30 0c 5582 xor word [bx+di], bp ; 31 29 5583 xor word [bp+031h], ax ; 31 46 31 5584 xor dword [bp+di-065cfh], eax ; 66 31 83 31 9a 5585 xor word [bp-07ecfh], sp ; 31 a6 31 81 5586 xor bh, byte [si-013ceh] ; 32 bc 32 ec 5587 xor al, byte [bx+di] ; 32 01 5588 xor ax, word [bp+di+033h] ; 33 43 33 5617 5589 xor byte [si], ah ; 30 24 5618 5590 and sp, word [bp+si] ; 23 22 … … 5622 5594 add AL, strict byte 002h ; 04 02 5623 5595 add word [bx+si], ax ; 01 00 5624 add si, word [si] ; 03 34 5625 or dh, byte [bp+si] ; 0a 32 5626 xor byte [bp+si], dh ; 30 32 5627 inc cx ; 41 5628 xor dl, byte [bp+si+032h] ; 32 52 32 5629 or dh, byte [bp+si] ; 0a 32 5630 xor byte [bp+si], dh ; 30 32 5631 inc cx ; 41 5632 xor dl, byte [bp+si+032h] ; 32 52 32 5633 arpl word [bp+si], si ; 63 32 5634 outsw ; 6f 5635 xor cl, byte [bp+si-06aceh] ; 32 8a 32 95 5636 xor ah, byte [bx+si-054ceh] ; 32 a0 32 ab 5596 db 0c0h, 033h, 0c7h 5597 ; sal byte [bp+di], 0c7h ; c0 33 c7 5598 xor bp, bp ; 31 ed 5599 xor si, di ; 31 fe 5600 xor word [bx], cx ; 31 0f 5601 db 032h, 0c7h 5602 ; xor al, bh ; 32 c7 5603 xor bp, bp ; 31 ed 5604 xor si, di ; 31 fe 5605 xor word [bx], cx ; 31 0f 5606 xor ah, byte [bx+si] ; 32 20 5607 xor ch, byte [si] ; 32 2c 5608 xor al, byte [bx+032h] ; 32 47 32 5609 push dx ; 52 5610 xor bl, byte [di+032h] ; 32 5d 32 5611 db 068h 5637 5612 db 032h 5638 _int10_func: ; 0xc 3040LB 0x3ca5613 _int10_func: ; 0xc2ffd LB 0x3ca 5639 5614 push bp ; 55 5640 5615 mov bp, sp ; 89 e5 … … 5646 5621 shr ax, 008h ; c1 e8 08 5647 5622 cmp ax, strict word 0004fh ; 3d 4f 00 5648 jnbe near 03 403h ; 0f 87 ad 035623 jnbe near 033c0h ; 0f 87 ad 03 5649 5624 push CS ; 0e 5650 5625 pop ES ; 07 5651 5626 mov cx, strict word 00016h ; b9 16 00 5652 mov di, 02f d3h ; bf d32f5627 mov di, 02f90h ; bf 90 2f 5653 5628 repne scasb ; f2 ae 5654 5629 sal cx, 1 ; d1 e1 5655 5630 mov di, cx ; 89 cf 5656 mov ax, word [cs:di+02f e8h] ; 2e 8b 85 e82f5631 mov ax, word [cs:di+02fa5h] ; 2e 8b 85 a5 2f 5657 5632 mov cl, byte [bp+012h] ; 8a 4e 12 5658 5633 jmp ax ; ff e0 5659 5634 mov al, byte [bp+012h] ; 8a 46 12 5660 5635 xor ah, ah ; 30 e4 5661 call 00fdch ; e8 66df5636 call 00fdch ; e8 a9 df 5662 5637 mov ax, word [bp+012h] ; 8b 46 12 5663 5638 and ax, strict word 0007fh ; 25 7f 00 5664 5639 cmp ax, strict word 00007h ; 3d 07 00 5665 je short 030 96h ; 74 155640 je short 03053h ; 74 15 5666 5641 cmp ax, strict word 00006h ; 3d 06 00 5667 je short 030 8dh ; 74 075642 je short 0304ah ; 74 07 5668 5643 cmp ax, strict word 00005h ; 3d 05 00 5669 jbe short 030 96h ; 76 0b5670 jmp short 030 9fh ; eb 125644 jbe short 03053h ; 76 0b 5645 jmp short 0305ch ; eb 12 5671 5646 mov ax, word [bp+012h] ; 8b 46 12 5672 5647 xor al, al ; 30 c0 5673 5648 or AL, strict byte 03fh ; 0c 3f 5674 jmp short 030 a6h ; eb 105649 jmp short 03063h ; eb 10 5675 5650 mov ax, word [bp+012h] ; 8b 46 12 5676 5651 xor al, al ; 30 c0 5677 5652 or AL, strict byte 030h ; 0c 30 5678 jmp short 030 a6h ; eb 075653 jmp short 03063h ; eb 07 5679 5654 mov ax, word [bp+012h] ; 8b 46 12 5680 5655 xor al, al ; 30 c0 5681 5656 or AL, strict byte 020h ; 0c 20 5682 5657 mov word [bp+012h], ax ; 89 46 12 5683 jmp near 03 403h ; e9 57 035658 jmp near 033c0h ; e9 57 03 5684 5659 mov al, byte [bp+010h] ; 8a 46 10 5685 5660 movzx dx, al ; 0f b6 d0 … … 5687 5662 shr ax, 008h ; c1 e8 08 5688 5663 xor ah, ah ; 30 e4 5689 call 00dbah ; e8 fd dc5690 jmp near 03 403h ; e9 43 035664 call 00dbah ; e8 40 dd 5665 jmp near 033c0h ; e9 43 03 5691 5666 mov dx, word [bp+00eh] ; 8b 56 0e 5692 5667 mov ax, word [bp+00ch] ; 8b 46 0c 5693 5668 shr ax, 008h ; c1 e8 08 5694 5669 xor ah, ah ; 30 e4 5695 call 00e5eh ; e8 90dd5696 jmp near 03 403h ; e9 32 035670 call 00e5eh ; e8 d3 dd 5671 jmp near 033c0h ; e9 32 03 5697 5672 lea bx, [bp+00eh] ; 8d 5e 0e 5698 5673 lea dx, [bp+010h] ; 8d 56 10 … … 5700 5675 shr ax, 008h ; c1 e8 08 5701 5676 xor ah, ah ; 30 e4 5702 call 00a88h ; e8 a6d95703 jmp near 03 403h ; e9 1e 035677 call 00a88h ; e8 e9 d9 5678 jmp near 033c0h ; e9 1e 03 5704 5679 xor ax, ax ; 31 c0 5705 5680 mov word [bp+012h], ax ; 89 46 12 … … 5707 5682 mov word [bp+010h], ax ; 89 46 10 5708 5683 mov word [bp+00eh], ax ; 89 46 0e 5709 jmp near 03 403h ; e9 0d 035684 jmp near 033c0h ; e9 0d 03 5710 5685 mov al, cl ; 88 c8 5711 5686 xor ah, ah ; 30 e4 5712 call 00f00h ; e8 03de5713 jmp near 03 403h ; e9 03 035687 call 00f00h ; e8 46 de 5688 jmp near 033c0h ; e9 03 03 5714 5689 mov ax, strict word 00001h ; b8 01 00 5715 5690 push ax ; 50 … … 5733 5708 mov al, byte [bp+012h] ; 8a 46 12 5734 5709 xor ah, ah ; 30 e4 5735 call 01568h ; e8 31e45736 jmp near 03 403h ; e9 c9 025710 call 01568h ; e8 74 e4 5711 jmp near 033c0h ; e9 c9 02 5737 5712 xor ax, ax ; 31 c0 5738 jmp short 03 103h ; eb c55713 jmp short 030c0h ; eb c5 5739 5714 lea dx, [bp+012h] ; 8d 56 12 5740 5715 mov ax, word [bp+00ch] ; 8b 46 0c 5741 5716 shr ax, 008h ; c1 e8 08 5742 5717 xor ah, ah ; 30 e4 5743 call 00acbh ; e8 7fd95744 jmp near 03 403h ; e9 b4 025718 call 00acbh ; e8 c2 d9 5719 jmp near 033c0h ; e9 b4 02 5745 5720 mov cx, word [bp+010h] ; 8b 4e 10 5746 5721 mov al, byte [bp+00ch] ; 8a 46 0c … … 5751 5726 mov al, byte [bp+012h] ; 8a 46 12 5752 5727 xor ah, ah ; 30 e4 5753 call 01d08h ; e8 9feb5754 jmp near 03 403h ; e9 97 025728 call 01d08h ; e8 e2 eb 5729 jmp near 033c0h ; e9 97 02 5755 5730 mov cx, word [bp+010h] ; 8b 4e 10 5756 5731 mov al, byte [bp+00ch] ; 8a 46 0c … … 5761 5736 mov al, byte [bp+012h] ; 8a 46 12 5762 5737 xor ah, ah ; 30 e4 5763 call 01e70h ; e8 ea ec5764 jmp near 03 403h ; e9 7a 025738 call 01e70h ; e8 2d ed 5739 jmp near 033c0h ; e9 7a 02 5765 5740 mov cx, word [bp+00eh] ; 8b 4e 0e 5766 5741 mov bx, word [bp+010h] ; 8b 5e 10 … … 5772 5747 mov al, byte [bp-006h] ; 8a 46 fa 5773 5748 xor ah, ah ; 30 e4 5774 call 01fdfh ; e8 39ee5775 jmp near 03 403h ; e9 5a 025749 call 01fdfh ; e8 7c ee 5750 jmp near 033c0h ; e9 5a 02 5776 5751 lea cx, [bp+012h] ; 8d 4e 12 5777 5752 mov bx, word [bp+00eh] ; 8b 5e 0e … … 5782 5757 mov al, byte [bp-006h] ; 8a 46 fa 5783 5758 xor ah, ah ; 30 e4 5784 call 00bf5h ; e8 32da5785 jmp near 03 403h ; e9 3d 025759 call 00bf5h ; e8 75 da 5760 jmp near 033c0h ; e9 3d 02 5786 5761 mov cx, strict word 00002h ; b9 02 00 5787 5762 mov al, byte [bp+00ch] ; 8a 46 0c … … 5790 5765 mov al, byte [bp+012h] ; 8a 46 12 5791 5766 xor ah, ah ; 30 e4 5792 call 02149h ; e8 6fef5793 jmp near 03 403h ; e9 26 025767 call 02149h ; e8 b2 ef 5768 jmp near 033c0h ; e9 26 02 5794 5769 mov dx, word [bp+010h] ; 8b 56 10 5795 5770 mov ax, word [bp+00ch] ; 8b 46 0c 5796 call 00d2eh ; e8 48db5797 jmp near 03 403h ; e9 1a 025771 call 00d2eh ; e8 8b db 5772 jmp near 033c0h ; e9 1a 02 5798 5773 mov ax, word [bp+012h] ; 8b 46 12 5799 5774 xor ah, ah ; 30 e4 5800 5775 cmp ax, strict word 00030h ; 3d 30 00 5801 jnbe near 03 403h ; 0f 87 0e 025776 jnbe near 033c0h ; 0f 87 0e 02 5802 5777 push CS ; 0e 5803 5778 pop ES ; 07 5804 5779 mov cx, strict word 0000fh ; b9 0f 00 5805 mov di, 0 3014h ; bf 14 305780 mov di, 02fd1h ; bf d1 2f 5806 5781 repne scasb ; f2 ae 5807 5782 sal cx, 1 ; d1 e1 5808 5783 mov di, cx ; 89 cf 5809 mov ax, word [cs:di+0 3022h] ; 2e 8b 85 22 305784 mov ax, word [cs:di+02fdfh] ; 2e 8b 85 df 2f 5810 5785 jmp ax ; ff e0 5811 5786 mov ax, word [bp+00ch] ; 8b 46 0c … … 5822 5797 mov bx, word [bp+008h] ; 8b 5e 08 5823 5798 mov dx, word [bp+016h] ; 8b 56 16 5824 call 024 f4h ; e8 c7 f25825 jmp near 03 403h ; e9 d3 015799 call 024b1h ; e8 c7 f2 5800 jmp near 033c0h ; e9 d3 01 5826 5801 mov al, byte [bp+00ch] ; 8a 46 0c 5827 5802 movzx dx, al ; 0f b6 d0 5828 5803 mov al, byte [bp+012h] ; 8a 46 12 5829 5804 xor ah, ah ; 30 e4 5830 call 025 71h ; e8 33 f35831 jmp near 03 403h ; e9 c2 015805 call 0252eh ; e8 33 f3 5806 jmp near 033c0h ; e9 c2 01 5832 5807 mov al, byte [bp+00ch] ; 8a 46 0c 5833 5808 movzx dx, al ; 0f b6 d0 5834 5809 mov al, byte [bp+012h] ; 8a 46 12 5835 5810 xor ah, ah ; 30 e4 5836 call 025 e1h ; e8 92 f35837 jmp near 03 403h ; e9 b1 015811 call 0259eh ; e8 92 f3 5812 jmp near 033c0h ; e9 b1 01 5838 5813 mov al, byte [bp+00ch] ; 8a 46 0c 5839 5814 movzx dx, al ; 0f b6 d0 5840 5815 mov al, byte [bp+012h] ; 8a 46 12 5841 5816 xor ah, ah ; 30 e4 5842 call 026 53h ; e8 f3 f35843 jmp near 03 403h ; e9 a0 015817 call 02610h ; e8 f3 f3 5818 jmp near 033c0h ; e9 a0 01 5844 5819 mov dx, word [bp+008h] ; 8b 56 08 5845 5820 mov ax, word [bp+016h] ; 8b 46 16 5846 call 026 c5h ; e8 59 f45847 jmp near 03 403h ; e9 94 015821 call 02682h ; e8 59 f4 5822 jmp near 033c0h ; e9 94 01 5848 5823 mov al, byte [bp+00eh] ; 8a 46 0e 5849 5824 xor ah, ah ; 30 e4 … … 5854 5829 mov dx, word [bp+008h] ; 8b 56 08 5855 5830 mov ax, word [bp+016h] ; 8b 46 16 5856 call 026 cah ; e8 43 f45857 jmp near 03 403h ; e9 79 015831 call 02687h ; e8 43 f4 5832 jmp near 033c0h ; e9 79 01 5858 5833 mov al, byte [bp+00ch] ; 8a 46 0c 5859 5834 xor ah, ah ; 30 e4 5860 call 026 d1h ; e8 3f f45861 jmp near 03 403h ; e9 6e 015835 call 0268eh ; e8 3f f4 5836 jmp near 033c0h ; e9 6e 01 5862 5837 mov al, byte [bp+00ch] ; 8a 46 0c 5863 5838 xor ah, ah ; 30 e4 5864 call 026 d6h ; e8 39 f45865 jmp near 03 403h ; e9 63 015839 call 02693h ; e8 39 f4 5840 jmp near 033c0h ; e9 63 01 5866 5841 mov al, byte [bp+00ch] ; 8a 46 0c 5867 5842 xor ah, ah ; 30 e4 5868 call 026 dbh ; e8 33 f45869 jmp near 03 403h ; e9 58 015843 call 02698h ; e8 33 f4 5844 jmp near 033c0h ; e9 58 01 5870 5845 lea ax, [bp+00eh] ; 8d 46 0e 5871 5846 push ax ; 50 … … 5875 5850 mov ax, word [bp+00ch] ; 8b 46 0c 5876 5851 shr ax, 008h ; c1 e8 08 5877 call 00b73h ; e8 b2d85878 jmp near 03 403h ; e9 3f 015852 call 00b73h ; e8 f5 d8 5853 jmp near 033c0h ; e9 3f 01 5879 5854 mov ax, word [bp+00ch] ; 8b 46 0c 5880 5855 xor ah, ah ; 30 e4 5881 5856 cmp ax, strict word 00036h ; 3d 36 00 5882 je short 032 f6h ; 74 285857 je short 032b3h ; 74 28 5883 5858 cmp ax, strict word 00035h ; 3d 35 00 5884 je short 032 e0h ; 74 0d5859 je short 0329dh ; 74 0d 5885 5860 cmp ax, strict word 00020h ; 3d 20 00 5886 jne near 03 403h ; 0f 85 29 015887 call 026 e0h ; e8 03 f45888 jmp near 03 403h ; e9 23 015861 jne near 033c0h ; 0f 85 29 01 5862 call 0269dh ; e8 03 f4 5863 jmp near 033c0h ; e9 23 01 5889 5864 movzx ax, cl ; 0f b6 c1 5890 5865 mov bx, word [bp+00eh] ; 8b 5e 0e 5891 5866 mov dx, word [bp+016h] ; 8b 56 16 5892 call 026 e5h ; e8 f9 f35867 call 026a2h ; e8 f9 f3 5893 5868 mov ax, word [bp+012h] ; 8b 46 12 5894 5869 xor al, al ; 30 c0 5895 5870 or AL, strict byte 012h ; 0c 12 5896 jmp near 030 a6h ; e9 b0 fd5871 jmp near 03063h ; e9 b0 fd 5897 5872 mov al, cl ; 88 c8 5898 5873 xor ah, ah ; 30 e4 5899 call 026 eah ; e8 ed f35900 jmp short 032 ech ; eb ed5874 call 026a7h ; e8 ed f3 5875 jmp short 032a9h ; eb ed 5901 5876 push word [bp+008h] ; ff 76 08 5902 5877 push word [bp+016h] ; ff 76 16 … … 5915 5890 movzx ax, cl ; 0f b6 c1 5916 5891 mov cx, word [bp+010h] ; 8b 4e 10 5917 call 026 efh ; e8 c3 f35918 jmp near 03 403h ; e9 d4 005892 call 026ach ; e8 c3 f3 5893 jmp near 033c0h ; e9 d4 00 5919 5894 mov bx, si ; 89 f3 5920 5895 mov dx, word [bp+016h] ; 8b 56 16 5921 5896 mov ax, word [bp+00ch] ; 8b 46 0c 5922 call 027 8bh ; e8 51 f45897 call 02748h ; e8 51 f4 5923 5898 mov ax, word [bp+012h] ; 8b 46 12 5924 5899 xor al, al ; 30 c0 5925 5900 or AL, strict byte 01bh ; 0c 1b 5926 jmp near 030 a6h ; e9 62 fd5901 jmp near 03063h ; e9 62 fd 5927 5902 mov ax, word [bp+012h] ; 8b 46 12 5928 5903 xor ah, ah ; 30 e4 5929 5904 cmp ax, strict word 00002h ; 3d 02 00 5930 je short 033 70h ; 74 225905 je short 0332dh ; 74 22 5931 5906 cmp ax, strict word 00001h ; 3d 01 00 5932 je short 033 62h ; 74 0f5907 je short 0331fh ; 74 0f 5933 5908 test ax, ax ; 85 c0 5934 jne short 033 7ch ; 75 255909 jne short 03339h ; 75 25 5935 5910 lea dx, [bp+00ch] ; 8d 56 0c 5936 5911 mov ax, word [bp+010h] ; 8b 46 10 5937 call 028 afh ; e8 4f f55938 jmp short 033 7ch ; eb 1a5912 call 0286ch ; e8 4f f5 5913 jmp short 03339h ; eb 1a 5939 5914 mov bx, word [bp+00ch] ; 8b 5e 0c 5940 5915 mov dx, word [bp+016h] ; 8b 56 16 5941 5916 mov ax, word [bp+010h] ; 8b 46 10 5942 call 028 c1h ; e8 53 f55943 jmp short 033 7ch ; eb 0c5917 call 0287eh ; e8 53 f5 5918 jmp short 03339h ; eb 0c 5944 5919 mov bx, word [bp+00ch] ; 8b 5e 0c 5945 5920 mov dx, word [bp+016h] ; 8b 56 16 5946 5921 mov ax, word [bp+010h] ; 8b 46 10 5947 call 02 c2ah ; e8 ae f85922 call 02be7h ; e8 ae f8 5948 5923 mov ax, word [bp+012h] ; 8b 46 12 5949 5924 xor al, al ; 30 c0 5950 5925 or AL, strict byte 01ch ; 0c 1c 5951 jmp near 030 a6h ; e9 20 fd5952 call 007a4h ; e8 1bd45926 jmp near 03063h ; e9 20 fd 5927 call 007a4h ; e8 5e d4 5953 5928 test ax, ax ; 85 c0 5954 je near 033 feh ; 0f 84 6f 005929 je near 033bbh ; 0f 84 6f 00 5955 5930 mov ax, word [bp+012h] ; 8b 46 12 5956 5931 xor ah, ah ; 30 e4 5957 5932 cmp ax, strict word 00002h ; 3d 02 00 5958 jc short 033 ach ; 72 135959 jbe short 033 d2h ; 76 375933 jc short 03369h ; 72 13 5934 jbe short 0338fh ; 76 37 5960 5935 cmp ax, strict word 0000ah ; 3d 0a 00 5961 je short 033 f7h ; 74 575936 je short 033b4h ; 74 57 5962 5937 cmp ax, strict word 00009h ; 3d 09 00 5963 je short 033 f7h ; 74 525938 je short 033b4h ; 74 52 5964 5939 cmp ax, strict word 00004h ; 3d 04 00 5965 je short 033 e2h ; 74 385966 jmp short 033 f7h ; eb 4b5940 je short 0339fh ; 74 38 5941 jmp short 033b4h ; eb 4b 5967 5942 cmp ax, strict word 00001h ; 3d 01 00 5968 je short 033 c2h ; 74 115943 je short 0337fh ; 74 11 5969 5944 test ax, ax ; 85 c0 5970 jne short 033 f7h ; 75 425945 jne short 033b4h ; 75 42 5971 5946 mov bx, si ; 89 f3 5972 5947 mov dx, word [bp+016h] ; 8b 56 16 5973 5948 lea ax, [bp+012h] ; 8d 46 12 5974 call 03 530h ; e8 70 015975 jmp short 03 403h ; eb 415949 call 034edh ; e8 70 01 5950 jmp short 033c0h ; eb 41 5976 5951 mov cx, si ; 89 f1 5977 5952 mov bx, word [bp+016h] ; 8b 5e 16 5978 5953 mov dx, word [bp+010h] ; 8b 56 10 5979 5954 lea ax, [bp+012h] ; 8d 46 12 5980 call 036 59h ; e8 89 025981 jmp short 03 403h ; eb 315955 call 03616h ; e8 89 02 5956 jmp short 033c0h ; eb 31 5982 5957 mov cx, si ; 89 f1 5983 5958 mov bx, word [bp+016h] ; 8b 5e 16 5984 5959 mov dx, word [bp+00ch] ; 8b 56 0c 5985 5960 lea ax, [bp+012h] ; 8d 46 12 5986 call 03 70dh ; e8 2d 035987 jmp short 03 403h ; eb 215961 call 036cah ; e8 2d 03 5962 jmp short 033c0h ; eb 21 5988 5963 lea ax, [bp+00ch] ; 8d 46 0c 5989 5964 push ax ; 50 … … 5992 5967 mov dx, word [bp+010h] ; 8b 56 10 5993 5968 lea ax, [bp+012h] ; 8d 46 12 5994 call 038 f4h ; e8 ff 045995 jmp short 03 403h ; eb 0c5969 call 038b1h ; e8 ff 04 5970 jmp short 033c0h ; eb 0c 5996 5971 mov word [bp+012h], 00100h ; c7 46 12 00 01 5997 jmp short 03 403h ; eb 055972 jmp short 033c0h ; eb 05 5998 5973 mov word [bp+012h], 00100h ; c7 46 12 00 01 5999 5974 lea sp, [bp-004h] ; 8d 66 fc … … 6002 5977 pop bp ; 5d 6003 5978 retn ; c3 6004 dispi_set_xres_: ; 0xc3 40aLB 0x1b5979 dispi_set_xres_: ; 0xc33c7 LB 0x1b 6005 5980 push bp ; 55 6006 5981 mov bp, sp ; 89 e5 … … 6019 5994 pop bp ; 5d 6020 5995 retn ; c3 6021 dispi_set_yres_: ; 0xc3 425LB 0x1b5996 dispi_set_yres_: ; 0xc33e2 LB 0x1b 6022 5997 push bp ; 55 6023 5998 mov bp, sp ; 89 e5 … … 6036 6011 pop bp ; 5d 6037 6012 retn ; c3 6038 dispi_set_bpp_: ; 0xc3 440LB 0x1b6013 dispi_set_bpp_: ; 0xc33fd LB 0x1b 6039 6014 push bp ; 55 6040 6015 mov bp, sp ; 89 e5 … … 6053 6028 pop bp ; 5d 6054 6029 retn ; c3 6055 in_word_: ; 0xc34 5bLB 0x126030 in_word_: ; 0xc3418 LB 0x12 6056 6031 push bp ; 55 6057 6032 mov bp, sp ; 89 e5 … … 6066 6041 pop bp ; 5d 6067 6042 retn ; c3 6068 in_byte_: ; 0xc34 6dLB 0x146043 in_byte_: ; 0xc342a LB 0x14 6069 6044 push bp ; 55 6070 6045 mov bp, sp ; 89 e5 … … 6081 6056 pop bp ; 5d 6082 6057 retn ; c3 6083 dispi_get_id_: ; 0xc34 81LB 0x146058 dispi_get_id_: ; 0xc343e LB 0x14 6084 6059 push bp ; 55 6085 6060 mov bp, sp ; 89 e5 … … 6094 6069 pop bp ; 5d 6095 6070 retn ; c3 6096 dispi_set_id_: ; 0xc34 95LB 0x1a6071 dispi_set_id_: ; 0xc3452 LB 0x1a 6097 6072 push bp ; 55 6098 6073 mov bp, sp ; 89 e5 … … 6111 6086 pop bp ; 5d 6112 6087 retn ; c3 6113 vbe_init_: ; 0xc34 afLB 0x2c6088 vbe_init_: ; 0xc346c LB 0x2c 6114 6089 push bp ; 55 6115 6090 mov bp, sp ; 89 e5 … … 6117 6092 push dx ; 52 6118 6093 mov ax, 0b0c0h ; b8 c0 b0 6119 call 034 95h ; e8 db ff6120 call 034 81h ; e8 c4 ff6094 call 03452h ; e8 db ff 6095 call 0343eh ; e8 c4 ff 6121 6096 cmp ax, 0b0c0h ; 3d c0 b0 6122 jne short 034 d4h ; 75 126097 jne short 03491h ; 75 12 6123 6098 mov bx, strict word 00001h ; bb 01 00 6124 6099 mov dx, 000b9h ; ba b9 00 6125 6100 mov ax, strict word 00040h ; b8 40 00 6126 call 02f 85h ; e8 b7 fa6101 call 02f42h ; e8 b7 fa 6127 6102 mov ax, 0b0c4h ; b8 c4 b0 6128 call 034 95h ; e8 c1 ff6103 call 03452h ; e8 c1 ff 6129 6104 lea sp, [bp-004h] ; 8d 66 fc 6130 6105 pop dx ; 5a … … 6132 6107 pop bp ; 5d 6133 6108 retn ; c3 6134 mode_info_find_mode_: ; 0xc34 dbLB 0x556109 mode_info_find_mode_: ; 0xc3498 LB 0x55 6135 6110 push bp ; 55 6136 6111 mov bp, sp ; 89 e5 … … 6143 6118 xor dx, dx ; 31 d2 6144 6119 mov ax, 003b6h ; b8 b6 03 6145 call 034 5bh ; e8 6d ff6120 call 03418h ; e8 6d ff 6146 6121 cmp ax, 077cch ; 3d cc 77 6147 jne short 03 525h ; 75 326122 jne short 034e2h ; 75 32 6148 6123 mov bx, strict word 00004h ; bb 04 00 6149 6124 mov dx, bx ; 89 da 6150 6125 mov ax, 003b6h ; b8 b6 03 6151 call 034 5bh ; e8 5d ff6126 call 03418h ; e8 5d ff 6152 6127 mov cx, ax ; 89 c1 6153 6128 cmp cx, strict byte 0ffffh ; 83 f9 ff 6154 je short 03 525h ; 74 206129 je short 034e2h ; 74 20 6155 6130 lea dx, [bx+002h] ; 8d 57 02 6156 6131 mov ax, 003b6h ; b8 b6 03 6157 call 034 5bh ; e8 4d ff6132 call 03418h ; e8 4d ff 6158 6133 lea dx, [bx+044h] ; 8d 57 44 6159 6134 cmp cx, di ; 39 f9 6160 jne short 03 521h ; 75 0c6135 jne short 034deh ; 75 0c 6161 6136 test si, si ; 85 f6 6162 jne short 03 51dh ; 75 046137 jne short 034dah ; 75 04 6163 6138 mov ax, bx ; 89 d8 6164 jmp short 03 527h ; eb 0a6139 jmp short 034e4h ; eb 0a 6165 6140 test AL, strict byte 080h ; a8 80 6166 jne short 03 519h ; 75 f86141 jne short 034d6h ; 75 f8 6167 6142 mov bx, dx ; 89 d3 6168 jmp short 034 f8h ; eb d36143 jmp short 034b5h ; eb d3 6169 6144 xor ax, ax ; 31 c0 6170 6145 lea sp, [bp-008h] ; 8d 66 f8 … … 6175 6150 pop bp ; 5d 6176 6151 retn ; c3 6177 vbe_biosfn_return_controller_information_: ; 0xc3 530LB 0x1296152 vbe_biosfn_return_controller_information_: ; 0xc34ed LB 0x129 6178 6153 push bp ; 55 6179 6154 mov bp, sp ; 89 e5 … … 6186 6161 mov word [bp-00ah], bx ; 89 5e f6 6187 6162 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6188 call 005a7h ; e8 5fd06163 call 005a7h ; e8 a2 d0 6189 6164 mov word [bp-010h], ax ; 89 46 f0 6190 6165 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6192 6167 xor dx, dx ; 31 d2 6193 6168 mov ax, 003b6h ; b8 b6 03 6194 call 034 5bh ; e8 02 ff6169 call 03418h ; e8 02 ff 6195 6170 cmp ax, 077cch ; 3d cc 77 6196 je short 035 68h ; 74 0a6171 je short 03525h ; 74 0a 6197 6172 push SS ; 16 6198 6173 pop ES ; 07 6199 6174 mov word [es:si], 00100h ; 26 c7 04 00 01 6200 jmp near 036 51h ; e9 e9 006175 jmp near 0360eh ; e9 e9 00 6201 6176 mov cx, strict word 00004h ; b9 04 00 6202 6177 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6203 6178 mov es, [bp-008h] ; 8e 46 f8 6204 6179 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6205 jne short 035 82h ; 75 076180 jne short 0353fh ; 75 07 6206 6181 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6207 je short 035 91h ; 74 0f6182 je short 0354eh ; 74 0f 6208 6183 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6209 jne short 035 96h ; 75 0c6184 jne short 03553h ; 75 0c 6210 6185 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6211 jne short 035 96h ; 75 056186 jne short 03553h ; 75 05 6212 6187 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6213 6188 mov es, [bp-008h] ; 8e 46 f8 … … 6225 6200 mov dx, strict word 0ffffh ; ba ff ff 6226 6201 mov ax, 003b6h ; b8 b6 03 6227 call 034 5bh ; e8 8a fe6202 call 03418h ; e8 8a fe 6228 6203 mov es, [bp-008h] ; 8e 46 f8 6229 6204 mov word [es:bx+012h], ax ; 26 89 47 12 6230 6205 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6231 je short 03 602h ; 74 246206 je short 035bfh ; 74 24 6232 6207 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6233 6208 mov word [es:bx+016h], 07e35h ; 26 c7 47 16 35 7e … … 6240 6215 add dx, strict byte 0001bh ; 83 c2 1b 6241 6216 mov ax, 003b6h ; b8 b6 03 6242 call 034 6dh ; e8 60 fe6217 call 0342ah ; e8 60 fe 6243 6218 xor ah, ah ; 30 e4 6244 6219 cmp ax, word [bp-010h] ; 3b 46 f0 6245 jnbe short 03 62dh ; 77 196220 jnbe short 035eah ; 77 19 6246 6221 mov dx, cx ; 89 ca 6247 6222 mov ax, 003b6h ; b8 b6 03 6248 call 034 5bh ; e8 3f fe6223 call 03418h ; e8 3f fe 6249 6224 mov bx, ax ; 89 c3 6250 6225 mov dx, word [bp-00ah] ; 8b 56 f6 6251 6226 add dx, word [bp-00ch] ; 03 56 f4 6252 6227 mov ax, di ; 89 f8 6253 call 02f a1h ; e8 78 f96228 call 02f5eh ; e8 78 f9 6254 6229 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6255 6230 add cx, strict byte 00044h ; 83 c1 44 6256 6231 mov dx, cx ; 89 ca 6257 6232 mov ax, 003b6h ; b8 b6 03 6258 call 034 5bh ; e8 23 fe6233 call 03418h ; e8 23 fe 6259 6234 mov bx, ax ; 89 c3 6260 6235 cmp ax, strict word 0ffffh ; 3d ff ff 6261 jne short 03 602h ; 75 c36236 jne short 035bfh ; 75 c3 6262 6237 mov dx, word [bp-00ah] ; 8b 56 f6 6263 6238 add dx, word [bp-00ch] ; 03 56 f4 6264 6239 mov ax, di ; 89 f8 6265 call 02f a1h ; e8 57 f96240 call 02f5eh ; e8 57 f9 6266 6241 push SS ; 16 6267 6242 pop ES ; 07 … … 6273 6248 pop bp ; 5d 6274 6249 retn ; c3 6275 vbe_biosfn_return_mode_information_: ; 0xc36 59LB 0xb46250 vbe_biosfn_return_mode_information_: ; 0xc3616 LB 0xb4 6276 6251 push bp ; 55 6277 6252 mov bp, sp ; 89 e5 … … 6289 6264 xor dh, dh ; 30 f6 6290 6265 and ah, 001h ; 80 e4 01 6291 call 034 dbh ; e8 65 fe6266 call 03498h ; e8 65 fe 6292 6267 mov word [bp-008h], ax ; 89 46 f8 6293 6268 test ax, ax ; 85 c0 6294 je near 036 fbh ; 0f 84 7c 006269 je near 036b8h ; 0f 84 7c 00 6295 6270 mov cx, 00100h ; b9 00 01 6296 6271 xor ax, ax ; 31 c0 … … 6298 6273 mov es, bx ; 8e c3 6299 6274 cld ; fc 6300 jcxz 036 8eh ; e3 026275 jcxz 0364bh ; e3 02 6301 6276 rep stosb ; f3 aa 6302 6277 xor cx, cx ; 31 c9 6303 jmp short 036 97h ; eb 056278 jmp short 03654h ; eb 05 6304 6279 cmp cx, strict byte 00042h ; 83 f9 42 6305 jnc short 036 b4h ; 73 1d6280 jnc short 03671h ; 73 1d 6306 6281 mov dx, word [bp-008h] ; 8b 56 f8 6307 6282 inc dx ; 42 … … 6309 6284 add dx, cx ; 01 ca 6310 6285 mov ax, 003b6h ; b8 b6 03 6311 call 034 6dh ; e8 c9 fd6286 call 0342ah ; e8 c9 fd 6312 6287 movzx bx, al ; 0f b6 d8 6313 6288 mov dx, word [bp-006h] ; 8b 56 fa 6314 6289 add dx, cx ; 01 ca 6315 6290 mov ax, si ; 89 f0 6316 call 02f 85h ; e8 d4 f86317 inc cx ; 41 6318 jmp short 036 92h ; eb de6291 call 02f42h ; e8 d4 f8 6292 inc cx ; 41 6293 jmp short 0364fh ; eb de 6319 6294 mov dx, word [bp-006h] ; 8b 56 fa 6320 6295 inc dx ; 42 6321 6296 inc dx ; 42 6322 6297 mov ax, si ; 89 f0 6323 call 02f 77h ; e8 b9 f86298 call 02f34h ; e8 b9 f8 6324 6299 test AL, strict byte 001h ; a8 01 6325 je short 036 deh ; 74 1c6300 je short 0369bh ; 74 1c 6326 6301 mov dx, word [bp-006h] ; 8b 56 fa 6327 6302 add dx, strict byte 0000ch ; 83 c2 0c 6328 6303 mov bx, 00605h ; bb 05 06 6329 6304 mov ax, si ; 89 f0 6330 call 02f a1h ; e8 d1 f86305 call 02f5eh ; e8 d1 f8 6331 6306 mov dx, word [bp-006h] ; 8b 56 fa 6332 6307 add dx, strict byte 0000eh ; 83 c2 0e 6333 6308 mov bx, 0c000h ; bb 00 c0 6334 6309 mov ax, si ; 89 f0 6335 call 02f a1h ; e8 c3 f86310 call 02f5eh ; e8 c3 f8 6336 6311 mov ax, strict word 0000bh ; b8 0b 00 6337 6312 mov dx, 001ceh ; ba ce 01 … … 6343 6318 mov bx, ax ; 89 c3 6344 6319 mov ax, si ; 89 f0 6345 call 02f a1h ; e8 ab f86320 call 02f5eh ; e8 ab f8 6346 6321 mov ax, strict word 0004fh ; b8 4f 00 6347 jmp short 036 feh ; eb 036322 jmp short 036bbh ; eb 03 6348 6323 mov ax, 00100h ; b8 00 01 6349 6324 push SS ; 16 … … 6356 6331 pop bp ; 5d 6357 6332 retn ; c3 6358 vbe_biosfn_set_mode_: ; 0xc3 70dLB 0xe96333 vbe_biosfn_set_mode_: ; 0xc36ca LB 0xe9 6359 6334 push bp ; 55 6360 6335 mov bp, sp ; 89 e5 … … 6370 6345 mov ax, dx ; 89 d0 6371 6346 test dx, dx ; 85 d2 6372 je short 03 72dh ; 74 036347 je short 036eah ; 74 03 6373 6348 mov dx, strict word 00040h ; ba 40 00 6374 6349 mov byte [bp-006h], dl ; 88 56 fa 6375 6350 test byte [bp-009h], 080h ; f6 46 f7 80 6376 je short 03 73bh ; 74 056351 je short 036f8h ; 74 05 6377 6352 mov dx, 00080h ; ba 80 00 6378 jmp short 03 73dh ; eb 026353 jmp short 036fah ; eb 02 6379 6354 xor dx, dx ; 31 d2 6380 6355 mov byte [bp-008h], dl ; 88 56 f8 6381 6356 and byte [bp-009h], 001h ; 80 66 f7 01 6382 6357 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6383 jnc short 037 5dh ; 73 126358 jnc short 0371ah ; 73 12 6384 6359 xor ax, ax ; 31 c0 6385 call 005c9h ; e8 79ce6360 call 005c9h ; e8 bc ce 6386 6361 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6387 call 00fdch ; e8 85d86362 call 00fdch ; e8 c8 d8 6388 6363 mov ax, strict word 0004fh ; b8 4f 00 6389 jmp near 037 ech ; e9 8f 006364 jmp near 037a9h ; e9 8f 00 6390 6365 mov dx, ax ; 89 c2 6391 6366 mov ax, word [bp-00ah] ; 8b 46 f6 6392 call 034 dbh ; e8 76 fd6367 call 03498h ; e8 76 fd 6393 6368 mov bx, ax ; 89 c3 6394 6369 test ax, ax ; 85 c0 6395 je near 037 e9h ; 0f 84 7c 006370 je near 037a6h ; 0f 84 7c 00 6396 6371 lea dx, [bx+014h] ; 8d 57 14 6397 6372 mov ax, 003b6h ; b8 b6 03 6398 call 034 5bh ; e8 e5 fc6373 call 03418h ; e8 e5 fc 6399 6374 mov cx, ax ; 89 c1 6400 6375 lea dx, [bx+016h] ; 8d 57 16 6401 6376 mov ax, 003b6h ; b8 b6 03 6402 call 034 5bh ; e8 da fc6377 call 03418h ; e8 da fc 6403 6378 mov di, ax ; 89 c7 6404 6379 lea dx, [bx+01bh] ; 8d 57 1b 6405 6380 mov ax, 003b6h ; b8 b6 03 6406 call 034 6dh ; e8 e1 fc6381 call 0342ah ; e8 e1 fc 6407 6382 mov bl, al ; 88 c3 6408 6383 mov dl, al ; 88 c2 6409 6384 xor ax, ax ; 31 c0 6410 call 005c9h ; e8 34ce6385 call 005c9h ; e8 77 ce 6411 6386 cmp bl, 004h ; 80 fb 04 6412 jne short 037 a0h ; 75 066387 jne short 0375dh ; 75 06 6413 6388 mov ax, strict word 0006ah ; b8 6a 00 6414 call 00fdch ; e8 3cd86389 call 00fdch ; e8 7f d8 6415 6390 movzx ax, dl ; 0f b6 c2 6416 call 03 440h ; e8 9a fc6391 call 033fdh ; e8 9a fc 6417 6392 mov ax, cx ; 89 c8 6418 call 03 40ah ; e8 5f fc6393 call 033c7h ; e8 5f fc 6419 6394 mov ax, di ; 89 f8 6420 call 03 425h ; e8 75 fc6395 call 033e2h ; e8 75 fc 6421 6396 xor ax, ax ; 31 c0 6422 call 005e7h ; e8 32ce6397 call 005e7h ; e8 75 ce 6423 6398 mov al, byte [bp-008h] ; 8a 46 f8 6424 6399 or AL, strict byte 001h ; 0c 01 … … 6426 6401 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6427 6402 or ax, dx ; 09 d0 6428 call 005c9h ; e8 03ce6429 call 006c3h ; e8 fa ce6403 call 005c9h ; e8 46 ce 6404 call 006c3h ; e8 3d cf 6430 6405 mov bx, word [bp-00ah] ; 8b 5e f6 6431 6406 mov dx, 000bah ; ba ba 00 6432 6407 mov ax, strict word 00040h ; b8 40 00 6433 call 02f a1h ; e8 cc f76408 call 02f5eh ; e8 cc f7 6434 6409 mov al, byte [bp-008h] ; 8a 46 f8 6435 6410 or AL, strict byte 060h ; 0c 60 … … 6437 6412 mov dx, 00087h ; ba 87 00 6438 6413 mov ax, strict word 00040h ; b8 40 00 6439 call 02f 85h ; e8 9f f76440 jmp near 037 57h ; e9 6e ff6414 call 02f42h ; e8 9f f7 6415 jmp near 03714h ; e9 6e ff 6441 6416 mov ax, 00100h ; b8 00 01 6442 6417 mov word [ss:si], ax ; 36 89 04 … … 6446 6421 pop bp ; 5d 6447 6422 retn ; c3 6448 vbe_biosfn_read_video_state_size_: ; 0xc37 f6LB 0x86423 vbe_biosfn_read_video_state_size_: ; 0xc37b3 LB 0x8 6449 6424 push bp ; 55 6450 6425 mov bp, sp ; 89 e5 … … 6452 6427 pop bp ; 5d 6453 6428 retn ; c3 6454 vbe_biosfn_save_video_state_: ; 0xc37 feLB 0x5b6429 vbe_biosfn_save_video_state_: ; 0xc37bb LB 0x5b 6455 6430 push bp ; 55 6456 6431 mov bp, sp ; 89 e5 … … 6471 6446 mov dx, cx ; 89 ca 6472 6447 mov ax, di ; 89 f8 6473 call 02f a1h ; e8 80 f76448 call 02f5eh ; e8 80 f7 6474 6449 inc cx ; 41 6475 6450 inc cx ; 41 6476 6451 test byte [bp-00ah], 001h ; f6 46 f6 01 6477 je short 038 50h ; 74 276452 je short 0380dh ; 74 27 6478 6453 mov si, strict word 00001h ; be 01 00 6479 jmp short 03 833h ; eb 056454 jmp short 037f0h ; eb 05 6480 6455 cmp si, strict byte 00009h ; 83 fe 09 6481 jnbe short 038 50h ; 77 1d6456 jnbe short 0380dh ; 77 1d 6482 6457 cmp si, strict byte 00004h ; 83 fe 04 6483 je short 038 4dh ; 74 156458 je short 0380ah ; 74 15 6484 6459 mov ax, si ; 89 f0 6485 6460 mov dx, 001ceh ; ba ce 01 … … 6490 6465 mov dx, cx ; 89 ca 6491 6466 mov ax, di ; 89 f8 6492 call 02f a1h ; e8 56 f76467 call 02f5eh ; e8 56 f7 6493 6468 inc cx ; 41 6494 6469 inc cx ; 41 6495 6470 inc si ; 46 6496 jmp short 03 82eh ; eb de6471 jmp short 037ebh ; eb de 6497 6472 lea sp, [bp-008h] ; 8d 66 f8 6498 6473 pop di ; 5f … … 6502 6477 pop bp ; 5d 6503 6478 retn ; c3 6504 vbe_biosfn_restore_video_state_: ; 0xc38 59LB 0x9b6479 vbe_biosfn_restore_video_state_: ; 0xc3816 LB 0x9b 6505 6480 push bp ; 55 6506 6481 mov bp, sp ; 89 e5 … … 6511 6486 mov cx, ax ; 89 c1 6512 6487 mov bx, dx ; 89 d3 6513 call 02f 93h ; e8 2c f76488 call 02f50h ; e8 2c f7 6514 6489 mov word [bp-008h], ax ; 89 46 f8 6515 6490 inc bx ; 43 6516 6491 inc bx ; 43 6517 6492 test byte [bp-008h], 001h ; f6 46 f8 01 6518 jne short 038 82h ; 75 106493 jne short 0383fh ; 75 10 6519 6494 mov ax, strict word 00004h ; b8 04 00 6520 6495 mov dx, 001ceh ; ba ce 01 … … 6523 6498 mov dx, 001cfh ; ba cf 01 6524 6499 out DX, ax ; ef 6525 jmp short 038 ech ; eb 6a6500 jmp short 038a9h ; eb 6a 6526 6501 mov ax, strict word 00001h ; b8 01 00 6527 6502 mov dx, 001ceh ; ba ce 01 … … 6529 6504 mov dx, bx ; 89 da 6530 6505 mov ax, cx ; 89 c8 6531 call 02f 93h ; e8 03 f76506 call 02f50h ; e8 03 f7 6532 6507 mov dx, 001cfh ; ba cf 01 6533 6508 out DX, ax ; ef … … 6539 6514 mov dx, bx ; 89 da 6540 6515 mov ax, cx ; 89 c8 6541 call 02f 93h ; e8 ef f66516 call 02f50h ; e8 ef f6 6542 6517 mov dx, 001cfh ; ba cf 01 6543 6518 out DX, ax ; ef … … 6549 6524 mov dx, bx ; 89 da 6550 6525 mov ax, cx ; 89 c8 6551 call 02f 93h ; e8 db f66526 call 02f50h ; e8 db f6 6552 6527 mov dx, 001cfh ; ba cf 01 6553 6528 out DX, ax ; ef … … 6561 6536 out DX, ax ; ef 6562 6537 mov si, strict word 00005h ; be 05 00 6563 jmp short 038 d6h ; eb 056538 jmp short 03893h ; eb 05 6564 6539 cmp si, strict byte 00009h ; 83 fe 09 6565 jnbe short 038 ech ; 77 166540 jnbe short 038a9h ; 77 16 6566 6541 mov ax, si ; 89 f0 6567 6542 mov dx, 001ceh ; ba ce 01 … … 6569 6544 mov dx, bx ; 89 da 6570 6545 mov ax, cx ; 89 c8 6571 call 02f 93h ; e8 b0 f66546 call 02f50h ; e8 b0 f6 6572 6547 mov dx, 001cfh ; ba cf 01 6573 6548 out DX, ax ; ef … … 6575 6550 inc bx ; 43 6576 6551 inc si ; 46 6577 jmp short 038 d1h ; eb e56552 jmp short 0388eh ; eb e5 6578 6553 lea sp, [bp-006h] ; 8d 66 fa 6579 6554 pop si ; 5e … … 6582 6557 pop bp ; 5d 6583 6558 retn ; c3 6584 vbe_biosfn_save_restore_state_: ; 0xc38 f4LB 0x8c6559 vbe_biosfn_save_restore_state_: ; 0xc38b1 LB 0x8c 6585 6560 push bp ; 55 6586 6561 mov bp, sp ; 89 e5 … … 6595 6570 xor ah, ah ; 30 e4 6596 6571 cmp ax, strict word 00002h ; 3d 02 00 6597 je short 039 53h ; 74 456572 je short 03910h ; 74 45 6598 6573 cmp ax, strict word 00001h ; 3d 01 00 6599 je short 03 937h ; 74 246574 je short 038f4h ; 74 24 6600 6575 test ax, ax ; 85 c0 6601 jne short 039 6fh ; 75 586576 jne short 0392ch ; 75 58 6602 6577 mov ax, word [bp-006h] ; 8b 46 fa 6603 call 028 8ch ; e8 6f ef6578 call 02849h ; e8 6f ef 6604 6579 mov cx, ax ; 89 c1 6605 6580 test byte [bp-006h], 008h ; f6 46 fa 08 6606 je short 03 92ah ; 74 056607 call 037 f6h ; e8 ce fe6581 je short 038e7h ; 74 05 6582 call 037b3h ; e8 ce fe 6608 6583 add ax, cx ; 01 c8 6609 6584 add ax, strict word 0003fh ; 05 3f 00 … … 6612 6587 pop ES ; 07 6613 6588 mov word [es:bx], ax ; 26 89 07 6614 jmp short 039 72h ; eb 3b6589 jmp short 0392fh ; eb 3b 6615 6590 push SS ; 16 6616 6591 pop ES ; 07 … … 6618 6593 mov dx, cx ; 89 ca 6619 6594 mov ax, word [bp-006h] ; 8b 46 fa 6620 call 028 c1h ; e8 7d ef6595 call 0287eh ; e8 7d ef 6621 6596 test byte [bp-006h], 008h ; f6 46 fa 08 6622 je short 039 72h ; 74 286597 je short 0392fh ; 74 28 6623 6598 mov dx, ax ; 89 c2 6624 6599 mov ax, cx ; 89 c8 6625 call 037 feh ; e8 ad fe6626 jmp short 039 72h ; eb 1f6600 call 037bbh ; e8 ad fe 6601 jmp short 0392fh ; eb 1f 6627 6602 push SS ; 16 6628 6603 pop ES ; 07 … … 6630 6605 mov dx, cx ; 89 ca 6631 6606 mov ax, word [bp-006h] ; 8b 46 fa 6632 call 02 c2ah ; e8 ca f26607 call 02be7h ; e8 ca f2 6633 6608 test byte [bp-006h], 008h ; f6 46 fa 08 6634 je short 039 72h ; 74 0c6609 je short 0392fh ; 74 0c 6635 6610 mov dx, ax ; 89 c2 6636 6611 mov ax, cx ; 89 c8 6637 call 038 59h ; e8 ec fe6638 jmp short 039 72h ; eb 036612 call 03816h ; e8 ec fe 6613 jmp short 0392fh ; eb 03 6639 6614 mov di, 00100h ; bf 00 01 6640 6615 push SS ; 16 … … 6647 6622 retn 00002h ; c2 02 00 6648 6623 6649 ; Padding 0xc 80 bytes at 0xc39806650 times 32 00db 06624 ; Padding 0xcc3 bytes at 0xc393d 6625 times 3267 db 0 6651 6626 6652 6627 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO … … 7701 7676 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7702 7677 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7703 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 1ch7678 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
r50159 r51062 1 70d2883225c6a0e2a6d9d96362e9adad*VBoxVgaBios.rom1 be05e86993fbde08237d26cfc61fb370 *VBoxVgaBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.