Changeset 47937 in vbox for trunk/src/VBox/Devices/Graphics/BIOS
- Timestamp:
- Aug 20, 2013 4:17:35 PM (11 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
r43630 r47937 156 156 157 157 section VGAROM progbits vstart=0x0 align=1 ; size=0x93e class=CODE group=AUTO 158 db 055h, 0aah, 040h, 0e9h, 0 5fh, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h158 db 055h, 0aah, 040h, 0e9h, 062h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 159 159 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h 160 160 db 04dh, 000h … … 244 244 mov bx, 0c000h ; bb 00 c0 245 245 mov ds, bx ; 8e db 246 call 0 2fb4h ; e8 c4 2e246 call 03040h ; e8 50 2f 247 247 popaw ; 61 248 248 pop DS ; 1f … … 1497 1497 times 194 db 0 1498 1498 1499 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2 ebfclass=CODE group=AUTO1499 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f80 class=CODE group=AUTO 1500 1500 set_int_vector_: ; 0xc0a00 LB 0x1a 1501 1501 push bx ; 53 … … 1511 1511 pop bx ; 5b 1512 1512 retn ; c3 1513 init_vga_card_: ; 0xc0a1a LB 0x19 1514 push dx ; 52 1513 init_vga_card_: ; 0xc0a1a LB 0x1c 1515 1514 push bp ; 55 1516 1515 mov bp, sp ; 89 e5 1516 push dx ; 52 1517 1517 mov AL, strict byte 0c3h ; b0 c3 1518 1518 mov dx, 003c2h ; ba c2 03 … … 1524 1524 mov dx, 003c5h ; ba c5 03 1525 1525 out DX, AL ; ee 1526 lea sp, [bp-002h] ; 8d 66 fe 1527 pop dx ; 5a 1526 1528 pop bp ; 5d 1527 pop dx ; 5a 1528 retn ; c3 1529 init_bios_area_: ; 0xc0a33 LB 0x32 1529 retn ; c3 1530 init_bios_area_: ; 0xc0a36 LB 0x32 1530 1531 push bx ; 53 1531 1532 push bp ; 55 … … 1545 1546 pop bx ; 5b 1546 1547 retn ; c3 1547 _vgabios_init_func: ; 0xc0a6 5 LB 0x1e1548 _vgabios_init_func: ; 0xc0a68 LB 0x20 1548 1549 push bp ; 55 1549 1550 mov bp, sp ; 89 e5 1550 call 00a1ah ; e8 a fff1551 call 00a3 3h ; e8 c5 ff1552 call 034 0bh ; e8 9a 291551 call 00a1ah ; e8 ac ff 1552 call 00a36h ; e8 c5 ff 1553 call 034afh ; e8 3b 2a 1553 1554 mov dx, strict word 00022h ; ba 22 00 1554 1555 mov ax, strict word 00010h ; b8 10 00 1555 call 00a00h ; e8 8 6ff1556 call 00a00h ; e8 83 ff 1556 1557 mov ax, strict word 00003h ; b8 03 00 1557 1558 db 032h, 0e4h 1558 1559 ; xor ah, ah ; 32 e4 1559 1560 int 010h ; cd 10 1561 mov sp, bp ; 89 ec 1560 1562 pop bp ; 5d 1561 1563 retf ; cb 1562 vga_get_cursor_pos_: ; 0xc0a83 LB 0x40 1564 vga_get_cursor_pos_: ; 0xc0a88 LB 0x43 1565 push bp ; 55 1566 mov bp, sp ; 89 e5 1563 1567 push cx ; 51 1564 1568 push si ; 56 1565 push bp ; 551566 mov bp, sp ; 89 e51567 1569 mov cl, al ; 88 c1 1568 1570 mov si, dx ; 89 d6 1569 1571 cmp AL, strict byte 007h ; 3c 07 1570 jbe short 00a 9eh ; 76 0e1572 jbe short 00aa3h ; 76 0e 1571 1573 push SS ; 16 1572 1574 pop ES ; 07 1573 1575 mov word [es:si], strict word 00000h ; 26 c7 04 00 00 1574 1576 mov word [es:bx], strict word 00000h ; 26 c7 07 00 00 1575 jmp short 00a bfh ; eb 211577 jmp short 00ac4h ; eb 21 1576 1578 mov dx, strict word 00060h ; ba 60 00 1577 1579 mov ax, strict word 00040h ; b8 40 00 1578 call 02f 07h ; e8 60241580 call 02f93h ; e8 e7 24 1579 1581 push SS ; 16 1580 1582 pop ES ; 07 … … 1584 1586 add dx, strict byte 00050h ; 83 c2 50 1585 1587 mov ax, strict word 00040h ; b8 40 00 1586 call 02f 07h ; e8 4d241588 call 02f93h ; e8 d4 24 1587 1589 push SS ; 16 1588 1590 pop ES ; 07 1589 1591 mov word [es:bx], ax ; 26 89 07 1590 pop bp ; 5d1592 lea sp, [bp-004h] ; 8d 66 fc 1591 1593 pop si ; 5e 1592 1594 pop cx ; 59 1593 retn ; c3 1594 vga_read_char_attr_: ; 0xc0ac3 LB 0xa3 1595 pop bp ; 5d 1596 retn ; c3 1597 vga_read_char_attr_: ; 0xc0acb LB 0xa8 1598 push bp ; 55 1599 mov bp, sp ; 89 e5 1595 1600 push bx ; 53 1596 1601 push cx ; 51 1597 1602 push si ; 56 1598 1603 push di ; 57 1599 enter 00008h, 000h ; c8 08 00 001604 sub sp, strict byte 00008h ; 83 ec 08 1600 1605 mov cl, al ; 88 c1 1601 1606 mov si, dx ; 89 d6 1602 1607 mov dx, strict word 00049h ; ba 49 00 1603 1608 mov ax, strict word 00040h ; b8 40 00 1604 call 02 eebh ; e8 13241609 call 02f77h ; e8 95 24 1605 1610 xor ah, ah ; 30 e4 1606 call 02 ec4h ; e8 e7 231611 call 02f50h ; e8 69 24 1607 1612 mov ch, al ; 88 c5 1608 1613 cmp AL, strict byte 0ffh ; 3c ff 1609 je short 00b5 0h ; 74 6d1614 je short 00b5ah ; 74 6d 1610 1615 movzx ax, cl ; 0f b6 c1 1611 lea bx, [bp-0 08h] ; 8d 5e f81612 lea dx, [bp-00 6h] ; 8d 56 fa1613 call 00a8 3h ; e8 94ff1614 mov al, byte [bp-0 08h] ; 8a 46 f81615 mov byte [bp-00 2h], al ; 88 46 fe1616 mov ax, word [bp-0 08h] ; 8b 46 f81616 lea bx, [bp-010h] ; 8d 5e f0 1617 lea dx, [bp-00eh] ; 8d 56 f2 1618 call 00a88h ; e8 8f ff 1619 mov al, byte [bp-010h] ; 8a 46 f0 1620 mov byte [bp-00ah], al ; 88 46 f6 1621 mov ax, word [bp-010h] ; 8b 46 f0 1617 1622 xor al, al ; 30 c0 1618 1623 shr ax, 008h ; c1 e8 08 1619 mov word [bp-00 4h], ax ; 89 46 fc1624 mov word [bp-00ch], ax ; 89 46 f4 1620 1625 mov dx, 00084h ; ba 84 00 1621 1626 mov ax, strict word 00040h ; b8 40 00 1622 call 02 eebh ; e8 e2 231627 call 02f77h ; e8 64 24 1623 1628 movzx di, al ; 0f b6 f8 1624 1629 inc di ; 47 1625 1630 mov dx, strict word 0004ah ; ba 4a 00 1626 1631 mov ax, strict word 00040h ; b8 40 00 1627 call 02f 07h ; e8 f1 231632 call 02f93h ; e8 73 24 1628 1633 movzx bx, ch ; 0f b6 dd 1629 1634 sal bx, 003h ; c1 e3 03 1630 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 001631 jne short 00b5 0h ; 75 2d1635 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 1636 jne short 00b5ah ; 75 2d 1632 1637 mov dx, ax ; 89 c2 1633 1638 imul dx, di ; 0f af d7 … … 1637 1642 inc dx ; 42 1638 1643 imul cx, dx ; 0f af ca 1639 movzx dx, byte [bp-00 4h] ; 0f b6 56 fc1644 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 1640 1645 imul dx, ax ; 0f af d0 1641 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe1646 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 1642 1647 add ax, dx ; 01 d0 1643 1648 add ax, ax ; 01 c0 1644 1649 mov dx, cx ; 89 ca 1645 1650 add dx, ax ; 01 c2 1646 mov ax, word [bx+0483 3h] ; 8b 87 33481647 call 02f 07h ; e8 ba 231651 mov ax, word [bx+04838h] ; 8b 87 38 48 1652 call 02f93h ; e8 3c 24 1648 1653 mov word [ss:si], ax ; 36 89 04 1649 lea ve ; c91654 lea sp, [bp-008h] ; 8d 66 f8 1650 1655 pop di ; 5f 1651 1656 pop si ; 5e 1652 1657 pop cx ; 59 1653 1658 pop bx ; 5b 1654 retn ; c3 1655 or word [bp+di], 00bbdh ; 81 0b bd 0b 1656 retn 0ca0bh ; c2 0b ca 1657 db 00bh, 0cfh 1658 ; or cx, di ; 0b cf 1659 db 00bh, 0d4h 1660 ; or dx, sp ; 0b d4 1661 db 00bh, 0d9h 1662 ; or bx, cx ; 0b d9 1663 db 00bh, 0deh 1664 ; or bx, si ; 0b de 1659 pop bp ; 5d 1660 retn ; c3 1661 mov cs, [bp+di] ; 8e 0b 1662 int 00bh ; cd 0b 1663 ror byte [bp+di], CL ; d2 0b 1664 fimul dword [bp+di] ; da 0b 1665 db 0dfh 1666 db 00bh, 0e4h 1667 ; or sp, sp ; 0b e4 1668 db 00bh, 0e9h 1669 ; or bp, cx ; 0b e9 1670 db 00bh, 0eeh 1671 ; or bp, si ; 0b ee 1665 1672 db 00bh 1666 vga_get_font_info_: ; 0xc0b66 LB 0x7f 1673 vga_get_font_info_: ; 0xc0b73 LB 0x82 1674 push bp ; 55 1675 mov bp, sp ; 89 e5 1667 1676 push si ; 56 1668 1677 push di ; 57 1669 enter 00002h, 000h ; c8 02 00 001678 push ax ; 50 1670 1679 mov si, dx ; 89 d6 1671 mov word [bp-00 2h], bx ; 89 5e fe1680 mov word [bp-006h], bx ; 89 5e fa 1672 1681 mov bx, cx ; 89 cb 1673 1682 cmp ax, strict word 00007h ; 3d 07 00 1674 jnbe short 00b b7h ; 77 3f1683 jnbe short 00bc4h ; 77 3f 1675 1684 mov di, ax ; 89 c7 1676 1685 add di, ax ; 01 c7 1677 jmp word [cs:di+00b 56h] ; 2e ff a5 560b1686 jmp word [cs:di+00b63h] ; 2e ff a5 63 0b 1678 1687 mov dx, strict word 0007ch ; ba 7c 00 1679 1688 xor ax, ax ; 31 c0 1680 call 02f 23h ; e8 9a 231689 call 02fafh ; e8 19 24 1681 1690 push SS ; 16 1682 1691 pop ES ; 07 1683 mov di, word [bp-00 2h] ; 8b 7e fe1692 mov di, word [bp-006h] ; 8b 7e fa 1684 1693 mov word [es:di], ax ; 26 89 05 1685 1694 mov word [es:si], dx ; 26 89 14 1686 1695 mov dx, 00085h ; ba 85 00 1687 1696 mov ax, strict word 00040h ; b8 40 00 1688 call 02 eebh ; e8 4e231697 call 02f77h ; e8 cd 23 1689 1698 xor ah, ah ; 30 e4 1690 1699 push SS ; 16 … … 1693 1702 mov dx, 00084h ; ba 84 00 1694 1703 mov ax, strict word 00040h ; b8 40 00 1695 call 02 eebh ; e8 3e231704 call 02f77h ; e8 bd 23 1696 1705 xor ah, ah ; 30 e4 1697 1706 push SS ; 16 1698 1707 pop ES ; 07 1699 mov bx, word [bp+00 8h] ; 8b 5e 081708 mov bx, word [bp+004h] ; 8b 5e 04 1700 1709 mov word [es:bx], ax ; 26 89 07 1701 lea ve ; c91710 lea sp, [bp-004h] ; 8d 66 fc 1702 1711 pop di ; 5f 1703 1712 pop si ; 5e 1713 pop bp ; 5d 1704 1714 retn 00002h ; c2 02 00 1705 1715 mov dx, 0010ch ; ba 0c 01 1706 jmp short 00b 84h ; eb c21707 mov ax, 05d afh ; b8 af5d1716 jmp short 00b91h ; eb bf 1717 mov ax, 05db4h ; b8 b4 5d 1708 1718 mov dx, 0c000h ; ba 00 c0 1709 jmp short 00b89h ; eb bf 1710 mov ax, 055afh ; b8 af 55 1711 jmp short 00bc5h ; eb f6 1712 mov ax, 059afh ; b8 af 59 1713 jmp short 00bc5h ; eb f1 1714 mov ax, 07bafh ; b8 af 7b 1715 jmp short 00bc5h ; eb ec 1716 mov ax, 06bafh ; b8 af 6b 1717 jmp short 00bc5h ; eb e7 1718 mov ax, 07cdch ; b8 dc 7c 1719 jmp short 00bc5h ; eb e2 1720 jmp short 00bb7h ; eb d2 1721 vga_read_pixel_: ; 0xc0be5 LB 0x134 1719 jmp short 00b96h ; eb bc 1720 mov ax, 055b4h ; b8 b4 55 1721 jmp short 00bd5h ; eb f6 1722 mov ax, 059b4h ; b8 b4 59 1723 jmp short 00bd5h ; eb f1 1724 mov ax, 07bb4h ; b8 b4 7b 1725 jmp short 00bd5h ; eb ec 1726 mov ax, 06bb4h ; b8 b4 6b 1727 jmp short 00bd5h ; eb e7 1728 mov ax, 07ce1h ; b8 e1 7c 1729 jmp short 00bd5h ; eb e2 1730 jmp short 00bc4h ; eb cf 1731 vga_read_pixel_: ; 0xc0bf5 LB 0x139 1732 push bp ; 55 1733 mov bp, sp ; 89 e5 1722 1734 push si ; 56 1723 1735 push di ; 57 1724 enter 00006h, 000h ; c8 06 00 001736 sub sp, strict byte 00006h ; 83 ec 06 1725 1737 mov si, dx ; 89 d6 1726 mov word [bp-00 6h], bx ; 89 5e fa1738 mov word [bp-00ah], bx ; 89 5e f6 1727 1739 mov di, cx ; 89 cf 1728 1740 mov dx, strict word 00049h ; ba 49 00 1729 1741 mov ax, strict word 00040h ; b8 40 00 1730 call 02 eebh ; e8 f0 221742 call 02f77h ; e8 6a 23 1731 1743 xor ah, ah ; 30 e4 1732 call 02 ec4h ; e8 c4 221744 call 02f50h ; e8 3e 23 1733 1745 mov cl, al ; 88 c1 1734 1746 cmp AL, strict byte 0ffh ; 3c ff 1735 je near 00d 15h ; 0f 84 0d 011747 je near 00d27h ; 0f 84 0d 01 1736 1748 movzx bx, al ; 0f b6 d8 1737 1749 sal bx, 003h ; c1 e3 03 1738 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 001739 je near 00d 15h ; 0f 84 fe 001740 mov bl, byte [bx+0483 1h] ; 8a 9f 31481750 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 1751 je near 00d27h ; 0f 84 fe 00 1752 mov bl, byte [bx+04836h] ; 8a 9f 36 48 1741 1753 cmp bl, 003h ; 80 fb 03 1742 jc short 00c 31h ; 72 111743 jbe short 00c 39h ; 76 171754 jc short 00c43h ; 72 11 1755 jbe short 00c4bh ; 76 17 1744 1756 cmp bl, 005h ; 80 fb 05 1745 je near 00 cf2h ; 0f 84 c9 001757 je near 00d04h ; 0f 84 c9 00 1746 1758 cmp bl, 004h ; 80 fb 04 1747 je short 00c 39h ; 74 0b1748 jmp near 00d 10h ; e9 df 001759 je short 00c4bh ; 74 0b 1760 jmp near 00d22h ; e9 df 00 1749 1761 cmp bl, 002h ; 80 fb 02 1750 je short 00c 91h ; 74 5b1751 jmp near 00d 10h ; e9 d7 001762 je short 00ca3h ; 74 5b 1763 jmp near 00d22h ; e9 d7 00 1752 1764 mov dx, strict word 0004ah ; ba 4a 00 1753 1765 mov ax, strict word 00040h ; b8 40 00 1754 call 02f 07h ; e8 c5 221755 imul ax, word [bp-00 6h] ; 0f af 46 fa1766 call 02f93h ; e8 3f 23 1767 imul ax, word [bp-00ah] ; 0f af 46 f6 1756 1768 mov bx, si ; 89 f3 1757 1769 shr bx, 003h ; c1 eb 03 … … 1761 1773 mov ax, 00080h ; b8 80 00 1762 1774 sar ax, CL ; d3 f8 1763 mov byte [bp-00 4h], al ; 88 46 fc1764 mov byte [bp-00 2h], ch ; 88 6e fe1765 jmp short 00c 67h ; eb 081766 cmp byte [bp-00 2h], 004h ; 80 7e fe041767 jnc near 00d 12h ; 0f 83 ab 001768 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe1775 mov byte [bp-008h], al ; 88 46 f8 1776 mov byte [bp-006h], ch ; 88 6e fa 1777 jmp short 00c79h ; eb 08 1778 cmp byte [bp-006h], 004h ; 80 7e fa 04 1779 jnc near 00d24h ; 0f 83 ab 00 1780 movzx ax, byte [bp-006h] ; 0f b6 46 fa 1769 1781 sal ax, 008h ; c1 e0 08 1770 1782 or AL, strict byte 004h ; 0c 04 … … 1773 1785 mov dx, bx ; 89 da 1774 1786 mov ax, 0a000h ; b8 00 a0 1775 call 02 eebh ; e8 6f221776 and al, byte [bp-00 4h] ; 22 46 fc1787 call 02f77h ; e8 e9 22 1788 and al, byte [bp-008h] ; 22 46 f8 1777 1789 test al, al ; 84 c0 1778 jbe short 00c 8ch ; 76 091779 mov cl, byte [bp-00 2h] ; 8a 4e fe1790 jbe short 00c9eh ; 76 09 1791 mov cl, byte [bp-006h] ; 8a 4e fa 1780 1792 mov AL, strict byte 001h ; b0 01 1781 1793 sal al, CL ; d2 e0 1782 1794 or ch, al ; 08 c5 1783 inc byte [bp-00 2h] ; fe 46 fe1784 jmp short 00c 5fh ; eb ce1785 mov ax, word [bp-00 6h] ; 8b 46 fa1795 inc byte [bp-006h] ; fe 46 fa 1796 jmp short 00c71h ; eb ce 1797 mov ax, word [bp-00ah] ; 8b 46 f6 1786 1798 shr ax, 1 ; d1 e8 1787 1799 imul ax, ax, strict byte 00050h ; 6b c0 50 … … 1789 1801 shr bx, 002h ; c1 eb 02 1790 1802 add bx, ax ; 01 c3 1791 test byte [bp-00 6h], 001h ; f6 46 fa011792 je short 00c a9h ; 74 031803 test byte [bp-00ah], 001h ; f6 46 f6 01 1804 je short 00cbbh ; 74 03 1793 1805 add bh, 020h ; 80 c7 20 1794 1806 mov dx, bx ; 89 da 1795 1807 mov ax, 0b800h ; b8 00 b8 1796 call 02 eebh ; e8 3a221808 call 02f77h ; e8 b4 22 1797 1809 movzx bx, cl ; 0f b6 d9 1798 1810 sal bx, 003h ; c1 e3 03 1799 cmp byte [bx+0483 2h], 002h ; 80 bf 3248 021800 jne short 00c d9h ; 75 1b1811 cmp byte [bx+04837h], 002h ; 80 bf 37 48 02 1812 jne short 00cebh ; 75 1b 1801 1813 mov cx, si ; 89 f1 1802 1814 xor ch, ch ; 30 ed … … 1810 1822 mov ch, al ; 88 c5 1811 1823 and ch, 003h ; 80 e5 03 1812 jmp short 00d 12h ; eb 391824 jmp short 00d24h ; eb 39 1813 1825 mov cx, si ; 89 f1 1814 1826 xor ch, ch ; 30 ed … … 1821 1833 mov ch, al ; 88 c5 1822 1834 and ch, 001h ; 80 e5 01 1823 jmp short 00d 12h ; eb 201835 jmp short 00d24h ; eb 20 1824 1836 mov dx, strict word 0004ah ; ba 4a 00 1825 1837 mov ax, strict word 00040h ; b8 40 00 1826 call 02f 07h ; e8 0c221838 call 02f93h ; e8 86 22 1827 1839 sal ax, 003h ; c1 e0 03 1828 imul ax, word [bp-00 6h] ; 0f af 46 fa1840 imul ax, word [bp-00ah] ; 0f af 46 f6 1829 1841 mov dx, si ; 89 f2 1830 1842 add dx, ax ; 01 c2 1831 1843 mov ax, 0a000h ; b8 00 a0 1832 call 02 eebh ; e8 df 211844 call 02f77h ; e8 59 22 1833 1845 mov ch, al ; 88 c5 1834 jmp short 00d 12h ; eb 021846 jmp short 00d24h ; eb 02 1835 1847 xor ch, ch ; 30 ed 1836 1848 mov byte [ss:di], ch ; 36 88 2d 1837 lea ve ; c91849 lea sp, [bp-004h] ; 8d 66 fc 1838 1850 pop di ; 5f 1839 1851 pop si ; 5e 1840 retn ; c3 1841 biosfn_perform_gray_scale_summing_: ; 0xc0d19 LB 0x88 1852 pop bp ; 5d 1853 retn ; c3 1854 biosfn_perform_gray_scale_summing_: ; 0xc0d2e LB 0x8c 1855 push bp ; 55 1856 mov bp, sp ; 89 e5 1842 1857 push bx ; 53 1843 1858 push cx ; 51 1844 1859 push si ; 56 1845 1860 push di ; 57 1846 enter 00004h, 000h ; c8 04 00 00 1861 push ax ; 50 1862 push ax ; 50 1847 1863 mov bx, ax ; 89 c3 1848 1864 mov di, dx ; 89 d7 … … 1856 1872 xor si, si ; 31 f6 1857 1873 cmp si, di ; 39 fe 1858 jnc short 00d 89h ; 73 521874 jnc short 00d9fh ; 73 52 1859 1875 mov al, bl ; 88 d8 1860 1876 mov dx, 003c7h ; ba c7 03 … … 1868 1884 db 02ah, 0e4h 1869 1885 ; sub ah, ah ; 2a e4 1870 mov word [bp-00 4h], ax ; 89 46 fc1886 mov word [bp-00ch], ax ; 89 46 f4 1871 1887 in AL, DX ; ec 1872 1888 db 02ah, 0e4h … … 1874 1890 xor ch, ch ; 30 ed 1875 1891 imul cx, cx, strict byte 0004dh ; 6b c9 4d 1876 mov word [bp-00 2h], cx ; 89 4e fe1877 movzx cx, byte [bp-00 4h] ; 0f b6 4e fc1892 mov word [bp-00ah], cx ; 89 4e f6 1893 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 1878 1894 imul cx, cx, 00097h ; 69 c9 97 00 1879 add cx, word [bp-00 2h] ; 03 4e fe1895 add cx, word [bp-00ah] ; 03 4e f6 1880 1896 xor ah, ah ; 30 e4 1881 1897 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 1884 1900 sar cx, 008h ; c1 f9 08 1885 1901 cmp cx, strict byte 0003fh ; 83 f9 3f 1886 jbe short 00d 77h ; 76 031902 jbe short 00d8dh ; 76 03 1887 1903 mov cx, strict word 0003fh ; b9 3f 00 1888 1904 mov al, bl ; 88 d8 … … 1896 1912 inc bx ; 43 1897 1913 inc si ; 46 1898 jmp short 00d 33h ; eb aa1914 jmp short 00d49h ; eb aa 1899 1915 mov dx, 003dah ; ba da 03 1900 1916 in AL, DX ; ec … … 1908 1924 db 02ah, 0e4h 1909 1925 ; sub ah, ah ; 2a e4 1910 lea ve ; c91926 lea sp, [bp-008h] ; 8d 66 f8 1911 1927 pop di ; 5f 1912 1928 pop si ; 5e 1913 1929 pop cx ; 59 1914 1930 pop bx ; 5b 1915 retn ; c3 1916 biosfn_set_cursor_shape_: ; 0xc0da1 LB 0xa1 1931 pop bp ; 5d 1932 retn ; c3 1933 biosfn_set_cursor_shape_: ; 0xc0dba LB 0xa4 1934 push bp ; 55 1935 mov bp, sp ; 89 e5 1917 1936 push bx ; 53 1918 1937 push cx ; 51 1919 1938 push si ; 56 1920 1939 push di ; 57 1921 push bp ; 551922 mov bp, sp ; 89 e51923 1940 mov ch, al ; 88 c5 1924 1941 mov cl, dl ; 88 d1 … … 1932 1949 mov dx, strict word 00060h ; ba 60 00 1933 1950 mov ax, strict word 00040h ; b8 40 00 1934 call 02f 15h ; e8 4d211951 call 02fa1h ; e8 c0 21 1935 1952 mov dx, 00089h ; ba 89 00 1936 1953 mov ax, strict word 00040h ; b8 40 00 1937 call 02 eebh ; e8 1a211954 call 02f77h ; e8 8d 21 1938 1955 mov bl, al ; 88 c3 1939 1956 mov dx, 00085h ; ba 85 00 1940 1957 mov ax, strict word 00040h ; b8 40 00 1941 call 02f 07h ; e8 2b211958 call 02f93h ; e8 9e 21 1942 1959 mov dx, ax ; 89 c2 1943 1960 test bl, 001h ; f6 c3 01 1944 je short 00e 1ah ; 74 371961 je short 00e33h ; 74 37 1945 1962 cmp ax, strict word 00008h ; 3d 08 00 1946 jbe short 00e 1ah ; 76 321963 jbe short 00e33h ; 76 32 1947 1964 cmp cl, 008h ; 80 f9 08 1948 jnc short 00e 1ah ; 73 2d1965 jnc short 00e33h ; 73 2d 1949 1966 cmp ch, 020h ; 80 fd 20 1950 jnc short 00e 1ah ; 73 281967 jnc short 00e33h ; 73 28 1951 1968 inc di ; 47 1952 1969 cmp si, di ; 39 fe 1953 je short 00e 00h ; 74 091970 je short 00e19h ; 74 09 1954 1971 imul ax, di ; 0f af c7 1955 1972 shr ax, 003h ; c1 e8 03 1956 1973 dec ax ; 48 1957 jmp short 00e 0bh ; eb 0b1974 jmp short 00e24h ; eb 0b 1958 1975 lea si, [di+001h] ; 8d 75 01 1959 1976 imul ax, si ; 0f af c6 … … 1970 1987 mov dx, strict word 00063h ; ba 63 00 1971 1988 mov ax, strict word 00040h ; b8 40 00 1972 call 02f 07h ; e8 e4 201989 call 02f93h ; e8 57 21 1973 1990 mov bx, ax ; 89 c3 1974 1991 mov AL, strict byte 00ah ; b0 0a … … 1985 2002 mov dx, si ; 89 f2 1986 2003 out DX, AL ; ee 1987 pop bp ; 5d2004 lea sp, [bp-008h] ; 8d 66 f8 1988 2005 pop di ; 5f 1989 2006 pop si ; 5e 1990 2007 pop cx ; 59 1991 2008 pop bx ; 5b 1992 retn ; c3 1993 biosfn_set_cursor_pos_: ; 0xc0e42 LB 0x9e 2009 pop bp ; 5d 2010 retn ; c3 2011 biosfn_set_cursor_pos_: ; 0xc0e5e LB 0xa2 2012 push bp ; 55 2013 mov bp, sp ; 89 e5 1994 2014 push bx ; 53 1995 2015 push cx ; 51 1996 2016 push si ; 56 1997 enter 00004h, 000h ; c8 04 00 00 1998 mov byte [bp-002h], al ; 88 46 fe 2017 push ax ; 50 2018 push ax ; 50 2019 mov byte [bp-008h], al ; 88 46 f8 1999 2020 mov cx, dx ; 89 d1 2000 2021 cmp AL, strict byte 007h ; 3c 07 2001 jnbe near 00e dbh ; 0f 87 87 002022 jnbe near 00ef8h ; 0f 87 87 00 2002 2023 movzx dx, al ; 0f b6 d0 2003 2024 add dx, dx ; 01 d2 … … 2005 2026 mov bx, cx ; 89 cb 2006 2027 mov ax, strict word 00040h ; b8 40 00 2007 call 02f 15h ; e8 b1 202028 call 02fa1h ; e8 20 21 2008 2029 mov dx, strict word 00062h ; ba 62 00 2009 2030 mov ax, strict word 00040h ; b8 40 00 2010 call 02 eebh ; e8 7e202011 cmp al, byte [bp-00 2h] ; 3a 46 fe2012 jne short 00e dbh ; 75 692031 call 02f77h ; e8 ed 20 2032 cmp al, byte [bp-008h] ; 3a 46 f8 2033 jne short 00ef8h ; 75 69 2013 2034 mov dx, strict word 0004ah ; ba 4a 00 2014 2035 mov ax, strict word 00040h ; b8 40 00 2015 call 02f 07h ; e8 8c202036 call 02f93h ; e8 fb 20 2016 2037 mov bx, ax ; 89 c3 2017 2038 mov dx, 00084h ; ba 84 00 2018 2039 mov ax, strict word 00040h ; b8 40 00 2019 call 02 eebh ; e8 65202040 call 02f77h ; e8 d4 20 2020 2041 xor ah, ah ; 30 e4 2021 2042 mov dx, ax ; 89 c2 … … 2024 2045 xor cl, cl ; 30 c9 2025 2046 shr cx, 008h ; c1 e9 08 2026 mov byte [bp-00 4h], cl ; 88 4e fc2047 mov byte [bp-00ah], cl ; 88 4e f6 2027 2048 imul dx, bx ; 0f af d3 2028 2049 or dl, 0ffh ; 80 ca ff 2029 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2050 movzx cx, byte [bp-008h] ; 0f b6 4e f8 2030 2051 inc dx ; 42 2031 2052 imul dx, cx ; 0f af d1 2032 2053 mov si, ax ; 89 c6 2033 2054 add si, dx ; 01 d6 2034 movzx dx, byte [bp-00 4h] ; 0f b6 56 fc2055 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 2035 2056 imul bx, dx ; 0f af da 2036 2057 add si, bx ; 01 de 2037 2058 mov dx, strict word 00063h ; ba 63 00 2038 2059 mov ax, strict word 00040h ; b8 40 00 2039 call 02f 07h ; e8 4e202060 call 02f93h ; e8 bd 20 2040 2061 mov bx, ax ; 89 c3 2041 2062 mov AL, strict byte 00eh ; b0 0e … … 2055 2076 mov dx, cx ; 89 ca 2056 2077 out DX, AL ; ee 2057 lea ve ; c92078 lea sp, [bp-006h] ; 8d 66 fa 2058 2079 pop si ; 5e 2059 2080 pop cx ; 59 2060 2081 pop bx ; 5b 2061 retn ; c3 2062 biosfn_set_active_page_: ; 0xc0ee0 LB 0xd8 2082 pop bp ; 5d 2083 retn ; c3 2084 biosfn_set_active_page_: ; 0xc0f00 LB 0xdc 2085 push bp ; 55 2086 mov bp, sp ; 89 e5 2063 2087 push bx ; 53 2064 2088 push cx ; 51 … … 2066 2090 push si ; 56 2067 2091 push di ; 57 2068 enter 00004h, 000h ; c8 04 00 00 2092 push ax ; 50 2093 push ax ; 50 2069 2094 mov cl, al ; 88 c1 2070 2095 cmp AL, strict byte 007h ; 3c 07 2071 jnbe near 00f b1h ; 0f 87 c0 002096 jnbe near 00fd2h ; 0f 87 c0 00 2072 2097 mov dx, strict word 00049h ; ba 49 00 2073 2098 mov ax, strict word 00040h ; b8 40 00 2074 call 02 eebh ; e8 f1 1f2099 call 02f77h ; e8 5c 20 2075 2100 xor ah, ah ; 30 e4 2076 call 02 ec4h ; e8 c5 1f2101 call 02f50h ; e8 30 20 2077 2102 mov ch, al ; 88 c5 2078 2103 cmp AL, strict byte 0ffh ; 3c ff 2079 je near 00f b1h ; 0f 84 aa 002104 je near 00fd2h ; 0f 84 aa 00 2080 2105 movzx ax, cl ; 0f b6 c1 2081 lea bx, [bp-00 4h] ; 8d 5e fc2082 lea dx, [bp-00 2h] ; 8d 56 fe2083 call 00a8 3h ; e8 70fb2106 lea bx, [bp-00eh] ; 8d 5e f2 2107 lea dx, [bp-00ch] ; 8d 56 f4 2108 call 00a88h ; e8 54 fb 2084 2109 movzx bx, ch ; 0f b6 dd 2085 2110 mov si, bx ; 89 de 2086 2111 sal si, 003h ; c1 e6 03 2087 cmp byte [si+0483 0h], 000h ; 80 bc 3048 002088 jne short 00f 62h ; 75 402112 cmp byte [si+04835h], 000h ; 80 bc 35 48 00 2113 jne short 00f83h ; 75 40 2089 2114 mov dx, strict word 0004ah ; ba 4a 00 2090 2115 mov ax, strict word 00040h ; b8 40 00 2091 call 02f 07h ; e8 dc 1f2116 call 02f93h ; e8 47 20 2092 2117 mov bx, ax ; 89 c3 2093 2118 mov dx, 00084h ; ba 84 00 2094 2119 mov ax, strict word 00040h ; b8 40 00 2095 call 02 eebh ; e8 b5 1f2120 call 02f77h ; e8 20 20 2096 2121 xor ah, ah ; 30 e4 2097 2122 inc ax ; 40 … … 2107 2132 mov dx, strict word 0004eh ; ba 4e 00 2108 2133 mov ax, strict word 00040h ; b8 40 00 2109 call 02f 15h ; e8 bf 1f2134 call 02fa1h ; e8 2a 20 2110 2135 or si, 000ffh ; 81 ce ff 00 2111 2136 lea bx, [si+001h] ; 8d 5c 01 2112 2137 imul bx, di ; 0f af df 2113 jmp short 00f 74h ; eb 122114 movzx bx, byte [bx+048 afh] ; 0f b6 9f af482138 jmp short 00f95h ; eb 12 2139 movzx bx, byte [bx+048b4h] ; 0f b6 9f b4 48 2115 2140 sal bx, 006h ; c1 e3 06 2116 2141 movzx ax, cl ; 0f b6 c1 2117 mov bx, word [bx+048c 6h] ; 8b 9f c6482142 mov bx, word [bx+048cbh] ; 8b 9f cb 48 2118 2143 imul bx, ax ; 0f af d8 2119 2144 mov dx, strict word 00063h ; ba 63 00 2120 2145 mov ax, strict word 00040h ; b8 40 00 2121 call 02f 07h ; e8 8a1f2146 call 02f93h ; e8 f5 1f 2122 2147 mov si, ax ; 89 c6 2123 2148 mov AL, strict byte 00ch ; b0 0c … … 2140 2165 mov dx, strict word 00062h ; ba 62 00 2141 2166 mov ax, strict word 00040h ; b8 40 00 2142 call 02 ef9h ; e8 501f2143 mov dx, word [bp-00 4h] ; 8b 56 fc2144 mov ax, si ; 89 f0 2145 call 00e 42h ; e8 91fe2146 lea ve ; c92167 call 02f85h ; e8 bb 1f 2168 mov dx, word [bp-00eh] ; 8b 56 f2 2169 mov ax, si ; 89 f0 2170 call 00e5eh ; e8 8c fe 2171 lea sp, [bp-00ah] ; 8d 66 f6 2147 2172 pop di ; 5f 2148 2173 pop si ; 5e … … 2150 2175 pop cx ; 59 2151 2176 pop bx ; 5b 2152 retn ; c3 2153 biosfn_set_video_mode_: ; 0xc0fb8 LB 0x382 2177 pop bp ; 5d 2178 retn ; c3 2179 biosfn_set_video_mode_: ; 0xc0fdc LB 0x387 2180 push bp ; 55 2181 mov bp, sp ; 89 e5 2154 2182 push bx ; 53 2155 2183 push cx ; 51 … … 2157 2185 push si ; 56 2158 2186 push di ; 57 2159 enter 00010h, 000h ; c8 10 00 002160 mov byte [bp-00 4h], al ; 88 46 fc2187 sub sp, strict byte 00010h ; 83 ec 10 2188 mov byte [bp-00eh], al ; 88 46 f2 2161 2189 and AL, strict byte 080h ; 24 80 2162 mov byte [bp-0 06h], al ; 88 46 fa2163 call 007a4h ; e8 d8f72190 mov byte [bp-010h], al ; 88 46 f0 2191 call 007a4h ; e8 b2 f7 2164 2192 test ax, ax ; 85 c0 2165 je short 0 0fdch ; 74 0c2193 je short 01002h ; 74 0c 2166 2194 mov AL, strict byte 007h ; b0 07 2167 2195 mov dx, 003c4h ; ba c4 03 … … 2170 2198 mov dx, 003c5h ; ba c5 03 2171 2199 out DX, AL ; ee 2172 and byte [bp-00 4h], 07fh ; 80 66 fc7f2173 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc2174 call 02 ec4h ; e8 dd 1e2175 mov byte [bp-0 08h], al ; 88 46 f82200 and byte [bp-00eh], 07fh ; 80 66 f2 7f 2201 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 2202 call 02f50h ; e8 43 1f 2203 mov byte [bp-012h], al ; 88 46 ee 2176 2204 cmp AL, strict byte 0ffh ; 3c ff 2177 je near 013 33h ; 0f 84 43 032205 je near 01359h ; 0f 84 43 03 2178 2206 movzx si, al ; 0f b6 f0 2179 mov al, byte [si+048 afh] ; 8a 84 af482180 mov byte [bp-00 2h], al ; 88 46 fe2207 mov al, byte [si+048b4h] ; 8a 84 b4 48 2208 mov byte [bp-00ch], al ; 88 46 f4 2181 2209 movzx bx, al ; 0f b6 d8 2182 2210 sal bx, 006h ; c1 e3 06 2183 movzx ax, byte [bx+048c 3h] ; 0f b6 87 c3482184 mov word [bp-0 0eh], ax ; 89 46 f22185 movzx ax, byte [bx+048c 4h] ; 0f b6 87 c4482186 mov word [bp-0 0ch], ax ; 89 46 f42187 movzx ax, byte [bx+048c 5h] ; 0f b6 87 c5482188 mov word [bp-0 0ah], ax ; 89 46 f62211 movzx ax, byte [bx+048c8h] ; 0f b6 87 c8 48 2212 mov word [bp-018h], ax ; 89 46 e8 2213 movzx ax, byte [bx+048c9h] ; 0f b6 87 c9 48 2214 mov word [bp-016h], ax ; 89 46 ea 2215 movzx ax, byte [bx+048cah] ; 0f b6 87 ca 48 2216 mov word [bp-014h], ax ; 89 46 ec 2189 2217 mov dx, 00087h ; ba 87 00 2190 2218 mov ax, strict word 00040h ; b8 40 00 2191 call 02 eebh ; e8 ca 1e2219 call 02f77h ; e8 30 1f 2192 2220 mov dx, 00088h ; ba 88 00 2193 2221 mov ax, strict word 00040h ; b8 40 00 2194 call 02 eebh ; e8 c1 1e2222 call 02f77h ; e8 27 1f 2195 2223 mov dx, 00089h ; ba 89 00 2196 2224 mov ax, strict word 00040h ; b8 40 00 2197 call 02 eebh ; e8 b8 1e2225 call 02f77h ; e8 1e 1f 2198 2226 mov ah, al ; 88 c4 2199 2227 test AL, strict byte 008h ; a8 08 2200 jne near 010 c5h ; 0f 85 8a 002228 jne near 010ebh ; 0f 85 8a 00 2201 2229 mov bx, si ; 89 f3 2202 2230 sal bx, 003h ; c1 e3 03 2203 mov al, byte [bx+0483 5h] ; 8a 87 35482231 mov al, byte [bx+0483ah] ; 8a 87 3a 48 2204 2232 mov dx, 003c6h ; ba c6 03 2205 2233 out DX, AL ; ee … … 2207 2235 mov dx, 003c8h ; ba c8 03 2208 2236 out DX, AL ; ee 2209 mov bl, byte [bx+0483 6h] ; 8a 9f 36482237 mov bl, byte [bx+0483bh] ; 8a 9f 3b 48 2210 2238 cmp bl, 001h ; 80 fb 01 2211 jc short 010 65h ; 72 0e2212 jbe short 010 6eh ; 76 152239 jc short 0108bh ; 72 0e 2240 jbe short 01094h ; 76 15 2213 2241 cmp bl, 003h ; 80 fb 03 2214 je short 010 78h ; 74 1a2242 je short 0109eh ; 74 1a 2215 2243 cmp bl, 002h ; 80 fb 02 2216 je short 010 73h ; 74 102217 jmp short 010 7bh ; eb 162244 je short 01099h ; 74 10 2245 jmp short 010a1h ; eb 16 2218 2246 test bl, bl ; 84 db 2219 jne short 010 7bh ; 75 122220 mov di, 0504 3h ; bf 43502221 jmp short 010 7bh ; eb 0d2222 mov di, 0510 3h ; bf 03512223 jmp short 010 7bh ; eb 082224 mov di, 051c 3h ; bf c3512225 jmp short 010 7bh ; eb 032226 mov di, 0528 3h ; bf 83522247 jne short 010a1h ; 75 12 2248 mov di, 05048h ; bf 48 50 2249 jmp short 010a1h ; eb 0d 2250 mov di, 05108h ; bf 08 51 2251 jmp short 010a1h ; eb 08 2252 mov di, 051c8h ; bf c8 51 2253 jmp short 010a1h ; eb 03 2254 mov di, 05288h ; bf 88 52 2227 2255 xor bx, bx ; 31 db 2228 jmp short 010 8eh ; eb 0f2256 jmp short 010b4h ; eb 0f 2229 2257 xor al, al ; 30 c0 2230 2258 mov dx, 003c9h ; ba c9 03 … … 2234 2262 inc bx ; 43 2235 2263 cmp bx, 00100h ; 81 fb 00 01 2236 jnc short 010 b8h ; 73 2a2237 movzx si, byte [bp-0 08h] ; 0f b6 76 f82264 jnc short 010deh ; 73 2a 2265 movzx si, byte [bp-012h] ; 0f b6 76 ee 2238 2266 sal si, 003h ; c1 e6 03 2239 movzx si, byte [si+0483 6h] ; 0f b6 b4 36482240 movzx dx, byte [si+048 bfh] ; 0f b6 94 bf482267 movzx si, byte [si+0483bh] ; 0f b6 b4 3b 48 2268 movzx dx, byte [si+048c4h] ; 0f b6 94 c4 48 2241 2269 cmp bx, dx ; 39 d3 2242 jnbe short 010 7fh ; 77 dc2270 jnbe short 010a5h ; 77 dc 2243 2271 imul si, bx, strict byte 00003h ; 6b f3 03 2244 2272 add si, di ; 01 fe … … 2250 2278 mov al, byte [si+002h] ; 8a 44 02 2251 2279 out DX, AL ; ee 2252 jmp short 010 87h ; eb cf2280 jmp short 010adh ; eb cf 2253 2281 test ah, 002h ; f6 c4 02 2254 je short 010 c5h ; 74 082282 je short 010ebh ; 74 08 2255 2283 mov dx, 00100h ; ba 00 01 2256 2284 xor ax, ax ; 31 c0 2257 call 00d 19h ; e8 54fc2285 call 00d2eh ; e8 43 fc 2258 2286 mov dx, 003dah ; ba da 03 2259 2287 in AL, DX ; ec … … 2261 2289 ; sub ah, ah ; 2a e4 2262 2290 xor bx, bx ; 31 db 2263 jmp short 010 d4h ; eb 052291 jmp short 010fah ; eb 05 2264 2292 cmp bx, strict byte 00013h ; 83 fb 13 2265 jnbe short 01 0ebh ; 77 172293 jnbe short 01111h ; 77 17 2266 2294 mov al, bl ; 88 d8 2267 2295 mov dx, 003c0h ; ba c0 03 2268 2296 out DX, AL ; ee 2269 movzx si, byte [bp-00 2h] ; 0f b6 76 fe2297 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2270 2298 sal si, 006h ; c1 e6 06 2271 2299 add si, bx ; 01 de 2272 mov al, byte [si+048e 6h] ; 8a 84 e6482300 mov al, byte [si+048ebh] ; 8a 84 eb 48 2273 2301 out DX, AL ; ee 2274 2302 inc bx ; 43 2275 jmp short 010 cfh ; eb e42303 jmp short 010f5h ; eb e4 2276 2304 mov AL, strict byte 014h ; b0 14 2277 2305 mov dx, 003c0h ; ba c0 03 … … 2285 2313 out DX, AL ; ee 2286 2314 mov bx, strict word 00001h ; bb 01 00 2287 jmp short 011 08h ; eb 052315 jmp short 0112eh ; eb 05 2288 2316 cmp bx, strict byte 00004h ; 83 fb 04 2289 jnbe short 011 22h ; 77 1a2317 jnbe short 01148h ; 77 1a 2290 2318 mov al, bl ; 88 d8 2291 2319 mov dx, 003c4h ; ba c4 03 2292 2320 out DX, AL ; ee 2293 movzx si, byte [bp-00 2h] ; 0f b6 76 fe2321 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2294 2322 sal si, 006h ; c1 e6 06 2295 2323 add si, bx ; 01 de 2296 mov al, byte [si+048c 7h] ; 8a 84 c7482324 mov al, byte [si+048cch] ; 8a 84 cc 48 2297 2325 mov dx, 003c5h ; ba c5 03 2298 2326 out DX, AL ; ee 2299 2327 inc bx ; 43 2300 jmp short 011 03h ; eb e12328 jmp short 01129h ; eb e1 2301 2329 xor bx, bx ; 31 db 2302 jmp short 011 2bh ; eb 052330 jmp short 01151h ; eb 05 2303 2331 cmp bx, strict byte 00008h ; 83 fb 08 2304 jnbe short 011 45h ; 77 1a2332 jnbe short 0116bh ; 77 1a 2305 2333 mov al, bl ; 88 d8 2306 2334 mov dx, 003ceh ; ba ce 03 2307 2335 out DX, AL ; ee 2308 movzx si, byte [bp-00 2h] ; 0f b6 76 fe2336 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2309 2337 sal si, 006h ; c1 e6 06 2310 2338 add si, bx ; 01 de 2311 mov al, byte [si+048f ah] ; 8a 84 fa482339 mov al, byte [si+048ffh] ; 8a 84 ff 48 2312 2340 mov dx, 003cfh ; ba cf 03 2313 2341 out DX, AL ; ee 2314 2342 inc bx ; 43 2315 jmp short 011 26h ; eb e12316 movzx bx, byte [bp-0 08h] ; 0f b6 5e f82343 jmp short 0114ch ; eb e1 2344 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2317 2345 sal bx, 003h ; c1 e3 03 2318 cmp byte [bx+0483 1h], 001h ; 80 bf 3148 012319 jne short 011 58h ; 75 052346 cmp byte [bx+04836h], 001h ; 80 bf 36 48 01 2347 jne short 0117eh ; 75 05 2320 2348 mov dx, 003b4h ; ba b4 03 2321 jmp short 011 5bh ; eb 032349 jmp short 01181h ; eb 03 2322 2350 mov dx, 003d4h ; ba d4 03 2323 2351 mov si, dx ; 89 d6 … … 2325 2353 out DX, ax ; ef 2326 2354 xor bx, bx ; 31 db 2327 jmp short 011 6ah ; eb 052355 jmp short 01190h ; eb 05 2328 2356 cmp bx, strict byte 00018h ; 83 fb 18 2329 jnbe short 011 85h ; 77 1b2357 jnbe short 011abh ; 77 1b 2330 2358 mov al, bl ; 88 d8 2331 2359 mov dx, si ; 89 f2 2332 2360 out DX, AL ; ee 2333 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2361 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 2334 2362 sal cx, 006h ; c1 e1 06 2335 2363 mov di, cx ; 89 cf 2336 2364 add di, bx ; 01 df 2337 2365 lea dx, [si+001h] ; 8d 54 01 2338 mov al, byte [di+048 cdh] ; 8a 85 cd482366 mov al, byte [di+048d2h] ; 8a 85 d2 48 2339 2367 out DX, AL ; ee 2340 2368 inc bx ; 43 2341 jmp short 011 65h ; eb e02369 jmp short 0118bh ; eb e0 2342 2370 mov bx, cx ; 89 cb 2343 mov al, byte [bx+048 cch] ; 8a 87 cc482371 mov al, byte [bx+048d1h] ; 8a 87 d1 48 2344 2372 mov dx, 003c2h ; ba c2 03 2345 2373 out DX, AL ; ee … … 2351 2379 db 02ah, 0e4h 2352 2380 ; sub ah, ah ; 2a e4 2353 cmp byte [bp-0 06h], 000h ; 80 7e fa002354 jne short 012 00h ; 75 5f2355 movzx bx, byte [bp-0 08h] ; 0f b6 5e f82381 cmp byte [bp-010h], 000h ; 80 7e f0 00 2382 jne short 01226h ; 75 5f 2383 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2356 2384 sal bx, 003h ; c1 e3 03 2357 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002358 jne short 011 c2h ; 75 132359 mov es, [bx+0483 3h] ; 8e 87 33482385 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 2386 jne short 011e8h ; 75 13 2387 mov es, [bx+04838h] ; 8e 87 38 48 2360 2388 mov cx, 04000h ; b9 00 40 2361 2389 mov ax, 00720h ; b8 20 07 2362 2390 xor di, di ; 31 ff 2363 2391 cld ; fc 2364 jcxz 011 c0h ; e3 022392 jcxz 011e6h ; e3 02 2365 2393 rep stosw ; f3 ab 2366 jmp short 012 00h ; eb 3e2367 cmp byte [bp-00 4h], 00dh ; 80 7e fc0d2368 jnc short 01 1dah ; 73 122369 mov es, [bx+0483 3h] ; 8e 87 33482394 jmp short 01226h ; eb 3e 2395 cmp byte [bp-00eh], 00dh ; 80 7e f2 0d 2396 jnc short 01200h ; 73 12 2397 mov es, [bx+04838h] ; 8e 87 38 48 2370 2398 mov cx, 04000h ; b9 00 40 2371 2399 xor ax, ax ; 31 c0 2372 2400 xor di, di ; 31 ff 2373 2401 cld ; fc 2374 jcxz 011 d8h ; e3 022402 jcxz 011feh ; e3 02 2375 2403 rep stosw ; f3 ab 2376 jmp short 012 00h ; eb 262404 jmp short 01226h ; eb 26 2377 2405 mov AL, strict byte 002h ; b0 02 2378 2406 mov dx, 003c4h ; ba c4 03 … … 2382 2410 db 02ah, 0e4h 2383 2411 ; sub ah, ah ; 2a e4 2384 mov word [bp-01 0h], ax ; 89 46 f02412 mov word [bp-01ah], ax ; 89 46 e6 2385 2413 mov AL, strict byte 00fh ; b0 0f 2386 2414 out DX, AL ; ee 2387 mov es, [bx+0483 3h] ; 8e 87 33482415 mov es, [bx+04838h] ; 8e 87 38 48 2388 2416 mov cx, 08000h ; b9 00 80 2389 2417 xor ax, ax ; 31 c0 2390 2418 xor di, di ; 31 ff 2391 2419 cld ; fc 2392 jcxz 01 1fch ; e3 022420 jcxz 01222h ; e3 02 2393 2421 rep stosw ; f3 ab 2394 mov al, byte [bp-01 0h] ; 8a 46 f02395 out DX, AL ; ee 2396 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc2422 mov al, byte [bp-01ah] ; 8a 46 e6 2423 out DX, AL ; ee 2424 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2397 2425 mov dx, strict word 00049h ; ba 49 00 2398 2426 mov ax, strict word 00040h ; b8 40 00 2399 call 02 ef9h ; e8 ec 1c2400 mov bx, word [bp-0 0eh] ; 8b 5e f22427 call 02f85h ; e8 52 1d 2428 mov bx, word [bp-018h] ; 8b 5e e8 2401 2429 mov dx, strict word 0004ah ; ba 4a 00 2402 2430 mov ax, strict word 00040h ; b8 40 00 2403 call 02f 15h ; e8 fc 1c2404 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe2431 call 02fa1h ; e8 62 1d 2432 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2405 2433 sal bx, 006h ; c1 e3 06 2406 mov bx, word [bx+048c 6h] ; 8b 9f c6482434 mov bx, word [bx+048cbh] ; 8b 9f cb 48 2407 2435 mov dx, strict word 0004ch ; ba 4c 00 2408 2436 mov ax, strict word 00040h ; b8 40 00 2409 call 02f 15h ; e8 e8 1c2437 call 02fa1h ; e8 4e 1d 2410 2438 mov bx, si ; 89 f3 2411 2439 mov dx, strict word 00063h ; ba 63 00 2412 2440 mov ax, strict word 00040h ; b8 40 00 2413 call 02f 15h ; e8 dd 1c2414 movzx bx, byte [bp-0 0ch] ; 0f b6 5e f42441 call 02fa1h ; e8 43 1d 2442 movzx bx, byte [bp-016h] ; 0f b6 5e ea 2415 2443 mov dx, 00084h ; ba 84 00 2416 2444 mov ax, strict word 00040h ; b8 40 00 2417 call 02 ef9h ; e8 b4 1c2418 mov bx, word [bp-0 0ah] ; 8b 5e f62445 call 02f85h ; e8 1a 1d 2446 mov bx, word [bp-014h] ; 8b 5e ec 2419 2447 mov dx, 00085h ; ba 85 00 2420 2448 mov ax, strict word 00040h ; b8 40 00 2421 call 02f 15h ; e8 c4 1c2422 mov al, byte [bp-0 06h] ; 8a 46 fa2449 call 02fa1h ; e8 2a 1d 2450 mov al, byte [bp-010h] ; 8a 46 f0 2423 2451 or AL, strict byte 060h ; 0c 60 2424 2452 movzx bx, al ; 0f b6 d8 2425 2453 mov dx, 00087h ; ba 87 00 2426 2454 mov ax, strict word 00040h ; b8 40 00 2427 call 02 ef9h ; e8 971c2455 call 02f85h ; e8 fd 1c 2428 2456 mov bx, 000f9h ; bb f9 00 2429 2457 mov dx, 00088h ; ba 88 00 2430 2458 mov ax, strict word 00040h ; b8 40 00 2431 call 02 ef9h ; e8 8b1c2459 call 02f85h ; e8 f1 1c 2432 2460 mov dx, 00089h ; ba 89 00 2433 2461 mov ax, strict word 00040h ; b8 40 00 2434 call 02 eebh ; e8 741c2462 call 02f77h ; e8 da 1c 2435 2463 and AL, strict byte 07fh ; 24 7f 2436 2464 movzx bx, al ; 0f b6 d8 2437 2465 mov dx, 00089h ; ba 89 00 2438 2466 mov ax, strict word 00040h ; b8 40 00 2439 call 02 ef9h ; e8 741c2467 call 02f85h ; e8 da 1c 2440 2468 mov bx, strict word 00008h ; bb 08 00 2441 2469 mov dx, 0008ah ; ba 8a 00 2442 2470 mov ax, strict word 00040h ; b8 40 00 2443 call 02 ef9h ; e8 681c2471 call 02f85h ; e8 ce 1c 2444 2472 mov cx, ds ; 8c d9 2445 mov bx, 0559 3h ; bb 93552473 mov bx, 05598h ; bb 98 55 2446 2474 mov dx, 000a8h ; ba a8 00 2447 2475 mov ax, strict word 00040h ; b8 40 00 2448 call 02f 35h ; e8 961c2476 call 02fc1h ; e8 fc 1c 2449 2477 xor bx, bx ; 31 db 2450 2478 mov dx, strict word 00065h ; ba 65 00 2451 2479 mov ax, strict word 00040h ; b8 40 00 2452 call 02 ef9h ; e8 4f1c2480 call 02f85h ; e8 b5 1c 2453 2481 xor bx, bx ; 31 db 2454 2482 mov dx, strict word 00066h ; ba 66 00 2455 2483 mov ax, strict word 00040h ; b8 40 00 2456 call 02 ef9h ; e8 441c2457 movzx bx, byte [bp-0 08h] ; 0f b6 5e f82484 call 02f85h ; e8 aa 1c 2485 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2458 2486 sal bx, 003h ; c1 e3 03 2459 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002460 jne short 012 cch ; 75 092487 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 2488 jne short 012f2h ; 75 09 2461 2489 mov dx, strict word 00007h ; ba 07 00 2462 2490 mov ax, strict word 00006h ; b8 06 00 2463 call 00d a1h ; e8 d5fa2491 call 00dbah ; e8 c8 fa 2464 2492 xor bx, bx ; 31 db 2465 jmp short 012 d5h ; eb 052493 jmp short 012fbh ; eb 05 2466 2494 cmp bx, strict byte 00008h ; 83 fb 08 2467 jnc short 01 2e0h ; 73 0b2495 jnc short 01306h ; 73 0b 2468 2496 movzx ax, bl ; 0f b6 c3 2469 2497 xor dx, dx ; 31 d2 2470 call 00e 42h ; e8 65fb2498 call 00e5eh ; e8 5b fb 2471 2499 inc bx ; 43 2472 jmp short 012 d0h ; eb f02500 jmp short 012f6h ; eb f0 2473 2501 xor ax, ax ; 31 c0 2474 call 00 ee0h ; e8 fbfb2475 movzx bx, byte [bp-0 08h] ; 0f b6 5e f82502 call 00f00h ; e8 f5 fb 2503 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2476 2504 sal bx, 003h ; c1 e3 03 2477 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002478 jne short 013 03h ; 75 102505 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 2506 jne short 01329h ; 75 10 2479 2507 xor bl, bl ; 30 db 2480 2508 mov AL, strict byte 004h ; b0 04 … … 2485 2513 mov AH, strict byte 011h ; b4 11 2486 2514 int 010h ; cd 10 2487 mov dx, 059 afh ; ba af592515 mov dx, 059b4h ; ba b4 59 2488 2516 mov ax, strict word 0001fh ; b8 1f 00 2489 call 00a00h ; e8 f4f62490 mov ax, word [bp-0 0ah] ; 8b 46 f62517 call 00a00h ; e8 ce f6 2518 mov ax, word [bp-014h] ; 8b 46 ec 2491 2519 cmp ax, strict word 00010h ; 3d 10 00 2492 je short 013 2eh ; 74 1a2520 je short 01354h ; 74 1a 2493 2521 cmp ax, strict word 0000eh ; 3d 0e 00 2494 je short 013 29h ; 74 102522 je short 0134fh ; 74 10 2495 2523 cmp ax, strict word 00008h ; 3d 08 00 2496 jne short 013 33h ; 75 152497 mov dx, 055 afh ; ba af552524 jne short 01359h ; 75 15 2525 mov dx, 055b4h ; ba b4 55 2498 2526 mov ax, strict word 00043h ; b8 43 00 2499 call 00a00h ; e8 d9f62500 jmp short 013 33h ; eb 0a2501 mov dx, 05d afh ; ba af5d2502 jmp short 013 21h ; eb f32503 mov dx, 06b afh ; ba af6b2504 jmp short 013 21h ; eb ee2505 lea ve ; c92527 call 00a00h ; e8 b3 f6 2528 jmp short 01359h ; eb 0a 2529 mov dx, 05db4h ; ba b4 5d 2530 jmp short 01347h ; eb f3 2531 mov dx, 06bb4h ; ba b4 6b 2532 jmp short 01347h ; eb ee 2533 lea sp, [bp-00ah] ; 8d 66 f6 2506 2534 pop di ; 5f 2507 2535 pop si ; 5e … … 2509 2537 pop cx ; 59 2510 2538 pop bx ; 5b 2511 retn ; c3 2512 vgamem_copy_pl4_: ; 0xc133a LB 0x72 2539 pop bp ; 5d 2540 retn ; c3 2541 vgamem_copy_pl4_: ; 0xc1363 LB 0x76 2542 push bp ; 55 2543 mov bp, sp ; 89 e5 2513 2544 push si ; 56 2514 2545 push di ; 57 2515 enter 00004h, 000h ; c8 04 00 00 2546 push ax ; 50 2547 push ax ; 50 2516 2548 mov bh, cl ; 88 cf 2517 2549 movzx di, dl ; 0f b6 fa 2518 movzx cx, byte [bp+00 ah] ; 0f b6 4e 0a2550 movzx cx, byte [bp+006h] ; 0f b6 4e 06 2519 2551 imul di, cx ; 0f af f9 2520 movzx si, byte [bp+00 8h] ; 0f b6 76 082552 movzx si, byte [bp+004h] ; 0f b6 76 04 2521 2553 imul di, si ; 0f af fe 2522 2554 xor ah, ah ; 30 e4 2523 2555 add di, ax ; 01 c7 2524 mov word [bp-00 4h], di ; 89 7e fc2556 mov word [bp-008h], di ; 89 7e f8 2525 2557 movzx di, bl ; 0f b6 fb 2526 2558 imul cx, di ; 0f af cf 2527 2559 imul cx, si ; 0f af ce 2528 2560 add cx, ax ; 01 c1 2529 mov word [bp-00 2h], cx ; 89 4e fe2561 mov word [bp-006h], cx ; 89 4e fa 2530 2562 mov ax, 00105h ; b8 05 01 2531 2563 mov dx, 003ceh ; ba ce 03 2532 2564 out DX, ax ; ef 2533 2565 xor bl, bl ; 30 db 2534 cmp bl, byte [bp+00 ah] ; 3a 5e 0a2535 jnc short 013 9fh ; 73 292566 cmp bl, byte [bp+006h] ; 3a 5e 06 2567 jnc short 013c9h ; 73 29 2536 2568 movzx cx, bh ; 0f b6 cf 2537 2569 movzx si, bl ; 0f b6 f3 2538 movzx ax, byte [bp+00 8h] ; 0f b6 46 082570 movzx ax, byte [bp+004h] ; 0f b6 46 04 2539 2571 imul ax, si ; 0f af c6 2540 mov si, word [bp-00 4h] ; 8b 76 fc2572 mov si, word [bp-008h] ; 8b 76 f8 2541 2573 add si, ax ; 01 c6 2542 mov di, word [bp-00 2h] ; 8b 7e fe2574 mov di, word [bp-006h] ; 8b 7e fa 2543 2575 add di, ax ; 01 c7 2544 2576 mov dx, 0a000h ; ba 00 a0 2545 2577 mov es, dx ; 8e c2 2546 2578 cld ; fc 2547 jcxz 013 9bh ; e3 062579 jcxz 013c5h ; e3 06 2548 2580 push DS ; 1e 2549 2581 mov ds, dx ; 8e da … … 2552 2584 db 0feh, 0c3h 2553 2585 ; inc bl ; fe c3 2554 jmp short 013 71h ; eb d22586 jmp short 0139bh ; eb d2 2555 2587 mov ax, strict word 00005h ; b8 05 00 2556 2588 mov dx, 003ceh ; ba ce 03 2557 2589 out DX, ax ; ef 2558 lea ve ; c92590 lea sp, [bp-004h] ; 8d 66 fc 2559 2591 pop di ; 5f 2560 2592 pop si ; 5e 2593 pop bp ; 5d 2561 2594 retn 00004h ; c2 04 00 2562 vgamem_fill_pl4_: ; 0xc13ac LB 0x5d 2595 vgamem_fill_pl4_: ; 0xc13d9 LB 0x61 2596 push bp ; 55 2597 mov bp, sp ; 89 e5 2563 2598 push di ; 57 2564 enter 00004h, 000h ; c8 04 00 00 2565 mov byte [bp-002h], bl ; 88 5e fe 2599 push ax ; 50 2600 push ax ; 50 2601 mov byte [bp-004h], bl ; 88 5e fc 2566 2602 mov bh, cl ; 88 cf 2567 2603 movzx cx, dl ; 0f b6 ca 2568 movzx dx, byte [bp+00 6h] ; 0f b6 56 062604 movzx dx, byte [bp+004h] ; 0f b6 56 04 2569 2605 imul cx, dx ; 0f af ca 2570 2606 movzx dx, bh ; 0f b6 d7 … … 2572 2608 xor ah, ah ; 30 e4 2573 2609 add dx, ax ; 01 c2 2574 mov word [bp-00 4h], dx ; 89 56 fc2610 mov word [bp-006h], dx ; 89 56 fa 2575 2611 mov ax, 00205h ; b8 05 02 2576 2612 mov dx, 003ceh ; ba ce 03 2577 2613 out DX, ax ; ef 2578 2614 xor bl, bl ; 30 db 2579 cmp bl, byte [bp+00 6h] ; 3a 5e 062580 jnc short 01 3fdh ; 73 222581 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2582 movzx ax, byte [bp+00 8h] ; 0f b6 46 082615 cmp bl, byte [bp+004h] ; 3a 5e 04 2616 jnc short 0142bh ; 73 22 2617 movzx cx, byte [bp-004h] ; 0f b6 4e fc 2618 movzx ax, byte [bp+006h] ; 0f b6 46 06 2583 2619 movzx dx, bl ; 0f b6 d3 2584 2620 movzx di, bh ; 0f b6 ff 2585 2621 imul di, dx ; 0f af fa 2586 add di, word [bp-00 4h] ; 03 7e fc2622 add di, word [bp-006h] ; 03 7e fa 2587 2623 mov dx, 0a000h ; ba 00 a0 2588 2624 mov es, dx ; 8e c2 2589 2625 cld ; fc 2590 jcxz 01 3f9h ; e3 022626 jcxz 01427h ; e3 02 2591 2627 rep stosb ; f3 aa 2592 2628 db 0feh, 0c3h 2593 2629 ; inc bl ; fe c3 2594 jmp short 01 3d6h ; eb d92630 jmp short 01404h ; eb d9 2595 2631 mov ax, strict word 00005h ; b8 05 00 2596 2632 mov dx, 003ceh ; ba ce 03 2597 2633 out DX, ax ; ef 2598 lea ve ; c92634 lea sp, [bp-002h] ; 8d 66 fe 2599 2635 pop di ; 5f 2636 pop bp ; 5d 2600 2637 retn 00004h ; c2 04 00 2601 vgamem_copy_cga_: ; 0xc1409 LB 0xa0 2638 vgamem_copy_cga_: ; 0xc143a LB 0xa4 2639 push bp ; 55 2640 mov bp, sp ; 89 e5 2602 2641 push si ; 56 2603 2642 push di ; 57 2604 enter 00004h, 000h ; c8 04 00 00 2643 push ax ; 50 2644 push ax ; 50 2605 2645 mov bh, cl ; 88 cf 2606 2646 movzx di, dl ; 0f b6 fa 2607 movzx cx, byte [bp+00 ah] ; 0f b6 4e 0a2647 movzx cx, byte [bp+006h] ; 0f b6 4e 06 2608 2648 imul di, cx ; 0f af f9 2609 movzx si, byte [bp+00 8h] ; 0f b6 76 082649 movzx si, byte [bp+004h] ; 0f b6 76 04 2610 2650 imul di, si ; 0f af fe 2611 2651 sar di, 1 ; d1 ff 2612 2652 xor ah, ah ; 30 e4 2613 2653 add di, ax ; 01 c7 2614 mov word [bp-00 2h], di ; 89 7e fe2654 mov word [bp-006h], di ; 89 7e fa 2615 2655 movzx di, bl ; 0f b6 fb 2616 2656 imul cx, di ; 0f af cf … … 2618 2658 sar si, 1 ; d1 fe 2619 2659 add si, ax ; 01 c6 2620 mov word [bp-00 4h], si ; 89 76 fc2660 mov word [bp-008h], si ; 89 76 f8 2621 2661 xor bl, bl ; 30 db 2622 cmp bl, byte [bp+00 ah] ; 3a 5e 0a2623 jnc short 014 a3h ; 73 612662 cmp bl, byte [bp+006h] ; 3a 5e 06 2663 jnc short 014d5h ; 73 61 2624 2664 test bl, 001h ; f6 c3 01 2625 je short 014 78h ; 74 312665 je short 014aah ; 74 31 2626 2666 movzx cx, bh ; 0f b6 cf 2627 2667 movzx si, bl ; 0f b6 f3 2628 2668 sar si, 1 ; d1 fe 2629 movzx ax, byte [bp+00 8h] ; 0f b6 46 082669 movzx ax, byte [bp+004h] ; 0f b6 46 04 2630 2670 imul ax, si ; 0f af c6 2631 mov si, word [bp-00 2h] ; 8b 76 fe2671 mov si, word [bp-006h] ; 8b 76 fa 2632 2672 add si, 02000h ; 81 c6 00 20 2633 2673 add si, ax ; 01 c6 2634 mov di, word [bp-00 4h] ; 8b 7e fc2674 mov di, word [bp-008h] ; 8b 7e f8 2635 2675 add di, 02000h ; 81 c7 00 20 2636 2676 add di, ax ; 01 c7 … … 2638 2678 mov es, dx ; 8e c2 2639 2679 cld ; fc 2640 jcxz 014 76h ; e3 062680 jcxz 014a8h ; e3 06 2641 2681 push DS ; 1e 2642 2682 mov ds, dx ; 8e da 2643 2683 rep movsb ; f3 a4 2644 2684 pop DS ; 1f 2645 jmp short 014 9fh ; eb 272685 jmp short 014d1h ; eb 27 2646 2686 movzx cx, bh ; 0f b6 cf 2647 2687 movzx ax, bl ; 0f b6 c3 2648 2688 sar ax, 1 ; d1 f8 2649 movzx si, byte [bp+00 8h] ; 0f b6 76 082689 movzx si, byte [bp+004h] ; 0f b6 76 04 2650 2690 imul ax, si ; 0f af c6 2651 mov si, word [bp-00 2h] ; 8b 76 fe2691 mov si, word [bp-006h] ; 8b 76 fa 2652 2692 add si, ax ; 01 c6 2653 mov di, word [bp-00 4h] ; 8b 7e fc2693 mov di, word [bp-008h] ; 8b 7e f8 2654 2694 add di, ax ; 01 c7 2655 2695 mov dx, 0b800h ; ba 00 b8 2656 2696 mov es, dx ; 8e c2 2657 2697 cld ; fc 2658 jcxz 014 9fh ; e3 062698 jcxz 014d1h ; e3 06 2659 2699 push DS ; 1e 2660 2700 mov ds, dx ; 8e da … … 2663 2703 db 0feh, 0c3h 2664 2704 ; inc bl ; fe c3 2665 jmp short 014 3dh ; eb 9a2666 lea ve ; c92705 jmp short 0146fh ; eb 9a 2706 lea sp, [bp-004h] ; 8d 66 fc 2667 2707 pop di ; 5f 2668 2708 pop si ; 5e 2709 pop bp ; 5d 2669 2710 retn 00004h ; c2 04 00 2670 vgamem_fill_cga_: ; 0xc14a9 LB 0x86 2711 vgamem_fill_cga_: ; 0xc14de LB 0x8a 2712 push bp ; 55 2713 mov bp, sp ; 89 e5 2671 2714 push si ; 56 2672 2715 push di ; 57 2673 enter 00004h, 000h ; c8 04 00 00 2674 mov byte [bp-002h], bl ; 88 5e fe 2716 push ax ; 50 2717 push ax ; 50 2718 mov byte [bp-006h], bl ; 88 5e fa 2675 2719 mov bh, cl ; 88 cf 2676 2720 movzx cx, dl ; 0f b6 ca 2677 movzx dx, byte [bp+00 8h] ; 0f b6 56 082721 movzx dx, byte [bp+004h] ; 0f b6 56 04 2678 2722 imul dx, cx ; 0f af d1 2679 2723 movzx cx, bh ; 0f b6 cf … … 2683 2727 add si, dx ; 01 d6 2684 2728 xor bl, bl ; 30 db 2685 cmp bl, byte [bp+00 8h] ; 3a 5e 082686 jnc short 015 29h ; 73 572729 cmp bl, byte [bp+004h] ; 3a 5e 04 2730 jnc short 0155fh ; 73 57 2687 2731 test bl, 001h ; f6 c3 01 2688 je short 015 06h ; 74 2f2689 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2690 movzx ax, byte [bp+00 ah] ; 0f b6 46 0a2732 je short 0153ch ; 74 2f 2733 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2734 movzx ax, byte [bp+006h] ; 0f b6 46 06 2691 2735 movzx dx, bl ; 0f b6 d3 2692 2736 sar dx, 1 ; d1 fa 2693 mov word [bp-00 4h], dx ; 89 56 fc2737 mov word [bp-008h], dx ; 89 56 f8 2694 2738 movzx dx, bh ; 0f b6 d7 2695 mov di, word [bp-00 4h] ; 8b 7e fc2739 mov di, word [bp-008h] ; 8b 7e f8 2696 2740 imul di, dx ; 0f af fa 2697 mov word [bp-00 4h], di ; 89 7e fc2741 mov word [bp-008h], di ; 89 7e f8 2698 2742 lea di, [si+02000h] ; 8d bc 00 20 2699 add di, word [bp-00 4h] ; 03 7e fc2743 add di, word [bp-008h] ; 03 7e f8 2700 2744 mov dx, 0b800h ; ba 00 b8 2701 2745 mov es, dx ; 8e c2 2702 2746 cld ; fc 2703 jcxz 015 04h ; e3 022747 jcxz 0153ah ; e3 02 2704 2748 rep stosb ; f3 aa 2705 jmp short 015 25h ; eb 1f2706 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2707 movzx ax, byte [bp+00 ah] ; 0f b6 46 0a2749 jmp short 0155bh ; eb 1f 2750 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2751 movzx ax, byte [bp+006h] ; 0f b6 46 06 2708 2752 movzx di, bl ; 0f b6 fb 2709 2753 sar di, 1 ; d1 ff … … 2714 2758 mov es, dx ; 8e c2 2715 2759 cld ; fc 2716 jcxz 015 25h ; e3 022760 jcxz 0155bh ; e3 02 2717 2761 rep stosb ; f3 aa 2718 2762 db 0feh, 0c3h 2719 2763 ; inc bl ; fe c3 2720 jmp short 01 4cdh ; eb a42721 lea ve ; c92764 jmp short 01503h ; eb a4 2765 lea sp, [bp-004h] ; 8d 66 fc 2722 2766 pop di ; 5f 2723 2767 pop si ; 5e 2768 pop bp ; 5d 2724 2769 retn 00004h ; c2 04 00 2725 biosfn_scroll_: ; 0xc152f LB 0x501 2770 biosfn_scroll_: ; 0xc1568 LB 0x506 2771 push bp ; 55 2772 mov bp, sp ; 89 e5 2726 2773 push si ; 56 2727 2774 push di ; 57 2728 enter 00018h, 000h ; c8 18 00 002729 mov byte [bp-0 0ch], al ; 88 46 f42730 mov byte [bp-00 8h], dl ; 88 56 f82731 mov byte [bp-00 4h], bl ; 88 5e fc2732 mov byte [bp-00 2h], cl ; 88 4e fe2733 cmp bl, byte [bp+00 8h] ; 3a 5e 082734 jnbe near 01a 2ah ; 0f 87 e2 042735 cmp cl, byte [bp+00 ah] ; 3a 4e 0a2736 jnbe near 01a 2ah ; 0f 87 db 042775 sub sp, strict byte 00018h ; 83 ec 18 2776 mov byte [bp-010h], al ; 88 46 f0 2777 mov byte [bp-00ch], dl ; 88 56 f4 2778 mov byte [bp-008h], bl ; 88 5e f8 2779 mov byte [bp-006h], cl ; 88 4e fa 2780 cmp bl, byte [bp+004h] ; 3a 5e 04 2781 jnbe near 01a65h ; 0f 87 e2 04 2782 cmp cl, byte [bp+006h] ; 3a 4e 06 2783 jnbe near 01a65h ; 0f 87 db 04 2737 2784 mov dx, strict word 00049h ; ba 49 00 2738 2785 mov ax, strict word 00040h ; b8 40 00 2739 call 02 eebh ; e8 93192786 call 02f77h ; e8 e4 19 2740 2787 xor ah, ah ; 30 e4 2741 call 02 ec4h ; e8 67192742 mov byte [bp-00 ah], al ; 88 46 f62788 call 02f50h ; e8 b8 19 2789 mov byte [bp-00eh], al ; 88 46 f2 2743 2790 cmp AL, strict byte 0ffh ; 3c ff 2744 je near 01a 2ah ; 0f 84 c4 042791 je near 01a65h ; 0f 84 c4 04 2745 2792 mov dx, 00084h ; ba 84 00 2746 2793 mov ax, strict word 00040h ; b8 40 00 2747 call 02 eebh ; e8 7c192794 call 02f77h ; e8 cd 19 2748 2795 movzx cx, al ; 0f b6 c8 2749 2796 inc cx ; 41 2750 2797 mov dx, strict word 0004ah ; ba 4a 00 2751 2798 mov ax, strict word 00040h ; b8 40 00 2752 call 02f 07h ; e8 8b192753 mov word [bp-01 2h], ax ; 89 46 ee2754 cmp byte [bp+00 ch], 0ffh ; 80 7e 0cff2755 jne short 015 91h ; 75 0c2799 call 02f93h ; e8 dc 19 2800 mov word [bp-016h], ax ; 89 46 ea 2801 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 2802 jne short 015cch ; 75 0c 2756 2803 mov dx, strict word 00062h ; ba 62 00 2757 2804 mov ax, strict word 00040h ; b8 40 00 2758 call 02 eebh ; e8 5d192759 mov byte [bp+00 ch], al ; 88 46 0c2760 movzx ax, byte [bp+00 8h] ; 0f b6 46 082805 call 02f77h ; e8 ae 19 2806 mov byte [bp+008h], al ; 88 46 08 2807 movzx ax, byte [bp+004h] ; 0f b6 46 04 2761 2808 cmp ax, cx ; 39 c8 2762 jc short 015 a0h ; 72 072809 jc short 015dbh ; 72 07 2763 2810 mov al, cl ; 88 c8 2764 2811 db 0feh, 0c8h 2765 2812 ; dec al ; fe c8 2766 mov byte [bp+00 8h], al ; 88 46 082767 movzx ax, byte [bp+00 ah] ; 0f b6 46 0a2768 cmp ax, word [bp-01 2h] ; 3b 46 ee2769 jc short 015 b1h ; 72 082770 mov al, byte [bp-01 2h] ; 8a 46 ee2813 mov byte [bp+004h], al ; 88 46 04 2814 movzx ax, byte [bp+006h] ; 0f b6 46 06 2815 cmp ax, word [bp-016h] ; 3b 46 ea 2816 jc short 015ech ; 72 08 2817 mov al, byte [bp-016h] ; 8a 46 ea 2771 2818 db 0feh, 0c8h 2772 2819 ; dec al ; fe c8 2773 mov byte [bp+00 ah], al ; 88 46 0a2774 movzx ax, byte [bp-0 0ch] ; 0f b6 46 f42820 mov byte [bp+006h], al ; 88 46 06 2821 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2775 2822 cmp ax, cx ; 39 c8 2776 jbe short 015 bdh ; 76 042777 mov byte [bp-0 0ch], 000h ; c6 46 f4002778 mov al, byte [bp+00 ah] ; 8a 46 0a2779 sub al, byte [bp-00 2h] ; 2a 46 fe2823 jbe short 015f8h ; 76 04 2824 mov byte [bp-010h], 000h ; c6 46 f0 00 2825 mov al, byte [bp+006h] ; 8a 46 06 2826 sub al, byte [bp-006h] ; 2a 46 fa 2780 2827 db 0feh, 0c0h 2781 2828 ; inc al ; fe c0 2782 mov byte [bp-0 0eh], al ; 88 46 f22783 movzx si, byte [bp-00 ah] ; 0f b6 76 f62829 mov byte [bp-012h], al ; 88 46 ee 2830 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2784 2831 mov di, si ; 89 f7 2785 2832 sal di, 003h ; c1 e7 03 2786 mov ax, word [bp-01 2h] ; 8b 46 ee2833 mov ax, word [bp-016h] ; 8b 46 ea 2787 2834 dec ax ; 48 2788 mov word [bp-01 4h], ax ; 89 46 ec2835 mov word [bp-018h], ax ; 89 46 e8 2789 2836 mov ax, cx ; 89 c8 2790 2837 dec ax ; 48 2791 mov word [bp-01 6h], ax ; 89 46 ea2792 mov ax, word [bp-01 2h] ; 8b 46 ee2838 mov word [bp-01ah], ax ; 89 46 e6 2839 mov ax, word [bp-016h] ; 8b 46 ea 2793 2840 imul ax, cx ; 0f af c1 2794 cmp byte [di+0483 0h], 000h ; 80 bd 3048 002795 jne near 017 8ch ; 0f 85 9f 012841 cmp byte [di+04835h], 000h ; 80 bd 35 48 00 2842 jne near 017c7h ; 0f 85 9f 01 2796 2843 mov dx, ax ; 89 c2 2797 2844 add dx, ax ; 01 c2 2798 2845 or dl, 0ffh ; 80 ca ff 2799 movzx bx, byte [bp+00 ch] ; 0f b6 5e 0c2846 movzx bx, byte [bp+008h] ; 0f b6 5e 08 2800 2847 inc dx ; 42 2801 2848 imul bx, dx ; 0f af da 2802 cmp byte [bp-0 0ch], 000h ; 80 7e f4002803 jne short 016 3ch ; 75 3a2804 cmp byte [bp-00 4h], 000h ; 80 7e fc002805 jne short 016 3ch ; 75 342806 cmp byte [bp-00 2h], 000h ; 80 7e fe002807 jne short 016 3ch ; 75 2e2808 movzx dx, byte [bp+00 8h] ; 0f b6 56 082809 cmp dx, word [bp-01 6h] ; 3b 56 ea2810 jne short 016 3ch ; 75 252811 movzx dx, byte [bp+00 ah] ; 0f b6 56 0a2812 cmp dx, word [bp-01 4h] ; 3b 56 ec2813 jne short 016 3ch ; 75 1c2814 movzx dx, byte [bp-00 8h] ; 0f b6 56 f82849 cmp byte [bp-010h], 000h ; 80 7e f0 00 2850 jne short 01677h ; 75 3a 2851 cmp byte [bp-008h], 000h ; 80 7e f8 00 2852 jne short 01677h ; 75 34 2853 cmp byte [bp-006h], 000h ; 80 7e fa 00 2854 jne short 01677h ; 75 2e 2855 movzx dx, byte [bp+004h] ; 0f b6 56 04 2856 cmp dx, word [bp-01ah] ; 3b 56 e6 2857 jne short 01677h ; 75 25 2858 movzx dx, byte [bp+006h] ; 0f b6 56 06 2859 cmp dx, word [bp-018h] ; 3b 56 e8 2860 jne short 01677h ; 75 1c 2861 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2815 2862 sal dx, 008h ; c1 e2 08 2816 2863 add dx, strict byte 00020h ; 83 c2 20 2817 mov es, [di+0483 3h] ; 8e 85 33482864 mov es, [di+04838h] ; 8e 85 38 48 2818 2865 mov cx, ax ; 89 c1 2819 2866 mov ax, dx ; 89 d0 2820 2867 mov di, bx ; 89 df 2821 2868 cld ; fc 2822 jcxz 016 39h ; e3 022869 jcxz 01674h ; e3 02 2823 2870 rep stosw ; f3 ab 2824 jmp near 01a2ah ; e9 ee 03 2825 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 2826 jne near 016e1h ; 0f 85 9d 00 2827 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2828 mov word [bp-010h], ax ; 89 46 f0 2829 movzx dx, byte [bp+008h] ; 0f b6 56 08 2830 cmp dx, word [bp-010h] ; 3b 56 f0 2831 jc near 01a2ah ; 0f 82 d4 03 2871 jmp near 01a65h ; e9 ee 03 2872 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 2873 jne near 0171ch ; 0f 85 9d 00 2874 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2875 mov word [bp-014h], ax ; 89 46 ec 2876 movzx dx, byte [bp+004h] ; 0f b6 56 04 2877 cmp dx, word [bp-014h] ; 3b 56 ec 2878 jc near 01a65h ; 0f 82 d4 03 2879 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2880 add ax, word [bp-014h] ; 03 46 ec 2881 cmp ax, dx ; 39 d0 2882 jnbe short 016a2h ; 77 06 2883 cmp byte [bp-010h], 000h ; 80 7e f0 00 2884 jne short 016d5h ; 75 33 2885 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2832 2886 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2833 add ax, word [bp-010h] ; 03 46 f02834 cmp ax, dx ; 39 d02835 jnbe short 01667h ; 77 062836 cmp byte [bp-00ch], 000h ; 80 7e f4 002837 jne short 0169ah ; 75 332838 movzx cx, byte [bp-00eh] ; 0f b6 4e f22839 movzx ax, byte [bp-008h] ; 0f b6 46 f82840 2887 sal ax, 008h ; c1 e0 08 2841 2888 add ax, strict word 00020h ; 05 20 00 2842 mov si, word [bp-01 0h] ; 8b 76 f02843 imul si, word [bp-01 2h] ; 0f af 76 ee2844 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe2889 mov si, word [bp-014h] ; 8b 76 ec 2890 imul si, word [bp-016h] ; 0f af 76 ea 2891 movzx dx, byte [bp-006h] ; 0f b6 56 fa 2845 2892 add dx, si ; 01 f2 2846 2893 add dx, dx ; 01 d2 2847 2894 mov di, bx ; 89 df 2848 2895 add di, dx ; 01 d7 2849 movzx si, byte [bp-00 ah] ; 0f b6 76 f62896 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2850 2897 sal si, 003h ; c1 e6 03 2851 mov es, [si+0483 3h] ; 8e 84 33482898 mov es, [si+04838h] ; 8e 84 38 48 2852 2899 cld ; fc 2853 jcxz 016 98h ; e3 022900 jcxz 016d3h ; e3 02 2854 2901 rep stosw ; f3 ab 2855 jmp short 01 6dbh ; eb 412856 movzx dx, byte [bp-0 0eh] ; 0f b6 56 f22857 mov word [bp-01 8h], dx ; 89 56 e82902 jmp short 01716h ; eb 41 2903 movzx dx, byte [bp-012h] ; 0f b6 56 ee 2904 mov word [bp-01ch], dx ; 89 56 e4 2858 2905 mov dx, ax ; 89 c2 2859 imul dx, word [bp-01 2h] ; 0f af 56 ee2860 movzx cx, byte [bp-00 2h] ; 0f b6 4e fe2906 imul dx, word [bp-016h] ; 0f af 56 ea 2907 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2861 2908 add dx, cx ; 01 ca 2862 2909 add dx, dx ; 01 d2 2863 movzx si, byte [bp-00 ah] ; 0f b6 76 f62910 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2864 2911 sal si, 003h ; c1 e6 03 2865 mov ax, word [si+0483 3h] ; 8b 84 33482866 mov si, word [bp-01 0h] ; 8b 76 f02867 imul si, word [bp-01 2h] ; 0f af 76 ee2912 mov ax, word [si+04838h] ; 8b 84 38 48 2913 mov si, word [bp-014h] ; 8b 76 ec 2914 imul si, word [bp-016h] ; 0f af 76 ea 2868 2915 add cx, si ; 01 f1 2869 2916 add cx, cx ; 01 c9 2870 2917 mov di, bx ; 89 df 2871 2918 add di, cx ; 01 cf 2872 mov cx, word [bp-01 8h] ; 8b 4e e82919 mov cx, word [bp-01ch] ; 8b 4e e4 2873 2920 mov si, dx ; 89 d6 2874 2921 mov dx, ax ; 89 c2 2875 2922 mov es, ax ; 8e c0 2876 2923 cld ; fc 2877 jcxz 01 6dbh ; e3 062924 jcxz 01716h ; e3 06 2878 2925 push DS ; 1e 2879 2926 mov ds, dx ; 8e da 2880 2927 rep movsw ; f3 a5 2881 2928 pop DS ; 1f 2882 inc word [bp-010h] ; ff 46 f0 2883 jmp near 0164bh ; e9 6a ff 2884 movzx ax, byte [bp+008h] ; 0f b6 46 08 2885 mov word [bp-010h], ax ; 89 46 f0 2886 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2887 cmp ax, word [bp-010h] ; 3b 46 f0 2888 jnbe near 01a2ah ; 0f 87 37 03 2889 movzx dx, byte [bp-004h] ; 0f b6 56 fc 2929 inc word [bp-014h] ; ff 46 ec 2930 jmp near 01686h ; e9 6a ff 2931 movzx ax, byte [bp+004h] ; 0f b6 46 04 2932 mov word [bp-014h], ax ; 89 46 ec 2933 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2934 cmp ax, word [bp-014h] ; 3b 46 ec 2935 jnbe near 01a65h ; 0f 87 37 03 2936 movzx dx, byte [bp-008h] ; 0f b6 56 f8 2937 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2938 add ax, dx ; 01 d0 2939 cmp ax, word [bp-014h] ; 3b 46 ec 2940 jnbe short 01743h ; 77 06 2941 cmp byte [bp-010h], 000h ; 80 7e f0 00 2942 jne short 01776h ; 75 33 2943 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2890 2944 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2891 add ax, dx ; 01 d02892 cmp ax, word [bp-010h] ; 3b 46 f02893 jnbe short 01708h ; 77 062894 cmp byte [bp-00ch], 000h ; 80 7e f4 002895 jne short 0173bh ; 75 332896 movzx cx, byte [bp-00eh] ; 0f b6 4e f22897 movzx ax, byte [bp-008h] ; 0f b6 46 f82898 2945 sal ax, 008h ; c1 e0 08 2899 2946 add ax, strict word 00020h ; 05 20 00 2900 mov si, word [bp-01 0h] ; 8b 76 f02901 imul si, word [bp-01 2h] ; 0f af 76 ee2902 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe2947 mov si, word [bp-014h] ; 8b 76 ec 2948 imul si, word [bp-016h] ; 0f af 76 ea 2949 movzx dx, byte [bp-006h] ; 0f b6 56 fa 2903 2950 add dx, si ; 01 f2 2904 2951 add dx, dx ; 01 d2 2905 2952 mov di, bx ; 89 df 2906 2953 add di, dx ; 01 d7 2907 movzx si, byte [bp-00 ah] ; 0f b6 76 f62954 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2908 2955 sal si, 003h ; c1 e6 03 2909 mov es, [si+0483 3h] ; 8e 84 33482956 mov es, [si+04838h] ; 8e 84 38 48 2910 2957 cld ; fc 2911 jcxz 017 39h ; e3 022958 jcxz 01774h ; e3 02 2912 2959 rep stosw ; f3 ab 2913 jmp short 017 7bh ; eb 402914 movzx cx, byte [bp-0 0eh] ; 0f b6 4e f22915 movzx ax, byte [bp-0 0ch] ; 0f b6 46 f42916 mov dx, word [bp-01 0h] ; 8b 56 f02960 jmp short 017b6h ; eb 40 2961 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2962 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2963 mov dx, word [bp-014h] ; 8b 56 ec 2917 2964 sub dx, ax ; 29 c2 2918 imul dx, word [bp-01 2h] ; 0f af 56 ee2919 movzx di, byte [bp-00 2h] ; 0f b6 7e fe2965 imul dx, word [bp-016h] ; 0f af 56 ea 2966 movzx di, byte [bp-006h] ; 0f b6 7e fa 2920 2967 add dx, di ; 01 fa 2921 2968 add dx, dx ; 01 d2 2922 movzx si, byte [bp-00 ah] ; 0f b6 76 f62969 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2923 2970 sal si, 003h ; c1 e6 03 2924 mov ax, word [si+0483 3h] ; 8b 84 33482925 mov si, word [bp-01 0h] ; 8b 76 f02926 imul si, word [bp-01 2h] ; 0f af 76 ee2971 mov ax, word [si+04838h] ; 8b 84 38 48 2972 mov si, word [bp-014h] ; 8b 76 ec 2973 imul si, word [bp-016h] ; 0f af 76 ea 2927 2974 add di, si ; 01 f7 2928 2975 add di, di ; 01 ff … … 2932 2979 mov es, ax ; 8e c0 2933 2980 cld ; fc 2934 jcxz 017 7bh ; e3 062981 jcxz 017b6h ; e3 06 2935 2982 push DS ; 1e 2936 2983 mov ds, dx ; 8e da 2937 2984 rep movsw ; f3 a5 2938 2985 pop DS ; 1f 2939 movzx ax, byte [bp+00 8h] ; 0f b6 46 082940 cmp ax, word [bp-01 0h] ; 3b 46 f02941 jc near 01a 2ah ; 0f 82 a4 022942 dec word [bp-01 0h] ; ff 4e f02943 jmp near 01 6e8h ; e9 5c ff2944 movzx bx, byte [si+048 afh] ; 0f b6 9c af482986 movzx ax, byte [bp+004h] ; 0f b6 46 04 2987 cmp ax, word [bp-014h] ; 3b 46 ec 2988 jc near 01a65h ; 0f 82 a4 02 2989 dec word [bp-014h] ; ff 4e ec 2990 jmp near 01723h ; e9 5c ff 2991 movzx bx, byte [si+048b4h] ; 0f b6 9c b4 48 2945 2992 sal bx, 006h ; c1 e3 06 2946 mov dl, byte [bx+048c 5h] ; 8a 97 c5482947 mov byte [bp-00 6h], dl ; 88 56 fa2948 mov bl, byte [di+0483 1h] ; 8a 9d 31482993 mov dl, byte [bx+048cah] ; 8a 97 ca 48 2994 mov byte [bp-00ah], dl ; 88 56 f6 2995 mov bl, byte [di+04836h] ; 8a 9d 36 48 2949 2996 cmp bl, 004h ; 80 fb 04 2950 je short 017 b3h ; 74 0f2997 je short 017eeh ; 74 0f 2951 2998 cmp bl, 003h ; 80 fb 03 2952 je short 017 b3h ; 74 0a2999 je short 017eeh ; 74 0a 2953 3000 cmp bl, 002h ; 80 fb 02 2954 je near 01 8f2h ; 0f 84 42 012955 jmp near 01a 2ah ; e9 77 022956 cmp byte [bp-0 0ch], 000h ; 80 7e f4002957 jne short 018 0bh ; 75 522958 cmp byte [bp-00 4h], 000h ; 80 7e fc002959 jne short 018 0bh ; 75 4c2960 cmp byte [bp-00 2h], 000h ; 80 7e fe002961 jne short 018 0bh ; 75 462962 movzx dx, byte [bp+00 8h] ; 0f b6 56 083001 je near 0192dh ; 0f 84 42 01 3002 jmp near 01a65h ; e9 77 02 3003 cmp byte [bp-010h], 000h ; 80 7e f0 00 3004 jne short 01846h ; 75 52 3005 cmp byte [bp-008h], 000h ; 80 7e f8 00 3006 jne short 01846h ; 75 4c 3007 cmp byte [bp-006h], 000h ; 80 7e fa 00 3008 jne short 01846h ; 75 46 3009 movzx dx, byte [bp+004h] ; 0f b6 56 04 2963 3010 mov ax, cx ; 89 c8 2964 3011 dec ax ; 48 2965 3012 cmp dx, ax ; 39 c2 2966 jne short 018 0bh ; 75 3b2967 movzx dx, byte [bp+00 ah] ; 0f b6 56 0a2968 mov ax, word [bp-01 2h] ; 8b 46 ee3013 jne short 01846h ; 75 3b 3014 movzx dx, byte [bp+006h] ; 0f b6 56 06 3015 mov ax, word [bp-016h] ; 8b 46 ea 2969 3016 dec ax ; 48 2970 3017 cmp dx, ax ; 39 c2 2971 jne short 018 0bh ; 75 2f3018 jne short 01846h ; 75 2f 2972 3019 mov ax, 00205h ; b8 05 02 2973 3020 mov dx, 003ceh ; ba ce 03 2974 3021 out DX, ax ; ef 2975 imul cx, word [bp-01 2h] ; 0f af 4e ee2976 movzx ax, byte [bp-00 6h] ; 0f b6 46 fa3022 imul cx, word [bp-016h] ; 0f af 4e ea 3023 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 2977 3024 imul cx, ax ; 0f af c8 2978 movzx ax, byte [bp-00 8h] ; 0f b6 46 f82979 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63025 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3026 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2980 3027 sal bx, 003h ; c1 e3 03 2981 mov es, [bx+0483 3h] ; 8e 87 33483028 mov es, [bx+04838h] ; 8e 87 38 48 2982 3029 xor di, di ; 31 ff 2983 3030 cld ; fc 2984 jcxz 018 04h ; e3 023031 jcxz 0183fh ; e3 02 2985 3032 rep stosb ; f3 aa 2986 3033 mov ax, strict word 00005h ; b8 05 00 2987 3034 out DX, ax ; ef 2988 jmp near 01a 2ah ; e9 1f 022989 cmp byte [bp+00 eh], 001h ; 80 7e 0e012990 jne short 018 7ah ; 75 692991 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc2992 mov word [bp-01 0h], ax ; 89 46 f02993 movzx ax, byte [bp+00 8h] ; 0f b6 46 082994 cmp ax, word [bp-01 0h] ; 3b 46 f02995 jc near 01a 2ah ; 0f 82 07 022996 movzx dx, byte [bp-0 0ch] ; 0f b6 56 f42997 add dx, word [bp-01 0h] ; 03 56 f03035 jmp near 01a65h ; e9 1f 02 3036 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3037 jne short 018b5h ; 75 69 3038 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3039 mov word [bp-014h], ax ; 89 46 ec 3040 movzx ax, byte [bp+004h] ; 0f b6 46 04 3041 cmp ax, word [bp-014h] ; 3b 46 ec 3042 jc near 01a65h ; 0f 82 07 02 3043 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3044 add dx, word [bp-014h] ; 03 56 ec 2998 3045 cmp dx, ax ; 39 c2 2999 jnbe short 01834h ; 77 06 3000 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3001 jne short 01853h ; 75 1f 3046 jnbe short 0186fh ; 77 06 3047 cmp byte [bp-010h], 000h ; 80 7e f0 00 3048 jne short 0188eh ; 75 1f 3049 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3050 push ax ; 50 3051 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3052 push ax ; 50 3053 movzx cx, byte [bp-016h] ; 0f b6 4e ea 3054 movzx bx, byte [bp-012h] ; 0f b6 5e ee 3055 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3056 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3057 call 013d9h ; e8 4d fb 3058 jmp short 018b0h ; eb 22 3059 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3060 push ax ; 50 3061 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3062 push ax ; 50 3063 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3064 movzx bx, byte [bp-014h] ; 0f b6 5e ec 3065 mov al, byte [bp-014h] ; 8a 46 ec 3066 add al, byte [bp-010h] ; 02 46 f0 3067 movzx dx, al ; 0f b6 d0 3068 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3069 call 01363h ; e8 b3 fa 3070 inc word [bp-014h] ; ff 46 ec 3071 jmp short 01853h ; eb 9e 3072 movzx ax, byte [bp+004h] ; 0f b6 46 04 3073 mov word [bp-014h], ax ; 89 46 ec 3002 3074 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3003 push ax ; 50 3075 cmp ax, word [bp-014h] ; 3b 46 ec 3076 jnbe near 01a65h ; 0f 87 9e 01 3077 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3078 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3079 add ax, dx ; 01 d0 3080 cmp ax, word [bp-014h] ; 3b 46 ec 3081 jnbe short 018dch ; 77 06 3082 cmp byte [bp-010h], 000h ; 80 7e f0 00 3083 jne short 018fbh ; 75 1f 3084 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3085 push ax ; 50 3086 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3087 push ax ; 50 3088 movzx cx, byte [bp-016h] ; 0f b6 4e ea 3089 movzx bx, byte [bp-012h] ; 0f b6 5e ee 3090 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3004 3091 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3092 call 013d9h ; e8 e0 fa 3093 jmp short 0191dh ; eb 22 3094 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3095 push ax ; 50 3096 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3005 3097 push ax ; 50 3006 3098 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3007 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3008 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3009 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3010 call 013ach ; e8 5b fb 3011 jmp short 01875h ; eb 22 3099 mov al, byte [bp-014h] ; 8a 46 ec 3100 sub al, byte [bp-010h] ; 2a 46 f0 3101 movzx bx, al ; 0f b6 d8 3102 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3012 3103 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3013 push ax ; 50 3014 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3015 push ax ; 50 3016 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3017 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3018 mov al, byte [bp-010h] ; 8a 46 f0 3019 add al, byte [bp-00ch] ; 02 46 f4 3020 movzx dx, al ; 0f b6 d0 3021 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3022 call 0133ah ; e8 c5 fa 3023 inc word [bp-010h] ; ff 46 f0 3024 jmp short 01818h ; eb 9e 3025 movzx ax, byte [bp+008h] ; 0f b6 46 08 3026 mov word [bp-010h], ax ; 89 46 f0 3027 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3028 cmp ax, word [bp-010h] ; 3b 46 f0 3029 jnbe near 01a2ah ; 0f 87 9e 01 3030 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3031 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3032 add ax, dx ; 01 d0 3033 cmp ax, word [bp-010h] ; 3b 46 f0 3034 jnbe short 018a1h ; 77 06 3035 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3036 jne short 018c0h ; 75 1f 3037 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3038 push ax ; 50 3039 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3040 push ax ; 50 3041 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3042 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3043 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3044 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3045 call 013ach ; e8 ee fa 3046 jmp short 018e2h ; eb 22 3047 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3048 push ax ; 50 3049 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3050 push ax ; 50 3051 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3052 mov al, byte [bp-010h] ; 8a 46 f0 3053 sub al, byte [bp-00ch] ; 2a 46 f4 3054 movzx bx, al ; 0f b6 d8 3055 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3056 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3057 call 0133ah ; e8 58 fa 3058 movzx ax, byte [bp+008h] ; 0f b6 46 08 3059 cmp ax, word [bp-010h] ; 3b 46 f0 3060 jc near 01a2ah ; 0f 82 3d 01 3061 dec word [bp-010h] ; ff 4e f0 3062 jmp short 01881h ; eb 8f 3063 mov dl, byte [di+04832h] ; 8a 95 32 48 3064 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3065 jne short 01939h ; 75 3d 3066 cmp byte [bp-004h], 000h ; 80 7e fc 00 3067 jne short 01939h ; 75 37 3068 cmp byte [bp-002h], 000h ; 80 7e fe 00 3069 jne short 01939h ; 75 31 3070 movzx bx, byte [bp+008h] ; 0f b6 5e 08 3071 cmp bx, word [bp-016h] ; 3b 5e ea 3072 jne short 01939h ; 75 28 3073 movzx bx, byte [bp+00ah] ; 0f b6 5e 0a 3074 cmp bx, word [bp-014h] ; 3b 5e ec 3075 jne short 01939h ; 75 1f 3076 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3104 call 01363h ; e8 46 fa 3105 movzx ax, byte [bp+004h] ; 0f b6 46 04 3106 cmp ax, word [bp-014h] ; 3b 46 ec 3107 jc near 01a65h ; 0f 82 3d 01 3108 dec word [bp-014h] ; ff 4e ec 3109 jmp short 018bch ; eb 8f 3110 mov dl, byte [di+04837h] ; 8a 95 37 48 3111 cmp byte [bp-010h], 000h ; 80 7e f0 00 3112 jne short 01974h ; 75 3d 3113 cmp byte [bp-008h], 000h ; 80 7e f8 00 3114 jne short 01974h ; 75 37 3115 cmp byte [bp-006h], 000h ; 80 7e fa 00 3116 jne short 01974h ; 75 31 3117 movzx bx, byte [bp+004h] ; 0f b6 5e 04 3118 cmp bx, word [bp-01ah] ; 3b 5e e6 3119 jne short 01974h ; 75 28 3120 movzx bx, byte [bp+006h] ; 0f b6 5e 06 3121 cmp bx, word [bp-018h] ; 3b 5e e8 3122 jne short 01974h ; 75 1f 3123 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3077 3124 imul ax, bx ; 0f af c3 3078 3125 movzx cx, dl ; 0f b6 ca 3079 3126 imul cx, ax ; 0f af c8 3080 movzx ax, byte [bp-00 8h] ; 0f b6 46 f83081 mov es, [di+0483 3h] ; 8e 85 33483127 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3128 mov es, [di+04838h] ; 8e 85 38 48 3082 3129 xor di, di ; 31 ff 3083 3130 cld ; fc 3084 jcxz 019 36h ; e3 023131 jcxz 01971h ; e3 02 3085 3132 rep stosb ; f3 aa 3086 jmp near 01a 2ah ; e9 f1 003133 jmp near 01a65h ; e9 f1 00 3087 3134 cmp dl, 002h ; 80 fa 02 3088 jne short 019 47h ; 75 093089 sal byte [bp-00 2h], 1 ; d0 66 fe3090 sal byte [bp-0 0eh], 1 ; d0 66 f23091 sal word [bp-01 2h], 1 ; d1 66 ee3092 cmp byte [bp+00 eh], 001h ; 80 7e 0e013093 jne short 019 b6h ; 75 693094 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc3095 mov word [bp-01 0h], ax ; 89 46 f03096 movzx ax, byte [bp+00 8h] ; 0f b6 46 083097 cmp ax, word [bp-01 0h] ; 3b 46 f03098 jc near 01a 2ah ; 0f 82 cb 003099 movzx dx, byte [bp-0 0ch] ; 0f b6 56 f43100 add dx, word [bp-01 0h] ; 03 56 f03135 jne short 01982h ; 75 09 3136 sal byte [bp-006h], 1 ; d0 66 fa 3137 sal byte [bp-012h], 1 ; d0 66 ee 3138 sal word [bp-016h], 1 ; d1 66 ea 3139 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3140 jne short 019f1h ; 75 69 3141 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3142 mov word [bp-014h], ax ; 89 46 ec 3143 movzx ax, byte [bp+004h] ; 0f b6 46 04 3144 cmp ax, word [bp-014h] ; 3b 46 ec 3145 jc near 01a65h ; 0f 82 cb 00 3146 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3147 add dx, word [bp-014h] ; 03 56 ec 3101 3148 cmp dx, ax ; 39 c2 3102 jnbe short 01970h ; 77 06 3103 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3104 jne short 0198fh ; 75 1f 3149 jnbe short 019abh ; 77 06 3150 cmp byte [bp-010h], 000h ; 80 7e f0 00 3151 jne short 019cah ; 75 1f 3152 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3153 push ax ; 50 3154 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3155 push ax ; 50 3156 movzx cx, byte [bp-016h] ; 0f b6 4e ea 3157 movzx bx, byte [bp-012h] ; 0f b6 5e ee 3158 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3159 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3160 call 014deh ; e8 16 fb 3161 jmp short 019ech ; eb 22 3162 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3163 push ax ; 50 3164 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3165 push ax ; 50 3166 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3167 movzx bx, byte [bp-014h] ; 0f b6 5e ec 3168 mov al, byte [bp-014h] ; 8a 46 ec 3169 add al, byte [bp-010h] ; 02 46 f0 3170 movzx dx, al ; 0f b6 d0 3171 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3172 call 0143ah ; e8 4e fa 3173 inc word [bp-014h] ; ff 46 ec 3174 jmp short 0198fh ; eb 9e 3175 movzx ax, byte [bp+004h] ; 0f b6 46 04 3176 mov word [bp-014h], ax ; 89 46 ec 3105 3177 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3106 push ax ; 50 3178 cmp ax, word [bp-014h] ; 3b 46 ec 3179 jnbe short 01a65h ; 77 64 3180 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3181 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3182 add ax, dx ; 01 d0 3183 cmp ax, word [bp-014h] ; 3b 46 ec 3184 jnbe short 01a16h ; 77 06 3185 cmp byte [bp-010h], 000h ; 80 7e f0 00 3186 jne short 01a35h ; 75 1f 3187 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3188 push ax ; 50 3189 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3190 push ax ; 50 3191 movzx cx, byte [bp-016h] ; 0f b6 4e ea 3192 movzx bx, byte [bp-012h] ; 0f b6 5e ee 3193 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3107 3194 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3195 call 014deh ; e8 ab fa 3196 jmp short 01a57h ; eb 22 3197 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3198 push ax ; 50 3199 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3108 3200 push ax ; 50 3109 3201 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3110 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3111 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3112 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3113 call 014a9h ; e8 1c fb 3114 jmp short 019b1h ; eb 22 3202 mov al, byte [bp-014h] ; 8a 46 ec 3203 sub al, byte [bp-010h] ; 2a 46 f0 3204 movzx bx, al ; 0f b6 d8 3205 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3115 3206 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3116 push ax ; 50 3117 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3118 push ax ; 50 3119 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3120 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3121 mov al, byte [bp-010h] ; 8a 46 f0 3122 add al, byte [bp-00ch] ; 02 46 f4 3123 movzx dx, al ; 0f b6 d0 3124 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3125 call 01409h ; e8 58 fa 3126 inc word [bp-010h] ; ff 46 f0 3127 jmp short 01954h ; eb 9e 3128 movzx ax, byte [bp+008h] ; 0f b6 46 08 3129 mov word [bp-010h], ax ; 89 46 f0 3130 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3131 cmp ax, word [bp-010h] ; 3b 46 f0 3132 jnbe short 01a2ah ; 77 64 3133 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3134 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3135 add ax, dx ; 01 d0 3136 cmp ax, word [bp-010h] ; 3b 46 f0 3137 jnbe short 019dbh ; 77 06 3138 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3139 jne short 019fah ; 75 1f 3140 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3141 push ax ; 50 3142 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3143 push ax ; 50 3144 movzx cx, byte [bp-012h] ; 0f b6 4e ee 3145 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3146 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3147 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3148 call 014a9h ; e8 b1 fa 3149 jmp short 01a1ch ; eb 22 3150 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3151 push ax ; 50 3152 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3153 push ax ; 50 3154 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3155 mov al, byte [bp-010h] ; 8a 46 f0 3156 sub al, byte [bp-00ch] ; 2a 46 f4 3157 movzx bx, al ; 0f b6 d8 3158 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3159 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3160 call 01409h ; e8 ed f9 3161 movzx ax, byte [bp+008h] ; 0f b6 46 08 3162 cmp ax, word [bp-010h] ; 3b 46 f0 3163 jc short 01a2ah ; 72 05 3164 dec word [bp-010h] ; ff 4e f0 3165 jmp short 019bdh ; eb 93 3166 leave ; c9 3207 call 0143ah ; e8 e3 f9 3208 movzx ax, byte [bp+004h] ; 0f b6 46 04 3209 cmp ax, word [bp-014h] ; 3b 46 ec 3210 jc short 01a65h ; 72 05 3211 dec word [bp-014h] ; ff 4e ec 3212 jmp short 019f8h ; eb 93 3213 lea sp, [bp-004h] ; 8d 66 fc 3167 3214 pop di ; 5f 3168 3215 pop si ; 5e 3216 pop bp ; 5d 3169 3217 retn 00008h ; c2 08 00 3170 write_gfx_char_pl4_: ; 0xc1a30 LB 0xe6 3218 write_gfx_char_pl4_: ; 0xc1a6e LB 0xeb 3219 push bp ; 55 3220 mov bp, sp ; 89 e5 3171 3221 push si ; 56 3172 3222 push di ; 57 3173 enter 0000ah, 000h ; c8 0a 00 003174 mov byte [bp-00 2h], dl ; 88 56 fe3223 sub sp, strict byte 0000ah ; 83 ec 0a 3224 mov byte [bp-006h], dl ; 88 56 fa 3175 3225 mov ah, bl ; 88 dc 3176 cmp byte [bp+00 ah], 010h ; 80 7e 0a103177 je short 01a 4ch ; 74 0b3178 cmp byte [bp+00 ah], 00eh ; 80 7e 0a0e3179 jne short 01a 51h ; 75 0a3180 mov di, 05d afh ; bf af5d3181 jmp short 01a 54h ; eb 083182 mov di, 06b afh ; bf af6b3183 jmp short 01a 54h ; eb 033184 mov di, 055 afh ; bf af553226 cmp byte [bp+006h], 010h ; 80 7e 06 10 3227 je short 01a8ch ; 74 0b 3228 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3229 jne short 01a91h ; 75 0a 3230 mov di, 05db4h ; bf b4 5d 3231 jmp short 01a94h ; eb 08 3232 mov di, 06bb4h ; bf b4 6b 3233 jmp short 01a94h ; eb 03 3234 mov di, 055b4h ; bf b4 55 3185 3235 movzx si, cl ; 0f b6 f1 3186 movzx bx, byte [bp+00 ah] ; 0f b6 5e 0a3236 movzx bx, byte [bp+006h] ; 0f b6 5e 06 3187 3237 imul si, bx ; 0f af f3 3188 movzx cx, byte [bp+00 8h] ; 0f b6 4e 083238 movzx cx, byte [bp+004h] ; 0f b6 4e 04 3189 3239 imul cx, si ; 0f af ce 3190 3240 movzx si, ah ; 0f b6 f4 3191 3241 add si, cx ; 01 ce 3192 mov word [bp-00 ah], si ; 89 76 f63242 mov word [bp-00eh], si ; 89 76 f2 3193 3243 xor ah, ah ; 30 e4 3194 3244 imul ax, bx ; 0f af c3 3195 mov word [bp-00 6h], ax ; 89 46 fa3245 mov word [bp-00ah], ax ; 89 46 f6 3196 3246 mov ax, 00f02h ; b8 02 0f 3197 3247 mov dx, 003c4h ; ba c4 03 … … 3200 3250 mov dx, 003ceh ; ba ce 03 3201 3251 out DX, ax ; ef 3202 test byte [bp-00 2h], 080h ; f6 46 fe803203 je short 01a 8fh ; 74 063252 test byte [bp-006h], 080h ; f6 46 fa 80 3253 je short 01acfh ; 74 06 3204 3254 mov ax, 01803h ; b8 03 18 3205 3255 out DX, ax ; ef 3206 jmp short 01a 93h ; eb 043256 jmp short 01ad3h ; eb 04 3207 3257 mov ax, strict word 00003h ; b8 03 00 3208 3258 out DX, ax ; ef 3209 3259 xor ch, ch ; 30 ed 3210 cmp ch, byte [bp+00 ah] ; 3a 6e 0a3211 jnc short 01b 01h ; 73 673260 cmp ch, byte [bp+006h] ; 3a 6e 06 3261 jnc short 01b41h ; 73 67 3212 3262 movzx si, ch ; 0f b6 f5 3213 movzx ax, byte [bp+00 8h] ; 0f b6 46 083263 movzx ax, byte [bp+004h] ; 0f b6 46 04 3214 3264 imul si, ax ; 0f af f0 3215 add si, word [bp-00 ah] ; 03 76 f63216 mov byte [bp-00 4h], 000h ; c6 46 fc003217 jmp short 01 ac0h ; eb 133265 add si, word [bp-00eh] ; 03 76 f2 3266 mov byte [bp-008h], 000h ; c6 46 f8 00 3267 jmp short 01b00h ; eb 13 3218 3268 xor bx, bx ; 31 db 3219 3269 mov dx, si ; 89 f2 3220 3270 mov ax, 0a000h ; b8 00 a0 3221 call 02 ef9h ; e8 42143222 inc byte [bp-00 4h] ; fe 46 fc3223 cmp byte [bp-00 4h], 008h ; 80 7e fc083224 jnc short 01 afdh ; 73 3d3225 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc3271 call 02f85h ; e8 8e 14 3272 inc byte [bp-008h] ; fe 46 f8 3273 cmp byte [bp-008h], 008h ; 80 7e f8 08 3274 jnc short 01b3dh ; 73 3d 3275 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3226 3276 mov cl, al ; 88 c1 3227 3277 mov ax, 00080h ; b8 80 00 3228 3278 sar ax, CL ; d3 f8 3229 3279 xor ah, ah ; 30 e4 3230 mov word [bp-00 8h], ax ; 89 46 f83280 mov word [bp-00ch], ax ; 89 46 f4 3231 3281 sal ax, 008h ; c1 e0 08 3232 3282 or AL, strict byte 008h ; 0c 08 … … 3235 3285 mov dx, si ; 89 f2 3236 3286 mov ax, 0a000h ; b8 00 a0 3237 call 02 eebh ; e8 0a143287 call 02f77h ; e8 56 14 3238 3288 movzx ax, ch ; 0f b6 c5 3239 add ax, word [bp-00 6h] ; 03 46 fa3289 add ax, word [bp-00ah] ; 03 46 f6 3240 3290 mov bx, di ; 89 fb 3241 3291 add bx, ax ; 01 c3 3242 3292 movzx ax, byte [bx] ; 0f b6 07 3243 test word [bp-00 8h], ax ; 85 46 f83244 je short 01a adh ; 74 ba3245 mov al, byte [bp-00 2h] ; 8a 46 fe3293 test word [bp-00ch], ax ; 85 46 f4 3294 je short 01aedh ; 74 ba 3295 mov al, byte [bp-006h] ; 8a 46 fa 3246 3296 and AL, strict byte 00fh ; 24 0f 3247 3297 movzx bx, al ; 0f b6 d8 3248 jmp short 01a afh ; eb b23298 jmp short 01aefh ; eb b2 3249 3299 db 0feh, 0c5h 3250 3300 ; inc ch ; fe c5 3251 jmp short 01a 95h ; eb 943301 jmp short 01ad5h ; eb 94 3252 3302 mov ax, 0ff08h ; b8 08 ff 3253 3303 mov dx, 003ceh ; ba ce 03 … … 3257 3307 mov ax, strict word 00003h ; b8 03 00 3258 3308 out DX, ax ; ef 3259 lea ve ; c93309 lea sp, [bp-004h] ; 8d 66 fc 3260 3310 pop di ; 5f 3261 3311 pop si ; 5e 3312 pop bp ; 5d 3262 3313 retn 00004h ; c2 04 00 3263 write_gfx_char_cga_: ; 0xc1b16 LB 0x119 3314 write_gfx_char_cga_: ; 0xc1b59 LB 0x11e 3315 push bp ; 55 3316 mov bp, sp ; 89 e5 3264 3317 push si ; 56 3265 3318 push di ; 57 3266 enter 00008h, 000h ; c8 08 00 003267 mov byte [bp-00 4h], dl ; 88 56 fc3268 mov si, 055 afh ; be af553319 sub sp, strict byte 00008h ; 83 ec 08 3320 mov byte [bp-008h], dl ; 88 56 f8 3321 mov si, 055b4h ; be b4 55 3269 3322 xor bh, bh ; 30 ff 3270 movzx di, byte [bp+00 ah] ; 0f b6 7e 0a3323 movzx di, byte [bp+006h] ; 0f b6 7e 06 3271 3324 imul di, bx ; 0f af fb 3272 3325 movzx bx, cl ; 0f b6 d9 3273 3326 imul bx, bx, 00140h ; 69 db 40 01 3274 3327 add di, bx ; 01 df 3275 mov word [bp-00 8h], di ; 89 7e f83328 mov word [bp-00ch], di ; 89 7e f4 3276 3329 movzx di, al ; 0f b6 f8 3277 3330 sal di, 003h ; c1 e7 03 3278 mov byte [bp-00 2h], 000h ; c6 46 fe003279 jmp near 01b 94h ; e9 50 003331 mov byte [bp-006h], 000h ; c6 46 fa 00 3332 jmp near 01bd9h ; e9 50 00 3280 3333 xor al, al ; 30 c0 3281 3334 xor ah, ah ; 30 e4 3282 jmp short 01b 55h ; eb 0b3335 jmp short 01b9ah ; eb 0b 3283 3336 or al, bl ; 08 d8 3284 3337 shr ch, 1 ; d0 ed … … 3286 3339 ; inc ah ; fe c4 3287 3340 cmp ah, 008h ; 80 fc 08 3288 jnc short 01b 7dh ; 73 283289 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe3341 jnc short 01bc2h ; 73 28 3342 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3290 3343 add bx, di ; 01 fb 3291 3344 add bx, si ; 01 f3 … … 3293 3346 movzx dx, ch ; 0f b6 d5 3294 3347 test bx, dx ; 85 d3 3295 je short 01b 4ch ; 74 e53348 je short 01b91h ; 74 e5 3296 3349 mov CL, strict byte 007h ; b1 07 3297 3350 sub cl, ah ; 28 e1 3298 mov bl, byte [bp-00 4h] ; 8a 5e fc3351 mov bl, byte [bp-008h] ; 8a 5e f8 3299 3352 and bl, 001h ; 80 e3 01 3300 3353 sal bl, CL ; d2 e3 3301 test byte [bp-00 4h], 080h ; f6 46 fc803302 je short 01b 4ah ; 74 d13354 test byte [bp-008h], 080h ; f6 46 f8 80 3355 je short 01b8fh ; 74 d1 3303 3356 xor al, bl ; 30 d8 3304 jmp short 01b 4ch ; eb cf3357 jmp short 01b91h ; eb cf 3305 3358 movzx bx, al ; 0f b6 d8 3306 mov dx, word [bp-00 6h] ; 8b 56 fa3359 mov dx, word [bp-00ah] ; 8b 56 f6 3307 3360 mov ax, 0b800h ; b8 00 b8 3308 call 02 ef9h ; e8 70133309 inc byte [bp-00 2h] ; fe 46 fe3310 cmp byte [bp-00 2h], 008h ; 80 7e fe083311 jnc near 01c 29h ; 0f 83 95 003312 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe3361 call 02f85h ; e8 b7 13 3362 inc byte [bp-006h] ; fe 46 fa 3363 cmp byte [bp-006h], 008h ; 80 7e fa 08 3364 jnc near 01c6eh ; 0f 83 95 00 3365 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3313 3366 sar ax, 1 ; d1 f8 3314 3367 imul ax, ax, strict byte 00050h ; 6b c0 50 3315 mov bx, word [bp-00 8h] ; 8b 5e f83368 mov bx, word [bp-00ch] ; 8b 5e f4 3316 3369 add bx, ax ; 01 c3 3317 mov word [bp-00 6h], bx ; 89 5e fa3318 test byte [bp-00 2h], 001h ; f6 46 fe013319 je short 01b afh ; 74 043320 add byte [bp-00 5h], 020h ; 80 46 fb203370 mov word [bp-00ah], bx ; 89 5e f6 3371 test byte [bp-006h], 001h ; f6 46 fa 01 3372 je short 01bf4h ; 74 04 3373 add byte [bp-009h], 020h ; 80 46 f7 20 3321 3374 mov CH, strict byte 080h ; b5 80 3322 cmp byte [bp+00 ah], 001h ; 80 7e 0a013323 jne short 01 bc8h ; 75 113324 test byte [bp-00 4h], ch ; 84 6e fc3325 je short 01b 44h ; 74 883326 mov dx, word [bp-00 6h] ; 8b 56 fa3375 cmp byte [bp+006h], 001h ; 80 7e 06 01 3376 jne short 01c0dh ; 75 11 3377 test byte [bp-008h], ch ; 84 6e f8 3378 je short 01b89h ; 74 88 3379 mov dx, word [bp-00ah] ; 8b 56 f6 3327 3380 mov ax, 0b800h ; b8 00 b8 3328 call 02 eebh ; e8 26133329 jmp near 01b 46h ; e9 7e ff3381 call 02f77h ; e8 6d 13 3382 jmp near 01b8bh ; e9 7e ff 3330 3383 test ch, ch ; 84 ed 3331 jbe short 01b 89h ; 76 bd3332 test byte [bp-00 4h], 080h ; f6 46 fc803333 je short 01 bddh ; 74 0b3334 mov dx, word [bp-00 6h] ; 8b 56 fa3384 jbe short 01bceh ; 76 bd 3385 test byte [bp-008h], 080h ; f6 46 f8 80 3386 je short 01c22h ; 74 0b 3387 mov dx, word [bp-00ah] ; 8b 56 f6 3335 3388 mov ax, 0b800h ; b8 00 b8 3336 call 02 eebh ; e8 10133337 jmp short 01 bdfh ; eb 023389 call 02f77h ; e8 57 13 3390 jmp short 01c24h ; eb 02 3338 3391 xor al, al ; 30 c0 3339 3392 xor ah, ah ; 30 e4 3340 jmp short 01 beeh ; eb 0b3393 jmp short 01c33h ; eb 0b 3341 3394 or al, bl ; 08 d8 3342 3395 shr ch, 1 ; d0 ed … … 3344 3397 ; inc ah ; fe c4 3345 3398 cmp ah, 004h ; 80 fc 04 3346 jnc short 01c 18h ; 73 2a3347 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe3399 jnc short 01c5dh ; 73 2a 3400 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3348 3401 add bx, di ; 01 fb 3349 3402 add bx, si ; 01 f3 … … 3351 3404 movzx bx, ch ; 0f b6 dd 3352 3405 test bx, dx ; 85 d3 3353 je short 01 be5h ; 74 e53406 je short 01c2ah ; 74 e5 3354 3407 mov CL, strict byte 003h ; b1 03 3355 3408 sub cl, ah ; 28 e1 3356 mov bl, byte [bp-00 4h] ; 8a 5e fc3409 mov bl, byte [bp-008h] ; 8a 5e f8 3357 3410 and bl, 003h ; 80 e3 03 3358 3411 add cl, cl ; 00 c9 3359 3412 sal bl, CL ; d2 e3 3360 test byte [bp-00 4h], 080h ; f6 46 fc803361 je short 01 be3h ; 74 cf3413 test byte [bp-008h], 080h ; f6 46 f8 80 3414 je short 01c28h ; 74 cf 3362 3415 xor al, bl ; 30 d8 3363 jmp short 01 be5h ; eb cd3416 jmp short 01c2ah ; eb cd 3364 3417 movzx bx, al ; 0f b6 d8 3365 mov dx, word [bp-00 6h] ; 8b 56 fa3418 mov dx, word [bp-00ah] ; 8b 56 f6 3366 3419 mov ax, 0b800h ; b8 00 b8 3367 call 02 ef9h ; e8 d5 123368 inc word [bp-00 6h] ; ff 46 fa3369 jmp short 01 bc8h ; eb 9f3370 lea ve ; c93420 call 02f85h ; e8 1c 13 3421 inc word [bp-00ah] ; ff 46 f6 3422 jmp short 01c0dh ; eb 9f 3423 lea sp, [bp-004h] ; 8d 66 fc 3371 3424 pop di ; 5f 3372 3425 pop si ; 5e 3426 pop bp ; 5d 3373 3427 retn 00004h ; c2 04 00 3374 write_gfx_char_lin_: ; 0xc1c2f LB 0x8c 3428 write_gfx_char_lin_: ; 0xc1c77 LB 0x91 3429 push bp ; 55 3430 mov bp, sp ; 89 e5 3375 3431 push si ; 56 3376 3432 push di ; 57 3377 enter 00008h, 000h ; c8 08 00 003378 mov byte [bp-00 2h], dl ; 88 56 fe3379 mov di, 055 afh ; bf af553433 sub sp, strict byte 00008h ; 83 ec 08 3434 mov byte [bp-006h], dl ; 88 56 fa 3435 mov di, 055b4h ; bf b4 55 3380 3436 movzx dx, cl ; 0f b6 d1 3381 movzx cx, byte [bp+00 8h] ; 0f b6 4e 083437 movzx cx, byte [bp+004h] ; 0f b6 4e 04 3382 3438 imul cx, dx ; 0f af ca 3383 3439 sal cx, 006h ; c1 e1 06 … … 3385 3441 sal dx, 003h ; c1 e2 03 3386 3442 add dx, cx ; 01 ca 3387 mov word [bp-00 8h], dx ; 89 56 f83443 mov word [bp-00ch], dx ; 89 56 f4 3388 3444 movzx si, al ; 0f b6 f0 3389 3445 sal si, 003h ; c1 e6 03 3390 3446 xor cl, cl ; 30 c9 3391 jmp short 01c 98h ; eb 3b3447 jmp short 01ce2h ; eb 3b 3392 3448 cmp ch, 008h ; 80 fd 08 3393 jnc short 01c 91h ; 73 2f3449 jnc short 01cdbh ; 73 2f 3394 3450 xor al, al ; 30 c0 3395 3451 movzx dx, cl ; 0f b6 d1 … … 3398 3454 add bx, dx ; 01 d3 3399 3455 movzx dx, byte [bx] ; 0f b6 17 3400 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc3456 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3401 3457 test dx, bx ; 85 da 3402 je short 01c 7bh ; 74 033403 mov al, byte [bp-00 2h] ; 8a 46 fe3458 je short 01cc5h ; 74 03 3459 mov al, byte [bp-006h] ; 8a 46 fa 3404 3460 movzx bx, al ; 0f b6 d8 3405 3461 movzx dx, ch ; 0f b6 d5 3406 add dx, word [bp-00 6h] ; 03 56 fa3462 add dx, word [bp-00ah] ; 03 56 f6 3407 3463 mov ax, 0a000h ; b8 00 a0 3408 call 02 ef9h ; e8 6f123409 shr byte [bp-00 4h], 1 ; d0 6e fc3464 call 02f85h ; e8 b1 12 3465 shr byte [bp-008h], 1 ; d0 6e f8 3410 3466 db 0feh, 0c5h 3411 3467 ; inc ch ; fe c5 3412 jmp short 01c 5dh ; eb cc3468 jmp short 01ca7h ; eb cc 3413 3469 db 0feh, 0c1h 3414 3470 ; inc cl ; fe c1 3415 3471 cmp cl, 008h ; 80 f9 08 3416 jnc short 01c b5h ; 73 1d3472 jnc short 01cffh ; 73 1d 3417 3473 movzx bx, cl ; 0f b6 d9 3418 movzx dx, byte [bp+00 8h] ; 0f b6 56 083474 movzx dx, byte [bp+004h] ; 0f b6 56 04 3419 3475 imul dx, bx ; 0f af d3 3420 3476 sal dx, 003h ; c1 e2 03 3421 mov bx, word [bp-00 8h] ; 8b 5e f83477 mov bx, word [bp-00ch] ; 8b 5e f4 3422 3478 add bx, dx ; 01 d3 3423 mov word [bp-00 6h], bx ; 89 5e fa3424 mov byte [bp-00 4h], 080h ; c6 46 fc803479 mov word [bp-00ah], bx ; 89 5e f6 3480 mov byte [bp-008h], 080h ; c6 46 f8 80 3425 3481 xor ch, ch ; 30 ed 3426 jmp short 01c 62h ; eb ad3427 lea ve ; c93482 jmp short 01cach ; eb ad 3483 lea sp, [bp-004h] ; 8d 66 fc 3428 3484 pop di ; 5f 3429 3485 pop si ; 5e 3486 pop bp ; 5d 3430 3487 retn 00002h ; c2 02 00 3431 biosfn_write_char_attr_: ; 0xc1cbb LB 0x163 3488 biosfn_write_char_attr_: ; 0xc1d08 LB 0x168 3489 push bp ; 55 3490 mov bp, sp ; 89 e5 3432 3491 push si ; 56 3433 3492 push di ; 57 3434 enter 00018h, 000h ; c8 18 00 003435 mov byte [bp-00 ah], al ; 88 46 f63436 mov byte [bp-0 0ch], dl ; 88 56 f43437 mov byte [bp-0 0eh], bl ; 88 5e f23493 sub sp, strict byte 00018h ; 83 ec 18 3494 mov byte [bp-00eh], al ; 88 46 f2 3495 mov byte [bp-010h], dl ; 88 56 f0 3496 mov byte [bp-012h], bl ; 88 5e ee 3438 3497 mov si, cx ; 89 ce 3439 3498 mov dx, strict word 00049h ; ba 49 00 3440 3499 mov ax, strict word 00040h ; b8 40 00 3441 call 02 eebh ; e8 16123500 call 02f77h ; e8 53 12 3442 3501 xor ah, ah ; 30 e4 3443 call 02 ec4h ; e8 ea 113502 call 02f50h ; e8 27 12 3444 3503 mov cl, al ; 88 c1 3445 mov byte [bp-00 2h], al ; 88 46 fe3504 mov byte [bp-006h], al ; 88 46 fa 3446 3505 cmp AL, strict byte 0ffh ; 3c ff 3447 je near 01e 1ah ; 0f 84 35 013448 movzx ax, byte [bp-0 0ch] ; 0f b6 46 f43449 lea bx, [bp-01 8h] ; 8d 5e e83450 lea dx, [bp-01 6h] ; 8d 56 ea3451 call 00a8 3h ; e8 91ed3452 mov al, byte [bp-01 8h] ; 8a 46 e83453 mov byte [bp-00 8h], al ; 88 46 f83454 mov ax, word [bp-01 8h] ; 8b 46 e83506 je near 01e69h ; 0f 84 35 01 3507 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3508 lea bx, [bp-01ch] ; 8d 5e e4 3509 lea dx, [bp-01ah] ; 8d 56 e6 3510 call 00a88h ; e8 47 ed 3511 mov al, byte [bp-01ch] ; 8a 46 e4 3512 mov byte [bp-00ch], al ; 88 46 f4 3513 mov ax, word [bp-01ch] ; 8b 46 e4 3455 3514 xor al, al ; 30 c0 3456 3515 shr ax, 008h ; c1 e8 08 3457 mov byte [bp-00 6h], al ; 88 46 fa3516 mov byte [bp-00ah], al ; 88 46 f6 3458 3517 mov dx, 00084h ; ba 84 00 3459 3518 mov ax, strict word 00040h ; b8 40 00 3460 call 02 eebh ; e8 df 113519 call 02f77h ; e8 1c 12 3461 3520 xor ah, ah ; 30 e4 3462 3521 inc ax ; 40 3463 mov word [bp-01 4h], ax ; 89 46 ec3522 mov word [bp-018h], ax ; 89 46 e8 3464 3523 mov dx, strict word 0004ah ; ba 4a 00 3465 3524 mov ax, strict word 00040h ; b8 40 00 3466 call 02f 07h ; e8 ec 113467 mov word [bp-01 2h], ax ; 89 46 ee3525 call 02f93h ; e8 29 12 3526 mov word [bp-016h], ax ; 89 46 ea 3468 3527 movzx bx, cl ; 0f b6 d9 3469 3528 mov di, bx ; 89 df 3470 3529 sal di, 003h ; c1 e7 03 3471 cmp byte [di+0483 0h], 000h ; 80 bd 3048 003472 jne short 01d 74h ; 75 473473 mov bx, word [bp-01 4h] ; 8b 5e ec3530 cmp byte [di+04835h], 000h ; 80 bd 35 48 00 3531 jne short 01dc3h ; 75 47 3532 mov bx, word [bp-018h] ; 8b 5e e8 3474 3533 imul bx, ax ; 0f af d8 3475 3534 add bx, bx ; 01 db 3476 3535 or bl, 0ffh ; 80 cb ff 3477 movzx dx, byte [bp-0 0ch] ; 0f b6 56 f43536 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3478 3537 inc bx ; 43 3479 3538 imul dx, bx ; 0f af d3 3480 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa3539 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3481 3540 imul ax, bx ; 0f af c3 3482 movzx bx, byte [bp-00 8h] ; 0f b6 5e f83541 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3483 3542 add ax, bx ; 01 d8 3484 3543 add ax, ax ; 01 c0 3485 3544 add dx, ax ; 01 c2 3486 movzx ax, byte [bp-0 0eh] ; 0f b6 46 f23545 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3487 3546 sal ax, 008h ; c1 e0 08 3488 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63547 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3489 3548 add ax, bx ; 01 d8 3490 mov word [bp-01 6h], ax ; 89 46 ea3491 mov ax, word [bp-01 6h] ; 8b 46 ea3492 mov es, [di+0483 3h] ; 8e 85 33483549 mov word [bp-01ah], ax ; 89 46 e6 3550 mov ax, word [bp-01ah] ; 8b 46 e6 3551 mov es, [di+04838h] ; 8e 85 38 48 3493 3552 mov cx, si ; 89 f1 3494 3553 mov di, dx ; 89 d7 3495 3554 cld ; fc 3496 jcxz 01d 71h ; e3 023555 jcxz 01dc0h ; e3 02 3497 3556 rep stosw ; f3 ab 3498 jmp near 01e 1ah ; e9 a6 003499 movzx bx, byte [bx+048 afh] ; 0f b6 9f af483557 jmp near 01e69h ; e9 a6 00 3558 movzx bx, byte [bx+048b4h] ; 0f b6 9f b4 48 3500 3559 sal bx, 006h ; c1 e3 06 3501 mov al, byte [bx+048c 5h] ; 8a 87 c5483502 mov byte [bp-00 4h], al ; 88 46 fc3503 mov al, byte [di+0483 2h] ; 8a 85 32483504 mov byte [bp-01 0h], al ; 88 46 f03560 mov al, byte [bx+048cah] ; 8a 87 ca 48 3561 mov byte [bp-008h], al ; 88 46 f8 3562 mov al, byte [di+04837h] ; 8a 85 37 48 3563 mov byte [bp-014h], al ; 88 46 ec 3505 3564 dec si ; 4e 3506 3565 cmp si, strict byte 0ffffh ; 83 fe ff 3507 je near 01e1ah ; 0f 84 88 00 3566 je near 01e69h ; 0f 84 88 00 3567 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3568 cmp ax, word [bp-016h] ; 3b 46 ea 3569 jnc near 01e69h ; 0f 83 7d 00 3570 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3571 sal bx, 003h ; c1 e3 03 3572 mov al, byte [bx+04836h] ; 8a 87 36 48 3573 cmp AL, strict byte 003h ; 3c 03 3574 jc short 01e07h ; 72 0c 3575 jbe short 01e0dh ; 76 10 3576 cmp AL, strict byte 005h ; 3c 05 3577 je short 01e4bh ; 74 4a 3578 cmp AL, strict byte 004h ; 3c 04 3579 je short 01e0dh ; 74 08 3580 jmp short 01e63h ; eb 5c 3581 cmp AL, strict byte 002h ; 3c 02 3582 je short 01e2ch ; 74 21 3583 jmp short 01e63h ; eb 56 3508 3584 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3509 cmp ax, word [bp-012h] ; 3b 46 ee 3510 jnc near 01e1ah ; 0f 83 7d 00 3511 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3512 sal bx, 003h ; c1 e3 03 3513 mov al, byte [bx+04831h] ; 8a 87 31 48 3514 cmp AL, strict byte 003h ; 3c 03 3515 jc short 01db8h ; 72 0c 3516 jbe short 01dbeh ; 76 10 3517 cmp AL, strict byte 005h ; 3c 05 3518 je short 01dfch ; 74 4a 3519 cmp AL, strict byte 004h ; 3c 04 3520 je short 01dbeh ; 74 08 3521 jmp short 01e14h ; eb 5c 3522 cmp AL, strict byte 002h ; 3c 02 3523 je short 01dddh ; 74 21 3524 jmp short 01e14h ; eb 56 3525 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3526 push ax ; 50 3527 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3528 push ax ; 50 3529 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3530 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3531 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3532 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3533 call 01a30h ; e8 55 fc 3534 jmp short 01e14h ; eb 37 3535 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3536 push ax ; 50 3537 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3538 push ax ; 50 3539 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3540 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3541 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3542 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3543 call 01b16h ; e8 1c fd 3544 jmp short 01e14h ; eb 18 3545 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3546 push ax ; 50 3547 movzx cx, byte [bp-006h] ; 0f b6 4e fa 3548 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3549 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3550 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3551 call 01c2fh ; e8 1b fe 3552 inc byte [bp-008h] ; fe 46 f8 3553 jmp near 01d8ah ; e9 70 ff 3554 leave ; c9 3585 push ax ; 50 3586 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3587 push ax ; 50 3588 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 3589 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3590 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3591 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3592 call 01a6eh ; e8 44 fc 3593 jmp short 01e63h ; eb 37 3594 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3595 push ax ; 50 3596 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3597 push ax ; 50 3598 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 3599 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3600 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3601 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3602 call 01b59h ; e8 10 fd 3603 jmp short 01e63h ; eb 18 3604 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3605 push ax ; 50 3606 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 3607 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3608 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3609 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3610 call 01c77h ; e8 14 fe 3611 inc byte [bp-00ch] ; fe 46 f4 3612 jmp near 01dd9h ; e9 70 ff 3613 lea sp, [bp-004h] ; 8d 66 fc 3555 3614 pop di ; 5f 3556 3615 pop si ; 5e 3557 retn ; c3 3558 biosfn_write_char_only_: ; 0xc1e1e LB 0x16a 3616 pop bp ; 5d 3617 retn ; c3 3618 biosfn_write_char_only_: ; 0xc1e70 LB 0x16f 3619 push bp ; 55 3620 mov bp, sp ; 89 e5 3559 3621 push si ; 56 3560 3622 push di ; 57 3561 enter 00018h, 000h ; c8 18 00 003562 mov byte [bp-0 0eh], al ; 88 46 f23563 mov byte [bp-00 2h], dl ; 88 56 fe3564 mov byte [bp-01 0h], bl ; 88 5e f03623 sub sp, strict byte 00018h ; 83 ec 18 3624 mov byte [bp-012h], al ; 88 46 ee 3625 mov byte [bp-006h], dl ; 88 56 fa 3626 mov byte [bp-014h], bl ; 88 5e ec 3565 3627 mov si, cx ; 89 ce 3566 3628 mov dx, strict word 00049h ; ba 49 00 3567 3629 mov ax, strict word 00040h ; b8 40 00 3568 call 02 eebh ; e8 b3103630 call 02f77h ; e8 eb 10 3569 3631 xor ah, ah ; 30 e4 3570 call 02 ec4h ; e8 87103632 call 02f50h ; e8 bf 10 3571 3633 mov cl, al ; 88 c1 3572 mov byte [bp-00 ah], al ; 88 46 f63634 mov byte [bp-00eh], al ; 88 46 f2 3573 3635 cmp AL, strict byte 0ffh ; 3c ff 3574 je near 01f 84h ; 0f 84 3c 013575 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe3576 lea bx, [bp-01 8h] ; 8d 5e e83577 lea dx, [bp-01 6h] ; 8d 56 ea3578 call 00a8 3h ; e8 2e ec3579 mov al, byte [bp-01 8h] ; 8a 46 e83580 mov byte [bp-00 8h], al ; 88 46 f83581 mov ax, word [bp-01 8h] ; 8b 46 e83636 je near 01fd8h ; 0f 84 3c 01 3637 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3638 lea bx, [bp-01ch] ; 8d 5e e4 3639 lea dx, [bp-01ah] ; 8d 56 e6 3640 call 00a88h ; e8 df eb 3641 mov al, byte [bp-01ch] ; 8a 46 e4 3642 mov byte [bp-00ch], al ; 88 46 f4 3643 mov ax, word [bp-01ch] ; 8b 46 e4 3582 3644 xor al, al ; 30 c0 3583 3645 shr ax, 008h ; c1 e8 08 3584 mov byte [bp-0 0ch], al ; 88 46 f43646 mov byte [bp-010h], al ; 88 46 f0 3585 3647 mov dx, 00084h ; ba 84 00 3586 3648 mov ax, strict word 00040h ; b8 40 00 3587 call 02 eebh ; e8 7c103649 call 02f77h ; e8 b4 10 3588 3650 xor ah, ah ; 30 e4 3589 3651 inc ax ; 40 3590 mov word [bp-01 4h], ax ; 89 46 ec3652 mov word [bp-018h], ax ; 89 46 e8 3591 3653 mov dx, strict word 0004ah ; ba 4a 00 3592 3654 mov ax, strict word 00040h ; b8 40 00 3593 call 02f 07h ; e8 89103594 mov word [bp-01 2h], ax ; 89 46 ee3655 call 02f93h ; e8 c1 10 3656 mov word [bp-016h], ax ; 89 46 ea 3595 3657 movzx di, cl ; 0f b6 f9 3596 3658 mov bx, di ; 89 fb 3597 3659 sal bx, 003h ; c1 e3 03 3598 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 003599 jne short 01 edah ; 75 4a3600 mov dx, word [bp-01 4h] ; 8b 56 ec3660 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 3661 jne short 01f2eh ; 75 4a 3662 mov dx, word [bp-018h] ; 8b 56 e8 3601 3663 imul dx, ax ; 0f af d0 3602 3664 add dx, dx ; 01 d2 3603 3665 or dl, 0ffh ; 80 ca ff 3604 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe3666 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3605 3667 inc dx ; 42 3606 3668 imul bx, dx ; 0f af da 3607 movzx dx, byte [bp-0 0ch] ; 0f b6 56 f43669 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3608 3670 mov cx, ax ; 89 c1 3609 3671 imul cx, dx ; 0f af ca 3610 movzx dx, byte [bp-00 8h] ; 0f b6 56 f83672 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3611 3673 add cx, dx ; 01 d1 3612 3674 add cx, cx ; 01 c9 … … 3614 3676 dec si ; 4e 3615 3677 cmp si, strict byte 0ffffh ; 83 fe ff 3616 je near 01f 84h ; 0f 84 c6 003617 movzx ax, byte [bp-0 0eh] ; 0f b6 46 f23618 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63678 je near 01fd8h ; 0f 84 c6 00 3679 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3680 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3619 3681 sal bx, 003h ; c1 e3 03 3620 mov di, word [bx+0483 3h] ; 8b bf 33483682 mov di, word [bx+04838h] ; 8b bf 38 48 3621 3683 mov bx, ax ; 89 c3 3622 3684 mov dx, cx ; 89 ca 3623 3685 mov ax, di ; 89 f8 3624 call 02 ef9h ; e8 23103625 inc cx ; 41 3626 inc cx ; 41 3627 jmp short 01 eb6h ; eb dc3628 movzx di, byte [di+048 afh] ; 0f b6 bd af483686 call 02f85h ; e8 5b 10 3687 inc cx ; 41 3688 inc cx ; 41 3689 jmp short 01f0ah ; eb dc 3690 movzx di, byte [di+048b4h] ; 0f b6 bd b4 48 3629 3691 sal di, 006h ; c1 e7 06 3630 mov al, byte [di+048c 5h] ; 8a 85 c5483631 mov byte [bp-00 6h], al ; 88 46 fa3632 mov al, byte [bx+0483 2h] ; 8a 87 32483633 mov byte [bp-00 4h], al ; 88 46 fc3692 mov al, byte [di+048cah] ; 8a 85 ca 48 3693 mov byte [bp-00ah], al ; 88 46 f6 3694 mov al, byte [bx+04837h] ; 8a 87 37 48 3695 mov byte [bp-008h], al ; 88 46 f8 3634 3696 dec si ; 4e 3635 3697 cmp si, strict byte 0ffffh ; 83 fe ff 3636 je near 01f84h ; 0f 84 8c 00 3698 je near 01fd8h ; 0f 84 8c 00 3699 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3700 cmp ax, word [bp-016h] ; 3b 46 ea 3701 jnc near 01fd8h ; 0f 83 81 00 3702 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3703 sal bx, 003h ; c1 e3 03 3704 mov bl, byte [bx+04836h] ; 8a 9f 36 48 3705 cmp bl, 003h ; 80 fb 03 3706 jc short 01f75h ; 72 0e 3707 jbe short 01f7ch ; 76 13 3708 cmp bl, 005h ; 80 fb 05 3709 je short 01fbah ; 74 4c 3710 cmp bl, 004h ; 80 fb 04 3711 je short 01f7ch ; 74 09 3712 jmp short 01fd2h ; eb 5d 3713 cmp bl, 002h ; 80 fb 02 3714 je short 01f9bh ; 74 21 3715 jmp short 01fd2h ; eb 56 3716 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3717 push ax ; 50 3718 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3719 push ax ; 50 3720 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3721 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3722 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3723 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3724 call 01a6eh ; e8 d5 fa 3725 jmp short 01fd2h ; eb 37 3637 3726 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3638 cmp ax, word [bp-012h] ; 3b 46 ee 3639 jnc near 01f84h ; 0f 83 81 00 3640 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3641 sal bx, 003h ; c1 e3 03 3642 mov bl, byte [bx+04831h] ; 8a 9f 31 48 3643 cmp bl, 003h ; 80 fb 03 3644 jc short 01f21h ; 72 0e 3645 jbe short 01f28h ; 76 13 3646 cmp bl, 005h ; 80 fb 05 3647 je short 01f66h ; 74 4c 3648 cmp bl, 004h ; 80 fb 04 3649 je short 01f28h ; 74 09 3650 jmp short 01f7eh ; eb 5d 3651 cmp bl, 002h ; 80 fb 02 3652 je short 01f47h ; 74 21 3653 jmp short 01f7eh ; eb 56 3654 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3655 push ax ; 50 3727 push ax ; 50 3728 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3729 push ax ; 50 3730 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3731 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3732 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3656 3733 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3657 push ax ; 50 3658 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3659 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3660 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3661 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3662 call 01a30h ; e8 eb fa 3663 jmp short 01f7eh ; eb 37 3664 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3665 push ax ; 50 3734 call 01b59h ; e8 a1 fb 3735 jmp short 01fd2h ; eb 18 3736 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3737 push ax ; 50 3738 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3739 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3740 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3666 3741 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3667 push ax ; 50 3668 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3669 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3670 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3671 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3672 call 01b16h ; e8 b2 fb 3673 jmp short 01f7eh ; eb 18 3674 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3675 push ax ; 50 3676 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3677 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3678 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3679 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3680 call 01c2fh ; e8 b1 fc 3681 inc byte [bp-008h] ; fe 46 f8 3682 jmp near 01ef0h ; e9 6c ff 3683 leave ; c9 3742 call 01c77h ; e8 a5 fc 3743 inc byte [bp-00ch] ; fe 46 f4 3744 jmp near 01f44h ; e9 6c ff 3745 lea sp, [bp-004h] ; 8d 66 fc 3684 3746 pop di ; 5f 3685 3747 pop si ; 5e 3686 retn ; c3 3687 biosfn_write_pixel_: ; 0xc1f88 LB 0x168 3748 pop bp ; 5d 3749 retn ; c3 3750 biosfn_write_pixel_: ; 0xc1fdf LB 0x16a 3751 push bp ; 55 3752 mov bp, sp ; 89 e5 3688 3753 push si ; 56 3689 enter 00008h, 000h ; c8 08 00 003690 mov byte [bp-00 4h], dl ; 88 56 fc3691 mov word [bp-00 8h], bx ; 89 5e f83754 sub sp, strict byte 00008h ; 83 ec 08 3755 mov byte [bp-006h], dl ; 88 56 fa 3756 mov word [bp-00ah], bx ; 89 5e f6 3692 3757 mov dx, strict word 00049h ; ba 49 00 3693 3758 mov ax, strict word 00040h ; b8 40 00 3694 call 02 eebh ; e8 4f0f3759 call 02f77h ; e8 82 0f 3695 3760 xor ah, ah ; 30 e4 3696 call 02 ec4h ; e8 230f3697 mov byte [bp-00 2h], al ; 88 46 fe3761 call 02f50h ; e8 56 0f 3762 mov byte [bp-004h], al ; 88 46 fc 3698 3763 cmp AL, strict byte 0ffh ; 3c ff 3699 je near 02 0edh ; 0f 84 43013764 je near 02121h ; 0f 84 1e 01 3700 3765 movzx bx, al ; 0f b6 d8 3701 3766 sal bx, 003h ; c1 e3 03 3702 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 003703 je near 02 0edh ; 0f 84 34013704 mov al, byte [bx+0483 1h] ; 8a 87 31483767 cmp byte [bx+04835h], 000h ; 80 bf 35 48 00 3768 je near 02121h ; 0f 84 0f 01 3769 mov al, byte [bx+04836h] ; 8a 87 36 48 3705 3770 cmp AL, strict byte 003h ; 3c 03 3706 jc short 0 1fd0h ; 72 0f3707 jbe short 0 1fd7h ; 76 143771 jc short 02029h ; 72 0f 3772 jbe short 02030h ; 76 14 3708 3773 cmp AL, strict byte 005h ; 3c 05 3709 je near 02 0cbh ; 0f 84 02013774 je near 02127h ; 0f 84 05 01 3710 3775 cmp AL, strict byte 004h ; 3c 04 3711 je short 01fd7h ; 74 0a 3712 leave ; c9 3713 pop si ; 5e 3714 retn ; c3 3776 je short 02030h ; 74 0a 3777 jmp near 02121h ; e9 f8 00 3715 3778 cmp AL, strict byte 002h ; 3c 02 3716 je short 0203ch ; 74 68 3717 leave ; c9 3718 pop si ; 5e 3719 retn ; c3 3779 je short 02095h ; 74 68 3780 jmp near 02121h ; e9 f1 00 3720 3781 mov dx, strict word 0004ah ; ba 4a 00 3721 3782 mov ax, strict word 00040h ; b8 40 00 3722 call 02f 07h ; e8 270f3783 call 02f93h ; e8 5a 0f 3723 3784 imul ax, cx ; 0f af c1 3724 mov bx, word [bp-00 8h] ; 8b 5e f83785 mov bx, word [bp-00ah] ; 8b 5e f6 3725 3786 shr bx, 003h ; c1 eb 03 3726 3787 add bx, ax ; 01 c3 3727 mov word [bp-00 6h], bx ; 89 5e fa3728 mov cx, word [bp-00 8h] ; 8b 4e f83788 mov word [bp-008h], bx ; 89 5e f8 3789 mov cx, word [bp-00ah] ; 8b 4e f6 3729 3790 and cl, 007h ; 80 e1 07 3730 3791 mov ax, 00080h ; b8 80 00 … … 3739 3800 mov dx, bx ; 89 da 3740 3801 mov ax, 0a000h ; b8 00 a0 3741 call 02 eebh ; e8 db 0e3742 test byte [bp-00 4h], 080h ; f6 46 fc803743 je short 020 1dh ; 74 073802 call 02f77h ; e8 0e 0f 3803 test byte [bp-006h], 080h ; f6 46 fa 80 3804 je short 02076h ; 74 07 3744 3805 mov ax, 01803h ; b8 03 18 3745 3806 mov dx, 003ceh ; ba ce 03 3746 3807 out DX, ax ; ef 3747 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc3748 mov dx, word [bp-00 6h] ; 8b 56 fa3808 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3809 mov dx, word [bp-008h] ; 8b 56 f8 3749 3810 mov ax, 0a000h ; b8 00 a0 3750 call 02 ef9h ; e8 cf 0e3811 call 02f85h ; e8 02 0f 3751 3812 mov ax, 0ff08h ; b8 08 ff 3752 3813 mov dx, 003ceh ; ba ce 03 … … 3756 3817 mov ax, strict word 00003h ; b8 03 00 3757 3818 out DX, ax ; ef 3758 leave ; c9 3759 pop si ; 5e 3760 retn ; c3 3819 jmp near 02121h ; e9 8c 00 3761 3820 mov ax, cx ; 89 c8 3762 3821 shr ax, 1 ; d1 e8 3763 3822 imul ax, ax, strict byte 00050h ; 6b c0 50 3764 cmp byte [bx+0483 2h], 002h ; 80 bf 3248 023765 jne short 020 52h ; 75 083766 mov bx, word [bp-00 8h] ; 8b 5e f83823 cmp byte [bx+04837h], 002h ; 80 bf 37 48 02 3824 jne short 020abh ; 75 08 3825 mov bx, word [bp-00ah] ; 8b 5e f6 3767 3826 shr bx, 002h ; c1 eb 02 3768 jmp short 020 58h ; eb 063769 mov bx, word [bp-00 8h] ; 8b 5e f83827 jmp short 020b1h ; eb 06 3828 mov bx, word [bp-00ah] ; 8b 5e f6 3770 3829 shr bx, 003h ; c1 eb 03 3771 3830 add bx, ax ; 01 c3 3772 mov word [bp-00 6h], bx ; 89 5e fa3831 mov word [bp-008h], bx ; 89 5e f8 3773 3832 test cl, 001h ; f6 c1 01 3774 je short 020 66h ; 74 043775 add byte [bp-00 5h], 020h ; 80 46 fb203776 mov dx, word [bp-00 6h] ; 8b 56 fa3833 je short 020bfh ; 74 04 3834 add byte [bp-007h], 020h ; 80 46 f9 20 3835 mov dx, word [bp-008h] ; 8b 56 f8 3777 3836 mov ax, 0b800h ; b8 00 b8 3778 call 02 eebh ; e8 7c0e3837 call 02f77h ; e8 af 0e 3779 3838 mov bl, al ; 88 c3 3780 movzx si, byte [bp-00 2h] ; 0f b6 76 fe3839 movzx si, byte [bp-004h] ; 0f b6 76 fc 3781 3840 sal si, 003h ; c1 e6 03 3782 cmp byte [si+0483 2h], 002h ; 80 bc 3248 023783 jne short 020 98h ; 75 193784 mov al, byte [bp-00 8h] ; 8a 46 f83841 cmp byte [si+04837h], 002h ; 80 bc 37 48 02 3842 jne short 020f1h ; 75 19 3843 mov al, byte [bp-00ah] ; 8a 46 f6 3785 3844 and AL, strict byte 003h ; 24 03 3786 3845 mov AH, strict byte 003h ; b4 03 … … 3788 3847 mov cl, ah ; 88 e1 3789 3848 add cl, ah ; 00 e1 3790 mov bh, byte [bp-00 4h] ; 8a 7e fc3849 mov bh, byte [bp-006h] ; 8a 7e fa 3791 3850 and bh, 003h ; 80 e7 03 3792 3851 sal bh, CL ; d2 e7 3793 3852 mov AL, strict byte 003h ; b0 03 3794 jmp short 02 0abh ; eb 133795 mov al, byte [bp-00 8h] ; 8a 46 f83853 jmp short 02104h ; eb 13 3854 mov al, byte [bp-00ah] ; 8a 46 f6 3796 3855 and AL, strict byte 007h ; 24 07 3797 3856 mov CL, strict byte 007h ; b1 07 3798 3857 sub cl, al ; 28 c1 3799 mov bh, byte [bp-00 4h] ; 8a 7e fc3858 mov bh, byte [bp-006h] ; 8a 7e fa 3800 3859 and bh, 001h ; 80 e7 01 3801 3860 sal bh, CL ; d2 e7 3802 3861 mov AL, strict byte 001h ; b0 01 3803 3862 sal al, CL ; d2 e0 3804 test byte [bp-00 4h], 080h ; f6 46 fc803805 je short 02 0b7h ; 74 043863 test byte [bp-006h], 080h ; f6 46 fa 80 3864 je short 02110h ; 74 04 3806 3865 xor bl, bh ; 30 fb 3807 jmp short 02 0bdh ; eb 063866 jmp short 02116h ; eb 06 3808 3867 not al ; f6 d0 3809 3868 and bl, al ; 20 c3 3810 3869 or bl, bh ; 08 fb 3811 3870 xor bh, bh ; 30 ff 3812 mov dx, word [bp-00 6h] ; 8b 56 fa3871 mov dx, word [bp-008h] ; 8b 56 f8 3813 3872 mov ax, 0b800h ; b8 00 b8 3814 call 02 ef9h ; e8 310e3815 lea ve ; c93873 call 02f85h ; e8 64 0e 3874 lea sp, [bp-002h] ; 8d 66 fe 3816 3875 pop si ; 5e 3876 pop bp ; 5d 3817 3877 retn ; c3 3818 3878 mov dx, strict word 0004ah ; ba 4a 00 3819 3879 mov ax, strict word 00040h ; b8 40 00 3820 call 02f 07h ; e8 33 0e3880 call 02f93h ; e8 63 0e 3821 3881 sal ax, 003h ; c1 e0 03 3822 3882 imul cx, ax ; 0f af c8 3823 mov ax, word [bp-00 8h] ; 8b 46 f83883 mov ax, word [bp-00ah] ; 8b 46 f6 3824 3884 add ax, cx ; 01 c8 3825 mov word [bp-00 6h], ax ; 89 46 fa3826 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc3885 mov word [bp-008h], ax ; 89 46 f8 3886 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3827 3887 mov dx, ax ; 89 c2 3828 3888 mov ax, 0a000h ; b8 00 a0 3829 jmp short 020c5h ; eb d8 3830 leave ; c9 3831 pop si ; 5e 3832 retn ; c3 3833 biosfn_write_teletype_: ; 0xc20f0 LB 0x27f 3889 jmp short 0211eh ; eb d5 3890 biosfn_write_teletype_: ; 0xc2149 LB 0x284 3891 push bp ; 55 3892 mov bp, sp ; 89 e5 3834 3893 push si ; 56 3835 enter 00016h, 000h ; c8 16 00 003836 mov byte [bp-00 ah], al ; 88 46 f63837 mov byte [bp-00 2h], dl ; 88 56 fe3838 mov byte [bp-00 4h], bl ; 88 5e fc3839 mov byte [bp-0 0eh], cl ; 88 4e f23894 sub sp, strict byte 00016h ; 83 ec 16 3895 mov byte [bp-00ch], al ; 88 46 f4 3896 mov byte [bp-004h], dl ; 88 56 fc 3897 mov byte [bp-006h], bl ; 88 5e fa 3898 mov byte [bp-010h], cl ; 88 4e f0 3840 3899 cmp dl, 0ffh ; 80 fa ff 3841 jne short 021 12h ; 75 0c3900 jne short 0216dh ; 75 0c 3842 3901 mov dx, strict word 00062h ; ba 62 00 3843 3902 mov ax, strict word 00040h ; b8 40 00 3844 call 02 eebh ; e8 dc 0d3845 mov byte [bp-00 2h], al ; 88 46 fe3903 call 02f77h ; e8 0d 0e 3904 mov byte [bp-004h], al ; 88 46 fc 3846 3905 mov dx, strict word 00049h ; ba 49 00 3847 3906 mov ax, strict word 00040h ; b8 40 00 3848 call 02 eebh ; e8 d0 0d3907 call 02f77h ; e8 01 0e 3849 3908 xor ah, ah ; 30 e4 3850 call 02 ec4h ; e8 a40d3851 mov byte [bp-00 ch], al ; 88 46 f43909 call 02f50h ; e8 d5 0d 3910 mov byte [bp-00eh], al ; 88 46 f2 3852 3911 cmp AL, strict byte 0ffh ; 3c ff 3853 je near 023 6ch ; 0f 84 43 023854 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe3855 lea bx, [bp-01 6h] ; 8d 5e ea3856 lea dx, [bp-01 4h] ; 8d 56 ec3857 call 00a8 3h ; e8 4d e93858 mov al, byte [bp-01 6h] ; 8a 46 ea3859 mov byte [bp-00 6h], al ; 88 46 fa3860 mov ax, word [bp-01 6h] ; 8b 46 ea3912 je near 023c7h ; 0f 84 43 02 3913 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3914 lea bx, [bp-018h] ; 8d 5e e8 3915 lea dx, [bp-016h] ; 8d 56 ea 3916 call 00a88h ; e8 f7 e8 3917 mov al, byte [bp-018h] ; 8a 46 e8 3918 mov byte [bp-008h], al ; 88 46 f8 3919 mov ax, word [bp-018h] ; 8b 46 e8 3861 3920 xor al, al ; 30 c0 3862 3921 shr ax, 008h ; c1 e8 08 3863 mov byte [bp-00 8h], al ; 88 46 f83922 mov byte [bp-00ah], al ; 88 46 f6 3864 3923 mov dx, 00084h ; ba 84 00 3865 3924 mov ax, strict word 00040h ; b8 40 00 3866 call 02 eebh ; e8 9b0d3925 call 02f77h ; e8 cc 0d 3867 3926 xor ah, ah ; 30 e4 3868 3927 inc ax ; 40 3928 mov word [bp-014h], ax ; 89 46 ec 3929 mov dx, strict word 0004ah ; ba 4a 00 3930 mov ax, strict word 00040h ; b8 40 00 3931 call 02f93h ; e8 d9 0d 3869 3932 mov word [bp-012h], ax ; 89 46 ee 3870 mov dx, strict word 0004ah ; ba 4a 00 3871 mov ax, strict word 00040h ; b8 40 00 3872 call 02f07h ; e8 a8 0d 3873 mov word [bp-010h], ax ; 89 46 f0 3874 mov al, byte [bp-00ah] ; 8a 46 f6 3933 mov al, byte [bp-00ch] ; 8a 46 f4 3875 3934 cmp AL, strict byte 009h ; 3c 09 3876 jc short 021 75h ; 72 0c3877 jbe short 021 9ch ; 76 313935 jc short 021d0h ; 72 0c 3936 jbe short 021f7h ; 76 31 3878 3937 cmp AL, strict byte 00dh ; 3c 0d 3879 je short 021 8fh ; 74 203938 je short 021eah ; 74 20 3880 3939 cmp AL, strict byte 00ah ; 3c 0a 3881 je short 021 96h ; 74 233882 jmp short 02 1ddh ; eb 683940 je short 021f1h ; 74 23 3941 jmp short 02238h ; eb 68 3883 3942 cmp AL, strict byte 008h ; 3c 08 3884 je short 021 81h ; 74 083943 je short 021dch ; 74 08 3885 3944 cmp AL, strict byte 007h ; 3c 07 3886 je near 02 2b9h ; 0f 84 3a 013887 jmp short 02 1ddh ; eb 5c3888 cmp byte [bp-00 6h], 000h ; 80 7e fa003889 jbe near 02 2b9h ; 0f 86 30 013890 dec byte [bp-00 6h] ; fe 4e fa3891 jmp near 02 2b9h ; e9 2a 013892 mov byte [bp-00 6h], 000h ; c6 46 fa003893 jmp near 02 2b9h ; e9 23 013894 inc byte [bp-00 8h] ; fe 46 f83895 jmp near 02 2b9h ; e9 1d 013896 movzx cx, byte [bp-0 0eh] ; 0f b6 4e f23897 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc3898 movzx si, byte [bp-00 2h] ; 0f b6 76 fe3945 je near 02314h ; 0f 84 3a 01 3946 jmp short 02238h ; eb 5c 3947 cmp byte [bp-008h], 000h ; 80 7e f8 00 3948 jbe near 02314h ; 0f 86 30 01 3949 dec byte [bp-008h] ; fe 4e f8 3950 jmp near 02314h ; e9 2a 01 3951 mov byte [bp-008h], 000h ; c6 46 f8 00 3952 jmp near 02314h ; e9 23 01 3953 inc byte [bp-00ah] ; fe 46 f6 3954 jmp near 02314h ; e9 1d 01 3955 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3956 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3957 movzx si, byte [bp-004h] ; 0f b6 76 fc 3899 3958 mov dx, si ; 89 f2 3900 3959 mov ax, strict word 00020h ; b8 20 00 3901 call 02 0f0h ; e8 40ff3902 lea bx, [bp-01 6h] ; 8d 5e ea3903 lea dx, [bp-01 4h] ; 8d 56 ec3904 mov ax, si ; 89 f0 3905 call 00a8 3h ; e8 c8e83906 mov al, byte [bp-01 6h] ; 8a 46 ea3907 mov byte [bp-00 6h], al ; 88 46 fa3908 mov ax, word [bp-01 6h] ; 8b 46 ea3960 call 02149h ; e8 3e ff 3961 lea bx, [bp-018h] ; 8d 5e e8 3962 lea dx, [bp-016h] ; 8d 56 ea 3963 mov ax, si ; 89 f0 3964 call 00a88h ; e8 72 e8 3965 mov al, byte [bp-018h] ; 8a 46 e8 3966 mov byte [bp-008h], al ; 88 46 f8 3967 mov ax, word [bp-018h] ; 8b 46 e8 3909 3968 xor al, al ; 30 c0 3910 3969 shr ax, 008h ; c1 e8 08 3911 mov byte [bp-00 8h], al ; 88 46 f83912 movzx ax, byte [bp-00 6h] ; 0f b6 46 fa3970 mov byte [bp-00ah], al ; 88 46 f6 3971 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3913 3972 mov bx, strict word 00008h ; bb 08 00 3914 3973 cwd ; 99 3915 3974 idiv bx ; f7 fb 3916 3975 test dx, dx ; 85 d2 3917 je short 021 9ch ; 74 c23918 jmp near 02 2b9h ; e9 dc 003919 movzx bx, byte [bp-00 ch] ; 0f b6 5e f43976 je short 021f7h ; 74 c2 3977 jmp near 02314h ; e9 dc 00 3978 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3920 3979 mov si, bx ; 89 de 3921 3980 sal si, 003h ; c1 e6 03 3922 cmp byte [si+0483 0h], 000h ; 80 bc 3048 003923 jne short 022 38h ; 75 4b3924 mov ax, word [bp-01 0h] ; 8b 46 f03925 imul ax, word [bp-01 2h] ; 0f af 46 ee3981 cmp byte [si+04835h], 000h ; 80 bc 35 48 00 3982 jne short 02293h ; 75 4b 3983 mov ax, word [bp-012h] ; 8b 46 ee 3984 imul ax, word [bp-014h] ; 0f af 46 ec 3926 3985 add ax, ax ; 01 c0 3927 3986 or AL, strict byte 0ffh ; 0c ff 3928 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe3987 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3929 3988 inc ax ; 40 3930 3989 imul dx, ax ; 0f af d0 3931 movzx cx, byte [bp-00 8h] ; 0f b6 4e f83932 imul cx, word [bp-01 0h] ; 0f af 4e f03933 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa3990 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 3991 imul cx, word [bp-012h] ; 0f af 4e ee 3992 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3934 3993 add cx, bx ; 01 d9 3935 3994 add cx, cx ; 01 c9 3936 3995 add cx, dx ; 01 d1 3937 movzx bx, byte [bp-00 ah] ; 0f b6 5e f63938 mov ax, word [si+0483 3h] ; 8b 84 33483939 mov dx, cx ; 89 ca 3940 call 02 ef9h ; e8 da 0c3941 cmp byte [bp-0 0eh], 003h ; 80 7e f2033942 jne near 02 2b6h ; 0f 85 8f 003943 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc3996 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3997 mov ax, word [si+04838h] ; 8b 84 38 48 3998 mov dx, cx ; 89 ca 3999 call 02f85h ; e8 0b 0d 4000 cmp byte [bp-010h], 003h ; 80 7e f0 03 4001 jne near 02311h ; 0f 85 8f 00 4002 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3944 4003 mov dx, cx ; 89 ca 3945 4004 inc dx ; 42 3946 mov ax, word [si+0483 3h] ; 8b 84 33483947 call 02 ef9h ; e8 c40c3948 jmp near 02 2b6h ; e9 7e 003949 movzx bx, byte [bx+048 afh] ; 0f b6 9f af484005 mov ax, word [si+04838h] ; 8b 84 38 48 4006 call 02f85h ; e8 f5 0c 4007 jmp near 02311h ; e9 7e 00 4008 movzx bx, byte [bx+048b4h] ; 0f b6 9f b4 48 3950 4009 sal bx, 006h ; c1 e3 06 3951 mov ah, byte [bx+048c 5h] ; 8a a7 c5483952 mov dl, byte [si+0483 2h] ; 8a 94 32483953 mov al, byte [si+0483 1h] ; 8a 84 31484010 mov ah, byte [bx+048cah] ; 8a a7 ca 48 4011 mov dl, byte [si+04837h] ; 8a 94 37 48 4012 mov al, byte [si+04836h] ; 8a 84 36 48 3954 4013 cmp AL, strict byte 003h ; 3c 03 3955 jc short 022 5ch ; 72 0c3956 jbe short 022 62h ; 76 104014 jc short 022b7h ; 72 0c 4015 jbe short 022bdh ; 76 10 3957 4016 cmp AL, strict byte 005h ; 3c 05 3958 je short 022 9eh ; 74 484017 je short 022f9h ; 74 48 3959 4018 cmp AL, strict byte 004h ; 3c 04 3960 je short 022 62h ; 74 083961 jmp short 02 2b6h ; eb 5a4019 je short 022bdh ; 74 08 4020 jmp short 02311h ; eb 5a 3962 4021 cmp AL, strict byte 002h ; 3c 02 3963 je short 022 80h ; 74 203964 jmp short 02 2b6h ; eb 544022 je short 022dbh ; 74 20 4023 jmp short 02311h ; eb 54 3965 4024 movzx ax, ah ; 0f b6 c4 3966 4025 push ax ; 50 3967 movzx ax, byte [bp-01 0h] ; 0f b6 46 f03968 push ax ; 50 3969 movzx cx, byte [bp-00 8h] ; 0f b6 4e f83970 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa3971 movzx dx, byte [bp-00 4h] ; 0f b6 56 fc3972 movzx ax, byte [bp-00 ah] ; 0f b6 46 f63973 call 01a 30h ; e8 b2f73974 jmp short 02 2b6h ; eb 364026 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4027 push ax ; 50 4028 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4029 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4030 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4031 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4032 call 01a6eh ; e8 95 f7 4033 jmp short 02311h ; eb 36 3975 4034 movzx ax, dl ; 0f b6 c2 3976 4035 push ax ; 50 3977 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3978 push ax ; 50 3979 movzx cx, byte [bp-008h] ; 0f b6 4e f8 3980 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3981 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3982 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3983 call 01b16h ; e8 7a f8 3984 jmp short 022b6h ; eb 18 3985 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3986 push ax ; 50 3987 movzx cx, byte [bp-008h] ; 0f b6 4e f8 3988 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3989 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3990 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3991 call 01c2fh ; e8 79 f9 3992 inc byte [bp-006h] ; fe 46 fa 3993 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3994 cmp ax, word [bp-010h] ; 3b 46 f0 3995 jne short 022c9h ; 75 07 3996 mov byte [bp-006h], 000h ; c6 46 fa 00 4036 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4037 push ax ; 50 4038 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4039 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4040 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4041 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4042 call 01b59h ; e8 62 f8 4043 jmp short 02311h ; eb 18 4044 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4045 push ax ; 50 4046 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4047 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4048 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4049 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4050 call 01c77h ; e8 66 f9 3997 4051 inc byte [bp-008h] ; fe 46 f8 3998 4052 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3999 4053 cmp ax, word [bp-012h] ; 3b 46 ee 4000 jne near 02350h ; 0f 85 7c 00 4001 movzx si, byte [bp-00ch] ; 0f b6 76 f4 4054 jne short 02324h ; 75 07 4055 mov byte [bp-008h], 000h ; c6 46 f8 00 4056 inc byte [bp-00ah] ; fe 46 f6 4057 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4058 cmp ax, word [bp-014h] ; 3b 46 ec 4059 jne near 023abh ; 0f 85 7c 00 4060 movzx si, byte [bp-00eh] ; 0f b6 76 f2 4002 4061 sal si, 003h ; c1 e6 03 4003 mov bl, byte [bp-01 2h] ; 8a 5e ee4062 mov bl, byte [bp-014h] ; 8a 5e ec 4004 4063 db 0feh, 0cbh 4005 4064 ; dec bl ; fe cb 4006 mov bh, byte [bp-01 0h] ; 8a 7e f04065 mov bh, byte [bp-012h] ; 8a 7e ee 4007 4066 db 0feh, 0cfh 4008 4067 ; dec bh ; fe cf 4009 cmp byte [si+0483 0h], 000h ; 80 bc 3048 004010 jne short 023 32h ; 75 464011 mov ax, word [bp-01 0h] ; 8b 46 f04012 imul ax, word [bp-01 2h] ; 0f af 46 ee4068 cmp byte [si+04835h], 000h ; 80 bc 35 48 00 4069 jne short 0238dh ; 75 46 4070 mov ax, word [bp-012h] ; 8b 46 ee 4071 imul ax, word [bp-014h] ; 0f af 46 ec 4013 4072 add ax, ax ; 01 c0 4014 4073 or AL, strict byte 0ffh ; 0c ff 4015 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe4074 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4016 4075 inc ax ; 40 4017 4076 imul dx, ax ; 0f af d0 4018 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84077 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4019 4078 dec ax ; 48 4020 imul ax, word [bp-01 0h] ; 0f af 46 f04021 movzx cx, byte [bp-00 6h] ; 0f b6 4e fa4079 imul ax, word [bp-012h] ; 0f af 46 ee 4080 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4022 4081 add cx, ax ; 01 c1 4023 4082 add cx, cx ; 01 c9 4024 4083 add dx, cx ; 01 ca 4025 4084 inc dx ; 42 4026 mov ax, word [si+0483 3h] ; 8b 84 33484027 call 02 eebh ; e8 d1 0b4085 mov ax, word [si+04838h] ; 8b 84 38 48 4086 call 02f77h ; e8 02 0c 4028 4087 push strict byte 00001h ; 6a 01 4029 movzx dx, byte [bp-00 2h] ; 0f b6 56 fe4088 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4030 4089 push dx ; 52 4031 4090 movzx dx, bh ; 0f b6 d7 … … 4036 4095 xor cx, cx ; 31 c9 4037 4096 xor bx, bx ; 31 db 4038 jmp short 023 47h ; eb 154097 jmp short 023a2h ; eb 15 4039 4098 push strict byte 00001h ; 6a 01 4040 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe4099 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4041 4100 push ax ; 50 4042 4101 movzx ax, bh ; 0f b6 c7 … … 4048 4107 xor dx, dx ; 31 d2 4049 4108 mov ax, strict word 00001h ; b8 01 00 4050 call 0152fh ; e8 e2 f1 4051 dec byte [bp-008h] ; fe 4e f8 4109 call 01568h ; e8 c0 f1 4110 dec byte [bp-00ah] ; fe 4e f6 4111 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4112 mov word [bp-018h], ax ; 89 46 e8 4113 sal word [bp-018h], 008h ; c1 66 e8 08 4052 4114 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4053 mov word [bp-016h], ax ; 89 46 ea 4054 sal word [bp-016h], 008h ; c1 66 ea 08 4055 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4056 add word [bp-016h], ax ; 01 46 ea 4057 mov dx, word [bp-016h] ; 8b 56 ea 4058 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4059 call 00e42h ; e8 d6 ea 4060 leave ; c9 4115 add word [bp-018h], ax ; 01 46 e8 4116 mov dx, word [bp-018h] ; 8b 56 e8 4117 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4118 call 00e5eh ; e8 97 ea 4119 lea sp, [bp-002h] ; 8d 66 fe 4061 4120 pop si ; 5e 4062 retn ; c34063 get_font_access_: ; 0xc236f LB 0x29 4064 push dx ; 52 4121 pop bp ; 5d 4122 retn ; c3 4123 get_font_access_: ; 0xc23cd LB 0x2c 4065 4124 push bp ; 55 4066 4125 mov bp, sp ; 89 e5 4126 push dx ; 52 4067 4127 mov ax, 00100h ; b8 00 01 4068 4128 mov dx, 003c4h ; ba c4 03 … … 4081 4141 mov ax, 00406h ; b8 06 04 4082 4142 out DX, ax ; ef 4143 lea sp, [bp-002h] ; 8d 66 fe 4144 pop dx ; 5a 4083 4145 pop bp ; 5d 4084 pop dx ; 5a 4085 retn ; c3 4086 release_font_access_: ; 0xc2398 LB 0x39 4087 push dx ; 52 4146 retn ; c3 4147 release_font_access_: ; 0xc23f9 LB 0x3c 4088 4148 push bp ; 55 4089 4149 mov bp, sp ; 89 e5 4150 push dx ; 52 4090 4151 mov ax, 00100h ; b8 00 01 4091 4152 mov dx, 003c4h ; ba c4 03 … … 4112 4173 mov ax, 01005h ; b8 05 10 4113 4174 out DX, ax ; ef 4175 lea sp, [bp-002h] ; 8d 66 fe 4176 pop dx ; 5a 4114 4177 pop bp ; 5d 4115 pop dx ; 5a 4116 retn ; c3 4117 set_scan_lines_: ; 0xc23d1 LB 0xbc 4178 retn ; c3 4179 set_scan_lines_: ; 0xc2435 LB 0xbf 4180 push bp ; 55 4181 mov bp, sp ; 89 e5 4118 4182 push bx ; 53 4119 4183 push cx ; 51 … … 4121 4185 push si ; 56 4122 4186 push di ; 57 4123 push bp ; 554124 mov bp, sp ; 89 e54125 4187 mov bl, al ; 88 c3 4126 4188 mov dx, strict word 00063h ; ba 63 00 4127 4189 mov ax, strict word 00040h ; b8 40 00 4128 call 02f 07h ; e8 230b4190 call 02f93h ; e8 4b 0b 4129 4191 mov dx, ax ; 89 c2 4130 4192 mov si, ax ; 89 c6 … … 4143 4205 out DX, AL ; ee 4144 4206 cmp bl, 008h ; 80 fb 08 4145 jne short 024 08h ; 75 084207 jne short 0246ch ; 75 08 4146 4208 mov dx, strict word 00007h ; ba 07 00 4147 4209 mov ax, strict word 00006h ; b8 06 00 4148 jmp short 024 15h ; eb 0d4210 jmp short 02479h ; eb 0d 4149 4211 mov al, bl ; 88 d8 4150 4212 sub AL, strict byte 003h ; 2c 03 … … 4153 4215 sub AL, strict byte 004h ; 2c 04 4154 4216 xor ah, ah ; 30 e4 4155 call 00d a1h ; e8 89e94217 call 00dbah ; e8 3e e9 4156 4218 movzx di, bl ; 0f b6 fb 4157 4219 mov bx, di ; 89 fb 4158 4220 mov dx, 00085h ; ba 85 00 4159 4221 mov ax, strict word 00040h ; b8 40 00 4160 call 02f 15h ; e8 ef 0a4222 call 02fa1h ; e8 17 0b 4161 4223 mov AL, strict byte 012h ; b0 12 4162 4224 mov dx, si ; 89 f2 … … 4193 4255 mov dx, 00084h ; ba 84 00 4194 4256 mov ax, strict word 00040h ; b8 40 00 4195 call 02 ef9h ; e8 8f0a4257 call 02f85h ; e8 b7 0a 4196 4258 mov dx, strict word 0004ah ; ba 4a 00 4197 4259 mov ax, strict word 00040h ; b8 40 00 4198 call 02f 07h ; e8 940a4260 call 02f93h ; e8 bc 0a 4199 4261 movzx dx, cl ; 0f b6 d1 4200 4262 mov bx, ax ; 89 c3 … … 4203 4265 mov dx, strict word 0004ch ; ba 4c 00 4204 4266 mov ax, strict word 00040h ; b8 40 00 4205 call 02f 15h ; e8 8f0a4206 pop bp ; 5d4267 call 02fa1h ; e8 b7 0a 4268 lea sp, [bp-00ah] ; 8d 66 f6 4207 4269 pop di ; 5f 4208 4270 pop si ; 5e … … 4210 4272 pop cx ; 59 4211 4273 pop bx ; 5b 4212 retn ; c3 4213 biosfn_load_text_user_pat_: ; 0xc248d LB 0x78 4274 pop bp ; 5d 4275 retn ; c3 4276 biosfn_load_text_user_pat_: ; 0xc24f4 LB 0x7d 4277 push bp ; 55 4278 mov bp, sp ; 89 e5 4214 4279 push si ; 56 4215 4280 push di ; 57 4216 enter 0000ah, 000h ; c8 0a 00 004217 mov byte [bp-00 2h], al ; 88 46 fe4218 mov word [bp-00 8h], dx ; 89 56 f84219 mov word [bp-00 4h], bx ; 89 5e fc4220 mov word [bp-00 6h], cx ; 89 4e fa4221 call 023 6fh ; e8 cdfe4222 mov al, byte [bp+00 ah] ; 8a 46 0a4281 sub sp, strict byte 0000ah ; 83 ec 0a 4282 mov byte [bp-006h], al ; 88 46 fa 4283 mov word [bp-00ch], dx ; 89 56 f4 4284 mov word [bp-008h], bx ; 89 5e f8 4285 mov word [bp-00ah], cx ; 89 4e f6 4286 call 023cdh ; e8 c2 fe 4287 mov al, byte [bp+006h] ; 8a 46 06 4223 4288 and AL, strict byte 003h ; 24 03 4224 4289 xor ah, ah ; 30 e4 4225 4290 mov bx, ax ; 89 c3 4226 4291 sal bx, 00eh ; c1 e3 0e 4227 mov al, byte [bp+00 ah] ; 8a 46 0a4292 mov al, byte [bp+006h] ; 8a 46 06 4228 4293 and AL, strict byte 004h ; 24 04 4229 4294 xor ah, ah ; 30 e4 4230 4295 sal ax, 00bh ; c1 e0 0b 4231 4296 add bx, ax ; 01 c3 4232 mov word [bp-00 ah], bx ; 89 5e f64297 mov word [bp-00eh], bx ; 89 5e f2 4233 4298 xor bx, bx ; 31 db 4234 cmp bx, word [bp-00 6h] ; 3b 5e fa4235 jnc short 02 4efh ; 73 2b4236 movzx cx, byte [bp+00 ch] ; 0f b6 4e 0c4299 cmp bx, word [bp-00ah] ; 3b 5e f6 4300 jnc short 02558h ; 73 2b 4301 movzx cx, byte [bp+008h] ; 0f b6 4e 08 4237 4302 mov si, bx ; 89 de 4238 4303 imul si, cx ; 0f af f1 4239 add si, word [bp-00 4h] ; 03 76 fc4240 mov di, word [bp+00 8h] ; 8b 7e 084304 add si, word [bp-008h] ; 03 76 f8 4305 mov di, word [bp+004h] ; 8b 7e 04 4241 4306 add di, bx ; 01 df 4242 4307 sal di, 005h ; c1 e7 05 4243 add di, word [bp-00 ah] ; 03 7e f64244 mov dx, word [bp-00 8h] ; 8b 56 f84308 add di, word [bp-00eh] ; 03 7e f2 4309 mov dx, word [bp-00ch] ; 8b 56 f4 4245 4310 mov ax, 0a000h ; b8 00 a0 4246 4311 mov es, ax ; 8e c0 4247 4312 cld ; fc 4248 jcxz 02 4ech ; e3 064313 jcxz 02555h ; e3 06 4249 4314 push DS ; 1e 4250 4315 mov ds, dx ; 8e da … … 4252 4317 pop DS ; 1f 4253 4318 inc bx ; 43 4254 jmp short 02 4bfh ; eb d04255 call 023 98h ; e8 a6fe4256 cmp byte [bp-00 2h], 010h ; 80 7e fe104257 jc short 02 4ffh ; 72 074258 movzx ax, byte [bp+00 ch] ; 0f b6 46 0c4259 call 02 3d1h ; e8 d2fe4260 lea ve ; c94319 jmp short 02528h ; eb d0 4320 call 023f9h ; e8 9e fe 4321 cmp byte [bp-006h], 010h ; 80 7e fa 10 4322 jc short 02568h ; 72 07 4323 movzx ax, byte [bp+008h] ; 0f b6 46 08 4324 call 02435h ; e8 cd fe 4325 lea sp, [bp-004h] ; 8d 66 fc 4261 4326 pop di ; 5f 4262 4327 pop si ; 5e 4328 pop bp ; 5d 4263 4329 retn 00006h ; c2 06 00 4264 biosfn_load_text_8_14_pat_: ; 0xc2505 LB 0x6c 4330 biosfn_load_text_8_14_pat_: ; 0xc2571 LB 0x70 4331 push bp ; 55 4332 mov bp, sp ; 89 e5 4265 4333 push bx ; 53 4266 4334 push cx ; 51 4267 4335 push si ; 56 4268 4336 push di ; 57 4269 enter 00004h, 000h ; c8 04 00 00 4270 mov byte [bp-002h], al ; 88 46 fe 4271 call 0236fh ; e8 5c fe 4337 push ax ; 50 4338 push ax ; 50 4339 mov byte [bp-00ah], al ; 88 46 f6 4340 call 023cdh ; e8 4d fe 4272 4341 mov al, dl ; 88 d0 4273 4342 and AL, strict byte 003h ; 24 03 … … 4280 4349 sal ax, 00bh ; c1 e0 0b 4281 4350 add bx, ax ; 01 c3 4282 mov word [bp-00 4h], bx ; 89 5e fc4351 mov word [bp-00ch], bx ; 89 5e f4 4283 4352 xor bx, bx ; 31 db 4284 jmp short 025 36h ; eb 064353 jmp short 025a3h ; eb 06 4285 4354 cmp bx, 00100h ; 81 fb 00 01 4286 jnc short 025 5ch ; 73 264355 jnc short 025c9h ; 73 26 4287 4356 imul si, bx, strict byte 0000eh ; 6b f3 0e 4288 4357 mov di, bx ; 89 df 4289 4358 sal di, 005h ; c1 e7 05 4290 add di, word [bp-00 4h] ; 03 7e fc4291 add si, 05d afh ; 81 c6 af5d4359 add di, word [bp-00ch] ; 03 7e f4 4360 add si, 05db4h ; 81 c6 b4 5d 4292 4361 mov cx, strict word 0000eh ; b9 0e 00 4293 4362 mov dx, 0c000h ; ba 00 c0 … … 4295 4364 mov es, ax ; 8e c0 4296 4365 cld ; fc 4297 jcxz 025 59h ; e3 064366 jcxz 025c6h ; e3 06 4298 4367 push DS ; 1e 4299 4368 mov ds, dx ; 8e da … … 4301 4370 pop DS ; 1f 4302 4371 inc bx ; 43 4303 jmp short 025 30h ; eb d44304 call 023 98h ; e8 39fe4305 cmp byte [bp-00 2h], 010h ; 80 7e fe104306 jc short 025 6bh ; 72 064372 jmp short 0259dh ; eb d4 4373 call 023f9h ; e8 2d fe 4374 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4375 jc short 025d8h ; 72 06 4307 4376 mov ax, strict word 0000eh ; b8 0e 00 4308 call 02 3d1h ; e8 66fe4309 lea ve ; c94377 call 02435h ; e8 5d fe 4378 lea sp, [bp-008h] ; 8d 66 f8 4310 4379 pop di ; 5f 4311 4380 pop si ; 5e 4312 4381 pop cx ; 59 4313 4382 pop bx ; 5b 4314 retn ; c3 4315 biosfn_load_text_8_8_pat_: ; 0xc2571 LB 0x6e 4383 pop bp ; 5d 4384 retn ; c3 4385 biosfn_load_text_8_8_pat_: ; 0xc25e1 LB 0x72 4386 push bp ; 55 4387 mov bp, sp ; 89 e5 4316 4388 push bx ; 53 4317 4389 push cx ; 51 4318 4390 push si ; 56 4319 4391 push di ; 57 4320 enter 00004h, 000h ; c8 04 00 00 4321 mov byte [bp-002h], al ; 88 46 fe 4322 call 0236fh ; e8 f0 fd 4392 push ax ; 50 4393 push ax ; 50 4394 mov byte [bp-00ah], al ; 88 46 f6 4395 call 023cdh ; e8 dd fd 4323 4396 mov al, dl ; 88 d0 4324 4397 and AL, strict byte 003h ; 24 03 … … 4331 4404 sal ax, 00bh ; c1 e0 0b 4332 4405 add bx, ax ; 01 c3 4333 mov word [bp-00 4h], bx ; 89 5e fc4406 mov word [bp-00ch], bx ; 89 5e f4 4334 4407 xor bx, bx ; 31 db 4335 jmp short 02 5a2h ; eb 064408 jmp short 02613h ; eb 06 4336 4409 cmp bx, 00100h ; 81 fb 00 01 4337 jnc short 02 5cah ; 73 284410 jnc short 0263bh ; 73 28 4338 4411 mov si, bx ; 89 de 4339 4412 sal si, 003h ; c1 e6 03 4340 4413 mov di, bx ; 89 df 4341 4414 sal di, 005h ; c1 e7 05 4342 add di, word [bp-00 4h] ; 03 7e fc4343 add si, 055 afh ; 81 c6 af554415 add di, word [bp-00ch] ; 03 7e f4 4416 add si, 055b4h ; 81 c6 b4 55 4344 4417 mov cx, strict word 00008h ; b9 08 00 4345 4418 mov dx, 0c000h ; ba 00 c0 … … 4347 4420 mov es, ax ; 8e c0 4348 4421 cld ; fc 4349 jcxz 02 5c7h ; e3 064422 jcxz 02638h ; e3 06 4350 4423 push DS ; 1e 4351 4424 mov ds, dx ; 8e da … … 4353 4426 pop DS ; 1f 4354 4427 inc bx ; 43 4355 jmp short 02 59ch ; eb d24356 call 023 98h ; e8 cb fd4357 cmp byte [bp-00 2h], 010h ; 80 7e fe104358 jc short 02 5d9h ; 72 064428 jmp short 0260dh ; eb d2 4429 call 023f9h ; e8 bb fd 4430 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4431 jc short 0264ah ; 72 06 4359 4432 mov ax, strict word 00008h ; b8 08 00 4360 call 02 3d1h ; e8 f8fd4361 lea ve ; c94433 call 02435h ; e8 eb fd 4434 lea sp, [bp-008h] ; 8d 66 f8 4362 4435 pop di ; 5f 4363 4436 pop si ; 5e 4364 4437 pop cx ; 59 4365 4438 pop bx ; 5b 4366 retn ; c3 4367 biosfn_load_text_8_16_pat_: ; 0xc25df LB 0x6e 4439 pop bp ; 5d 4440 retn ; c3 4441 biosfn_load_text_8_16_pat_: ; 0xc2653 LB 0x72 4442 push bp ; 55 4443 mov bp, sp ; 89 e5 4368 4444 push bx ; 53 4369 4445 push cx ; 51 4370 4446 push si ; 56 4371 4447 push di ; 57 4372 enter 00004h, 000h ; c8 04 00 00 4373 mov byte [bp-002h], al ; 88 46 fe 4374 call 0236fh ; e8 82 fd 4448 push ax ; 50 4449 push ax ; 50 4450 mov byte [bp-00ah], al ; 88 46 f6 4451 call 023cdh ; e8 6b fd 4375 4452 mov al, dl ; 88 d0 4376 4453 and AL, strict byte 003h ; 24 03 … … 4383 4460 sal ax, 00bh ; c1 e0 0b 4384 4461 add bx, ax ; 01 c3 4385 mov word [bp-00 4h], bx ; 89 5e fc4462 mov word [bp-00ch], bx ; 89 5e f4 4386 4463 xor bx, bx ; 31 db 4387 jmp short 026 10h ; eb 064464 jmp short 02685h ; eb 06 4388 4465 cmp bx, 00100h ; 81 fb 00 01 4389 jnc short 026 38h ; 73 284466 jnc short 026adh ; 73 28 4390 4467 mov si, bx ; 89 de 4391 4468 sal si, 004h ; c1 e6 04 4392 4469 mov di, bx ; 89 df 4393 4470 sal di, 005h ; c1 e7 05 4394 add di, word [bp-00 4h] ; 03 7e fc4395 add si, 06b afh ; 81 c6 af6b4471 add di, word [bp-00ch] ; 03 7e f4 4472 add si, 06bb4h ; 81 c6 b4 6b 4396 4473 mov cx, strict word 00010h ; b9 10 00 4397 4474 mov dx, 0c000h ; ba 00 c0 … … 4399 4476 mov es, ax ; 8e c0 4400 4477 cld ; fc 4401 jcxz 026 35h ; e3 064478 jcxz 026aah ; e3 06 4402 4479 push DS ; 1e 4403 4480 mov ds, dx ; 8e da … … 4405 4482 pop DS ; 1f 4406 4483 inc bx ; 43 4407 jmp short 026 0ah ; eb d24408 call 023 98h ; e8 5dfd4409 cmp byte [bp-00 2h], 010h ; 80 7e fe104410 jc short 026 47h ; 72 064484 jmp short 0267fh ; eb d2 4485 call 023f9h ; e8 49 fd 4486 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4487 jc short 026bch ; 72 06 4411 4488 mov ax, strict word 00010h ; b8 10 00 4412 call 02 3d1h ; e8 8afd4413 lea ve ; c94489 call 02435h ; e8 79 fd 4490 lea sp, [bp-008h] ; 8d 66 f8 4414 4491 pop di ; 5f 4415 4492 pop si ; 5e 4416 4493 pop cx ; 59 4417 4494 pop bx ; 5b 4418 retn ; c3 4419 biosfn_load_gfx_8_8_chars_: ; 0xc264d LB 0x5 4495 pop bp ; 5d 4496 retn ; c3 4497 biosfn_load_gfx_8_8_chars_: ; 0xc26c5 LB 0x5 4420 4498 push bp ; 55 4421 4499 mov bp, sp ; 89 e5 4422 4500 pop bp ; 5d 4423 4501 retn ; c3 4424 biosfn_load_gfx_user_chars_: ; 0xc26 52LB 0x74502 biosfn_load_gfx_user_chars_: ; 0xc26ca LB 0x7 4425 4503 push bp ; 55 4426 4504 mov bp, sp ; 89 e5 4427 4505 pop bp ; 5d 4428 4506 retn 00002h ; c2 02 00 4429 biosfn_load_gfx_8_14_chars_: ; 0xc26 59LB 0x54507 biosfn_load_gfx_8_14_chars_: ; 0xc26d1 LB 0x5 4430 4508 push bp ; 55 4431 4509 mov bp, sp ; 89 e5 4432 4510 pop bp ; 5d 4433 4511 retn ; c3 4434 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 5eLB 0x54512 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26d6 LB 0x5 4435 4513 push bp ; 55 4436 4514 mov bp, sp ; 89 e5 4437 4515 pop bp ; 5d 4438 4516 retn ; c3 4439 biosfn_load_gfx_8_16_chars_: ; 0xc26 63LB 0x54517 biosfn_load_gfx_8_16_chars_: ; 0xc26db LB 0x5 4440 4518 push bp ; 55 4441 4519 mov bp, sp ; 89 e5 4442 4520 pop bp ; 5d 4443 4521 retn ; c3 4444 biosfn_alternate_prtsc_: ; 0xc26 68LB 0x54522 biosfn_alternate_prtsc_: ; 0xc26e0 LB 0x5 4445 4523 push bp ; 55 4446 4524 mov bp, sp ; 89 e5 4447 4525 pop bp ; 5d 4448 4526 retn ; c3 4449 biosfn_switch_video_interface_: ; 0xc26 6dLB 0x54527 biosfn_switch_video_interface_: ; 0xc26e5 LB 0x5 4450 4528 push bp ; 55 4451 4529 mov bp, sp ; 89 e5 4452 4530 pop bp ; 5d 4453 4531 retn ; c3 4454 biosfn_enable_video_refresh_control_: ; 0xc26 72LB 0x54532 biosfn_enable_video_refresh_control_: ; 0xc26ea LB 0x5 4455 4533 push bp ; 55 4456 4534 mov bp, sp ; 89 e5 4457 4535 pop bp ; 5d 4458 4536 retn ; c3 4459 biosfn_write_string_: ; 0xc2677 LB 0x97 4537 biosfn_write_string_: ; 0xc26ef LB 0x9c 4538 push bp ; 55 4539 mov bp, sp ; 89 e5 4460 4540 push si ; 56 4461 4541 push di ; 57 4462 enter 0000ah, 000h ; c8 0a 00 004463 mov byte [bp-00 6h], al ; 88 46 fa4464 mov byte [bp-00 4h], dl ; 88 56 fc4465 mov byte [bp-00 2h], bl ; 88 5e fe4542 sub sp, strict byte 0000ah ; 83 ec 0a 4543 mov byte [bp-00ah], al ; 88 46 f6 4544 mov byte [bp-008h], dl ; 88 56 f8 4545 mov byte [bp-006h], bl ; 88 5e fa 4466 4546 mov si, cx ; 89 ce 4467 mov di, word [bp+00 eh] ; 8b 7e 0e4547 mov di, word [bp+00ah] ; 8b 7e 0a 4468 4548 movzx ax, dl ; 0f b6 c2 4469 lea bx, [bp-00 ah] ; 8d 5e f64470 lea dx, [bp-00 8h] ; 8d 56 f84471 call 00a8 3h ; e8 ece34472 cmp byte [bp+00 8h], 0ffh ; 80 7e 08ff4473 jne short 02 6aeh ; 75 114474 mov al, byte [bp-00 ah] ; 8a 46 f64475 mov byte [bp+00 ah], al ; 88 46 0a4476 mov ax, word [bp-00 ah] ; 8b 46 f64549 lea bx, [bp-00eh] ; 8d 5e f2 4550 lea dx, [bp-00ch] ; 8d 56 f4 4551 call 00a88h ; e8 77 e3 4552 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4553 jne short 02728h ; 75 11 4554 mov al, byte [bp-00eh] ; 8a 46 f2 4555 mov byte [bp+006h], al ; 88 46 06 4556 mov ax, word [bp-00eh] ; 8b 46 f2 4477 4557 xor al, al ; 30 c0 4478 4558 shr ax, 008h ; c1 e8 08 4479 mov byte [bp+00 8h], al ; 88 46 084480 movzx dx, byte [bp+00 8h] ; 0f b6 56 084559 mov byte [bp+004h], al ; 88 46 04 4560 movzx dx, byte [bp+004h] ; 0f b6 56 04 4481 4561 sal dx, 008h ; c1 e2 08 4482 movzx ax, byte [bp+00 ah] ; 0f b6 46 0a4562 movzx ax, byte [bp+006h] ; 0f b6 46 06 4483 4563 add dx, ax ; 01 c2 4484 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc4485 call 00e 42h ; e8 80e74564 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4565 call 00e5eh ; e8 22 e7 4486 4566 dec si ; 4e 4487 4567 cmp si, strict byte 0ffffh ; 83 fe ff 4488 je short 02 6f8h ; 74 304568 je short 02772h ; 74 30 4489 4569 mov dx, di ; 89 fa 4490 4570 inc di ; 47 4491 mov ax, word [bp+00 ch] ; 8b 46 0c4492 call 02 eebh ; e8 1a084571 mov ax, word [bp+008h] ; 8b 46 08 4572 call 02f77h ; e8 2c 08 4493 4573 mov cl, al ; 88 c1 4494 test byte [bp-00 6h], 002h ; f6 46 fa024495 je short 02 6e5h ; 74 0c4574 test byte [bp-00ah], 002h ; f6 46 f6 02 4575 je short 0275fh ; 74 0c 4496 4576 mov dx, di ; 89 fa 4497 4577 inc di ; 47 4498 mov ax, word [bp+00 ch] ; 8b 46 0c4499 call 02 eebh ; e8 09084500 mov byte [bp-00 2h], al ; 88 46 fe4501 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe4502 movzx dx, byte [bp-00 4h] ; 0f b6 56 fc4578 mov ax, word [bp+008h] ; 8b 46 08 4579 call 02f77h ; e8 1b 08 4580 mov byte [bp-006h], al ; 88 46 fa 4581 movzx bx, byte [bp-006h] ; 0f b6 5e fa 4582 movzx dx, byte [bp-008h] ; 0f b6 56 f8 4503 4583 movzx ax, cl ; 0f b6 c1 4504 4584 mov cx, strict word 00003h ; b9 03 00 4505 call 02 0f0h ; e8 faf94506 jmp short 02 6c2h ; eb ca4507 test byte [bp-00 6h], 001h ; f6 46 fa014508 jne short 027 08h ; 75 0a4509 mov dx, word [bp-00 ah] ; 8b 56 f64510 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc4511 call 00e 42h ; e8 3a e74512 lea ve ; c94585 call 02149h ; e8 d9 f9 4586 jmp short 0273ch ; eb ca 4587 test byte [bp-00ah], 001h ; f6 46 f6 01 4588 jne short 02782h ; 75 0a 4589 mov dx, word [bp-00eh] ; 8b 56 f2 4590 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4591 call 00e5eh ; e8 dc e6 4592 lea sp, [bp-004h] ; 8d 66 fc 4513 4593 pop di ; 5f 4514 4594 pop si ; 5e 4595 pop bp ; 5d 4515 4596 retn 00008h ; c2 08 00 4516 biosfn_read_state_info_: ; 0xc270e LB 0xfe 4597 biosfn_read_state_info_: ; 0xc278b LB 0x101 4598 push bp ; 55 4599 mov bp, sp ; 89 e5 4517 4600 push cx ; 51 4518 4601 push si ; 56 4519 4602 push di ; 57 4520 push bp ; 554521 mov bp, sp ; 89 e54522 4603 push dx ; 52 4523 4604 push bx ; 53 4524 4605 mov cx, ds ; 8c d9 4525 mov bx, 0558 3h ; bb 83554526 mov dx, word [bp-00 4h] ; 8b 56 fc4527 mov ax, word [bp-00 2h] ; 8b 46 fe4528 call 02f 35h ; e8 11084529 mov di, word [bp-00 4h] ; 8b 7e fc4606 mov bx, 05588h ; bb 88 55 4607 mov dx, word [bp-00ah] ; 8b 56 f6 4608 mov ax, word [bp-008h] ; 8b 46 f8 4609 call 02fc1h ; e8 20 08 4610 mov di, word [bp-00ah] ; 8b 7e f6 4530 4611 add di, strict byte 00004h ; 83 c7 04 4531 4612 mov cx, strict word 0001eh ; b9 1e 00 4532 4613 mov si, strict word 00049h ; be 49 00 4533 4614 mov dx, strict word 00040h ; ba 40 00 4534 mov es, [bp-00 2h] ; 8e 46 fe4615 mov es, [bp-008h] ; 8e 46 f8 4535 4616 cld ; fc 4536 jcxz 027 3fh ; e3 064617 jcxz 027bch ; e3 06 4537 4618 push DS ; 1e 4538 4619 mov ds, dx ; 8e da 4539 4620 rep movsb ; f3 a4 4540 4621 pop DS ; 1f 4541 mov di, word [bp-00 4h] ; 8b 7e fc4622 mov di, word [bp-00ah] ; 8b 7e f6 4542 4623 add di, strict byte 00022h ; 83 c7 22 4543 4624 mov cx, strict word 00003h ; b9 03 00 4544 4625 mov si, 00084h ; be 84 00 4545 4626 mov dx, strict word 00040h ; ba 40 00 4546 mov es, [bp-00 2h] ; 8e 46 fe4627 mov es, [bp-008h] ; 8e 46 f8 4547 4628 cld ; fc 4548 jcxz 027 5ah ; e3 064629 jcxz 027d7h ; e3 06 4549 4630 push DS ; 1e 4550 4631 mov ds, dx ; 8e da … … 4553 4634 mov dx, 0008ah ; ba 8a 00 4554 4635 mov ax, strict word 00040h ; b8 40 00 4555 call 02 eebh ; e8 88074636 call 02f77h ; e8 97 07 4556 4637 movzx bx, al ; 0f b6 d8 4557 mov dx, word [bp-00 4h] ; 8b 56 fc4638 mov dx, word [bp-00ah] ; 8b 56 f6 4558 4639 add dx, strict byte 00025h ; 83 c2 25 4559 mov ax, word [bp-00 2h] ; 8b 46 fe4560 call 02 ef9h ; e8 87074561 mov dx, word [bp-00 4h] ; 8b 56 fc4640 mov ax, word [bp-008h] ; 8b 46 f8 4641 call 02f85h ; e8 96 07 4642 mov dx, word [bp-00ah] ; 8b 56 f6 4562 4643 add dx, strict byte 00026h ; 83 c2 26 4563 4644 xor bx, bx ; 31 db 4564 mov ax, word [bp-00 2h] ; 8b 46 fe4565 call 02 ef9h ; e8 79074566 mov dx, word [bp-00 4h] ; 8b 56 fc4645 mov ax, word [bp-008h] ; 8b 46 f8 4646 call 02f85h ; e8 88 07 4647 mov dx, word [bp-00ah] ; 8b 56 f6 4567 4648 add dx, strict byte 00027h ; 83 c2 27 4568 4649 mov bx, strict word 00010h ; bb 10 00 4569 mov ax, word [bp-00 2h] ; 8b 46 fe4570 call 02 ef9h ; e8 6a074571 mov dx, word [bp-00 4h] ; 8b 56 fc4650 mov ax, word [bp-008h] ; 8b 46 f8 4651 call 02f85h ; e8 79 07 4652 mov dx, word [bp-00ah] ; 8b 56 f6 4572 4653 add dx, strict byte 00028h ; 83 c2 28 4573 4654 xor bx, bx ; 31 db 4574 mov ax, word [bp-00 2h] ; 8b 46 fe4575 call 02 ef9h ; e8 5c074576 mov dx, word [bp-00 4h] ; 8b 56 fc4655 mov ax, word [bp-008h] ; 8b 46 f8 4656 call 02f85h ; e8 6b 07 4657 mov dx, word [bp-00ah] ; 8b 56 f6 4577 4658 add dx, strict byte 00029h ; 83 c2 29 4578 4659 mov bx, strict word 00008h ; bb 08 00 4579 mov ax, word [bp-00 2h] ; 8b 46 fe4580 call 02 ef9h ; e8 4d074581 mov dx, word [bp-00 4h] ; 8b 56 fc4660 mov ax, word [bp-008h] ; 8b 46 f8 4661 call 02f85h ; e8 5c 07 4662 mov dx, word [bp-00ah] ; 8b 56 f6 4582 4663 add dx, strict byte 0002ah ; 83 c2 2a 4583 4664 mov bx, strict word 00002h ; bb 02 00 4584 mov ax, word [bp-00 2h] ; 8b 46 fe4585 call 02 ef9h ; e8 3e074586 mov dx, word [bp-00 4h] ; 8b 56 fc4665 mov ax, word [bp-008h] ; 8b 46 f8 4666 call 02f85h ; e8 4d 07 4667 mov dx, word [bp-00ah] ; 8b 56 f6 4587 4668 add dx, strict byte 0002bh ; 83 c2 2b 4588 4669 xor bx, bx ; 31 db 4589 mov ax, word [bp-00 2h] ; 8b 46 fe4590 call 02 ef9h ; e8 30074591 mov dx, word [bp-00 4h] ; 8b 56 fc4670 mov ax, word [bp-008h] ; 8b 46 f8 4671 call 02f85h ; e8 3f 07 4672 mov dx, word [bp-00ah] ; 8b 56 f6 4592 4673 add dx, strict byte 0002ch ; 83 c2 2c 4593 4674 xor bx, bx ; 31 db 4594 mov ax, word [bp-00 2h] ; 8b 46 fe4595 call 02 ef9h ; e8 22074596 mov dx, word [bp-00 4h] ; 8b 56 fc4675 mov ax, word [bp-008h] ; 8b 46 f8 4676 call 02f85h ; e8 31 07 4677 mov dx, word [bp-00ah] ; 8b 56 f6 4597 4678 add dx, strict byte 00031h ; 83 c2 31 4598 4679 mov bx, strict word 00003h ; bb 03 00 4599 mov ax, word [bp-00 2h] ; 8b 46 fe4600 call 02 ef9h ; e8 13074601 mov dx, word [bp-00 4h] ; 8b 56 fc4680 mov ax, word [bp-008h] ; 8b 46 f8 4681 call 02f85h ; e8 22 07 4682 mov dx, word [bp-00ah] ; 8b 56 f6 4602 4683 add dx, strict byte 00032h ; 83 c2 32 4603 4684 xor bx, bx ; 31 db 4604 mov ax, word [bp-00 2h] ; 8b 46 fe4605 call 02 ef9h ; e8 05074606 mov di, word [bp-00 4h] ; 8b 7e fc4685 mov ax, word [bp-008h] ; 8b 46 f8 4686 call 02f85h ; e8 14 07 4687 mov di, word [bp-00ah] ; 8b 7e f6 4607 4688 add di, strict byte 00033h ; 83 c7 33 4608 4689 mov cx, strict word 0000dh ; b9 0d 00 4609 4690 xor ax, ax ; 31 c0 4610 mov es, [bp-00 2h] ; 8e 46 fe4691 mov es, [bp-008h] ; 8e 46 f8 4611 4692 cld ; fc 4612 jcxz 028 07h ; e3 024693 jcxz 02884h ; e3 02 4613 4694 rep stosb ; f3 aa 4614 lea ve ; c94695 lea sp, [bp-006h] ; 8d 66 fa 4615 4696 pop di ; 5f 4616 4697 pop si ; 5e 4617 4698 pop cx ; 59 4618 retn ; c3 4619 biosfn_read_video_state_size2_: ; 0xc280c LB 0x23 4699 pop bp ; 5d 4700 retn ; c3 4701 biosfn_read_video_state_size2_: ; 0xc288c LB 0x23 4620 4702 push dx ; 52 4621 4703 push bp ; 55 … … 4624 4706 xor ax, ax ; 31 c0 4625 4707 test dl, 001h ; f6 c2 01 4626 je short 028 1ch ; 74 034708 je short 0289ch ; 74 03 4627 4709 mov ax, strict word 00046h ; b8 46 00 4628 4710 test dl, 002h ; f6 c2 02 4629 je short 028 24h ; 74 034711 je short 028a4h ; 74 03 4630 4712 add ax, strict word 0002ah ; 05 2a 00 4631 4713 test dl, 004h ; f6 c2 04 4632 je short 028 2ch ; 74 034714 je short 028ach ; 74 03 4633 4715 add ax, 00304h ; 05 04 03 4634 4716 pop bp ; 5d 4635 4717 pop dx ; 5a 4636 4718 retn ; c3 4637 vga_get_video_state_size_: ; 0xc282f LB 0xf 4638 push bx ; 53 4719 vga_get_video_state_size_: ; 0xc28af LB 0x12 4639 4720 push bp ; 55 4640 4721 mov bp, sp ; 89 e5 4722 push bx ; 53 4641 4723 mov bx, dx ; 89 d3 4642 call 028 0ch ; e8 d4 ff4724 call 0288ch ; e8 d4 ff 4643 4725 mov word [ss:bx], ax ; 36 89 07 4726 lea sp, [bp-002h] ; 8d 66 fe 4727 pop bx ; 5b 4644 4728 pop bp ; 5d 4645 pop bx ; 5b 4646 retn ; c3 4647 biosfn_save_video_state_: ; 0xc283e LB 0x365 4729 retn ; c3 4730 biosfn_save_video_state_: ; 0xc28c1 LB 0x369 4731 push bp ; 55 4732 mov bp, sp ; 89 e5 4648 4733 push cx ; 51 4649 4734 push si ; 56 4650 4735 push di ; 57 4651 enter 00004h, 000h ; c8 04 00 00 4736 push ax ; 50 4737 push ax ; 50 4652 4738 push ax ; 50 4653 4739 mov si, dx ; 89 d6 … … 4655 4741 mov dx, strict word 00063h ; ba 63 00 4656 4742 mov ax, strict word 00040h ; b8 40 00 4657 call 02f 07h ; e8 b4064743 call 02f93h ; e8 bc 06 4658 4744 mov di, ax ; 89 c7 4659 test byte [bp-00 6h], 001h ; f6 46 fa014660 je near 02 9c0h ; 0f 84 63 014745 test byte [bp-00ch], 001h ; f6 46 f4 01 4746 je near 02a44h ; 0f 84 63 01 4661 4747 mov dx, 003c4h ; ba c4 03 4662 4748 in AL, DX ; ec … … 4666 4752 mov dx, cx ; 89 ca 4667 4753 mov ax, si ; 89 f0 4668 call 02 ef9h ; e8 8c064754 call 02f85h ; e8 94 06 4669 4755 inc cx ; 41 4670 4756 mov dx, di ; 89 fa … … 4675 4761 mov dx, cx ; 89 ca 4676 4762 mov ax, si ; 89 f0 4677 call 02 ef9h ; e8 7c064763 call 02f85h ; e8 84 06 4678 4764 inc cx ; 41 4679 4765 mov dx, 003ceh ; ba ce 03 … … 4684 4770 mov dx, cx ; 89 ca 4685 4771 mov ax, si ; 89 f0 4686 call 02 ef9h ; e8 6b064772 call 02f85h ; e8 73 06 4687 4773 inc cx ; 41 4688 4774 mov dx, 003dah ; ba da 03 … … 4694 4780 db 02ah, 0e4h 4695 4781 ; sub ah, ah ; 2a e4 4696 mov word [bp-00 2h], ax ; 89 46 fe4697 movzx bx, byte [bp-00 2h] ; 0f b6 5e fe4698 mov dx, cx ; 89 ca 4699 mov ax, si ; 89 f0 4700 call 02 ef9h ; e8 50064782 mov word [bp-008h], ax ; 89 46 f8 4783 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4784 mov dx, cx ; 89 ca 4785 mov ax, si ; 89 f0 4786 call 02f85h ; e8 58 06 4701 4787 inc cx ; 41 4702 4788 mov dx, 003cah ; ba ca 03 … … 4707 4793 mov dx, cx ; 89 ca 4708 4794 mov ax, si ; 89 f0 4709 call 02 ef9h ; e8 3f064795 call 02f85h ; e8 47 06 4710 4796 mov ax, strict word 00001h ; b8 01 00 4711 mov word [bp-00 4h], ax ; 89 46 fc4797 mov word [bp-00ah], ax ; 89 46 f6 4712 4798 add cx, ax ; 01 c1 4713 jmp short 02 8cah ; eb 064714 cmp word [bp-00 4h], strict byte 00004h ; 83 7e fc044715 jnbe short 02 8e7h ; 77 1d4716 mov al, byte [bp-00 4h] ; 8a 46 fc4799 jmp short 0294eh ; eb 06 4800 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 4801 jnbe short 0296bh ; 77 1d 4802 mov al, byte [bp-00ah] ; 8a 46 f6 4717 4803 mov dx, 003c4h ; ba c4 03 4718 4804 out DX, AL ; ee … … 4724 4810 mov dx, cx ; 89 ca 4725 4811 mov ax, si ; 89 f0 4726 call 02 ef9h ; e8 18064727 inc cx ; 41 4728 inc word [bp-00 4h] ; ff 46 fc4729 jmp short 02 8c4h ; eb dd4812 call 02f85h ; e8 20 06 4813 inc cx ; 41 4814 inc word [bp-00ah] ; ff 46 f6 4815 jmp short 02948h ; eb dd 4730 4816 xor al, al ; 30 c0 4731 4817 mov dx, 003c4h ; ba c4 03 … … 4738 4824 mov dx, cx ; 89 ca 4739 4825 mov ax, si ; 89 f0 4740 call 02 ef9h ; e8 fc 054741 mov word [bp-00 4h], strict word 00000h ; c7 46 fc00 004742 inc cx ; 41 4743 jmp short 029 0bh ; eb 064744 cmp word [bp-00 4h], strict byte 00018h ; 83 7e fc184745 jnbe short 029 27h ; 77 1c4746 mov al, byte [bp-00 4h] ; 8a 46 fc4826 call 02f85h ; e8 04 06 4827 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4828 inc cx ; 41 4829 jmp short 0298fh ; eb 06 4830 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 4831 jnbe short 029abh ; 77 1c 4832 mov al, byte [bp-00ah] ; 8a 46 f6 4747 4833 mov dx, di ; 89 fa 4748 4834 out DX, AL ; ee … … 4754 4840 mov dx, cx ; 89 ca 4755 4841 mov ax, si ; 89 f0 4756 call 02 ef9h ; e8 d8054757 inc cx ; 41 4758 inc word [bp-00 4h] ; ff 46 fc4759 jmp short 029 05h ; eb de4760 mov word [bp-00 4h], strict word 00000h ; c7 46 fc00 004761 jmp short 029 34h ; eb 064762 cmp word [bp-00 4h], strict byte 00013h ; 83 7e fc134763 jnbe short 029 5dh ; 77 294842 call 02f85h ; e8 e0 05 4843 inc cx ; 41 4844 inc word [bp-00ah] ; ff 46 f6 4845 jmp short 02989h ; eb de 4846 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4847 jmp short 029b8h ; eb 06 4848 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 4849 jnbe short 029e1h ; 77 29 4764 4850 mov dx, 003dah ; ba da 03 4765 4851 in AL, DX ; ec 4766 4852 db 02ah, 0e4h 4767 4853 ; sub ah, ah ; 2a e4 4768 mov ax, word [bp-00 2h] ; 8b 46 fe4854 mov ax, word [bp-008h] ; 8b 46 f8 4769 4855 and ax, strict word 00020h ; 25 20 00 4770 or ax, word [bp-00 4h] ; 0b 46 fc4856 or ax, word [bp-00ah] ; 0b 46 f6 4771 4857 mov dx, 003c0h ; ba c0 03 4772 4858 out DX, AL ; ee … … 4778 4864 mov dx, cx ; 89 ca 4779 4865 mov ax, si ; 89 f0 4780 call 02 ef9h ; e8 a2054781 inc cx ; 41 4782 inc word [bp-00 4h] ; ff 46 fc4783 jmp short 029 2eh ; eb d14866 call 02f85h ; e8 aa 05 4867 inc cx ; 41 4868 inc word [bp-00ah] ; ff 46 f6 4869 jmp short 029b2h ; eb d1 4784 4870 mov dx, 003dah ; ba da 03 4785 4871 in AL, DX ; ec 4786 4872 db 02ah, 0e4h 4787 4873 ; sub ah, ah ; 2a e4 4788 mov word [bp-00 4h], strict word 00000h ; c7 46 fc00 004789 jmp short 029 70h ; eb 064790 cmp word [bp-00 4h], strict byte 00008h ; 83 7e fc084791 jnbe short 02 98dh ; 77 1d4792 mov al, byte [bp-00 4h] ; 8a 46 fc4874 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4875 jmp short 029f4h ; eb 06 4876 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4877 jnbe short 02a11h ; 77 1d 4878 mov al, byte [bp-00ah] ; 8a 46 f6 4793 4879 mov dx, 003ceh ; ba ce 03 4794 4880 out DX, AL ; ee … … 4800 4886 mov dx, cx ; 89 ca 4801 4887 mov ax, si ; 89 f0 4802 call 02 ef9h ; e8 72054803 inc cx ; 41 4804 inc word [bp-00 4h] ; ff 46 fc4805 jmp short 029 6ah ; eb dd4888 call 02f85h ; e8 7a 05 4889 inc cx ; 41 4890 inc word [bp-00ah] ; ff 46 f6 4891 jmp short 029eeh ; eb dd 4806 4892 mov bx, di ; 89 fb 4807 4893 mov dx, cx ; 89 ca 4808 4894 mov ax, si ; 89 f0 4809 call 02f 15h ; e8 7f054895 call 02fa1h ; e8 87 05 4810 4896 inc cx ; 41 4811 4897 inc cx ; 41 … … 4813 4899 mov dx, cx ; 89 ca 4814 4900 mov ax, si ; 89 f0 4815 call 02 ef9h ; e8 58054901 call 02f85h ; e8 60 05 4816 4902 inc cx ; 41 4817 4903 xor bx, bx ; 31 db 4818 4904 mov dx, cx ; 89 ca 4819 4905 mov ax, si ; 89 f0 4820 call 02 ef9h ; e8 4e054906 call 02f85h ; e8 56 05 4821 4907 inc cx ; 41 4822 4908 xor bx, bx ; 31 db 4823 4909 mov dx, cx ; 89 ca 4824 4910 mov ax, si ; 89 f0 4825 call 02 ef9h ; e8 44054911 call 02f85h ; e8 4c 05 4826 4912 inc cx ; 41 4827 4913 xor bx, bx ; 31 db 4828 4914 mov dx, cx ; 89 ca 4829 4915 mov ax, si ; 89 f0 4830 call 02 ef9h ; e8 3a054831 inc cx ; 41 4832 test byte [bp-00 6h], 002h ; f6 46 fa024833 je near 02b 2fh ; 0f 84 67 014916 call 02f85h ; e8 42 05 4917 inc cx ; 41 4918 test byte [bp-00ch], 002h ; f6 46 f4 02 4919 je near 02bb3h ; 0f 84 67 01 4834 4920 mov dx, strict word 00049h ; ba 49 00 4835 4921 mov ax, strict word 00040h ; b8 40 00 4836 call 02 eebh ; e8 1a054922 call 02f77h ; e8 22 05 4837 4923 movzx bx, al ; 0f b6 d8 4838 4924 mov dx, cx ; 89 ca 4839 4925 mov ax, si ; 89 f0 4840 call 02 ef9h ; e8 1e054926 call 02f85h ; e8 26 05 4841 4927 inc cx ; 41 4842 4928 mov dx, strict word 0004ah ; ba 4a 00 4843 4929 mov ax, strict word 00040h ; b8 40 00 4844 call 02f 07h ; e8 22054930 call 02f93h ; e8 2a 05 4845 4931 mov bx, ax ; 89 c3 4846 4932 mov dx, cx ; 89 ca 4847 4933 mov ax, si ; 89 f0 4848 call 02f 15h ; e8 27054934 call 02fa1h ; e8 2f 05 4849 4935 inc cx ; 41 4850 4936 inc cx ; 41 4851 4937 mov dx, strict word 0004ch ; ba 4c 00 4852 4938 mov ax, strict word 00040h ; b8 40 00 4853 call 02f 07h ; e8 0e054939 call 02f93h ; e8 16 05 4854 4940 mov bx, ax ; 89 c3 4855 4941 mov dx, cx ; 89 ca 4856 4942 mov ax, si ; 89 f0 4857 call 02f 15h ; e8 13054943 call 02fa1h ; e8 1b 05 4858 4944 inc cx ; 41 4859 4945 inc cx ; 41 4860 4946 mov dx, strict word 00063h ; ba 63 00 4861 4947 mov ax, strict word 00040h ; b8 40 00 4862 call 02f 07h ; e8 fa 044948 call 02f93h ; e8 02 05 4863 4949 mov bx, ax ; 89 c3 4864 4950 mov dx, cx ; 89 ca 4865 4951 mov ax, si ; 89 f0 4866 call 02f 15h ; e8 ff 044952 call 02fa1h ; e8 07 05 4867 4953 inc cx ; 41 4868 4954 inc cx ; 41 4869 4955 mov dx, 00084h ; ba 84 00 4870 4956 mov ax, strict word 00040h ; b8 40 00 4871 call 02 eebh ; e8 ca044957 call 02f77h ; e8 d2 04 4872 4958 movzx bx, al ; 0f b6 d8 4873 4959 mov dx, cx ; 89 ca 4874 4960 mov ax, si ; 89 f0 4875 call 02 ef9h ; e8 ce044961 call 02f85h ; e8 d6 04 4876 4962 inc cx ; 41 4877 4963 mov dx, 00085h ; ba 85 00 4878 4964 mov ax, strict word 00040h ; b8 40 00 4879 call 02f 07h ; e8 d2044965 call 02f93h ; e8 da 04 4880 4966 mov bx, ax ; 89 c3 4881 4967 mov dx, cx ; 89 ca 4882 4968 mov ax, si ; 89 f0 4883 call 02f 15h ; e8 d7044969 call 02fa1h ; e8 df 04 4884 4970 inc cx ; 41 4885 4971 inc cx ; 41 4886 4972 mov dx, 00087h ; ba 87 00 4887 4973 mov ax, strict word 00040h ; b8 40 00 4888 call 02 eebh ; e8 a2044974 call 02f77h ; e8 aa 04 4889 4975 movzx bx, al ; 0f b6 d8 4890 4976 mov dx, cx ; 89 ca 4891 4977 mov ax, si ; 89 f0 4892 call 02 ef9h ; e8 a6044978 call 02f85h ; e8 ae 04 4893 4979 inc cx ; 41 4894 4980 mov dx, 00088h ; ba 88 00 4895 4981 mov ax, strict word 00040h ; b8 40 00 4896 call 02 eebh ; e8 8e044982 call 02f77h ; e8 96 04 4897 4983 movzx bx, al ; 0f b6 d8 4898 4984 mov dx, cx ; 89 ca 4899 4985 mov ax, si ; 89 f0 4900 call 02 ef9h ; e8 92044986 call 02f85h ; e8 9a 04 4901 4987 inc cx ; 41 4902 4988 mov dx, 00089h ; ba 89 00 4903 4989 mov ax, strict word 00040h ; b8 40 00 4904 call 02 eebh ; e8 7a044990 call 02f77h ; e8 82 04 4905 4991 movzx bx, al ; 0f b6 d8 4906 4992 mov dx, cx ; 89 ca 4907 4993 mov ax, si ; 89 f0 4908 call 02 ef9h ; e8 7e044994 call 02f85h ; e8 86 04 4909 4995 inc cx ; 41 4910 4996 mov dx, strict word 00060h ; ba 60 00 4911 4997 mov ax, strict word 00040h ; b8 40 00 4912 call 02f 07h ; e8 82044998 call 02f93h ; e8 8a 04 4913 4999 mov bx, ax ; 89 c3 4914 5000 mov dx, cx ; 89 ca 4915 5001 mov ax, si ; 89 f0 4916 call 02f 15h ; e8 87044917 mov word [bp-00 4h], strict word 00000h ; c7 46 fc00 004918 inc cx ; 41 4919 inc cx ; 41 4920 jmp short 02 a9dh ; eb 064921 cmp word [bp-00 4h], strict byte 00008h ; 83 7e fc084922 jnc short 02 abbh ; 73 1e4923 mov dx, word [bp-00 4h] ; 8b 56 fc5002 call 02fa1h ; e8 8f 04 5003 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5004 inc cx ; 41 5005 inc cx ; 41 5006 jmp short 02b21h ; eb 06 5007 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5008 jnc short 02b3fh ; 73 1e 5009 mov dx, word [bp-00ah] ; 8b 56 f6 4924 5010 add dx, dx ; 01 d2 4925 5011 add dx, strict byte 00050h ; 83 c2 50 4926 5012 mov ax, strict word 00040h ; b8 40 00 4927 call 02f 07h ; e8 5c045013 call 02f93h ; e8 64 04 4928 5014 mov bx, ax ; 89 c3 4929 5015 mov dx, cx ; 89 ca 4930 5016 mov ax, si ; 89 f0 4931 call 02f 15h ; e8 61044932 inc cx ; 41 4933 inc cx ; 41 4934 inc word [bp-00 4h] ; ff 46 fc4935 jmp short 02 a97h ; eb dc5017 call 02fa1h ; e8 69 04 5018 inc cx ; 41 5019 inc cx ; 41 5020 inc word [bp-00ah] ; ff 46 f6 5021 jmp short 02b1bh ; eb dc 4936 5022 mov dx, strict word 0004eh ; ba 4e 00 4937 5023 mov ax, strict word 00040h ; b8 40 00 4938 call 02f 07h ; e8 43045024 call 02f93h ; e8 4b 04 4939 5025 mov bx, ax ; 89 c3 4940 5026 mov dx, cx ; 89 ca 4941 5027 mov ax, si ; 89 f0 4942 call 02f 15h ; e8 48045028 call 02fa1h ; e8 50 04 4943 5029 inc cx ; 41 4944 5030 inc cx ; 41 4945 5031 mov dx, strict word 00062h ; ba 62 00 4946 5032 mov ax, strict word 00040h ; b8 40 00 4947 call 02 eebh ; e8 13045033 call 02f77h ; e8 1b 04 4948 5034 movzx bx, al ; 0f b6 d8 4949 5035 mov dx, cx ; 89 ca 4950 5036 mov ax, si ; 89 f0 4951 call 02 ef9h ; e8 17045037 call 02f85h ; e8 1f 04 4952 5038 inc cx ; 41 4953 5039 mov dx, strict word 0007ch ; ba 7c 00 4954 5040 xor ax, ax ; 31 c0 4955 call 02f 07h ; e8 1c045041 call 02f93h ; e8 24 04 4956 5042 mov bx, ax ; 89 c3 4957 5043 mov dx, cx ; 89 ca 4958 5044 mov ax, si ; 89 f0 4959 call 02f 15h ; e8 21045045 call 02fa1h ; e8 29 04 4960 5046 inc cx ; 41 4961 5047 inc cx ; 41 4962 5048 mov dx, strict word 0007eh ; ba 7e 00 4963 5049 xor ax, ax ; 31 c0 4964 call 02f 07h ; e8 09045050 call 02f93h ; e8 11 04 4965 5051 mov bx, ax ; 89 c3 4966 5052 mov dx, cx ; 89 ca 4967 5053 mov ax, si ; 89 f0 4968 call 02f 15h ; e8 0e045054 call 02fa1h ; e8 16 04 4969 5055 inc cx ; 41 4970 5056 inc cx ; 41 4971 5057 mov dx, 0010ch ; ba 0c 01 4972 5058 xor ax, ax ; 31 c0 4973 call 02f 07h ; e8 f6035059 call 02f93h ; e8 fe 03 4974 5060 mov bx, ax ; 89 c3 4975 5061 mov dx, cx ; 89 ca 4976 5062 mov ax, si ; 89 f0 4977 call 02f 15h ; e8 fb 035063 call 02fa1h ; e8 03 04 4978 5064 inc cx ; 41 4979 5065 inc cx ; 41 4980 5066 mov dx, 0010eh ; ba 0e 01 4981 5067 xor ax, ax ; 31 c0 4982 call 02f 07h ; e8 e3035068 call 02f93h ; e8 eb 03 4983 5069 mov bx, ax ; 89 c3 4984 5070 mov dx, cx ; 89 ca 4985 5071 mov ax, si ; 89 f0 4986 call 02f 15h ; e8 e8034987 inc cx ; 41 4988 inc cx ; 41 4989 test byte [bp-00 6h], 004h ; f6 46 fa044990 je short 02 b9ch ; 74 675072 call 02fa1h ; e8 f0 03 5073 inc cx ; 41 5074 inc cx ; 41 5075 test byte [bp-00ch], 004h ; f6 46 f4 04 5076 je short 02c20h ; 74 67 4991 5077 mov dx, 003c7h ; ba c7 03 4992 5078 in AL, DX ; ec … … 4996 5082 mov dx, cx ; 89 ca 4997 5083 mov ax, si ; 89 f0 4998 call 02 ef9h ; e8 b4035084 call 02f85h ; e8 bc 03 4999 5085 inc cx ; 41 5000 5086 mov dx, 003c8h ; ba c8 03 … … 5005 5091 mov dx, cx ; 89 ca 5006 5092 mov ax, si ; 89 f0 5007 call 02 ef9h ; e8 a3035093 call 02f85h ; e8 ab 03 5008 5094 inc cx ; 41 5009 5095 mov dx, 003c6h ; ba c6 03 … … 5014 5100 mov dx, cx ; 89 ca 5015 5101 mov ax, si ; 89 f0 5016 call 02 ef9h ; e8 92035102 call 02f85h ; e8 9a 03 5017 5103 inc cx ; 41 5018 5104 xor al, al ; 30 c0 … … 5020 5106 out DX, AL ; ee 5021 5107 xor ah, ah ; 30 e4 5022 mov word [bp-00 4h], ax ; 89 46 fc5023 jmp short 02 b7ch ; eb 075024 cmp word [bp-00 4h], 00300h ; 81 7e fc00 035025 jnc short 02 b92h ; 73 165108 mov word [bp-00ah], ax ; 89 46 f6 5109 jmp short 02c00h ; eb 07 5110 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5111 jnc short 02c16h ; 73 16 5026 5112 mov dx, 003c9h ; ba c9 03 5027 5113 in AL, DX ; ec … … 5031 5117 mov dx, cx ; 89 ca 5032 5118 mov ax, si ; 89 f0 5033 call 02 ef9h ; e8 6d035034 inc cx ; 41 5035 inc word [bp-00 4h] ; ff 46 fc5036 jmp short 02b 75h ; eb e35119 call 02f85h ; e8 75 03 5120 inc cx ; 41 5121 inc word [bp-00ah] ; ff 46 f6 5122 jmp short 02bf9h ; eb e3 5037 5123 xor bx, bx ; 31 db 5038 5124 mov dx, cx ; 89 ca 5039 5125 mov ax, si ; 89 f0 5040 call 02 ef9h ; e8 5e035126 call 02f85h ; e8 66 03 5041 5127 inc cx ; 41 5042 5128 mov ax, cx ; 89 c8 5043 lea ve ; c95129 lea sp, [bp-006h] ; 8d 66 fa 5044 5130 pop di ; 5f 5045 5131 pop si ; 5e 5046 5132 pop cx ; 59 5047 retn ; c3 5048 biosfn_restore_video_state_: ; 0xc2ba3 LB 0x321 5133 pop bp ; 5d 5134 retn ; c3 5135 biosfn_restore_video_state_: ; 0xc2c2a LB 0x326 5136 push bp ; 55 5137 mov bp, sp ; 89 e5 5049 5138 push cx ; 51 5050 5139 push si ; 56 5051 5140 push di ; 57 5052 enter 00006h, 000h ; c8 06 00 005141 sub sp, strict byte 00006h ; 83 ec 06 5053 5142 push ax ; 50 5054 5143 mov si, dx ; 89 d6 5055 5144 mov cx, bx ; 89 d9 5056 test byte [bp-00 8h], 001h ; f6 46 f8015057 je near 02d 01h ; 0f 84 4a 015145 test byte [bp-00eh], 001h ; f6 46 f2 01 5146 je near 02d8ah ; 0f 84 4a 01 5058 5147 mov dx, 003dah ; ba da 03 5059 5148 in AL, DX ; ec … … 5062 5151 lea dx, [bx+040h] ; 8d 57 40 5063 5152 mov ax, si ; 89 f0 5064 call 02f 07h ; e8 42035153 call 02f93h ; e8 45 03 5065 5154 mov di, ax ; 89 c7 5066 mov word [bp-00 2h], strict word 00001h ; c7 46 fe01 005155 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 5067 5156 lea cx, [bx+005h] ; 8d 4f 05 5068 jmp short 02 bd7h ; eb 065069 cmp word [bp-00 2h], strict byte 00004h ; 83 7e fe045070 jnbe short 02 befh ; 77 185071 mov al, byte [bp-00 2h] ; 8a 46 fe5157 jmp short 02c60h ; eb 06 5158 cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 5159 jnbe short 02c78h ; 77 18 5160 mov al, byte [bp-008h] ; 8a 46 f8 5072 5161 mov dx, 003c4h ; ba c4 03 5073 5162 out DX, AL ; ee 5074 5163 mov dx, cx ; 89 ca 5075 5164 mov ax, si ; 89 f0 5076 call 02 eebh ; e8 06035165 call 02f77h ; e8 09 03 5077 5166 mov dx, 003c5h ; ba c5 03 5078 5167 out DX, AL ; ee 5079 5168 inc cx ; 41 5080 inc word [bp-00 2h] ; ff 46 fe5081 jmp short 02 bd1h ; eb e25169 inc word [bp-008h] ; ff 46 f8 5170 jmp short 02c5ah ; eb e2 5082 5171 xor al, al ; 30 c0 5083 5172 mov dx, 003c4h ; ba c4 03 … … 5085 5174 mov dx, cx ; 89 ca 5086 5175 mov ax, si ; 89 f0 5087 call 02 eebh ; e8 ef025176 call 02f77h ; e8 f2 02 5088 5177 mov dx, 003c5h ; ba c5 03 5089 5178 out DX, AL ; ee … … 5092 5181 mov dx, di ; 89 fa 5093 5182 out DX, ax ; ef 5094 mov word [bp-00 2h], strict word 00000h ; c7 46 fe00 005095 jmp short 02c 14h ; eb 065096 cmp word [bp-00 2h], strict byte 00018h ; 83 7e fe185097 jnbe short 02c 31h ; 77 1d5098 cmp word [bp-00 2h], strict byte 00011h ; 83 7e fe115099 je short 02c 2bh ; 74 115100 mov al, byte [bp-00 2h] ; 8a 46 fe5183 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5184 jmp short 02c9dh ; eb 06 5185 cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 5186 jnbe short 02cbah ; 77 1d 5187 cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 5188 je short 02cb4h ; 74 11 5189 mov al, byte [bp-008h] ; 8a 46 f8 5101 5190 mov dx, di ; 89 fa 5102 5191 out DX, AL ; ee 5103 5192 mov dx, cx ; 89 ca 5104 5193 mov ax, si ; 89 f0 5105 call 02 eebh ; e8 c4025194 call 02f77h ; e8 c7 02 5106 5195 lea dx, [di+001h] ; 8d 55 01 5107 5196 out DX, AL ; ee 5108 5197 inc cx ; 41 5109 inc word [bp-00 2h] ; ff 46 fe5110 jmp short 02c 0eh ; eb dd5198 inc word [bp-008h] ; ff 46 f8 5199 jmp short 02c97h ; eb dd 5111 5200 mov dx, 003cch ; ba cc 03 5112 5201 in AL, DX ; ec … … 5114 5203 ; sub ah, ah ; 2a e4 5115 5204 and AL, strict byte 0feh ; 24 fe 5116 mov word [bp-00 4h], ax ; 89 46 fc5205 mov word [bp-00ah], ax ; 89 46 f6 5117 5206 cmp di, 003d4h ; 81 ff d4 03 5118 jne short 02c 46h ; 75 045119 or byte [bp-00 4h], 001h ; 80 4e fc015120 mov al, byte [bp-00 4h] ; 8a 46 fc5207 jne short 02ccfh ; 75 04 5208 or byte [bp-00ah], 001h ; 80 4e f6 01 5209 mov al, byte [bp-00ah] ; 8a 46 f6 5121 5210 mov dx, 003c2h ; ba c2 03 5122 5211 out DX, AL ; ee … … 5127 5216 add dx, strict byte 0fff9h ; 83 c2 f9 5128 5217 mov ax, si ; 89 f0 5129 call 02 eebh ; e8 8f025218 call 02f77h ; e8 92 02 5130 5219 lea dx, [di+001h] ; 8d 55 01 5131 5220 out DX, AL ; ee 5132 5221 lea dx, [bx+003h] ; 8d 57 03 5133 5222 mov ax, si ; 89 f0 5134 call 02 eebh ; e8 83025223 call 02f77h ; e8 86 02 5135 5224 xor ah, ah ; 30 e4 5136 mov word [bp-00 6h], ax ; 89 46 fa5225 mov word [bp-00ch], ax ; 89 46 f4 5137 5226 mov dx, 003dah ; ba da 03 5138 5227 in AL, DX ; ec 5139 5228 db 02ah, 0e4h 5140 5229 ; sub ah, ah ; 2a e4 5141 mov word [bp-00 2h], strict word 00000h ; c7 46 fe00 005142 jmp short 02 c80h ; eb 065143 cmp word [bp-00 2h], strict byte 00013h ; 83 7e fe135144 jnbe short 02 c9eh ; 77 1e5145 mov ax, word [bp-00 6h] ; 8b 46 fa5230 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5231 jmp short 02d09h ; eb 06 5232 cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 5233 jnbe short 02d27h ; 77 1e 5234 mov ax, word [bp-00ch] ; 8b 46 f4 5146 5235 and ax, strict word 00020h ; 25 20 00 5147 or ax, word [bp-00 2h] ; 0b 46 fe5236 or ax, word [bp-008h] ; 0b 46 f8 5148 5237 mov dx, 003c0h ; ba c0 03 5149 5238 out DX, AL ; ee 5150 5239 mov dx, cx ; 89 ca 5151 5240 mov ax, si ; 89 f0 5152 call 02 eebh ; e8 57025241 call 02f77h ; e8 5a 02 5153 5242 mov dx, 003c0h ; ba c0 03 5154 5243 out DX, AL ; ee 5155 5244 inc cx ; 41 5156 inc word [bp-00 2h] ; ff 46 fe5157 jmp short 02 c7ah ; eb dc5158 mov al, byte [bp-00 6h] ; 8a 46 fa5245 inc word [bp-008h] ; ff 46 f8 5246 jmp short 02d03h ; eb dc 5247 mov al, byte [bp-00ch] ; 8a 46 f4 5159 5248 mov dx, 003c0h ; ba c0 03 5160 5249 out DX, AL ; ee … … 5163 5252 db 02ah, 0e4h 5164 5253 ; sub ah, ah ; 2a e4 5165 mov word [bp-00 2h], strict word 00000h ; c7 46 fe00 005166 jmp short 02 cb8h ; eb 065167 cmp word [bp-00 2h], strict byte 00008h ; 83 7e fe085168 jnbe short 02 cd0h ; 77 185169 mov al, byte [bp-00 2h] ; 8a 46 fe5254 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5255 jmp short 02d41h ; eb 06 5256 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5257 jnbe short 02d59h ; 77 18 5258 mov al, byte [bp-008h] ; 8a 46 f8 5170 5259 mov dx, 003ceh ; ba ce 03 5171 5260 out DX, AL ; ee 5172 5261 mov dx, cx ; 89 ca 5173 5262 mov ax, si ; 89 f0 5174 call 02 eebh ; e8 25025263 call 02f77h ; e8 28 02 5175 5264 mov dx, 003cfh ; ba cf 03 5176 5265 out DX, AL ; ee 5177 5266 inc cx ; 41 5178 inc word [bp-00 2h] ; ff 46 fe5179 jmp short 02 cb2h ; eb e25267 inc word [bp-008h] ; ff 46 f8 5268 jmp short 02d3bh ; eb e2 5180 5269 add cx, strict byte 00006h ; 83 c1 06 5181 5270 mov dx, bx ; 89 da 5182 5271 mov ax, si ; 89 f0 5183 call 02 eebh ; e8 11025272 call 02f77h ; e8 14 02 5184 5273 mov dx, 003c4h ; ba c4 03 5185 5274 out DX, AL ; ee … … 5187 5276 mov dx, bx ; 89 da 5188 5277 mov ax, si ; 89 f0 5189 call 02 eebh ; e8 05025278 call 02f77h ; e8 08 02 5190 5279 mov dx, di ; 89 fa 5191 5280 out DX, AL ; ee … … 5193 5282 mov dx, bx ; 89 da 5194 5283 mov ax, si ; 89 f0 5195 call 02 eebh ; e8 fa015284 call 02f77h ; e8 fd 01 5196 5285 mov dx, 003ceh ; ba ce 03 5197 5286 out DX, AL ; ee 5198 5287 lea dx, [bx+002h] ; 8d 57 02 5199 5288 mov ax, si ; 89 f0 5200 call 02 eebh ; e8 ee015289 call 02f77h ; e8 f1 01 5201 5290 lea dx, [di+006h] ; 8d 55 06 5202 5291 out DX, AL ; ee 5203 test byte [bp-00 8h], 002h ; f6 46 f8025204 je near 02e 70h ; 0f 84 67 015205 mov dx, cx ; 89 ca 5206 mov ax, si ; 89 f0 5207 call 02 eebh ; e8 db015292 test byte [bp-00eh], 002h ; f6 46 f2 02 5293 je near 02ef9h ; 0f 84 67 01 5294 mov dx, cx ; 89 ca 5295 mov ax, si ; 89 f0 5296 call 02f77h ; e8 de 01 5208 5297 movzx bx, al ; 0f b6 d8 5209 5298 mov dx, strict word 00049h ; ba 49 00 5210 5299 mov ax, strict word 00040h ; b8 40 00 5211 call 02 ef9h ; e8 dd015212 inc cx ; 41 5213 mov dx, cx ; 89 ca 5214 mov ax, si ; 89 f0 5215 call 02f 07h ; e8 e3015300 call 02f85h ; e8 e0 01 5301 inc cx ; 41 5302 mov dx, cx ; 89 ca 5303 mov ax, si ; 89 f0 5304 call 02f93h ; e8 e6 01 5216 5305 mov bx, ax ; 89 c3 5217 5306 mov dx, strict word 0004ah ; ba 4a 00 5218 5307 mov ax, strict word 00040h ; b8 40 00 5219 call 02f 15h ; e8 e6015220 inc cx ; 41 5221 inc cx ; 41 5222 mov dx, cx ; 89 ca 5223 mov ax, si ; 89 f0 5224 call 02f 07h ; e8 cf015308 call 02fa1h ; e8 e9 01 5309 inc cx ; 41 5310 inc cx ; 41 5311 mov dx, cx ; 89 ca 5312 mov ax, si ; 89 f0 5313 call 02f93h ; e8 d2 01 5225 5314 mov bx, ax ; 89 c3 5226 5315 mov dx, strict word 0004ch ; ba 4c 00 5227 5316 mov ax, strict word 00040h ; b8 40 00 5228 call 02f 15h ; e8 d2015229 inc cx ; 41 5230 inc cx ; 41 5231 mov dx, cx ; 89 ca 5232 mov ax, si ; 89 f0 5233 call 02f 07h ; e8 bb015317 call 02fa1h ; e8 d5 01 5318 inc cx ; 41 5319 inc cx ; 41 5320 mov dx, cx ; 89 ca 5321 mov ax, si ; 89 f0 5322 call 02f93h ; e8 be 01 5234 5323 mov bx, ax ; 89 c3 5235 5324 mov dx, strict word 00063h ; ba 63 00 5236 5325 mov ax, strict word 00040h ; b8 40 00 5237 call 02f 15h ; e8 be015238 inc cx ; 41 5239 inc cx ; 41 5240 mov dx, cx ; 89 ca 5241 mov ax, si ; 89 f0 5242 call 02 eebh ; e8 8b015326 call 02fa1h ; e8 c1 01 5327 inc cx ; 41 5328 inc cx ; 41 5329 mov dx, cx ; 89 ca 5330 mov ax, si ; 89 f0 5331 call 02f77h ; e8 8e 01 5243 5332 movzx bx, al ; 0f b6 d8 5244 5333 mov dx, 00084h ; ba 84 00 5245 5334 mov ax, strict word 00040h ; b8 40 00 5246 call 02 ef9h ; e8 8d015247 inc cx ; 41 5248 mov dx, cx ; 89 ca 5249 mov ax, si ; 89 f0 5250 call 02f 07h ; e8 93015335 call 02f85h ; e8 90 01 5336 inc cx ; 41 5337 mov dx, cx ; 89 ca 5338 mov ax, si ; 89 f0 5339 call 02f93h ; e8 96 01 5251 5340 mov bx, ax ; 89 c3 5252 5341 mov dx, 00085h ; ba 85 00 5253 5342 mov ax, strict word 00040h ; b8 40 00 5254 call 02f 15h ; e8 96015255 inc cx ; 41 5256 inc cx ; 41 5257 mov dx, cx ; 89 ca 5258 mov ax, si ; 89 f0 5259 call 02 eebh ; e8 63015343 call 02fa1h ; e8 99 01 5344 inc cx ; 41 5345 inc cx ; 41 5346 mov dx, cx ; 89 ca 5347 mov ax, si ; 89 f0 5348 call 02f77h ; e8 66 01 5260 5349 movzx bx, al ; 0f b6 d8 5261 5350 mov dx, 00087h ; ba 87 00 5262 5351 mov ax, strict word 00040h ; b8 40 00 5263 call 02 ef9h ; e8 65015264 inc cx ; 41 5265 mov dx, cx ; 89 ca 5266 mov ax, si ; 89 f0 5267 call 02 eebh ; e8 4f015352 call 02f85h ; e8 68 01 5353 inc cx ; 41 5354 mov dx, cx ; 89 ca 5355 mov ax, si ; 89 f0 5356 call 02f77h ; e8 52 01 5268 5357 movzx bx, al ; 0f b6 d8 5269 5358 mov dx, 00088h ; ba 88 00 5270 5359 mov ax, strict word 00040h ; b8 40 00 5271 call 02 ef9h ; e8 51015272 inc cx ; 41 5273 mov dx, cx ; 89 ca 5274 mov ax, si ; 89 f0 5275 call 02 eebh ; e8 3b015360 call 02f85h ; e8 54 01 5361 inc cx ; 41 5362 mov dx, cx ; 89 ca 5363 mov ax, si ; 89 f0 5364 call 02f77h ; e8 3e 01 5276 5365 movzx bx, al ; 0f b6 d8 5277 5366 mov dx, 00089h ; ba 89 00 5278 5367 mov ax, strict word 00040h ; b8 40 00 5279 call 02 ef9h ; e8 3d015280 inc cx ; 41 5281 mov dx, cx ; 89 ca 5282 mov ax, si ; 89 f0 5283 call 02f 07h ; e8 43015368 call 02f85h ; e8 40 01 5369 inc cx ; 41 5370 mov dx, cx ; 89 ca 5371 mov ax, si ; 89 f0 5372 call 02f93h ; e8 46 01 5284 5373 mov bx, ax ; 89 c3 5285 5374 mov dx, strict word 00060h ; ba 60 00 5286 5375 mov ax, strict word 00040h ; b8 40 00 5287 call 02f 15h ; e8 46015288 mov word [bp-00 2h], strict word 00000h ; c7 46 fe00 005289 inc cx ; 41 5290 inc cx ; 41 5291 jmp short 02 ddeh ; eb 065292 cmp word [bp-00 2h], strict byte 00008h ; 83 7e fe085293 jnc short 02 dfch ; 73 1e5294 mov dx, cx ; 89 ca 5295 mov ax, si ; 89 f0 5296 call 02f 07h ; e8 22015376 call 02fa1h ; e8 49 01 5377 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5378 inc cx ; 41 5379 inc cx ; 41 5380 jmp short 02e67h ; eb 06 5381 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5382 jnc short 02e85h ; 73 1e 5383 mov dx, cx ; 89 ca 5384 mov ax, si ; 89 f0 5385 call 02f93h ; e8 25 01 5297 5386 mov bx, ax ; 89 c3 5298 mov dx, word [bp-00 2h] ; 8b 56 fe5387 mov dx, word [bp-008h] ; 8b 56 f8 5299 5388 add dx, dx ; 01 d2 5300 5389 add dx, strict byte 00050h ; 83 c2 50 5301 5390 mov ax, strict word 00040h ; b8 40 00 5302 call 02f 15h ; e8 20015303 inc cx ; 41 5304 inc cx ; 41 5305 inc word [bp-00 2h] ; ff 46 fe5306 jmp short 02 dd8h ; eb dc5307 mov dx, cx ; 89 ca 5308 mov ax, si ; 89 f0 5309 call 02f 07h ; e8 04015391 call 02fa1h ; e8 23 01 5392 inc cx ; 41 5393 inc cx ; 41 5394 inc word [bp-008h] ; ff 46 f8 5395 jmp short 02e61h ; eb dc 5396 mov dx, cx ; 89 ca 5397 mov ax, si ; 89 f0 5398 call 02f93h ; e8 07 01 5310 5399 mov bx, ax ; 89 c3 5311 5400 mov dx, strict word 0004eh ; ba 4e 00 5312 5401 mov ax, strict word 00040h ; b8 40 00 5313 call 02f 15h ; e8 07015314 inc cx ; 41 5315 inc cx ; 41 5316 mov dx, cx ; 89 ca 5317 mov ax, si ; 89 f0 5318 call 02 eebh ; e8 d4005402 call 02fa1h ; e8 0a 01 5403 inc cx ; 41 5404 inc cx ; 41 5405 mov dx, cx ; 89 ca 5406 mov ax, si ; 89 f0 5407 call 02f77h ; e8 d7 00 5319 5408 movzx bx, al ; 0f b6 d8 5320 5409 mov dx, strict word 00062h ; ba 62 00 5321 5410 mov ax, strict word 00040h ; b8 40 00 5322 call 02 ef9h ; e8 d6005323 inc cx ; 41 5324 mov dx, cx ; 89 ca 5325 mov ax, si ; 89 f0 5326 call 02f 07h ; e8 dc005411 call 02f85h ; e8 d9 00 5412 inc cx ; 41 5413 mov dx, cx ; 89 ca 5414 mov ax, si ; 89 f0 5415 call 02f93h ; e8 df 00 5327 5416 mov bx, ax ; 89 c3 5328 5417 mov dx, strict word 0007ch ; ba 7c 00 5329 5418 xor ax, ax ; 31 c0 5330 call 02f 15h ; e8 e0005331 inc cx ; 41 5332 inc cx ; 41 5333 mov dx, cx ; 89 ca 5334 mov ax, si ; 89 f0 5335 call 02f 07h ; e8 c9005419 call 02fa1h ; e8 e3 00 5420 inc cx ; 41 5421 inc cx ; 41 5422 mov dx, cx ; 89 ca 5423 mov ax, si ; 89 f0 5424 call 02f93h ; e8 cc 00 5336 5425 mov bx, ax ; 89 c3 5337 5426 mov dx, strict word 0007eh ; ba 7e 00 5338 5427 xor ax, ax ; 31 c0 5339 call 02f 15h ; e8 cd005340 inc cx ; 41 5341 inc cx ; 41 5342 mov dx, cx ; 89 ca 5343 mov ax, si ; 89 f0 5344 call 02f 07h ; e8 b6005428 call 02fa1h ; e8 d0 00 5429 inc cx ; 41 5430 inc cx ; 41 5431 mov dx, cx ; 89 ca 5432 mov ax, si ; 89 f0 5433 call 02f93h ; e8 b9 00 5345 5434 mov bx, ax ; 89 c3 5346 5435 mov dx, 0010ch ; ba 0c 01 5347 5436 xor ax, ax ; 31 c0 5348 call 02f 15h ; e8 ba005349 inc cx ; 41 5350 inc cx ; 41 5351 mov dx, cx ; 89 ca 5352 mov ax, si ; 89 f0 5353 call 02f 07h ; e8 a3005437 call 02fa1h ; e8 bd 00 5438 inc cx ; 41 5439 inc cx ; 41 5440 mov dx, cx ; 89 ca 5441 mov ax, si ; 89 f0 5442 call 02f93h ; e8 a6 00 5354 5443 mov bx, ax ; 89 c3 5355 5444 mov dx, 0010eh ; ba 0e 01 5356 5445 xor ax, ax ; 31 c0 5357 call 02f 15h ; e8 a7005358 inc cx ; 41 5359 inc cx ; 41 5360 test byte [bp-00 8h], 004h ; f6 46 f8045361 je short 02 ebdh ; 74 475362 inc cx ; 41 5363 mov dx, cx ; 89 ca 5364 mov ax, si ; 89 f0 5365 call 02 eebh ; e8 6d005446 call 02fa1h ; e8 aa 00 5447 inc cx ; 41 5448 inc cx ; 41 5449 test byte [bp-00eh], 004h ; f6 46 f2 04 5450 je short 02f46h ; 74 47 5451 inc cx ; 41 5452 mov dx, cx ; 89 ca 5453 mov ax, si ; 89 f0 5454 call 02f77h ; e8 70 00 5366 5455 xor ah, ah ; 30 e4 5367 mov word [bp-00 4h], ax ; 89 46 fc5368 inc cx ; 41 5369 mov dx, cx ; 89 ca 5370 mov ax, si ; 89 f0 5371 call 02 eebh ; e8 60005456 mov word [bp-00ah], ax ; 89 46 f6 5457 inc cx ; 41 5458 mov dx, cx ; 89 ca 5459 mov ax, si ; 89 f0 5460 call 02f77h ; e8 63 00 5372 5461 mov dx, 003c6h ; ba c6 03 5373 5462 out DX, AL ; ee … … 5377 5466 out DX, AL ; ee 5378 5467 xor ah, ah ; 30 e4 5379 mov word [bp-00 2h], ax ; 89 46 fe5380 jmp short 02 ea4h ; eb 075381 cmp word [bp-00 2h], 00300h ; 81 7e fe00 035382 jnc short 02 eb5h ; 73 115383 mov dx, cx ; 89 ca 5384 mov ax, si ; 89 f0 5385 call 02 eebh ; e8 40005468 mov word [bp-008h], ax ; 89 46 f8 5469 jmp short 02f2dh ; eb 07 5470 cmp word [bp-008h], 00300h ; 81 7e f8 00 03 5471 jnc short 02f3eh ; 73 11 5472 mov dx, cx ; 89 ca 5473 mov ax, si ; 89 f0 5474 call 02f77h ; e8 43 00 5386 5475 mov dx, 003c9h ; ba c9 03 5387 5476 out DX, AL ; ee 5388 5477 inc cx ; 41 5389 inc word [bp-00 2h] ; ff 46 fe5390 jmp short 02 e9dh ; eb e85391 inc cx ; 41 5392 mov al, byte [bp-00 4h] ; 8a 46 fc5478 inc word [bp-008h] ; ff 46 f8 5479 jmp short 02f26h ; eb e8 5480 inc cx ; 41 5481 mov al, byte [bp-00ah] ; 8a 46 f6 5393 5482 mov dx, 003c8h ; ba c8 03 5394 5483 out DX, AL ; ee 5395 5484 mov ax, cx ; 89 c8 5396 lea ve ; c95485 lea sp, [bp-006h] ; 8d 66 fa 5397 5486 pop di ; 5f 5398 5487 pop si ; 5e 5399 5488 pop cx ; 59 5400 retn ; c3 5401 find_vga_entry_: ; 0xc2ec4 LB 0x27 5489 pop bp ; 5d 5490 retn ; c3 5491 find_vga_entry_: ; 0xc2f50 LB 0x27 5402 5492 push bx ; 53 5403 5493 push dx ; 52 … … 5407 5497 mov AH, strict byte 0ffh ; b4 ff 5408 5498 xor al, al ; 30 c0 5409 jmp short 02 ed7h ; eb 065499 jmp short 02f63h ; eb 06 5410 5500 db 0feh, 0c0h 5411 5501 ; inc al ; fe c0 5412 5502 cmp AL, strict byte 00fh ; 3c 0f 5413 jnbe short 02 ee5h ; 77 0e5503 jnbe short 02f71h ; 77 0e 5414 5504 movzx bx, al ; 0f b6 d8 5415 5505 sal bx, 003h ; c1 e3 03 5416 cmp dl, byte [bx+048 2fh] ; 3a 97 2f485417 jne short 02 ed1h ; 75 ee5506 cmp dl, byte [bx+04834h] ; 3a 97 34 48 5507 jne short 02f5dh ; 75 ee 5418 5508 mov ah, al ; 88 c4 5419 5509 mov al, ah ; 88 e0 … … 5422 5512 pop bx ; 5b 5423 5513 retn ; c3 5424 read_byte_: ; 0xc2 eebLB 0xe5514 read_byte_: ; 0xc2f77 LB 0xe 5425 5515 push bx ; 53 5426 5516 push bp ; 55 … … 5432 5522 pop bx ; 5b 5433 5523 retn ; c3 5434 write_byte_: ; 0xc2 ef9LB 0xe5524 write_byte_: ; 0xc2f85 LB 0xe 5435 5525 push si ; 56 5436 5526 push bp ; 55 … … 5442 5532 pop si ; 5e 5443 5533 retn ; c3 5444 read_word_: ; 0xc2f 07LB 0xe5534 read_word_: ; 0xc2f93 LB 0xe 5445 5535 push bx ; 53 5446 5536 push bp ; 55 … … 5452 5542 pop bx ; 5b 5453 5543 retn ; c3 5454 write_word_: ; 0xc2f 15LB 0xe5544 write_word_: ; 0xc2fa1 LB 0xe 5455 5545 push si ; 56 5456 5546 push bp ; 55 … … 5462 5552 pop si ; 5e 5463 5553 retn ; c3 5464 read_dword_: ; 0xc2f 23LB 0x125554 read_dword_: ; 0xc2faf LB 0x12 5465 5555 push bx ; 53 5466 5556 push bp ; 55 … … 5473 5563 pop bx ; 5b 5474 5564 retn ; c3 5475 write_dword_: ; 0xc2f 35LB 0x7f5565 write_dword_: ; 0xc2fc1 LB 0x7f 5476 5566 push si ; 56 5477 5567 push bp ; 55 … … 5495 5585 add ax, 00304h ; 05 04 03 5496 5586 add al, byte [bx+di] ; 02 01 5497 add byte [bx+033h], dh ; 00 77 33 5498 loop 02f8fh ; e2 2f 5499 and byte [bx+si], dh ; 20 30 5500 xor AL, strict byte 030h ; 34 30 5501 inc bp ; 45 5502 xor byte [bx+di+030h], bl ; 30 59 30 5503 push strict byte 00030h ; 6a 30 5504 je short 02f9ch ; 74 30 5505 scasb ; ae 5506 xor byte [bp+si-03cd0h], dh ; 30 b2 30 c3 5507 xor al, ah ; 30 e0 5508 xor ch, bh ; 30 fd 5509 xor byte [di], bl ; 30 1d 5587 add byte [bp+di], al ; 00 03 5588 xor AL, strict byte 06eh ; 34 6e 5589 xor byte [si-03fd0h], ch ; 30 ac 30 c0 5590 xor cl, dl ; 30 d1 5591 xor ch, ah ; 30 e5 5592 xor dh, dh ; 30 f6 5593 xor byte [bx+si], al ; 30 00 5510 5594 xor word [bp+si], di ; 31 3a 5511 xor word [bx+di+031h], dx ; 31 51 31 5512 pop bp ; 5d 5513 xor word [bx+si], di ; 31 38 5514 xor dh, byte [bp+di+032h] ; 32 73 32 5515 mov word [0b832h], ax ; a3 32 b8 5516 db 032h, 0fah 5517 ; xor bh, dl ; 32 fa 5518 xor dh, byte [bx+si] ; 32 30 5519 and AL, strict byte 023h ; 24 23 5520 and ah, byte [bx+di] ; 22 21 5521 and byte [si], dl ; 20 14 5522 adc dl, byte [bx+di] ; 12 11 5523 adc byte [si], al ; 10 04 5524 add al, byte [bx+di] ; 02 01 5525 add byte [bx+033h], dh ; 00 77 33 5526 jle short 02fcbh ; 7e 31 5527 movsb ; a4 5528 xor word [di-039cfh], si ; 31 b5 31 c6 5529 xor word [bp+031h], di ; 31 7e 31 5530 movsb ; a4 5531 xor word [di-039cfh], si ; 31 b5 31 c6 5532 xor di, dx ; 31 d7 5533 xor bx, sp ; 31 e3 5534 xor si, di ; 31 fe 5535 xor word [bx+di], cx ; 31 09 5536 xor dl, byte [si] ; 32 14 5537 xor bl, byte [bx] ; 32 1f 5595 xor word [04f31h], di ; 31 3e 31 4f 5596 xor word [si+031h], bp ; 31 6c 31 5597 mov word [bx+di], si ; 89 31 5598 test ax, 0c631h ; a9 31 c6 5599 xor bp, bx ; 31 dd 5600 xor cx, bp ; 31 e9 5601 xor sp, ax ; 31 c4 5602 db 032h, 0ffh 5603 ; xor bh, bh ; 32 ff 5604 xor ch, byte [bx] ; 32 2f 5605 xor ax, word [si+033h] ; 33 44 33 5606 xchg byte [bp+di], dh ; 86 33 5607 xor byte [si], ah ; 30 24 5608 and sp, word [bp+si] ; 23 22 5609 and word [bx+si], sp ; 21 20 5610 adc AL, strict byte 012h ; 14 12 5611 adc word [bx+si], dx ; 11 10 5612 add AL, strict byte 002h ; 04 02 5613 add word [bx+si], ax ; 01 00 5614 add si, word [si] ; 03 34 5615 or dh, byte [bp+si] ; 0a 32 5616 xor byte [bp+si], dh ; 30 32 5617 inc cx ; 41 5618 xor dl, byte [bp+si+032h] ; 32 52 32 5619 or dh, byte [bp+si] ; 0a 32 5620 xor byte [bp+si], dh ; 30 32 5621 inc cx ; 41 5622 xor dl, byte [bp+si+032h] ; 32 52 32 5623 arpl word [bp+si], si ; 63 32 5624 outsw ; 6f 5625 xor cl, byte [bp+si-06aceh] ; 32 8a 32 95 5626 xor ah, byte [bx+si-054ceh] ; 32 a0 32 ab 5538 5627 db 032h 5539 _int10_func: ; 0xc2fb4 LB 0x3c7 5628 _int10_func: ; 0xc3040 LB 0x3ca 5629 push bp ; 55 5630 mov bp, sp ; 89 e5 5540 5631 push si ; 56 5541 5632 push di ; 57 5542 enter 00002h, 000h ; c8 02 00 005543 mov si, word [bp+00 8h] ; 8b 76 085544 mov ax, word [bp+01 6h] ; 8b 46 165633 push ax ; 50 5634 mov si, word [bp+004h] ; 8b 76 04 5635 mov ax, word [bp+012h] ; 8b 46 12 5545 5636 shr ax, 008h ; c1 e8 08 5546 5637 cmp ax, strict word 0004fh ; 3d 4f 00 5547 jnbe near 03 377h ; 0f 87 ad 035638 jnbe near 03403h ; 0f 87 ad 03 5548 5639 push CS ; 0e 5549 5640 pop ES ; 07 5550 5641 mov cx, strict word 00016h ; b9 16 00 5551 mov di, 02f 47h ; bf 472f5642 mov di, 02fd3h ; bf d3 2f 5552 5643 repne scasb ; f2 ae 5553 5644 sal cx, 1 ; d1 e1 5554 5645 mov di, cx ; 89 cf 5555 mov ax, word [cs:di+02f 5ch] ; 2e 8b 85 5c2f5556 mov cl, byte [bp+01 6h] ; 8a 4e 165646 mov ax, word [cs:di+02fe8h] ; 2e 8b 85 e8 2f 5647 mov cl, byte [bp+012h] ; 8a 4e 12 5557 5648 jmp ax ; ff e0 5558 mov al, byte [bp+01 6h] ; 8a 46 165649 mov al, byte [bp+012h] ; 8a 46 12 5559 5650 xor ah, ah ; 30 e4 5560 call 00f b8h ; e8 cedf5561 mov ax, word [bp+01 6h] ; 8b 46 165651 call 00fdch ; e8 66 df 5652 mov ax, word [bp+012h] ; 8b 46 12 5562 5653 and ax, strict word 0007fh ; 25 7f 00 5563 5654 cmp ax, strict word 00007h ; 3d 07 00 5564 je short 030 0ah ; 74 155655 je short 03096h ; 74 15 5565 5656 cmp ax, strict word 00006h ; 3d 06 00 5566 je short 030 01h ; 74 075657 je short 0308dh ; 74 07 5567 5658 cmp ax, strict word 00005h ; 3d 05 00 5568 jbe short 030 0ah ; 76 0b5569 jmp short 030 13h ; eb 125570 mov ax, word [bp+01 6h] ; 8b 46 165659 jbe short 03096h ; 76 0b 5660 jmp short 0309fh ; eb 12 5661 mov ax, word [bp+012h] ; 8b 46 12 5571 5662 xor al, al ; 30 c0 5572 5663 or AL, strict byte 03fh ; 0c 3f 5573 jmp short 030 1ah ; eb 105574 mov ax, word [bp+01 6h] ; 8b 46 165664 jmp short 030a6h ; eb 10 5665 mov ax, word [bp+012h] ; 8b 46 12 5575 5666 xor al, al ; 30 c0 5576 5667 or AL, strict byte 030h ; 0c 30 5577 jmp short 030 1ah ; eb 075578 mov ax, word [bp+01 6h] ; 8b 46 165668 jmp short 030a6h ; eb 07 5669 mov ax, word [bp+012h] ; 8b 46 12 5579 5670 xor al, al ; 30 c0 5580 5671 or AL, strict byte 020h ; 0c 20 5581 mov word [bp+01 6h], ax ; 89 46 165582 jmp near 03 377h ; e9 57 035583 mov al, byte [bp+01 4h] ; 8a 46 145672 mov word [bp+012h], ax ; 89 46 12 5673 jmp near 03403h ; e9 57 03 5674 mov al, byte [bp+010h] ; 8a 46 10 5584 5675 movzx dx, al ; 0f b6 d0 5585 mov ax, word [bp+014h] ; 8b 46 145586 shr ax, 008h ; c1 e8 085587 xor ah, ah ; 30 e45588 call 00da1h ; e8 70 dd5589 jmp near 03377h ; e9 43 035590 mov dx, word [bp+012h] ; 8b 56 125591 5676 mov ax, word [bp+010h] ; 8b 46 10 5592 5677 shr ax, 008h ; c1 e8 08 5593 5678 xor ah, ah ; 30 e4 5594 call 00e42h ; e8 00 de 5595 jmp near 03377h ; e9 32 03 5596 lea bx, [bp+012h] ; 8d 5e 12 5597 lea dx, [bp+014h] ; 8d 56 14 5679 call 00dbah ; e8 fd dc 5680 jmp near 03403h ; e9 43 03 5681 mov dx, word [bp+00eh] ; 8b 56 0e 5682 mov ax, word [bp+00ch] ; 8b 46 0c 5683 shr ax, 008h ; c1 e8 08 5684 xor ah, ah ; 30 e4 5685 call 00e5eh ; e8 90 dd 5686 jmp near 03403h ; e9 32 03 5687 lea bx, [bp+00eh] ; 8d 5e 0e 5688 lea dx, [bp+010h] ; 8d 56 10 5689 mov ax, word [bp+00ch] ; 8b 46 0c 5690 shr ax, 008h ; c1 e8 08 5691 xor ah, ah ; 30 e4 5692 call 00a88h ; e8 a6 d9 5693 jmp near 03403h ; e9 1e 03 5694 xor ax, ax ; 31 c0 5695 mov word [bp+012h], ax ; 89 46 12 5696 mov word [bp+00ch], ax ; 89 46 0c 5697 mov word [bp+010h], ax ; 89 46 10 5698 mov word [bp+00eh], ax ; 89 46 0e 5699 jmp near 03403h ; e9 0d 03 5700 mov al, cl ; 88 c8 5701 xor ah, ah ; 30 e4 5702 call 00f00h ; e8 03 de 5703 jmp near 03403h ; e9 03 03 5704 mov ax, strict word 00001h ; b8 01 00 5705 push ax ; 50 5706 mov ax, 000ffh ; b8 ff 00 5707 push ax ; 50 5708 mov al, byte [bp+00eh] ; 8a 46 0e 5709 xor ah, ah ; 30 e4 5710 push ax ; 50 5711 mov ax, word [bp+00eh] ; 8b 46 0e 5712 shr ax, 008h ; c1 e8 08 5713 xor ah, ah ; 30 e4 5714 push ax ; 50 5715 mov al, byte [bp+010h] ; 8a 46 10 5716 movzx cx, al ; 0f b6 c8 5598 5717 mov ax, word [bp+010h] ; 8b 46 10 5599 5718 shr ax, 008h ; c1 e8 08 5600 xor ah, ah ; 30 e4 5601 call 00a83h ; e8 2d da 5602 jmp near 03377h ; e9 1e 03 5603 xor ax, ax ; 31 c0 5604 mov word [bp+016h], ax ; 89 46 16 5605 mov word [bp+010h], ax ; 89 46 10 5606 mov word [bp+014h], ax ; 89 46 14 5607 mov word [bp+012h], ax ; 89 46 12 5608 jmp near 03377h ; e9 0d 03 5609 mov al, cl ; 88 c8 5610 xor ah, ah ; 30 e4 5611 call 00ee0h ; e8 6f de 5612 jmp near 03377h ; e9 03 03 5613 mov ax, strict word 00001h ; b8 01 00 5614 push ax ; 50 5615 mov ax, 000ffh ; b8 ff 00 5616 push ax ; 50 5719 movzx bx, al ; 0f b6 d8 5720 mov ax, word [bp+00ch] ; 8b 46 0c 5721 shr ax, 008h ; c1 e8 08 5722 movzx dx, al ; 0f b6 d0 5617 5723 mov al, byte [bp+012h] ; 8a 46 12 5618 5724 xor ah, ah ; 30 e4 5619 push ax ; 50 5620 mov ax, word [bp+012h] ; 8b 46 12 5725 call 01568h ; e8 31 e4 5726 jmp near 03403h ; e9 c9 02 5727 xor ax, ax ; 31 c0 5728 jmp short 03103h ; eb c5 5729 lea dx, [bp+012h] ; 8d 56 12 5730 mov ax, word [bp+00ch] ; 8b 46 0c 5621 5731 shr ax, 008h ; c1 e8 08 5622 5732 xor ah, ah ; 30 e4 5623 push ax ; 50 5624 mov al, byte [bp+014h] ; 8a 46 14 5625 movzx cx, al ; 0f b6 c8 5626 mov ax, word [bp+014h] ; 8b 46 14 5627 shr ax, 008h ; c1 e8 08 5733 call 00acbh ; e8 7f d9 5734 jmp near 03403h ; e9 b4 02 5735 mov cx, word [bp+010h] ; 8b 4e 10 5736 mov al, byte [bp+00ch] ; 8a 46 0c 5628 5737 movzx bx, al ; 0f b6 d8 5629 mov ax, word [bp+0 10h] ; 8b 46 105738 mov ax, word [bp+00ch] ; 8b 46 0c 5630 5739 shr ax, 008h ; c1 e8 08 5631 5740 movzx dx, al ; 0f b6 d0 5632 mov al, byte [bp+01 6h] ; 8a 46 165741 mov al, byte [bp+012h] ; 8a 46 12 5633 5742 xor ah, ah ; 30 e4 5634 call 0152fh ; e8 84 e4 5635 jmp near 03377h ; e9 c9 02 5636 xor ax, ax ; 31 c0 5637 jmp short 03077h ; eb c5 5638 lea dx, [bp+016h] ; 8d 56 16 5639 mov ax, word [bp+010h] ; 8b 46 10 5640 shr ax, 008h ; c1 e8 08 5641 xor ah, ah ; 30 e4 5642 call 00ac3h ; e8 03 da 5643 jmp near 03377h ; e9 b4 02 5644 mov cx, word [bp+014h] ; 8b 4e 14 5645 mov al, byte [bp+010h] ; 8a 46 10 5743 call 01d08h ; e8 9f eb 5744 jmp near 03403h ; e9 97 02 5745 mov cx, word [bp+010h] ; 8b 4e 10 5746 mov al, byte [bp+00ch] ; 8a 46 0c 5646 5747 movzx bx, al ; 0f b6 d8 5647 mov ax, word [bp+0 10h] ; 8b 46 105748 mov ax, word [bp+00ch] ; 8b 46 0c 5648 5749 shr ax, 008h ; c1 e8 08 5649 5750 movzx dx, al ; 0f b6 d0 5650 mov al, byte [bp+01 6h] ; 8a 46 165751 mov al, byte [bp+012h] ; 8a 46 12 5651 5752 xor ah, ah ; 30 e4 5652 call 01cbbh ; e8 de eb 5653 jmp near 03377h ; e9 97 02 5654 mov cx, word [bp+014h] ; 8b 4e 14 5655 mov al, byte [bp+010h] ; 8a 46 10 5656 movzx bx, al ; 0f b6 d8 5657 mov ax, word [bp+010h] ; 8b 46 10 5753 call 01e70h ; e8 ea ec 5754 jmp near 03403h ; e9 7a 02 5755 mov cx, word [bp+00eh] ; 8b 4e 0e 5756 mov bx, word [bp+010h] ; 8b 5e 10 5757 mov al, byte [bp+012h] ; 8a 46 12 5758 movzx dx, al ; 0f b6 d0 5759 mov ax, word [bp+00ch] ; 8b 46 0c 5658 5760 shr ax, 008h ; c1 e8 08 5659 mov zx dx, al ; 0f b6 d05660 mov al, byte [bp +016h] ; 8a 46 165761 mov word [bp-006h], ax ; 89 46 fa 5762 mov al, byte [bp-006h] ; 8a 46 fa 5661 5763 xor ah, ah ; 30 e4 5662 call 01e1eh ; e8 24 ed 5663 jmp near 03377h ; e9 7a 02 5664 mov cx, word [bp+012h] ; 8b 4e 12 5665 mov bx, word [bp+014h] ; 8b 5e 14 5666 mov al, byte [bp+016h] ; 8a 46 16 5667 movzx dx, al ; 0f b6 d0 5668 mov ax, word [bp+010h] ; 8b 46 10 5764 call 01fdfh ; e8 39 ee 5765 jmp near 03403h ; e9 5a 02 5766 lea cx, [bp+012h] ; 8d 4e 12 5767 mov bx, word [bp+00eh] ; 8b 5e 0e 5768 mov dx, word [bp+010h] ; 8b 56 10 5769 mov ax, word [bp+00ch] ; 8b 46 0c 5669 5770 shr ax, 008h ; c1 e8 08 5670 mov word [bp-00 2h], ax ; 89 46 fe5671 mov al, byte [bp-00 2h] ; 8a 46 fe5771 mov word [bp-006h], ax ; 89 46 fa 5772 mov al, byte [bp-006h] ; 8a 46 fa 5672 5773 xor ah, ah ; 30 e4 5673 call 01f88h ; e8 6e ee 5674 jmp near 03377h ; e9 5a 02 5675 lea cx, [bp+016h] ; 8d 4e 16 5676 mov bx, word [bp+012h] ; 8b 5e 12 5677 mov dx, word [bp+014h] ; 8b 56 14 5678 mov ax, word [bp+010h] ; 8b 46 10 5679 shr ax, 008h ; c1 e8 08 5680 mov word [bp-002h], ax ; 89 46 fe 5681 mov al, byte [bp-002h] ; 8a 46 fe 5682 xor ah, ah ; 30 e4 5683 call 00be5h ; e8 ae da 5684 jmp near 03377h ; e9 3d 02 5774 call 00bf5h ; e8 32 da 5775 jmp near 03403h ; e9 3d 02 5685 5776 mov cx, strict word 00002h ; b9 02 00 5686 mov al, byte [bp+0 10h] ; 8a 46 105777 mov al, byte [bp+00ch] ; 8a 46 0c 5687 5778 movzx bx, al ; 0f b6 d8 5688 5779 mov dx, 000ffh ; ba ff 00 5689 mov al, byte [bp+01 6h] ; 8a 46 165780 mov al, byte [bp+012h] ; 8a 46 12 5690 5781 xor ah, ah ; 30 e4 5691 call 02 0f0h ; e8 a2ef5692 jmp near 03 377h ; e9 26 025693 mov dx, word [bp+01 4h] ; 8b 56 145694 mov ax, word [bp+0 10h] ; 8b 46 105695 call 00d 19h ; e8 bfdb5696 jmp near 03 377h ; e9 1a 025697 mov ax, word [bp+01 6h] ; 8b 46 165782 call 02149h ; e8 6f ef 5783 jmp near 03403h ; e9 26 02 5784 mov dx, word [bp+010h] ; 8b 56 10 5785 mov ax, word [bp+00ch] ; 8b 46 0c 5786 call 00d2eh ; e8 48 db 5787 jmp near 03403h ; e9 1a 02 5788 mov ax, word [bp+012h] ; 8b 46 12 5698 5789 xor ah, ah ; 30 e4 5699 5790 cmp ax, strict word 00030h ; 3d 30 00 5700 jnbe near 03 377h ; 0f 87 0e 025791 jnbe near 03403h ; 0f 87 0e 02 5701 5792 push CS ; 0e 5702 5793 pop ES ; 07 5703 5794 mov cx, strict word 0000fh ; b9 0f 00 5704 mov di, 0 2f88h ; bf 88 2f5795 mov di, 03014h ; bf 14 30 5705 5796 repne scasb ; f2 ae 5706 5797 sal cx, 1 ; d1 e1 5707 5798 mov di, cx ; 89 cf 5708 mov ax, word [cs:di+0 2f96h] ; 2e 8b 85 96 2f5799 mov ax, word [cs:di+03022h] ; 2e 8b 85 22 30 5709 5800 jmp ax ; ff e0 5710 mov ax, word [bp+0 10h] ; 8b 46 105801 mov ax, word [bp+00ch] ; 8b 46 0c 5711 5802 shr ax, 008h ; c1 e8 08 5712 5803 xor ah, ah ; 30 e4 5713 5804 push ax ; 50 5714 mov al, byte [bp+0 10h] ; 8a 46 105805 mov al, byte [bp+00ch] ; 8a 46 0c 5715 5806 xor ah, ah ; 30 e4 5716 5807 push ax ; 50 5717 push word [bp+012h] ; ff 76 12 5718 mov al, byte [bp+016h] ; 8a 46 16 5719 xor ah, ah ; 30 e4 5720 mov cx, word [bp+014h] ; 8b 4e 14 5721 mov bx, word [bp+00ch] ; 8b 5e 0c 5722 mov dx, word [bp+01ah] ; 8b 56 1a 5723 call 0248dh ; e8 ec f2 5724 jmp near 03377h ; e9 d3 01 5725 mov al, byte [bp+010h] ; 8a 46 10 5726 movzx dx, al ; 0f b6 d0 5727 mov al, byte [bp+016h] ; 8a 46 16 5728 xor ah, ah ; 30 e4 5729 call 02505h ; e8 53 f3 5730 jmp near 03377h ; e9 c2 01 5731 mov al, byte [bp+010h] ; 8a 46 10 5732 movzx dx, al ; 0f b6 d0 5733 mov al, byte [bp+016h] ; 8a 46 16 5734 xor ah, ah ; 30 e4 5735 call 02571h ; e8 ae f3 5736 jmp near 03377h ; e9 b1 01 5737 mov al, byte [bp+010h] ; 8a 46 10 5738 movzx dx, al ; 0f b6 d0 5739 mov al, byte [bp+016h] ; 8a 46 16 5740 xor ah, ah ; 30 e4 5741 call 025dfh ; e8 0b f4 5742 jmp near 03377h ; e9 a0 01 5743 mov dx, word [bp+00ch] ; 8b 56 0c 5744 mov ax, word [bp+01ah] ; 8b 46 1a 5745 call 0264dh ; e8 6d f4 5746 jmp near 03377h ; e9 94 01 5808 push word [bp+00eh] ; ff 76 0e 5747 5809 mov al, byte [bp+012h] ; 8a 46 12 5748 5810 xor ah, ah ; 30 e4 5749 push ax ; 50 5750 mov al, byte [bp+010h] ; 8a 46 10 5811 mov cx, word [bp+010h] ; 8b 4e 10 5812 mov bx, word [bp+008h] ; 8b 5e 08 5813 mov dx, word [bp+016h] ; 8b 56 16 5814 call 024f4h ; e8 c7 f2 5815 jmp near 03403h ; e9 d3 01 5816 mov al, byte [bp+00ch] ; 8a 46 0c 5817 movzx dx, al ; 0f b6 d0 5818 mov al, byte [bp+012h] ; 8a 46 12 5819 xor ah, ah ; 30 e4 5820 call 02571h ; e8 33 f3 5821 jmp near 03403h ; e9 c2 01 5822 mov al, byte [bp+00ch] ; 8a 46 0c 5823 movzx dx, al ; 0f b6 d0 5824 mov al, byte [bp+012h] ; 8a 46 12 5825 xor ah, ah ; 30 e4 5826 call 025e1h ; e8 92 f3 5827 jmp near 03403h ; e9 b1 01 5828 mov al, byte [bp+00ch] ; 8a 46 0c 5829 movzx dx, al ; 0f b6 d0 5830 mov al, byte [bp+012h] ; 8a 46 12 5831 xor ah, ah ; 30 e4 5832 call 02653h ; e8 f3 f3 5833 jmp near 03403h ; e9 a0 01 5834 mov dx, word [bp+008h] ; 8b 56 08 5835 mov ax, word [bp+016h] ; 8b 46 16 5836 call 026c5h ; e8 59 f4 5837 jmp near 03403h ; e9 94 01 5838 mov al, byte [bp+00eh] ; 8a 46 0e 5839 xor ah, ah ; 30 e4 5840 push ax ; 50 5841 mov al, byte [bp+00ch] ; 8a 46 0c 5751 5842 movzx cx, al ; 0f b6 c8 5752 mov bx, word [bp+01 4h] ; 8b 5e 145753 mov dx, word [bp+00 ch] ; 8b 56 0c5754 mov ax, word [bp+01 ah] ; 8b 46 1a5755 call 026 52h ; e8 57f45756 jmp near 03 377h ; e9 79 015757 mov al, byte [bp+0 10h] ; 8a 46 105843 mov bx, word [bp+010h] ; 8b 5e 10 5844 mov dx, word [bp+008h] ; 8b 56 08 5845 mov ax, word [bp+016h] ; 8b 46 16 5846 call 026cah ; e8 43 f4 5847 jmp near 03403h ; e9 79 01 5848 mov al, byte [bp+00ch] ; 8a 46 0c 5758 5849 xor ah, ah ; 30 e4 5759 call 026 59h ; e8 53f45760 jmp near 03 377h ; e9 6e 015761 mov al, byte [bp+0 10h] ; 8a 46 105850 call 026d1h ; e8 3f f4 5851 jmp near 03403h ; e9 6e 01 5852 mov al, byte [bp+00ch] ; 8a 46 0c 5762 5853 xor ah, ah ; 30 e4 5763 call 026 5eh ; e8 4df45764 jmp near 03 377h ; e9 63 015765 mov al, byte [bp+0 10h] ; 8a 46 105854 call 026d6h ; e8 39 f4 5855 jmp near 03403h ; e9 63 01 5856 mov al, byte [bp+00ch] ; 8a 46 0c 5766 5857 xor ah, ah ; 30 e4 5767 call 026 63h ; e8 47f45768 jmp near 03 377h ; e9 58 015769 lea ax, [bp+0 12h] ; 8d 46 125770 push ax ; 50 5771 lea cx, [bp+01 4h] ; 8d 4e 145772 lea bx, [bp+00 ch] ; 8d 5e 0c5773 lea dx, [bp+01 ah] ; 8d 56 1a5774 mov ax, word [bp+0 10h] ; 8b 46 105858 call 026dbh ; e8 33 f4 5859 jmp near 03403h ; e9 58 01 5860 lea ax, [bp+00eh] ; 8d 46 0e 5861 push ax ; 50 5862 lea cx, [bp+010h] ; 8d 4e 10 5863 lea bx, [bp+008h] ; 8d 5e 08 5864 lea dx, [bp+016h] ; 8d 56 16 5865 mov ax, word [bp+00ch] ; 8b 46 0c 5775 5866 shr ax, 008h ; c1 e8 08 5776 call 00b 66h ; e8 31 d95777 jmp near 03 377h ; e9 3f 015778 mov ax, word [bp+0 10h] ; 8b 46 105867 call 00b73h ; e8 b2 d8 5868 jmp near 03403h ; e9 3f 01 5869 mov ax, word [bp+00ch] ; 8b 46 0c 5779 5870 xor ah, ah ; 30 e4 5780 5871 cmp ax, strict word 00036h ; 3d 36 00 5781 je short 032 6ah ; 74 285872 je short 032f6h ; 74 28 5782 5873 cmp ax, strict word 00035h ; 3d 35 00 5783 je short 032 54h ; 74 0d5874 je short 032e0h ; 74 0d 5784 5875 cmp ax, strict word 00020h ; 3d 20 00 5785 jne near 03 377h ; 0f 85 29 015786 call 026 68h ; e8 17f45787 jmp near 03 377h ; e9 23 015876 jne near 03403h ; 0f 85 29 01 5877 call 026e0h ; e8 03 f4 5878 jmp near 03403h ; e9 23 01 5788 5879 movzx ax, cl ; 0f b6 c1 5789 mov bx, word [bp+0 12h] ; 8b 5e 125790 mov dx, word [bp+01 ah] ; 8b 56 1a5791 call 026 6dh ; e8 0d f45792 mov ax, word [bp+01 6h] ; 8b 46 165880 mov bx, word [bp+00eh] ; 8b 5e 0e 5881 mov dx, word [bp+016h] ; 8b 56 16 5882 call 026e5h ; e8 f9 f3 5883 mov ax, word [bp+012h] ; 8b 46 12 5793 5884 xor al, al ; 30 c0 5794 5885 or AL, strict byte 012h ; 0c 12 5795 jmp near 030 1ah ; e9 b0 fd5886 jmp near 030a6h ; e9 b0 fd 5796 5887 mov al, cl ; 88 c8 5797 5888 xor ah, ah ; 30 e4 5798 call 026 72h ; e8 01 f45799 jmp short 032 60h ; eb ed5800 push word [bp+00 ch] ; ff 76 0c5801 push word [bp+01 ah] ; ff 76 1a5802 mov al, byte [bp+0 12h] ; 8a 46 125889 call 026eah ; e8 ed f3 5890 jmp short 032ech ; eb ed 5891 push word [bp+008h] ; ff 76 08 5892 push word [bp+016h] ; ff 76 16 5893 mov al, byte [bp+00eh] ; 8a 46 0e 5803 5894 xor ah, ah ; 30 e4 5804 5895 push ax ; 50 5805 mov ax, word [bp+0 12h] ; 8b 46 125896 mov ax, word [bp+00eh] ; 8b 46 0e 5806 5897 shr ax, 008h ; c1 e8 08 5807 5898 xor ah, ah ; 30 e4 5808 5899 push ax ; 50 5809 mov al, byte [bp+0 10h] ; 8a 46 105900 mov al, byte [bp+00ch] ; 8a 46 0c 5810 5901 movzx bx, al ; 0f b6 d8 5811 mov ax, word [bp+0 10h] ; 8b 46 105902 mov ax, word [bp+00ch] ; 8b 46 0c 5812 5903 shr ax, 008h ; c1 e8 08 5813 5904 movzx dx, al ; 0f b6 d0 5814 5905 movzx ax, cl ; 0f b6 c1 5815 mov cx, word [bp+01 4h] ; 8b 4e 145816 call 026 77h ; e8 d7f35817 jmp near 03 377h ; e9 d4 005906 mov cx, word [bp+010h] ; 8b 4e 10 5907 call 026efh ; e8 c3 f3 5908 jmp near 03403h ; e9 d4 00 5818 5909 mov bx, si ; 89 f3 5819 mov dx, word [bp+01 ah] ; 8b 56 1a5820 mov ax, word [bp+0 10h] ; 8b 46 105821 call 027 0eh ; e8 60f45822 mov ax, word [bp+01 6h] ; 8b 46 165910 mov dx, word [bp+016h] ; 8b 56 16 5911 mov ax, word [bp+00ch] ; 8b 46 0c 5912 call 0278bh ; e8 51 f4 5913 mov ax, word [bp+012h] ; 8b 46 12 5823 5914 xor al, al ; 30 c0 5824 5915 or AL, strict byte 01bh ; 0c 1b 5825 jmp near 030 1ah ; e9 62 fd5826 mov ax, word [bp+01 6h] ; 8b 46 165916 jmp near 030a6h ; e9 62 fd 5917 mov ax, word [bp+012h] ; 8b 46 12 5827 5918 xor ah, ah ; 30 e4 5828 5919 cmp ax, strict word 00002h ; 3d 02 00 5829 je short 03 2e4h ; 74 225920 je short 03370h ; 74 22 5830 5921 cmp ax, strict word 00001h ; 3d 01 00 5831 je short 03 2d6h ; 74 0f5922 je short 03362h ; 74 0f 5832 5923 test ax, ax ; 85 c0 5833 jne short 03 2f0h ; 75 255834 lea dx, [bp+0 10h] ; 8d 56 105835 mov ax, word [bp+01 4h] ; 8b 46 145836 call 028 2fh ; e8 5bf55837 jmp short 03 2f0h ; eb 1a5838 mov bx, word [bp+0 10h] ; 8b 5e 105839 mov dx, word [bp+01 ah] ; 8b 56 1a5840 mov ax, word [bp+01 4h] ; 8b 46 145841 call 028 3eh ; e8 5cf55842 jmp short 03 2f0h ; eb 0c5843 mov bx, word [bp+0 10h] ; 8b 5e 105844 mov dx, word [bp+01 ah] ; 8b 56 1a5845 mov ax, word [bp+01 4h] ; 8b 46 145846 call 02 ba3h ; e8 b3f85847 mov ax, word [bp+01 6h] ; 8b 46 165924 jne short 0337ch ; 75 25 5925 lea dx, [bp+00ch] ; 8d 56 0c 5926 mov ax, word [bp+010h] ; 8b 46 10 5927 call 028afh ; e8 4f f5 5928 jmp short 0337ch ; eb 1a 5929 mov bx, word [bp+00ch] ; 8b 5e 0c 5930 mov dx, word [bp+016h] ; 8b 56 16 5931 mov ax, word [bp+010h] ; 8b 46 10 5932 call 028c1h ; e8 53 f5 5933 jmp short 0337ch ; eb 0c 5934 mov bx, word [bp+00ch] ; 8b 5e 0c 5935 mov dx, word [bp+016h] ; 8b 56 16 5936 mov ax, word [bp+010h] ; 8b 46 10 5937 call 02c2ah ; e8 ae f8 5938 mov ax, word [bp+012h] ; 8b 46 12 5848 5939 xor al, al ; 30 c0 5849 5940 or AL, strict byte 01ch ; 0c 1c 5850 jmp near 030 1ah ; e9 20 fd5851 call 007a4h ; e8 a7d45941 jmp near 030a6h ; e9 20 fd 5942 call 007a4h ; e8 1b d4 5852 5943 test ax, ax ; 85 c0 5853 je near 033 72h ; 0f 84 6f 005854 mov ax, word [bp+01 6h] ; 8b 46 165944 je near 033feh ; 0f 84 6f 00 5945 mov ax, word [bp+012h] ; 8b 46 12 5855 5946 xor ah, ah ; 30 e4 5856 5947 cmp ax, strict word 00002h ; 3d 02 00 5857 jc short 033 20h ; 72 135858 jbe short 033 46h ; 76 375948 jc short 033ach ; 72 13 5949 jbe short 033d2h ; 76 37 5859 5950 cmp ax, strict word 0000ah ; 3d 0a 00 5860 je short 033 6bh ; 74 575951 je short 033f7h ; 74 57 5861 5952 cmp ax, strict word 00009h ; 3d 09 00 5862 je short 033 6bh ; 74 525953 je short 033f7h ; 74 52 5863 5954 cmp ax, strict word 00004h ; 3d 04 00 5864 je short 033 56h ; 74 385865 jmp short 033 6bh ; eb 4b5955 je short 033e2h ; 74 38 5956 jmp short 033f7h ; eb 4b 5866 5957 cmp ax, strict word 00001h ; 3d 01 00 5867 je short 033 36h ; 74 115958 je short 033c2h ; 74 11 5868 5959 test ax, ax ; 85 c0 5869 jne short 033 6bh ; 75 425960 jne short 033f7h ; 75 42 5870 5961 mov bx, si ; 89 f3 5871 mov dx, word [bp+01 ah] ; 8b 56 1a5872 lea ax, [bp+01 6h] ; 8d 46 165873 call 03 486h ; e8 52015874 jmp short 03 377h ; eb 415962 mov dx, word [bp+016h] ; 8b 56 16 5963 lea ax, [bp+012h] ; 8d 46 12 5964 call 03530h ; e8 70 01 5965 jmp short 03403h ; eb 41 5875 5966 mov cx, si ; 89 f1 5876 mov bx, word [bp+01 ah] ; 8b 5e 1a5877 mov dx, word [bp+01 4h] ; 8b 56 145878 lea ax, [bp+01 6h] ; 8d 46 165879 call 03 5aah ; e8 66025880 jmp short 03 377h ; eb 315967 mov bx, word [bp+016h] ; 8b 5e 16 5968 mov dx, word [bp+010h] ; 8b 56 10 5969 lea ax, [bp+012h] ; 8d 46 12 5970 call 03659h ; e8 89 02 5971 jmp short 03403h ; eb 31 5881 5972 mov cx, si ; 89 f1 5882 mov bx, word [bp+01ah] ; 8b 5e 1a 5973 mov bx, word [bp+016h] ; 8b 5e 16 5974 mov dx, word [bp+00ch] ; 8b 56 0c 5975 lea ax, [bp+012h] ; 8d 46 12 5976 call 0370dh ; e8 2d 03 5977 jmp short 03403h ; eb 21 5978 lea ax, [bp+00ch] ; 8d 46 0c 5979 push ax ; 50 5980 mov cx, word [bp+016h] ; 8b 4e 16 5981 mov bx, word [bp+00eh] ; 8b 5e 0e 5883 5982 mov dx, word [bp+010h] ; 8b 56 10 5884 lea ax, [bp+016h] ; 8d 46 16 5885 call 0365ah ; e8 06 03 5886 jmp short 03377h ; eb 21 5887 lea ax, [bp+010h] ; 8d 46 10 5888 push ax ; 50 5889 mov cx, word [bp+01ah] ; 8b 4e 1a 5890 mov bx, word [bp+012h] ; 8b 5e 12 5891 mov dx, word [bp+014h] ; 8b 56 14 5892 lea ax, [bp+016h] ; 8d 46 16 5893 call 03836h ; e8 cd 04 5894 jmp short 03377h ; eb 0c 5895 mov word [bp+016h], 00100h ; c7 46 16 00 01 5896 jmp short 03377h ; eb 05 5897 mov word [bp+016h], 00100h ; c7 46 16 00 01 5898 leave ; c9 5983 lea ax, [bp+012h] ; 8d 46 12 5984 call 038f4h ; e8 ff 04 5985 jmp short 03403h ; eb 0c 5986 mov word [bp+012h], 00100h ; c7 46 12 00 01 5987 jmp short 03403h ; eb 05 5988 mov word [bp+012h], 00100h ; c7 46 12 00 01 5989 lea sp, [bp-004h] ; 8d 66 fc 5899 5990 pop di ; 5f 5900 5991 pop si ; 5e 5901 retn ; c3 5902 dispi_set_xres_: ; 0xc337b LB 0x18 5992 pop bp ; 5d 5993 retn ; c3 5994 dispi_set_xres_: ; 0xc340a LB 0x1b 5995 push bp ; 55 5996 mov bp, sp ; 89 e5 5903 5997 push bx ; 53 5904 5998 push dx ; 52 5905 push bp ; 555906 mov bp, sp ; 89 e55907 5999 mov bx, ax ; 89 c3 5908 6000 mov ax, strict word 00001h ; b8 01 00 … … 5912 6004 mov dx, 001cfh ; ba cf 01 5913 6005 out DX, ax ; ef 5914 pop bp ; 5d6006 lea sp, [bp-004h] ; 8d 66 fc 5915 6007 pop dx ; 5a 5916 6008 pop bx ; 5b 5917 retn ; c3 5918 dispi_set_yres_: ; 0xc3393 LB 0x18 6009 pop bp ; 5d 6010 retn ; c3 6011 dispi_set_yres_: ; 0xc3425 LB 0x1b 6012 push bp ; 55 6013 mov bp, sp ; 89 e5 5919 6014 push bx ; 53 5920 6015 push dx ; 52 5921 push bp ; 555922 mov bp, sp ; 89 e55923 6016 mov bx, ax ; 89 c3 5924 6017 mov ax, strict word 00002h ; b8 02 00 … … 5928 6021 mov dx, 001cfh ; ba cf 01 5929 6022 out DX, ax ; ef 5930 pop bp ; 5d6023 lea sp, [bp-004h] ; 8d 66 fc 5931 6024 pop dx ; 5a 5932 6025 pop bx ; 5b 5933 retn ; c3 5934 dispi_set_bpp_: ; 0xc33ab LB 0x18 6026 pop bp ; 5d 6027 retn ; c3 6028 dispi_set_bpp_: ; 0xc3440 LB 0x1b 6029 push bp ; 55 6030 mov bp, sp ; 89 e5 5935 6031 push bx ; 53 5936 6032 push dx ; 52 5937 push bp ; 555938 mov bp, sp ; 89 e55939 6033 mov bx, ax ; 89 c3 5940 6034 mov ax, strict word 00003h ; b8 03 00 … … 5944 6038 mov dx, 001cfh ; ba cf 01 5945 6039 out DX, ax ; ef 5946 pop bp ; 5d6040 lea sp, [bp-004h] ; 8d 66 fc 5947 6041 pop dx ; 5a 5948 6042 pop bx ; 5b 5949 retn ; c35950 in_word_: ; 0xc33c3 LB 0xf 5951 push bx ; 53 6043 pop bp ; 5d 6044 retn ; c3 6045 in_word_: ; 0xc345b LB 0x12 5952 6046 push bp ; 55 5953 6047 mov bp, sp ; 89 e5 6048 push bx ; 53 5954 6049 mov bx, ax ; 89 c3 5955 6050 mov ax, dx ; 89 d0 … … 5957 6052 out DX, ax ; ef 5958 6053 in ax, DX ; ed 6054 lea sp, [bp-002h] ; 8d 66 fe 6055 pop bx ; 5b 5959 6056 pop bp ; 5d 5960 pop bx ; 5b 5961 retn ; c3 5962 in_byte_: ; 0xc33d2 LB 0x11 5963 push bx ; 53 6057 retn ; c3 6058 in_byte_: ; 0xc346d LB 0x14 5964 6059 push bp ; 55 5965 6060 mov bp, sp ; 89 e5 6061 push bx ; 53 5966 6062 mov bx, ax ; 89 c3 5967 6063 mov ax, dx ; 89 d0 … … 5971 6067 db 02ah, 0e4h 5972 6068 ; sub ah, ah ; 2a e4 6069 lea sp, [bp-002h] ; 8d 66 fe 6070 pop bx ; 5b 5973 6071 pop bp ; 5d 5974 pop bx ; 5b 5975 retn ; c3 5976 dispi_get_id_: ; 0xc33e3 LB 0x11 5977 push dx ; 52 6072 retn ; c3 6073 dispi_get_id_: ; 0xc3481 LB 0x14 5978 6074 push bp ; 55 5979 6075 mov bp, sp ; 89 e5 6076 push dx ; 52 5980 6077 xor ax, ax ; 31 c0 5981 6078 mov dx, 001ceh ; ba ce 01 … … 5983 6080 mov dx, 001cfh ; ba cf 01 5984 6081 in ax, DX ; ed 6082 lea sp, [bp-002h] ; 8d 66 fe 6083 pop dx ; 5a 5985 6084 pop bp ; 5d 5986 pop dx ; 5a 5987 retn ; c3 5988 dispi_set_id_: ; 0xc33f4 LB 0x17 6085 retn ; c3 6086 dispi_set_id_: ; 0xc3495 LB 0x1a 6087 push bp ; 55 6088 mov bp, sp ; 89 e5 5989 6089 push bx ; 53 5990 6090 push dx ; 52 5991 push bp ; 555992 mov bp, sp ; 89 e55993 6091 mov bx, ax ; 89 c3 5994 6092 xor ax, ax ; 31 c0 … … 5998 6096 mov dx, 001cfh ; ba cf 01 5999 6097 out DX, ax ; ef 6000 pop bp ; 5d6098 lea sp, [bp-004h] ; 8d 66 fc 6001 6099 pop dx ; 5a 6002 6100 pop bx ; 5b 6003 retn ; c3 6004 vbe_init_: ; 0xc340b LB 0x29 6101 pop bp ; 5d 6102 retn ; c3 6103 vbe_init_: ; 0xc34af LB 0x2c 6104 push bp ; 55 6105 mov bp, sp ; 89 e5 6005 6106 push bx ; 53 6006 6107 push dx ; 52 6108 mov ax, 0b0c0h ; b8 c0 b0 6109 call 03495h ; e8 db ff 6110 call 03481h ; e8 c4 ff 6111 cmp ax, 0b0c0h ; 3d c0 b0 6112 jne short 034d4h ; 75 12 6113 mov bx, strict word 00001h ; bb 01 00 6114 mov dx, 000b9h ; ba b9 00 6115 mov ax, strict word 00040h ; b8 40 00 6116 call 02f85h ; e8 b7 fa 6117 mov ax, 0b0c4h ; b8 c4 b0 6118 call 03495h ; e8 c1 ff 6119 lea sp, [bp-004h] ; 8d 66 fc 6120 pop dx ; 5a 6121 pop bx ; 5b 6122 pop bp ; 5d 6123 retn ; c3 6124 mode_info_find_mode_: ; 0xc34db LB 0x55 6007 6125 push bp ; 55 6008 6126 mov bp, sp ; 89 e5 6009 mov ax, 0b0c0h ; b8 c0 b06010 call 033f4h ; e8 de ff6011 call 033e3h ; e8 ca ff6012 cmp ax, 0b0c0h ; 3d c0 b06013 jne short 03430h ; 75 126014 mov bx, strict word 00001h ; bb 01 006015 mov dx, 000b9h ; ba b9 006016 mov ax, strict word 00040h ; b8 40 006017 call 02ef9h ; e8 cf fa6018 mov ax, 0b0c4h ; b8 c4 b06019 call 033f4h ; e8 c4 ff6020 pop bp ; 5d6021 pop dx ; 5a6022 pop bx ; 5b6023 retn ; c36024 mode_info_find_mode_: ; 0xc3434 LB 0x526025 6127 push bx ; 53 6026 6128 push cx ; 51 6027 6129 push si ; 56 6028 6130 push di ; 57 6029 push bp ; 556030 mov bp, sp ; 89 e56031 6131 mov di, ax ; 89 c7 6032 6132 mov si, dx ; 89 d6 6033 6133 xor dx, dx ; 31 d2 6034 6134 mov ax, 003b6h ; b8 b6 03 6035 call 03 3c3h ; e8 7cff6135 call 0345bh ; e8 6d ff 6036 6136 cmp ax, 077cch ; 3d cc 77 6037 jne short 03 47eh ; 75 326137 jne short 03525h ; 75 32 6038 6138 mov bx, strict word 00004h ; bb 04 00 6039 6139 mov dx, bx ; 89 da 6040 6140 mov ax, 003b6h ; b8 b6 03 6041 call 03 3c3h ; e8 6cff6141 call 0345bh ; e8 5d ff 6042 6142 mov cx, ax ; 89 c1 6043 6143 cmp cx, strict byte 0ffffh ; 83 f9 ff 6044 je short 03 47eh ; 74 206144 je short 03525h ; 74 20 6045 6145 lea dx, [bx+002h] ; 8d 57 02 6046 6146 mov ax, 003b6h ; b8 b6 03 6047 call 03 3c3h ; e8 5cff6147 call 0345bh ; e8 4d ff 6048 6148 lea dx, [bx+044h] ; 8d 57 44 6049 6149 cmp cx, di ; 39 f9 6050 jne short 03 47ah ; 75 0c6150 jne short 03521h ; 75 0c 6051 6151 test si, si ; 85 f6 6052 jne short 03 476h ; 75 046152 jne short 0351dh ; 75 04 6053 6153 mov ax, bx ; 89 d8 6054 jmp short 03 480h ; eb 0a6154 jmp short 03527h ; eb 0a 6055 6155 test AL, strict byte 080h ; a8 80 6056 jne short 03 472h ; 75 f86156 jne short 03519h ; 75 f8 6057 6157 mov bx, dx ; 89 d3 6058 jmp short 034 51h ; eb d36158 jmp short 034f8h ; eb d3 6059 6159 xor ax, ax ; 31 c0 6060 pop bp ; 5d6160 lea sp, [bp-008h] ; 8d 66 f8 6061 6161 pop di ; 5f 6062 6162 pop si ; 5e 6063 6163 pop cx ; 59 6064 6164 pop bx ; 5b 6065 retn ; c3 6066 vbe_biosfn_return_controller_information_: ; 0xc3486 LB 0x124 6165 pop bp ; 5d 6166 retn ; c3 6167 vbe_biosfn_return_controller_information_: ; 0xc3530 LB 0x129 6168 push bp ; 55 6169 mov bp, sp ; 89 e5 6067 6170 push cx ; 51 6068 6171 push si ; 56 6069 6172 push di ; 57 6070 enter 0000ah, 000h ; c8 0a 00 006173 sub sp, strict byte 0000ah ; 83 ec 0a 6071 6174 mov si, ax ; 89 c6 6072 6175 mov di, dx ; 89 d7 6073 mov word [bp-00 4h], bx ; 89 5e fc6074 mov word [bp-00 6h], strict word 00022h ; c7 46 fa22 006075 call 005a7h ; e8 0b d16076 mov word [bp-0 0ah], ax ; 89 46 f66077 mov bx, word [bp-00 4h] ; 8b 5e fc6078 mov word [bp-00 2h], di ; 89 7e fe6176 mov word [bp-00ah], bx ; 89 5e f6 6177 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6178 call 005a7h ; e8 5f d0 6179 mov word [bp-010h], ax ; 89 46 f0 6180 mov bx, word [bp-00ah] ; 8b 5e f6 6181 mov word [bp-008h], di ; 89 7e f8 6079 6182 xor dx, dx ; 31 d2 6080 6183 mov ax, 003b6h ; b8 b6 03 6081 call 03 3c3h ; e8 16ff6184 call 0345bh ; e8 02 ff 6082 6185 cmp ax, 077cch ; 3d cc 77 6083 je short 03 4bch ; 74 0a6186 je short 03568h ; 74 0a 6084 6187 push SS ; 16 6085 6188 pop ES ; 07 6086 6189 mov word [es:si], 00100h ; 26 c7 04 00 01 6087 jmp near 03 5a5h ; e9 e9 006190 jmp near 03651h ; e9 e9 00 6088 6191 mov cx, strict word 00004h ; b9 04 00 6089 mov word [bp-00 8h], strict word 00000h ; c7 46 f800 006090 mov es, [bp-00 2h] ; 8e 46 fe6192 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6193 mov es, [bp-008h] ; 8e 46 f8 6091 6194 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6092 jne short 03 4d6h ; 75 076195 jne short 03582h ; 75 07 6093 6196 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6094 je short 03 4e5h ; 74 0f6197 je short 03591h ; 74 0f 6095 6198 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6096 jne short 03 4eah ; 75 0c6199 jne short 03596h ; 75 0c 6097 6200 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6098 jne short 03 4eah ; 75 056099 mov word [bp-00 8h], strict word 00001h ; c7 46 f801 006100 mov es, [bp-00 2h] ; 8e 46 fe6201 jne short 03596h ; 75 05 6202 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6203 mov es, [bp-008h] ; 8e 46 f8 6101 6204 db 066h, 026h, 0c7h, 007h, 056h, 045h, 053h, 041h 6102 6205 ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 6103 6206 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6104 mov word [es:bx+006h], 07e2 0h ; 26 c7 47 06 207e6207 mov word [es:bx+006h], 07e26h ; 26 c7 47 06 26 7e 6105 6208 mov [es:bx+008h], ds ; 26 8c 5f 08 6106 6209 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h 6107 6210 ; mov dword [es:bx+00ah], strict dword 000000001h ; 66 26 c7 47 0a 01 00 00 00 6108 6211 mov word [es:bx+010h], di ; 26 89 7f 10 6109 mov ax, word [bp-00 4h] ; 8b 46 fc6212 mov ax, word [bp-00ah] ; 8b 46 f6 6110 6213 add ax, strict word 00022h ; 05 22 00 6111 6214 mov word [es:bx+00eh], ax ; 26 89 47 0e 6112 6215 mov dx, strict word 0ffffh ; ba ff ff 6113 6216 mov ax, 003b6h ; b8 b6 03 6114 call 03 3c3h ; e8 9efe6115 mov es, [bp-00 2h] ; 8e 46 fe6217 call 0345bh ; e8 8a fe 6218 mov es, [bp-008h] ; 8e 46 f8 6116 6219 mov word [es:bx+012h], ax ; 26 89 47 12 6117 cmp word [bp-00 8h], strict byte 00000h ; 83 7e f8006118 je short 03 556h ; 74 246220 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6221 je short 03602h ; 74 24 6119 6222 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6120 mov word [es:bx+016h], 07e3 5h ; 26 c7 47 16 357e6223 mov word [es:bx+016h], 07e3bh ; 26 c7 47 16 3b 7e 6121 6224 mov [es:bx+018h], ds ; 26 8c 5f 18 6122 mov word [es:bx+01ah], 07e4 8h ; 26 c7 47 1a 487e6225 mov word [es:bx+01ah], 07e4eh ; 26 c7 47 1a 4e 7e 6123 6226 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6124 mov word [es:bx+01eh], 07e6 9h ; 26 c7 47 1e 697e6227 mov word [es:bx+01eh], 07e6fh ; 26 c7 47 1e 6f 7e 6125 6228 mov [es:bx+020h], ds ; 26 8c 5f 20 6126 6229 mov dx, cx ; 89 ca 6127 6230 add dx, strict byte 0001bh ; 83 c2 1b 6128 6231 mov ax, 003b6h ; b8 b6 03 6129 call 03 3d2h ; e8 71fe6232 call 0346dh ; e8 60 fe 6130 6233 xor ah, ah ; 30 e4 6131 cmp ax, word [bp-0 0ah] ; 3b 46 f66132 jnbe short 03 581h ; 77 196234 cmp ax, word [bp-010h] ; 3b 46 f0 6235 jnbe short 0362dh ; 77 19 6133 6236 mov dx, cx ; 89 ca 6134 6237 mov ax, 003b6h ; b8 b6 03 6135 call 03 3c3h ; e8 53fe6238 call 0345bh ; e8 3f fe 6136 6239 mov bx, ax ; 89 c3 6137 mov dx, word [bp-00 4h] ; 8b 56 fc6138 add dx, word [bp-00 6h] ; 03 56 fa6240 mov dx, word [bp-00ah] ; 8b 56 f6 6241 add dx, word [bp-00ch] ; 03 56 f4 6139 6242 mov ax, di ; 89 f8 6140 call 02f 15h ; e8 98 f96141 add word [bp-00 6h], strict byte 00002h ; 83 46 fa026243 call 02fa1h ; e8 78 f9 6244 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6142 6245 add cx, strict byte 00044h ; 83 c1 44 6143 6246 mov dx, cx ; 89 ca 6144 6247 mov ax, 003b6h ; b8 b6 03 6145 call 03 3c3h ; e8 37fe6248 call 0345bh ; e8 23 fe 6146 6249 mov bx, ax ; 89 c3 6147 6250 cmp ax, strict word 0ffffh ; 3d ff ff 6148 jne short 03 556h ; 75 c36149 mov dx, word [bp-00 4h] ; 8b 56 fc6150 add dx, word [bp-00 6h] ; 03 56 fa6251 jne short 03602h ; 75 c3 6252 mov dx, word [bp-00ah] ; 8b 56 f6 6253 add dx, word [bp-00ch] ; 03 56 f4 6151 6254 mov ax, di ; 89 f8 6152 call 02f 15h ; e8 77 f96255 call 02fa1h ; e8 57 f9 6153 6256 push SS ; 16 6154 6257 pop ES ; 07 6155 6258 mov word [es:si], strict word 0004fh ; 26 c7 04 4f 00 6156 lea ve ; c96259 lea sp, [bp-006h] ; 8d 66 fa 6157 6260 pop di ; 5f 6158 6261 pop si ; 5e 6159 6262 pop cx ; 59 6160 retn ; c3 6161 vbe_biosfn_return_mode_information_: ; 0xc35aa LB 0xb0 6263 pop bp ; 5d 6264 retn ; c3 6265 vbe_biosfn_return_mode_information_: ; 0xc3659 LB 0xb4 6266 push bp ; 55 6267 mov bp, sp ; 89 e5 6162 6268 push si ; 56 6163 6269 push di ; 57 6164 enter 00004h, 000h ; c8 04 00 00 6270 push ax ; 50 6271 push ax ; 50 6165 6272 push ax ; 50 6166 6273 mov ax, dx ; 89 d0 6167 6274 mov si, bx ; 89 de 6168 mov word [bp-00 2h], cx ; 89 4e fe6275 mov word [bp-006h], cx ; 89 4e fa 6169 6276 test dh, 040h ; f6 c6 40 6170 6277 db 00fh, 095h, 0c2h … … 6172 6279 xor dh, dh ; 30 f6 6173 6280 and ah, 001h ; 80 e4 01 6174 call 034 34h ; e8 6efe6175 mov word [bp-00 4h], ax ; 89 46 fc6281 call 034dbh ; e8 65 fe 6282 mov word [bp-008h], ax ; 89 46 f8 6176 6283 test ax, ax ; 85 c0 6177 je near 036 4bh ; 0f 84 7c 006284 je near 036fbh ; 0f 84 7c 00 6178 6285 mov cx, 00100h ; b9 00 01 6179 6286 xor ax, ax ; 31 c0 6180 mov di, word [bp-00 2h] ; 8b 7e fe6287 mov di, word [bp-006h] ; 8b 7e fa 6181 6288 mov es, bx ; 8e c3 6182 6289 cld ; fc 6183 jcxz 03 5deh ; e3 026290 jcxz 0368eh ; e3 02 6184 6291 rep stosb ; f3 aa 6185 6292 xor cx, cx ; 31 c9 6186 jmp short 03 5e7h ; eb 056293 jmp short 03697h ; eb 05 6187 6294 cmp cx, strict byte 00042h ; 83 f9 42 6188 jnc short 036 04h ; 73 1d6189 mov dx, word [bp-00 4h] ; 8b 56 fc6295 jnc short 036b4h ; 73 1d 6296 mov dx, word [bp-008h] ; 8b 56 f8 6190 6297 inc dx ; 42 6191 6298 inc dx ; 42 6192 6299 add dx, cx ; 01 ca 6193 6300 mov ax, 003b6h ; b8 b6 03 6194 call 03 3d2h ; e8 defd6301 call 0346dh ; e8 c9 fd 6195 6302 movzx bx, al ; 0f b6 d8 6196 mov dx, word [bp-00 2h] ; 8b 56 fe6303 mov dx, word [bp-006h] ; 8b 56 fa 6197 6304 add dx, cx ; 01 ca 6198 6305 mov ax, si ; 89 f0 6199 call 02 ef9h ; e8 f8f86200 inc cx ; 41 6201 jmp short 03 5e2h ; eb de6202 mov dx, word [bp-00 2h] ; 8b 56 fe6306 call 02f85h ; e8 d4 f8 6307 inc cx ; 41 6308 jmp short 03692h ; eb de 6309 mov dx, word [bp-006h] ; 8b 56 fa 6203 6310 inc dx ; 42 6204 6311 inc dx ; 42 6205 6312 mov ax, si ; 89 f0 6206 call 02 eebh ; e8 ddf86313 call 02f77h ; e8 b9 f8 6207 6314 test AL, strict byte 001h ; a8 01 6208 je short 036 2eh ; 74 1c6209 mov dx, word [bp-00 2h] ; 8b 56 fe6315 je short 036deh ; 74 1c 6316 mov dx, word [bp-006h] ; 8b 56 fa 6210 6317 add dx, strict byte 0000ch ; 83 c2 0c 6211 6318 mov bx, 00605h ; bb 05 06 6212 6319 mov ax, si ; 89 f0 6213 call 02f 15h ; e8 f5f86214 mov dx, word [bp-00 2h] ; 8b 56 fe6320 call 02fa1h ; e8 d1 f8 6321 mov dx, word [bp-006h] ; 8b 56 fa 6215 6322 add dx, strict byte 0000eh ; 83 c2 0e 6216 6323 mov bx, 0c000h ; bb 00 c0 6217 6324 mov ax, si ; 89 f0 6218 call 02f 15h ; e8 e7f86325 call 02fa1h ; e8 c3 f8 6219 6326 mov ax, strict word 0000bh ; b8 0b 00 6220 6327 mov dx, 001ceh ; ba ce 01 … … 6222 6329 mov dx, 001cfh ; ba cf 01 6223 6330 in ax, DX ; ed 6224 mov dx, word [bp-00 2h] ; 8b 56 fe6331 mov dx, word [bp-006h] ; 8b 56 fa 6225 6332 add dx, strict byte 0002ah ; 83 c2 2a 6226 6333 mov bx, ax ; 89 c3 6227 6334 mov ax, si ; 89 f0 6228 call 02f 15h ; e8 cff86335 call 02fa1h ; e8 ab f8 6229 6336 mov ax, strict word 0004fh ; b8 4f 00 6230 jmp short 036 4eh ; eb 036337 jmp short 036feh ; eb 03 6231 6338 mov ax, 00100h ; b8 00 01 6232 6339 push SS ; 16 6233 6340 pop ES ; 07 6234 mov bx, word [bp-00 6h] ; 8b 5e fa6341 mov bx, word [bp-00ah] ; 8b 5e f6 6235 6342 mov word [es:bx], ax ; 26 89 07 6236 lea ve ; c96343 lea sp, [bp-004h] ; 8d 66 fc 6237 6344 pop di ; 5f 6238 6345 pop si ; 5e 6239 retn ; c3 6240 vbe_biosfn_set_mode_: ; 0xc365a LB 0xe4 6346 pop bp ; 5d 6347 retn ; c3 6348 vbe_biosfn_set_mode_: ; 0xc370d LB 0xe9 6349 push bp ; 55 6350 mov bp, sp ; 89 e5 6241 6351 push si ; 56 6242 6352 push di ; 57 6243 enter 00006h, 000h ; c8 06 00 006353 sub sp, strict byte 00006h ; 83 ec 06 6244 6354 mov si, ax ; 89 c6 6245 mov word [bp-00 6h], dx ; 89 56 fa6246 test byte [bp-00 5h], 040h ; f6 46 fb406355 mov word [bp-00ah], dx ; 89 56 f6 6356 test byte [bp-009h], 040h ; f6 46 f7 40 6247 6357 db 00fh, 095h, 0c0h 6248 6358 ; setne al ; 0f 95 c0 … … 6250 6360 mov ax, dx ; 89 d0 6251 6361 test dx, dx ; 85 d2 6252 je short 03 678h ; 74 036362 je short 0372dh ; 74 03 6253 6363 mov dx, strict word 00040h ; ba 40 00 6254 mov byte [bp-00 2h], dl ; 88 56 fe6255 test byte [bp-00 5h], 080h ; f6 46 fb806256 je short 03 686h ; 74 056364 mov byte [bp-006h], dl ; 88 56 fa 6365 test byte [bp-009h], 080h ; f6 46 f7 80 6366 je short 0373bh ; 74 05 6257 6367 mov dx, 00080h ; ba 80 00 6258 jmp short 03 688h ; eb 026368 jmp short 0373dh ; eb 02 6259 6369 xor dx, dx ; 31 d2 6260 mov byte [bp-00 4h], dl ; 88 56 fc6261 and byte [bp-00 5h], 001h ; 80 66 fb016262 cmp word [bp-00 6h], 00100h ; 81 7e fa00 016263 jnc short 03 6a8h ; 73 126370 mov byte [bp-008h], dl ; 88 56 f8 6371 and byte [bp-009h], 001h ; 80 66 f7 01 6372 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6373 jnc short 0375dh ; 73 12 6264 6374 xor ax, ax ; 31 c0 6265 call 005c9h ; e8 2e cf6266 movzx ax, byte [bp-00 6h] ; 0f b6 46 fa6267 call 00f b8h ; e8 16 d96375 call 005c9h ; e8 79 ce 6376 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6377 call 00fdch ; e8 85 d8 6268 6378 mov ax, strict word 0004fh ; b8 4f 00 6269 jmp near 037 37h ; e9 8f 006379 jmp near 037ech ; e9 8f 00 6270 6380 mov dx, ax ; 89 c2 6271 mov ax, word [bp-00 6h] ; 8b 46 fa6272 call 034 34h ; e8 84fd6381 mov ax, word [bp-00ah] ; 8b 46 f6 6382 call 034dbh ; e8 76 fd 6273 6383 mov bx, ax ; 89 c3 6274 6384 test ax, ax ; 85 c0 6275 je near 037 34h ; 0f 84 7c 006385 je near 037e9h ; 0f 84 7c 00 6276 6386 lea dx, [bx+014h] ; 8d 57 14 6277 6387 mov ax, 003b6h ; b8 b6 03 6278 call 03 3c3h ; e8 02 fd6388 call 0345bh ; e8 e5 fc 6279 6389 mov cx, ax ; 89 c1 6280 6390 lea dx, [bx+016h] ; 8d 57 16 6281 6391 mov ax, 003b6h ; b8 b6 03 6282 call 03 3c3h ; e8 f7fc6392 call 0345bh ; e8 da fc 6283 6393 mov di, ax ; 89 c7 6284 6394 lea dx, [bx+01bh] ; 8d 57 1b 6285 6395 mov ax, 003b6h ; b8 b6 03 6286 call 03 3d2h ; e8 fbfc6396 call 0346dh ; e8 e1 fc 6287 6397 mov bl, al ; 88 c3 6288 6398 mov dl, al ; 88 c2 6289 6399 xor ax, ax ; 31 c0 6290 call 005c9h ; e8 e9ce6400 call 005c9h ; e8 34 ce 6291 6401 cmp bl, 004h ; 80 fb 04 6292 jne short 03 6ebh ; 75 066402 jne short 037a0h ; 75 06 6293 6403 mov ax, strict word 0006ah ; b8 6a 00 6294 call 00f b8h ; e8 cdd86404 call 00fdch ; e8 3c d8 6295 6405 movzx ax, dl ; 0f b6 c2 6296 call 03 3abh ; e8 ba fc6406 call 03440h ; e8 9a fc 6297 6407 mov ax, cx ; 89 c8 6298 call 03 37bh ; e8 85fc6408 call 0340ah ; e8 5f fc 6299 6409 mov ax, di ; 89 f8 6300 call 03 393h ; e8 98fc6410 call 03425h ; e8 75 fc 6301 6411 xor ax, ax ; 31 c0 6302 call 005e7h ; e8 e7ce6303 mov al, byte [bp-00 4h] ; 8a 46 fc6412 call 005e7h ; e8 32 ce 6413 mov al, byte [bp-008h] ; 8a 46 f8 6304 6414 or AL, strict byte 001h ; 0c 01 6305 6415 movzx dx, al ; 0f b6 d0 6306 movzx ax, byte [bp-00 2h] ; 0f b6 46 fe6416 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6307 6417 or ax, dx ; 09 d0 6308 call 005c9h ; e8 b8ce6309 call 006c3h ; e8 af cf6310 mov bx, word [bp-00 6h] ; 8b 5e fa6418 call 005c9h ; e8 03 ce 6419 call 006c3h ; e8 fa ce 6420 mov bx, word [bp-00ah] ; 8b 5e f6 6311 6421 mov dx, 000bah ; ba ba 00 6312 6422 mov ax, strict word 00040h ; b8 40 00 6313 call 02f 15h ; e8 f5f76314 mov al, byte [bp-00 4h] ; 8a 46 fc6423 call 02fa1h ; e8 cc f7 6424 mov al, byte [bp-008h] ; 8a 46 f8 6315 6425 or AL, strict byte 060h ; 0c 60 6316 6426 movzx bx, al ; 0f b6 d8 6317 6427 mov dx, 00087h ; ba 87 00 6318 6428 mov ax, strict word 00040h ; b8 40 00 6319 call 02 ef9h ; e8 c8f76320 jmp near 03 6a2h ; e9 6e ff6429 call 02f85h ; e8 9f f7 6430 jmp near 03757h ; e9 6e ff 6321 6431 mov ax, 00100h ; b8 00 01 6322 6432 mov word [ss:si], ax ; 36 89 04 6323 lea ve ; c96433 lea sp, [bp-004h] ; 8d 66 fc 6324 6434 pop di ; 5f 6325 6435 pop si ; 5e 6326 retn ; c3 6327 vbe_biosfn_read_video_state_size_: ; 0xc373e LB 0x8 6436 pop bp ; 5d 6437 retn ; c3 6438 vbe_biosfn_read_video_state_size_: ; 0xc37f6 LB 0x8 6328 6439 push bp ; 55 6329 6440 mov bp, sp ; 89 e5 … … 6331 6442 pop bp ; 5d 6332 6443 retn ; c3 6333 vbe_biosfn_save_video_state_: ; 0xc3746 LB 0x58 6444 vbe_biosfn_save_video_state_: ; 0xc37fe LB 0x5b 6445 push bp ; 55 6446 mov bp, sp ; 89 e5 6334 6447 push bx ; 53 6335 6448 push cx ; 51 6336 6449 push si ; 56 6337 6450 push di ; 57 6338 enter 00002h, 000h ; c8 02 00 006451 push ax ; 50 6339 6452 mov di, ax ; 89 c7 6340 6453 mov cx, dx ; 89 d1 … … 6344 6457 mov dx, 001cfh ; ba cf 01 6345 6458 in ax, DX ; ed 6346 mov word [bp-00 2h], ax ; 89 46 fe6459 mov word [bp-00ah], ax ; 89 46 f6 6347 6460 mov bx, ax ; 89 c3 6348 6461 mov dx, cx ; 89 ca 6349 6462 mov ax, di ; 89 f8 6350 call 02f 15h ; e8 acf76351 inc cx ; 41 6352 inc cx ; 41 6353 test byte [bp-00 2h], 001h ; f6 46 fe016354 je short 03 798h ; 74 276463 call 02fa1h ; e8 80 f7 6464 inc cx ; 41 6465 inc cx ; 41 6466 test byte [bp-00ah], 001h ; f6 46 f6 01 6467 je short 03850h ; 74 27 6355 6468 mov si, strict word 00001h ; be 01 00 6356 jmp short 03 77bh ; eb 056469 jmp short 03833h ; eb 05 6357 6470 cmp si, strict byte 00009h ; 83 fe 09 6358 jnbe short 03 798h ; 77 1d6471 jnbe short 03850h ; 77 1d 6359 6472 cmp si, strict byte 00004h ; 83 fe 04 6360 je short 03 795h ; 74 156473 je short 0384dh ; 74 15 6361 6474 mov ax, si ; 89 f0 6362 6475 mov dx, 001ceh ; ba ce 01 … … 6367 6480 mov dx, cx ; 89 ca 6368 6481 mov ax, di ; 89 f8 6369 call 02f 15h ; e8 82f76482 call 02fa1h ; e8 56 f7 6370 6483 inc cx ; 41 6371 6484 inc cx ; 41 6372 6485 inc si ; 46 6373 jmp short 03 776h ; eb de6374 lea ve ; c96486 jmp short 0382eh ; eb de 6487 lea sp, [bp-008h] ; 8d 66 f8 6375 6488 pop di ; 5f 6376 6489 pop si ; 5e 6377 6490 pop cx ; 59 6378 6491 pop bx ; 5b 6379 retn ; c3 6380 vbe_biosfn_restore_video_state_: ; 0xc379e LB 0x98 6492 pop bp ; 5d 6493 retn ; c3 6494 vbe_biosfn_restore_video_state_: ; 0xc3859 LB 0x9b 6495 push bp ; 55 6496 mov bp, sp ; 89 e5 6381 6497 push bx ; 53 6382 6498 push cx ; 51 6383 6499 push si ; 56 6384 enter 00002h, 000h ; c8 02 00 006500 push ax ; 50 6385 6501 mov cx, ax ; 89 c1 6386 6502 mov bx, dx ; 89 d3 6387 call 02f 07h ; e8 5bf76388 mov word [bp-00 2h], ax ; 89 46 fe6503 call 02f93h ; e8 2c f7 6504 mov word [bp-008h], ax ; 89 46 f8 6389 6505 inc bx ; 43 6390 6506 inc bx ; 43 6391 test byte [bp-00 2h], 001h ; f6 46 fe016392 jne short 03 7c7h ; 75 106507 test byte [bp-008h], 001h ; f6 46 f8 01 6508 jne short 03882h ; 75 10 6393 6509 mov ax, strict word 00004h ; b8 04 00 6394 6510 mov dx, 001ceh ; ba ce 01 6395 6511 out DX, ax ; ef 6396 mov ax, word [bp-00 2h] ; 8b 46 fe6512 mov ax, word [bp-008h] ; 8b 46 f8 6397 6513 mov dx, 001cfh ; ba cf 01 6398 6514 out DX, ax ; ef 6399 jmp short 038 31h ; eb 6a6515 jmp short 038ech ; eb 6a 6400 6516 mov ax, strict word 00001h ; b8 01 00 6401 6517 mov dx, 001ceh ; ba ce 01 … … 6403 6519 mov dx, bx ; 89 da 6404 6520 mov ax, cx ; 89 c8 6405 call 02f 07h ; e8 32f76521 call 02f93h ; e8 03 f7 6406 6522 mov dx, 001cfh ; ba cf 01 6407 6523 out DX, ax ; ef … … 6413 6529 mov dx, bx ; 89 da 6414 6530 mov ax, cx ; 89 c8 6415 call 02f 07h ; e8 1e f76531 call 02f93h ; e8 ef f6 6416 6532 mov dx, 001cfh ; ba cf 01 6417 6533 out DX, ax ; ef … … 6423 6539 mov dx, bx ; 89 da 6424 6540 mov ax, cx ; 89 c8 6425 call 02f 07h ; e8 0a f76541 call 02f93h ; e8 db f6 6426 6542 mov dx, 001cfh ; ba cf 01 6427 6543 out DX, ax ; ef … … 6431 6547 mov dx, 001ceh ; ba ce 01 6432 6548 out DX, ax ; ef 6433 mov ax, word [bp-00 2h] ; 8b 46 fe6549 mov ax, word [bp-008h] ; 8b 46 f8 6434 6550 mov dx, 001cfh ; ba cf 01 6435 6551 out DX, ax ; ef 6436 6552 mov si, strict word 00005h ; be 05 00 6437 jmp short 038 1bh ; eb 056553 jmp short 038d6h ; eb 05 6438 6554 cmp si, strict byte 00009h ; 83 fe 09 6439 jnbe short 038 31h ; 77 166555 jnbe short 038ech ; 77 16 6440 6556 mov ax, si ; 89 f0 6441 6557 mov dx, 001ceh ; ba ce 01 … … 6443 6559 mov dx, bx ; 89 da 6444 6560 mov ax, cx ; 89 c8 6445 call 02f 07h ; e8 dff66561 call 02f93h ; e8 b0 f6 6446 6562 mov dx, 001cfh ; ba cf 01 6447 6563 out DX, ax ; ef … … 6449 6565 inc bx ; 43 6450 6566 inc si ; 46 6451 jmp short 038 16h ; eb e56452 lea ve ; c96567 jmp short 038d1h ; eb e5 6568 lea sp, [bp-006h] ; 8d 66 fa 6453 6569 pop si ; 5e 6454 6570 pop cx ; 59 6455 6571 pop bx ; 5b 6456 retn ; c3 6457 vbe_biosfn_save_restore_state_: ; 0xc3836 LB 0x89 6572 pop bp ; 5d 6573 retn ; c3 6574 vbe_biosfn_save_restore_state_: ; 0xc38f4 LB 0x8c 6575 push bp ; 55 6576 mov bp, sp ; 89 e5 6458 6577 push si ; 56 6459 6578 push di ; 57 6460 enter 00002h, 000h ; c8 02 00 006579 push ax ; 50 6461 6580 mov si, ax ; 89 c6 6462 mov word [bp-00 2h], dx ; 89 56 fe6581 mov word [bp-006h], dx ; 89 56 fa 6463 6582 mov ax, bx ; 89 d8 6464 mov bx, word [bp+00 8h] ; 8b 5e 086583 mov bx, word [bp+004h] ; 8b 5e 04 6465 6584 mov di, strict word 0004fh ; bf 4f 00 6466 6585 xor ah, ah ; 30 e4 6467 6586 cmp ax, strict word 00002h ; 3d 02 00 6468 je short 03 895h ; 74 456587 je short 03953h ; 74 45 6469 6588 cmp ax, strict word 00001h ; 3d 01 00 6470 je short 03 879h ; 74 246589 je short 03937h ; 74 24 6471 6590 test ax, ax ; 85 c0 6472 jne short 03 8b1h ; 75 586473 mov ax, word [bp-00 2h] ; 8b 46 fe6474 call 028 0ch ; e8 adef6591 jne short 0396fh ; 75 58 6592 mov ax, word [bp-006h] ; 8b 46 fa 6593 call 0288ch ; e8 6f ef 6475 6594 mov cx, ax ; 89 c1 6476 test byte [bp-00 2h], 008h ; f6 46 fe086477 je short 03 86ch ; 74 056478 call 037 3eh ; e8 d4fe6595 test byte [bp-006h], 008h ; f6 46 fa 08 6596 je short 0392ah ; 74 05 6597 call 037f6h ; e8 ce fe 6479 6598 add ax, cx ; 01 c8 6480 6599 add ax, strict word 0003fh ; 05 3f 00 … … 6483 6602 pop ES ; 07 6484 6603 mov word [es:bx], ax ; 26 89 07 6485 jmp short 03 8b4h ; eb 3b6604 jmp short 03972h ; eb 3b 6486 6605 push SS ; 16 6487 6606 pop ES ; 07 6488 6607 mov bx, word [es:bx] ; 26 8b 1f 6489 6608 mov dx, cx ; 89 ca 6490 mov ax, word [bp-00 2h] ; 8b 46 fe6491 call 028 3eh ; e8 b8ef6492 test byte [bp-00 2h], 008h ; f6 46 fe086493 je short 03 8b4h ; 74 286609 mov ax, word [bp-006h] ; 8b 46 fa 6610 call 028c1h ; e8 7d ef 6611 test byte [bp-006h], 008h ; f6 46 fa 08 6612 je short 03972h ; 74 28 6494 6613 mov dx, ax ; 89 c2 6495 6614 mov ax, cx ; 89 c8 6496 call 037 46h ; e8 b3fe6497 jmp short 03 8b4h ; eb 1f6615 call 037feh ; e8 ad fe 6616 jmp short 03972h ; eb 1f 6498 6617 push SS ; 16 6499 6618 pop ES ; 07 6500 6619 mov bx, word [es:bx] ; 26 8b 1f 6501 6620 mov dx, cx ; 89 ca 6502 mov ax, word [bp-00 2h] ; 8b 46 fe6503 call 02 ba3h ; e8 01 f36504 test byte [bp-00 2h], 008h ; f6 46 fe086505 je short 03 8b4h ; 74 0c6621 mov ax, word [bp-006h] ; 8b 46 fa 6622 call 02c2ah ; e8 ca f2 6623 test byte [bp-006h], 008h ; f6 46 fa 08 6624 je short 03972h ; 74 0c 6506 6625 mov dx, ax ; 89 c2 6507 6626 mov ax, cx ; 89 c8 6508 call 03 79eh ; e8 effe6509 jmp short 03 8b4h ; eb 036627 call 03859h ; e8 ec fe 6628 jmp short 03972h ; eb 03 6510 6629 mov di, 00100h ; bf 00 01 6511 6630 push SS ; 16 6512 6631 pop ES ; 07 6513 6632 mov word [es:si], di ; 26 89 3c 6514 lea ve ; c96633 lea sp, [bp-004h] ; 8d 66 fc 6515 6634 pop di ; 5f 6516 6635 pop si ; 5e 6636 pop bp ; 5d 6517 6637 retn 00002h ; c2 02 00 6518 6638 6519 ; Padding 0x d41 bytes at 0xc38bf6520 times 3 393db 06639 ; Padding 0xc80 bytes at 0xc3980 6640 times 3200 db 0 6521 6641 6522 6642 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO … … 6650 6770 times 235 db 0 6651 6771 6652 section _DATA progbits vstart=0x4800 align=1 ; size=0x36e 1class=DATA group=DGROUP6653 _msg_vga_init: ; 0xc4800 LB 0x 2f6654 db 'Oracle VM VirtualBox Version 4. 2.51 VGA BIOS', 00dh, 00ah, 000h6655 _vga_modes: ; 0xc48 2fLB 0x806772 section _DATA progbits vstart=0x4800 align=1 ; size=0x36ec class=DATA group=DGROUP 6773 _msg_vga_init: ; 0xc4800 LB 0x34 6774 db 'Oracle VM VirtualBox Version 4.3.0_BETA1 VGA BIOS', 00dh, 00ah, 000h 6775 _vga_modes: ; 0xc4834 LB 0x80 6656 6776 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 6657 6777 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 6662 6782 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6663 6783 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6664 _line_to_vpti: ; 0xc48 afLB 0x106784 _line_to_vpti: ; 0xc48b4 LB 0x10 6665 6785 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 6666 _dac_regs: ; 0xc48 bfLB 0x46786 _dac_regs: ; 0xc48c4 LB 0x4 6667 6787 dd 0ff3f3f3fh 6668 _video_param_table: ; 0xc48c 3LB 0x7806788 _video_param_table: ; 0xc48c8 LB 0x780 6669 6789 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6670 6790 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 6787 6907 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 6788 6908 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 6789 _palette0: ; 0xc504 3LB 0xc06909 _palette0: ; 0xc5048 LB 0xc0 6790 6910 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6791 6911 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 6800 6920 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6801 6921 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6802 _palette1: ; 0xc510 3LB 0xc06922 _palette1: ; 0xc5108 LB 0xc0 6803 6923 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6804 6924 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 6813 6933 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6814 6934 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6815 _palette2: ; 0xc51c 3LB 0xc06935 _palette2: ; 0xc51c8 LB 0xc0 6816 6936 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6817 6937 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 6826 6946 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6827 6947 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6828 _palette3: ; 0xc528 3LB 0x3006948 _palette3: ; 0xc5288 LB 0x300 6829 6949 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6830 6950 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 6875 6995 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6876 6996 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6877 _static_functionality: ; 0xc558 3LB 0x106997 _static_functionality: ; 0xc5588 LB 0x10 6878 6998 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 6879 _video_save_pointer_table: ; 0xc559 3LB 0x1c6880 db 0c 3h, 048h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h6999 _video_save_pointer_table: ; 0xc5598 LB 0x1c 7000 db 0c8h, 048h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6881 7001 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6882 _vgafont8: ; 0xc55 afLB 0x8007002 _vgafont8: ; 0xc55b4 LB 0x800 6883 7003 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 6884 7004 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7009 7129 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7010 7130 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7011 _vgafont14: ; 0xc5d afLB 0xe007131 _vgafont14: ; 0xc5db4 LB 0xe00 7012 7132 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7013 7133 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7234 7354 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7235 7355 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7236 _vgafont16: ; 0xc6b afLB 0x10007356 _vgafont16: ; 0xc6bb4 LB 0x1000 7237 7357 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7238 7358 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 7491 7611 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 7492 7612 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7493 _vgafont14alt: ; 0xc7b afLB 0x12d7613 _vgafont14alt: ; 0xc7bb4 LB 0x12d 7494 7614 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 7495 7615 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 7511 7631 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 7512 7632 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 7513 _vgafont16alt: ; 0xc7c dc LB 0x1447633 _vgafont16alt: ; 0xc7ce1 LB 0x145 7514 7634 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 7515 7635 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 7532 7652 db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh 7533 7653 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 7534 db 006h, 000h, 000h, 000h 7535 _vbebios_copyright: ; 0xc7e2 0LB 0x157654 db 006h, 000h, 000h, 000h, 000h 7655 _vbebios_copyright: ; 0xc7e26 LB 0x15 7536 7656 db 'VirtualBox VESA BIOS', 000h 7537 _vbebios_vendor_name: ; 0xc7e3 5LB 0x137657 _vbebios_vendor_name: ; 0xc7e3b LB 0x13 7538 7658 db 'Oracle Corporation', 000h 7539 _vbebios_product_name: ; 0xc7e4 8LB 0x217659 _vbebios_product_name: ; 0xc7e4e LB 0x21 7540 7660 db 'Oracle VM VirtualBox VBE Adapter', 000h 7541 _vbebios_product_revision: ; 0xc7e6 9 LB 0x247542 db 'Oracle VM VirtualBox Version 4. 2.51', 000h7543 _vbebios_info_string: ; 0xc7e 8dLB 0x2b7661 _vbebios_product_revision: ; 0xc7e6f LB 0x29 7662 db 'Oracle VM VirtualBox Version 4.3.0_BETA1', 000h 7663 _vbebios_info_string: ; 0xc7e98 LB 0x2b 7544 7664 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 7545 _no_vbebios_info_string: ; 0xc7e b8LB 0x297665 _no_vbebios_info_string: ; 0xc7ec3 LB 0x29 7546 7666 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 7547 7667 7548 ; Padding 0x1 bytes at 0xc7ee1 7549 times 1 db 0 7668 section CONST progbits vstart=0x7eec align=1 ; size=0x0 class=DATA group=DGROUP 7550 7669 7551 section CONST progbits vstart=0x7ee2align=1 ; size=0x0 class=DATA group=DGROUP7670 section CONST2 progbits vstart=0x7eec align=1 ; size=0x0 class=DATA group=DGROUP 7552 7671 7553 section CONST2 progbits vstart=0x7ee2 align=1 ; size=0x0 class=DATA group=DGROUP 7554 7555 ; Padding 0x11e bytes at 0xc7ee2 7672 ; Padding 0x114 bytes at 0xc7eec 7673 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 7674 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh 7675 db 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h 7676 db 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h 7677 db 067h, 061h, 042h, 069h, 06fh, 073h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h 7678 db 06fh, 073h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7556 7679 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7557 7680 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 7565 7688 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7566 7689 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7567 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7568 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7569 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7570 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7571 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7572 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7573 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00ch 7690 db 000h, 000h, 000h, 050h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
r43630 r47937 1 48c82a5cfcc09e4b2e77c98d35aa6683*VBoxVgaBios.rom1 fb494d9bc6385112896b6cd75566b529 *VBoxVgaBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.