Changeset 42454 in vbox
- Timestamp:
- Jul 30, 2012 3:55:42 PM (12 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS-new
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm
r42147 r42454 120 120 ; #include "vgabios.h" 121 121 ; #include <inttypes.h> 122 ; #include <VBox/version.h>123 122 124 123 ; … … 247 246 mov bx, 0c000h ; bb 00 c0 248 247 mov ds, bx ; 8e db 249 call 03 12eh ; e8 3e 30248 call 0305ch ; e8 6c 2f 250 249 popaw ; 61 251 250 pop DS ; 1f … … 1029 1028 pop dx ; 5a 1030 1029 retn ; c3 1031 _dispi_set_enable: ; 0xc05f9 LB 0x1e1030 dispi_set_enable_: ; 0xc05f9 LB 0x1e 1032 1031 push dx ; 52 1033 1032 push ax ; 50 … … 1048 1047 pop dx ; 5a 1049 1048 retn ; c3 1050 _dispi_set_bank: ; 0xc0617 LB 0x1e1049 dispi_set_bank_: ; 0xc0617 LB 0x1e 1051 1050 push dx ; 52 1052 1051 push ax ; 50 … … 1549 1548 times 109 db 0 1550 1549 1551 section _TEXT progbits vstart=0xa00 align=1 ; size=0x 310fclass=CODE group=AUTO1550 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2ff9 class=CODE group=AUTO 1552 1551 set_int_vector_: ; 0xc0a00 LB 0x1a 1553 1552 push bx ; 53 … … 1577 1576 out DX, AL ; ee 1578 1577 push 04800h ; 68 00 48 1579 call 0 3014h ; e8 de 251578 call 02f54h ; e8 1e 25 1580 1579 add sp, strict byte 00002h ; 83 c4 02 1581 1580 pop bp ; 5d … … 1615 1614 pop bp ; 5d 1616 1615 retf ; cb 1617 biosfn_perform_gray_scale_summing_: ; 0xc0a8c LB 0x88 1616 vga_get_cursor_pos_: ; 0xc0a8c LB 0x40 1617 push cx ; 51 1618 push si ; 56 1619 push bp ; 55 1620 mov bp, sp ; 89 e5 1621 mov cl, al ; 88 c1 1622 mov si, dx ; 89 d6 1623 cmp AL, strict byte 007h ; 3c 07 1624 jbe short 00aa7h ; 76 0e 1625 push SS ; 16 1626 pop ES ; 07 1627 mov word [es:si], strict word 00000h ; 26 c7 04 00 00 1628 mov word [es:bx], strict word 00000h ; 26 c7 07 00 00 1629 jmp short 00ac8h ; eb 21 1630 mov dx, strict word 00060h ; ba 60 00 1631 mov ax, strict word 00040h ; b8 40 00 1632 call 02f26h ; e8 76 24 1633 push SS ; 16 1634 pop ES ; 07 1635 mov word [es:si], ax ; 26 89 04 1636 movzx dx, cl ; 0f b6 d1 1637 add dx, dx ; 01 d2 1638 add dx, strict byte 00050h ; 83 c2 50 1639 mov ax, strict word 00040h ; b8 40 00 1640 call 02f26h ; e8 63 24 1641 push SS ; 16 1642 pop ES ; 07 1643 mov word [es:bx], ax ; 26 89 07 1644 pop bp ; 5d 1645 pop si ; 5e 1646 pop cx ; 59 1647 retn ; c3 1648 vga_read_char_attr_: ; 0xc0acc LB 0xa3 1649 push bx ; 53 1650 push cx ; 51 1651 push si ; 56 1652 push di ; 57 1653 enter 00008h, 000h ; c8 08 00 00 1654 mov cl, al ; 88 c1 1655 mov si, dx ; 89 d6 1656 mov dx, strict word 00049h ; ba 49 00 1657 mov ax, strict word 00040h ; b8 40 00 1658 call 02f0ah ; e8 29 24 1659 xor ah, ah ; 30 e4 1660 call 02ee3h ; e8 fd 23 1661 mov ch, al ; 88 c5 1662 cmp AL, strict byte 0ffh ; 3c ff 1663 je short 00b59h ; 74 6d 1664 movzx ax, cl ; 0f b6 c1 1665 lea bx, [bp-008h] ; 8d 5e f8 1666 lea dx, [bp-006h] ; 8d 56 fa 1667 call 00a8ch ; e8 94 ff 1668 mov al, byte [bp-008h] ; 8a 46 f8 1669 mov byte [bp-002h], al ; 88 46 fe 1670 mov ax, word [bp-008h] ; 8b 46 f8 1671 xor al, al ; 30 c0 1672 shr ax, 008h ; c1 e8 08 1673 mov word [bp-004h], ax ; 89 46 fc 1674 mov dx, 00084h ; ba 84 00 1675 mov ax, strict word 00040h ; b8 40 00 1676 call 02f0ah ; e8 f8 23 1677 movzx di, al ; 0f b6 f8 1678 inc di ; 47 1679 mov dx, strict word 0004ah ; ba 4a 00 1680 mov ax, strict word 00040h ; b8 40 00 1681 call 02f26h ; e8 07 24 1682 movzx bx, ch ; 0f b6 dd 1683 sal bx, 003h ; c1 e3 03 1684 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 1685 jne short 00b59h ; 75 2d 1686 mov dx, ax ; 89 c2 1687 imul dx, di ; 0f af d7 1688 add dx, dx ; 01 d2 1689 or dl, 0ffh ; 80 ca ff 1690 xor ch, ch ; 30 ed 1691 inc dx ; 42 1692 imul cx, dx ; 0f af ca 1693 movzx dx, byte [bp-004h] ; 0f b6 56 fc 1694 imul dx, ax ; 0f af d0 1695 movzx ax, byte [bp-002h] ; 0f b6 46 fe 1696 add ax, dx ; 01 d0 1697 add ax, ax ; 01 c0 1698 mov dx, cx ; 89 ca 1699 add dx, ax ; 01 c2 1700 mov ax, word [bx+04833h] ; 8b 87 33 48 1701 call 02f26h ; e8 d0 23 1702 mov word [ss:si], ax ; 36 89 04 1703 leave ; c9 1704 pop di ; 5f 1705 pop si ; 5e 1706 pop cx ; 59 1707 pop bx ; 5b 1708 retn ; c3 1709 mov cl, byte [bp+di] ; 8a 0b 1710 db 0c6h, 00bh, 0cbh 1711 ; mov byte [bp+di], 0cbh ; c6 0b cb 1712 db 00bh, 0d3h 1713 ; or dx, bx ; 0b d3 1714 db 00bh, 0d8h 1715 ; or bx, ax ; 0b d8 1716 db 00bh, 0ddh 1717 ; or bx, bp ; 0b dd 1718 db 00bh, 0e2h 1719 ; or sp, dx ; 0b e2 1720 db 00bh, 0e7h 1721 ; or sp, di ; 0b e7 1722 db 00bh 1723 vga_get_font_info_: ; 0xc0b6f LB 0x7f 1724 push si ; 56 1725 push di ; 57 1726 enter 00002h, 000h ; c8 02 00 00 1727 mov si, dx ; 89 d6 1728 mov word [bp-002h], bx ; 89 5e fe 1729 mov bx, cx ; 89 cb 1730 cmp ax, strict word 00007h ; 3d 07 00 1731 jnbe short 00bc0h ; 77 3f 1732 mov di, ax ; 89 c7 1733 add di, ax ; 01 c7 1734 jmp word [cs:di+00b5fh] ; 2e ff a5 5f 0b 1735 mov dx, strict word 0007ch ; ba 7c 00 1736 xor ax, ax ; 31 c0 1737 call 02f42h ; e8 b0 23 1738 push SS ; 16 1739 pop ES ; 07 1740 mov di, word [bp-002h] ; 8b 7e fe 1741 mov word [es:di], ax ; 26 89 05 1742 mov word [es:si], dx ; 26 89 14 1743 mov dx, 00085h ; ba 85 00 1744 mov ax, strict word 00040h ; b8 40 00 1745 call 02f0ah ; e8 64 23 1746 xor ah, ah ; 30 e4 1747 push SS ; 16 1748 pop ES ; 07 1749 mov word [es:bx], ax ; 26 89 07 1750 mov dx, 00084h ; ba 84 00 1751 mov ax, strict word 00040h ; b8 40 00 1752 call 02f0ah ; e8 54 23 1753 xor ah, ah ; 30 e4 1754 push SS ; 16 1755 pop ES ; 07 1756 mov bx, word [bp+008h] ; 8b 5e 08 1757 mov word [es:bx], ax ; 26 89 07 1758 leave ; c9 1759 pop di ; 5f 1760 pop si ; 5e 1761 retn 00002h ; c2 02 00 1762 mov dx, 0010ch ; ba 0c 01 1763 jmp short 00b8dh ; eb c2 1764 mov ax, 05dafh ; b8 af 5d 1765 mov dx, 0c000h ; ba 00 c0 1766 jmp short 00b92h ; eb bf 1767 mov ax, 055afh ; b8 af 55 1768 jmp short 00bceh ; eb f6 1769 mov ax, 059afh ; b8 af 59 1770 jmp short 00bceh ; eb f1 1771 mov ax, 07bafh ; b8 af 7b 1772 jmp short 00bceh ; eb ec 1773 mov ax, 06bafh ; b8 af 6b 1774 jmp short 00bceh ; eb e7 1775 mov ax, 07cdch ; b8 dc 7c 1776 jmp short 00bceh ; eb e2 1777 jmp short 00bc0h ; eb d2 1778 vga_read_pixel_: ; 0xc0bee LB 0x134 1779 push si ; 56 1780 push di ; 57 1781 enter 00006h, 000h ; c8 06 00 00 1782 mov si, dx ; 89 d6 1783 mov word [bp-006h], bx ; 89 5e fa 1784 mov di, cx ; 89 cf 1785 mov dx, strict word 00049h ; ba 49 00 1786 mov ax, strict word 00040h ; b8 40 00 1787 call 02f0ah ; e8 06 23 1788 xor ah, ah ; 30 e4 1789 call 02ee3h ; e8 da 22 1790 mov cl, al ; 88 c1 1791 cmp AL, strict byte 0ffh ; 3c ff 1792 je near 00d1eh ; 0f 84 0d 01 1793 movzx bx, al ; 0f b6 d8 1794 sal bx, 003h ; c1 e3 03 1795 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 1796 je near 00d1eh ; 0f 84 fe 00 1797 mov bl, byte [bx+04831h] ; 8a 9f 31 48 1798 cmp bl, 003h ; 80 fb 03 1799 jc short 00c3ah ; 72 11 1800 jbe short 00c42h ; 76 17 1801 cmp bl, 005h ; 80 fb 05 1802 je near 00cfbh ; 0f 84 c9 00 1803 cmp bl, 004h ; 80 fb 04 1804 je short 00c42h ; 74 0b 1805 jmp near 00d19h ; e9 df 00 1806 cmp bl, 002h ; 80 fb 02 1807 je short 00c9ah ; 74 5b 1808 jmp near 00d19h ; e9 d7 00 1809 mov dx, strict word 0004ah ; ba 4a 00 1810 mov ax, strict word 00040h ; b8 40 00 1811 call 02f26h ; e8 db 22 1812 imul ax, word [bp-006h] ; 0f af 46 fa 1813 mov bx, si ; 89 f3 1814 shr bx, 003h ; c1 eb 03 1815 add bx, ax ; 01 c3 1816 mov cx, si ; 89 f1 1817 and cx, strict byte 00007h ; 83 e1 07 1818 mov ax, 00080h ; b8 80 00 1819 sar ax, CL ; d3 f8 1820 mov byte [bp-004h], al ; 88 46 fc 1821 mov byte [bp-002h], ch ; 88 6e fe 1822 jmp short 00c70h ; eb 08 1823 cmp byte [bp-002h], 004h ; 80 7e fe 04 1824 jnc near 00d1bh ; 0f 83 ab 00 1825 movzx ax, byte [bp-002h] ; 0f b6 46 fe 1826 sal ax, 008h ; c1 e0 08 1827 or AL, strict byte 004h ; 0c 04 1828 mov dx, 003ceh ; ba ce 03 1829 out DX, ax ; ef 1830 mov dx, bx ; 89 da 1831 mov ax, 0a000h ; b8 00 a0 1832 call 02f0ah ; e8 85 22 1833 and al, byte [bp-004h] ; 22 46 fc 1834 test al, al ; 84 c0 1835 jbe short 00c95h ; 76 09 1836 mov cl, byte [bp-002h] ; 8a 4e fe 1837 mov AL, strict byte 001h ; b0 01 1838 sal al, CL ; d2 e0 1839 or ch, al ; 08 c5 1840 inc byte [bp-002h] ; fe 46 fe 1841 jmp short 00c68h ; eb ce 1842 mov ax, word [bp-006h] ; 8b 46 fa 1843 shr ax, 1 ; d1 e8 1844 imul ax, ax, strict byte 00050h ; 6b c0 50 1845 mov bx, si ; 89 f3 1846 shr bx, 002h ; c1 eb 02 1847 add bx, ax ; 01 c3 1848 test byte [bp-006h], 001h ; f6 46 fa 01 1849 je short 00cb2h ; 74 03 1850 add bh, 020h ; 80 c7 20 1851 mov dx, bx ; 89 da 1852 mov ax, 0b800h ; b8 00 b8 1853 call 02f0ah ; e8 50 22 1854 movzx bx, cl ; 0f b6 d9 1855 sal bx, 003h ; c1 e3 03 1856 cmp byte [bx+04832h], 002h ; 80 bf 32 48 02 1857 jne short 00ce2h ; 75 1b 1858 mov cx, si ; 89 f1 1859 xor ch, ch ; 30 ed 1860 and cl, 003h ; 80 e1 03 1861 mov bx, strict word 00003h ; bb 03 00 1862 sub bx, cx ; 29 cb 1863 mov cx, bx ; 89 d9 1864 add cx, bx ; 01 d9 1865 xor ah, ah ; 30 e4 1866 sar ax, CL ; d3 f8 1867 mov ch, al ; 88 c5 1868 and ch, 003h ; 80 e5 03 1869 jmp short 00d1bh ; eb 39 1870 mov cx, si ; 89 f1 1871 xor ch, ch ; 30 ed 1872 and cl, 007h ; 80 e1 07 1873 mov bx, strict word 00007h ; bb 07 00 1874 sub bx, cx ; 29 cb 1875 mov cx, bx ; 89 d9 1876 xor ah, ah ; 30 e4 1877 sar ax, CL ; d3 f8 1878 mov ch, al ; 88 c5 1879 and ch, 001h ; 80 e5 01 1880 jmp short 00d1bh ; eb 20 1881 mov dx, strict word 0004ah ; ba 4a 00 1882 mov ax, strict word 00040h ; b8 40 00 1883 call 02f26h ; e8 22 22 1884 sal ax, 003h ; c1 e0 03 1885 imul ax, word [bp-006h] ; 0f af 46 fa 1886 mov dx, si ; 89 f2 1887 add dx, ax ; 01 c2 1888 mov ax, 0a000h ; b8 00 a0 1889 call 02f0ah ; e8 f5 21 1890 mov ch, al ; 88 c5 1891 jmp short 00d1bh ; eb 02 1892 xor ch, ch ; 30 ed 1893 mov byte [ss:di], ch ; 36 88 2d 1894 leave ; c9 1895 pop di ; 5f 1896 pop si ; 5e 1897 retn ; c3 1898 biosfn_perform_gray_scale_summing_: ; 0xc0d22 LB 0x88 1618 1899 push bx ; 53 1619 1900 push cx ; 51 … … 1632 1913 xor si, si ; 31 f6 1633 1914 cmp si, di ; 39 fe 1634 jnc short 00 afch ; 73 521915 jnc short 00d92h ; 73 52 1635 1916 mov al, bl ; 88 d8 1636 1917 mov dx, 003c7h ; ba c7 03 … … 1660 1941 sar cx, 008h ; c1 f9 08 1661 1942 cmp cx, strict byte 0003fh ; 83 f9 3f 1662 jbe short 00 aeah ; 76 031943 jbe short 00d80h ; 76 03 1663 1944 mov cx, strict word 0003fh ; b9 3f 00 1664 1945 mov al, bl ; 88 d8 … … 1672 1953 inc bx ; 43 1673 1954 inc si ; 46 1674 jmp short 00 aa6h ; eb aa1955 jmp short 00d3ch ; eb aa 1675 1956 mov dx, 003dah ; ba da 03 1676 1957 in AL, DX ; ec … … 1690 1971 pop bx ; 5b 1691 1972 retn ; c3 1692 biosfn_set_cursor_shape_: ; 0xc0 b14LB 0xa11973 biosfn_set_cursor_shape_: ; 0xc0daa LB 0xa1 1693 1974 push bx ; 53 1694 1975 push cx ; 51 … … 1708 1989 mov dx, strict word 00060h ; ba 60 00 1709 1990 mov ax, strict word 00040h ; b8 40 00 1710 call 0 3006h ; e8 cb 241991 call 02f34h ; e8 63 21 1711 1992 mov dx, 00089h ; ba 89 00 1712 1993 mov ax, strict word 00040h ; b8 40 00 1713 call 02f dch ; e8 98 241994 call 02f0ah ; e8 30 21 1714 1995 mov bl, al ; 88 c3 1715 1996 mov dx, 00085h ; ba 85 00 1716 1997 mov ax, strict word 00040h ; b8 40 00 1717 call 02f f8h ; e8 a9 241998 call 02f26h ; e8 41 21 1718 1999 mov dx, ax ; 89 c2 1719 2000 test bl, 001h ; f6 c3 01 1720 je short 00 b8dh ; 74 372001 je short 00e23h ; 74 37 1721 2002 cmp ax, strict word 00008h ; 3d 08 00 1722 jbe short 00 b8dh ; 76 322003 jbe short 00e23h ; 76 32 1723 2004 cmp cl, 008h ; 80 f9 08 1724 jnc short 00 b8dh ; 73 2d2005 jnc short 00e23h ; 73 2d 1725 2006 cmp ch, 020h ; 80 fd 20 1726 jnc short 00 b8dh ; 73 282007 jnc short 00e23h ; 73 28 1727 2008 inc di ; 47 1728 2009 cmp si, di ; 39 fe 1729 je short 00 b73h ; 74 092010 je short 00e09h ; 74 09 1730 2011 imul ax, di ; 0f af c7 1731 2012 shr ax, 003h ; c1 e8 03 1732 2013 dec ax ; 48 1733 jmp short 00 b7eh ; eb 0b2014 jmp short 00e14h ; eb 0b 1734 2015 lea si, [di+001h] ; 8d 75 01 1735 2016 imul ax, si ; 0f af c6 … … 1746 2027 mov dx, strict word 00063h ; ba 63 00 1747 2028 mov ax, strict word 00040h ; b8 40 00 1748 call 02f f8h ; e8 62 242029 call 02f26h ; e8 fa 20 1749 2030 mov bx, ax ; 89 c3 1750 2031 mov AL, strict byte 00ah ; b0 0a … … 1767 2048 pop bx ; 5b 1768 2049 retn ; c3 1769 biosfn_set_cursor_pos_: ; 0xc0 bb5LB 0x9e2050 biosfn_set_cursor_pos_: ; 0xc0e4b LB 0x9e 1770 2051 push bx ; 53 1771 2052 push cx ; 51 … … 1775 2056 mov cx, dx ; 89 d1 1776 2057 cmp AL, strict byte 007h ; 3c 07 1777 jnbe near 00 c4eh ; 0f 87 87 002058 jnbe near 00ee4h ; 0f 87 87 00 1778 2059 movzx dx, al ; 0f b6 d0 1779 2060 add dx, dx ; 01 d2 … … 1781 2062 mov bx, cx ; 89 cb 1782 2063 mov ax, strict word 00040h ; b8 40 00 1783 call 0 3006h ; e8 2f 242064 call 02f34h ; e8 c7 20 1784 2065 mov dx, strict word 00062h ; ba 62 00 1785 2066 mov ax, strict word 00040h ; b8 40 00 1786 call 02f dch ; e8 fc 232067 call 02f0ah ; e8 94 20 1787 2068 cmp al, byte [bp-002h] ; 3a 46 fe 1788 jne short 00 c4eh ; 75 692069 jne short 00ee4h ; 75 69 1789 2070 mov dx, strict word 0004ah ; ba 4a 00 1790 2071 mov ax, strict word 00040h ; b8 40 00 1791 call 02f f8h ; e8 0a 242072 call 02f26h ; e8 a2 20 1792 2073 mov bx, ax ; 89 c3 1793 2074 mov dx, 00084h ; ba 84 00 1794 2075 mov ax, strict word 00040h ; b8 40 00 1795 call 02f dch ; e8 e3 232076 call 02f0ah ; e8 7b 20 1796 2077 xor ah, ah ; 30 e4 1797 2078 mov dx, ax ; 89 c2 … … 1813 2094 mov dx, strict word 00063h ; ba 63 00 1814 2095 mov ax, strict word 00040h ; b8 40 00 1815 call 02f f8h ; e8 cc 232096 call 02f26h ; e8 64 20 1816 2097 mov bx, ax ; 89 c3 1817 2098 mov AL, strict byte 00eh ; b0 0e … … 1836 2117 pop bx ; 5b 1837 2118 retn ; c3 1838 biosfn_get_cursor_pos_: ; 0xc0c53 LB 0x55 1839 push cx ; 51 1840 push si ; 56 1841 push di ; 57 1842 enter 00002h, 000h ; c8 02 00 00 1843 mov byte [bp-002h], al ; 88 46 fe 1844 mov si, dx ; 89 d6 1845 mov di, bx ; 89 df 1846 mov ax, ss ; 8c d0 1847 mov cx, ax ; 89 c1 1848 xor bx, bx ; 31 db 1849 call 03006h ; e8 9c 23 1850 xor bx, bx ; 31 db 1851 mov dx, di ; 89 fa 1852 mov ax, cx ; 89 c8 1853 call 03006h ; e8 93 23 1854 cmp byte [bp-002h], 007h ; 80 7e fe 07 1855 jnbe short 00ca3h ; 77 2a 1856 mov dx, strict word 00060h ; ba 60 00 1857 mov ax, strict word 00040h ; b8 40 00 1858 call 02ff8h ; e8 76 23 1859 mov bx, ax ; 89 c3 1860 mov dx, si ; 89 f2 1861 mov ax, cx ; 89 c8 1862 call 03006h ; e8 7b 23 1863 movzx dx, byte [bp-002h] ; 0f b6 56 fe 1864 add dx, dx ; 01 d2 1865 add dx, strict byte 00050h ; 83 c2 50 1866 mov ax, strict word 00040h ; b8 40 00 1867 call 02ff8h ; e8 5e 23 1868 mov bx, ax ; 89 c3 1869 mov dx, di ; 89 fa 1870 mov ax, cx ; 89 c8 1871 call 03006h ; e8 63 23 1872 leave ; c9 1873 pop di ; 5f 1874 pop si ; 5e 1875 pop cx ; 59 1876 retn ; c3 1877 biosfn_set_active_page_: ; 0xc0ca8 LB 0xdd 2119 biosfn_set_active_page_: ; 0xc0ee9 LB 0xd8 1878 2120 push bx ; 53 1879 2121 push cx ; 51 … … 1881 2123 push si ; 56 1882 2124 push di ; 57 1883 enter 0000 6h, 000h ; c8 0600 001884 mov byte [bp-002h], al ; 88 46 fe2125 enter 00004h, 000h ; c8 04 00 00 2126 mov cl, al ; 88 c1 1885 2127 cmp AL, strict byte 007h ; 3c 07 1886 jnbe near 00 d7eh ; 0f 87 c4002128 jnbe near 00fbah ; 0f 87 c0 00 1887 2129 mov dx, strict word 00049h ; ba 49 00 1888 2130 mov ax, strict word 00040h ; b8 40 00 1889 call 02f dch ; e8 19 232131 call 02f0ah ; e8 07 20 1890 2132 xor ah, ah ; 30 e4 1891 call 02 fb5h ; e8 ed 221892 mov dl, al ; 88 c22133 call 02ee3h ; e8 db 1f 2134 mov ch, al ; 88 c5 1893 2135 cmp AL, strict byte 0ffh ; 3c ff 1894 je near 00d7eh ; 0f 84 ae 00 2136 je near 00fbah ; 0f 84 aa 00 2137 movzx ax, cl ; 0f b6 c1 1895 2138 lea bx, [bp-004h] ; 8d 5e fc 1896 push SS ; 16 1897 push bx ; 53 1898 movzx ax, byte [bp-002h] ; 0f b6 46 fe 1899 mov cx, ss ; 8c d1 1900 lea bx, [bp-006h] ; 8d 5e fa 1901 call 00c53h ; e8 72 ff 1902 movzx bx, dl ; 0f b6 da 2139 lea dx, [bp-002h] ; 8d 56 fe 2140 call 00a8ch ; e8 70 fb 2141 movzx bx, ch ; 0f b6 dd 1903 2142 mov si, bx ; 89 de 1904 2143 sal si, 003h ; c1 e6 03 1905 2144 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 1906 jne short 00 d2fh ; 75 3f2145 jne short 00f6bh ; 75 40 1907 2146 mov dx, strict word 0004ah ; ba 4a 00 1908 2147 mov ax, strict word 00040h ; b8 40 00 1909 call 02f f8h ; e8 ff 221910 mov si, ax ; 89 c62148 call 02f26h ; e8 f2 1f 2149 mov bx, ax ; 89 c3 1911 2150 mov dx, 00084h ; ba 84 00 1912 2151 mov ax, strict word 00040h ; b8 40 00 1913 call 02f dch ; e8 d8 222152 call 02f0ah ; e8 cb 1f 1914 2153 xor ah, ah ; 30 e4 1915 2154 inc ax ; 40 2155 mov si, bx ; 89 de 1916 2156 imul si, ax ; 0f af f0 1917 2157 mov ax, si ; 89 f0 1918 2158 add ax, si ; 01 f0 1919 2159 or AL, strict byte 0ffh ; 0c ff 1920 movzx di, byte [bp-002h] ; 0f b6 7e fe2160 movzx di, cl ; 0f b6 f9 1921 2161 mov bx, ax ; 89 c3 1922 2162 inc bx ; 43 … … 1924 2164 mov dx, strict word 0004eh ; ba 4e 00 1925 2165 mov ax, strict word 00040h ; b8 40 00 1926 call 0 3006h ; e8 e3 222166 call 02f34h ; e8 d5 1f 1927 2167 or si, 000ffh ; 81 ce ff 00 1928 lea cx, [si+001h] ; 8d 4c 011929 imul cx, di ; 0f af cf1930 jmp short 00 d40h ; eb 112168 lea bx, [si+001h] ; 8d 5c 01 2169 imul bx, di ; 0f af df 2170 jmp short 00f7dh ; eb 12 1931 2171 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 1932 2172 sal bx, 006h ; c1 e3 06 1933 movzx cx, byte [bp-002h] ; 0f b6 4e fe 1934 imul cx, word [bx+048c6h] ; 0f af 8f c6 48 2173 movzx ax, cl ; 0f b6 c1 2174 mov bx, word [bx+048c6h] ; 8b 9f c6 48 2175 imul bx, ax ; 0f af d8 1935 2176 mov dx, strict word 00063h ; ba 63 00 1936 2177 mov ax, strict word 00040h ; b8 40 00 1937 call 02f f8h ; e8 af 221938 mov bx, ax ; 89 c32178 call 02f26h ; e8 a0 1f 2179 mov si, ax ; 89 c6 1939 2180 mov AL, strict byte 00ch ; b0 0c 1940 mov dx, bx ; 89 da1941 out DX, AL ; ee 1942 mov ax, cx ; 89 c81943 xor al, cl ; 30 c82181 mov dx, si ; 89 f2 2182 out DX, AL ; ee 2183 mov ax, bx ; 89 d8 2184 xor al, bl ; 30 d8 1944 2185 shr ax, 008h ; c1 e8 08 1945 lea si, [bx+001h] ; 8d 77 01 2186 lea di, [si+001h] ; 8d 7c 01 2187 mov dx, di ; 89 fa 2188 out DX, AL ; ee 2189 mov AL, strict byte 00dh ; b0 0d 1946 2190 mov dx, si ; 89 f2 1947 2191 out DX, AL ; ee 1948 mov AL, strict byte 00dh ; b0 0d 1949 mov dx, bx ; 89 da 1950 out DX, AL ; ee 1951 mov al, cl ; 88 c8 1952 mov dx, si ; 89 f2 1953 out DX, AL ; ee 1954 movzx cx, byte [bp-002h] ; 0f b6 4e fe 1955 mov bx, cx ; 89 cb 2192 mov al, bl ; 88 d8 2193 mov dx, di ; 89 fa 2194 out DX, AL ; ee 2195 movzx si, cl ; 0f b6 f1 2196 mov bx, si ; 89 f3 1956 2197 mov dx, strict word 00062h ; ba 62 00 1957 2198 mov ax, strict word 00040h ; b8 40 00 1958 call 02f eah ; e8 74 222199 call 02f18h ; e8 66 1f 1959 2200 mov dx, word [bp-004h] ; 8b 56 fc 1960 mov ax, cx ; 89 c81961 call 00 bb5h ; e8 37fe2201 mov ax, si ; 89 f0 2202 call 00e4bh ; e8 91 fe 1962 2203 leave ; c9 1963 2204 pop di ; 5f … … 1967 2208 pop bx ; 5b 1968 2209 retn ; c3 1969 biosfn_set_video_mode_: ; 0xc0 d85LB 0x38c2210 biosfn_set_video_mode_: ; 0xc0fc1 LB 0x38c 1970 2211 push bx ; 53 1971 2212 push cx ; 51 … … 1977 2218 and AL, strict byte 080h ; 24 80 1978 2219 mov byte [bp-002h], al ; 88 46 fe 1979 call 007d4h ; e8 3b fa2220 call 007d4h ; e8 ff f7 1980 2221 test ax, ax ; 85 c0 1981 je short 00 da9h ; 74 0c2222 je short 00fe5h ; 74 0c 1982 2223 mov AL, strict byte 007h ; b0 07 1983 2224 mov dx, 003c4h ; ba c4 03 … … 1988 2229 and byte [bp-008h], 07fh ; 80 66 f8 7f 1989 2230 movzx ax, byte [bp-008h] ; 0f b6 46 f8 1990 call 02 fb5h ; e8 01 222231 call 02ee3h ; e8 f3 1e 1991 2232 mov byte [bp-004h], al ; 88 46 fc 1992 2233 cmp AL, strict byte 0ffh ; 3c ff 1993 je near 01 10ah ; 0f 84 4d 032234 je near 01346h ; 0f 84 4d 03 1994 2235 movzx si, al ; 0f b6 f0 1995 2236 mov al, byte [si+048afh] ; 8a 84 af 48 … … 2005 2246 mov dx, 00087h ; ba 87 00 2006 2247 mov ax, strict word 00040h ; b8 40 00 2007 call 02f dch ; e8 ee 212248 call 02f0ah ; e8 e0 1e 2008 2249 mov dx, 00088h ; ba 88 00 2009 2250 mov ax, strict word 00040h ; b8 40 00 2010 call 02f dch ; e8 e5 212251 call 02f0ah ; e8 d7 1e 2011 2252 mov dx, 00089h ; ba 89 00 2012 2253 mov ax, strict word 00040h ; b8 40 00 2013 call 02f dch ; e8 dc 212254 call 02f0ah ; e8 ce 1e 2014 2255 mov ah, al ; 88 c4 2015 2256 test AL, strict byte 008h ; a8 08 2016 jne near 0 0e92h ; 0f 85 8a 002257 jne near 010ceh ; 0f 85 8a 00 2017 2258 mov bx, si ; 89 f3 2018 2259 sal bx, 003h ; c1 e3 03 … … 2025 2266 mov bl, byte [bx+04836h] ; 8a 9f 36 48 2026 2267 cmp bl, 001h ; 80 fb 01 2027 jc short 0 0e32h ; 72 0e2028 jbe short 0 0e3bh ; 76 152268 jc short 0106eh ; 72 0e 2269 jbe short 01077h ; 76 15 2029 2270 cmp bl, 003h ; 80 fb 03 2030 je short 0 0e45h ; 74 1a2271 je short 01081h ; 74 1a 2031 2272 cmp bl, 002h ; 80 fb 02 2032 je short 0 0e40h ; 74 102033 jmp short 0 0e48h ; eb 162273 je short 0107ch ; 74 10 2274 jmp short 01084h ; eb 16 2034 2275 test bl, bl ; 84 db 2035 jne short 0 0e48h ; 75 122276 jne short 01084h ; 75 12 2036 2277 mov di, 05043h ; bf 43 50 2037 jmp short 0 0e48h ; eb 0d2278 jmp short 01084h ; eb 0d 2038 2279 mov di, 05103h ; bf 03 51 2039 jmp short 0 0e48h ; eb 082280 jmp short 01084h ; eb 08 2040 2281 mov di, 051c3h ; bf c3 51 2041 jmp short 0 0e48h ; eb 032282 jmp short 01084h ; eb 03 2042 2283 mov di, 05283h ; bf 83 52 2043 2284 xor bx, bx ; 31 db 2044 jmp short 0 0e5bh ; eb 0f2285 jmp short 01097h ; eb 0f 2045 2286 xor al, al ; 30 c0 2046 2287 mov dx, 003c9h ; ba c9 03 … … 2050 2291 inc bx ; 43 2051 2292 cmp bx, 00100h ; 81 fb 00 01 2052 jnc short 0 0e85h ; 73 2a2293 jnc short 010c1h ; 73 2a 2053 2294 movzx si, byte [bp-004h] ; 0f b6 76 fc 2054 2295 sal si, 003h ; c1 e6 03 … … 2056 2297 movzx dx, byte [si+048bfh] ; 0f b6 94 bf 48 2057 2298 cmp bx, dx ; 39 d3 2058 jnbe short 0 0e4ch ; 77 dc2299 jnbe short 01088h ; 77 dc 2059 2300 imul si, bx, strict byte 00003h ; 6b f3 03 2060 2301 add si, di ; 01 fe … … 2066 2307 mov al, byte [si+002h] ; 8a 44 02 2067 2308 out DX, AL ; ee 2068 jmp short 0 0e54h ; eb cf2309 jmp short 01090h ; eb cf 2069 2310 test ah, 002h ; f6 c4 02 2070 je short 0 0e92h ; 74 082311 je short 010ceh ; 74 08 2071 2312 mov dx, 00100h ; ba 00 01 2072 2313 xor ax, ax ; 31 c0 2073 call 00 a8ch ; e8 fa fb2314 call 00d22h ; e8 54 fc 2074 2315 mov dx, 003dah ; ba da 03 2075 2316 in AL, DX ; ec … … 2077 2318 ; sub ah, ah ; 2a e4 2078 2319 xor bx, bx ; 31 db 2079 jmp short 0 0ea1h ; eb 052320 jmp short 010ddh ; eb 05 2080 2321 cmp bx, strict byte 00013h ; 83 fb 13 2081 jnbe short 0 0eb8h ; 77 172322 jnbe short 010f4h ; 77 17 2082 2323 mov al, bl ; 88 d8 2083 2324 mov dx, 003c0h ; ba c0 03 … … 2089 2330 out DX, AL ; ee 2090 2331 inc bx ; 43 2091 jmp short 0 0e9ch ; eb e42332 jmp short 010d8h ; eb e4 2092 2333 mov AL, strict byte 014h ; b0 14 2093 2334 mov dx, 003c0h ; ba c0 03 … … 2101 2342 out DX, AL ; ee 2102 2343 mov bx, strict word 00001h ; bb 01 00 2103 jmp short 0 0ed5h ; eb 052344 jmp short 01111h ; eb 05 2104 2345 cmp bx, strict byte 00004h ; 83 fb 04 2105 jnbe short 0 0eefh ; 77 1a2346 jnbe short 0112bh ; 77 1a 2106 2347 mov al, bl ; 88 d8 2107 2348 mov dx, 003c4h ; ba c4 03 … … 2114 2355 out DX, AL ; ee 2115 2356 inc bx ; 43 2116 jmp short 0 0ed0h ; eb e12357 jmp short 0110ch ; eb e1 2117 2358 xor bx, bx ; 31 db 2118 jmp short 0 0ef8h ; eb 052359 jmp short 01134h ; eb 05 2119 2360 cmp bx, strict byte 00008h ; 83 fb 08 2120 jnbe short 0 0f12h ; 77 1a2361 jnbe short 0114eh ; 77 1a 2121 2362 mov al, bl ; 88 d8 2122 2363 mov dx, 003ceh ; ba ce 03 … … 2129 2370 out DX, AL ; ee 2130 2371 inc bx ; 43 2131 jmp short 0 0ef3h ; eb e12372 jmp short 0112fh ; eb e1 2132 2373 movzx bx, byte [bp-004h] ; 0f b6 5e fc 2133 2374 sal bx, 003h ; c1 e3 03 2134 2375 cmp byte [bx+04831h], 001h ; 80 bf 31 48 01 2135 jne short 0 0f25h ; 75 052376 jne short 01161h ; 75 05 2136 2377 mov dx, 003b4h ; ba b4 03 2137 jmp short 0 0f28h ; eb 032378 jmp short 01164h ; eb 03 2138 2379 mov dx, 003d4h ; ba d4 03 2139 2380 mov si, dx ; 89 d6 … … 2141 2382 out DX, ax ; ef 2142 2383 xor bx, bx ; 31 db 2143 jmp short 0 0f37h ; eb 052384 jmp short 01173h ; eb 05 2144 2385 cmp bx, strict byte 00018h ; 83 fb 18 2145 jnbe short 0 0f52h ; 77 1b2386 jnbe short 0118eh ; 77 1b 2146 2387 mov al, bl ; 88 d8 2147 2388 mov dx, si ; 89 f2 … … 2155 2396 out DX, AL ; ee 2156 2397 inc bx ; 43 2157 jmp short 0 0f32h ; eb e02398 jmp short 0116eh ; eb e0 2158 2399 mov bx, cx ; 89 cb 2159 2400 mov al, byte [bx+048cch] ; 8a 87 cc 48 … … 2168 2409 ; sub ah, ah ; 2a e4 2169 2410 cmp byte [bp-002h], 000h ; 80 7e fe 00 2170 jne short 0 0fcdh ; 75 5f2411 jne short 01209h ; 75 5f 2171 2412 movzx bx, byte [bp-004h] ; 0f b6 5e fc 2172 2413 sal bx, 003h ; c1 e3 03 2173 2414 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2174 jne short 0 0f8fh ; 75 132415 jne short 011cbh ; 75 13 2175 2416 mov es, [bx+04833h] ; 8e 87 33 48 2176 2417 mov cx, 04000h ; b9 00 40 … … 2178 2419 xor di, di ; 31 ff 2179 2420 cld ; fc 2180 jcxz 0 0f8dh ; e3 022421 jcxz 011c9h ; e3 02 2181 2422 rep stosw ; f3 ab 2182 jmp short 0 0fcdh ; eb 3e2423 jmp short 01209h ; eb 3e 2183 2424 cmp byte [bp-008h], 00dh ; 80 7e f8 0d 2184 jnc short 0 0fa7h ; 73 122425 jnc short 011e3h ; 73 12 2185 2426 mov es, [bx+04833h] ; 8e 87 33 48 2186 2427 mov cx, 04000h ; b9 00 40 … … 2188 2429 xor di, di ; 31 ff 2189 2430 cld ; fc 2190 jcxz 0 0fa5h ; e3 022431 jcxz 011e1h ; e3 02 2191 2432 rep stosw ; f3 ab 2192 jmp short 0 0fcdh ; eb 262433 jmp short 01209h ; eb 26 2193 2434 mov AL, strict byte 002h ; b0 02 2194 2435 mov dx, 003c4h ; ba c4 03 … … 2206 2447 xor di, di ; 31 ff 2207 2448 cld ; fc 2208 jcxz 0 0fc9h ; e3 022449 jcxz 01205h ; e3 02 2209 2450 rep stosw ; f3 ab 2210 2451 mov al, byte [bp-010h] ; 8a 46 f0 … … 2213 2454 mov dx, strict word 00049h ; ba 49 00 2214 2455 mov ax, strict word 00040h ; b8 40 00 2215 call 02f eah ; e8 10 202456 call 02f18h ; e8 02 1d 2216 2457 mov bx, word [bp-00ch] ; 8b 5e f4 2217 2458 mov dx, strict word 0004ah ; ba 4a 00 2218 2459 mov ax, strict word 00040h ; b8 40 00 2219 call 0 3006h ; e8 20 202460 call 02f34h ; e8 12 1d 2220 2461 movzx bx, byte [bp-006h] ; 0f b6 5e fa 2221 2462 sal bx, 006h ; c1 e3 06 … … 2223 2464 mov dx, strict word 0004ch ; ba 4c 00 2224 2465 mov ax, strict word 00040h ; b8 40 00 2225 call 0 3006h ; e8 0c 202466 call 02f34h ; e8 fe 1c 2226 2467 mov bx, si ; 89 f3 2227 2468 mov dx, strict word 00063h ; ba 63 00 2228 2469 mov ax, strict word 00040h ; b8 40 00 2229 call 0 3006h ; e8 01 202470 call 02f34h ; e8 f3 1c 2230 2471 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 2231 2472 mov dx, 00084h ; ba 84 00 2232 2473 mov ax, strict word 00040h ; b8 40 00 2233 call 02f eah ; e8 d8 1f2474 call 02f18h ; e8 ca 1c 2234 2475 mov bx, word [bp-00eh] ; 8b 5e f2 2235 2476 mov dx, 00085h ; ba 85 00 2236 2477 mov ax, strict word 00040h ; b8 40 00 2237 call 0 3006h ; e8 e8 1f2478 call 02f34h ; e8 da 1c 2238 2479 mov al, byte [bp-002h] ; 8a 46 fe 2239 2480 or AL, strict byte 060h ; 0c 60 … … 2241 2482 mov dx, 00087h ; ba 87 00 2242 2483 mov ax, strict word 00040h ; b8 40 00 2243 call 02f eah ; e8 bb 1f2484 call 02f18h ; e8 ad 1c 2244 2485 mov bx, 000f9h ; bb f9 00 2245 2486 mov dx, 00088h ; ba 88 00 2246 2487 mov ax, strict word 00040h ; b8 40 00 2247 call 02f eah ; e8 af 1f2488 call 02f18h ; e8 a1 1c 2248 2489 mov dx, 00089h ; ba 89 00 2249 2490 mov ax, strict word 00040h ; b8 40 00 2250 call 02f dch ; e8 98 1f2491 call 02f0ah ; e8 8a 1c 2251 2492 and AL, strict byte 07fh ; 24 7f 2252 2493 movzx bx, al ; 0f b6 d8 2253 2494 mov dx, 00089h ; ba 89 00 2254 2495 mov ax, strict word 00040h ; b8 40 00 2255 call 02f eah ; e8 98 1f2496 call 02f18h ; e8 8a 1c 2256 2497 mov bx, strict word 00008h ; bb 08 00 2257 2498 mov dx, 0008ah ; ba 8a 00 2258 2499 mov ax, strict word 00040h ; b8 40 00 2259 call 02f eah ; e8 8c 1f2500 call 02f18h ; e8 7e 1c 2260 2501 mov bx, 05593h ; bb 93 55 2261 2502 mov dx, 000a8h ; ba a8 00 2262 2503 mov ax, strict word 00040h ; b8 40 00 2263 call 0 3006h ; e8 9c 1f2504 call 02f34h ; e8 8e 1c 2264 2505 mov bx, 0c000h ; bb 00 c0 2265 2506 mov dx, 000aah ; ba aa 00 2266 2507 mov ax, strict word 00040h ; b8 40 00 2267 call 0 3006h ; e8 90 1f2508 call 02f34h ; e8 82 1c 2268 2509 xor bx, bx ; 31 db 2269 2510 mov dx, strict word 00065h ; ba 65 00 2270 2511 mov ax, strict word 00040h ; b8 40 00 2271 call 02f eah ; e8 69 1f2512 call 02f18h ; e8 5b 1c 2272 2513 xor bx, bx ; 31 db 2273 2514 mov dx, strict word 00066h ; ba 66 00 2274 2515 mov ax, strict word 00040h ; b8 40 00 2275 call 02f eah ; e8 5e 1f2516 call 02f18h ; e8 50 1c 2276 2517 movzx bx, byte [bp-004h] ; 0f b6 5e fc 2277 2518 sal bx, 003h ; c1 e3 03 2278 2519 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2279 jne short 01 0a3h ; 75 092520 jne short 012dfh ; 75 09 2280 2521 mov dx, strict word 00007h ; ba 07 00 2281 2522 mov ax, strict word 00006h ; b8 06 00 2282 call 00 b14h ; e8 71fa2523 call 00daah ; e8 cb fa 2283 2524 xor bx, bx ; 31 db 2284 jmp short 01 0ach ; eb 052525 jmp short 012e8h ; eb 05 2285 2526 cmp bx, strict byte 00008h ; 83 fb 08 2286 jnc short 01 0b7h ; 73 0b2527 jnc short 012f3h ; 73 0b 2287 2528 movzx ax, bl ; 0f b6 c3 2288 2529 xor dx, dx ; 31 d2 2289 call 00 bb5h ; e8 01fb2530 call 00e4bh ; e8 5b fb 2290 2531 inc bx ; 43 2291 jmp short 01 0a7h ; eb f02532 jmp short 012e3h ; eb f0 2292 2533 xor ax, ax ; 31 c0 2293 call 00 ca8h ; e8 ecfb2534 call 00ee9h ; e8 f1 fb 2294 2535 movzx bx, byte [bp-004h] ; 0f b6 5e fc 2295 2536 sal bx, 003h ; c1 e3 03 2296 2537 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2297 jne short 01 0dah ; 75 102538 jne short 01316h ; 75 10 2298 2539 xor bl, bl ; 30 db 2299 2540 mov AL, strict byte 004h ; b0 04 … … 2306 2547 mov dx, 059afh ; ba af 59 2307 2548 mov ax, strict word 0001fh ; b8 1f 00 2308 call 00a00h ; e8 1d f92549 call 00a00h ; e8 e1 f6 2309 2550 mov ax, word [bp-00eh] ; 8b 46 f2 2310 2551 cmp ax, strict word 00010h ; 3d 10 00 2311 je short 01 105h ; 74 1a2552 je short 01341h ; 74 1a 2312 2553 cmp ax, strict word 0000eh ; 3d 0e 00 2313 je short 01 100h ; 74 102554 je short 0133ch ; 74 10 2314 2555 cmp ax, strict word 00008h ; 3d 08 00 2315 jne short 01 10ah ; 75 152556 jne short 01346h ; 75 15 2316 2557 mov dx, 055afh ; ba af 55 2317 2558 mov ax, strict word 00043h ; b8 43 00 2318 call 00a00h ; e8 02 f92319 jmp short 01 10ah ; eb 0a2559 call 00a00h ; e8 c6 f6 2560 jmp short 01346h ; eb 0a 2320 2561 mov dx, 05dafh ; ba af 5d 2321 jmp short 01 0f8h ; eb f32562 jmp short 01334h ; eb f3 2322 2563 mov dx, 06bafh ; ba af 6b 2323 jmp short 01 0f8h ; eb ee2564 jmp short 01334h ; eb ee 2324 2565 leave ; c9 2325 2566 pop di ; 5f … … 2329 2570 pop bx ; 5b 2330 2571 retn ; c3 2331 vgamem_copy_pl4_: ; 0xc1 111LB 0x722572 vgamem_copy_pl4_: ; 0xc134d LB 0x72 2332 2573 push si ; 56 2333 2574 push di ; 57 … … 2352 2593 xor bl, bl ; 30 db 2353 2594 cmp bl, byte [bp+00ah] ; 3a 5e 0a 2354 jnc short 01 176h ; 73 292595 jnc short 013b2h ; 73 29 2355 2596 movzx cx, bh ; 0f b6 cf 2356 2597 movzx si, bl ; 0f b6 f3 … … 2364 2605 mov es, dx ; 8e c2 2365 2606 cld ; fc 2366 jcxz 01 172h ; e3 062607 jcxz 013aeh ; e3 06 2367 2608 push DS ; 1e 2368 2609 mov ds, dx ; 8e da … … 2371 2612 db 0feh, 0c3h 2372 2613 ; inc bl ; fe c3 2373 jmp short 01 148h ; eb d22614 jmp short 01384h ; eb d2 2374 2615 mov ax, strict word 00005h ; b8 05 00 2375 2616 mov dx, 003ceh ; ba ce 03 … … 2379 2620 pop si ; 5e 2380 2621 retn 00004h ; c2 04 00 2381 vgamem_fill_pl4_: ; 0xc1 183LB 0x5d2622 vgamem_fill_pl4_: ; 0xc13bf LB 0x5d 2382 2623 push di ; 57 2383 2624 enter 00004h, 000h ; c8 04 00 00 … … 2397 2638 xor bl, bl ; 30 db 2398 2639 cmp bl, byte [bp+006h] ; 3a 5e 06 2399 jnc short 01 1d4h ; 73 222640 jnc short 01410h ; 73 22 2400 2641 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2401 2642 movzx ax, byte [bp+008h] ; 0f b6 46 08 … … 2407 2648 mov es, dx ; 8e c2 2408 2649 cld ; fc 2409 jcxz 01 1d0h ; e3 022650 jcxz 0140ch ; e3 02 2410 2651 rep stosb ; f3 aa 2411 2652 db 0feh, 0c3h 2412 2653 ; inc bl ; fe c3 2413 jmp short 01 1adh ; eb d92654 jmp short 013e9h ; eb d9 2414 2655 mov ax, strict word 00005h ; b8 05 00 2415 2656 mov dx, 003ceh ; ba ce 03 … … 2418 2659 pop di ; 5f 2419 2660 retn 00004h ; c2 04 00 2420 vgamem_copy_cga_: ; 0xc1 1e0LB 0xa02661 vgamem_copy_cga_: ; 0xc141c LB 0xa0 2421 2662 push si ; 56 2422 2663 push di ; 57 … … 2440 2681 xor bl, bl ; 30 db 2441 2682 cmp bl, byte [bp+00ah] ; 3a 5e 0a 2442 jnc short 01 27ah ; 73 612683 jnc short 014b6h ; 73 61 2443 2684 test bl, 001h ; f6 c3 01 2444 je short 01 24fh ; 74 312685 je short 0148bh ; 74 31 2445 2686 movzx cx, bh ; 0f b6 cf 2446 2687 movzx si, bl ; 0f b6 f3 … … 2457 2698 mov es, dx ; 8e c2 2458 2699 cld ; fc 2459 jcxz 01 24dh ; e3 062700 jcxz 01489h ; e3 06 2460 2701 push DS ; 1e 2461 2702 mov ds, dx ; 8e da 2462 2703 rep movsb ; f3 a4 2463 2704 pop DS ; 1f 2464 jmp short 01 276h ; eb 272705 jmp short 014b2h ; eb 27 2465 2706 movzx cx, bh ; 0f b6 cf 2466 2707 movzx ax, bl ; 0f b6 c3 … … 2475 2716 mov es, dx ; 8e c2 2476 2717 cld ; fc 2477 jcxz 01 276h ; e3 062718 jcxz 014b2h ; e3 06 2478 2719 push DS ; 1e 2479 2720 mov ds, dx ; 8e da … … 2482 2723 db 0feh, 0c3h 2483 2724 ; inc bl ; fe c3 2484 jmp short 01 214h ; eb 9a2725 jmp short 01450h ; eb 9a 2485 2726 leave ; c9 2486 2727 pop di ; 5f 2487 2728 pop si ; 5e 2488 2729 retn 00004h ; c2 04 00 2489 vgamem_fill_cga_: ; 0xc1 280LB 0x862730 vgamem_fill_cga_: ; 0xc14bc LB 0x86 2490 2731 push si ; 56 2491 2732 push di ; 57 … … 2503 2744 xor bl, bl ; 30 db 2504 2745 cmp bl, byte [bp+008h] ; 3a 5e 08 2505 jnc short 01 300h ; 73 572746 jnc short 0153ch ; 73 57 2506 2747 test bl, 001h ; f6 c3 01 2507 je short 01 2ddh ; 74 2f2748 je short 01519h ; 74 2f 2508 2749 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2509 2750 movzx ax, byte [bp+00ah] ; 0f b6 46 0a … … 2520 2761 mov es, dx ; 8e c2 2521 2762 cld ; fc 2522 jcxz 01 2dbh ; e3 022763 jcxz 01517h ; e3 02 2523 2764 rep stosb ; f3 aa 2524 jmp short 01 2fch ; eb 1f2765 jmp short 01538h ; eb 1f 2525 2766 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2526 2767 movzx ax, byte [bp+00ah] ; 0f b6 46 0a … … 2533 2774 mov es, dx ; 8e c2 2534 2775 cld ; fc 2535 jcxz 01 2fch ; e3 022776 jcxz 01538h ; e3 02 2536 2777 rep stosb ; f3 aa 2537 2778 db 0feh, 0c3h 2538 2779 ; inc bl ; fe c3 2539 jmp short 01 2a4h ; eb a42780 jmp short 014e0h ; eb a4 2540 2781 leave ; c9 2541 2782 pop di ; 5f 2542 2783 pop si ; 5e 2543 2784 retn 00004h ; c2 04 00 2544 biosfn_scroll_: ; 0xc1 306LB 0x5012785 biosfn_scroll_: ; 0xc1542 LB 0x501 2545 2786 push si ; 56 2546 2787 push di ; 57 … … 2551 2792 mov byte [bp-002h], cl ; 88 4e fe 2552 2793 cmp bl, byte [bp+008h] ; 3a 5e 08 2553 jnbe near 01 801h ; 0f 87 e2 042794 jnbe near 01a3dh ; 0f 87 e2 04 2554 2795 cmp cl, byte [bp+00ah] ; 3a 4e 0a 2555 jnbe near 01 801h ; 0f 87 db 042796 jnbe near 01a3dh ; 0f 87 db 04 2556 2797 mov dx, strict word 00049h ; ba 49 00 2557 2798 mov ax, strict word 00040h ; b8 40 00 2558 call 02f dch ; e8 ad 1c2799 call 02f0ah ; e8 9f 19 2559 2800 xor ah, ah ; 30 e4 2560 call 02 fb5h ; e8 81 1c2801 call 02ee3h ; e8 73 19 2561 2802 mov byte [bp-00ah], al ; 88 46 f6 2562 2803 cmp AL, strict byte 0ffh ; 3c ff 2563 je near 01 801h ; 0f 84 c4 042804 je near 01a3dh ; 0f 84 c4 04 2564 2805 mov dx, 00084h ; ba 84 00 2565 2806 mov ax, strict word 00040h ; b8 40 00 2566 call 02f dch ; e8 96 1c2807 call 02f0ah ; e8 88 19 2567 2808 movzx cx, al ; 0f b6 c8 2568 2809 inc cx ; 41 2569 2810 mov dx, strict word 0004ah ; ba 4a 00 2570 2811 mov ax, strict word 00040h ; b8 40 00 2571 call 02f f8h ; e8 a5 1c2812 call 02f26h ; e8 97 19 2572 2813 mov word [bp-012h], ax ; 89 46 ee 2573 2814 cmp byte [bp+00ch], 0ffh ; 80 7e 0c ff 2574 jne short 01 368h ; 75 0c2815 jne short 015a4h ; 75 0c 2575 2816 mov dx, strict word 00062h ; ba 62 00 2576 2817 mov ax, strict word 00040h ; b8 40 00 2577 call 02f dch ; e8 77 1c2818 call 02f0ah ; e8 69 19 2578 2819 mov byte [bp+00ch], al ; 88 46 0c 2579 2820 movzx ax, byte [bp+008h] ; 0f b6 46 08 2580 2821 cmp ax, cx ; 39 c8 2581 jc short 01 377h ; 72 072822 jc short 015b3h ; 72 07 2582 2823 mov al, cl ; 88 c8 2583 2824 db 0feh, 0c8h … … 2586 2827 movzx ax, byte [bp+00ah] ; 0f b6 46 0a 2587 2828 cmp ax, word [bp-012h] ; 3b 46 ee 2588 jc short 01 388h ; 72 082829 jc short 015c4h ; 72 08 2589 2830 mov al, byte [bp-012h] ; 8a 46 ee 2590 2831 db 0feh, 0c8h … … 2593 2834 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2594 2835 cmp ax, cx ; 39 c8 2595 jbe short 01 394h ; 76 042836 jbe short 015d0h ; 76 04 2596 2837 mov byte [bp-00ch], 000h ; c6 46 f4 00 2597 2838 mov al, byte [bp+00ah] ; 8a 46 0a … … 2612 2853 imul ax, cx ; 0f af c1 2613 2854 cmp byte [di+04830h], 000h ; 80 bd 30 48 00 2614 jne near 01 563h ; 0f 85 9f 012855 jne near 0179fh ; 0f 85 9f 01 2615 2856 mov dx, ax ; 89 c2 2616 2857 add dx, ax ; 01 c2 … … 2620 2861 imul bx, dx ; 0f af da 2621 2862 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2622 jne short 01 413h ; 75 3a2863 jne short 0164fh ; 75 3a 2623 2864 cmp byte [bp-004h], 000h ; 80 7e fc 00 2624 jne short 01 413h ; 75 342865 jne short 0164fh ; 75 34 2625 2866 cmp byte [bp-002h], 000h ; 80 7e fe 00 2626 jne short 01 413h ; 75 2e2867 jne short 0164fh ; 75 2e 2627 2868 movzx dx, byte [bp+008h] ; 0f b6 56 08 2628 2869 cmp dx, word [bp-016h] ; 3b 56 ea 2629 jne short 01 413h ; 75 252870 jne short 0164fh ; 75 25 2630 2871 movzx dx, byte [bp+00ah] ; 0f b6 56 0a 2631 2872 cmp dx, word [bp-014h] ; 3b 56 ec 2632 jne short 01 413h ; 75 1c2873 jne short 0164fh ; 75 1c 2633 2874 movzx dx, byte [bp-008h] ; 0f b6 56 f8 2634 2875 sal dx, 008h ; c1 e2 08 … … 2639 2880 mov di, bx ; 89 df 2640 2881 cld ; fc 2641 jcxz 01 410h ; e3 022882 jcxz 0164ch ; e3 02 2642 2883 rep stosw ; f3 ab 2643 jmp near 01 801h ; e9 ee 032884 jmp near 01a3dh ; e9 ee 03 2644 2885 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 2645 jne near 01 4b8h ; 0f 85 9d 002886 jne near 016f4h ; 0f 85 9d 00 2646 2887 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2647 2888 mov word [bp-010h], ax ; 89 46 f0 2648 2889 movzx dx, byte [bp+008h] ; 0f b6 56 08 2649 2890 cmp dx, word [bp-010h] ; 3b 56 f0 2650 jc near 01 801h ; 0f 82 d4 032891 jc near 01a3dh ; 0f 82 d4 03 2651 2892 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2652 2893 add ax, word [bp-010h] ; 03 46 f0 2653 2894 cmp ax, dx ; 39 d0 2654 jnbe short 01 43eh ; 77 062895 jnbe short 0167ah ; 77 06 2655 2896 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2656 jne short 01 471h ; 75 332897 jne short 016adh ; 75 33 2657 2898 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2658 2899 movzx ax, byte [bp-008h] ; 0f b6 46 f8 … … 2670 2911 mov es, [si+04833h] ; 8e 84 33 48 2671 2912 cld ; fc 2672 jcxz 01 46fh ; e3 022913 jcxz 016abh ; e3 02 2673 2914 rep stosw ; f3 ab 2674 jmp short 01 4b2h ; eb 412915 jmp short 016eeh ; eb 41 2675 2916 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 2676 2917 mov word [bp-018h], dx ; 89 56 e8 … … 2694 2935 mov es, ax ; 8e c0 2695 2936 cld ; fc 2696 jcxz 01 4b2h ; e3 062937 jcxz 016eeh ; e3 06 2697 2938 push DS ; 1e 2698 2939 mov ds, dx ; 8e da … … 2700 2941 pop DS ; 1f 2701 2942 inc word [bp-010h] ; ff 46 f0 2702 jmp near 01 422h ; e9 6a ff2943 jmp near 0165eh ; e9 6a ff 2703 2944 movzx ax, byte [bp+008h] ; 0f b6 46 08 2704 2945 mov word [bp-010h], ax ; 89 46 f0 2705 2946 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2706 2947 cmp ax, word [bp-010h] ; 3b 46 f0 2707 jnbe near 01 801h ; 0f 87 37 032948 jnbe near 01a3dh ; 0f 87 37 03 2708 2949 movzx dx, byte [bp-004h] ; 0f b6 56 fc 2709 2950 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2710 2951 add ax, dx ; 01 d0 2711 2952 cmp ax, word [bp-010h] ; 3b 46 f0 2712 jnbe short 01 4dfh ; 77 062953 jnbe short 0171bh ; 77 06 2713 2954 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2714 jne short 01 512h ; 75 332955 jne short 0174eh ; 75 33 2715 2956 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2716 2957 movzx ax, byte [bp-008h] ; 0f b6 46 f8 … … 2728 2969 mov es, [si+04833h] ; 8e 84 33 48 2729 2970 cld ; fc 2730 jcxz 01 510h ; e3 022971 jcxz 0174ch ; e3 02 2731 2972 rep stosw ; f3 ab 2732 jmp short 01 552h ; eb 402973 jmp short 0178eh ; eb 40 2733 2974 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2734 2975 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2751 2992 mov es, ax ; 8e c0 2752 2993 cld ; fc 2753 jcxz 01 552h ; e3 062994 jcxz 0178eh ; e3 06 2754 2995 push DS ; 1e 2755 2996 mov ds, dx ; 8e da … … 2758 2999 movzx ax, byte [bp+008h] ; 0f b6 46 08 2759 3000 cmp ax, word [bp-010h] ; 3b 46 f0 2760 jc near 01 801h ; 0f 82 a4 023001 jc near 01a3dh ; 0f 82 a4 02 2761 3002 dec word [bp-010h] ; ff 4e f0 2762 jmp near 01 4bfh ; e9 5c ff3003 jmp near 016fbh ; e9 5c ff 2763 3004 movzx bx, byte [si+048afh] ; 0f b6 9c af 48 2764 3005 sal bx, 006h ; c1 e3 06 … … 2767 3008 mov bl, byte [di+04831h] ; 8a 9d 31 48 2768 3009 cmp bl, 004h ; 80 fb 04 2769 je short 01 58ah ; 74 0f3010 je short 017c6h ; 74 0f 2770 3011 cmp bl, 003h ; 80 fb 03 2771 je short 01 58ah ; 74 0a3012 je short 017c6h ; 74 0a 2772 3013 cmp bl, 002h ; 80 fb 02 2773 je near 01 6c9h ; 0f 84 42 012774 jmp near 01 801h ; e9 77 023014 je near 01905h ; 0f 84 42 01 3015 jmp near 01a3dh ; e9 77 02 2775 3016 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2776 jne short 01 5e2h ; 75 523017 jne short 0181eh ; 75 52 2777 3018 cmp byte [bp-004h], 000h ; 80 7e fc 00 2778 jne short 01 5e2h ; 75 4c3019 jne short 0181eh ; 75 4c 2779 3020 cmp byte [bp-002h], 000h ; 80 7e fe 00 2780 jne short 01 5e2h ; 75 463021 jne short 0181eh ; 75 46 2781 3022 movzx dx, byte [bp+008h] ; 0f b6 56 08 2782 3023 mov ax, cx ; 89 c8 2783 3024 dec ax ; 48 2784 3025 cmp dx, ax ; 39 c2 2785 jne short 01 5e2h ; 75 3b3026 jne short 0181eh ; 75 3b 2786 3027 movzx dx, byte [bp+00ah] ; 0f b6 56 0a 2787 3028 mov ax, word [bp-012h] ; 8b 46 ee 2788 3029 dec ax ; 48 2789 3030 cmp dx, ax ; 39 c2 2790 jne short 01 5e2h ; 75 2f3031 jne short 0181eh ; 75 2f 2791 3032 mov ax, 00205h ; b8 05 02 2792 3033 mov dx, 003ceh ; ba ce 03 … … 2801 3042 xor di, di ; 31 ff 2802 3043 cld ; fc 2803 jcxz 01 5dbh ; e3 023044 jcxz 01817h ; e3 02 2804 3045 rep stosb ; f3 aa 2805 3046 mov ax, strict word 00005h ; b8 05 00 2806 3047 out DX, ax ; ef 2807 jmp near 01 801h ; e9 1f 023048 jmp near 01a3dh ; e9 1f 02 2808 3049 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 2809 jne short 01 651h ; 75 693050 jne short 0188dh ; 75 69 2810 3051 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2811 3052 mov word [bp-010h], ax ; 89 46 f0 2812 3053 movzx ax, byte [bp+008h] ; 0f b6 46 08 2813 3054 cmp ax, word [bp-010h] ; 3b 46 f0 2814 jc near 01 801h ; 0f 82 07 023055 jc near 01a3dh ; 0f 82 07 02 2815 3056 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2816 3057 add dx, word [bp-010h] ; 03 56 f0 2817 3058 cmp dx, ax ; 39 c2 2818 jnbe short 01 60bh ; 77 063059 jnbe short 01847h ; 77 06 2819 3060 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2820 jne short 01 62ah ; 75 1f3061 jne short 01866h ; 75 1f 2821 3062 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2822 3063 push ax ; 50 … … 2827 3068 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2828 3069 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2829 call 01 183h ; e8 5b fb2830 jmp short 01 64ch ; eb 223070 call 013bfh ; e8 5b fb 3071 jmp short 01888h ; eb 22 2831 3072 movzx ax, byte [bp-006h] ; 0f b6 46 fa 2832 3073 push ax ; 50 … … 2839 3080 movzx dx, al ; 0f b6 d0 2840 3081 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2841 call 01 111h ; e8 c5 fa3082 call 0134dh ; e8 c5 fa 2842 3083 inc word [bp-010h] ; ff 46 f0 2843 jmp short 01 5efh ; eb 9e3084 jmp short 0182bh ; eb 9e 2844 3085 movzx ax, byte [bp+008h] ; 0f b6 46 08 2845 3086 mov word [bp-010h], ax ; 89 46 f0 2846 3087 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2847 3088 cmp ax, word [bp-010h] ; 3b 46 f0 2848 jnbe near 01 801h ; 0f 87 9e 013089 jnbe near 01a3dh ; 0f 87 9e 01 2849 3090 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2850 3091 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2851 3092 add ax, dx ; 01 d0 2852 3093 cmp ax, word [bp-010h] ; 3b 46 f0 2853 jnbe short 01 678h ; 77 063094 jnbe short 018b4h ; 77 06 2854 3095 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2855 jne short 01 697h ; 75 1f3096 jne short 018d3h ; 75 1f 2856 3097 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2857 3098 push ax ; 50 … … 2862 3103 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2863 3104 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2864 call 01 183h ; e8 ee fa2865 jmp short 01 6b9h ; eb 223105 call 013bfh ; e8 ee fa 3106 jmp short 018f5h ; eb 22 2866 3107 movzx ax, byte [bp-006h] ; 0f b6 46 fa 2867 3108 push ax ; 50 … … 2874 3115 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2875 3116 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2876 call 01 111h ; e8 58 fa3117 call 0134dh ; e8 58 fa 2877 3118 movzx ax, byte [bp+008h] ; 0f b6 46 08 2878 3119 cmp ax, word [bp-010h] ; 3b 46 f0 2879 jc near 01 801h ; 0f 82 3d 013120 jc near 01a3dh ; 0f 82 3d 01 2880 3121 dec word [bp-010h] ; ff 4e f0 2881 jmp short 01 658h ; eb 8f3122 jmp short 01894h ; eb 8f 2882 3123 mov dl, byte [di+04832h] ; 8a 95 32 48 2883 3124 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2884 jne short 01 710h ; 75 3d3125 jne short 0194ch ; 75 3d 2885 3126 cmp byte [bp-004h], 000h ; 80 7e fc 00 2886 jne short 01 710h ; 75 373127 jne short 0194ch ; 75 37 2887 3128 cmp byte [bp-002h], 000h ; 80 7e fe 00 2888 jne short 01 710h ; 75 313129 jne short 0194ch ; 75 31 2889 3130 movzx bx, byte [bp+008h] ; 0f b6 5e 08 2890 3131 cmp bx, word [bp-016h] ; 3b 5e ea 2891 jne short 01 710h ; 75 283132 jne short 0194ch ; 75 28 2892 3133 movzx bx, byte [bp+00ah] ; 0f b6 5e 0a 2893 3134 cmp bx, word [bp-014h] ; 3b 5e ec 2894 jne short 01 710h ; 75 1f3135 jne short 0194ch ; 75 1f 2895 3136 movzx bx, byte [bp-006h] ; 0f b6 5e fa 2896 3137 imul ax, bx ; 0f af c3 … … 2901 3142 xor di, di ; 31 ff 2902 3143 cld ; fc 2903 jcxz 01 70dh ; e3 023144 jcxz 01949h ; e3 02 2904 3145 rep stosb ; f3 aa 2905 jmp near 01 801h ; e9 f1 003146 jmp near 01a3dh ; e9 f1 00 2906 3147 cmp dl, 002h ; 80 fa 02 2907 jne short 01 71eh ; 75 093148 jne short 0195ah ; 75 09 2908 3149 sal byte [bp-002h], 1 ; d0 66 fe 2909 3150 sal byte [bp-00eh], 1 ; d0 66 f2 2910 3151 sal word [bp-012h], 1 ; d1 66 ee 2911 3152 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 2912 jne short 01 78dh ; 75 693153 jne short 019c9h ; 75 69 2913 3154 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2914 3155 mov word [bp-010h], ax ; 89 46 f0 2915 3156 movzx ax, byte [bp+008h] ; 0f b6 46 08 2916 3157 cmp ax, word [bp-010h] ; 3b 46 f0 2917 jc near 01 801h ; 0f 82 cb 003158 jc near 01a3dh ; 0f 82 cb 00 2918 3159 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2919 3160 add dx, word [bp-010h] ; 03 56 f0 2920 3161 cmp dx, ax ; 39 c2 2921 jnbe short 01 747h ; 77 063162 jnbe short 01983h ; 77 06 2922 3163 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2923 jne short 01 766h ; 75 1f3164 jne short 019a2h ; 75 1f 2924 3165 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2925 3166 push ax ; 50 … … 2930 3171 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2931 3172 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2932 call 01 280h ; e8 1c fb2933 jmp short 01 788h ; eb 223173 call 014bch ; e8 1c fb 3174 jmp short 019c4h ; eb 22 2934 3175 movzx ax, byte [bp-006h] ; 0f b6 46 fa 2935 3176 push ax ; 50 … … 2942 3183 movzx dx, al ; 0f b6 d0 2943 3184 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2944 call 01 1e0h ; e8 58 fa3185 call 0141ch ; e8 58 fa 2945 3186 inc word [bp-010h] ; ff 46 f0 2946 jmp short 01 72bh ; eb 9e3187 jmp short 01967h ; eb 9e 2947 3188 movzx ax, byte [bp+008h] ; 0f b6 46 08 2948 3189 mov word [bp-010h], ax ; 89 46 f0 2949 3190 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2950 3191 cmp ax, word [bp-010h] ; 3b 46 f0 2951 jnbe short 01 801h ; 77 643192 jnbe short 01a3dh ; 77 64 2952 3193 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2953 3194 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2954 3195 add ax, dx ; 01 d0 2955 3196 cmp ax, word [bp-010h] ; 3b 46 f0 2956 jnbe short 01 7b2h ; 77 063197 jnbe short 019eeh ; 77 06 2957 3198 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2958 jne short 01 7d1h ; 75 1f3199 jne short 01a0dh ; 75 1f 2959 3200 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2960 3201 push ax ; 50 … … 2965 3206 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2966 3207 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2967 call 01 280h ; e8 b1 fa2968 jmp short 01 7f3h ; eb 223208 call 014bch ; e8 b1 fa 3209 jmp short 01a2fh ; eb 22 2969 3210 movzx ax, byte [bp-006h] ; 0f b6 46 fa 2970 3211 push ax ; 50 … … 2977 3218 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2978 3219 movzx ax, byte [bp-002h] ; 0f b6 46 fe 2979 call 01 1e0h ; e8 ed f93220 call 0141ch ; e8 ed f9 2980 3221 movzx ax, byte [bp+008h] ; 0f b6 46 08 2981 3222 cmp ax, word [bp-010h] ; 3b 46 f0 2982 jc short 01 801h ; 72 053223 jc short 01a3dh ; 72 05 2983 3224 dec word [bp-010h] ; ff 4e f0 2984 jmp short 01 794h ; eb 933225 jmp short 019d0h ; eb 93 2985 3226 leave ; c9 2986 3227 pop di ; 5f 2987 3228 pop si ; 5e 2988 3229 retn 00008h ; c2 08 00 2989 biosfn_read_char_attr_: ; 0xc1807 LB 0xa5 2990 push bx ; 53 2991 push cx ; 51 2992 push si ; 56 2993 push di ; 57 2994 enter 0000ch, 000h ; c8 0c 00 00 2995 mov byte [bp-006h], al ; 88 46 fa 2996 mov si, dx ; 89 d6 2997 mov ax, ss ; 8c d0 2998 mov di, ax ; 89 c7 2999 mov dx, strict word 00049h ; ba 49 00 3000 mov ax, strict word 00040h ; b8 40 00 3001 call 02fdch ; e8 bb 17 3002 xor ah, ah ; 30 e4 3003 call 02fb5h ; e8 8f 17 3004 mov byte [bp-004h], al ; 88 46 fc 3005 cmp AL, strict byte 0ffh ; 3c ff 3006 je short 018a6h ; 74 79 3007 lea dx, [bp-00ch] ; 8d 56 f4 3008 push SS ; 16 3009 push dx ; 52 3010 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3011 mov cx, ss ; 8c d1 3012 lea bx, [bp-00ah] ; 8d 5e f6 3013 call 00c53h ; e8 15 f4 3014 mov al, byte [bp-00ch] ; 8a 46 f4 3015 mov byte [bp-002h], al ; 88 46 fe 3016 mov ax, word [bp-00ch] ; 8b 46 f4 3017 xor al, al ; 30 c0 3018 shr ax, 008h ; c1 e8 08 3019 mov word [bp-008h], ax ; 89 46 f8 3020 mov dx, 00084h ; ba 84 00 3021 mov ax, strict word 00040h ; b8 40 00 3022 call 02fdch ; e8 84 17 3023 movzx cx, al ; 0f b6 c8 3024 inc cx ; 41 3025 mov dx, strict word 0004ah ; ba 4a 00 3026 mov ax, strict word 00040h ; b8 40 00 3027 call 02ff8h ; e8 93 17 3028 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3029 sal bx, 003h ; c1 e3 03 3030 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3031 jne short 018a6h ; 75 33 3032 mov dx, ax ; 89 c2 3033 imul dx, cx ; 0f af d1 3034 add dx, dx ; 01 d2 3035 or dl, 0ffh ; 80 ca ff 3036 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3037 inc dx ; 42 3038 imul dx, cx ; 0f af d1 3039 movzx cx, byte [bp-008h] ; 0f b6 4e f8 3040 imul ax, cx ; 0f af c1 3041 movzx cx, byte [bp-002h] ; 0f b6 4e fe 3042 add ax, cx ; 01 c8 3043 add ax, ax ; 01 c0 3044 add dx, ax ; 01 c2 3045 mov ax, word [bx+04833h] ; 8b 87 33 48 3046 call 02ff8h ; e8 5b 17 3047 mov bx, ax ; 89 c3 3048 mov dx, si ; 89 f2 3049 mov ax, di ; 89 f8 3050 call 03006h ; e8 60 17 3051 leave ; c9 3052 pop di ; 5f 3053 pop si ; 5e 3054 pop cx ; 59 3055 pop bx ; 5b 3056 retn ; c3 3057 write_gfx_char_pl4_: ; 0xc18ac LB 0xe6 3230 write_gfx_char_pl4_: ; 0xc1a43 LB 0xe6 3058 3231 push si ; 56 3059 3232 push di ; 57 … … 3062 3235 mov ah, bl ; 88 dc 3063 3236 cmp byte [bp+00ah], 010h ; 80 7e 0a 10 3064 je short 01 8c8h ; 74 0b3237 je short 01a5fh ; 74 0b 3065 3238 cmp byte [bp+00ah], 00eh ; 80 7e 0a 0e 3066 jne short 01 8cdh ; 75 0a3239 jne short 01a64h ; 75 0a 3067 3240 mov di, 05dafh ; bf af 5d 3068 jmp short 01 8d0h ; eb 083241 jmp short 01a67h ; eb 08 3069 3242 mov di, 06bafh ; bf af 6b 3070 jmp short 01 8d0h ; eb 033243 jmp short 01a67h ; eb 03 3071 3244 mov di, 055afh ; bf af 55 3072 3245 movzx si, cl ; 0f b6 f1 … … 3088 3261 out DX, ax ; ef 3089 3262 test byte [bp-002h], 080h ; f6 46 fe 80 3090 je short 01 90bh ; 74 063263 je short 01aa2h ; 74 06 3091 3264 mov ax, 01803h ; b8 03 18 3092 3265 out DX, ax ; ef 3093 jmp short 01 90fh ; eb 043266 jmp short 01aa6h ; eb 04 3094 3267 mov ax, strict word 00003h ; b8 03 00 3095 3268 out DX, ax ; ef 3096 3269 xor ch, ch ; 30 ed 3097 3270 cmp ch, byte [bp+00ah] ; 3a 6e 0a 3098 jnc short 01 97dh ; 73 673271 jnc short 01b14h ; 73 67 3099 3272 movzx si, ch ; 0f b6 f5 3100 3273 movzx ax, byte [bp+008h] ; 0f b6 46 08 … … 3102 3275 add si, word [bp-00ah] ; 03 76 f6 3103 3276 mov byte [bp-004h], 000h ; c6 46 fc 00 3104 jmp short 01 93ch ; eb 133277 jmp short 01ad3h ; eb 13 3105 3278 xor bx, bx ; 31 db 3106 3279 mov dx, si ; 89 f2 3107 3280 mov ax, 0a000h ; b8 00 a0 3108 call 02f eah ; e8 b7 163281 call 02f18h ; e8 4e 14 3109 3282 inc byte [bp-004h] ; fe 46 fc 3110 3283 cmp byte [bp-004h], 008h ; 80 7e fc 08 3111 jnc short 01 979h ; 73 3d3284 jnc short 01b10h ; 73 3d 3112 3285 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3113 3286 mov cl, al ; 88 c1 … … 3122 3295 mov dx, si ; 89 f2 3123 3296 mov ax, 0a000h ; b8 00 a0 3124 call 02f dch ; e8 7f 163297 call 02f0ah ; e8 16 14 3125 3298 movzx ax, ch ; 0f b6 c5 3126 3299 add ax, word [bp-006h] ; 03 46 fa … … 3129 3302 movzx ax, byte [bx] ; 0f b6 07 3130 3303 test word [bp-008h], ax ; 85 46 f8 3131 je short 01 929h ; 74 ba3304 je short 01ac0h ; 74 ba 3132 3305 mov al, byte [bp-002h] ; 8a 46 fe 3133 3306 and AL, strict byte 00fh ; 24 0f 3134 3307 movzx bx, al ; 0f b6 d8 3135 jmp short 01 92bh ; eb b23308 jmp short 01ac2h ; eb b2 3136 3309 db 0feh, 0c5h 3137 3310 ; inc ch ; fe c5 3138 jmp short 01 911h ; eb 943311 jmp short 01aa8h ; eb 94 3139 3312 mov ax, 0ff08h ; b8 08 ff 3140 3313 mov dx, 003ceh ; ba ce 03 … … 3148 3321 pop si ; 5e 3149 3322 retn 00004h ; c2 04 00 3150 write_gfx_char_cga_: ; 0xc1 992LB 0x1193323 write_gfx_char_cga_: ; 0xc1b29 LB 0x119 3151 3324 push si ; 56 3152 3325 push di ; 57 … … 3164 3337 sal di, 003h ; c1 e7 03 3165 3338 mov byte [bp-002h], 000h ; c6 46 fe 00 3166 jmp near 01 a10h ; e9 50 003339 jmp near 01ba7h ; e9 50 00 3167 3340 xor al, al ; 30 c0 3168 3341 xor ah, ah ; 30 e4 3169 jmp short 01 9d1h ; eb 0b3342 jmp short 01b68h ; eb 0b 3170 3343 or al, bl ; 08 d8 3171 3344 shr ch, 1 ; d0 ed … … 3173 3346 ; inc ah ; fe c4 3174 3347 cmp ah, 008h ; 80 fc 08 3175 jnc short 01 9f9h ; 73 283348 jnc short 01b90h ; 73 28 3176 3349 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3177 3350 add bx, di ; 01 fb … … 3180 3353 movzx dx, ch ; 0f b6 d5 3181 3354 test bx, dx ; 85 d3 3182 je short 01 9c8h ; 74 e53355 je short 01b5fh ; 74 e5 3183 3356 mov CL, strict byte 007h ; b1 07 3184 3357 sub cl, ah ; 28 e1 … … 3187 3360 sal bl, CL ; d2 e3 3188 3361 test byte [bp-004h], 080h ; f6 46 fc 80 3189 je short 01 9c6h ; 74 d13362 je short 01b5dh ; 74 d1 3190 3363 xor al, bl ; 30 d8 3191 jmp short 01 9c8h ; eb cf3364 jmp short 01b5fh ; eb cf 3192 3365 movzx bx, al ; 0f b6 d8 3193 3366 mov dx, word [bp-006h] ; 8b 56 fa 3194 3367 mov ax, 0b800h ; b8 00 b8 3195 call 02f eah ; e8 e5 153368 call 02f18h ; e8 7c 13 3196 3369 inc byte [bp-002h] ; fe 46 fe 3197 3370 cmp byte [bp-002h], 008h ; 80 7e fe 08 3198 jnc near 01 aa5h ; 0f 83 95 003371 jnc near 01c3ch ; 0f 83 95 00 3199 3372 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3200 3373 sar ax, 1 ; d1 f8 … … 3204 3377 mov word [bp-006h], bx ; 89 5e fa 3205 3378 test byte [bp-002h], 001h ; f6 46 fe 01 3206 je short 01 a2bh ; 74 043379 je short 01bc2h ; 74 04 3207 3380 add byte [bp-005h], 020h ; 80 46 fb 20 3208 3381 mov CH, strict byte 080h ; b5 80 3209 3382 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3210 jne short 01 a44h ; 75 113383 jne short 01bdbh ; 75 11 3211 3384 test byte [bp-004h], ch ; 84 6e fc 3212 je short 01 9c0h ; 74 883385 je short 01b57h ; 74 88 3213 3386 mov dx, word [bp-006h] ; 8b 56 fa 3214 3387 mov ax, 0b800h ; b8 00 b8 3215 call 02f dch ; e8 9b 153216 jmp near 01 9c2h ; e9 7e ff3388 call 02f0ah ; e8 32 13 3389 jmp near 01b59h ; e9 7e ff 3217 3390 test ch, ch ; 84 ed 3218 jbe short 01 a05h ; 76 bd3391 jbe short 01b9ch ; 76 bd 3219 3392 test byte [bp-004h], 080h ; f6 46 fc 80 3220 je short 01 a59h ; 74 0b3393 je short 01bf0h ; 74 0b 3221 3394 mov dx, word [bp-006h] ; 8b 56 fa 3222 3395 mov ax, 0b800h ; b8 00 b8 3223 call 02f dch ; e8 85 153224 jmp short 01 a5bh ; eb 023396 call 02f0ah ; e8 1c 13 3397 jmp short 01bf2h ; eb 02 3225 3398 xor al, al ; 30 c0 3226 3399 xor ah, ah ; 30 e4 3227 jmp short 01 a6ah ; eb 0b3400 jmp short 01c01h ; eb 0b 3228 3401 or al, bl ; 08 d8 3229 3402 shr ch, 1 ; d0 ed … … 3231 3404 ; inc ah ; fe c4 3232 3405 cmp ah, 004h ; 80 fc 04 3233 jnc short 01 a94h ; 73 2a3406 jnc short 01c2bh ; 73 2a 3234 3407 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3235 3408 add bx, di ; 01 fb … … 3238 3411 movzx bx, ch ; 0f b6 dd 3239 3412 test bx, dx ; 85 d3 3240 je short 01 a61h ; 74 e53413 je short 01bf8h ; 74 e5 3241 3414 mov CL, strict byte 003h ; b1 03 3242 3415 sub cl, ah ; 28 e1 … … 3246 3419 sal bl, CL ; d2 e3 3247 3420 test byte [bp-004h], 080h ; f6 46 fc 80 3248 je short 01 a5fh ; 74 cf3421 je short 01bf6h ; 74 cf 3249 3422 xor al, bl ; 30 d8 3250 jmp short 01 a61h ; eb cd3423 jmp short 01bf8h ; eb cd 3251 3424 movzx bx, al ; 0f b6 d8 3252 3425 mov dx, word [bp-006h] ; 8b 56 fa 3253 3426 mov ax, 0b800h ; b8 00 b8 3254 call 02f eah ; e8 4a 153427 call 02f18h ; e8 e1 12 3255 3428 inc word [bp-006h] ; ff 46 fa 3256 jmp short 01 a44h ; eb 9f3429 jmp short 01bdbh ; eb 9f 3257 3430 leave ; c9 3258 3431 pop di ; 5f 3259 3432 pop si ; 5e 3260 3433 retn 00004h ; c2 04 00 3261 write_gfx_char_lin_: ; 0xc1 aabLB 0x8c3434 write_gfx_char_lin_: ; 0xc1c42 LB 0x8c 3262 3435 push si ; 56 3263 3436 push di ; 57 … … 3276 3449 sal si, 003h ; c1 e6 03 3277 3450 xor cl, cl ; 30 c9 3278 jmp short 01 b14h ; eb 3b3451 jmp short 01cabh ; eb 3b 3279 3452 cmp ch, 008h ; 80 fd 08 3280 jnc short 01 b0dh ; 73 2f3453 jnc short 01ca4h ; 73 2f 3281 3454 xor al, al ; 30 c0 3282 3455 movzx dx, cl ; 0f b6 d1 … … 3287 3460 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3288 3461 test dx, bx ; 85 da 3289 je short 01 af7h ; 74 033462 je short 01c8eh ; 74 03 3290 3463 mov al, byte [bp-002h] ; 8a 46 fe 3291 3464 movzx bx, al ; 0f b6 d8 … … 3293 3466 add dx, word [bp-006h] ; 03 56 fa 3294 3467 mov ax, 0a000h ; b8 00 a0 3295 call 02f eah ; e8 e4 143468 call 02f18h ; e8 7b 12 3296 3469 shr byte [bp-004h], 1 ; d0 6e fc 3297 3470 db 0feh, 0c5h 3298 3471 ; inc ch ; fe c5 3299 jmp short 01 ad9h ; eb cc3472 jmp short 01c70h ; eb cc 3300 3473 db 0feh, 0c1h 3301 3474 ; inc cl ; fe c1 3302 3475 cmp cl, 008h ; 80 f9 08 3303 jnc short 01 b31h ; 73 1d3476 jnc short 01cc8h ; 73 1d 3304 3477 movzx bx, cl ; 0f b6 d9 3305 3478 movzx dx, byte [bp+008h] ; 0f b6 56 08 … … 3311 3484 mov byte [bp-004h], 080h ; c6 46 fc 80 3312 3485 xor ch, ch ; 30 ed 3313 jmp short 01 adeh ; eb ad3486 jmp short 01c75h ; eb ad 3314 3487 leave ; c9 3315 3488 pop di ; 5f 3316 3489 pop si ; 5e 3317 3490 retn 00002h ; c2 02 00 3318 biosfn_write_char_attr_: ; 0xc1 b37 LB 0x1683491 biosfn_write_char_attr_: ; 0xc1cce LB 0x163 3319 3492 push si ; 56 3320 3493 push di ; 57 3321 enter 0001 ah, 000h ; c8 1a00 003322 mov byte [bp-00 ch], al ; 88 46 f43323 mov byte [bp-0 12h], dl ; 88 56 ee3324 mov byte [bp-00 6h], bl ; 88 5e fa3494 enter 00018h, 000h ; c8 18 00 00 3495 mov byte [bp-00ah], al ; 88 46 f6 3496 mov byte [bp-00ch], dl ; 88 56 f4 3497 mov byte [bp-00eh], bl ; 88 5e f2 3325 3498 mov si, cx ; 89 ce 3326 3499 mov dx, strict word 00049h ; ba 49 00 3327 3500 mov ax, strict word 00040h ; b8 40 00 3328 call 02f dch ; e8 8b 143501 call 02f0ah ; e8 22 12 3329 3502 xor ah, ah ; 30 e4 3330 call 02fb5h ; e8 5f 14 3503 call 02ee3h ; e8 f6 11 3504 mov cl, al ; 88 c1 3331 3505 mov byte [bp-002h], al ; 88 46 fe 3332 mov byte [bp-00ah], al ; 88 46 f63333 3506 cmp AL, strict byte 0ffh ; 3c ff 3334 je near 01c9bh ; 0f 84 39 01 3335 lea dx, [bp-01ah] ; 8d 56 e6 3336 push SS ; 16 3337 push dx ; 52 3338 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3339 mov cx, ss ; 8c d1 3507 je near 01e2dh ; 0f 84 35 01 3508 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3340 3509 lea bx, [bp-018h] ; 8d 5e e8 3341 call 00c53h ; e8 e0 f0 3342 mov al, byte [bp-01ah] ; 8a 46 e6 3343 mov byte [bp-00eh], al ; 88 46 f2 3344 mov cx, word [bp-01ah] ; 8b 4e e6 3345 xor cl, cl ; 30 c9 3346 shr cx, 008h ; c1 e9 08 3347 mov byte [bp-010h], cl ; 88 4e f0 3510 lea dx, [bp-016h] ; 8d 56 ea 3511 call 00a8ch ; e8 87 ed 3512 mov al, byte [bp-018h] ; 8a 46 e8 3513 mov byte [bp-008h], al ; 88 46 f8 3514 mov ax, word [bp-018h] ; 8b 46 e8 3515 xor al, al ; 30 c0 3516 shr ax, 008h ; c1 e8 08 3517 mov byte [bp-006h], al ; 88 46 fa 3348 3518 mov dx, 00084h ; ba 84 00 3349 3519 mov ax, strict word 00040h ; b8 40 00 3350 call 02f dch ; e8 4f 143520 call 02f0ah ; e8 eb 11 3351 3521 xor ah, ah ; 30 e4 3352 3522 inc ax ; 40 3353 mov word [bp-01 6h], ax ; 89 46 ea3523 mov word [bp-014h], ax ; 89 46 ec 3354 3524 mov dx, strict word 0004ah ; ba 4a 00 3355 3525 mov ax, strict word 00040h ; b8 40 00 3356 call 02f f8h ; e8 5c 143357 mov word [bp-01 4h], ax ; 89 46 ec3358 movzx bx, byte [bp-002h] ; 0f b6 5e fe3526 call 02f26h ; e8 f8 11 3527 mov word [bp-012h], ax ; 89 46 ee 3528 movzx bx, cl ; 0f b6 d9 3359 3529 mov di, bx ; 89 df 3360 3530 sal di, 003h ; c1 e7 03 3361 3531 cmp byte [di+04830h], 000h ; 80 bd 30 48 00 3362 jne short 01 bf5h ; 75 463363 mov dx, word [bp-016h] ; 8b 56 ea3364 imul dx, ax ; 0f af d03365 add dx, dx ; 01 d23366 or dl, 0ffh ; 80 caff3367 movzx bx, byte [bp-012h] ; 0f b6 5e ee3368 inc dx ; 423369 imul bx, dx ; 0f af da3370 movzx dx, cl ; 0f b6 d13371 imul ax, dx ; 0f af c23372 movzx dx, byte [bp-00eh] ; 0f b6 56 f23373 add ax, dx ; 01 d03532 jne short 01d87h ; 75 47 3533 mov bx, word [bp-014h] ; 8b 5e ec 3534 imul bx, ax ; 0f af d8 3535 add bx, bx ; 01 db 3536 or bl, 0ffh ; 80 cb ff 3537 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3538 inc bx ; 43 3539 imul dx, bx ; 0f af d3 3540 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3541 imul ax, bx ; 0f af c3 3542 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3543 add ax, bx ; 01 d8 3374 3544 add ax, ax ; 01 c0 3375 add bx, ax ; 01 c33376 movzx dx, byte [bp-006h] ; 0f b6 56 fa3377 sal dx, 008h ; c1 e2 083378 movzx ax, byte [bp-00ch] ; 0f b6 46 f43379 3545 add dx, ax ; 01 c2 3380 mov word [bp-018h], dx ; 89 56 e8 3381 mov ax, word [bp-018h] ; 8b 46 e8 3546 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3547 sal ax, 008h ; c1 e0 08 3548 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3549 add ax, bx ; 01 d8 3550 mov word [bp-016h], ax ; 89 46 ea 3551 mov ax, word [bp-016h] ; 8b 46 ea 3382 3552 mov es, [di+04833h] ; 8e 85 33 48 3383 3553 mov cx, si ; 89 f1 3384 mov di, bx ; 89 df3554 mov di, dx ; 89 d7 3385 3555 cld ; fc 3386 jcxz 01 bf2h ; e3 023556 jcxz 01d84h ; e3 02 3387 3557 rep stosw ; f3 ab 3388 jmp near 01 c9bh ; e9 a6 003558 jmp near 01e2dh ; e9 a6 00 3389 3559 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 3390 3560 sal bx, 006h ; c1 e3 06 3391 3561 mov al, byte [bx+048c5h] ; 8a 87 c5 48 3392 mov byte [bp-00 8h], al ; 88 46 f83562 mov byte [bp-004h], al ; 88 46 fc 3393 3563 mov al, byte [di+04832h] ; 8a 85 32 48 3394 mov byte [bp-0 04h], al ; 88 46 fc3564 mov byte [bp-010h], al ; 88 46 f0 3395 3565 dec si ; 4e 3396 3566 cmp si, strict byte 0ffffh ; 83 fe ff 3397 je near 01 c9bh ; 0f 84 88 003398 movzx ax, byte [bp-00 eh] ; 0f b6 46 f23399 cmp ax, word [bp-01 4h] ; 3b 46 ec3400 jnc near 01 c9bh ; 0f 83 7d 003401 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63567 je near 01e2dh ; 0f 84 88 00 3568 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3569 cmp ax, word [bp-012h] ; 3b 46 ee 3570 jnc near 01e2dh ; 0f 83 7d 00 3571 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3402 3572 sal bx, 003h ; c1 e3 03 3403 3573 mov al, byte [bx+04831h] ; 8a 87 31 48 3404 3574 cmp AL, strict byte 003h ; 3c 03 3405 jc short 01 c39h ; 72 0c3406 jbe short 01 c3fh ; 76 103575 jc short 01dcbh ; 72 0c 3576 jbe short 01dd1h ; 76 10 3407 3577 cmp AL, strict byte 005h ; 3c 05 3408 je short 01 c7dh ; 74 4a3578 je short 01e0fh ; 74 4a 3409 3579 cmp AL, strict byte 004h ; 3c 04 3410 je short 01 c3fh ; 74 083411 jmp short 01 c95h ; eb 5c3580 je short 01dd1h ; 74 08 3581 jmp short 01e27h ; eb 5c 3412 3582 cmp AL, strict byte 002h ; 3c 02 3413 je short 01c5eh ; 74 21 3414 jmp short 01c95h ; eb 56 3415 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3416 push ax ; 50 3417 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3418 push ax ; 50 3419 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3420 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3421 movzx dx, byte [bp-006h] ; 0f b6 56 fa 3422 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3423 call 018ach ; e8 50 fc 3424 jmp short 01c95h ; eb 37 3583 je short 01df0h ; 74 21 3584 jmp short 01e27h ; eb 56 3425 3585 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3426 3586 push ax ; 50 3427 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3428 push ax ; 50 3429 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3430 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3431 movzx dx, byte [bp-006h] ; 0f b6 56 fa 3432 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3433 call 01992h ; e8 17 fd 3434 jmp short 01c95h ; eb 18 3435 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3436 push ax ; 50 3437 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3438 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3439 movzx dx, byte [bp-006h] ; 0f b6 56 fa 3440 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3441 call 01aabh ; e8 16 fe 3442 inc byte [bp-00eh] ; fe 46 f2 3443 jmp near 01c0bh ; e9 70 ff 3587 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3588 push ax ; 50 3589 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3590 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3591 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3592 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3593 call 01a43h ; e8 55 fc 3594 jmp short 01e27h ; eb 37 3595 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3596 push ax ; 50 3597 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3598 push ax ; 50 3599 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3600 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3601 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3602 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3603 call 01b29h ; e8 1c fd 3604 jmp short 01e27h ; eb 18 3605 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3606 push ax ; 50 3607 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3608 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3609 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3610 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3611 call 01c42h ; e8 1b fe 3612 inc byte [bp-008h] ; fe 46 f8 3613 jmp near 01d9dh ; e9 70 ff 3444 3614 leave ; c9 3445 3615 pop di ; 5f 3446 3616 pop si ; 5e 3447 3617 retn ; c3 3448 biosfn_write_char_only_: ; 0xc1 c9f LB 0x16d3618 biosfn_write_char_only_: ; 0xc1e31 LB 0x16a 3449 3619 push si ; 56 3450 3620 push di ; 57 3451 enter 0001 ah, 000h ; c8 1a00 003452 mov byte [bp-00 ah], al ; 88 46 f63621 enter 00018h, 000h ; c8 18 00 00 3622 mov byte [bp-00eh], al ; 88 46 f2 3453 3623 mov byte [bp-002h], dl ; 88 56 fe 3454 mov byte [bp-01 2h], bl ; 88 5e ee3624 mov byte [bp-010h], bl ; 88 5e f0 3455 3625 mov si, cx ; 89 ce 3456 3626 mov dx, strict word 00049h ; ba 49 00 3457 3627 mov ax, strict word 00040h ; b8 40 00 3458 call 02f dch ; e8 23 133628 call 02f0ah ; e8 bf 10 3459 3629 xor ah, ah ; 30 e4 3460 call 02 fb5h ; e8 f7 123461 mov byte [bp-004h], al ; 88 46 fc3462 mov byte [bp-00 ch], al ; 88 46 f43630 call 02ee3h ; e8 93 10 3631 mov cl, al ; 88 c1 3632 mov byte [bp-00ah], al ; 88 46 f6 3463 3633 cmp AL, strict byte 0ffh ; 3c ff 3464 je near 01e08h ; 0f 84 3e 01 3465 lea dx, [bp-018h] ; 8d 56 e8 3466 push SS ; 16 3467 push dx ; 52 3634 je near 01f97h ; 0f 84 3c 01 3468 3635 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3469 mov cx, ss ; 8c d13470 lea bx, [bp-01ah] ; 8d 5e e63471 call 00 c53h ; e8 78 ef3636 lea bx, [bp-018h] ; 8d 5e e8 3637 lea dx, [bp-016h] ; 8d 56 ea 3638 call 00a8ch ; e8 24 ec 3472 3639 mov al, byte [bp-018h] ; 8a 46 e8 3473 3640 mov byte [bp-008h], al ; 88 46 f8 3474 mov cx, word [bp-018h] ; 8b 4ee83475 xor cl, cl ; 30 c93476 shr cx, 008h ; c1 e9083477 mov byte [bp-00 eh], cl ; 88 4e f23641 mov ax, word [bp-018h] ; 8b 46 e8 3642 xor al, al ; 30 c0 3643 shr ax, 008h ; c1 e8 08 3644 mov byte [bp-00ch], al ; 88 46 f4 3478 3645 mov dx, 00084h ; ba 84 00 3479 3646 mov ax, strict word 00040h ; b8 40 00 3480 call 02f dch ; e8 e7 123647 call 02f0ah ; e8 88 10 3481 3648 xor ah, ah ; 30 e4 3482 3649 inc ax ; 40 3483 mov word [bp-01 6h], ax ; 89 46 ea3650 mov word [bp-014h], ax ; 89 46 ec 3484 3651 mov dx, strict word 0004ah ; ba 4a 00 3485 3652 mov ax, strict word 00040h ; b8 40 00 3486 call 02f f8h ; e8 f4 123487 mov word [bp-01 4h], ax ; 89 46 ec3488 movzx di, byte [bp-004h] ; 0f b6 7e fc3653 call 02f26h ; e8 95 10 3654 mov word [bp-012h], ax ; 89 46 ee 3655 movzx di, cl ; 0f b6 f9 3489 3656 mov bx, di ; 89 fb 3490 3657 sal bx, 003h ; c1 e3 03 3491 3658 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3492 jne short 01 d5eh ; 75 473493 mov dx, word [bp-01 6h] ; 8b 56 ea3659 jne short 01eedh ; 75 4a 3660 mov dx, word [bp-014h] ; 8b 56 ec 3494 3661 imul dx, ax ; 0f af d0 3495 3662 add dx, dx ; 01 d2 … … 3497 3664 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3498 3665 inc dx ; 42 3499 imul dx, bx ; 0f af d33500 movzx bx, cl ; 0f b6 d93501 imul bx, ax ; 0f af d83502 movzx ax, byte [bp-008h] ; 0f b6 46 f83503 add ax, bx ; 01 d83504 add ax, ax ; 01 c03505 mov cx, dx ; 89 d13506 add cx, ax ; 01 c13666 imul bx, dx ; 0f af da 3667 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3668 mov cx, ax ; 89 c1 3669 imul cx, dx ; 0f af ca 3670 movzx dx, byte [bp-008h] ; 0f b6 56 f8 3671 add cx, dx ; 01 d1 3672 add cx, cx ; 01 c9 3673 add cx, bx ; 01 d9 3507 3674 dec si ; 4e 3508 3675 cmp si, strict byte 0ffffh ; 83 fe ff 3509 je near 01 e08h ; 0f 84 c4003510 movzx dx, byte [bp-00ah] ; 0f b6 56 f63511 movzx bx, byte [bp-00 ch] ; 0f b6 5e f43676 je near 01f97h ; 0f 84 c6 00 3677 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3678 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3512 3679 sal bx, 003h ; c1 e3 03 3513 mov ax, word [bx+04833h] ; 8b 87 33 48 3514 mov bx, dx ; 89 d3 3515 mov dx, cx ; 89 ca 3516 call 02feah ; e8 90 12 3517 inc cx ; 41 3518 inc cx ; 41 3519 jmp short 01d3ch ; eb de 3680 mov di, word [bx+04833h] ; 8b bf 33 48 3681 mov bx, ax ; 89 c3 3682 mov dx, cx ; 89 ca 3683 mov ax, di ; 89 f8 3684 call 02f18h ; e8 2f 10 3685 inc cx ; 41 3686 inc cx ; 41 3687 jmp short 01ec9h ; eb dc 3520 3688 movzx di, byte [di+048afh] ; 0f b6 bd af 48 3521 3689 sal di, 006h ; c1 e7 06 … … 3523 3691 mov byte [bp-006h], al ; 88 46 fa 3524 3692 mov al, byte [bx+04832h] ; 8a 87 32 48 3525 mov byte [bp-0 10h], al ; 88 46 f03693 mov byte [bp-004h], al ; 88 46 fc 3526 3694 dec si ; 4e 3527 3695 cmp si, strict byte 0ffffh ; 83 fe ff 3528 je near 01 e08h ; 0f 84 8c 003696 je near 01f97h ; 0f 84 8c 00 3529 3697 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3530 cmp ax, word [bp-01 4h] ; 3b 46 ec3531 jnc near 01 e08h ; 0f 83 81 003532 movzx bx, byte [bp-00 ch] ; 0f b6 5e f43698 cmp ax, word [bp-012h] ; 3b 46 ee 3699 jnc near 01f97h ; 0f 83 81 00 3700 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3533 3701 sal bx, 003h ; c1 e3 03 3534 3702 mov bl, byte [bx+04831h] ; 8a 9f 31 48 3535 3703 cmp bl, 003h ; 80 fb 03 3536 jc short 01 da5h ; 72 0e3537 jbe short 01 dach ; 76 133704 jc short 01f34h ; 72 0e 3705 jbe short 01f3bh ; 76 13 3538 3706 cmp bl, 005h ; 80 fb 05 3539 je short 01 deah ; 74 4c3707 je short 01f79h ; 74 4c 3540 3708 cmp bl, 004h ; 80 fb 04 3541 je short 01 dach ; 74 093542 jmp short 01 e02h ; eb 5d3709 je short 01f3bh ; 74 09 3710 jmp short 01f91h ; eb 5d 3543 3711 cmp bl, 002h ; 80 fb 02 3544 je short 01 dcbh ; 74 213545 jmp short 01 e02h ; eb 563712 je short 01f5ah ; 74 21 3713 jmp short 01f91h ; eb 56 3546 3714 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3547 3715 push ax ; 50 3548 movzx ax, byte [bp-01 4h] ; 0f b6 46 ec3549 push ax ; 50 3550 movzx cx, byte [bp-00 eh] ; 0f b6 4e f23716 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3717 push ax ; 50 3718 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3551 3719 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3552 movzx dx, byte [bp-01 2h] ; 0f b6 56 ee3553 movzx ax, byte [bp-00 ah] ; 0f b6 46 f63554 call 01 8ach ; e8 e3fa3555 jmp short 01 e02h ; eb 373556 movzx ax, byte [bp-0 10h] ; 0f b6 46 f03557 push ax ; 50 3558 movzx ax, byte [bp-01 4h] ; 0f b6 46 ec3559 push ax ; 50 3560 movzx cx, byte [bp-00 eh] ; 0f b6 4e f23720 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3721 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3722 call 01a43h ; e8 eb fa 3723 jmp short 01f91h ; eb 37 3724 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3725 push ax ; 50 3726 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3727 push ax ; 50 3728 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3561 3729 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3562 movzx dx, byte [bp-01 2h] ; 0f b6 56 ee3563 movzx ax, byte [bp-00 ah] ; 0f b6 46 f63564 call 01 992h ; e8 aafb3565 jmp short 01 e02h ; eb 183566 movzx ax, byte [bp-01 4h] ; 0f b6 46 ec3567 push ax ; 50 3568 movzx cx, byte [bp-00 eh] ; 0f b6 4e f23730 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3731 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3732 call 01b29h ; e8 b2 fb 3733 jmp short 01f91h ; eb 18 3734 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3735 push ax ; 50 3736 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3569 3737 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3570 movzx dx, byte [bp-01 2h] ; 0f b6 56 ee3571 movzx ax, byte [bp-00 ah] ; 0f b6 46 f63572 call 01 aabh ; e8 a9fc3738 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3739 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3740 call 01c42h ; e8 b1 fc 3573 3741 inc byte [bp-008h] ; fe 46 f8 3574 jmp near 01 d74h ; e9 6c ff3742 jmp near 01f03h ; e9 6c ff 3575 3743 leave ; c9 3576 3744 pop di ; 5f 3577 3745 pop si ; 5e 3578 3746 retn ; c3 3579 biosfn_write_pixel_: ; 0xc1 e0cLB 0x1683747 biosfn_write_pixel_: ; 0xc1f9b LB 0x168 3580 3748 push si ; 56 3581 3749 enter 00008h, 000h ; c8 08 00 00 … … 3584 3752 mov dx, strict word 00049h ; ba 49 00 3585 3753 mov ax, strict word 00040h ; b8 40 00 3586 call 02f dch ; e8 bc 113754 call 02f0ah ; e8 5b 0f 3587 3755 xor ah, ah ; 30 e4 3588 call 02 fb5h ; e8 90 113756 call 02ee3h ; e8 2f 0f 3589 3757 mov byte [bp-002h], al ; 88 46 fe 3590 3758 cmp AL, strict byte 0ffh ; 3c ff 3591 je near 0 1f71h ; 0f 84 43 013759 je near 02100h ; 0f 84 43 01 3592 3760 movzx bx, al ; 0f b6 d8 3593 3761 sal bx, 003h ; c1 e3 03 3594 3762 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3595 je near 0 1f71h ; 0f 84 34 013763 je near 02100h ; 0f 84 34 01 3596 3764 mov al, byte [bx+04831h] ; 8a 87 31 48 3597 3765 cmp AL, strict byte 003h ; 3c 03 3598 jc short 01 e54h ; 72 0f3599 jbe short 01 e5bh ; 76 143766 jc short 01fe3h ; 72 0f 3767 jbe short 01feah ; 76 14 3600 3768 cmp AL, strict byte 005h ; 3c 05 3601 je near 0 1f4fh ; 0f 84 02 013769 je near 020deh ; 0f 84 02 01 3602 3770 cmp AL, strict byte 004h ; 3c 04 3603 je short 01 e5bh ; 74 0a3771 je short 01feah ; 74 0a 3604 3772 leave ; c9 3605 3773 pop si ; 5e 3606 3774 retn ; c3 3607 3775 cmp AL, strict byte 002h ; 3c 02 3608 je short 0 1ec0h ; 74 683776 je short 0204fh ; 74 68 3609 3777 leave ; c9 3610 3778 pop si ; 5e … … 3612 3780 mov dx, strict word 0004ah ; ba 4a 00 3613 3781 mov ax, strict word 00040h ; b8 40 00 3614 call 02f f8h ; e8 94 113782 call 02f26h ; e8 33 0f 3615 3783 imul ax, cx ; 0f af c1 3616 3784 mov bx, word [bp-008h] ; 8b 5e f8 … … 3631 3799 mov dx, bx ; 89 da 3632 3800 mov ax, 0a000h ; b8 00 a0 3633 call 02f dch ; e8 48 113801 call 02f0ah ; e8 e7 0e 3634 3802 test byte [bp-004h], 080h ; f6 46 fc 80 3635 je short 0 1ea1h ; 74 073803 je short 02030h ; 74 07 3636 3804 mov ax, 01803h ; b8 03 18 3637 3805 mov dx, 003ceh ; ba ce 03 … … 3640 3808 mov dx, word [bp-006h] ; 8b 56 fa 3641 3809 mov ax, 0a000h ; b8 00 a0 3642 call 02f eah ; e8 3c 113810 call 02f18h ; e8 db 0e 3643 3811 mov ax, 0ff08h ; b8 08 ff 3644 3812 mov dx, 003ceh ; ba ce 03 … … 3655 3823 imul ax, ax, strict byte 00050h ; 6b c0 50 3656 3824 cmp byte [bx+04832h], 002h ; 80 bf 32 48 02 3657 jne short 0 1ed6h ; 75 083825 jne short 02065h ; 75 08 3658 3826 mov bx, word [bp-008h] ; 8b 5e f8 3659 3827 shr bx, 002h ; c1 eb 02 3660 jmp short 0 1edch ; eb 063828 jmp short 0206bh ; eb 06 3661 3829 mov bx, word [bp-008h] ; 8b 5e f8 3662 3830 shr bx, 003h ; c1 eb 03 … … 3664 3832 mov word [bp-006h], bx ; 89 5e fa 3665 3833 test cl, 001h ; f6 c1 01 3666 je short 0 1eeah ; 74 043834 je short 02079h ; 74 04 3667 3835 add byte [bp-005h], 020h ; 80 46 fb 20 3668 3836 mov dx, word [bp-006h] ; 8b 56 fa 3669 3837 mov ax, 0b800h ; b8 00 b8 3670 call 02f dch ; e8 e9 103838 call 02f0ah ; e8 88 0e 3671 3839 mov bl, al ; 88 c3 3672 3840 movzx si, byte [bp-002h] ; 0f b6 76 fe 3673 3841 sal si, 003h ; c1 e6 03 3674 3842 cmp byte [si+04832h], 002h ; 80 bc 32 48 02 3675 jne short 0 1f1ch ; 75 193843 jne short 020abh ; 75 19 3676 3844 mov al, byte [bp-008h] ; 8a 46 f8 3677 3845 and AL, strict byte 003h ; 24 03 … … 3684 3852 sal bh, CL ; d2 e7 3685 3853 mov AL, strict byte 003h ; b0 03 3686 jmp short 0 1f2fh ; eb 133854 jmp short 020beh ; eb 13 3687 3855 mov al, byte [bp-008h] ; 8a 46 f8 3688 3856 and AL, strict byte 007h ; 24 07 … … 3695 3863 sal al, CL ; d2 e0 3696 3864 test byte [bp-004h], 080h ; f6 46 fc 80 3697 je short 0 1f3bh ; 74 043865 je short 020cah ; 74 04 3698 3866 xor bl, bh ; 30 fb 3699 jmp short 0 1f41h ; eb 063867 jmp short 020d0h ; eb 06 3700 3868 not al ; f6 d0 3701 3869 and bl, al ; 20 c3 … … 3704 3872 mov dx, word [bp-006h] ; 8b 56 fa 3705 3873 mov ax, 0b800h ; b8 00 b8 3706 call 02f eah ; e8 9e 103874 call 02f18h ; e8 3d 0e 3707 3875 leave ; c9 3708 3876 pop si ; 5e … … 3710 3878 mov dx, strict word 0004ah ; ba 4a 00 3711 3879 mov ax, strict word 00040h ; b8 40 00 3712 call 02f f8h ; e8 a0 103880 call 02f26h ; e8 3f 0e 3713 3881 sal ax, 003h ; c1 e0 03 3714 3882 imul cx, ax ; 0f af c8 … … 3719 3887 mov dx, ax ; 89 c2 3720 3888 mov ax, 0a000h ; b8 00 a0 3721 jmp short 0 1f49h ; eb d83889 jmp short 020d8h ; eb d8 3722 3890 leave ; c9 3723 3891 pop si ; 5e 3724 3892 retn ; c3 3725 biosfn_ read_pixel_: ; 0xc1f74 LB 0x1473893 biosfn_write_teletype_: ; 0xc2103 LB 0x27f 3726 3894 push si ; 56 3727 push di ; 57 3728 enter 00008h, 000h ; c8 08 00 00 3729 mov si, dx ; 89 d6 3730 mov word [bp-008h], bx ; 89 5e f8 3731 mov di, cx ; 89 cf 3732 mov ax, ss ; 8c d0 3733 mov word [bp-006h], ax ; 89 46 fa 3895 enter 00016h, 000h ; c8 16 00 00 3896 mov byte [bp-00ah], al ; 88 46 f6 3897 mov byte [bp-002h], dl ; 88 56 fe 3898 mov byte [bp-004h], bl ; 88 5e fc 3899 mov byte [bp-00eh], cl ; 88 4e f2 3900 cmp dl, 0ffh ; 80 fa ff 3901 jne short 02125h ; 75 0c 3902 mov dx, strict word 00062h ; ba 62 00 3903 mov ax, strict word 00040h ; b8 40 00 3904 call 02f0ah ; e8 e8 0d 3905 mov byte [bp-002h], al ; 88 46 fe 3734 3906 mov dx, strict word 00049h ; ba 49 00 3735 3907 mov ax, strict word 00040h ; b8 40 00 3736 call 02f dch ; e8 4d 103908 call 02f0ah ; e8 dc 0d 3737 3909 xor ah, ah ; 30 e4 3738 call 02 fb5h ; e8 21 103739 mov cl, al ; 88 c13910 call 02ee3h ; e8 b0 0d 3911 mov byte [bp-00ch], al ; 88 46 f4 3740 3912 cmp AL, strict byte 0ffh ; 3c ff 3741 je near 020b7h ; 0f 84 1b 01 3742 movzx bx, al ; 0f b6 d8 3743 sal bx, 003h ; c1 e3 03 3744 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3745 je near 020b7h ; 0f 84 0c 01 3746 mov bl, byte [bx+04831h] ; 8a 9f 31 48 3747 cmp bl, 003h ; 80 fb 03 3748 jc short 01fc5h ; 72 11 3749 jbe short 01fcdh ; 76 17 3750 cmp bl, 005h ; 80 fb 05 3751 je near 02080h ; 0f 84 c3 00 3752 cmp bl, 004h ; 80 fb 04 3753 je short 01fcdh ; 74 0b 3754 jmp near 0209eh ; e9 d9 00 3755 cmp bl, 002h ; 80 fb 02 3756 je short 02025h ; 74 5b 3757 jmp near 0209eh ; e9 d1 00 3758 mov dx, strict word 0004ah ; ba 4a 00 3759 mov ax, strict word 00040h ; b8 40 00 3760 call 02ff8h ; e8 22 10 3761 imul ax, word [bp-008h] ; 0f af 46 f8 3762 mov bx, si ; 89 f3 3763 shr bx, 003h ; c1 eb 03 3764 add bx, ax ; 01 c3 3765 mov cx, si ; 89 f1 3766 and cx, strict byte 00007h ; 83 e1 07 3767 mov ax, 00080h ; b8 80 00 3768 sar ax, CL ; d3 f8 3769 mov byte [bp-004h], al ; 88 46 fc 3770 mov byte [bp-002h], ch ; 88 6e fe 3771 jmp short 01ffbh ; eb 08 3772 cmp byte [bp-002h], 004h ; 80 7e fe 04 3773 jnc near 020a0h ; 0f 83 a5 00 3913 je near 0237fh ; 0f 84 43 02 3774 3914 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3775 sal ax, 008h ; c1 e0 08 3776 or AL, strict byte 004h ; 0c 04 3777 mov dx, 003ceh ; ba ce 03 3778 out DX, ax ; ef 3779 mov dx, bx ; 89 da 3780 mov ax, 0a000h ; b8 00 a0 3781 call 02fdch ; e8 cc 0f 3782 and al, byte [bp-004h] ; 22 46 fc 3783 test al, al ; 84 c0 3784 jbe short 02020h ; 76 09 3785 mov cl, byte [bp-002h] ; 8a 4e fe 3786 mov AL, strict byte 001h ; b0 01 3787 sal al, CL ; d2 e0 3788 or ch, al ; 08 c5 3789 inc byte [bp-002h] ; fe 46 fe 3790 jmp short 01ff3h ; eb ce 3791 mov ax, word [bp-008h] ; 8b 46 f8 3792 shr ax, 1 ; d1 e8 3793 imul ax, ax, strict byte 00050h ; 6b c0 50 3794 mov bx, si ; 89 f3 3795 shr bx, 002h ; c1 eb 02 3796 add bx, ax ; 01 c3 3797 test byte [bp-008h], 001h ; f6 46 f8 01 3798 je short 0203dh ; 74 03 3799 add bh, 020h ; 80 c7 20 3800 mov dx, bx ; 89 da 3801 mov ax, 0b800h ; b8 00 b8 3802 call 02fdch ; e8 97 0f 3803 movzx bx, cl ; 0f b6 d9 3804 sal bx, 003h ; c1 e3 03 3805 cmp byte [bx+04832h], 002h ; 80 bf 32 48 02 3806 jne short 02067h ; 75 15 3807 and si, strict byte 00003h ; 83 e6 03 3808 mov cx, strict word 00003h ; b9 03 00 3809 sub cx, si ; 29 f1 3810 add cx, cx ; 01 c9 3811 xor ah, ah ; 30 e4 3812 sar ax, CL ; d3 f8 3813 mov ch, al ; 88 c5 3814 and ch, 003h ; 80 e5 03 3815 jmp short 020a0h ; eb 39 3816 mov cx, si ; 89 f1 3817 xor ch, ch ; 30 ed 3818 and cl, 007h ; 80 e1 07 3819 mov bx, strict word 00007h ; bb 07 00 3820 sub bx, cx ; 29 cb 3821 mov cx, bx ; 89 d9 3822 xor ah, ah ; 30 e4 3823 sar ax, CL ; d3 f8 3824 mov ch, al ; 88 c5 3825 and ch, 001h ; 80 e5 01 3826 jmp short 020a0h ; eb 20 3827 mov dx, strict word 0004ah ; ba 4a 00 3828 mov ax, strict word 00040h ; b8 40 00 3829 call 02ff8h ; e8 6f 0f 3830 sal ax, 003h ; c1 e0 03 3831 imul ax, word [bp-008h] ; 0f af 46 f8 3832 mov dx, si ; 89 f2 3833 add dx, ax ; 01 c2 3834 mov ax, 0a000h ; b8 00 a0 3835 call 02fdch ; e8 42 0f 3836 mov ch, al ; 88 c5 3837 jmp short 020a0h ; eb 02 3838 xor ch, ch ; 30 ed 3839 mov dx, di ; 89 fa 3840 mov ax, word [bp-006h] ; 8b 46 fa 3841 call 02ff8h ; e8 50 0f 3842 xor al, al ; 30 c0 3843 movzx bx, ch ; 0f b6 dd 3844 or bx, ax ; 09 c3 3845 mov dx, di ; 89 fa 3846 mov ax, word [bp-006h] ; 8b 46 fa 3847 call 03006h ; e8 4f 0f 3848 leave ; c9 3849 pop di ; 5f 3850 pop si ; 5e 3851 retn ; c3 3852 biosfn_write_teletype_: ; 0xc20bb LB 0x28d 3853 push si ; 56 3854 push di ; 57 3855 enter 00016h, 000h ; c8 16 00 00 3856 mov byte [bp-004h], al ; 88 46 fc 3857 mov byte [bp-00ch], dl ; 88 56 f4 3858 mov byte [bp-006h], bl ; 88 5e fa 3859 mov byte [bp-008h], cl ; 88 4e f8 3860 cmp dl, 0ffh ; 80 fa ff 3861 jne short 020deh ; 75 0c 3862 mov dx, strict word 00062h ; ba 62 00 3863 mov ax, strict word 00040h ; b8 40 00 3864 call 02fdch ; e8 01 0f 3865 mov byte [bp-00ch], al ; 88 46 f4 3866 mov dx, strict word 00049h ; ba 49 00 3867 mov ax, strict word 00040h ; b8 40 00 3868 call 02fdch ; e8 f5 0e 3869 xor ah, ah ; 30 e4 3870 call 02fb5h ; e8 c9 0e 3871 mov byte [bp-00eh], al ; 88 46 f2 3872 cmp AL, strict byte 0ffh ; 3c ff 3873 je near 02344h ; 0f 84 4f 02 3874 lea dx, [bp-016h] ; 8d 56 ea 3875 push SS ; 16 3876 push dx ; 52 3877 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3878 mov cx, ss ; 8c d1 3879 lea bx, [bp-014h] ; 8d 5e ec 3880 call 00c53h ; e8 4d eb 3915 lea bx, [bp-016h] ; 8d 5e ea 3916 lea dx, [bp-014h] ; 8d 56 ec 3917 call 00a8ch ; e8 43 e9 3881 3918 mov al, byte [bp-016h] ; 8a 46 ea 3882 mov byte [bp-00ah], al ; 88 46 f6 3883 mov bx, word [bp-016h] ; 8b 5e ea 3884 xor bl, bl ; 30 db 3885 shr bx, 008h ; c1 eb 08 3886 mov byte [bp-002h], bl ; 88 5e fe 3887 mov dx, 00084h ; ba 84 00 3888 mov ax, strict word 00040h ; b8 40 00 3889 call 02fdch ; e8 bc 0e 3890 xor ah, ah ; 30 e4 3891 inc ax ; 40 3892 mov word [bp-010h], ax ; 89 46 f0 3893 mov dx, strict word 0004ah ; ba 4a 00 3894 mov ax, strict word 00040h ; b8 40 00 3895 call 02ff8h ; e8 c9 0e 3896 mov word [bp-012h], ax ; 89 46 ee 3897 mov al, byte [bp-004h] ; 8a 46 fc 3898 cmp AL, strict byte 009h ; 3c 09 3899 jc short 02145h ; 72 0c 3900 jbe short 0216eh ; 76 33 3901 cmp AL, strict byte 00dh ; 3c 0d 3902 je short 0215fh ; 74 20 3903 cmp AL, strict byte 00ah ; 3c 0a 3904 je short 02166h ; 74 23 3905 jmp short 021b3h ; eb 6e 3906 cmp AL, strict byte 008h ; 3c 08 3907 je short 02151h ; 74 08 3908 cmp AL, strict byte 007h ; 3c 07 3909 je near 0228fh ; 0f 84 40 01 3910 jmp short 021b3h ; eb 62 3911 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3912 jbe near 0228fh ; 0f 86 36 01 3913 dec byte [bp-00ah] ; fe 4e f6 3914 jmp near 0228fh ; e9 30 01 3915 mov byte [bp-00ah], 000h ; c6 46 f6 00 3916 jmp near 0228fh ; e9 29 01 3917 db 0feh, 0c3h 3918 ; inc bl ; fe c3 3919 mov byte [bp-002h], bl ; 88 5e fe 3920 jmp near 0228fh ; e9 21 01 3921 movzx cx, byte [bp-008h] ; 0f b6 4e f8 3922 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3923 movzx si, byte [bp-00ch] ; 0f b6 76 f4 3924 mov dx, si ; 89 f2 3925 mov ax, strict word 00020h ; b8 20 00 3926 call 020bbh ; e8 39 ff 3927 lea dx, [bp-016h] ; 8d 56 ea 3928 push SS ; 16 3929 push dx ; 52 3930 mov cx, ss ; 8c d1 3931 lea bx, [bp-014h] ; 8d 5e ec 3932 mov ax, si ; 89 f0 3933 call 00c53h ; e8 c2 ea 3934 mov al, byte [bp-016h] ; 8a 46 ea 3935 mov byte [bp-00ah], al ; 88 46 f6 3919 mov byte [bp-006h], al ; 88 46 fa 3936 3920 mov ax, word [bp-016h] ; 8b 46 ea 3937 3921 xor al, al ; 30 c0 3938 3922 shr ax, 008h ; c1 e8 08 3939 mov byte [bp-002h], al ; 88 46 fe 3940 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3923 mov byte [bp-008h], al ; 88 46 f8 3924 mov dx, 00084h ; ba 84 00 3925 mov ax, strict word 00040h ; b8 40 00 3926 call 02f0ah ; e8 a7 0d 3927 xor ah, ah ; 30 e4 3928 inc ax ; 40 3929 mov word [bp-012h], ax ; 89 46 ee 3930 mov dx, strict word 0004ah ; ba 4a 00 3931 mov ax, strict word 00040h ; b8 40 00 3932 call 02f26h ; e8 b4 0d 3933 mov word [bp-010h], ax ; 89 46 f0 3934 mov al, byte [bp-00ah] ; 8a 46 f6 3935 cmp AL, strict byte 009h ; 3c 09 3936 jc short 02188h ; 72 0c 3937 jbe short 021afh ; 76 31 3938 cmp AL, strict byte 00dh ; 3c 0d 3939 je short 021a2h ; 74 20 3940 cmp AL, strict byte 00ah ; 3c 0a 3941 je short 021a9h ; 74 23 3942 jmp short 021f0h ; eb 68 3943 cmp AL, strict byte 008h ; 3c 08 3944 je short 02194h ; 74 08 3945 cmp AL, strict byte 007h ; 3c 07 3946 je near 022cch ; 0f 84 3a 01 3947 jmp short 021f0h ; eb 5c 3948 cmp byte [bp-006h], 000h ; 80 7e fa 00 3949 jbe near 022cch ; 0f 86 30 01 3950 dec byte [bp-006h] ; fe 4e fa 3951 jmp near 022cch ; e9 2a 01 3952 mov byte [bp-006h], 000h ; c6 46 fa 00 3953 jmp near 022cch ; e9 23 01 3954 inc byte [bp-008h] ; fe 46 f8 3955 jmp near 022cch ; e9 1d 01 3956 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3957 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3958 movzx si, byte [bp-002h] ; 0f b6 76 fe 3959 mov dx, si ; 89 f2 3960 mov ax, strict word 00020h ; b8 20 00 3961 call 02103h ; e8 40 ff 3962 lea bx, [bp-016h] ; 8d 5e ea 3963 lea dx, [bp-014h] ; 8d 56 ec 3964 mov ax, si ; 89 f0 3965 call 00a8ch ; e8 be e8 3966 mov al, byte [bp-016h] ; 8a 46 ea 3967 mov byte [bp-006h], al ; 88 46 fa 3968 mov ax, word [bp-016h] ; 8b 46 ea 3969 xor al, al ; 30 c0 3970 shr ax, 008h ; c1 e8 08 3971 mov byte [bp-008h], al ; 88 46 f8 3972 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3973 mov bx, strict word 00008h ; bb 08 00 3941 3974 cwd ; 99 3942 mov bx, strict word 00008h ; bb 08 003943 3975 idiv bx ; f7 fb 3944 3976 test dx, dx ; 85 d2 3945 je short 021 6eh ; 74 be3946 jmp near 022 8fh ; e9 dc 003947 movzx bx, byte [bp-00 eh] ; 0f b6 5e f23977 je short 021afh ; 74 c2 3978 jmp near 022cch ; e9 dc 00 3979 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3948 3980 mov si, bx ; 89 de 3949 3981 sal si, 003h ; c1 e6 03 3950 3982 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 3951 jne short 022 0eh ; 75 4b3952 mov ax, word [bp-01 2h] ; 8b 46 ee3953 imul ax, word [bp-01 0h] ; 0f af 46 f03983 jne short 0224bh ; 75 4b 3984 mov ax, word [bp-010h] ; 8b 46 f0 3985 imul ax, word [bp-012h] ; 0f af 46 ee 3954 3986 add ax, ax ; 01 c0 3955 3987 or AL, strict byte 0ffh ; 0c ff 3956 movzx dx, byte [bp-00 ch] ; 0f b6 56 f43988 movzx dx, byte [bp-002h] ; 0f b6 56 fe 3957 3989 inc ax ; 40 3958 imul ax, dx ; 0f af c23959 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe3960 imul cx, word [bp-01 2h] ; 0f af 4e ee3961 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63990 imul dx, ax ; 0f af d0 3991 movzx cx, byte [bp-008h] ; 0f b6 4e f8 3992 imul cx, word [bp-010h] ; 0f af 4e f0 3993 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3962 3994 add cx, bx ; 01 d9 3963 3995 add cx, cx ; 01 c9 3964 add cx, ax ; 01 c1 3996 add cx, dx ; 01 d1 3997 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3998 mov ax, word [si+04833h] ; 8b 84 33 48 3999 mov dx, cx ; 89 ca 4000 call 02f18h ; e8 e6 0c 4001 cmp byte [bp-00eh], 003h ; 80 7e f2 03 4002 jne near 022c9h ; 0f 85 8f 00 3965 4003 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3966 mov ax, word [si+04833h] ; 8b 84 33 483967 mov dx, cx ; 89 ca3968 call 02feah ; e8 f5 0d3969 cmp byte [bp-008h], 003h ; 80 7e f8 033970 jne near 0228ch ; 0f 85 8f 003971 movzx bx, byte [bp-006h] ; 0f b6 5e fa3972 4004 mov dx, cx ; 89 ca 3973 4005 inc dx ; 42 3974 4006 mov ax, word [si+04833h] ; 8b 84 33 48 3975 call 02f eah ; e8 df 0d3976 jmp near 022 8ch ; e9 7e 004007 call 02f18h ; e8 d0 0c 4008 jmp near 022c9h ; e9 7e 00 3977 4009 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 3978 4010 sal bx, 006h ; c1 e3 06 3979 mov dl, byte [bx+048c5h] ; 8a 97 c5 483980 mov ah, byte [si+04832h] ; 8a a4 32 484011 mov ah, byte [bx+048c5h] ; 8a a7 c5 48 4012 mov dl, byte [si+04832h] ; 8a 94 32 48 3981 4013 mov al, byte [si+04831h] ; 8a 84 31 48 3982 4014 cmp AL, strict byte 003h ; 3c 03 3983 jc short 022 32h ; 72 0c3984 jbe short 022 38h ; 76 104015 jc short 0226fh ; 72 0c 4016 jbe short 02275h ; 76 10 3985 4017 cmp AL, strict byte 005h ; 3c 05 3986 je short 022 74h ; 74 484018 je short 022b1h ; 74 48 3987 4019 cmp AL, strict byte 004h ; 3c 04 3988 je short 022 38h ; 74 083989 jmp short 022 8ch ; eb 5a4020 je short 02275h ; 74 08 4021 jmp short 022c9h ; eb 5a 3990 4022 cmp AL, strict byte 002h ; 3c 02 3991 je short 02256h ; 74 20 3992 jmp short 0228ch ; eb 54 4023 je short 02293h ; 74 20 4024 jmp short 022c9h ; eb 54 4025 movzx ax, ah ; 0f b6 c4 4026 push ax ; 50 4027 movzx ax, byte [bp-010h] ; 0f b6 46 f0 4028 push ax ; 50 4029 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4030 movzx bx, byte [bp-006h] ; 0f b6 5e fa 4031 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4032 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4033 call 01a43h ; e8 b2 f7 4034 jmp short 022c9h ; eb 36 3993 4035 movzx ax, dl ; 0f b6 c2 3994 4036 push ax ; 50 3995 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3996 push ax ; 50 3997 movzx cx, byte [bp-002h] ; 0f b6 4e fe 3998 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3999 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4000 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4001 call 018ach ; e8 58 f6 4002 jmp short 0228ch ; eb 36 4003 movzx ax, ah ; 0f b6 c4 4004 push ax ; 50 4005 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4006 push ax ; 50 4007 movzx cx, byte [bp-002h] ; 0f b6 4e fe 4008 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 4009 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4010 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4011 call 01992h ; e8 20 f7 4012 jmp short 0228ch ; eb 18 4013 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4014 push ax ; 50 4015 movzx cx, byte [bp-002h] ; 0f b6 4e fe 4016 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 4017 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4018 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4019 call 01aabh ; e8 1f f8 4020 inc byte [bp-00ah] ; fe 46 f6 4037 movzx ax, byte [bp-010h] ; 0f b6 46 f0 4038 push ax ; 50 4039 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4040 movzx bx, byte [bp-006h] ; 0f b6 5e fa 4041 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4021 4042 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4043 call 01b29h ; e8 7a f8 4044 jmp short 022c9h ; eb 18 4045 movzx ax, byte [bp-010h] ; 0f b6 46 f0 4046 push ax ; 50 4047 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4048 movzx bx, byte [bp-006h] ; 0f b6 5e fa 4049 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4050 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4051 call 01c42h ; e8 79 f9 4052 inc byte [bp-006h] ; fe 46 fa 4053 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4054 cmp ax, word [bp-010h] ; 3b 46 f0 4055 jne short 022dch ; 75 07 4056 mov byte [bp-006h], 000h ; c6 46 fa 00 4057 inc byte [bp-008h] ; fe 46 f8 4058 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4022 4059 cmp ax, word [bp-012h] ; 3b 46 ee 4023 jne short 0229fh ; 75 07 4024 mov byte [bp-00ah], 000h ; c6 46 f6 00 4025 inc byte [bp-002h] ; fe 46 fe 4026 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4027 cmp ax, word [bp-010h] ; 3b 46 f0 4028 jne near 02328h ; 0f 85 7e 00 4029 movzx si, byte [bp-00eh] ; 0f b6 76 f2 4060 jne near 02363h ; 0f 85 7c 00 4061 movzx si, byte [bp-00ch] ; 0f b6 76 f4 4030 4062 sal si, 003h ; c1 e6 03 4031 mov bl, byte [bp-01 0h] ; 8a 5e f04063 mov bl, byte [bp-012h] ; 8a 5e ee 4032 4064 db 0feh, 0cbh 4033 4065 ; dec bl ; fe cb 4034 mov bh, byte [bp-01 2h] ; 8a 7e ee4066 mov bh, byte [bp-010h] ; 8a 7e f0 4035 4067 db 0feh, 0cfh 4036 4068 ; dec bh ; fe cf 4037 4069 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 4038 jne short 023 0ah ; 75 484039 mov ax, word [bp-01 2h] ; 8b 46 ee4040 imul ax, word [bp-01 0h] ; 0f af 46 f04070 jne short 02345h ; 75 46 4071 mov ax, word [bp-010h] ; 8b 46 f0 4072 imul ax, word [bp-012h] ; 0f af 46 ee 4041 4073 add ax, ax ; 01 c0 4042 4074 or AL, strict byte 0ffh ; 0c ff 4043 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4044 mov di, ax ; 89 c7 4045 inc di ; 47 4046 imul di, dx ; 0f af fa 4047 movzx cx, byte [bp-002h] ; 0f b6 4e fe 4048 dec cx ; 49 4049 imul cx, word [bp-012h] ; 0f af 4e ee 4050 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 4075 movzx dx, byte [bp-002h] ; 0f b6 56 fe 4076 inc ax ; 40 4077 imul dx, ax ; 0f af d0 4078 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4079 dec ax ; 48 4080 imul ax, word [bp-010h] ; 0f af 46 f0 4081 movzx cx, byte [bp-006h] ; 0f b6 4e fa 4082 add cx, ax ; 01 c1 4083 add cx, cx ; 01 c9 4051 4084 add dx, cx ; 01 ca 4052 add dx, dx ; 01 d24053 add dx, di ; 01 fa4054 4085 inc dx ; 42 4055 4086 mov ax, word [si+04833h] ; 8b 84 33 48 4056 call 02f dch ; e8 ea 0c4087 call 02f0ah ; e8 dd 0b 4057 4088 push strict byte 00001h ; 6a 01 4058 movzx dx, byte [bp-00 ch] ; 0f b6 56 f44089 movzx dx, byte [bp-002h] ; 0f b6 56 fe 4059 4090 push dx ; 52 4060 4091 movzx dx, bh ; 0f b6 d7 … … 4065 4096 xor cx, cx ; 31 c9 4066 4097 xor bx, bx ; 31 db 4067 jmp short 023 1fh ; eb 154098 jmp short 0235ah ; eb 15 4068 4099 push strict byte 00001h ; 6a 01 4069 movzx ax, byte [bp-00 ch] ; 0f b6 46 f44100 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4070 4101 push ax ; 50 4071 4102 movzx ax, bh ; 0f b6 c7 … … 4077 4108 xor dx, dx ; 31 d2 4078 4109 mov ax, strict word 00001h ; b8 01 00 4079 call 01 306h ; e8 e1 ef4080 dec byte [bp-00 2h] ; fe 4e fe4081 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe4110 call 01542h ; e8 e2 f1 4111 dec byte [bp-008h] ; fe 4e f8 4112 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4082 4113 mov word [bp-016h], ax ; 89 46 ea 4083 4114 sal word [bp-016h], 008h ; c1 66 ea 08 4084 movzx ax, byte [bp-00 ah] ; 0f b6 46 f64115 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4085 4116 add word [bp-016h], ax ; 01 46 ea 4086 4117 mov dx, word [bp-016h] ; 8b 56 ea 4087 movzx ax, byte [bp-00 ch] ; 0f b6 46 f44088 call 00 bb5h ; e8 71 e84118 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4119 call 00e4bh ; e8 cc ea 4089 4120 leave ; c9 4090 pop di ; 5f4091 4121 pop si ; 5e 4092 4122 retn ; c3 4093 get_font_access_: ; 0xc23 48LB 0x294123 get_font_access_: ; 0xc2382 LB 0x29 4094 4124 push dx ; 52 4095 4125 push bp ; 55 … … 4114 4144 pop dx ; 5a 4115 4145 retn ; c3 4116 release_font_access_: ; 0xc23 71LB 0x394146 release_font_access_: ; 0xc23ab LB 0x39 4117 4147 push dx ; 52 4118 4148 push bp ; 55 … … 4145 4175 pop dx ; 5a 4146 4176 retn ; c3 4147 set_scan_lines_: ; 0xc23 aaLB 0xbc4177 set_scan_lines_: ; 0xc23e4 LB 0xbc 4148 4178 push bx ; 53 4149 4179 push cx ; 51 … … 4156 4186 mov dx, strict word 00063h ; ba 63 00 4157 4187 mov ax, strict word 00040h ; b8 40 00 4158 call 02f f8h ; e8 3b 0c4188 call 02f26h ; e8 2f 0b 4159 4189 mov dx, ax ; 89 c2 4160 4190 mov si, ax ; 89 c6 … … 4173 4203 out DX, AL ; ee 4174 4204 cmp bl, 008h ; 80 fb 08 4175 jne short 02 3e1h ; 75 084205 jne short 0241bh ; 75 08 4176 4206 mov dx, strict word 00007h ; ba 07 00 4177 4207 mov ax, strict word 00006h ; b8 06 00 4178 jmp short 02 3eeh ; eb 0d4208 jmp short 02428h ; eb 0d 4179 4209 mov al, bl ; 88 d8 4180 4210 sub AL, strict byte 003h ; 2c 03 … … 4183 4213 sub AL, strict byte 004h ; 2c 04 4184 4214 xor ah, ah ; 30 e4 4185 call 00 b14h ; e8 23 e74215 call 00daah ; e8 7f e9 4186 4216 movzx di, bl ; 0f b6 fb 4187 4217 mov bx, di ; 89 fb 4188 4218 mov dx, 00085h ; ba 85 00 4189 4219 mov ax, strict word 00040h ; b8 40 00 4190 call 0 3006h ; e8 07 0c4220 call 02f34h ; e8 fb 0a 4191 4221 mov AL, strict byte 012h ; b0 12 4192 4222 mov dx, si ; 89 f2 … … 4223 4253 mov dx, 00084h ; ba 84 00 4224 4254 mov ax, strict word 00040h ; b8 40 00 4225 call 02f eah ; e8 a7 0b4255 call 02f18h ; e8 9b 0a 4226 4256 mov dx, strict word 0004ah ; ba 4a 00 4227 4257 mov ax, strict word 00040h ; b8 40 00 4228 call 02f f8h ; e8 ac 0b4258 call 02f26h ; e8 a0 0a 4229 4259 movzx dx, cl ; 0f b6 d1 4230 4260 mov bx, ax ; 89 c3 … … 4233 4263 mov dx, strict word 0004ch ; ba 4c 00 4234 4264 mov ax, strict word 00040h ; b8 40 00 4235 call 0 3006h ; e8 a7 0b4265 call 02f34h ; e8 9b 0a 4236 4266 pop bp ; 5d 4237 4267 pop di ; 5f … … 4241 4271 pop bx ; 5b 4242 4272 retn ; c3 4243 biosfn_load_text_user_pat_: ; 0xc24 66LB 0x784273 biosfn_load_text_user_pat_: ; 0xc24a0 LB 0x78 4244 4274 push si ; 56 4245 4275 push di ; 57 … … 4249 4279 mov word [bp-004h], bx ; 89 5e fc 4250 4280 mov word [bp-006h], cx ; 89 4e fa 4251 call 023 48h ; e8 cd fe4281 call 02382h ; e8 cd fe 4252 4282 mov al, byte [bp+00ah] ; 8a 46 0a 4253 4283 and AL, strict byte 003h ; 24 03 … … 4263 4293 xor bx, bx ; 31 db 4264 4294 cmp bx, word [bp-006h] ; 3b 5e fa 4265 jnc short 02 4c8h ; 73 2b4295 jnc short 02502h ; 73 2b 4266 4296 movzx cx, byte [bp+00ch] ; 0f b6 4e 0c 4267 4297 mov si, bx ; 89 de … … 4276 4306 mov es, ax ; 8e c0 4277 4307 cld ; fc 4278 jcxz 024 c5h ; e3 064308 jcxz 024ffh ; e3 06 4279 4309 push DS ; 1e 4280 4310 mov ds, dx ; 8e da … … 4282 4312 pop DS ; 1f 4283 4313 inc bx ; 43 4284 jmp short 024 98h ; eb d04285 call 023 71h ; e8 a6 fe4314 jmp short 024d2h ; eb d0 4315 call 023abh ; e8 a6 fe 4286 4316 cmp byte [bp-002h], 010h ; 80 7e fe 10 4287 jc short 02 4d8h ; 72 074317 jc short 02512h ; 72 07 4288 4318 movzx ax, byte [bp+00ch] ; 0f b6 46 0c 4289 call 023 aah ; e8 d2 fe4319 call 023e4h ; e8 d2 fe 4290 4320 leave ; c9 4291 4321 pop di ; 5f 4292 4322 pop si ; 5e 4293 4323 retn 00006h ; c2 06 00 4294 biosfn_load_text_8_14_pat_: ; 0xc2 4deLB 0x6c4324 biosfn_load_text_8_14_pat_: ; 0xc2518 LB 0x6c 4295 4325 push bx ; 53 4296 4326 push cx ; 51 … … 4299 4329 enter 00004h, 000h ; c8 04 00 00 4300 4330 mov byte [bp-002h], al ; 88 46 fe 4301 call 023 48h ; e8 5c fe4331 call 02382h ; e8 5c fe 4302 4332 mov al, dl ; 88 d0 4303 4333 and AL, strict byte 003h ; 24 03 … … 4312 4342 mov word [bp-004h], bx ; 89 5e fc 4313 4343 xor bx, bx ; 31 db 4314 jmp short 025 0fh ; eb 064344 jmp short 02549h ; eb 06 4315 4345 cmp bx, 00100h ; 81 fb 00 01 4316 jnc short 025 35h ; 73 264346 jnc short 0256fh ; 73 26 4317 4347 imul si, bx, strict byte 0000eh ; 6b f3 0e 4318 4348 mov di, bx ; 89 df … … 4325 4355 mov es, ax ; 8e c0 4326 4356 cld ; fc 4327 jcxz 025 32h ; e3 064357 jcxz 0256ch ; e3 06 4328 4358 push DS ; 1e 4329 4359 mov ds, dx ; 8e da … … 4331 4361 pop DS ; 1f 4332 4362 inc bx ; 43 4333 jmp short 025 09h ; eb d44334 call 023 71h ; e8 39 fe4363 jmp short 02543h ; eb d4 4364 call 023abh ; e8 39 fe 4335 4365 cmp byte [bp-002h], 010h ; 80 7e fe 10 4336 jc short 025 44h ; 72 064366 jc short 0257eh ; 72 06 4337 4367 mov ax, strict word 0000eh ; b8 0e 00 4338 call 023 aah ; e8 66 fe4368 call 023e4h ; e8 66 fe 4339 4369 leave ; c9 4340 4370 pop di ; 5f … … 4343 4373 pop bx ; 5b 4344 4374 retn ; c3 4345 biosfn_load_text_8_8_pat_: ; 0xc25 4aLB 0x6e4375 biosfn_load_text_8_8_pat_: ; 0xc2584 LB 0x6e 4346 4376 push bx ; 53 4347 4377 push cx ; 51 … … 4350 4380 enter 00004h, 000h ; c8 04 00 00 4351 4381 mov byte [bp-002h], al ; 88 46 fe 4352 call 023 48h ; e8 f0 fd4382 call 02382h ; e8 f0 fd 4353 4383 mov al, dl ; 88 d0 4354 4384 and AL, strict byte 003h ; 24 03 … … 4363 4393 mov word [bp-004h], bx ; 89 5e fc 4364 4394 xor bx, bx ; 31 db 4365 jmp short 025 7bh ; eb 064395 jmp short 025b5h ; eb 06 4366 4396 cmp bx, 00100h ; 81 fb 00 01 4367 jnc short 025 a3h ; 73 284397 jnc short 025ddh ; 73 28 4368 4398 mov si, bx ; 89 de 4369 4399 sal si, 003h ; c1 e6 03 … … 4377 4407 mov es, ax ; 8e c0 4378 4408 cld ; fc 4379 jcxz 025 a0h ; e3 064409 jcxz 025dah ; e3 06 4380 4410 push DS ; 1e 4381 4411 mov ds, dx ; 8e da … … 4383 4413 pop DS ; 1f 4384 4414 inc bx ; 43 4385 jmp short 025 75h ; eb d24386 call 023 71h ; e8 cb fd4415 jmp short 025afh ; eb d2 4416 call 023abh ; e8 cb fd 4387 4417 cmp byte [bp-002h], 010h ; 80 7e fe 10 4388 jc short 025 b2h ; 72 064418 jc short 025ech ; 72 06 4389 4419 mov ax, strict word 00008h ; b8 08 00 4390 call 023 aah ; e8 f8 fd4420 call 023e4h ; e8 f8 fd 4391 4421 leave ; c9 4392 4422 pop di ; 5f … … 4395 4425 pop bx ; 5b 4396 4426 retn ; c3 4397 biosfn_load_text_8_16_pat_: ; 0xc25 b8LB 0x6e4427 biosfn_load_text_8_16_pat_: ; 0xc25f2 LB 0x6e 4398 4428 push bx ; 53 4399 4429 push cx ; 51 … … 4402 4432 enter 00004h, 000h ; c8 04 00 00 4403 4433 mov byte [bp-002h], al ; 88 46 fe 4404 call 023 48h ; e8 82 fd4434 call 02382h ; e8 82 fd 4405 4435 mov al, dl ; 88 d0 4406 4436 and AL, strict byte 003h ; 24 03 … … 4415 4445 mov word [bp-004h], bx ; 89 5e fc 4416 4446 xor bx, bx ; 31 db 4417 jmp short 02 5e9h ; eb 064447 jmp short 02623h ; eb 06 4418 4448 cmp bx, 00100h ; 81 fb 00 01 4419 jnc short 026 11h ; 73 284449 jnc short 0264bh ; 73 28 4420 4450 mov si, bx ; 89 de 4421 4451 sal si, 004h ; c1 e6 04 … … 4429 4459 mov es, ax ; 8e c0 4430 4460 cld ; fc 4431 jcxz 026 0eh ; e3 064461 jcxz 02648h ; e3 06 4432 4462 push DS ; 1e 4433 4463 mov ds, dx ; 8e da … … 4435 4465 pop DS ; 1f 4436 4466 inc bx ; 43 4437 jmp short 02 5e3h ; eb d24438 call 023 71h ; e8 5d fd4467 jmp short 0261dh ; eb d2 4468 call 023abh ; e8 5d fd 4439 4469 cmp byte [bp-002h], 010h ; 80 7e fe 10 4440 jc short 026 20h ; 72 064470 jc short 0265ah ; 72 06 4441 4471 mov ax, strict word 00010h ; b8 10 00 4442 call 023 aah ; e8 8a fd4472 call 023e4h ; e8 8a fd 4443 4473 leave ; c9 4444 4474 pop di ; 5f … … 4447 4477 pop bx ; 5b 4448 4478 retn ; c3 4449 biosfn_load_gfx_8_8_chars_: ; 0xc26 26LB 0x54479 biosfn_load_gfx_8_8_chars_: ; 0xc2660 LB 0x5 4450 4480 push bp ; 55 4451 4481 mov bp, sp ; 89 e5 4452 4482 pop bp ; 5d 4453 4483 retn ; c3 4454 biosfn_load_gfx_user_chars_: ; 0xc26 2bLB 0x74484 biosfn_load_gfx_user_chars_: ; 0xc2665 LB 0x7 4455 4485 push bp ; 55 4456 4486 mov bp, sp ; 89 e5 4457 4487 pop bp ; 5d 4458 4488 retn 00002h ; c2 02 00 4459 biosfn_load_gfx_8_14_chars_: ; 0xc26 32LB 0x54489 biosfn_load_gfx_8_14_chars_: ; 0xc266c LB 0x5 4460 4490 push bp ; 55 4461 4491 mov bp, sp ; 89 e5 4462 4492 pop bp ; 5d 4463 4493 retn ; c3 4464 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 37LB 0x54494 biosfn_load_gfx_8_8_dd_chars_: ; 0xc2671 LB 0x5 4465 4495 push bp ; 55 4466 4496 mov bp, sp ; 89 e5 4467 4497 pop bp ; 5d 4468 4498 retn ; c3 4469 biosfn_load_gfx_8_16_chars_: ; 0xc26 3c LB 0x154499 biosfn_load_gfx_8_16_chars_: ; 0xc2676 LB 0x5 4470 4500 push bp ; 55 4471 4501 mov bp, sp ; 89 e5 4472 4502 pop bp ; 5d 4473 4503 retn ; c3 4474 jns short 02669h ; 79 26 4475 pushfw ; 9c 4476 db 026h, 0eeh 4477 ; es out DX, AL ; 26 ee 4478 db 026h, 0fbh 4479 ; es sti ; 26 fb 4480 or byte [es:bx], ah ; 26 08 27 4481 adc ax, 02227h ; 15 27 22 4482 daa ; 27 4483 das ; 2f 4484 daa ; 27 4485 biosfn_get_font_info_: ; 0xc2651 LB 0xee 4486 push si ; 56 4487 push di ; 57 4488 enter 00004h, 000h ; c8 04 00 00 4489 push ax ; 50 4490 mov di, dx ; 89 d7 4491 mov si, bx ; 89 de 4492 mov word [bp-004h], cx ; 89 4e fc 4493 mov ax, ss ; 8c d0 4494 mov cx, ax ; 89 c1 4495 mov word [bp-002h], ax ; 89 46 fe 4496 mov ax, word [bp-006h] ; 8b 46 fa 4497 cmp ax, strict word 00007h ; 3d 07 00 4498 jnbe near 026e8h ; 0f 87 78 00 4499 mov bx, ax ; 89 c3 4500 add bx, ax ; 01 c3 4501 jmp word [cs:bx+02641h] ; 2e ff a7 41 26 4502 mov dx, strict word 0007ch ; ba 7c 00 4503 xor ax, ax ; 31 c0 4504 call 02ff8h ; e8 77 09 4505 mov bx, ax ; 89 c3 4506 mov dx, di ; 89 fa 4507 mov ax, word [bp-002h] ; 8b 46 fe 4508 call 03006h ; e8 7b 09 4509 mov dx, strict word 0007eh ; ba 7e 00 4510 xor ax, ax ; 31 c0 4511 call 02ff8h ; e8 65 09 4512 mov bx, ax ; 89 c3 4513 mov dx, si ; 89 f2 4514 mov ax, word [bp-002h] ; 8b 46 fe 4515 jmp short 026bbh ; eb 1f 4516 mov dx, 0010ch ; ba 0c 01 4517 xor ax, ax ; 31 c0 4518 call 02ff8h ; e8 54 09 4519 mov bx, ax ; 89 c3 4520 mov dx, di ; 89 fa 4521 mov ax, cx ; 89 c8 4522 call 03006h ; e8 59 09 4523 mov dx, 0010eh ; ba 0e 01 4524 xor ax, ax ; 31 c0 4525 call 02ff8h ; e8 43 09 4526 mov bx, ax ; 89 c3 4527 mov dx, si ; 89 f2 4528 mov ax, cx ; 89 c8 4529 call 03006h ; e8 48 09 4530 mov dx, 00085h ; ba 85 00 4531 mov ax, strict word 00040h ; b8 40 00 4532 call 02fdch ; e8 15 09 4533 movzx bx, al ; 0f b6 d8 4534 mov dx, word [bp-004h] ; 8b 56 fc 4535 mov ax, word [bp-002h] ; 8b 46 fe 4536 call 03006h ; e8 33 09 4537 mov dx, 00084h ; ba 84 00 4538 mov ax, strict word 00040h ; b8 40 00 4539 call 02fdch ; e8 00 09 4540 movzx bx, al ; 0f b6 d8 4541 mov dx, word [bp+008h] ; 8b 56 08 4542 mov ax, word [bp-002h] ; 8b 46 fe 4543 call 03006h ; e8 1e 09 4544 leave ; c9 4545 pop di ; 5f 4546 pop si ; 5e 4547 retn 00002h ; c2 02 00 4548 mov bx, 0c000h ; bb 00 c0 4549 mov ax, cx ; 89 c8 4550 call 03006h ; e8 10 09 4551 mov bx, 05dafh ; bb af 5d 4552 jmp short 026b7h ; eb bc 4553 mov bx, 0c000h ; bb 00 c0 4554 mov ax, cx ; 89 c8 4555 call 03006h ; e8 03 09 4556 mov bx, 055afh ; bb af 55 4557 jmp short 026b7h ; eb af 4558 mov bx, 0c000h ; bb 00 c0 4559 mov ax, cx ; 89 c8 4560 call 03006h ; e8 f6 08 4561 mov bx, 059afh ; bb af 59 4562 jmp short 026b7h ; eb a2 4563 mov bx, 0c000h ; bb 00 c0 4564 mov ax, cx ; 89 c8 4565 call 03006h ; e8 e9 08 4566 mov bx, 07bafh ; bb af 7b 4567 jmp short 026b7h ; eb 95 4568 mov bx, 0c000h ; bb 00 c0 4569 mov ax, cx ; 89 c8 4570 call 03006h ; e8 dc 08 4571 mov bx, 06bafh ; bb af 6b 4572 jmp short 026b7h ; eb 88 4573 mov bx, 0c000h ; bb 00 c0 4574 mov ax, cx ; 89 c8 4575 call 03006h ; e8 cf 08 4576 mov bx, 07cdch ; bb dc 7c 4577 jmp near 026b7h ; e9 7a ff 4578 jmp short 026e8h ; eb a9 4579 biosfn_alternate_prtsc_: ; 0xc273f LB 0x5 4504 biosfn_alternate_prtsc_: ; 0xc267b LB 0x5 4580 4505 push bp ; 55 4581 4506 mov bp, sp ; 89 e5 4582 4507 pop bp ; 5d 4583 4508 retn ; c3 4584 biosfn_switch_video_interface_: ; 0xc2 744LB 0x54509 biosfn_switch_video_interface_: ; 0xc2680 LB 0x5 4585 4510 push bp ; 55 4586 4511 mov bp, sp ; 89 e5 4587 4512 pop bp ; 5d 4588 4513 retn ; c3 4589 biosfn_enable_video_refresh_control_: ; 0xc2 749LB 0x54514 biosfn_enable_video_refresh_control_: ; 0xc2685 LB 0x5 4590 4515 push bp ; 55 4591 4516 mov bp, sp ; 89 e5 4592 4517 pop bp ; 5d 4593 4518 retn ; c3 4594 biosfn_write_string_: ; 0xc2 74e LB 0x9c4519 biosfn_write_string_: ; 0xc268a LB 0x97 4595 4520 push si ; 56 4596 4521 push di ; 57 4597 4522 enter 0000ah, 000h ; c8 0a 00 00 4598 mov byte [bp-00 4h], al ; 88 46 fc4599 mov byte [bp-00 2h], dl ; 88 56 fe4600 mov byte [bp-00 6h], bl ; 88 5e fa4523 mov byte [bp-006h], al ; 88 46 fa 4524 mov byte [bp-004h], dl ; 88 56 fc 4525 mov byte [bp-002h], bl ; 88 5e fe 4601 4526 mov si, cx ; 89 ce 4602 4527 mov di, word [bp+00eh] ; 8b 7e 0e 4528 movzx ax, dl ; 0f b6 c2 4529 lea bx, [bp-00ah] ; 8d 5e f6 4603 4530 lea dx, [bp-008h] ; 8d 56 f8 4604 push SS ; 16 4605 push dx ; 52 4606 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4607 mov cx, ss ; 8c d1 4608 lea bx, [bp-00ah] ; 8d 5e f6 4609 call 00c53h ; e8 e0 e4 4531 call 00a8ch ; e8 e2 e3 4610 4532 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 4611 jne short 02 78ah ; 75 114612 mov al, byte [bp-00 8h] ; 8a 46 f84533 jne short 026c1h ; 75 11 4534 mov al, byte [bp-00ah] ; 8a 46 f6 4613 4535 mov byte [bp+00ah], al ; 88 46 0a 4614 mov ax, word [bp-00 8h] ; 8b 46 f84536 mov ax, word [bp-00ah] ; 8b 46 f6 4615 4537 xor al, al ; 30 c0 4616 4538 shr ax, 008h ; c1 e8 08 … … 4620 4542 movzx ax, byte [bp+00ah] ; 0f b6 46 0a 4621 4543 add dx, ax ; 01 c2 4622 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe4623 call 00 bb5h ; e8 17 e44544 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4545 call 00e4bh ; e8 76 e7 4624 4546 dec si ; 4e 4625 4547 cmp si, strict byte 0ffffh ; 83 fe ff 4626 je short 027 d4h ; 74 304548 je short 0270bh ; 74 30 4627 4549 mov dx, di ; 89 fa 4628 4550 inc di ; 47 4629 4551 mov ax, word [bp+00ch] ; 8b 46 0c 4630 call 02f dch ; e8 2f084552 call 02f0ah ; e8 26 08 4631 4553 mov cl, al ; 88 c1 4632 test byte [bp-00 4h], 002h ; f6 46 fc024633 je short 02 7c1h ; 74 0c4554 test byte [bp-006h], 002h ; f6 46 fa 02 4555 je short 026f8h ; 74 0c 4634 4556 mov dx, di ; 89 fa 4635 4557 inc di ; 47 4636 4558 mov ax, word [bp+00ch] ; 8b 46 0c 4637 call 02f dch ; e8 1e084638 mov byte [bp-00 6h], al ; 88 46 fa4639 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa4640 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe4559 call 02f0ah ; e8 15 08 4560 mov byte [bp-002h], al ; 88 46 fe 4561 movzx bx, byte [bp-002h] ; 0f b6 5e fe 4562 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4641 4563 movzx ax, cl ; 0f b6 c1 4642 4564 mov cx, strict word 00003h ; b9 03 00 4643 call 02 0bbh ; e8 e9 f84644 jmp short 02 79eh ; eb ca4645 test byte [bp-00 4h], 001h ; f6 46 fc014646 jne short 027 e4h ; 75 0a4647 mov dx, word [bp-00 8h] ; 8b 56 f84648 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe4649 call 00 bb5h ; e8 d1 e34565 call 02103h ; e8 fa f9 4566 jmp short 026d5h ; eb ca 4567 test byte [bp-006h], 001h ; f6 46 fa 01 4568 jne short 0271bh ; 75 0a 4569 mov dx, word [bp-00ah] ; 8b 56 f6 4570 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4571 call 00e4bh ; e8 30 e7 4650 4572 leave ; c9 4651 4573 pop di ; 5f 4652 4574 pop si ; 5e 4653 4575 retn 00008h ; c2 08 00 4654 biosfn_read_state_info_: ; 0xc27 eaLB 0x10a4576 biosfn_read_state_info_: ; 0xc2721 LB 0x10a 4655 4577 push cx ; 51 4656 4578 push si ; 56 … … 4663 4585 mov dx, word [bp-004h] ; 8b 56 fc 4664 4586 mov ax, word [bp-002h] ; 8b 46 fe 4665 call 0 3006h ; e8 08 084587 call 02f34h ; e8 ff 07 4666 4588 mov dx, word [bp-004h] ; 8b 56 fc 4667 4589 inc dx ; 42 … … 4669 4591 mov bx, 0c000h ; bb 00 c0 4670 4592 mov ax, word [bp-002h] ; 8b 46 fe 4671 call 0 3006h ; e8 fa074593 call 02f34h ; e8 f1 07 4672 4594 mov di, word [bp-004h] ; 8b 7e fc 4673 4595 add di, strict byte 00004h ; 83 c7 04 … … 4677 4599 mov es, [bp-002h] ; 8e 46 fe 4678 4600 cld ; fc 4679 jcxz 02 827h ; e3 064601 jcxz 0275eh ; e3 06 4680 4602 push DS ; 1e 4681 4603 mov ds, dx ; 8e da … … 4689 4611 mov es, [bp-002h] ; 8e 46 fe 4690 4612 cld ; fc 4691 jcxz 02 842h ; e3 064613 jcxz 02779h ; e3 06 4692 4614 push DS ; 1e 4693 4615 mov ds, dx ; 8e da … … 4696 4618 mov dx, 0008ah ; ba 8a 00 4697 4619 mov ax, strict word 00040h ; b8 40 00 4698 call 02f dch ; e8 91074620 call 02f0ah ; e8 88 07 4699 4621 movzx bx, al ; 0f b6 d8 4700 4622 mov dx, word [bp-004h] ; 8b 56 fc 4701 4623 add dx, strict byte 00025h ; 83 c2 25 4702 4624 mov ax, word [bp-002h] ; 8b 46 fe 4703 call 02f eah ; e8 90074625 call 02f18h ; e8 87 07 4704 4626 mov dx, word [bp-004h] ; 8b 56 fc 4705 4627 add dx, strict byte 00026h ; 83 c2 26 4706 4628 xor bx, bx ; 31 db 4707 4629 mov ax, word [bp-002h] ; 8b 46 fe 4708 call 02f eah ; e8 82074630 call 02f18h ; e8 79 07 4709 4631 mov dx, word [bp-004h] ; 8b 56 fc 4710 4632 add dx, strict byte 00027h ; 83 c2 27 4711 4633 mov bx, strict word 00010h ; bb 10 00 4712 4634 mov ax, word [bp-002h] ; 8b 46 fe 4713 call 02f eah ; e8 73074635 call 02f18h ; e8 6a 07 4714 4636 mov dx, word [bp-004h] ; 8b 56 fc 4715 4637 add dx, strict byte 00028h ; 83 c2 28 4716 4638 xor bx, bx ; 31 db 4717 4639 mov ax, word [bp-002h] ; 8b 46 fe 4718 call 02f eah ; e8 65074640 call 02f18h ; e8 5c 07 4719 4641 mov dx, word [bp-004h] ; 8b 56 fc 4720 4642 add dx, strict byte 00029h ; 83 c2 29 4721 4643 mov bx, strict word 00008h ; bb 08 00 4722 4644 mov ax, word [bp-002h] ; 8b 46 fe 4723 call 02f eah ; e8 56074645 call 02f18h ; e8 4d 07 4724 4646 mov dx, word [bp-004h] ; 8b 56 fc 4725 4647 add dx, strict byte 0002ah ; 83 c2 2a 4726 4648 mov bx, strict word 00002h ; bb 02 00 4727 4649 mov ax, word [bp-002h] ; 8b 46 fe 4728 call 02f eah ; e8 47074650 call 02f18h ; e8 3e 07 4729 4651 mov dx, word [bp-004h] ; 8b 56 fc 4730 4652 add dx, strict byte 0002bh ; 83 c2 2b 4731 4653 xor bx, bx ; 31 db 4732 4654 mov ax, word [bp-002h] ; 8b 46 fe 4733 call 02f eah ; e8 39074655 call 02f18h ; e8 30 07 4734 4656 mov dx, word [bp-004h] ; 8b 56 fc 4735 4657 add dx, strict byte 0002ch ; 83 c2 2c 4736 4658 xor bx, bx ; 31 db 4737 4659 mov ax, word [bp-002h] ; 8b 46 fe 4738 call 02f eah ; e8 2b074660 call 02f18h ; e8 22 07 4739 4661 mov dx, word [bp-004h] ; 8b 56 fc 4740 4662 add dx, strict byte 00031h ; 83 c2 31 4741 4663 mov bx, strict word 00003h ; bb 03 00 4742 4664 mov ax, word [bp-002h] ; 8b 46 fe 4743 call 02f eah ; e8 1c074665 call 02f18h ; e8 13 07 4744 4666 mov dx, word [bp-004h] ; 8b 56 fc 4745 4667 add dx, strict byte 00032h ; 83 c2 32 4746 4668 xor bx, bx ; 31 db 4747 4669 mov ax, word [bp-002h] ; 8b 46 fe 4748 call 02f eah ; e8 0e074670 call 02f18h ; e8 05 07 4749 4671 mov di, word [bp-004h] ; 8b 7e fc 4750 4672 add di, strict byte 00033h ; 83 c7 33 … … 4753 4675 mov es, [bp-002h] ; 8e 46 fe 4754 4676 cld ; fc 4755 jcxz 028 efh ; e3 024677 jcxz 02826h ; e3 02 4756 4678 rep stosb ; f3 aa 4757 4679 leave ; c9 … … 4760 4682 pop cx ; 59 4761 4683 retn ; c3 4762 biosfn_read_video_state_size2_: ; 0xc28 f4LB 0x234684 biosfn_read_video_state_size2_: ; 0xc282b LB 0x23 4763 4685 push dx ; 52 4764 4686 push bp ; 55 … … 4767 4689 xor ax, ax ; 31 c0 4768 4690 test dl, 001h ; f6 c2 01 4769 je short 02 904h ; 74 034691 je short 0283bh ; 74 03 4770 4692 mov ax, strict word 00046h ; b8 46 00 4771 4693 test dl, 002h ; f6 c2 02 4772 je short 02 90ch ; 74 034694 je short 02843h ; 74 03 4773 4695 add ax, strict word 0002ah ; 05 2a 00 4774 4696 test dl, 004h ; f6 c2 04 4775 je short 02 914h ; 74 034697 je short 0284bh ; 74 03 4776 4698 add ax, 00304h ; 05 04 03 4777 4699 pop bp ; 5d 4778 4700 pop dx ; 5a 4779 4701 retn ; c3 4780 biosfn_read_video_state_size_: ; 0xc2917 LB 0x1b 4702 vga_get_video_state_size_: ; 0xc284e LB 0xf 4781 4703 push bx ; 53 4782 push cx ; 514783 4704 push bp ; 55 4784 4705 mov bp, sp ; 89 e5 4785 mov bx, ax ; 89 c3 4786 mov ax, ss ; 8c d0 4787 mov cx, ax ; 89 c1 4788 mov ax, bx ; 89 d8 4789 call 028f4h ; e8 cd ff 4790 mov bx, ax ; 89 c3 4791 mov ax, cx ; 89 c8 4792 call 03006h ; e8 d8 06 4706 mov bx, dx ; 89 d3 4707 call 0282bh ; e8 d4 ff 4708 mov word [ss:bx], ax ; 36 89 07 4793 4709 pop bp ; 5d 4794 pop cx ; 594795 4710 pop bx ; 5b 4796 4711 retn ; c3 4797 biosfn_save_video_state_: ; 0xc2 932LB 0x3654712 biosfn_save_video_state_: ; 0xc285d LB 0x365 4798 4713 push cx ; 51 4799 4714 push si ; 56 … … 4805 4720 mov dx, strict word 00063h ; ba 63 00 4806 4721 mov ax, strict word 00040h ; b8 40 00 4807 call 02f f8h ; e8 b1064722 call 02f26h ; e8 b4 06 4808 4723 mov di, ax ; 89 c7 4809 4724 test byte [bp-006h], 001h ; f6 46 fa 01 4810 je near 02 ab4h ; 0f 84 63 014725 je near 029dfh ; 0f 84 63 01 4811 4726 mov dx, 003c4h ; ba c4 03 4812 4727 in AL, DX ; ec … … 4816 4731 mov dx, cx ; 89 ca 4817 4732 mov ax, si ; 89 f0 4818 call 02f eah ; e8 89064733 call 02f18h ; e8 8c 06 4819 4734 inc cx ; 41 4820 4735 mov dx, di ; 89 fa … … 4825 4740 mov dx, cx ; 89 ca 4826 4741 mov ax, si ; 89 f0 4827 call 02f eah ; e8 79064742 call 02f18h ; e8 7c 06 4828 4743 inc cx ; 41 4829 4744 mov dx, 003ceh ; ba ce 03 … … 4834 4749 mov dx, cx ; 89 ca 4835 4750 mov ax, si ; 89 f0 4836 call 02f eah ; e8 68064751 call 02f18h ; e8 6b 06 4837 4752 inc cx ; 41 4838 4753 mov dx, 003dah ; ba da 03 … … 4848 4763 mov dx, cx ; 89 ca 4849 4764 mov ax, si ; 89 f0 4850 call 02f eah ; e8 4d064765 call 02f18h ; e8 50 06 4851 4766 inc cx ; 41 4852 4767 mov dx, 003cah ; ba ca 03 … … 4857 4772 mov dx, cx ; 89 ca 4858 4773 mov ax, si ; 89 f0 4859 call 02f eah ; e8 3c064774 call 02f18h ; e8 3f 06 4860 4775 mov ax, strict word 00001h ; b8 01 00 4861 4776 mov word [bp-004h], ax ; 89 46 fc 4862 4777 add cx, ax ; 01 c1 4863 jmp short 02 9beh ; eb 064778 jmp short 028e9h ; eb 06 4864 4779 cmp word [bp-004h], strict byte 00004h ; 83 7e fc 04 4865 jnbe short 029 dbh ; 77 1d4780 jnbe short 02906h ; 77 1d 4866 4781 mov al, byte [bp-004h] ; 8a 46 fc 4867 4782 mov dx, 003c4h ; ba c4 03 … … 4874 4789 mov dx, cx ; 89 ca 4875 4790 mov ax, si ; 89 f0 4876 call 02f eah ; e8 15064791 call 02f18h ; e8 18 06 4877 4792 inc cx ; 41 4878 4793 inc word [bp-004h] ; ff 46 fc 4879 jmp short 02 9b8h ; eb dd4794 jmp short 028e3h ; eb dd 4880 4795 xor al, al ; 30 c0 4881 4796 mov dx, 003c4h ; ba c4 03 … … 4888 4803 mov dx, cx ; 89 ca 4889 4804 mov ax, si ; 89 f0 4890 call 02f eah ; e8 f9054805 call 02f18h ; e8 fc 05 4891 4806 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4892 4807 inc cx ; 41 4893 jmp short 029 ffh ; eb 064808 jmp short 0292ah ; eb 06 4894 4809 cmp word [bp-004h], strict byte 00018h ; 83 7e fc 18 4895 jnbe short 02 a1bh ; 77 1c4810 jnbe short 02946h ; 77 1c 4896 4811 mov al, byte [bp-004h] ; 8a 46 fc 4897 4812 mov dx, di ; 89 fa … … 4904 4819 mov dx, cx ; 89 ca 4905 4820 mov ax, si ; 89 f0 4906 call 02f eah ; e8 d5054821 call 02f18h ; e8 d8 05 4907 4822 inc cx ; 41 4908 4823 inc word [bp-004h] ; ff 46 fc 4909 jmp short 029 f9h ; eb de4824 jmp short 02924h ; eb de 4910 4825 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4911 jmp short 02 a28h ; eb 064826 jmp short 02953h ; eb 06 4912 4827 cmp word [bp-004h], strict byte 00013h ; 83 7e fc 13 4913 jnbe short 02 a51h ; 77 294828 jnbe short 0297ch ; 77 29 4914 4829 mov dx, 003dah ; ba da 03 4915 4830 in AL, DX ; ec … … 4928 4843 mov dx, cx ; 89 ca 4929 4844 mov ax, si ; 89 f0 4930 call 02f eah ; e8 9f054845 call 02f18h ; e8 a2 05 4931 4846 inc cx ; 41 4932 4847 inc word [bp-004h] ; ff 46 fc 4933 jmp short 02 a22h ; eb d14848 jmp short 0294dh ; eb d1 4934 4849 mov dx, 003dah ; ba da 03 4935 4850 in AL, DX ; ec … … 4937 4852 ; sub ah, ah ; 2a e4 4938 4853 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4939 jmp short 02 a64h ; eb 064854 jmp short 0298fh ; eb 06 4940 4855 cmp word [bp-004h], strict byte 00008h ; 83 7e fc 08 4941 jnbe short 02 a81h ; 77 1d4856 jnbe short 029ach ; 77 1d 4942 4857 mov al, byte [bp-004h] ; 8a 46 fc 4943 4858 mov dx, 003ceh ; ba ce 03 … … 4950 4865 mov dx, cx ; 89 ca 4951 4866 mov ax, si ; 89 f0 4952 call 02f eah ; e8 6f054867 call 02f18h ; e8 72 05 4953 4868 inc cx ; 41 4954 4869 inc word [bp-004h] ; ff 46 fc 4955 jmp short 02 a5eh ; eb dd4870 jmp short 02989h ; eb dd 4956 4871 mov bx, di ; 89 fb 4957 4872 mov dx, cx ; 89 ca 4958 4873 mov ax, si ; 89 f0 4959 call 0 3006h ; e8 7c054874 call 02f34h ; e8 7f 05 4960 4875 inc cx ; 41 4961 4876 inc cx ; 41 … … 4963 4878 mov dx, cx ; 89 ca 4964 4879 mov ax, si ; 89 f0 4965 call 02f eah ; e8 55054880 call 02f18h ; e8 58 05 4966 4881 inc cx ; 41 4967 4882 xor bx, bx ; 31 db 4968 4883 mov dx, cx ; 89 ca 4969 4884 mov ax, si ; 89 f0 4970 call 02f eah ; e8 4b054885 call 02f18h ; e8 4e 05 4971 4886 inc cx ; 41 4972 4887 xor bx, bx ; 31 db 4973 4888 mov dx, cx ; 89 ca 4974 4889 mov ax, si ; 89 f0 4975 call 02f eah ; e8 41054890 call 02f18h ; e8 44 05 4976 4891 inc cx ; 41 4977 4892 xor bx, bx ; 31 db 4978 4893 mov dx, cx ; 89 ca 4979 4894 mov ax, si ; 89 f0 4980 call 02f eah ; e8 37054895 call 02f18h ; e8 3a 05 4981 4896 inc cx ; 41 4982 4897 test byte [bp-006h], 002h ; f6 46 fa 02 4983 je near 02 c23h ; 0f 84 67 014898 je near 02b4eh ; 0f 84 67 01 4984 4899 mov dx, strict word 00049h ; ba 49 00 4985 4900 mov ax, strict word 00040h ; b8 40 00 4986 call 02f dch ; e8 17054901 call 02f0ah ; e8 1a 05 4987 4902 movzx bx, al ; 0f b6 d8 4988 4903 mov dx, cx ; 89 ca 4989 4904 mov ax, si ; 89 f0 4990 call 02f eah ; e8 1b054905 call 02f18h ; e8 1e 05 4991 4906 inc cx ; 41 4992 4907 mov dx, strict word 0004ah ; ba 4a 00 4993 4908 mov ax, strict word 00040h ; b8 40 00 4994 call 02f f8h ; e8 1f054909 call 02f26h ; e8 22 05 4995 4910 mov bx, ax ; 89 c3 4996 4911 mov dx, cx ; 89 ca 4997 4912 mov ax, si ; 89 f0 4998 call 0 3006h ; e8 24054913 call 02f34h ; e8 27 05 4999 4914 inc cx ; 41 5000 4915 inc cx ; 41 5001 4916 mov dx, strict word 0004ch ; ba 4c 00 5002 4917 mov ax, strict word 00040h ; b8 40 00 5003 call 02f f8h ; e8 0b054918 call 02f26h ; e8 0e 05 5004 4919 mov bx, ax ; 89 c3 5005 4920 mov dx, cx ; 89 ca 5006 4921 mov ax, si ; 89 f0 5007 call 0 3006h ; e8 10054922 call 02f34h ; e8 13 05 5008 4923 inc cx ; 41 5009 4924 inc cx ; 41 5010 4925 mov dx, strict word 00063h ; ba 63 00 5011 4926 mov ax, strict word 00040h ; b8 40 00 5012 call 02f f8h ; e8 f7044927 call 02f26h ; e8 fa 04 5013 4928 mov bx, ax ; 89 c3 5014 4929 mov dx, cx ; 89 ca 5015 4930 mov ax, si ; 89 f0 5016 call 0 3006h ; e8 fc044931 call 02f34h ; e8 ff 04 5017 4932 inc cx ; 41 5018 4933 inc cx ; 41 5019 4934 mov dx, 00084h ; ba 84 00 5020 4935 mov ax, strict word 00040h ; b8 40 00 5021 call 02f dch ; e8 c7044936 call 02f0ah ; e8 ca 04 5022 4937 movzx bx, al ; 0f b6 d8 5023 4938 mov dx, cx ; 89 ca 5024 4939 mov ax, si ; 89 f0 5025 call 02f eah ; e8 cb044940 call 02f18h ; e8 ce 04 5026 4941 inc cx ; 41 5027 4942 mov dx, 00085h ; ba 85 00 5028 4943 mov ax, strict word 00040h ; b8 40 00 5029 call 02f f8h ; e8 cf044944 call 02f26h ; e8 d2 04 5030 4945 mov bx, ax ; 89 c3 5031 4946 mov dx, cx ; 89 ca 5032 4947 mov ax, si ; 89 f0 5033 call 0 3006h ; e8 d4044948 call 02f34h ; e8 d7 04 5034 4949 inc cx ; 41 5035 4950 inc cx ; 41 5036 4951 mov dx, 00087h ; ba 87 00 5037 4952 mov ax, strict word 00040h ; b8 40 00 5038 call 02f dch ; e8 9f044953 call 02f0ah ; e8 a2 04 5039 4954 movzx bx, al ; 0f b6 d8 5040 4955 mov dx, cx ; 89 ca 5041 4956 mov ax, si ; 89 f0 5042 call 02f eah ; e8 a3044957 call 02f18h ; e8 a6 04 5043 4958 inc cx ; 41 5044 4959 mov dx, 00088h ; ba 88 00 5045 4960 mov ax, strict word 00040h ; b8 40 00 5046 call 02f dch ; e8 8b044961 call 02f0ah ; e8 8e 04 5047 4962 movzx bx, al ; 0f b6 d8 5048 4963 mov dx, cx ; 89 ca 5049 4964 mov ax, si ; 89 f0 5050 call 02f eah ; e8 8f044965 call 02f18h ; e8 92 04 5051 4966 inc cx ; 41 5052 4967 mov dx, 00089h ; ba 89 00 5053 4968 mov ax, strict word 00040h ; b8 40 00 5054 call 02f dch ; e8 77044969 call 02f0ah ; e8 7a 04 5055 4970 movzx bx, al ; 0f b6 d8 5056 4971 mov dx, cx ; 89 ca 5057 4972 mov ax, si ; 89 f0 5058 call 02f eah ; e8 7b044973 call 02f18h ; e8 7e 04 5059 4974 inc cx ; 41 5060 4975 mov dx, strict word 00060h ; ba 60 00 5061 4976 mov ax, strict word 00040h ; b8 40 00 5062 call 02f f8h ; e8 7f044977 call 02f26h ; e8 82 04 5063 4978 mov bx, ax ; 89 c3 5064 4979 mov dx, cx ; 89 ca 5065 4980 mov ax, si ; 89 f0 5066 call 0 3006h ; e8 84044981 call 02f34h ; e8 87 04 5067 4982 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 5068 4983 inc cx ; 41 5069 4984 inc cx ; 41 5070 jmp short 02 b91h ; eb 064985 jmp short 02abch ; eb 06 5071 4986 cmp word [bp-004h], strict byte 00008h ; 83 7e fc 08 5072 jnc short 02 bafh ; 73 1e4987 jnc short 02adah ; 73 1e 5073 4988 mov dx, word [bp-004h] ; 8b 56 fc 5074 4989 add dx, dx ; 01 d2 5075 4990 add dx, strict byte 00050h ; 83 c2 50 5076 4991 mov ax, strict word 00040h ; b8 40 00 5077 call 02f f8h ; e8 59044992 call 02f26h ; e8 5c 04 5078 4993 mov bx, ax ; 89 c3 5079 4994 mov dx, cx ; 89 ca 5080 4995 mov ax, si ; 89 f0 5081 call 0 3006h ; e8 5e044996 call 02f34h ; e8 61 04 5082 4997 inc cx ; 41 5083 4998 inc cx ; 41 5084 4999 inc word [bp-004h] ; ff 46 fc 5085 jmp short 02 b8bh ; eb dc5000 jmp short 02ab6h ; eb dc 5086 5001 mov dx, strict word 0004eh ; ba 4e 00 5087 5002 mov ax, strict word 00040h ; b8 40 00 5088 call 02f f8h ; e8 40045003 call 02f26h ; e8 43 04 5089 5004 mov bx, ax ; 89 c3 5090 5005 mov dx, cx ; 89 ca 5091 5006 mov ax, si ; 89 f0 5092 call 0 3006h ; e8 45045007 call 02f34h ; e8 48 04 5093 5008 inc cx ; 41 5094 5009 inc cx ; 41 5095 5010 mov dx, strict word 00062h ; ba 62 00 5096 5011 mov ax, strict word 00040h ; b8 40 00 5097 call 02f dch ; e8 10045012 call 02f0ah ; e8 13 04 5098 5013 movzx bx, al ; 0f b6 d8 5099 5014 mov dx, cx ; 89 ca 5100 5015 mov ax, si ; 89 f0 5101 call 02f eah ; e8 14045016 call 02f18h ; e8 17 04 5102 5017 inc cx ; 41 5103 5018 mov dx, strict word 0007ch ; ba 7c 00 5104 5019 xor ax, ax ; 31 c0 5105 call 02f f8h ; e8 19045020 call 02f26h ; e8 1c 04 5106 5021 mov bx, ax ; 89 c3 5107 5022 mov dx, cx ; 89 ca 5108 5023 mov ax, si ; 89 f0 5109 call 0 3006h ; e8 1e045024 call 02f34h ; e8 21 04 5110 5025 inc cx ; 41 5111 5026 inc cx ; 41 5112 5027 mov dx, strict word 0007eh ; ba 7e 00 5113 5028 xor ax, ax ; 31 c0 5114 call 02f f8h ; e8 06045029 call 02f26h ; e8 09 04 5115 5030 mov bx, ax ; 89 c3 5116 5031 mov dx, cx ; 89 ca 5117 5032 mov ax, si ; 89 f0 5118 call 0 3006h ; e8 0b045033 call 02f34h ; e8 0e 04 5119 5034 inc cx ; 41 5120 5035 inc cx ; 41 5121 5036 mov dx, 0010ch ; ba 0c 01 5122 5037 xor ax, ax ; 31 c0 5123 call 02f f8h ; e8 f3035038 call 02f26h ; e8 f6 03 5124 5039 mov bx, ax ; 89 c3 5125 5040 mov dx, cx ; 89 ca 5126 5041 mov ax, si ; 89 f0 5127 call 0 3006h ; e8 f8035042 call 02f34h ; e8 fb 03 5128 5043 inc cx ; 41 5129 5044 inc cx ; 41 5130 5045 mov dx, 0010eh ; ba 0e 01 5131 5046 xor ax, ax ; 31 c0 5132 call 02f f8h ; e8 e0035047 call 02f26h ; e8 e3 03 5133 5048 mov bx, ax ; 89 c3 5134 5049 mov dx, cx ; 89 ca 5135 5050 mov ax, si ; 89 f0 5136 call 0 3006h ; e8 e5035051 call 02f34h ; e8 e8 03 5137 5052 inc cx ; 41 5138 5053 inc cx ; 41 5139 5054 test byte [bp-006h], 004h ; f6 46 fa 04 5140 je short 02 c90h ; 74 675055 je short 02bbbh ; 74 67 5141 5056 mov dx, 003c7h ; ba c7 03 5142 5057 in AL, DX ; ec … … 5146 5061 mov dx, cx ; 89 ca 5147 5062 mov ax, si ; 89 f0 5148 call 02f eah ; e8 b1035063 call 02f18h ; e8 b4 03 5149 5064 inc cx ; 41 5150 5065 mov dx, 003c8h ; ba c8 03 … … 5155 5070 mov dx, cx ; 89 ca 5156 5071 mov ax, si ; 89 f0 5157 call 02f eah ; e8 a0035072 call 02f18h ; e8 a3 03 5158 5073 inc cx ; 41 5159 5074 mov dx, 003c6h ; ba c6 03 … … 5164 5079 mov dx, cx ; 89 ca 5165 5080 mov ax, si ; 89 f0 5166 call 02f eah ; e8 8f035081 call 02f18h ; e8 92 03 5167 5082 inc cx ; 41 5168 5083 xor al, al ; 30 c0 … … 5171 5086 xor ah, ah ; 30 e4 5172 5087 mov word [bp-004h], ax ; 89 46 fc 5173 jmp short 02 c70h ; eb 075088 jmp short 02b9bh ; eb 07 5174 5089 cmp word [bp-004h], 00300h ; 81 7e fc 00 03 5175 jnc short 02 c86h ; 73 165090 jnc short 02bb1h ; 73 16 5176 5091 mov dx, 003c9h ; ba c9 03 5177 5092 in AL, DX ; ec … … 5181 5096 mov dx, cx ; 89 ca 5182 5097 mov ax, si ; 89 f0 5183 call 02f eah ; e8 6a035098 call 02f18h ; e8 6d 03 5184 5099 inc cx ; 41 5185 5100 inc word [bp-004h] ; ff 46 fc 5186 jmp short 02 c69h ; eb e35101 jmp short 02b94h ; eb e3 5187 5102 xor bx, bx ; 31 db 5188 5103 mov dx, cx ; 89 ca 5189 5104 mov ax, si ; 89 f0 5190 call 02f eah ; e8 5b035105 call 02f18h ; e8 5e 03 5191 5106 inc cx ; 41 5192 5107 mov ax, cx ; 89 c8 … … 5196 5111 pop cx ; 59 5197 5112 retn ; c3 5198 biosfn_restore_video_state_: ; 0xc2 c97 LB 0x31e5113 biosfn_restore_video_state_: ; 0xc2bc2 LB 0x321 5199 5114 push cx ; 51 5200 5115 push si ; 56 … … 5205 5120 mov cx, bx ; 89 d9 5206 5121 test byte [bp-008h], 001h ; f6 46 f8 01 5207 je near 02d f2h ; 0f 84 47015122 je near 02d20h ; 0f 84 4a 01 5208 5123 mov dx, 003dah ; ba da 03 5209 5124 in AL, DX ; ec … … 5212 5127 lea dx, [bx+040h] ; 8d 57 40 5213 5128 mov ax, si ; 89 f0 5214 call 02f f8h ; e8 3f035129 call 02f26h ; e8 42 03 5215 5130 mov di, ax ; 89 c7 5216 5131 mov word [bp-002h], strict word 00001h ; c7 46 fe 01 00 5217 5132 lea cx, [bx+005h] ; 8d 4f 05 5218 jmp short 02 ccbh ; eb 065133 jmp short 02bf6h ; eb 06 5219 5134 cmp word [bp-002h], strict byte 00004h ; 83 7e fe 04 5220 jnbe short 02c e3h ; 77 185135 jnbe short 02c0eh ; 77 18 5221 5136 mov al, byte [bp-002h] ; 8a 46 fe 5222 5137 mov dx, 003c4h ; ba c4 03 … … 5224 5139 mov dx, cx ; 89 ca 5225 5140 mov ax, si ; 89 f0 5226 call 02f dch ; e8 03035141 call 02f0ah ; e8 06 03 5227 5142 mov dx, 003c5h ; ba c5 03 5228 5143 out DX, AL ; ee 5229 5144 inc cx ; 41 5230 5145 inc word [bp-002h] ; ff 46 fe 5231 jmp short 02 cc5h ; eb e25146 jmp short 02bf0h ; eb e2 5232 5147 xor al, al ; 30 c0 5233 5148 mov dx, 003c4h ; ba c4 03 … … 5235 5150 mov dx, cx ; 89 ca 5236 5151 mov ax, si ; 89 f0 5237 call 02f dch ; e8 ec025152 call 02f0ah ; e8 ef 02 5238 5153 mov dx, 003c5h ; ba c5 03 5239 5154 out DX, AL ; ee … … 5243 5158 out DX, ax ; ef 5244 5159 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5245 jmp short 02 d08h ; eb 065160 jmp short 02c33h ; eb 06 5246 5161 cmp word [bp-002h], strict byte 00018h ; 83 7e fe 18 5247 jnbe short 02 d25h ; 77 1d5162 jnbe short 02c50h ; 77 1d 5248 5163 cmp word [bp-002h], strict byte 00011h ; 83 7e fe 11 5249 je short 02 d1fh ; 74 115164 je short 02c4ah ; 74 11 5250 5165 mov al, byte [bp-002h] ; 8a 46 fe 5251 5166 mov dx, di ; 89 fa … … 5253 5168 mov dx, cx ; 89 ca 5254 5169 mov ax, si ; 89 f0 5255 call 02f dch ; e8 c1025170 call 02f0ah ; e8 c4 02 5256 5171 lea dx, [di+001h] ; 8d 55 01 5257 5172 out DX, AL ; ee 5258 5173 inc cx ; 41 5259 5174 inc word [bp-002h] ; ff 46 fe 5260 jmp short 02 d02h ; eb dd5175 jmp short 02c2dh ; eb dd 5261 5176 mov dx, 003cch ; ba cc 03 5262 5177 in AL, DX ; ec … … 5265 5180 and AL, strict byte 0feh ; 24 fe 5266 5181 mov word [bp-004h], ax ; 89 46 fc 5267 mov di, 003d4h ; bf d4 03 5182 cmp di, 003d4h ; 81 ff d4 03 5183 jne short 02c65h ; 75 04 5268 5184 or byte [bp-004h], 001h ; 80 4e fc 01 5269 5185 mov al, byte [bp-004h] ; 8a 46 fc … … 5276 5192 add dx, strict byte 0fff9h ; 83 c2 f9 5277 5193 mov ax, si ; 89 f0 5278 call 02f dch ; e8 8f 025279 mov dx, 003d5h ; ba d5 035194 call 02f0ah ; e8 8f 02 5195 lea dx, [di+001h] ; 8d 55 01 5280 5196 out DX, AL ; ee 5281 5197 lea dx, [bx+003h] ; 8d 57 03 5282 5198 mov ax, si ; 89 f0 5283 call 02f dch ; e8 83 025199 call 02f0ah ; e8 83 02 5284 5200 xor ah, ah ; 30 e4 5285 5201 mov word [bp-006h], ax ; 89 46 fa … … 5289 5205 ; sub ah, ah ; 2a e4 5290 5206 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5291 jmp short 02 d71h ; eb 065207 jmp short 02c9fh ; eb 06 5292 5208 cmp word [bp-002h], strict byte 00013h ; 83 7e fe 13 5293 jnbe short 02 d8fh ; 77 1e5209 jnbe short 02cbdh ; 77 1e 5294 5210 mov ax, word [bp-006h] ; 8b 46 fa 5295 5211 and ax, strict word 00020h ; 25 20 00 … … 5299 5215 mov dx, cx ; 89 ca 5300 5216 mov ax, si ; 89 f0 5301 call 02f dch ; e8 57 025217 call 02f0ah ; e8 57 02 5302 5218 mov dx, 003c0h ; ba c0 03 5303 5219 out DX, AL ; ee 5304 5220 inc cx ; 41 5305 5221 inc word [bp-002h] ; ff 46 fe 5306 jmp short 02 d6bh ; eb dc5222 jmp short 02c99h ; eb dc 5307 5223 mov al, byte [bp-006h] ; 8a 46 fa 5308 5224 mov dx, 003c0h ; ba c0 03 … … 5313 5229 ; sub ah, ah ; 2a e4 5314 5230 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5315 jmp short 02 da9h ; eb 065231 jmp short 02cd7h ; eb 06 5316 5232 cmp word [bp-002h], strict byte 00008h ; 83 7e fe 08 5317 jnbe short 02 dc1h ; 77 185233 jnbe short 02cefh ; 77 18 5318 5234 mov al, byte [bp-002h] ; 8a 46 fe 5319 5235 mov dx, 003ceh ; ba ce 03 … … 5321 5237 mov dx, cx ; 89 ca 5322 5238 mov ax, si ; 89 f0 5323 call 02f dch ; e8 25 025239 call 02f0ah ; e8 25 02 5324 5240 mov dx, 003cfh ; ba cf 03 5325 5241 out DX, AL ; ee 5326 5242 inc cx ; 41 5327 5243 inc word [bp-002h] ; ff 46 fe 5328 jmp short 02 da3h ; eb e25244 jmp short 02cd1h ; eb e2 5329 5245 add cx, strict byte 00006h ; 83 c1 06 5330 5246 mov dx, bx ; 89 da 5331 5247 mov ax, si ; 89 f0 5332 call 02f dch ; e8 11 025248 call 02f0ah ; e8 11 02 5333 5249 mov dx, 003c4h ; ba c4 03 5334 5250 out DX, AL ; ee … … 5336 5252 mov dx, bx ; 89 da 5337 5253 mov ax, si ; 89 f0 5338 call 02f dch ; e8 05 025254 call 02f0ah ; e8 05 02 5339 5255 mov dx, di ; 89 fa 5340 5256 out DX, AL ; ee … … 5342 5258 mov dx, bx ; 89 da 5343 5259 mov ax, si ; 89 f0 5344 call 02f dch ; e8 fa 015260 call 02f0ah ; e8 fa 01 5345 5261 mov dx, 003ceh ; ba ce 03 5346 5262 out DX, AL ; ee 5347 5263 lea dx, [bx+002h] ; 8d 57 02 5348 5264 mov ax, si ; 89 f0 5349 call 02f dch ; e8 ee 015265 call 02f0ah ; e8 ee 01 5350 5266 lea dx, [di+006h] ; 8d 55 06 5351 5267 out DX, AL ; ee 5352 5268 test byte [bp-008h], 002h ; f6 46 f8 02 5353 je near 02 f61h ; 0f 84 67 015354 mov dx, cx ; 89 ca 5355 mov ax, si ; 89 f0 5356 call 02f dch ; e8 db 015269 je near 02e8fh ; 0f 84 67 01 5270 mov dx, cx ; 89 ca 5271 mov ax, si ; 89 f0 5272 call 02f0ah ; e8 db 01 5357 5273 movzx bx, al ; 0f b6 d8 5358 5274 mov dx, strict word 00049h ; ba 49 00 5359 5275 mov ax, strict word 00040h ; b8 40 00 5360 call 02f eah ; e8 dd 015361 inc cx ; 41 5362 mov dx, cx ; 89 ca 5363 mov ax, si ; 89 f0 5364 call 02f f8h ; e8 e3 015276 call 02f18h ; e8 dd 01 5277 inc cx ; 41 5278 mov dx, cx ; 89 ca 5279 mov ax, si ; 89 f0 5280 call 02f26h ; e8 e3 01 5365 5281 mov bx, ax ; 89 c3 5366 5282 mov dx, strict word 0004ah ; ba 4a 00 5367 5283 mov ax, strict word 00040h ; b8 40 00 5368 call 0 3006h ; e8 e6 015369 inc cx ; 41 5370 inc cx ; 41 5371 mov dx, cx ; 89 ca 5372 mov ax, si ; 89 f0 5373 call 02f f8h ; e8 cf 015284 call 02f34h ; e8 e6 01 5285 inc cx ; 41 5286 inc cx ; 41 5287 mov dx, cx ; 89 ca 5288 mov ax, si ; 89 f0 5289 call 02f26h ; e8 cf 01 5374 5290 mov bx, ax ; 89 c3 5375 5291 mov dx, strict word 0004ch ; ba 4c 00 5376 5292 mov ax, strict word 00040h ; b8 40 00 5377 call 0 3006h ; e8 d2 015378 inc cx ; 41 5379 inc cx ; 41 5380 mov dx, cx ; 89 ca 5381 mov ax, si ; 89 f0 5382 call 02f f8h ; e8 bb 015293 call 02f34h ; e8 d2 01 5294 inc cx ; 41 5295 inc cx ; 41 5296 mov dx, cx ; 89 ca 5297 mov ax, si ; 89 f0 5298 call 02f26h ; e8 bb 01 5383 5299 mov bx, ax ; 89 c3 5384 5300 mov dx, strict word 00063h ; ba 63 00 5385 5301 mov ax, strict word 00040h ; b8 40 00 5386 call 0 3006h ; e8 be 015387 inc cx ; 41 5388 inc cx ; 41 5389 mov dx, cx ; 89 ca 5390 mov ax, si ; 89 f0 5391 call 02f dch ; e8 8b 015302 call 02f34h ; e8 be 01 5303 inc cx ; 41 5304 inc cx ; 41 5305 mov dx, cx ; 89 ca 5306 mov ax, si ; 89 f0 5307 call 02f0ah ; e8 8b 01 5392 5308 movzx bx, al ; 0f b6 d8 5393 5309 mov dx, 00084h ; ba 84 00 5394 5310 mov ax, strict word 00040h ; b8 40 00 5395 call 02f eah ; e8 8d 015396 inc cx ; 41 5397 mov dx, cx ; 89 ca 5398 mov ax, si ; 89 f0 5399 call 02f f8h ; e8 93 015311 call 02f18h ; e8 8d 01 5312 inc cx ; 41 5313 mov dx, cx ; 89 ca 5314 mov ax, si ; 89 f0 5315 call 02f26h ; e8 93 01 5400 5316 mov bx, ax ; 89 c3 5401 5317 mov dx, 00085h ; ba 85 00 5402 5318 mov ax, strict word 00040h ; b8 40 00 5403 call 0 3006h ; e8 96 015404 inc cx ; 41 5405 inc cx ; 41 5406 mov dx, cx ; 89 ca 5407 mov ax, si ; 89 f0 5408 call 02f dch ; e8 63 015319 call 02f34h ; e8 96 01 5320 inc cx ; 41 5321 inc cx ; 41 5322 mov dx, cx ; 89 ca 5323 mov ax, si ; 89 f0 5324 call 02f0ah ; e8 63 01 5409 5325 movzx bx, al ; 0f b6 d8 5410 5326 mov dx, 00087h ; ba 87 00 5411 5327 mov ax, strict word 00040h ; b8 40 00 5412 call 02f eah ; e8 65 015413 inc cx ; 41 5414 mov dx, cx ; 89 ca 5415 mov ax, si ; 89 f0 5416 call 02f dch ; e8 4f 015328 call 02f18h ; e8 65 01 5329 inc cx ; 41 5330 mov dx, cx ; 89 ca 5331 mov ax, si ; 89 f0 5332 call 02f0ah ; e8 4f 01 5417 5333 movzx bx, al ; 0f b6 d8 5418 5334 mov dx, 00088h ; ba 88 00 5419 5335 mov ax, strict word 00040h ; b8 40 00 5420 call 02f eah ; e8 51 015421 inc cx ; 41 5422 mov dx, cx ; 89 ca 5423 mov ax, si ; 89 f0 5424 call 02f dch ; e8 3b 015336 call 02f18h ; e8 51 01 5337 inc cx ; 41 5338 mov dx, cx ; 89 ca 5339 mov ax, si ; 89 f0 5340 call 02f0ah ; e8 3b 01 5425 5341 movzx bx, al ; 0f b6 d8 5426 5342 mov dx, 00089h ; ba 89 00 5427 5343 mov ax, strict word 00040h ; b8 40 00 5428 call 02f eah ; e8 3d 015429 inc cx ; 41 5430 mov dx, cx ; 89 ca 5431 mov ax, si ; 89 f0 5432 call 02f f8h ; e8 43 015344 call 02f18h ; e8 3d 01 5345 inc cx ; 41 5346 mov dx, cx ; 89 ca 5347 mov ax, si ; 89 f0 5348 call 02f26h ; e8 43 01 5433 5349 mov bx, ax ; 89 c3 5434 5350 mov dx, strict word 00060h ; ba 60 00 5435 5351 mov ax, strict word 00040h ; b8 40 00 5436 call 0 3006h ; e8 46 015352 call 02f34h ; e8 46 01 5437 5353 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5438 5354 inc cx ; 41 5439 5355 inc cx ; 41 5440 jmp short 02 ecfh ; eb 065356 jmp short 02dfdh ; eb 06 5441 5357 cmp word [bp-002h], strict byte 00008h ; 83 7e fe 08 5442 jnc short 02e edh ; 73 1e5443 mov dx, cx ; 89 ca 5444 mov ax, si ; 89 f0 5445 call 02f f8h ; e8 22 015358 jnc short 02e1bh ; 73 1e 5359 mov dx, cx ; 89 ca 5360 mov ax, si ; 89 f0 5361 call 02f26h ; e8 22 01 5446 5362 mov bx, ax ; 89 c3 5447 5363 mov dx, word [bp-002h] ; 8b 56 fe … … 5449 5365 add dx, strict byte 00050h ; 83 c2 50 5450 5366 mov ax, strict word 00040h ; b8 40 00 5451 call 0 3006h ; e8 20 015367 call 02f34h ; e8 20 01 5452 5368 inc cx ; 41 5453 5369 inc cx ; 41 5454 5370 inc word [bp-002h] ; ff 46 fe 5455 jmp short 02 ec9h ; eb dc5456 mov dx, cx ; 89 ca 5457 mov ax, si ; 89 f0 5458 call 02f f8h ; e8 04 015371 jmp short 02df7h ; eb dc 5372 mov dx, cx ; 89 ca 5373 mov ax, si ; 89 f0 5374 call 02f26h ; e8 04 01 5459 5375 mov bx, ax ; 89 c3 5460 5376 mov dx, strict word 0004eh ; ba 4e 00 5461 5377 mov ax, strict word 00040h ; b8 40 00 5462 call 0 3006h ; e8 07 015463 inc cx ; 41 5464 inc cx ; 41 5465 mov dx, cx ; 89 ca 5466 mov ax, si ; 89 f0 5467 call 02f dch ; e8 d4 005378 call 02f34h ; e8 07 01 5379 inc cx ; 41 5380 inc cx ; 41 5381 mov dx, cx ; 89 ca 5382 mov ax, si ; 89 f0 5383 call 02f0ah ; e8 d4 00 5468 5384 movzx bx, al ; 0f b6 d8 5469 5385 mov dx, strict word 00062h ; ba 62 00 5470 5386 mov ax, strict word 00040h ; b8 40 00 5471 call 02f eah ; e8 d6 005472 inc cx ; 41 5473 mov dx, cx ; 89 ca 5474 mov ax, si ; 89 f0 5475 call 02f f8h ; e8 dc 005387 call 02f18h ; e8 d6 00 5388 inc cx ; 41 5389 mov dx, cx ; 89 ca 5390 mov ax, si ; 89 f0 5391 call 02f26h ; e8 dc 00 5476 5392 mov bx, ax ; 89 c3 5477 5393 mov dx, strict word 0007ch ; ba 7c 00 5478 5394 xor ax, ax ; 31 c0 5479 call 0 3006h ; e8 e0 005480 inc cx ; 41 5481 inc cx ; 41 5482 mov dx, cx ; 89 ca 5483 mov ax, si ; 89 f0 5484 call 02f f8h ; e8 c9 005395 call 02f34h ; e8 e0 00 5396 inc cx ; 41 5397 inc cx ; 41 5398 mov dx, cx ; 89 ca 5399 mov ax, si ; 89 f0 5400 call 02f26h ; e8 c9 00 5485 5401 mov bx, ax ; 89 c3 5486 5402 mov dx, strict word 0007eh ; ba 7e 00 5487 5403 xor ax, ax ; 31 c0 5488 call 0 3006h ; e8 cd 005489 inc cx ; 41 5490 inc cx ; 41 5491 mov dx, cx ; 89 ca 5492 mov ax, si ; 89 f0 5493 call 02f f8h ; e8 b6 005404 call 02f34h ; e8 cd 00 5405 inc cx ; 41 5406 inc cx ; 41 5407 mov dx, cx ; 89 ca 5408 mov ax, si ; 89 f0 5409 call 02f26h ; e8 b6 00 5494 5410 mov bx, ax ; 89 c3 5495 5411 mov dx, 0010ch ; ba 0c 01 5496 5412 xor ax, ax ; 31 c0 5497 call 0 3006h ; e8 ba 005498 inc cx ; 41 5499 inc cx ; 41 5500 mov dx, cx ; 89 ca 5501 mov ax, si ; 89 f0 5502 call 02f f8h ; e8 a3 005413 call 02f34h ; e8 ba 00 5414 inc cx ; 41 5415 inc cx ; 41 5416 mov dx, cx ; 89 ca 5417 mov ax, si ; 89 f0 5418 call 02f26h ; e8 a3 00 5503 5419 mov bx, ax ; 89 c3 5504 5420 mov dx, 0010eh ; ba 0e 01 5505 5421 xor ax, ax ; 31 c0 5506 call 0 3006h ; e8 a7 005422 call 02f34h ; e8 a7 00 5507 5423 inc cx ; 41 5508 5424 inc cx ; 41 5509 5425 test byte [bp-008h], 004h ; f6 46 f8 04 5510 je short 02 faeh ; 74 475511 inc cx ; 41 5512 mov dx, cx ; 89 ca 5513 mov ax, si ; 89 f0 5514 call 02f dch ; e8 6d 005426 je short 02edch ; 74 47 5427 inc cx ; 41 5428 mov dx, cx ; 89 ca 5429 mov ax, si ; 89 f0 5430 call 02f0ah ; e8 6d 00 5515 5431 xor ah, ah ; 30 e4 5516 5432 mov word [bp-004h], ax ; 89 46 fc … … 5518 5434 mov dx, cx ; 89 ca 5519 5435 mov ax, si ; 89 f0 5520 call 02f dch ; e8 60 005436 call 02f0ah ; e8 60 00 5521 5437 mov dx, 003c6h ; ba c6 03 5522 5438 out DX, AL ; ee … … 5527 5443 xor ah, ah ; 30 e4 5528 5444 mov word [bp-002h], ax ; 89 46 fe 5529 jmp short 02 f95h ; eb 075445 jmp short 02ec3h ; eb 07 5530 5446 cmp word [bp-002h], 00300h ; 81 7e fe 00 03 5531 jnc short 02 fa6h ; 73 115532 mov dx, cx ; 89 ca 5533 mov ax, si ; 89 f0 5534 call 02f dch ; e8 40 005447 jnc short 02ed4h ; 73 11 5448 mov dx, cx ; 89 ca 5449 mov ax, si ; 89 f0 5450 call 02f0ah ; e8 40 00 5535 5451 mov dx, 003c9h ; ba c9 03 5536 5452 out DX, AL ; ee 5537 5453 inc cx ; 41 5538 5454 inc word [bp-002h] ; ff 46 fe 5539 jmp short 02 f8eh ; eb e85455 jmp short 02ebch ; eb e8 5540 5456 inc cx ; 41 5541 5457 mov al, byte [bp-004h] ; 8a 46 fc … … 5548 5464 pop cx ; 59 5549 5465 retn ; c3 5550 find_vga_entry_: ; 0xc2 fb5LB 0x275466 find_vga_entry_: ; 0xc2ee3 LB 0x27 5551 5467 push bx ; 53 5552 5468 push dx ; 52 … … 5556 5472 mov AH, strict byte 0ffh ; b4 ff 5557 5473 xor al, al ; 30 c0 5558 jmp short 02 fc8h ; eb 065474 jmp short 02ef6h ; eb 06 5559 5475 db 0feh, 0c0h 5560 5476 ; inc al ; fe c0 5561 5477 cmp AL, strict byte 00fh ; 3c 0f 5562 jnbe short 02f d6h ; 77 0e5478 jnbe short 02f04h ; 77 0e 5563 5479 movzx bx, al ; 0f b6 d8 5564 5480 sal bx, 003h ; c1 e3 03 5565 5481 cmp dl, byte [bx+0482fh] ; 3a 97 2f 48 5566 jne short 02 fc2h ; 75 ee5482 jne short 02ef0h ; 75 ee 5567 5483 mov ah, al ; 88 c4 5568 5484 mov al, ah ; 88 e0 … … 5571 5487 pop bx ; 5b 5572 5488 retn ; c3 5573 read_byte_: ; 0xc2f dcLB 0xe5489 read_byte_: ; 0xc2f0a LB 0xe 5574 5490 push bx ; 53 5575 5491 push bp ; 55 … … 5581 5497 pop bx ; 5b 5582 5498 retn ; c3 5583 write_byte_: ; 0xc2f eaLB 0xe5499 write_byte_: ; 0xc2f18 LB 0xe 5584 5500 push si ; 56 5585 5501 push bp ; 55 … … 5591 5507 pop si ; 5e 5592 5508 retn ; c3 5593 read_word_: ; 0xc2f f8LB 0xe5509 read_word_: ; 0xc2f26 LB 0xe 5594 5510 push bx ; 53 5595 5511 push bp ; 55 … … 5601 5517 pop bx ; 5b 5602 5518 retn ; c3 5603 write_word_: ; 0xc 3006LB 0xe5519 write_word_: ; 0xc2f34 LB 0xe 5604 5520 push si ; 56 5605 5521 push bp ; 55 … … 5611 5527 pop si ; 5e 5612 5528 retn ; c3 5613 printf_: ; 0xc3014 LB 0x11a 5529 read_dword_: ; 0xc2f42 LB 0x12 5530 push bx ; 53 5531 push bp ; 55 5532 mov bp, sp ; 89 e5 5533 mov bx, dx ; 89 d3 5534 mov es, ax ; 8e c0 5535 mov ax, word [es:bx] ; 26 8b 07 5536 mov dx, word [es:bx+002h] ; 26 8b 57 02 5537 pop bp ; 5d 5538 pop bx ; 5b 5539 retn ; c3 5540 printf_: ; 0xc2f54 LB 0x108 5614 5541 push bx ; 53 5615 5542 push cx ; 51 … … 5617 5544 push si ; 56 5618 5545 push di ; 57 5619 enter 0000 6h, 000h ; c8 0600 005546 enter 00004h, 000h ; c8 04 00 00 5620 5547 lea si, [bp+00eh] ; 8d 76 0e 5621 mov ax, ss ; 8c d0 5622 mov word [bp-002h], ax ; 89 46 fe 5623 xor di, di ; 31 ff 5548 xor cx, cx ; 31 c9 5624 5549 xor bx, bx ; 31 db 5625 mov dx, word [bp+00eh] ; 8b 56 0e 5626 mov ax, 0c000h ; b8 00 c0 5627 call 02fdch ; e8 aa ff 5628 mov ah, al ; 88 c4 5550 mov di, word [bp+00eh] ; 8b 7e 0e 5551 mov al, byte [di] ; 8a 05 5629 5552 test al, al ; 84 c0 5630 je near 0 30bah ; 0f 84 80005553 je near 02fe8h ; 0f 84 79 00 5631 5554 cmp AL, strict byte 025h ; 3c 25 5632 jne short 0 3046h ; 75 085633 mov di, strict word 00001h ; bf01 005555 jne short 02f7ah ; 75 07 5556 mov cx, strict word 00001h ; b9 01 00 5634 5557 xor bx, bx ; 31 db 5635 jmp near 030b4h ; e9 6e 005636 test di, di ; 85 ff5637 je short 0 30b0h ; 74 665558 jmp short 02fe2h ; eb 68 5559 test cx, cx ; 85 c9 5560 je short 02fdeh ; 74 60 5638 5561 cmp AL, strict byte 030h ; 3c 30 5639 jc short 0 305eh ; 72 105562 jc short 02f92h ; 72 10 5640 5563 cmp AL, strict byte 039h ; 3c 39 5641 jnbe short 0 305eh ; 77 0c5564 jnbe short 02f92h ; 77 0c 5642 5565 xor ah, ah ; 30 e4 5643 5566 imul bx, bx, strict byte 0000ah ; 6b db 0a 5644 5567 sub ax, strict word 00030h ; 2d 30 00 5645 5568 add bx, ax ; 01 c3 5646 jmp short 0 30b4h ; eb 565647 cmp ah, 078h ; 80 fc 785648 jne short 0 30b4h ; 75 515569 jmp short 02fe2h ; eb 50 5570 cmp AL, strict byte 078h ; 3c 78 5571 jne short 02fe2h ; 75 4c 5649 5572 inc si ; 46 5650 5573 inc si ; 46 5651 mov dx, si ; 89 f2 5652 mov ax, word [bp-002h] ; 8b 46 fe 5653 call 02ff8h ; e8 8b ff 5574 mov ax, word [ss:si] ; 36 8b 04 5654 5575 mov word [bp-004h], ax ; 89 46 fc 5655 5576 test bx, bx ; 85 db 5656 jne short 0 3077h ; 75 035577 jne short 02fa5h ; 75 03 5657 5578 mov bx, strict word 00004h ; bb 04 00 5658 lea ax, [bx-001h] ; 8d 47 ff 5659 mov word [bp-006h], ax ; 89 46 fa 5660 xor di, di ; 31 ff 5661 cmp di, bx ; 39 df 5662 jnc short 030ach ; 73 29 5663 mov cx, word [bp-006h] ; 8b 4e fa 5579 lea di, [bx-001h] ; 8d 7f ff 5580 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5581 cmp bx, word [bp-002h] ; 3b 5e fe 5582 jbe short 02fdah ; 76 28 5583 mov cx, di ; 89 f9 5664 5584 sal cx, 002h ; c1 e1 02 5665 5585 mov ax, word [bp-004h] ; 8b 46 fc … … 5667 5587 and ax, strict word 0000fh ; 25 0f 00 5668 5588 cmp ax, strict word 00009h ; 3d 09 00 5669 jnbe short 0 309fh ; 77 095589 jnbe short 02fcdh ; 77 09 5670 5590 add ax, strict word 00030h ; 05 30 00 5671 mov dx, 00 3b7h ; ba b7 035672 out DX, AL ; ee 5673 jmp short 0 30a6h ; eb 075591 mov dx, 00504h ; ba 04 05 5592 out DX, AL ; ee 5593 jmp short 02fd4h ; eb 07 5674 5594 add ax, strict word 00037h ; 05 37 00 5675 mov dx, 00 3b7h ; ba b7 035676 out DX, AL ; ee 5677 dec word [bp-006h] ; ff 4e fa5678 inc di ; 475679 jmp short 0 307fh ; eb d35680 xor di, di ; 31 ff5681 jmp short 0 30b4h ; eb 045682 mov dx, 00 3b7h ; ba b7 035595 mov dx, 00504h ; ba 04 05 5596 out DX, AL ; ee 5597 dec di ; 4f 5598 inc word [bp-002h] ; ff 46 fe 5599 jmp short 02fadh ; eb d3 5600 xor cx, cx ; 31 c9 5601 jmp short 02fe2h ; eb 04 5602 mov dx, 00504h ; ba 04 05 5683 5603 out DX, AL ; ee 5684 5604 inc word [bp+00eh] ; ff 46 0e 5685 jmp near 0 3029h ; e9 6fff5605 jmp near 02f64h ; e9 7c ff 5686 5606 leave ; c9 5687 5607 pop di ; 5f … … 5702 5622 add ax, 00304h ; 05 04 03 5703 5623 add al, byte [bx+di] ; 02 01 5704 add ch, ch ; 00 ed 5705 xor AL, strict byte 059h ; 34 59 5706 xor word [bp-055cfh], dx ; 31 96 31 aa 5707 xor word [bp+di-02ccfh], di ; 31 bb 31 d3 5708 xor sp, sp ; 31 e4 5709 xor di, bp ; 31 ef 5710 xor word [bx+di], bp ; 31 29 5711 xor ch, byte [di] ; 32 2d 5712 xor al, byte [bx+si+032h] ; 32 40 32 5713 pop bp ; 5d 5714 xor bh, byte [bp+si+032h] ; 32 7a 32 5715 call far 0ca32h:0b332h ; 9a 32 b3 32 ca 5716 db 032h, 0d6h 5717 ; xor dl, dh ; 32 d6 5718 xor ch, byte [di-015cdh] ; 32 ad 33 ea 5719 xor dx, word [bx] ; 33 17 5720 xor AL, strict byte 02ch ; 34 2c 5721 xor AL, strict byte 070h ; 34 70 5722 xor AL, strict byte 030h ; 34 30 5624 add byte [bx], bl ; 00 1f 5625 xor AL, strict byte 08ah ; 34 8a 5626 xor al, cl ; 30 c8 5627 xor ah, bl ; 30 dc 5628 xor ch, ch ; 30 ed 5629 xor byte [bx+di], al ; 30 01 5630 xor word [bp+si], dx ; 31 12 5631 xor word [si], bx ; 31 1c 5632 xor word [bp+031h], dx ; 31 56 31 5633 pop dx ; 5a 5634 xor word [bp+di+031h], bp ; 31 6b 31 5635 mov byte [bx+di], dh ; 88 31 5636 movsw ; a5 5637 xor bp, ax ; 31 c5 5638 xor dx, sp ; 31 e2 5639 xor cx, di ; 31 f9 5640 xor word [di], ax ; 31 05 5641 db 032h, 0e0h 5642 ; xor ah, al ; 32 e0 5643 xor bl, byte [bp+di] ; 32 1b 5644 xor cx, word [bp+di+033h] ; 33 4b 33 5645 pushaw ; 60 5646 xor sp, word [bp+si+03033h] ; 33 a2 33 30 5723 5647 and AL, strict byte 023h ; 24 23 5724 5648 and ah, byte [bx+di] ; 22 21 … … 5727 5651 adc byte [si], al ; 10 04 5728 5652 add al, byte [bx+di] ; 02 01 5729 add ch, ch ; 00 ed 5730 xor AL, strict byte 0f7h ; 34 f7 5731 xor bl, byte [bp+di] ; 32 1b 5732 xor bp, word [bx+di] ; 33 29 5733 xor si, word [bx] ; 33 37 5734 db 033h, 0f7h 5735 ; xor si, di ; 33 f7 5736 xor bl, byte [bp+di] ; 32 1b 5737 xor bp, word [bx+di] ; 33 29 5738 xor si, word [bx] ; 33 37 5739 xor ax, word [di+033h] ; 33 45 33 5740 push cx ; 51 5741 xor bp, word [si+033h] ; 33 6c 33 5742 jnbe short 0315dh ; 77 33 5743 db 082h, 033h, 08dh 5744 ; xor byte [bp+di], 08dh ; 82 33 8d 5745 db 033h 5746 _int10_func: ; 0xc312e LB 0x3c3 5653 add byte [bx], bl ; 00 1f 5654 xor AL, strict byte 026h ; 34 26 5655 xor cl, byte [si+032h] ; 32 4c 32 5656 pop bp ; 5d 5657 xor ch, byte [bp+032h] ; 32 6e 32 5658 xor cl, byte [es:si+032h] ; 26 32 4c 32 5659 pop bp ; 5d 5660 xor ch, byte [bp+032h] ; 32 6e 32 5661 jnle short 03084h ; 7f 32 5662 mov si, word [bp+si] ; 8b 32 5663 cmpsb ; a6 5664 xor dh, byte [bx+di-043ceh] ; 32 b1 32 bc 5665 db 032h, 0c7h 5666 ; xor al, bh ; 32 c7 5667 db 032h 5668 _int10_func: ; 0xc305c LB 0x3c7 5747 5669 push si ; 56 5748 5670 push di ; 57 … … 5752 5674 shr ax, 008h ; c1 e8 08 5753 5675 cmp ax, strict word 0004fh ; 3d 4f 00 5754 jnbe near 034 edh ; 0f 87 a9035676 jnbe near 0341fh ; 0f 87 ad 03 5755 5677 push CS ; 0e 5756 5678 pop ES ; 07 5757 5679 mov cx, strict word 00016h ; b9 16 00 5758 mov di, 0 30c1h ; bf c1 305680 mov di, 02fefh ; bf ef 2f 5759 5681 repne scasb ; f2 ae 5760 5682 sal cx, 1 ; d1 e1 5761 5683 mov di, cx ; 89 cf 5762 mov ax, word [cs:di+030d6h] ; 2e 8b 85 d6 30 5684 mov ax, word [cs:di+03004h] ; 2e 8b 85 04 30 5685 mov cl, byte [bp+016h] ; 8a 4e 16 5763 5686 jmp ax ; ff e0 5764 movzx ax, byte [bp+016h] ; 0f b6 46 16 5765 call 00d85h ; e8 25 dc 5687 mov al, byte [bp+016h] ; 8a 46 16 5688 xor ah, ah ; 30 e4 5689 call 00fc1h ; e8 2f df 5766 5690 mov ax, word [bp+016h] ; 8b 46 16 5767 5691 and ax, strict word 0007fh ; 25 7f 00 5768 5692 cmp ax, strict word 00007h ; 3d 07 00 5769 je short 03 180h ; 74 155693 je short 030b2h ; 74 15 5770 5694 cmp ax, strict word 00006h ; 3d 06 00 5771 je short 03 177h ; 74 075695 je short 030a9h ; 74 07 5772 5696 cmp ax, strict word 00005h ; 3d 05 00 5773 jbe short 03 180h ; 76 0b5774 jmp short 03 189h ; eb 125697 jbe short 030b2h ; 76 0b 5698 jmp short 030bbh ; eb 12 5775 5699 mov ax, word [bp+016h] ; 8b 46 16 5776 5700 xor al, al ; 30 c0 5777 5701 or AL, strict byte 03fh ; 0c 3f 5778 jmp short 03 190h ; eb 105702 jmp short 030c2h ; eb 10 5779 5703 mov ax, word [bp+016h] ; 8b 46 16 5780 5704 xor al, al ; 30 c0 5781 5705 or AL, strict byte 030h ; 0c 30 5782 jmp short 03 190h ; eb 075706 jmp short 030c2h ; eb 07 5783 5707 mov ax, word [bp+016h] ; 8b 46 16 5784 5708 xor al, al ; 30 c0 5785 5709 or AL, strict byte 020h ; 0c 20 5786 5710 mov word [bp+016h], ax ; 89 46 16 5787 jmp near 034 edh ; e9 57 035711 jmp near 0341fh ; e9 57 03 5788 5712 mov al, byte [bp+014h] ; 8a 46 14 5789 5713 movzx dx, al ; 0f b6 d0 … … 5791 5715 shr ax, 008h ; c1 e8 08 5792 5716 xor ah, ah ; 30 e4 5793 call 00 b14h ; e8 6d d95794 jmp near 034 edh ; e9 43 035717 call 00daah ; e8 d1 dc 5718 jmp near 0341fh ; e9 43 03 5795 5719 mov dx, word [bp+012h] ; 8b 56 12 5796 5720 mov ax, word [bp+010h] ; 8b 46 10 5797 5721 shr ax, 008h ; c1 e8 08 5798 5722 xor ah, ah ; 30 e4 5799 call 00bb5h ; e8 fd d9 5800 jmp near 034edh ; e9 32 03 5801 lea dx, [bp+012h] ; 8d 56 12 5802 push SS ; 16 5803 push dx ; 52 5804 mov cx, ss ; 8c d1 5805 lea bx, [bp+014h] ; 8d 5e 14 5723 call 00e4bh ; e8 61 dd 5724 jmp near 0341fh ; e9 32 03 5725 lea bx, [bp+012h] ; 8d 5e 12 5726 lea dx, [bp+014h] ; 8d 56 14 5806 5727 mov ax, word [bp+010h] ; 8b 46 10 5807 5728 shr ax, 008h ; c1 e8 08 5808 5729 xor ah, ah ; 30 e4 5809 call 00 c53h ; e8 83 da5810 jmp near 034 edh ; e9 1a035730 call 00a8ch ; e8 8e d9 5731 jmp near 0341fh ; e9 1e 03 5811 5732 xor ax, ax ; 31 c0 5812 5733 mov word [bp+016h], ax ; 89 46 16 … … 5814 5735 mov word [bp+014h], ax ; 89 46 14 5815 5736 mov word [bp+012h], ax ; 89 46 12 5816 jmp near 034 edh ; e9 09035817 mov al, byte [bp+016h] ; 8a 46 165737 jmp near 0341fh ; e9 0d 03 5738 mov al, cl ; 88 c8 5818 5739 xor ah, ah ; 30 e4 5819 call 00 ca8h ; e8 bc da5820 jmp near 034 edh ; e9 fe 025740 call 00ee9h ; e8 d0 dd 5741 jmp near 0341fh ; e9 03 03 5821 5742 mov ax, strict word 00001h ; b8 01 00 5822 5743 push ax ; 50 … … 5840 5761 mov al, byte [bp+016h] ; 8a 46 16 5841 5762 xor ah, ah ; 30 e4 5842 call 01 306h ; e8 e0 e05843 jmp near 034 edh ; e9 c4025763 call 01542h ; e8 ef e3 5764 jmp near 0341fh ; e9 c9 02 5844 5765 xor ax, ax ; 31 c0 5845 jmp short 031f2h ; eb c5 5846 mov cx, ss ; 8c d1 5847 lea bx, [bp+016h] ; 8d 5e 16 5766 jmp short 0311fh ; eb c5 5767 lea dx, [bp+016h] ; 8d 56 16 5848 5768 mov ax, word [bp+010h] ; 8b 46 10 5849 5769 shr ax, 008h ; c1 e8 08 5850 5770 xor ah, ah ; 30 e4 5851 call 0 1807h ; e8 ca e55852 jmp near 034 edh ; e9 ad025771 call 00acch ; e8 64 d9 5772 jmp near 0341fh ; e9 b4 02 5853 5773 mov cx, word [bp+014h] ; 8b 4e 14 5854 5774 mov al, byte [bp+010h] ; 8a 46 10 … … 5859 5779 mov al, byte [bp+016h] ; 8a 46 16 5860 5780 xor ah, ah ; 30 e4 5861 call 01 b37h ; e8 dd e85862 jmp near 034 edh ; e9 90025781 call 01cceh ; e8 49 eb 5782 jmp near 0341fh ; e9 97 02 5863 5783 mov cx, word [bp+014h] ; 8b 4e 14 5864 5784 mov al, byte [bp+010h] ; 8a 46 10 … … 5869 5789 mov al, byte [bp+016h] ; 8a 46 16 5870 5790 xor ah, ah ; 30 e4 5871 call 01 c9fh ; e8 28 ea5872 jmp near 034 edh ; e9 73025791 call 01e31h ; e8 8f ec 5792 jmp near 0341fh ; e9 7a 02 5873 5793 mov cx, word [bp+012h] ; 8b 4e 12 5874 5794 mov bx, word [bp+014h] ; 8b 5e 14 … … 5880 5800 mov al, byte [bp-002h] ; 8a 46 fe 5881 5801 xor ah, ah ; 30 e4 5882 call 01e0ch ; e8 75 eb 5883 jmp near 034edh ; e9 53 02 5884 lea dx, [bp+016h] ; 8d 56 16 5885 push SS ; 16 5886 push dx ; 52 5802 call 01f9bh ; e8 d9 ed 5803 jmp near 0341fh ; e9 5a 02 5804 lea cx, [bp+016h] ; 8d 4e 16 5887 5805 mov bx, word [bp+012h] ; 8b 5e 12 5888 5806 mov dx, word [bp+014h] ; 8b 56 14 5889 5807 mov ax, word [bp+010h] ; 8b 46 10 5890 5808 shr ax, 008h ; c1 e8 08 5809 mov word [bp-002h], ax ; 89 46 fe 5810 mov al, byte [bp-002h] ; 8a 46 fe 5891 5811 xor ah, ah ; 30 e4 5892 call 0 1f74h ; e8 c4 ec5893 jmp near 034 edh ; e9 3a025812 call 00beeh ; e8 0f da 5813 jmp near 0341fh ; e9 3d 02 5894 5814 mov cx, strict word 00002h ; b9 02 00 5895 5815 mov al, byte [bp+010h] ; 8a 46 10 … … 5898 5818 mov al, byte [bp+016h] ; 8a 46 16 5899 5819 xor ah, ah ; 30 e4 5900 call 02 0bbh ; e8 f4 ed5901 jmp near 034 edh ; e9 23025820 call 02103h ; e8 0d ef 5821 jmp near 0341fh ; e9 26 02 5902 5822 mov dx, word [bp+014h] ; 8b 56 14 5903 5823 mov ax, word [bp+010h] ; 8b 46 10 5904 call 00 a8ch ; e8 b9 d75905 jmp near 034 edh ; e9 17025824 call 00d22h ; e8 20 db 5825 jmp near 0341fh ; e9 1a 02 5906 5826 mov ax, word [bp+016h] ; 8b 46 16 5907 5827 xor ah, ah ; 30 e4 5908 5828 cmp ax, strict word 00030h ; 3d 30 00 5909 jnbe near 034 edh ; 0f 87 0b025829 jnbe near 0341fh ; 0f 87 0e 02 5910 5830 push CS ; 0e 5911 5831 pop ES ; 07 5912 5832 mov cx, strict word 0000fh ; b9 0f 00 5913 mov di, 03 102h ; bf 02 315833 mov di, 03030h ; bf 30 30 5914 5834 repne scasb ; f2 ae 5915 5835 sal cx, 1 ; d1 e1 5916 5836 mov di, cx ; 89 cf 5917 mov ax, word [cs:di+03 110h] ; 2e 8b 85 10 315837 mov ax, word [cs:di+0303eh] ; 2e 8b 85 3e 30 5918 5838 jmp ax ; ff e0 5919 5839 mov ax, word [bp+010h] ; 8b 46 10 … … 5921 5841 xor ah, ah ; 30 e4 5922 5842 push ax ; 50 5923 movzx ax, byte [bp+010h] ; 0f b6 46 10 5843 mov al, byte [bp+010h] ; 8a 46 10 5844 xor ah, ah ; 30 e4 5924 5845 push ax ; 50 5925 5846 push word [bp+012h] ; ff 76 12 5926 movzx ax, byte [bp+016h] ; 0f b6 46 16 5847 mov al, byte [bp+016h] ; 8a 46 16 5848 xor ah, ah ; 30 e4 5927 5849 mov cx, word [bp+014h] ; 8b 4e 14 5928 5850 mov bx, word [bp+00ch] ; 8b 5e 0c 5929 5851 mov dx, word [bp+01ah] ; 8b 56 1a 5930 call 02466h ; e8 4e f1 5931 jmp near 034edh ; e9 d2 01 5932 movzx dx, byte [bp+010h] ; 0f b6 56 10 5933 movzx ax, byte [bp+016h] ; 0f b6 46 16 5934 call 024deh ; e8 b8 f1 5935 jmp near 034edh ; e9 c4 01 5936 movzx dx, byte [bp+010h] ; 0f b6 56 10 5937 movzx ax, byte [bp+016h] ; 0f b6 46 16 5938 call 0254ah ; e8 16 f2 5939 jmp near 034edh ; e9 b6 01 5940 movzx dx, byte [bp+010h] ; 0f b6 56 10 5941 movzx ax, byte [bp+016h] ; 0f b6 46 16 5942 call 025b8h ; e8 76 f2 5943 jmp near 034edh ; e9 a8 01 5852 call 024a0h ; e8 57 f2 5853 jmp near 0341fh ; e9 d3 01 5854 mov al, byte [bp+010h] ; 8a 46 10 5855 movzx dx, al ; 0f b6 d0 5856 mov al, byte [bp+016h] ; 8a 46 16 5857 xor ah, ah ; 30 e4 5858 call 02518h ; e8 be f2 5859 jmp near 0341fh ; e9 c2 01 5860 mov al, byte [bp+010h] ; 8a 46 10 5861 movzx dx, al ; 0f b6 d0 5862 mov al, byte [bp+016h] ; 8a 46 16 5863 xor ah, ah ; 30 e4 5864 call 02584h ; e8 19 f3 5865 jmp near 0341fh ; e9 b1 01 5866 mov al, byte [bp+010h] ; 8a 46 10 5867 movzx dx, al ; 0f b6 d0 5868 mov al, byte [bp+016h] ; 8a 46 16 5869 xor ah, ah ; 30 e4 5870 call 025f2h ; e8 76 f3 5871 jmp near 0341fh ; e9 a0 01 5944 5872 mov dx, word [bp+00ch] ; 8b 56 0c 5945 5873 mov ax, word [bp+01ah] ; 8b 46 1a 5946 call 026 26h ; e8 d8 f25947 jmp near 034 edh ; e9 9c015874 call 02660h ; e8 d8 f3 5875 jmp near 0341fh ; e9 94 01 5948 5876 mov al, byte [bp+012h] ; 8a 46 12 5949 5877 xor ah, ah ; 30 e4 … … 5954 5882 mov dx, word [bp+00ch] ; 8b 56 0c 5955 5883 mov ax, word [bp+01ah] ; 8b 46 1a 5956 call 026 2bh ; e8 c2 f25957 jmp near 034 edh ; e9 81015884 call 02665h ; e8 c2 f3 5885 jmp near 0341fh ; e9 79 01 5958 5886 mov al, byte [bp+010h] ; 8a 46 10 5959 5887 xor ah, ah ; 30 e4 5960 call 026 32h ; e8 be f25961 jmp near 034 edh ; e9 76015888 call 0266ch ; e8 be f3 5889 jmp near 0341fh ; e9 6e 01 5962 5890 mov al, byte [bp+010h] ; 8a 46 10 5963 5891 xor ah, ah ; 30 e4 5964 call 026 37h ; e8 b8 f25965 jmp near 034 edh ; e9 6b015892 call 02671h ; e8 b8 f3 5893 jmp near 0341fh ; e9 63 01 5966 5894 mov al, byte [bp+010h] ; 8a 46 10 5967 5895 xor ah, ah ; 30 e4 5968 call 0263ch ; e8 b2 f2 5969 jmp near 034edh ; e9 60 01 5970 lea dx, [bp+012h] ; 8d 56 12 5971 push SS ; 16 5972 push dx ; 52 5973 lea dx, [bp+014h] ; 8d 56 14 5974 push SS ; 16 5975 push dx ; 52 5976 lea dx, [bp+00ch] ; 8d 56 0c 5977 push SS ; 16 5978 push dx ; 52 5979 mov cx, ss ; 8c d1 5980 lea bx, [bp+01ah] ; 8d 5e 1a 5896 call 02676h ; e8 b2 f3 5897 jmp near 0341fh ; e9 58 01 5898 lea ax, [bp+012h] ; 8d 46 12 5899 push ax ; 50 5900 lea cx, [bp+014h] ; 8d 4e 14 5901 lea bx, [bp+00ch] ; 8d 5e 0c 5902 lea dx, [bp+01ah] ; 8d 56 1a 5981 5903 mov ax, word [bp+010h] ; 8b 46 10 5982 5904 shr ax, 008h ; c1 e8 08 5983 call 0 2651h ; e8 a7 f25984 jmp near 034 edh ; e9 40015905 call 00b6fh ; e8 92 d8 5906 jmp near 0341fh ; e9 3f 01 5985 5907 mov ax, word [bp+010h] ; 8b 46 10 5986 5908 xor ah, ah ; 30 e4 5987 5909 cmp ax, strict word 00036h ; 3d 36 00 5988 je short 033 e0h ; 74 295910 je short 03312h ; 74 28 5989 5911 cmp ax, strict word 00035h ; 3d 35 00 5990 je short 03 3c9h ; 74 0d5912 je short 032fch ; 74 0d 5991 5913 cmp ax, strict word 00020h ; 3d 20 00 5992 jne near 034 edh ; 0f 85 2a015993 call 02 73fh ; e8 79f35994 jmp near 034 edh ; e9 24015995 movzx ax, byte [bp+016h] ; 0f b6 46 165914 jne near 0341fh ; 0f 85 29 01 5915 call 0267bh ; e8 82 f3 5916 jmp near 0341fh ; e9 23 01 5917 movzx ax, cl ; 0f b6 c1 5996 5918 mov bx, word [bp+012h] ; 8b 5e 12 5997 5919 mov dx, word [bp+01ah] ; 8b 56 1a 5998 call 02 744h ; e8 6ef35920 call 02680h ; e8 78 f3 5999 5921 mov ax, word [bp+016h] ; 8b 46 16 6000 5922 xor al, al ; 30 c0 6001 5923 or AL, strict byte 012h ; 0c 12 6002 jmp near 03 190h ; e9 b0 fd6003 mov al, byte [bp+016h] ; 8a 46 165924 jmp near 030c2h ; e9 b0 fd 5925 mov al, cl ; 88 c8 6004 5926 xor ah, ah ; 30 e4 6005 call 02 749h ; e8 61f36006 jmp short 033 d6h ; eb ec5927 call 02685h ; e8 6c f3 5928 jmp short 03308h ; eb ed 6007 5929 push word [bp+00ch] ; ff 76 0c 6008 5930 push word [bp+01ah] ; ff 76 1a 6009 movzx ax, byte [bp+012h] ; 0f b6 46 12 5931 mov al, byte [bp+012h] ; 8a 46 12 5932 xor ah, ah ; 30 e4 6010 5933 push ax ; 50 6011 5934 mov ax, word [bp+012h] ; 8b 46 12 … … 6013 5936 xor ah, ah ; 30 e4 6014 5937 push ax ; 50 6015 movzx bx, byte [bp+010h] ; 0f b6 5e 10 6016 mov dx, word [bp+010h] ; 8b 56 10 6017 shr dx, 008h ; c1 ea 08 6018 xor dh, dh ; 30 f6 6019 movzx ax, byte [bp+016h] ; 0f b6 46 16 5938 mov al, byte [bp+010h] ; 8a 46 10 5939 movzx bx, al ; 0f b6 d8 5940 mov ax, word [bp+010h] ; 8b 46 10 5941 shr ax, 008h ; c1 e8 08 5942 movzx dx, al ; 0f b6 d0 5943 movzx ax, cl ; 0f b6 c1 6020 5944 mov cx, word [bp+014h] ; 8b 4e 14 6021 call 02 74eh ; e8 3af36022 jmp near 034 edh ; e9 d6005945 call 0268ah ; e8 42 f3 5946 jmp near 0341fh ; e9 d4 00 6023 5947 mov bx, si ; 89 f3 6024 5948 mov dx, word [bp+01ah] ; 8b 56 1a 6025 5949 mov ax, word [bp+010h] ; 8b 46 10 6026 call 027 eah ; e8 c8f35950 call 02721h ; e8 cb f3 6027 5951 mov ax, word [bp+016h] ; 8b 46 16 6028 5952 xor al, al ; 30 c0 6029 5953 or AL, strict byte 01bh ; 0c 1b 6030 jmp near 03 190h ; e9 64fd5954 jmp near 030c2h ; e9 62 fd 6031 5955 mov ax, word [bp+016h] ; 8b 46 16 6032 5956 xor ah, ah ; 30 e4 6033 5957 cmp ax, strict word 00002h ; 3d 02 00 6034 je short 03 45ah ; 74 245958 je short 0338ch ; 74 22 6035 5959 cmp ax, strict word 00001h ; 3d 01 00 6036 je short 03 44ch ; 74 115960 je short 0337eh ; 74 0f 6037 5961 test ax, ax ; 85 c0 6038 jne short 03466h ; 75 27 6039 mov cx, ss ; 8c d1 6040 lea bx, [bp+010h] ; 8d 5e 10 5962 jne short 03398h ; 75 25 5963 lea dx, [bp+010h] ; 8d 56 10 6041 5964 mov ax, word [bp+014h] ; 8b 46 14 6042 call 02 917h ; e8 cdf46043 jmp short 03 466h ; eb 1a5965 call 0284eh ; e8 d2 f4 5966 jmp short 03398h ; eb 1a 6044 5967 mov bx, word [bp+010h] ; 8b 5e 10 6045 5968 mov dx, word [bp+01ah] ; 8b 56 1a 6046 5969 mov ax, word [bp+014h] ; 8b 46 14 6047 call 02 932h ; e8 daf46048 jmp short 03 466h ; eb 0c5970 call 0285dh ; e8 d3 f4 5971 jmp short 03398h ; eb 0c 6049 5972 mov bx, word [bp+010h] ; 8b 5e 10 6050 5973 mov dx, word [bp+01ah] ; 8b 56 1a 6051 5974 mov ax, word [bp+014h] ; 8b 46 14 6052 call 02 c97h ; e8 31f85975 call 02bc2h ; e8 2a f8 6053 5976 mov ax, word [bp+016h] ; 8b 46 16 6054 5977 xor al, al ; 30 c0 6055 5978 or AL, strict byte 01ch ; 0c 1c 6056 jmp near 03 190h ; e9 20 fd6057 call 007d4h ; e8 61 d35979 jmp near 030c2h ; e9 20 fd 5980 call 007d4h ; e8 2f d4 6058 5981 test ax, ax ; 85 c0 6059 je near 034 e8h ; 0f 84 6f 005982 je near 0341ah ; 0f 84 6f 00 6060 5983 mov ax, word [bp+016h] ; 8b 46 16 6061 5984 xor ah, ah ; 30 e4 6062 5985 cmp ax, strict word 00002h ; 3d 02 00 6063 jc short 03 496h ; 72 136064 jbe short 03 4bch ; 76 375986 jc short 033c8h ; 72 13 5987 jbe short 033eeh ; 76 37 6065 5988 cmp ax, strict word 0000ah ; 3d 0a 00 6066 je short 034 e1h ; 74 575989 je short 03413h ; 74 57 6067 5990 cmp ax, strict word 00009h ; 3d 09 00 6068 je short 034 e1h ; 74 525991 je short 03413h ; 74 52 6069 5992 cmp ax, strict word 00004h ; 3d 04 00 6070 je short 03 4cch ; 74 386071 jmp short 034 e1h ; eb 4b5993 je short 033feh ; 74 38 5994 jmp short 03413h ; eb 4b 6072 5995 cmp ax, strict word 00001h ; 3d 01 00 6073 je short 03 4ach ; 74 115996 je short 033deh ; 74 11 6074 5997 test ax, ax ; 85 c0 6075 jne short 034 e1h ; 75 425998 jne short 03413h ; 75 42 6076 5999 mov bx, si ; 89 f3 6077 6000 mov dx, word [bp+01ah] ; 8b 56 1a 6078 6001 lea ax, [bp+016h] ; 8d 46 16 6079 call 03 5b5h ; e8 0b 016080 jmp short 034 edh ; eb 416002 call 034e7h ; e8 0b 01 6003 jmp short 0341fh ; eb 41 6081 6004 mov cx, si ; 89 f1 6082 6005 mov bx, word [bp+01ah] ; 8b 5e 1a 6083 6006 mov dx, word [bp+014h] ; 8b 56 14 6084 6007 lea ax, [bp+016h] ; 8d 46 16 6085 call 03 7b4h ; e8 fa026086 jmp short 034 edh ; eb 316008 call 036d1h ; e8 e5 02 6009 jmp short 0341fh ; eb 31 6087 6010 mov cx, si ; 89 f1 6088 6011 mov bx, word [bp+01ah] ; 8b 5e 1a 6089 6012 mov dx, word [bp+010h] ; 8b 56 10 6090 6013 lea ax, [bp+016h] ; 8d 46 16 6091 call 03 86fh ; e8 a5 036092 jmp short 034 edh ; eb 216014 call 03781h ; e8 85 03 6015 jmp short 0341fh ; eb 21 6093 6016 lea ax, [bp+010h] ; 8d 46 10 6094 6017 push ax ; 50 … … 6097 6020 mov dx, word [bp+014h] ; 8b 56 14 6098 6021 lea ax, [bp+016h] ; 8d 46 16 6099 call 03 a79h ; e8 9a056100 jmp short 034 edh ; eb 0c6022 call 03970h ; e8 5f 05 6023 jmp short 0341fh ; eb 0c 6101 6024 mov word [bp+016h], 00100h ; c7 46 16 00 01 6102 jmp short 034 edh ; eb 056025 jmp short 0341fh ; eb 05 6103 6026 mov word [bp+016h], 00100h ; c7 46 16 00 01 6104 6027 leave ; c9 … … 6106 6029 pop si ; 5e 6107 6030 retn ; c3 6108 dispi_set_xres_: ; 0xc34 f1LB 0x186031 dispi_set_xres_: ; 0xc3423 LB 0x18 6109 6032 push bx ; 53 6110 6033 push dx ; 52 … … 6122 6045 pop bx ; 5b 6123 6046 retn ; c3 6124 dispi_set_yres_: ; 0xc3 509LB 0x186047 dispi_set_yres_: ; 0xc343b LB 0x18 6125 6048 push bx ; 53 6126 6049 push dx ; 52 … … 6138 6061 pop bx ; 5b 6139 6062 retn ; c3 6140 dispi_set_bpp_: ; 0xc3 521LB 0x186063 dispi_set_bpp_: ; 0xc3453 LB 0x18 6141 6064 push bx ; 53 6142 6065 push dx ; 52 … … 6154 6077 pop bx ; 5b 6155 6078 retn ; c3 6156 in_word_: ; 0xc3 539LB 0xf6079 in_word_: ; 0xc346b LB 0xf 6157 6080 push bx ; 53 6158 6081 push bp ; 55 … … 6166 6089 pop bx ; 5b 6167 6090 retn ; c3 6168 in_byte_: ; 0xc3 548LB 0x116091 in_byte_: ; 0xc347a LB 0x11 6169 6092 push bx ; 53 6170 6093 push bp ; 55 … … 6180 6103 pop bx ; 5b 6181 6104 retn ; c3 6182 mode_info_find_mode_: ; 0xc3 559LB 0x5c6105 mode_info_find_mode_: ; 0xc348b LB 0x5c 6183 6106 push bx ; 53 6184 6107 push cx ; 51 … … 6191 6114 xor dx, dx ; 31 d2 6192 6115 mov ax, 003b6h ; b8 b6 03 6193 call 03 539h ; e8 cd ff6116 call 0346bh ; e8 cd ff 6194 6117 cmp ax, 077cch ; 3d cc 77 6195 je short 03 57dh ; 74 0c6118 je short 034afh ; 74 0c 6196 6119 push ax ; 50 6197 6120 push 07ee2h ; 68 e2 7e 6198 call 0 3014h ; e8 9cfa6121 call 02f54h ; e8 aa fa 6199 6122 add sp, strict byte 00004h ; 83 c4 04 6200 jmp short 03 5adh ; eb 306123 jmp short 034dfh ; eb 30 6201 6124 mov bx, strict word 00004h ; bb 04 00 6202 6125 mov dx, bx ; 89 da 6203 6126 mov ax, 003b6h ; b8 b6 03 6204 call 03 539h ; e8 b1 ff6127 call 0346bh ; e8 b1 ff 6205 6128 mov cx, ax ; 89 c1 6206 6129 cmp cx, strict byte 0ffffh ; 83 f9 ff 6207 je short 03 5adh ; 74 1e6130 je short 034dfh ; 74 1e 6208 6131 lea dx, [bx+002h] ; 8d 57 02 6209 6132 mov ax, 003b6h ; b8 b6 03 6210 call 03 539h ; e8 a1 ff6133 call 0346bh ; e8 a1 ff 6211 6134 cmp cx, di ; 39 f9 6212 jne short 03 5a8h ; 75 0c6135 jne short 034dah ; 75 0c 6213 6136 test si, si ; 85 f6 6214 jne short 03 5a4h ; 75 046137 jne short 034d6h ; 75 04 6215 6138 mov ax, bx ; 89 d8 6216 jmp short 03 5afh ; eb 0b6139 jmp short 034e1h ; eb 0b 6217 6140 test AL, strict byte 080h ; a8 80 6218 jne short 03 5a0h ; 75 f86141 jne short 034d2h ; 75 f8 6219 6142 add bx, strict byte 00044h ; 83 c3 44 6220 jmp short 03 580h ; eb d36143 jmp short 034b2h ; eb d3 6221 6144 xor ax, ax ; 31 c0 6222 6145 pop bp ; 5d … … 6226 6149 pop bx ; 5b 6227 6150 retn ; c3 6228 vbe_biosfn_return_controller_information_: ; 0xc3 5b5 LB 0x1ff6151 vbe_biosfn_return_controller_information_: ; 0xc34e7 LB 0x1ea 6229 6152 push cx ; 51 6230 6153 push si ; 56 6231 6154 push di ; 57 6232 enter 0000 ah, 000h ; c8 0a00 006155 enter 00006h, 000h ; c8 06 00 00 6233 6156 push ax ; 50 6234 6157 mov si, dx ; 89 d6 6235 6158 mov di, bx ; 89 df 6236 mov ax, ss ; 8c d06237 mov word [bp-008h], ax ; 89 46 f86159 mov word [bp-004h], strict word 00022h ; c7 46 fc 22 00 6160 call 005d7h ; e8 dc d0 6238 6161 mov word [bp-002h], ax ; 89 46 fe 6239 mov word [bp-006h], strict word 00022h ; c7 46 fa 22 006240 call 005d7h ; e8 06 d06241 mov word [bp-00ah], ax ; 89 46 f66242 6162 xor dx, dx ; 31 d2 6243 6163 mov ax, 003b6h ; b8 b6 03 6244 call 03 539h ; e8 5dff6164 call 0346bh ; e8 65 ff 6245 6165 cmp ax, 077cch ; 3d cc 77 6246 je short 035 f9h ; 74 186247 mov bx, 00100h ; bb 00 016248 mov dx, word [bp-00ch] ; 8b 56 f46249 mov ax, word [bp-008h] ; 8b 46f86250 call 03006h ; e8 19 fa6166 je short 03521h ; 74 16 6167 push SS ; 16 6168 pop ES ; 07 6169 mov bx, word [bp-008h] ; 8b 5e f8 6170 mov word [es:bx], 00100h ; 26 c7 07 00 01 6251 6171 push 07efbh ; 68 fb 7e 6252 call 0 3014h ; e8 21fa6172 call 02f54h ; e8 39 fa 6253 6173 add sp, strict byte 00002h ; 83 c4 02 6254 jmp near 03 7afh ; e9 b6016174 jmp near 036cch ; e9 ab 01 6255 6175 mov cx, strict word 00004h ; b9 04 00 6256 mov dx, word [bp-00ch] ; 8b 56 f4 6257 mov ax, word [bp-002h] ; 8b 46 fe 6258 call 02ff8h ; e8 f3 f9 6259 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 6176 mov word [bp-006h], strict word 00000h ; c7 46 fa 00 00 6260 6177 mov dx, di ; 89 fa 6261 6178 mov ax, si ; 89 f0 6262 call 02f dch ; e8 cbf96179 call 02f0ah ; e8 da f9 6263 6180 cmp AL, strict byte 056h ; 3c 56 6264 jne short 03 639h ; 75 246181 jne short 03558h ; 75 24 6265 6182 lea dx, [di+001h] ; 8d 55 01 6266 6183 mov ax, si ; 89 f0 6267 call 02f dch ; e8 bff96184 call 02f0ah ; e8 ce f9 6268 6185 cmp AL, strict byte 042h ; 3c 42 6269 jne short 03 639h ; 75 186186 jne short 03558h ; 75 18 6270 6187 lea dx, [di+002h] ; 8d 55 02 6271 6188 mov ax, si ; 89 f0 6272 call 02f dch ; e8 b3f96189 call 02f0ah ; e8 c2 f9 6273 6190 cmp AL, strict byte 045h ; 3c 45 6274 jne short 03 639h ; 75 0c6191 jne short 03558h ; 75 0c 6275 6192 lea dx, [di+003h] ; 8d 55 03 6276 6193 mov ax, si ; 89 f0 6277 call 02f dch ; e8 a7f96194 call 02f0ah ; e8 b6 f9 6278 6195 cmp AL, strict byte 032h ; 3c 32 6279 je short 03 668h ; 74 2f6196 je short 03587h ; 74 2f 6280 6197 mov dx, di ; 89 fa 6281 6198 mov ax, si ; 89 f0 6282 call 02f dch ; e8 9cf96199 call 02f0ah ; e8 ab f9 6283 6200 cmp AL, strict byte 056h ; 3c 56 6284 jne short 03 66dh ; 75 296201 jne short 0358ch ; 75 29 6285 6202 lea dx, [di+001h] ; 8d 55 01 6286 6203 mov ax, si ; 89 f0 6287 call 02f dch ; e8 90f96204 call 02f0ah ; e8 9f f9 6288 6205 cmp AL, strict byte 045h ; 3c 45 6289 jne short 03 66dh ; 75 1d6206 jne short 0358ch ; 75 1d 6290 6207 lea dx, [di+002h] ; 8d 55 02 6291 6208 mov ax, si ; 89 f0 6292 call 02f dch ; e8 84f96209 call 02f0ah ; e8 93 f9 6293 6210 cmp AL, strict byte 053h ; 3c 53 6294 jne short 03 66dh ; 75 116211 jne short 0358ch ; 75 11 6295 6212 lea dx, [di+003h] ; 8d 55 03 6296 6213 mov ax, si ; 89 f0 6297 call 02f dch ; e8 78f96214 call 02f0ah ; e8 87 f9 6298 6215 cmp AL, strict byte 041h ; 3c 41 6299 jne short 03 66dh ; 75 056300 mov word [bp-00 4h], strict word 00001h ; c7 46 fc01 006216 jne short 0358ch ; 75 05 6217 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 6301 6218 mov bx, strict word 00056h ; bb 56 00 6302 6219 mov dx, di ; 89 fa 6303 6220 mov ax, si ; 89 f0 6304 call 02f eah ; e8 73f96221 call 02f18h ; e8 82 f9 6305 6222 lea dx, [di+001h] ; 8d 55 01 6306 6223 mov bx, strict word 00045h ; bb 45 00 6307 6224 mov ax, si ; 89 f0 6308 call 02f eah ; e8 68f96225 call 02f18h ; e8 77 f9 6309 6226 lea dx, [di+002h] ; 8d 55 02 6310 6227 mov bx, strict word 00053h ; bb 53 00 6311 6228 mov ax, si ; 89 f0 6312 call 02f eah ; e8 5df96229 call 02f18h ; e8 6c f9 6313 6230 lea dx, [di+003h] ; 8d 55 03 6314 6231 mov bx, strict word 00041h ; bb 41 00 6315 6232 mov ax, si ; 89 f0 6316 call 02f eah ; e8 52f96233 call 02f18h ; e8 61 f9 6317 6234 lea dx, [di+004h] ; 8d 55 04 6318 6235 mov bx, 00200h ; bb 00 02 6319 6236 mov ax, si ; 89 f0 6320 call 0 3006h ; e8 63f96237 call 02f34h ; e8 72 f9 6321 6238 lea dx, [di+008h] ; 8d 55 08 6322 6239 mov bx, 0c000h ; bb 00 c0 6323 6240 mov ax, si ; 89 f0 6324 call 0 3006h ; e8 58f96241 call 02f34h ; e8 67 f9 6325 6242 lea dx, [di+006h] ; 8d 55 06 6326 6243 mov bx, 07e20h ; bb 20 7e 6327 6244 mov ax, si ; 89 f0 6328 call 0 3006h ; e8 4df96245 call 02f34h ; e8 5c f9 6329 6246 lea dx, [di+00ah] ; 8d 55 0a 6330 6247 mov bx, strict word 00001h ; bb 01 00 6331 6248 mov ax, si ; 89 f0 6332 call 02f eah ; e8 26f96249 call 02f18h ; e8 35 f9 6333 6250 lea dx, [di+00bh] ; 8d 55 0b 6334 6251 xor bx, bx ; 31 db 6335 6252 mov ax, si ; 89 f0 6336 call 02f eah ; e8 1cf96253 call 02f18h ; e8 2b f9 6337 6254 lea dx, [di+00ch] ; 8d 55 0c 6338 6255 xor bx, bx ; 31 db 6339 6256 mov ax, si ; 89 f0 6340 call 02f eah ; e8 12f96257 call 02f18h ; e8 21 f9 6341 6258 lea dx, [di+00dh] ; 8d 55 0d 6342 6259 xor bx, bx ; 31 db 6343 6260 mov ax, si ; 89 f0 6344 call 02f eah ; e8 08f96261 call 02f18h ; e8 17 f9 6345 6262 lea dx, [di+010h] ; 8d 55 10 6346 6263 mov bx, si ; 89 f3 6347 6264 mov ax, si ; 89 f0 6348 call 0 3006h ; e8 1af96265 call 02f34h ; e8 29 f9 6349 6266 lea bx, [di+022h] ; 8d 5d 22 6350 6267 lea dx, [di+00eh] ; 8d 55 0e 6351 6268 mov ax, si ; 89 f0 6352 call 0 3006h ; e8 0ff96269 call 02f34h ; e8 1e f9 6353 6270 mov dx, strict word 0ffffh ; ba ff ff 6354 6271 mov ax, 003b6h ; b8 b6 03 6355 call 03 539h ; e8 39fe6272 call 0346bh ; e8 4c fe 6356 6273 lea dx, [di+012h] ; 8d 55 12 6357 6274 mov bx, ax ; 89 c3 6358 6275 mov ax, si ; 89 f0 6359 call 0 3006h ; e8 fc f86360 cmp word [bp-00 4h], strict byte 00000h ; 83 7e fc006361 je short 03 75dh ; 74 4d6276 call 02f34h ; e8 0b f9 6277 cmp word [bp-006h], strict byte 00000h ; 83 7e fa 00 6278 je short 0367ch ; 74 4d 6362 6279 lea dx, [di+014h] ; 8d 55 14 6363 mov bx, strict word 0000 2h ; bb 02006364 mov ax, si ; 89 f0 6365 call 0 3006h ; e8 ebf86280 mov bx, strict word 00003h ; bb 03 00 6281 mov ax, si ; 89 f0 6282 call 02f34h ; e8 fa f8 6366 6283 lea dx, [di+018h] ; 8d 55 18 6367 6284 mov bx, 0c000h ; bb 00 c0 6368 6285 mov ax, si ; 89 f0 6369 call 0 3006h ; e8 e0f86286 call 02f34h ; e8 ef f8 6370 6287 lea dx, [di+016h] ; 8d 55 16 6371 6288 mov bx, 07e35h ; bb 35 7e 6372 6289 mov ax, si ; 89 f0 6373 call 0 3006h ; e8 d5f86290 call 02f34h ; e8 e4 f8 6374 6291 lea dx, [di+01ch] ; 8d 55 1c 6375 6292 mov bx, 0c000h ; bb 00 c0 6376 6293 mov ax, si ; 89 f0 6377 call 0 3006h ; e8 caf86294 call 02f34h ; e8 d9 f8 6378 6295 lea dx, [di+01ah] ; 8d 55 1a 6379 6296 mov bx, 07e48h ; bb 48 7e 6380 6297 mov ax, si ; 89 f0 6381 call 0 3006h ; e8 bff86298 call 02f34h ; e8 ce f8 6382 6299 lea dx, [di+020h] ; 8d 55 20 6383 6300 mov bx, 0c000h ; bb 00 c0 6384 6301 mov ax, si ; 89 f0 6385 call 0 3006h ; e8 b4f86302 call 02f34h ; e8 c3 f8 6386 6303 lea dx, [di+01eh] ; 8d 55 1e 6387 6304 mov bx, 07e69h ; bb 69 7e 6388 6305 mov ax, si ; 89 f0 6389 call 0 3006h ; e8 a9f86306 call 02f34h ; e8 b8 f8 6390 6307 mov dx, cx ; 89 ca 6391 6308 add dx, strict byte 0001bh ; 83 c2 1b 6392 6309 mov ax, 003b6h ; b8 b6 03 6393 call 03 548h ; e8 e0fd6310 call 0347ah ; e8 f3 fd 6394 6311 xor ah, ah ; 30 e4 6395 cmp ax, word [bp-00 ah] ; 3b 46 f66396 jnbe short 03 787h ; 77 186312 cmp ax, word [bp-002h] ; 3b 46 fe 6313 jnbe short 036a6h ; 77 18 6397 6314 mov dx, cx ; 89 ca 6398 6315 mov ax, 003b6h ; b8 b6 03 6399 call 03 539h ; e8 c2fd6400 mov dx, word [bp-00 6h] ; 8b 56 fa6316 call 0346bh ; e8 d5 fd 6317 mov dx, word [bp-004h] ; 8b 56 fc 6401 6318 add dx, di ; 01 fa 6402 6319 mov bx, ax ; 89 c3 6403 6320 mov ax, si ; 89 f0 6404 call 0 3006h ; e8 83f86405 add word [bp-00 6h], strict byte 00002h ; 83 46 fa026321 call 02f34h ; e8 92 f8 6322 add word [bp-004h], strict byte 00002h ; 83 46 fc 02 6406 6323 add cx, strict byte 00044h ; 83 c1 44 6407 6324 mov dx, cx ; 89 ca 6408 6325 mov ax, 003b6h ; b8 b6 03 6409 call 03 539h ; e8 a7fd6326 call 0346bh ; e8 ba fd 6410 6327 cmp ax, strict word 0ffffh ; 3d ff ff 6411 jne short 03 75dh ; 75 c66412 mov dx, word [bp-00 6h] ; 8b 56 fa6328 jne short 0367ch ; 75 c6 6329 mov dx, word [bp-004h] ; 8b 56 fc 6413 6330 add dx, di ; 01 fa 6414 6331 mov bx, ax ; 89 c3 6415 6332 mov ax, si ; 89 f0 6416 call 0 3006h ; e8 63f86417 mov bx, strict word 0004fh ; bb 4f 006418 mov dx, word [bp-00ch] ; 8b 56 f46419 mov ax, word [bp-002h] ; 8b 46 fe6420 call 03006h ; e8 57 f86333 call 02f34h ; e8 72 f8 6334 push SS ; 16 6335 pop ES ; 07 6336 mov bx, word [bp-008h] ; 8b 5e f8 6337 mov word [es:bx], strict word 0004fh ; 26 c7 07 4f 00 6421 6338 leave ; c9 6422 6339 pop di ; 5f … … 6424 6341 pop cx ; 59 6425 6342 retn ; c3 6426 vbe_biosfn_return_mode_information_: ; 0xc3 7b4 LB 0xbb6343 vbe_biosfn_return_mode_information_: ; 0xc36d1 LB 0xb0 6427 6344 push si ; 56 6428 6345 push di ; 57 6429 enter 0000 6h, 000h ; c8 0600 006430 push ax ; 50 6431 push dx ; 526346 enter 00004h, 000h ; c8 04 00 00 6347 push ax ; 50 6348 mov ax, dx ; 89 d0 6432 6349 mov si, bx ; 89 de 6433 6350 mov word [bp-002h], cx ; 89 4e fe 6434 mov ax, ss ; 8c d0 6351 test dh, 040h ; f6 c6 40 6352 db 00fh, 095h, 0c2h 6353 ; setne dl ; 0f 95 c2 6354 xor dh, dh ; 30 f6 6355 and ah, 001h ; 80 e4 01 6356 call 0348bh ; e8 9e fd 6435 6357 mov word [bp-004h], ax ; 89 46 fc 6436 test byte [bp-009h], 040h ; f6 46 f7 406437 db 00fh, 095h, 0c0h6438 ; setne al ; 0f 95 c06439 movzx dx, al ; 0f b6 d06440 and byte [bp-009h], 001h ; 80 66 f7 016441 mov ax, word [bp-00ah] ; 8b 46 f66442 call 03559h ; e8 7f fd6443 mov word [bp-006h], ax ; 89 46 fa6444 6358 test ax, ax ; 85 c0 6445 je near 03 85fh ; 0f 84 7c 006359 je near 03772h ; 0f 84 7c 00 6446 6360 mov cx, 00100h ; b9 00 01 6447 6361 xor ax, ax ; 31 c0 … … 6449 6363 mov es, bx ; 8e c3 6450 6364 cld ; fc 6451 jcxz 037 f2h ; e3 026365 jcxz 03705h ; e3 02 6452 6366 rep stosb ; f3 aa 6453 6367 xor cx, cx ; 31 c9 6454 jmp short 037 fbh ; eb 056368 jmp short 0370eh ; eb 05 6455 6369 cmp cx, strict byte 00042h ; 83 f9 42 6456 jnc short 03 818h ; 73 1d6457 mov dx, word [bp-00 6h] ; 8b 56 fa6370 jnc short 0372bh ; 73 1d 6371 mov dx, word [bp-004h] ; 8b 56 fc 6458 6372 inc dx ; 42 6459 6373 inc dx ; 42 6460 6374 add dx, cx ; 01 ca 6461 6375 mov ax, 003b6h ; b8 b6 03 6462 call 03 548h ; e8 40fd6376 call 0347ah ; e8 5f fd 6463 6377 movzx bx, al ; 0f b6 d8 6464 6378 mov dx, word [bp-002h] ; 8b 56 fe 6465 6379 add dx, cx ; 01 ca 6466 6380 mov ax, si ; 89 f0 6467 call 02f eah ; e8 d5f76468 inc cx ; 41 6469 jmp short 037 f6h ; eb de6381 call 02f18h ; e8 f0 f7 6382 inc cx ; 41 6383 jmp short 03709h ; eb de 6470 6384 mov dx, word [bp-002h] ; 8b 56 fe 6471 6385 inc dx ; 42 6472 6386 inc dx ; 42 6473 6387 mov ax, si ; 89 f0 6474 call 02f dch ; e8 baf76388 call 02f0ah ; e8 d5 f7 6475 6389 test AL, strict byte 001h ; a8 01 6476 je short 03 842h ; 74 1c6390 je short 03755h ; 74 1c 6477 6391 mov dx, word [bp-002h] ; 8b 56 fe 6478 6392 add dx, strict byte 0000ch ; 83 c2 0c 6479 6393 mov bx, 00635h ; bb 35 06 6480 6394 mov ax, si ; 89 f0 6481 call 0 3006h ; e8 d2f76395 call 02f34h ; e8 ed f7 6482 6396 mov dx, word [bp-002h] ; 8b 56 fe 6483 6397 add dx, strict byte 0000eh ; 83 c2 0e 6484 6398 mov bx, 0c000h ; bb 00 c0 6485 6399 mov ax, si ; 89 f0 6486 call 0 3006h ; e8 c4f76400 call 02f34h ; e8 df f7 6487 6401 mov ax, strict word 0000bh ; b8 0b 00 6488 6402 mov dx, 001ceh ; ba ce 01 … … 6494 6408 mov bx, ax ; 89 c3 6495 6409 mov ax, si ; 89 f0 6496 call 03006h ; e8 ac f7 6497 mov bx, strict word 0004fh ; bb 4f 00 6498 jmp short 03862h ; eb 03 6499 mov bx, 00100h ; bb 00 01 6500 mov dx, word [bp-008h] ; 8b 56 f8 6501 mov ax, word [bp-004h] ; 8b 46 fc 6502 call 03006h ; e8 9b f7 6410 call 02f34h ; e8 c7 f7 6411 mov ax, strict word 0004fh ; b8 4f 00 6412 jmp short 03775h ; eb 03 6413 mov ax, 00100h ; b8 00 01 6414 push SS ; 16 6415 pop ES ; 07 6416 mov bx, word [bp-006h] ; 8b 5e fa 6417 mov word [es:bx], ax ; 26 89 07 6503 6418 leave ; c9 6504 6419 pop di ; 5f 6505 6420 pop si ; 5e 6506 6421 retn ; c3 6507 vbe_biosfn_set_mode_: ; 0xc3 86f LB 0x1126422 vbe_biosfn_set_mode_: ; 0xc3781 LB 0xf7 6508 6423 push si ; 56 6509 push di ; 57 6510 enter 0000ah, 000h ; c8 0a 00 00 6424 enter 00006h, 000h ; c8 06 00 00 6511 6425 mov si, ax ; 89 c6 6512 mov word [bp-008h], dx ; 89 56 f8 6513 mov ax, ss ; 8c d0 6514 mov word [bp-00ah], ax ; 89 46 f6 6515 test byte [bp-007h], 040h ; f6 46 f9 40 6426 mov word [bp-006h], dx ; 89 56 fa 6427 test byte [bp-005h], 040h ; f6 46 fb 40 6516 6428 db 00fh, 095h, 0c0h 6517 6429 ; setne al ; 0f 95 c0 6518 movzx dx, al ; 0f b6 d06519 mov ax, dx ; 89 d06520 test dx, dx ; 85 d26521 je short 03892h ; 74 036522 mov dx, strict word 00040h ; ba 40 006523 mov byte [bp-002h], dl ; 88 56 fe6524 test byte [bp-007h], 080h ; f6 46 f9 806525 je short 038a0h ; 74 056526 mov dx, 00080h ; ba 80 006527 jmp short 038a2h ; eb 026528 xor dx, dx ; 31 d26529 mov byte [bp-004h], dl ; 88 56 fc6530 and byte [bp-007h], 001h ; 80 66 f9 016531 cmp word [bp-008h], 00100h ; 81 7e f8 00 016532 jnc short 038c6h ; 73 166533 push strict byte 00000h ; 6a 006534 call 005f9h ; e8 44 cd6535 add sp, strict byte 00002h ; 83 c4 026536 mov al, byte [bp-008h] ; 8a 46 f86537 6430 xor ah, ah ; 30 e4 6538 call 00d85h ; e8 c5 d4 6431 mov dx, ax ; 89 c2 6432 test ax, ax ; 85 c0 6433 je short 0379dh ; 74 03 6434 mov ax, strict word 00040h ; b8 40 00 6435 mov byte [bp-002h], al ; 88 46 fe 6436 test byte [bp-005h], 080h ; f6 46 fb 80 6437 je short 037abh ; 74 05 6438 mov ax, 00080h ; b8 80 00 6439 jmp short 037adh ; eb 02 6440 xor ax, ax ; 31 c0 6441 mov byte [bp-004h], al ; 88 46 fc 6442 and byte [bp-005h], 001h ; 80 66 fb 01 6443 cmp word [bp-006h], 00100h ; 81 7e fa 00 01 6444 jnc short 037cdh ; 73 12 6445 xor ax, ax ; 31 c0 6446 call 005f9h ; e8 39 ce 6447 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6448 call 00fc1h ; e8 fa d7 6539 6449 mov ax, strict word 0004fh ; b8 4f 00 6540 jmp near 03973h ; e9 ad 00 6541 mov dx, ax ; 89 c2 6542 mov ax, word [bp-008h] ; 8b 46 f8 6543 call 03559h ; e8 8b fc 6450 jmp near 03872h ; e9 a5 00 6451 mov ax, word [bp-006h] ; 8b 46 fa 6452 call 0348bh ; e8 b8 fc 6544 6453 mov bx, ax ; 89 c3 6545 mov di, ax ; 89 c76454 mov cx, ax ; 89 c1 6546 6455 test ax, ax ; 85 c0 6547 je near 03 970h ; 0f 84 98006456 je near 0386fh ; 0f 84 92 00 6548 6457 lea dx, [bx+014h] ; 8d 57 14 6549 6458 mov ax, 003b6h ; b8 b6 03 6550 call 03 539h ; e8 58fc6459 call 0346bh ; e8 85 fc 6551 6460 lea dx, [bx+016h] ; 8d 57 16 6552 6461 mov ax, 003b6h ; b8 b6 03 6553 call 03 539h ; e8 4ffc6462 call 0346bh ; e8 7c fc 6554 6463 lea dx, [bx+01bh] ; 8d 57 1b 6555 6464 mov ax, 003b6h ; b8 b6 03 6556 call 03548h ; e8 55 fc 6557 mov byte [bp-006h], al ; 88 46 fa 6558 push strict byte 00000h ; 6a 00 6559 call 005f9h ; e8 fe cc 6560 add sp, strict byte 00002h ; 83 c4 02 6561 cmp byte [bp-006h], 004h ; 80 7e fa 04 6562 jne short 0390ah ; 75 06 6465 call 0347ah ; e8 82 fc 6466 mov dl, al ; 88 c2 6467 xor ax, ax ; 31 c0 6468 call 005f9h ; e8 fa cd 6469 cmp dl, 004h ; 80 fa 04 6470 jne short 0380ah ; 75 06 6563 6471 mov ax, strict word 0006ah ; b8 6a 00 6564 call 00d85h ; e8 7b d4 6565 lea dx, [di+01bh] ; 8d 55 1b 6472 call 00fc1h ; e8 b7 d7 6473 mov dx, cx ; 89 ca 6474 add dx, strict byte 0001bh ; 83 c2 1b 6566 6475 mov ax, 003b6h ; b8 b6 03 6567 call 03 548h ; e8 35 fc6476 call 0347ah ; e8 65 fc 6568 6477 xor ah, ah ; 30 e4 6569 call 03521h ; e8 09 fc 6570 lea dx, [di+014h] ; 8d 55 14 6478 call 03453h ; e8 39 fc 6479 mov dx, cx ; 89 ca 6480 add dx, strict byte 00014h ; 83 c2 14 6571 6481 mov ax, 003b6h ; b8 b6 03 6572 call 03539h ; e8 18 fc 6573 call 034f1h ; e8 cd fb 6574 lea dx, [di+016h] ; 8d 55 16 6482 call 0346bh ; e8 46 fc 6483 call 03423h ; e8 fb fb 6484 mov dx, cx ; 89 ca 6485 add dx, strict byte 00016h ; 83 c2 16 6575 6486 mov ax, 003b6h ; b8 b6 03 6576 call 03539h ; e8 0c fc 6577 call 03509h ; e8 d9 fb 6578 push strict byte 00000h ; 6a 00 6579 call 00617h ; e8 e2 cc 6580 add sp, strict byte 00002h ; 83 c4 02 6487 call 0346bh ; e8 38 fc 6488 call 0343bh ; e8 05 fc 6489 xor ax, ax ; 31 c0 6490 call 00617h ; e8 dc cd 6581 6491 mov al, byte [bp-004h] ; 8a 46 fc 6582 6492 or AL, strict byte 001h ; 0c 01 … … 6584 6494 movzx ax, byte [bp-002h] ; 0f b6 46 fe 6585 6495 or ax, dx ; 09 d0 6586 push ax ; 50 6587 call 005f9h ; e8 af cc 6588 add sp, strict byte 00002h ; 83 c4 02 6589 call 006f3h ; e8 a3 cd 6590 mov bx, word [bp-008h] ; 8b 5e f8 6496 call 005f9h ; e8 ad cd 6497 call 006f3h ; e8 a4 ce 6498 mov bx, word [bp-006h] ; 8b 5e fa 6591 6499 mov dx, 000bah ; ba ba 00 6592 6500 mov ax, strict word 00040h ; b8 40 00 6593 call 0 3006h ; e8 aaf66501 call 02f34h ; e8 d9 f6 6594 6502 mov al, byte [bp-004h] ; 8a 46 fc 6595 6503 or AL, strict byte 060h ; 0c 60 … … 6597 6505 mov dx, 00087h ; ba 87 00 6598 6506 mov ax, strict word 00040h ; b8 40 00 6599 call 02f eah ; e8 7df66600 jmp near 03 8c0h ; e9 50ff6507 call 02f18h ; e8 ac f6 6508 jmp near 037c7h ; e9 58 ff 6601 6509 mov ax, 00100h ; b8 00 01 6602 mov bx, ax ; 89 c3 6603 mov dx, si ; 89 f2 6604 mov ax, word [bp-00ah] ; 8b 46 f6 6605 call 03006h ; e8 89 f6 6510 mov word [ss:si], ax ; 36 89 04 6606 6511 leave ; c9 6607 pop di ; 5f6608 6512 pop si ; 5e 6609 6513 retn ; c3 6610 vbe_biosfn_read_video_state_size_: ; 0xc3 981LB 0x86514 vbe_biosfn_read_video_state_size_: ; 0xc3878 LB 0x8 6611 6515 push bp ; 55 6612 6516 mov bp, sp ; 89 e5 … … 6614 6518 pop bp ; 5d 6615 6519 retn ; c3 6616 vbe_biosfn_save_video_state_: ; 0xc3 989LB 0x586520 vbe_biosfn_save_video_state_: ; 0xc3880 LB 0x58 6617 6521 push bx ; 53 6618 6522 push cx ; 51 … … 6631 6535 mov dx, cx ; 89 ca 6632 6536 mov ax, di ; 89 f8 6633 call 0 3006h ; e8 5af66537 call 02f34h ; e8 91 f6 6634 6538 inc cx ; 41 6635 6539 inc cx ; 41 6636 6540 test byte [bp-002h], 001h ; f6 46 fe 01 6637 je short 03 9dbh ; 74 276541 je short 038d2h ; 74 27 6638 6542 mov si, strict word 00001h ; be 01 00 6639 jmp short 03 9beh ; eb 056543 jmp short 038b5h ; eb 05 6640 6544 cmp si, strict byte 00009h ; 83 fe 09 6641 jnbe short 03 9dbh ; 77 1d6545 jnbe short 038d2h ; 77 1d 6642 6546 cmp si, strict byte 00004h ; 83 fe 04 6643 je short 03 9d8h ; 74 156547 je short 038cfh ; 74 15 6644 6548 mov ax, si ; 89 f0 6645 6549 mov dx, 001ceh ; ba ce 01 … … 6650 6554 mov dx, cx ; 89 ca 6651 6555 mov ax, di ; 89 f8 6652 call 0 3006h ; e8 30f66556 call 02f34h ; e8 67 f6 6653 6557 inc cx ; 41 6654 6558 inc cx ; 41 6655 6559 inc si ; 46 6656 jmp short 03 9b9h ; eb de6560 jmp short 038b0h ; eb de 6657 6561 leave ; c9 6658 6562 pop di ; 5f … … 6661 6565 pop bx ; 5b 6662 6566 retn ; c3 6663 vbe_biosfn_restore_video_state_: ; 0xc3 9e1LB 0x986567 vbe_biosfn_restore_video_state_: ; 0xc38d8 LB 0x98 6664 6568 push bx ; 53 6665 6569 push cx ; 51 … … 6668 6572 mov cx, ax ; 89 c1 6669 6573 mov bx, dx ; 89 d3 6670 call 02f f8h ; e8 09f66574 call 02f26h ; e8 40 f6 6671 6575 mov word [bp-002h], ax ; 89 46 fe 6672 6576 inc bx ; 43 6673 6577 inc bx ; 43 6674 6578 test byte [bp-002h], 001h ; f6 46 fe 01 6675 jne short 03 a0ah ; 75 106579 jne short 03901h ; 75 10 6676 6580 mov ax, strict word 00004h ; b8 04 00 6677 6581 mov dx, 001ceh ; ba ce 01 … … 6680 6584 mov dx, 001cfh ; ba cf 01 6681 6585 out DX, ax ; ef 6682 jmp short 03 a74h ; eb 6a6586 jmp short 0396bh ; eb 6a 6683 6587 mov ax, strict word 00001h ; b8 01 00 6684 6588 mov dx, 001ceh ; ba ce 01 … … 6686 6590 mov dx, bx ; 89 da 6687 6591 mov ax, cx ; 89 c8 6688 call 02f f8h ; e8 e0 f56592 call 02f26h ; e8 17 f6 6689 6593 mov dx, 001cfh ; ba cf 01 6690 6594 out DX, ax ; ef … … 6696 6600 mov dx, bx ; 89 da 6697 6601 mov ax, cx ; 89 c8 6698 call 02f f8h ; e8 cc f56602 call 02f26h ; e8 03 f6 6699 6603 mov dx, 001cfh ; ba cf 01 6700 6604 out DX, ax ; ef … … 6706 6610 mov dx, bx ; 89 da 6707 6611 mov ax, cx ; 89 c8 6708 call 02f f8h ; e8 b8f56612 call 02f26h ; e8 ef f5 6709 6613 mov dx, 001cfh ; ba cf 01 6710 6614 out DX, ax ; ef … … 6718 6622 out DX, ax ; ef 6719 6623 mov si, strict word 00005h ; be 05 00 6720 jmp short 03 a5eh ; eb 056624 jmp short 03955h ; eb 05 6721 6625 cmp si, strict byte 00009h ; 83 fe 09 6722 jnbe short 03 a74h ; 77 166626 jnbe short 0396bh ; 77 16 6723 6627 mov ax, si ; 89 f0 6724 6628 mov dx, 001ceh ; ba ce 01 … … 6726 6630 mov dx, bx ; 89 da 6727 6631 mov ax, cx ; 89 c8 6728 call 02f f8h ; e8 8df56632 call 02f26h ; e8 c4 f5 6729 6633 mov dx, 001cfh ; ba cf 01 6730 6634 out DX, ax ; ef … … 6732 6636 inc bx ; 43 6733 6637 inc si ; 46 6734 jmp short 03 a59h ; eb e56638 jmp short 03950h ; eb e5 6735 6639 leave ; c9 6736 6640 pop si ; 5e … … 6738 6642 pop bx ; 5b 6739 6643 retn ; c3 6740 vbe_biosfn_save_restore_state_: ; 0xc3 a79 LB 0x966644 vbe_biosfn_save_restore_state_: ; 0xc3970 LB 0x89 6741 6645 push si ; 56 6742 6646 push di ; 57 6743 push bp ; 55 6744 mov bp, sp ; 89 e5 6745 push ax ; 50 6746 push dx ; 52 6747 mov ax, ss ; 8c d0 6647 enter 00002h, 000h ; c8 02 00 00 6748 6648 mov si, ax ; 89 c6 6649 mov word [bp-002h], dx ; 89 56 fe 6650 mov ax, bx ; 89 d8 6651 mov bx, word [bp+008h] ; 8b 5e 08 6749 6652 mov di, strict word 0004fh ; bf 4f 00 6750 xor bh, bh ; 30 ff 6751 mov dx, bx ; 89 da 6752 cmp bx, strict byte 00002h ; 83 fb 02 6753 je short 03addh ; 74 4d 6754 cmp bx, strict byte 00001h ; 83 fb 01 6755 je short 03abeh ; 74 29 6756 test bx, bx ; 85 db 6757 jne short 03afch ; 75 63 6758 mov ax, word [bp-004h] ; 8b 46 fc 6759 call 028f4h ; e8 55 ee 6760 mov dx, ax ; 89 c2 6761 test byte [bp-004h], 008h ; f6 46 fc 08 6762 je short 03aach ; 74 05 6763 call 03981h ; e8 d7 fe 6764 add ax, dx ; 01 d0 6765 mov bx, ax ; 89 c3 6766 add bx, strict byte 0003fh ; 83 c3 3f 6767 shr bx, 006h ; c1 eb 06 6768 mov dx, word [bp+008h] ; 8b 56 08 6769 mov ax, si ; 89 f0 6770 call 03006h ; e8 4a f5 6771 jmp short 03affh ; eb 41 6772 mov dx, word [bp+008h] ; 8b 56 08 6773 call 02ff8h ; e8 34 f5 6774 mov bx, ax ; 89 c3 6775 mov dx, cx ; 89 ca 6776 mov ax, word [bp-004h] ; 8b 46 fc 6777 call 02932h ; e8 64 ee 6778 test byte [bp-004h], 008h ; f6 46 fc 08 6779 je short 03affh ; 74 2b 6653 xor ah, ah ; 30 e4 6654 cmp ax, strict word 00002h ; 3d 02 00 6655 je short 039cfh ; 74 45 6656 cmp ax, strict word 00001h ; 3d 01 00 6657 je short 039b3h ; 74 24 6658 test ax, ax ; 85 c0 6659 jne short 039ebh ; 75 58 6660 mov ax, word [bp-002h] ; 8b 46 fe 6661 call 0282bh ; e8 92 ee 6662 mov cx, ax ; 89 c1 6663 test byte [bp-002h], 008h ; f6 46 fe 08 6664 je short 039a6h ; 74 05 6665 call 03878h ; e8 d4 fe 6666 add ax, cx ; 01 c8 6667 add ax, strict word 0003fh ; 05 3f 00 6668 shr ax, 006h ; c1 e8 06 6669 push SS ; 16 6670 pop ES ; 07 6671 mov word [es:bx], ax ; 26 89 07 6672 jmp short 039eeh ; eb 3b 6673 push SS ; 16 6674 pop ES ; 07 6675 mov bx, word [es:bx] ; 26 8b 1f 6676 mov dx, cx ; 89 ca 6677 mov ax, word [bp-002h] ; 8b 46 fe 6678 call 0285dh ; e8 9d ee 6679 test byte [bp-002h], 008h ; f6 46 fe 08 6680 je short 039eeh ; 74 28 6780 6681 mov dx, ax ; 89 c2 6781 6682 mov ax, cx ; 89 c8 6782 call 03 989h ; e8 aefe6783 jmp short 03 affh ; eb 226784 mov dx, word [bp+008h] ; 8b 56 086785 call 02ff8h ; e8 15 f56786 mov bx, ax ; 89 c36787 mov dx, cx ; 89 ca 6788 mov ax, word [bp-00 4h] ; 8b 46 fc6789 call 02 c97h ; e8 aaf16790 test byte [bp-00 4h], 008h ; f6 46 fc086791 je short 03 affh ; 74 0c6683 call 03880h ; e8 b3 fe 6684 jmp short 039eeh ; eb 1f 6685 push SS ; 16 6686 pop ES ; 07 6687 mov bx, word [es:bx] ; 26 8b 1f 6688 mov dx, cx ; 89 ca 6689 mov ax, word [bp-002h] ; 8b 46 fe 6690 call 02bc2h ; e8 e6 f1 6691 test byte [bp-002h], 008h ; f6 46 fe 08 6692 je short 039eeh ; 74 0c 6792 6693 mov dx, ax ; 89 c2 6793 6694 mov ax, cx ; 89 c8 6794 call 03 9e1h ; e8 e7fe6795 jmp short 03 affh ; eb 036695 call 038d8h ; e8 ef fe 6696 jmp short 039eeh ; eb 03 6796 6697 mov di, 00100h ; bf 00 01 6797 mov bx, di ; 89 fb 6798 mov dx, word [bp-002h] ; 8b 56 fe 6799 mov ax, si ; 89 f0 6800 call 03006h ; e8 fd f4 6698 push SS ; 16 6699 pop ES ; 07 6700 mov word [es:si], di ; 26 89 3c 6801 6701 leave ; c9 6802 6702 pop di ; 5f … … 6804 6704 retn 00002h ; c2 02 00 6805 6705 6806 ; Padding 0x af1 bytes at 0xc3b0f6807 times 2801db 06706 ; Padding 0xc07 bytes at 0xc39f9 6707 times 3079 db 0 6808 6708 6809 6709 section VBE32 progbits vstart=0x4600 align=1 ; size=0x111 class=CODE group=AUTO … … 6815 6715 add dh, cl ; 00 ce 6816 6716 add di, cx ; 01 cf 6817 add di, cx ; 01 cf6818 add ax, dx ; 01 d06819 add di, di ; 01ff6717 add word [bp-048fdh], si ; 01 b6 03 b7 6718 db 003h, 0ffh 6719 ; add di, di ; 03 ff 6820 6720 db 0ffh 6821 6721 db 0ffh … … 7855 7755 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7856 7756 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7857 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 93h7757 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 041h -
trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum
r42147 r42454 1 8c47720e81b0539a2ed49f2c09bf2174*VBoxVgaBios.rom1 3cbb45d118bbb62f3fe41ea02ab546cd *VBoxVgaBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.