Changeset 68290 in vbox for trunk/src/VBox/Devices/Graphics/BIOS
- Timestamp:
- Aug 3, 2017 4:24:55 PM (7 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm
r67771 r68290 250 250 mov bx, 0c000h ; bb 00 c0 251 251 mov ds, bx ; 8e db 252 call 032 45h ; e8 5e31252 call 03268h ; e8 81 31 253 253 popaw ; 61 254 254 pop DS ; 1f … … 1447 1447 times 259 db 0 1448 1448 1449 section _TEXT progbits vstart=0xa00 align=1 ; size=0x32 82class=CODE group=AUTO1449 section _TEXT progbits vstart=0xa00 align=1 ; size=0x32ed class=CODE group=AUTO 1450 1450 set_int_vector_: ; 0xc0a00 LB 0x1b 1451 1451 push bx ; 53 … … 1503 1503 call 00a1bh ; e8 ab ff 1504 1504 call 00a37h ; e8 c4 ff 1505 call 03 6f0h ; e8 7a2c1505 call 0372ch ; e8 b6 2c 1506 1506 mov dx, strict word 00022h ; ba 22 00 1507 1507 mov ax, strict word 00010h ; b8 10 00 … … 1531 1531 mov dx, strict word 00060h ; ba 60 00 1532 1532 mov ax, strict word 00040h ; b8 40 00 1533 call 031 81h ; e8 d2261533 call 031a4h ; e8 f5 26 1534 1534 push SS ; 16 1535 1535 pop ES ; 07 … … 1541 1541 add dx, strict byte 00050h ; 83 c2 50 1542 1542 mov ax, strict word 00040h ; b8 40 00 1543 call 031 81h ; e8 bc261543 call 031a4h ; e8 df 26 1544 1544 push SS ; 16 1545 1545 pop ES ; 07 … … 1562 1562 mov dx, strict word 00049h ; ba 49 00 1563 1563 mov ax, strict word 00040h ; b8 40 00 1564 call 031 65h ; e8 7c261565 xor ah, ah ; 30 e4 1566 call 031 3dh ; e8 4f261564 call 03188h ; e8 9f 26 1565 xor ah, ah ; 30 e4 1566 call 03160h ; e8 72 26 1567 1567 mov byte [bp-00ch], al ; 88 46 f4 1568 1568 cmp AL, strict byte 0ffh ; 3c ff … … 1581 1581 mov dx, 00084h ; ba 84 00 1582 1582 mov ax, strict word 00040h ; b8 40 00 1583 call 031 65h ; e8 48261583 call 03188h ; e8 6b 26 1584 1584 xor ah, ah ; 30 e4 1585 1585 mov di, ax ; 89 c7 … … 1587 1587 mov dx, strict word 0004ah ; ba 4a 00 1588 1588 mov ax, strict word 00040h ; b8 40 00 1589 call 031 81h ; e8 56261589 call 031a4h ; e8 79 26 1590 1590 mov cx, ax ; 89 c1 1591 1591 mov bl, byte [bp-00ch] ; 8a 5e f4 1592 1592 xor bh, bh ; 30 ff 1593 1593 sal bx, 003h ; c1 e3 03 1594 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001594 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1595 1595 jne short 00b68h ; 75 2c 1596 1596 mul di ; f7 e7 … … 1610 1610 add dx, dx ; 01 d2 1611 1611 add dx, di ; 01 fa 1612 mov ax, word [bx+0463 3h] ; 8b 87 33461613 call 031 81h ; e8 1c261612 mov ax, word [bx+04638h] ; 8b 87 38 46 1613 call 031a4h ; e8 3f 26 1614 1614 mov word [ss:si], ax ; 36 89 04 1615 1615 lea sp, [bp-008h] ; 8d 66 f8 … … 1649 1649 mov dx, strict word 0007ch ; ba 7c 00 1650 1650 xor ax, ax ; 31 c0 1651 call 031 9dh ; e8 ff 251651 call 031c0h ; e8 22 26 1652 1652 push SS ; 16 1653 1653 pop ES ; 07 … … 1656 1656 mov dx, 00085h ; ba 85 00 1657 1657 mov ax, strict word 00040h ; b8 40 00 1658 call 031 65h ; e8 b6251658 call 03188h ; e8 d9 25 1659 1659 xor ah, ah ; 30 e4 1660 1660 push SS ; 16 … … 1664 1664 mov dx, 00084h ; ba 84 00 1665 1665 mov ax, strict word 00040h ; b8 40 00 1666 call 031 65h ; e8 a4251666 call 03188h ; e8 c7 25 1667 1667 xor ah, ah ; 30 e4 1668 1668 push SS ; 16 … … 1677 1677 mov dx, 0010ch ; ba 0c 01 1678 1678 jmp short 00b99h ; eb c0 1679 mov ax, 05b edh ; b8 ed5b1679 mov ax, 05bf2h ; b8 f2 5b 1680 1680 mov dx, 0c000h ; ba 00 c0 1681 1681 jmp short 00b9eh ; eb bd 1682 mov ax, 053 edh ; b8 ed531682 mov ax, 053f2h ; b8 f2 53 1683 1683 jmp short 00bdch ; eb f6 1684 mov ax, 057 edh ; b8 ed571684 mov ax, 057f2h ; b8 f2 57 1685 1685 jmp short 00bdch ; eb f1 1686 mov ax, 079 edh ; b8 ed791686 mov ax, 079f2h ; b8 f2 79 1687 1687 jmp short 00bdch ; eb ec 1688 mov ax, 069 edh ; b8 ed691688 mov ax, 069f2h ; b8 f2 69 1689 1689 jmp short 00bdch ; eb e7 1690 mov ax, 07b1 ah ; b8 1a7b1690 mov ax, 07b1fh ; b8 1f 7b 1691 1691 jmp short 00bdch ; eb e2 1692 1692 jmp short 00bcbh ; eb cf … … 1702 1702 mov dx, strict word 00049h ; ba 49 00 1703 1703 mov ax, strict word 00040h ; b8 40 00 1704 call 031 65h ; e8 51251705 xor ah, ah ; 30 e4 1706 call 031 3dh ; e8 24251704 call 03188h ; e8 74 25 1705 xor ah, ah ; 30 e4 1706 call 03160h ; e8 47 25 1707 1707 mov cl, al ; 88 c1 1708 1708 cmp AL, strict byte 0ffh ; 3c ff … … 1711 1711 xor bh, bh ; 30 ff 1712 1712 sal bx, 003h ; c1 e3 03 1713 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001713 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1714 1714 jne short 00c30h ; 75 03 1715 1715 jmp near 00d37h ; e9 07 01 1716 mov bl, byte [bx+0463 1h] ; 8a 9f 31461716 mov bl, byte [bx+04636h] ; 8a 9f 36 46 1717 1717 cmp bl, 003h ; 80 fb 03 1718 1718 jc short 00c48h ; 72 0f … … 1728 1728 mov dx, strict word 0004ah ; ba 4a 00 1729 1729 mov ax, strict word 00040h ; b8 40 00 1730 call 031 81h ; e8 28251730 call 031a4h ; e8 4b 25 1731 1731 mov bx, ax ; 89 c3 1732 1732 mov ax, word [bp-00ah] ; 8b 46 f6 … … 1752 1752 mov dx, bx ; 89 da 1753 1753 mov ax, 0a000h ; b8 00 a0 1754 call 031 65h ; e8 d0241754 call 03188h ; e8 f3 24 1755 1755 and al, byte [bp-008h] ; 22 46 f8 1756 1756 test al, al ; 84 c0 … … 1775 1775 mov dx, bx ; 89 da 1776 1776 mov ax, 0b800h ; b8 00 b8 1777 call 031 65h ; e8 96241777 call 03188h ; e8 b9 24 1778 1778 mov bl, cl ; 88 cb 1779 1779 xor bh, bh ; 30 ff 1780 1780 sal bx, 003h ; c1 e3 03 1781 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 021781 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 1782 1782 jne short 00cf8h ; 75 1b 1783 1783 mov cx, si ; 89 f1 … … 1806 1806 mov dx, strict word 0004ah ; ba 4a 00 1807 1807 mov ax, strict word 00040h ; b8 40 00 1808 call 031 81h ; e8 67241808 call 031a4h ; e8 8a 24 1809 1809 mov bx, ax ; 89 c3 1810 1810 sal bx, 003h ; c1 e3 03 … … 1814 1814 add dx, ax ; 01 c2 1815 1815 mov ax, 0a000h ; b8 00 a0 1816 call 031 65h ; e8 37241816 call 03188h ; e8 5a 24 1817 1817 mov ch, al ; 88 c5 1818 1818 jmp short 00d34h ; eb 02 … … 1927 1927 mov dx, strict word 00060h ; ba 60 00 1928 1928 mov ax, strict word 00040h ; b8 40 00 1929 call 031 8fh ; e8 97231929 call 031b2h ; e8 ba 23 1930 1930 mov dx, 00089h ; ba 89 00 1931 1931 mov ax, strict word 00040h ; b8 40 00 1932 call 031 65h ; e8 64231932 call 03188h ; e8 87 23 1933 1933 mov byte [bp-00ah], al ; 88 46 f6 1934 1934 mov dx, 00085h ; ba 85 00 1935 1935 mov ax, strict word 00040h ; b8 40 00 1936 call 031 81h ; e8 74231936 call 031a4h ; e8 97 23 1937 1937 mov bx, ax ; 89 c3 1938 1938 mov word [bp-00ch], ax ; 89 46 f4 … … 1967 1967 mov dx, strict word 00063h ; ba 63 00 1968 1968 mov ax, strict word 00040h ; b8 40 00 1969 call 031 81h ; e8 2a231969 call 031a4h ; e8 4d 23 1970 1970 mov bx, ax ; 89 c3 1971 1971 mov AL, strict byte 00ah ; b0 0a … … 2008 2008 mov bx, word [bp-00ah] ; 8b 5e f6 2009 2009 mov ax, strict word 00040h ; b8 40 00 2010 call 031 8fh ; e8 f0 222010 call 031b2h ; e8 13 23 2011 2011 mov dx, strict word 00062h ; ba 62 00 2012 2012 mov ax, strict word 00040h ; b8 40 00 2013 call 031 65h ; e8 bd222013 call 03188h ; e8 e0 22 2014 2014 cmp cl, al ; 38 c1 2015 2015 jne short 00f26h ; 75 7a 2016 2016 mov dx, strict word 0004ah ; ba 4a 00 2017 2017 mov ax, strict word 00040h ; b8 40 00 2018 call 031 81h ; e8 cc222018 call 031a4h ; e8 ef 22 2019 2019 mov bx, ax ; 89 c3 2020 2020 mov dx, 00084h ; ba 84 00 2021 2021 mov ax, strict word 00040h ; b8 40 00 2022 call 031 65h ; e8 a5222022 call 03188h ; e8 c8 22 2023 2023 xor ah, ah ; 30 e4 2024 2024 mov dx, ax ; 89 c2 … … 2050 2050 mov dx, strict word 00063h ; ba 63 00 2051 2051 mov ax, strict word 00040h ; b8 40 00 2052 call 031 81h ; e8 7d222052 call 031a4h ; e8 a0 22 2053 2053 mov bx, ax ; 89 c3 2054 2054 mov AL, strict byte 00eh ; b0 0e … … 2087 2087 mov dx, strict word 00049h ; ba 49 00 2088 2088 mov ax, strict word 00040h ; b8 40 00 2089 call 031 65h ; e8 1d222090 xor ah, ah ; 30 e4 2091 call 031 3dh ; e8 f0 212089 call 03188h ; e8 40 22 2090 xor ah, ah ; 30 e4 2091 call 03160h ; e8 13 22 2092 2092 mov cl, al ; 88 c1 2093 2093 cmp AL, strict byte 0ffh ; 3c ff … … 2103 2103 mov si, bx ; 89 de 2104 2104 sal si, 003h ; c1 e6 03 2105 cmp byte [si+0463 0h], 000h ; 80 bc 3046 002105 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 2106 2106 jne short 00fbah ; 75 46 2107 2107 mov dx, strict word 0004ah ; ba 4a 00 2108 2108 mov ax, strict word 00040h ; b8 40 00 2109 call 031 81h ; e8 04222109 call 031a4h ; e8 27 22 2110 2110 mov bx, ax ; 89 c3 2111 2111 mov dx, 00084h ; ba 84 00 2112 2112 mov ax, strict word 00040h ; b8 40 00 2113 call 031 65h ; e8 dd 212113 call 03188h ; e8 00 22 2114 2114 xor ah, ah ; 30 e4 2115 2115 mov dx, ax ; 89 c2 … … 2130 2130 mov dx, strict word 0004eh ; ba 4e 00 2131 2131 mov ax, strict word 00040h ; b8 40 00 2132 call 031 8fh ; e8 df 212132 call 031b2h ; e8 02 22 2133 2133 or cl, 0ffh ; 80 c9 ff 2134 2134 mov ax, cx ; 89 c8 … … 2136 2136 mul si ; f7 e6 2137 2137 jmp short 00fd0h ; eb 16 2138 mov al, byte [bx+046 afh] ; 8a 87 af462138 mov al, byte [bx+046b4h] ; 8a 87 b4 46 2139 2139 xor ah, ah ; 30 e4 2140 2140 mov bx, ax ; 89 c3 … … 2143 2143 xor ch, ch ; 30 ed 2144 2144 mov ax, cx ; 89 c8 2145 mul word [bx+046c 6h] ; f7 a7 c6462145 mul word [bx+046cbh] ; f7 a7 cb 46 2146 2146 mov bx, ax ; 89 c3 2147 2147 mov dx, strict word 00063h ; ba 63 00 2148 2148 mov ax, strict word 00040h ; b8 40 00 2149 call 031 81h ; e8 a6212149 call 031a4h ; e8 c9 21 2150 2150 mov cx, ax ; 89 c1 2151 2151 mov AL, strict byte 00ch ; b0 0c … … 2171 2171 mov dx, strict word 00062h ; ba 62 00 2172 2172 mov ax, strict word 00040h ; b8 40 00 2173 call 031 73h ; e8 68212173 call 03196h ; e8 8b 21 2174 2174 mov dx, word [bp-00eh] ; 8b 56 f2 2175 2175 mov ax, cx ; 89 c8 … … 2182 2182 pop bp ; 5d 2183 2183 retn ; c3 2184 biosfn_set_video_mode_: ; 0xc101c LB 0x3 b62184 biosfn_set_video_mode_: ; 0xc101c LB 0x3d9 2185 2185 push bp ; 55 2186 2186 mov bp, sp ; 89 e5 … … 2190 2190 push si ; 56 2191 2191 push di ; 57 2192 sub sp, strict byte 0001 2h ; 83 ec 122192 sub sp, strict byte 00014h ; 83 ec 14 2193 2193 mov byte [bp-00ch], al ; 88 46 f4 2194 2194 and AL, strict byte 080h ; 24 80 … … 2209 2209 mov al, byte [bp-00ch] ; 8a 46 f4 2210 2210 xor ah, ah ; 30 e4 2211 call 031 3dh ; e8 e5 202211 call 03160h ; e8 08 21 2212 2212 mov byte [bp-010h], al ; 88 46 f0 2213 2213 cmp AL, strict byte 0ffh ; 3c ff 2214 2214 jne short 01062h ; 75 03 2215 jmp near 013 c8h ; e9 66032216 mov byte [bp-01 ah], al ; 88 46 e62217 mov byte [bp-01 9h], 000h ; c6 46 e7002218 mov bx, word [bp-01 ah] ; 8b 5e e62219 mov al, byte [bx+046 afh] ; 8a 87 af462215 jmp near 013ebh ; e9 89 03 2216 mov byte [bp-01ch], al ; 88 46 e4 2217 mov byte [bp-01bh], 000h ; c6 46 e5 00 2218 mov bx, word [bp-01ch] ; 8b 5e e4 2219 mov al, byte [bx+046b4h] ; 8a 87 b4 46 2220 2220 mov byte [bp-00eh], al ; 88 46 f2 2221 2221 mov bl, al ; 88 c3 2222 2222 xor bh, bh ; 30 ff 2223 2223 sal bx, 006h ; c1 e3 06 2224 mov al, byte [bx+046c 3h] ; 8a 87 c3462224 mov al, byte [bx+046c8h] ; 8a 87 c8 46 2225 2225 xor ah, ah ; 30 e4 2226 2226 mov word [bp-016h], ax ; 89 46 ea 2227 mov al, byte [bx+046c 4h] ; 8a 87 c4462227 mov al, byte [bx+046c9h] ; 8a 87 c9 46 2228 2228 mov word [bp-014h], ax ; 89 46 ec 2229 mov al, byte [bx+046c 5h] ; 8a 87 c5462229 mov al, byte [bx+046cah] ; 8a 87 ca 46 2230 2230 mov word [bp-018h], ax ; 89 46 e8 2231 2231 mov dx, 00087h ; ba 87 00 2232 2232 mov ax, strict word 00040h ; b8 40 00 2233 call 031 65h ; e8 cb202233 call 03188h ; e8 ee 20 2234 2234 mov dx, 00088h ; ba 88 00 2235 2235 mov ax, strict word 00040h ; b8 40 00 2236 call 031 65h ; e8 c2202236 call 03188h ; e8 e5 20 2237 2237 mov dx, 00089h ; ba 89 00 2238 2238 mov ax, strict word 00040h ; b8 40 00 2239 call 031 65h ; e8 b9202239 call 03188h ; e8 dc 20 2240 2240 mov cl, al ; 88 c1 2241 2241 test AL, strict byte 008h ; a8 08 2242 2242 jne short 010f7h ; 75 45 2243 mov bx, word [bp-01 ah] ; 8b 5e e62243 mov bx, word [bp-01ch] ; 8b 5e e4 2244 2244 sal bx, 003h ; c1 e3 03 2245 mov al, byte [bx+0463 5h] ; 8a 87 35462245 mov al, byte [bx+0463ah] ; 8a 87 3a 46 2246 2246 mov dx, 003c6h ; ba c6 03 2247 2247 out DX, AL ; ee … … 2249 2249 mov dx, 003c8h ; ba c8 03 2250 2250 out DX, AL ; ee 2251 mov bl, byte [bx+0463 6h] ; 8a 9f 36462251 mov bl, byte [bx+0463bh] ; 8a 9f 3b 46 2252 2252 cmp bl, 001h ; 80 fb 01 2253 2253 jc short 010ddh ; 72 0e … … 2260 2260 test bl, bl ; 84 db 2261 2261 jne short 010f3h ; 75 12 2262 mov di, 04e4 3h ; bf 434e2262 mov di, 04e48h ; bf 48 4e 2263 2263 jmp short 010f3h ; eb 0d 2264 mov di, 04f0 3h ; bf 034f2264 mov di, 04f08h ; bf 08 4f 2265 2265 jmp short 010f3h ; eb 08 2266 mov di, 04fc 3h ; bf c34f2266 mov di, 04fc8h ; bf c8 4f 2267 2267 jmp short 010f3h ; eb 03 2268 mov di, 0508 3h ; bf 83502268 mov di, 05088h ; bf 88 50 2269 2269 xor bx, bx ; 31 db 2270 2270 jmp short 010ffh ; eb 08 … … 2276 2276 mov si, ax ; 89 c6 2277 2277 sal si, 003h ; c1 e6 03 2278 mov al, byte [si+0463 6h] ; 8a 84 36462278 mov al, byte [si+0463bh] ; 8a 84 3b 46 2279 2279 mov si, ax ; 89 c6 2280 mov al, byte [si+046 bfh] ; 8a 84 bf462280 mov al, byte [si+046c4h] ; 8a 84 c4 46 2281 2281 cmp bx, ax ; 39 c3 2282 2282 jnbe short 0112ch ; 77 15 … … 2319 2319 sal si, 006h ; c1 e6 06 2320 2320 add si, bx ; 01 de 2321 mov al, byte [si+046e 6h] ; 8a 84 e6462321 mov al, byte [si+046ebh] ; 8a 84 eb 46 2322 2322 out DX, AL ; ee 2323 2323 inc bx ; 43 … … 2345 2345 sal si, 006h ; c1 e6 06 2346 2346 add si, bx ; 01 de 2347 mov al, byte [si+046c 7h] ; 8a 84 c7462347 mov al, byte [si+046cch] ; 8a 84 cc 46 2348 2348 mov dx, 003c5h ; ba c5 03 2349 2349 out DX, AL ; ee … … 2362 2362 sal si, 006h ; c1 e6 06 2363 2363 add si, bx ; 01 de 2364 mov al, byte [si+046f ah] ; 8a 84 fa462364 mov al, byte [si+046ffh] ; 8a 84 ff 46 2365 2365 mov dx, 003cfh ; ba cf 03 2366 2366 out DX, AL ; ee … … 2370 2370 xor bh, bh ; 30 ff 2371 2371 sal bx, 003h ; c1 e3 03 2372 cmp byte [bx+0463 1h], 001h ; 80 bf 3146 012372 cmp byte [bx+04636h], 001h ; 80 bf 36 46 01 2373 2373 jne short 011e1h ; 75 05 2374 2374 mov dx, 003b4h ; ba b4 03 … … 2392 2392 add di, bx ; 01 df 2393 2393 lea dx, [si+001h] ; 8d 54 01 2394 mov al, byte [di+046 cdh] ; 8a 85 cd462394 mov al, byte [di+046d2h] ; 8a 85 d2 46 2395 2395 out DX, AL ; ee 2396 2396 inc bx ; 43 2397 2397 jmp short 011eeh ; eb dd 2398 2398 mov bx, cx ; 89 cb 2399 mov al, byte [bx+046 cch] ; 8a 87 cc462399 mov al, byte [bx+046d1h] ; 8a 87 d1 46 2400 2400 mov dx, 003c2h ; ba c2 03 2401 2401 out DX, AL ; ee … … 2412 2412 xor bh, ch ; 30 ef 2413 2413 sal bx, 003h ; c1 e3 03 2414 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002414 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2415 2415 jne short 0124fh ; 75 13 2416 mov es, [bx+0463 3h] ; 8e 87 33462416 mov es, [bx+04638h] ; 8e 87 38 46 2417 2417 mov cx, 04000h ; b9 00 40 2418 2418 mov ax, 00720h ; b8 20 07 … … 2424 2424 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2425 2425 jnc short 01267h ; 73 12 2426 mov es, [bx+0463 3h] ; 8e 87 33462426 mov es, [bx+04638h] ; 8e 87 38 46 2427 2427 mov cx, 04000h ; b9 00 40 2428 2428 xor ax, ax ; 31 c0 … … 2439 2439 db 02ah, 0e4h 2440 2440 ; sub ah, ah ; 2a e4 2441 mov word [bp-01 ch], ax ; 89 46 e42441 mov word [bp-01eh], ax ; 89 46 e2 2442 2442 mov AL, strict byte 00fh ; b0 0f 2443 2443 out DX, AL ; ee 2444 mov es, [bx+0463 3h] ; 8e 87 33462444 mov es, [bx+04638h] ; 8e 87 38 46 2445 2445 mov cx, 08000h ; b9 00 80 2446 2446 xor ax, ax ; 31 c0 … … 2449 2449 jcxz 01289h ; e3 02 2450 2450 rep stosw ; f3 ab 2451 mov al, byte [bp-01ch] ; 8a 46 e4 2452 out DX, AL ; ee 2453 mov bl, byte [bp-00ch] ; 8a 5e f4 2454 xor bh, bh ; 30 ff 2451 mov al, byte [bp-01eh] ; 8a 46 e2 2452 out DX, AL ; ee 2453 mov al, byte [bp-00ch] ; 8a 46 f4 2454 mov byte [bp-01ah], al ; 88 46 e6 2455 mov byte [bp-019h], 000h ; c6 46 e7 00 2456 mov bx, word [bp-01ah] ; 8b 5e e6 2455 2457 mov dx, strict word 00049h ; ba 49 00 2456 2458 mov ax, strict word 00040h ; b8 40 00 2457 call 031 73h ; e8 d81e2459 call 03196h ; e8 f3 1e 2458 2460 mov bx, word [bp-016h] ; 8b 5e ea 2459 2461 mov dx, strict word 0004ah ; ba 4a 00 2460 2462 mov ax, strict word 00040h ; b8 40 00 2461 call 031 8fh ; e8 e8 1e2463 call 031b2h ; e8 03 1f 2462 2464 mov bl, byte [bp-00eh] ; 8a 5e f2 2463 2465 xor bh, bh ; 30 ff 2464 2466 sal bx, 006h ; c1 e3 06 2465 mov bx, word [bx+046c 6h] ; 8b 9f c6462467 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2466 2468 mov dx, strict word 0004ch ; ba 4c 00 2467 2469 mov ax, strict word 00040h ; b8 40 00 2468 call 031 8fh ; e8 d31e2470 call 031b2h ; e8 ee 1e 2469 2471 mov bx, si ; 89 f3 2470 2472 mov dx, strict word 00063h ; ba 63 00 2471 2473 mov ax, strict word 00040h ; b8 40 00 2472 call 031 8fh ; e8 c81e2474 call 031b2h ; e8 e3 1e 2473 2475 mov bl, byte [bp-014h] ; 8a 5e ec 2474 2476 xor bh, bh ; 30 ff 2475 2477 mov dx, 00084h ; ba 84 00 2476 2478 mov ax, strict word 00040h ; b8 40 00 2477 call 031 73h ; e8 9e1e2479 call 03196h ; e8 b9 1e 2478 2480 mov bx, word [bp-018h] ; 8b 5e e8 2479 2481 mov dx, 00085h ; ba 85 00 2480 2482 mov ax, strict word 00040h ; b8 40 00 2481 call 031 8fh ; e8 ae1e2483 call 031b2h ; e8 c9 1e 2482 2484 mov bl, byte [bp-012h] ; 8a 5e ee 2483 2485 or bl, 060h ; 80 cb 60 … … 2485 2487 mov dx, 00087h ; ba 87 00 2486 2488 mov ax, strict word 00040h ; b8 40 00 2487 call 031 73h ; e8 811e2489 call 03196h ; e8 9c 1e 2488 2490 mov bx, 000f9h ; bb f9 00 2489 2491 mov dx, 00088h ; ba 88 00 2490 2492 mov ax, strict word 00040h ; b8 40 00 2491 call 031 73h ; e8 751e2493 call 03196h ; e8 90 1e 2492 2494 mov dx, 00089h ; ba 89 00 2493 2495 mov ax, strict word 00040h ; b8 40 00 2494 call 031 65h ; e8 5e1e2496 call 03188h ; e8 79 1e 2495 2497 mov bl, al ; 88 c3 2496 2498 and bl, 07fh ; 80 e3 7f … … 2498 2500 mov dx, 00089h ; ba 89 00 2499 2501 mov ax, strict word 00040h ; b8 40 00 2500 call 031 73h ; e8 5c1e2502 call 03196h ; e8 77 1e 2501 2503 mov bx, strict word 00008h ; bb 08 00 2502 2504 mov dx, 0008ah ; ba 8a 00 2503 2505 mov ax, strict word 00040h ; b8 40 00 2504 call 031 73h ; e8 501e2506 call 03196h ; e8 6b 1e 2505 2507 mov cx, ds ; 8c d9 2506 mov bx, 053d 1h ; bb d1532508 mov bx, 053d6h ; bb d6 53 2507 2509 mov dx, 000a8h ; ba a8 00 2508 2510 mov ax, strict word 00040h ; b8 40 00 2509 call 031afh ; e8 7e 1e 2510 xor bx, bx ; 31 db 2511 call 031d2h ; e8 99 1e 2512 cmp byte [bp-00ch], 007h ; 80 7e f4 07 2513 jnbe short 0136ah ; 77 2b 2514 mov bx, word [bp-01ah] ; 8b 5e e6 2515 mov bl, byte [bx+07c63h] ; 8a 9f 63 7c 2516 xor bh, bh ; 30 ff 2511 2517 mov dx, strict word 00065h ; ba 65 00 2512 2518 mov ax, strict word 00040h ; b8 40 00 2513 call 03173h ; e8 37 1e 2514 xor bx, bx ; 31 db 2519 call 03196h ; e8 45 1e 2520 cmp byte [bp-00ch], 006h ; 80 7e f4 06 2521 jne short 0135ch ; 75 05 2522 mov bx, strict word 0003fh ; bb 3f 00 2523 jmp short 0135fh ; eb 03 2524 mov bx, strict word 00030h ; bb 30 00 2525 xor bh, bh ; 30 ff 2515 2526 mov dx, strict word 00066h ; ba 66 00 2516 2527 mov ax, strict word 00040h ; b8 40 00 2517 call 031 73h ; e8 2c 1e2528 call 03196h ; e8 2c 1e 2518 2529 mov bl, byte [bp-010h] ; 8a 5e f0 2519 2530 xor bh, bh ; 30 ff 2520 2531 sal bx, 003h ; c1 e3 03 2521 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002522 jne short 013 5fh ; 75 092532 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2533 jne short 01382h ; 75 09 2523 2534 mov dx, strict word 00007h ; ba 07 00 2524 2535 mov ax, strict word 00006h ; b8 06 00 2525 call 00dcbh ; e8 6cfa2536 call 00dcbh ; e8 49 fa 2526 2537 xor bx, bx ; 31 db 2527 jmp short 013 68h ; eb 052538 jmp short 0138bh ; eb 05 2528 2539 cmp bx, strict byte 00008h ; 83 fb 08 2529 jnc short 013 74h ; 73 0c2540 jnc short 01397h ; 73 0c 2530 2541 mov al, bl ; 88 d8 2531 2542 xor ah, ah ; 30 e4 2532 2543 xor dx, dx ; 31 d2 2533 call 00e79h ; e8 08 fb2544 call 00e79h ; e8 e5 fa 2534 2545 inc bx ; 43 2535 jmp short 013 63h ; eb ef2546 jmp short 01386h ; eb ef 2536 2547 xor ax, ax ; 31 c0 2537 call 00f2eh ; e8 b5fb2548 call 00f2eh ; e8 92 fb 2538 2549 mov bl, byte [bp-010h] ; 8a 5e f0 2539 2550 xor bh, bh ; 30 ff 2540 2551 sal bx, 003h ; c1 e3 03 2541 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002542 jne short 013 98h ; 75 102552 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2553 jne short 013bbh ; 75 10 2543 2554 xor bl, bl ; 30 db 2544 2555 mov AL, strict byte 004h ; b0 04 … … 2549 2560 mov AH, strict byte 011h ; b4 11 2550 2561 int 010h ; cd 10 2551 mov dx, 057 edh ; ba ed572562 mov dx, 057f2h ; ba f2 57 2552 2563 mov ax, strict word 0001fh ; b8 1f 00 2553 call 00a00h ; e8 5ff62564 call 00a00h ; e8 3c f6 2554 2565 mov ax, word [bp-018h] ; 8b 46 e8 2555 2566 cmp ax, strict word 00010h ; 3d 10 00 2556 je short 013 c3h ; 74 1a2567 je short 013e6h ; 74 1a 2557 2568 cmp ax, strict word 0000eh ; 3d 0e 00 2558 je short 013 beh ; 74 102569 je short 013e1h ; 74 10 2559 2570 cmp ax, strict word 00008h ; 3d 08 00 2560 jne short 013 c8h ; 75 152561 mov dx, 053 edh ; ba ed532571 jne short 013ebh ; 75 15 2572 mov dx, 053f2h ; ba f2 53 2562 2573 mov ax, strict word 00043h ; b8 43 00 2563 call 00a00h ; e8 44f62564 jmp short 013 c8h ; eb 0a2565 mov dx, 05b edh ; ba ed5b2566 jmp short 013 b6h ; eb f32567 mov dx, 069 edh ; ba ed692568 jmp short 013 b6h ; eb ee2574 call 00a00h ; e8 21 f6 2575 jmp short 013ebh ; eb 0a 2576 mov dx, 05bf2h ; ba f2 5b 2577 jmp short 013d9h ; eb f3 2578 mov dx, 069f2h ; ba f2 69 2579 jmp short 013d9h ; eb ee 2569 2580 lea sp, [bp-00ah] ; 8d 66 f6 2570 2581 pop di ; 5f … … 2575 2586 pop bp ; 5d 2576 2587 retn ; c3 2577 vgamem_copy_pl4_: ; 0xc13 d2LB 0x8f2588 vgamem_copy_pl4_: ; 0xc13f5 LB 0x8f 2578 2589 push bp ; 55 2579 2590 mov bp, sp ; 89 e5 … … 2610 2621 xor bl, bl ; 30 db 2611 2622 cmp bl, byte [bp+006h] ; 3a 5e 06 2612 jnc short 014 51h ; 73 302623 jnc short 01474h ; 73 30 2613 2624 mov al, byte [bp-006h] ; 8a 46 fa 2614 2625 xor ah, ah ; 30 e4 … … 2627 2638 mov es, dx ; 8e c2 2628 2639 cld ; fc 2629 jcxz 014 4dh ; e3 062640 jcxz 01470h ; e3 06 2630 2641 push DS ; 1e 2631 2642 mov ds, dx ; 8e da … … 2634 2645 db 0feh, 0c3h 2635 2646 ; inc bl ; fe c3 2636 jmp short 014 1ch ; eb cb2647 jmp short 0143fh ; eb cb 2637 2648 mov ax, strict word 00005h ; b8 05 00 2638 2649 mov dx, 003ceh ; ba ce 03 … … 2643 2654 pop bp ; 5d 2644 2655 retn 00004h ; c2 04 00 2645 vgamem_fill_pl4_: ; 0xc14 61LB 0x7c2656 vgamem_fill_pl4_: ; 0xc1484 LB 0x7c 2646 2657 push bp ; 55 2647 2658 mov bp, sp ; 89 e5 … … 2672 2683 xor bl, bl ; 30 db 2673 2684 cmp bl, byte [bp+004h] ; 3a 5e 04 2674 jnc short 014 cdh ; 73 2d2685 jnc short 014f0h ; 73 2d 2675 2686 mov cl, byte [bp-006h] ; 8a 4e fa 2676 2687 xor ch, ch ; 30 ed … … 2690 2701 mov es, dx ; 8e c2 2691 2702 cld ; fc 2692 jcxz 014 c9h ; e3 022703 jcxz 014ech ; e3 02 2693 2704 rep stosb ; f3 aa 2694 2705 db 0feh, 0c3h 2695 2706 ; inc bl ; fe c3 2696 jmp short 014 9bh ; eb ce2707 jmp short 014beh ; eb ce 2697 2708 mov ax, strict word 00005h ; b8 05 00 2698 2709 mov dx, 003ceh ; ba ce 03 … … 2703 2714 pop bp ; 5d 2704 2715 retn 00004h ; c2 04 00 2705 vgamem_copy_cga_: ; 0xc1 4ddLB 0xc22716 vgamem_copy_cga_: ; 0xc1500 LB 0xc2 2706 2717 push bp ; 55 2707 2718 mov bp, sp ; 89 e5 … … 2737 2748 xor bl, bl ; 30 db 2738 2749 cmp bl, byte [bp+006h] ; 3a 5e 06 2739 jnc short 015 96h ; 73 702750 jnc short 015b9h ; 73 70 2740 2751 test bl, 001h ; f6 c3 01 2741 je short 015 62h ; 74 372752 je short 01585h ; 74 37 2742 2753 mov cl, bh ; 88 f9 2743 2754 xor ch, ch ; 30 ed … … 2759 2770 mov es, dx ; 8e c2 2760 2771 cld ; fc 2761 jcxz 015 60h ; e3 062772 jcxz 01583h ; e3 06 2762 2773 push DS ; 1e 2763 2774 mov ds, dx ; 8e da 2764 2775 rep movsb ; f3 a4 2765 2776 pop DS ; 1f 2766 jmp short 015 92h ; eb 302777 jmp short 015b5h ; eb 30 2767 2778 mov al, bh ; 88 f8 2768 2779 xor ah, ah ; 30 e4 … … 2782 2793 mov es, dx ; 8e c2 2783 2794 cld ; fc 2784 jcxz 015 92h ; e3 062795 jcxz 015b5h ; e3 06 2785 2796 push DS ; 1e 2786 2797 mov ds, dx ; 8e da … … 2789 2800 db 0feh, 0c3h 2790 2801 ; inc bl ; fe c3 2791 jmp short 015 21h ; eb 8b2802 jmp short 01544h ; eb 8b 2792 2803 lea sp, [bp-004h] ; 8d 66 fc 2793 2804 pop di ; 5f … … 2795 2806 pop bp ; 5d 2796 2807 retn 00004h ; c2 04 00 2797 vgamem_fill_cga_: ; 0xc15 9fLB 0xa82808 vgamem_fill_cga_: ; 0xc15c2 LB 0xa8 2798 2809 push bp ; 55 2799 2810 mov bp, sp ; 89 e5 … … 2822 2833 xor bl, bl ; 30 db 2823 2834 cmp bl, byte [bp+004h] ; 3a 5e 04 2824 jnc short 016 3eh ; 73 652835 jnc short 01661h ; 73 65 2825 2836 test bl, 001h ; f6 c3 01 2826 je short 016 0fh ; 74 312837 je short 01632h ; 74 31 2827 2838 mov al, byte [bp-008h] ; 8a 46 f8 2828 2839 xor ah, ah ; 30 e4 … … 2844 2855 mov es, dx ; 8e c2 2845 2856 cld ; fc 2846 jcxz 016 0dh ; e3 022857 jcxz 01630h ; e3 02 2847 2858 rep stosb ; f3 aa 2848 jmp short 016 3ah ; eb 2b2859 jmp short 0165dh ; eb 2b 2849 2860 mov al, byte [bp-008h] ; 8a 46 f8 2850 2861 xor ah, ah ; 30 e4 … … 2865 2876 mov es, dx ; 8e c2 2866 2877 cld ; fc 2867 jcxz 016 3ah ; e3 022878 jcxz 0165dh ; e3 02 2868 2879 rep stosb ; f3 aa 2869 2880 db 0feh, 0c3h 2870 2881 ; inc bl ; fe c3 2871 jmp short 015 d4h ; eb 962882 jmp short 015f7h ; eb 96 2872 2883 lea sp, [bp-004h] ; 8d 66 fc 2873 2884 pop di ; 5f … … 2875 2886 pop bp ; 5d 2876 2887 retn 00004h ; c2 04 00 2877 biosfn_scroll_: ; 0xc16 47LB 0x55a2888 biosfn_scroll_: ; 0xc166a LB 0x55a 2878 2889 push bp ; 55 2879 2890 mov bp, sp ; 89 e5 … … 2886 2897 mov byte [bp-008h], cl ; 88 4e f8 2887 2898 cmp bl, byte [bp+004h] ; 3a 5e 04 2888 jnbe short 016 7ah ; 77 1a2899 jnbe short 0169dh ; 77 1a 2889 2900 cmp cl, byte [bp+006h] ; 3a 4e 06 2890 jnbe short 016 7ah ; 77 152901 jnbe short 0169dh ; 77 15 2891 2902 mov dx, strict word 00049h ; ba 49 00 2892 2903 mov ax, strict word 00040h ; b8 40 00 2893 call 031 65h ; e8 f7 1a2894 xor ah, ah ; 30 e4 2895 call 031 3dh ; e8 ca 1a2904 call 03188h ; e8 f7 1a 2905 xor ah, ah ; 30 e4 2906 call 03160h ; e8 ca 1a 2896 2907 mov byte [bp-00ch], al ; 88 46 f4 2897 2908 cmp AL, strict byte 0ffh ; 3c ff 2898 jne short 016 7dh ; 75 032899 jmp near 01b 98h ; e9 1b 052909 jne short 016a0h ; 75 03 2910 jmp near 01bbbh ; e9 1b 05 2900 2911 mov dx, 00084h ; ba 84 00 2901 2912 mov ax, strict word 00040h ; b8 40 00 2902 call 031 65h ; e8 df 1a2913 call 03188h ; e8 df 1a 2903 2914 xor ah, ah ; 30 e4 2904 2915 mov cx, ax ; 89 c1 … … 2906 2917 mov dx, strict word 0004ah ; ba 4a 00 2907 2918 mov ax, strict word 00040h ; b8 40 00 2908 call 031 81h ; e8 ed 1a2919 call 031a4h ; e8 ed 1a 2909 2920 mov word [bp-018h], ax ; 89 46 e8 2910 2921 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 2911 jne short 016 a9h ; 75 0c2922 jne short 016cch ; 75 0c 2912 2923 mov dx, strict word 00062h ; ba 62 00 2913 2924 mov ax, strict word 00040h ; b8 40 00 2914 call 031 65h ; e8 bf 1a2925 call 03188h ; e8 bf 1a 2915 2926 mov byte [bp+008h], al ; 88 46 08 2916 2927 mov al, byte [bp+004h] ; 8a 46 04 2917 2928 xor ah, ah ; 30 e4 2918 2929 cmp ax, cx ; 39 c8 2919 jc short 016 b9h ; 72 072930 jc short 016dch ; 72 07 2920 2931 mov al, cl ; 88 c8 2921 2932 db 0feh, 0c8h … … 2925 2936 xor ah, ah ; 30 e4 2926 2937 cmp ax, word [bp-018h] ; 3b 46 e8 2927 jc short 016 cbh ; 72 082938 jc short 016eeh ; 72 08 2928 2939 mov al, byte [bp-018h] ; 8a 46 e8 2929 2940 db 0feh, 0c8h … … 2933 2944 xor ah, ah ; 30 e4 2934 2945 cmp ax, cx ; 39 c8 2935 jbe short 016 d7h ; 76 032946 jbe short 016fah ; 76 03 2936 2947 mov byte [bp-006h], ah ; 88 66 fa 2937 2948 mov al, byte [bp+006h] ; 8a 46 06 … … 2953 2964 mul cx ; f7 e1 2954 2965 mov si, ax ; 89 c6 2955 cmp byte [di+0463 0h], 000h ; 80 bd 3046 002956 jne short 017 58h ; 75 512966 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 2967 jne short 0177bh ; 75 51 2957 2968 add ax, ax ; 01 c0 2958 2969 or AL, strict byte 0ffh ; 0c ff … … 2966 2977 mov bx, ax ; 89 c3 2967 2978 cmp byte [bp-006h], 000h ; 80 7e fa 00 2968 jne short 017 5bh ; 75 3a2979 jne short 0177eh ; 75 3a 2969 2980 cmp byte [bp-00ah], 000h ; 80 7e f6 00 2970 jne short 017 5bh ; 75 342981 jne short 0177eh ; 75 34 2971 2982 cmp byte [bp-008h], 000h ; 80 7e f8 00 2972 jne short 017 5bh ; 75 2e2983 jne short 0177eh ; 75 2e 2973 2984 mov al, byte [bp+004h] ; 8a 46 04 2974 2985 xor ah, ah ; 30 e4 2975 2986 cmp ax, word [bp-01ch] ; 3b 46 e4 2976 jne short 017 5bh ; 75 242987 jne short 0177eh ; 75 24 2977 2988 mov al, byte [bp+006h] ; 8a 46 06 2978 2989 cmp ax, word [bp-01ah] ; 3b 46 e6 2979 jne short 017 5bh ; 75 1c2990 jne short 0177eh ; 75 1c 2980 2991 mov al, byte [bp-010h] ; 8a 46 f0 2981 2992 sal ax, 008h ; c1 e0 08 2982 2993 add ax, strict word 00020h ; 05 20 00 2983 mov es, [di+0463 3h] ; 8e 85 33462994 mov es, [di+04638h] ; 8e 85 38 46 2984 2995 mov cx, si ; 89 f1 2985 2996 mov di, bx ; 89 df 2986 2997 cld ; fc 2987 jcxz 017 55h ; e3 022998 jcxz 01778h ; e3 02 2988 2999 rep stosw ; f3 ab 2989 jmp near 01b 98h ; e9 40 042990 jmp near 018 d6h ; e9 7b 013000 jmp near 01bbbh ; e9 40 04 3001 jmp near 018f9h ; e9 7b 01 2991 3002 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 2992 jne short 017 c5h ; 75 643003 jne short 017e8h ; 75 64 2993 3004 mov al, byte [bp-00ah] ; 8a 46 f6 2994 3005 xor ah, ah ; 30 e4 … … 2997 3008 xor dh, dh ; 30 f6 2998 3009 cmp dx, word [bp-016h] ; 3b 56 ea 2999 jc short 017 c7h ; 72 543010 jc short 017eah ; 72 54 3000 3011 mov al, byte [bp-006h] ; 8a 46 fa 3001 3012 xor ah, ah ; 30 e4 3002 3013 add ax, word [bp-016h] ; 03 46 ea 3003 3014 cmp ax, dx ; 39 d0 3004 jnbe short 017 85h ; 77 063015 jnbe short 017a8h ; 77 06 3005 3016 cmp byte [bp-006h], 000h ; 80 7e fa 00 3006 jne short 017 cah ; 75 453017 jne short 017edh ; 75 45 3007 3018 mov al, byte [bp-00eh] ; 8a 46 f2 3008 3019 xor ah, ah ; 30 e4 … … 3025 3036 mov si, ax ; 89 c6 3026 3037 sal si, 003h ; c1 e6 03 3027 mov es, [si+0463 3h] ; 8e 84 33463038 mov es, [si+04638h] ; 8e 84 38 46 3028 3039 mov ax, word [bp-01eh] ; 8b 46 e2 3029 3040 cld ; fc 3030 jcxz 017 c3h ; e3 023041 jcxz 017e6h ; e3 02 3031 3042 rep stosw ; f3 ab 3032 jmp short 018 0eh ; eb 493033 jmp short 018 14h ; eb 4d3034 jmp near 01b 98h ; e9 ce 033043 jmp short 01831h ; eb 49 3044 jmp short 01837h ; eb 4d 3045 jmp near 01bbbh ; e9 ce 03 3035 3046 mov dl, byte [bp-00eh] ; 8a 56 f2 3036 3047 mov cx, dx ; 89 d1 … … 3046 3057 mov si, ax ; 89 c6 3047 3058 sal si, 003h ; c1 e6 03 3048 mov ax, word [si+0463 3h] ; 8b 84 33463059 mov ax, word [si+04638h] ; 8b 84 38 46 3049 3060 mov word [bp-01eh], ax ; 89 46 e2 3050 3061 mov ax, word [bp-016h] ; 8b 46 ea … … 3057 3068 mov es, dx ; 8e c2 3058 3069 cld ; fc 3059 jcxz 018 0eh ; e3 063070 jcxz 01831h ; e3 06 3060 3071 push DS ; 1e 3061 3072 mov ds, dx ; 8e da … … 3063 3074 pop DS ; 1f 3064 3075 inc word [bp-016h] ; ff 46 ea 3065 jmp near 017 69h ; e9 55 ff3076 jmp near 0178ch ; e9 55 ff 3066 3077 mov al, byte [bp+004h] ; 8a 46 04 3067 3078 xor ah, ah ; 30 e4 … … 3070 3081 xor ah, ah ; 30 e4 3071 3082 cmp ax, word [bp-016h] ; 3b 46 ea 3072 jnbe short 017 c7h ; 77 a13083 jnbe short 017eah ; 77 a1 3073 3084 mov dx, ax ; 89 c2 3074 3085 mov al, byte [bp-006h] ; 8a 46 fa 3075 3086 add dx, ax ; 01 c2 3076 3087 cmp dx, word [bp-016h] ; 3b 56 ea 3077 jnbe short 018 36h ; 77 043088 jnbe short 01859h ; 77 04 3078 3089 test al, al ; 84 c0 3079 jne short 018 74h ; 75 3e3090 jne short 01897h ; 75 3e 3080 3091 mov al, byte [bp-00eh] ; 8a 46 f2 3081 3092 xor ah, ah ; 30 e4 … … 3097 3108 mov si, ax ; 89 c6 3098 3109 sal si, 003h ; c1 e6 03 3099 mov es, [si+0463 3h] ; 8e 84 33463110 mov es, [si+04638h] ; 8e 84 38 46 3100 3111 mov ax, word [bp-01eh] ; 8b 46 e2 3101 3112 cld ; fc 3102 jcxz 018 72h ; e3 023113 jcxz 01895h ; e3 02 3103 3114 rep stosw ; f3 ab 3104 jmp short 018 c6h ; eb 523115 jmp short 018e9h ; eb 52 3105 3116 mov al, byte [bp-00eh] ; 8a 46 f2 3106 3117 mov di, ax ; 89 c7 … … 3120 3131 mov si, ax ; 89 c6 3121 3132 sal si, 003h ; c1 e6 03 3122 mov ax, word [si+0463 3h] ; 8b 84 33463133 mov ax, word [si+04638h] ; 8b 84 38 46 3123 3134 mov word [bp-014h], ax ; 89 46 ec 3124 3135 mov ax, word [bp-016h] ; 8b 46 ea … … 3133 3144 mov es, dx ; 8e c2 3134 3145 cld ; fc 3135 jcxz 018 c6h ; e3 063146 jcxz 018e9h ; e3 06 3136 3147 push DS ; 1e 3137 3148 mov ds, dx ; 8e da … … 3141 3152 xor ah, ah ; 30 e4 3142 3153 cmp ax, word [bp-016h] ; 3b 46 ea 3143 jc short 01 8fbh ; 72 2b3154 jc short 0191eh ; 72 2b 3144 3155 dec word [bp-016h] ; ff 4e ea 3145 jmp near 018 1ch ; e9 46 ff3146 mov al, byte [bx+046 afh] ; 8a 87 af463156 jmp near 0183fh ; e9 46 ff 3157 mov al, byte [bx+046b4h] ; 8a 87 b4 46 3147 3158 xor ah, ah ; 30 e4 3148 3159 mov bx, ax ; 89 c3 3149 3160 sal bx, 006h ; c1 e3 06 3150 mov al, byte [bx+046c 5h] ; 8a 87 c5463161 mov al, byte [bx+046cah] ; 8a 87 ca 46 3151 3162 mov byte [bp-012h], al ; 88 46 ee 3152 mov bl, byte [di+0463 1h] ; 8a 9d 31463163 mov bl, byte [di+04636h] ; 8a 9d 36 46 3153 3164 cmp bl, 004h ; 80 fb 04 3154 je short 01 8feh ; 74 0d3165 je short 01921h ; 74 0d 3155 3166 cmp bl, 003h ; 80 fb 03 3156 je short 01 8feh ; 74 083167 je short 01921h ; 74 08 3157 3168 cmp bl, 002h ; 80 fb 02 3158 je short 019 2dh ; 74 323159 jmp near 01b 98h ; e9 9a 023169 je short 01950h ; 74 32 3170 jmp near 01bbbh ; e9 9a 02 3160 3171 cmp byte [bp-006h], 000h ; 80 7e fa 00 3161 jne short 019 68h ; 75 643172 jne short 0198bh ; 75 64 3162 3173 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3163 jne short 019 68h ; 75 5e3174 jne short 0198bh ; 75 5e 3164 3175 cmp byte [bp-008h], 000h ; 80 7e f8 00 3165 jne short 019 68h ; 75 583176 jne short 0198bh ; 75 58 3166 3177 mov al, byte [bp+004h] ; 8a 46 04 3167 3178 xor ah, ah ; 30 e4 … … 3170 3181 dec ax ; 48 3171 3182 cmp dx, ax ; 39 c2 3172 jne short 019 68h ; 75 4a3183 jne short 0198bh ; 75 4a 3173 3184 mov al, byte [bp+006h] ; 8a 46 06 3174 3185 xor ah, ah ; 30 e4 … … 3176 3187 dec dx ; 4a 3177 3188 cmp ax, dx ; 39 d0 3178 je short 019 30h ; 74 053179 jmp short 019 68h ; eb 3b3180 jmp near 01a 5dh ; e9 2d 013189 je short 01953h ; 74 05 3190 jmp short 0198bh ; eb 3b 3191 jmp near 01a80h ; e9 2d 01 3181 3192 mov ax, 00205h ; b8 05 02 3182 3193 mov dx, 003ceh ; ba ce 03 … … 3194 3205 mov bx, dx ; 89 d3 3195 3206 sal bx, 003h ; c1 e3 03 3196 mov es, [bx+0463 3h] ; 8e 87 33463207 mov es, [bx+04638h] ; 8e 87 38 46 3197 3208 xor di, di ; 31 ff 3198 3209 cld ; fc 3199 jcxz 019 5fh ; e3 023210 jcxz 01982h ; e3 02 3200 3211 rep stosb ; f3 aa 3201 3212 mov ax, strict word 00005h ; b8 05 00 3202 3213 mov dx, 003ceh ; ba ce 03 3203 3214 out DX, ax ; ef 3204 jmp short 01 8fbh ; eb 933215 jmp short 0191eh ; eb 93 3205 3216 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3206 jne short 019 beh ; 75 503217 jne short 019e1h ; 75 50 3207 3218 mov al, byte [bp-00ah] ; 8a 46 f6 3208 3219 xor ah, ah ; 30 e4 … … 3212 3223 mov dx, ax ; 89 c2 3213 3224 cmp ax, word [bp-016h] ; 3b 46 ea 3214 jc short 01 9e4h ; 72 623225 jc short 01a07h ; 72 62 3215 3226 mov al, byte [bp-006h] ; 8a 46 fa 3216 3227 add ax, word [bp-016h] ; 03 46 ea 3217 3228 cmp ax, dx ; 39 d0 3218 jnbe short 019 92h ; 77 063229 jnbe short 019b5h ; 77 06 3219 3230 cmp byte [bp-006h], 000h ; 80 7e fa 00 3220 jne short 019 c0h ; 75 2e3231 jne short 019e3h ; 75 2e 3221 3232 mov al, byte [bp-010h] ; 8a 46 f0 3222 3233 xor ah, ah ; 30 e4 … … 3235 3246 mov dx, ax ; 89 c2 3236 3247 mov ax, si ; 89 f0 3237 call 014 61h ; e8 a5 fa3238 jmp short 01 9dfh ; eb 213239 jmp short 01 9e7h ; eb 273248 call 01484h ; e8 a5 fa 3249 jmp short 01a02h ; eb 21 3250 jmp short 01a0ah ; eb 27 3240 3251 mov al, byte [bp-012h] ; 8a 46 ee 3241 3252 xor ah, ah ; 30 e4 … … 3250 3261 mov dx, ax ; 89 c2 3251 3262 mov al, byte [bp-008h] ; 8a 46 f8 3252 call 013 d2h ; e8 f3 f93263 call 013f5h ; e8 f3 f9 3253 3264 inc word [bp-016h] ; ff 46 ea 3254 jmp short 019 76h ; eb 923255 jmp near 01b 98h ; e9 b1 013265 jmp short 01999h ; eb 92 3266 jmp near 01bbbh ; e9 b1 01 3256 3267 mov al, byte [bp+004h] ; 8a 46 04 3257 3268 xor ah, ah ; 30 e4 … … 3260 3271 xor ah, ah ; 30 e4 3261 3272 cmp ax, word [bp-016h] ; 3b 46 ea 3262 jnbe short 01 9e4h ; 77 eb3273 jnbe short 01a07h ; 77 eb 3263 3274 mov dx, ax ; 89 c2 3264 3275 mov al, byte [bp-006h] ; 8a 46 fa 3265 3276 add ax, dx ; 01 d0 3266 3277 cmp ax, word [bp-016h] ; 3b 46 ea 3267 jnbe short 01a 0bh ; 77 063278 jnbe short 01a2eh ; 77 06 3268 3279 cmp byte [bp-006h], 000h ; 80 7e fa 00 3269 jne short 01a 2ch ; 75 213280 jne short 01a4fh ; 75 21 3270 3281 mov al, byte [bp-010h] ; 8a 46 f0 3271 3282 xor ah, ah ; 30 e4 … … 3280 3291 mov dx, ax ; 89 c2 3281 3292 mov al, byte [bp-008h] ; 8a 46 f8 3282 call 014 61h ; e8 37 fa3283 jmp short 01a 4eh ; eb 223293 call 01484h ; e8 37 fa 3294 jmp short 01a71h ; eb 22 3284 3295 mov al, byte [bp-012h] ; 8a 46 ee 3285 3296 xor ah, ah ; 30 e4 … … 3295 3306 mov dx, ax ; 89 c2 3296 3307 mov al, byte [bp-008h] ; 8a 46 f8 3297 call 013 d2h ; e8 84 f93308 call 013f5h ; e8 84 f9 3298 3309 mov al, byte [bp+004h] ; 8a 46 04 3299 3310 xor ah, ah ; 30 e4 3300 3311 cmp ax, word [bp-016h] ; 3b 46 ea 3301 jc short 01a a2h ; 72 4a3312 jc short 01ac5h ; 72 4a 3302 3313 dec word [bp-016h] ; ff 4e ea 3303 jmp short 01 9efh ; eb 923304 mov bl, byte [di+0463 2h] ; 8a 9d 32463314 jmp short 01a12h ; eb 92 3315 mov bl, byte [di+04637h] ; 8a 9d 37 46 3305 3316 cmp byte [bp-006h], 000h ; 80 7e fa 00 3306 jne short 01a a5h ; 75 3e3317 jne short 01ac8h ; 75 3e 3307 3318 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3308 jne short 01a a5h ; 75 383319 jne short 01ac8h ; 75 38 3309 3320 cmp byte [bp-008h], 000h ; 80 7e f8 00 3310 jne short 01a a5h ; 75 323321 jne short 01ac8h ; 75 32 3311 3322 mov al, byte [bp+004h] ; 8a 46 04 3312 3323 cmp ax, word [bp-01ch] ; 3b 46 e4 3313 jne short 01a a5h ; 75 2a3324 jne short 01ac8h ; 75 2a 3314 3325 mov al, byte [bp+006h] ; 8a 46 06 3315 3326 cmp ax, word [bp-01ah] ; 3b 46 e6 3316 jne short 01a a5h ; 75 223327 jne short 01ac8h ; 75 22 3317 3328 mov al, byte [bp-012h] ; 8a 46 ee 3318 3329 mov dx, ax ; 89 c2 … … 3322 3333 mul bx ; f7 e3 3323 3334 mov bl, byte [bp-010h] ; 8a 5e f0 3324 mov es, [di+0463 3h] ; 8e 85 33463335 mov es, [di+04638h] ; 8e 85 38 46 3325 3336 mov cx, ax ; 89 c1 3326 3337 mov ax, bx ; 89 d8 3327 3338 xor di, di ; 31 ff 3328 3339 cld ; fc 3329 jcxz 01a a2h ; e3 023340 jcxz 01ac5h ; e3 02 3330 3341 rep stosb ; f3 aa 3331 jmp near 01b 98h ; e9 f3 003342 jmp near 01bbbh ; e9 f3 00 3332 3343 cmp bl, 002h ; 80 fb 02 3333 jne short 01a b3h ; 75 093344 jne short 01ad6h ; 75 09 3334 3345 sal byte [bp-008h], 1 ; d0 66 f8 3335 3346 sal byte [bp-00eh], 1 ; d0 66 f2 3336 3347 sal word [bp-018h], 1 ; d1 66 e8 3337 3348 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3338 jne short 01b 22h ; 75 693349 jne short 01b45h ; 75 69 3339 3350 mov al, byte [bp-00ah] ; 8a 46 f6 3340 3351 xor ah, ah ; 30 e4 … … 3344 3355 mov dx, ax ; 89 c2 3345 3356 cmp ax, word [bp-016h] ; 3b 46 ea 3346 jc short 01a a2h ; 72 d53357 jc short 01ac5h ; 72 d5 3347 3358 mov al, byte [bp-006h] ; 8a 46 fa 3348 3359 add ax, word [bp-016h] ; 03 46 ea 3349 3360 cmp ax, dx ; 39 d0 3350 jnbe short 01 addh ; 77 063361 jnbe short 01b00h ; 77 06 3351 3362 cmp byte [bp-006h], 000h ; 80 7e fa 00 3352 jne short 01 afeh ; 75 213363 jne short 01b21h ; 75 21 3353 3364 mov al, byte [bp-010h] ; 8a 46 f0 3354 3365 xor ah, ah ; 30 e4 … … 3363 3374 mov dx, ax ; 89 c2 3364 3375 mov al, byte [bp-008h] ; 8a 46 f8 3365 call 015 9fh ; e8 a3 fa3366 jmp short 01b 1dh ; eb 1f3376 call 015c2h ; e8 a3 fa 3377 jmp short 01b40h ; eb 1f 3367 3378 mov al, byte [bp-012h] ; 8a 46 ee 3368 3379 xor ah, ah ; 30 e4 … … 3377 3388 mov dx, ax ; 89 c2 3378 3389 mov al, byte [bp-008h] ; 8a 46 f8 3379 call 01 4ddh ; e8 c0 f93390 call 01500h ; e8 c0 f9 3380 3391 inc word [bp-016h] ; ff 46 ea 3381 jmp short 01a c1h ; eb 9f3392 jmp short 01ae4h ; eb 9f 3382 3393 mov al, byte [bp+004h] ; 8a 46 04 3383 3394 xor ah, ah ; 30 e4 … … 3386 3397 xor ah, ah ; 30 e4 3387 3398 cmp ax, word [bp-016h] ; 3b 46 ea 3388 jnbe short 01b 98h ; 77 643399 jnbe short 01bbbh ; 77 64 3389 3400 mov dx, ax ; 89 c2 3390 3401 mov al, byte [bp-006h] ; 8a 46 fa 3391 3402 add ax, dx ; 01 d0 3392 3403 cmp ax, word [bp-016h] ; 3b 46 ea 3393 jnbe short 01b 46h ; 77 063404 jnbe short 01b69h ; 77 06 3394 3405 cmp byte [bp-006h], 000h ; 80 7e fa 00 3395 jne short 01b 67h ; 75 213406 jne short 01b8ah ; 75 21 3396 3407 mov al, byte [bp-010h] ; 8a 46 f0 3397 3408 xor ah, ah ; 30 e4 … … 3406 3417 mov dx, ax ; 89 c2 3407 3418 mov al, byte [bp-008h] ; 8a 46 f8 3408 call 015 9fh ; e8 3a fa3409 jmp short 01b 89h ; eb 223419 call 015c2h ; e8 3a fa 3420 jmp short 01bach ; eb 22 3410 3421 mov al, byte [bp-012h] ; 8a 46 ee 3411 3422 xor ah, ah ; 30 e4 … … 3421 3432 mov dx, ax ; 89 c2 3422 3433 mov al, byte [bp-008h] ; 8a 46 f8 3423 call 01 4ddh ; e8 54 f93434 call 01500h ; e8 54 f9 3424 3435 mov al, byte [bp+004h] ; 8a 46 04 3425 3436 xor ah, ah ; 30 e4 3426 3437 cmp ax, word [bp-016h] ; 3b 46 ea 3427 jc short 01b 98h ; 72 053438 jc short 01bbbh ; 72 05 3428 3439 dec word [bp-016h] ; ff 4e ea 3429 jmp short 01b 2ah ; eb 923440 jmp short 01b4dh ; eb 92 3430 3441 lea sp, [bp-004h] ; 8d 66 fc 3431 3442 pop di ; 5f … … 3433 3444 pop bp ; 5d 3434 3445 retn 00008h ; c2 08 00 3435 write_gfx_char_pl4_: ; 0xc1b a1LB 0xfb3446 write_gfx_char_pl4_: ; 0xc1bc4 LB 0xfb 3436 3447 push bp ; 55 3437 3448 mov bp, sp ; 89 e5 … … 3444 3455 mov al, cl ; 88 c8 3445 3456 cmp byte [bp+006h], 010h ; 80 7e 06 10 3446 je short 01b c5h ; 74 0b3457 je short 01be8h ; 74 0b 3447 3458 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3448 jne short 01b cah ; 75 0a3449 mov di, 05b edh ; bf ed5b3450 jmp short 01b cdh ; eb 083451 mov di, 069 edh ; bf ed693452 jmp short 01b cdh ; eb 033453 mov di, 053 edh ; bf ed533459 jne short 01bedh ; 75 0a 3460 mov di, 05bf2h ; bf f2 5b 3461 jmp short 01bf0h ; eb 08 3462 mov di, 069f2h ; bf f2 69 3463 jmp short 01bf0h ; eb 03 3464 mov di, 053f2h ; bf f2 53 3454 3465 xor ah, ah ; 30 e4 3455 3466 mov bx, ax ; 89 c3 … … 3476 3487 out DX, ax ; ef 3477 3488 test byte [bp-008h], 080h ; f6 46 f8 80 3478 je short 01c 0fh ; 74 063489 je short 01c32h ; 74 06 3479 3490 mov ax, 01803h ; b8 03 18 3480 3491 out DX, ax ; ef 3481 jmp short 01c 13h ; eb 043492 jmp short 01c36h ; eb 04 3482 3493 mov ax, strict word 00003h ; b8 03 00 3483 3494 out DX, ax ; ef 3484 3495 xor ch, ch ; 30 ed 3485 3496 cmp ch, byte [bp+006h] ; 3a 6e 06 3486 jnc short 01c 84h ; 73 6a3497 jnc short 01ca7h ; 73 6a 3487 3498 mov al, ch ; 88 e8 3488 3499 xor ah, ah ; 30 e4 … … 3495 3506 add si, ax ; 01 c6 3496 3507 mov byte [bp-00ch], bh ; 88 7e f4 3497 jmp short 01c 46h ; eb 133508 jmp short 01c69h ; eb 13 3498 3509 xor bx, bx ; 31 db 3499 3510 mov dx, si ; 89 f2 3500 3511 mov ax, 0a000h ; b8 00 a0 3501 call 031 73h ; e8 36 153512 call 03196h ; e8 36 15 3502 3513 inc byte [bp-00ch] ; fe 46 f4 3503 3514 cmp byte [bp-00ch], 008h ; 80 7e f4 08 3504 jnc short 01c 80h ; 73 3a3515 jnc short 01ca3h ; 73 3a 3505 3516 mov cl, byte [bp-00ch] ; 8a 4e f4 3506 3517 mov ax, 00080h ; b8 80 00 … … 3514 3525 mov dx, si ; 89 f2 3515 3526 mov ax, 0a000h ; b8 00 a0 3516 call 031 65h ; e8 01 153527 call 03188h ; e8 01 15 3517 3528 mov al, ch ; 88 e8 3518 3529 xor ah, ah ; 30 e4 … … 3522 3533 mov al, byte [bx] ; 8a 07 3523 3534 test word [bp-012h], ax ; 85 46 ee 3524 je short 01c 33h ; 74 bd3535 je short 01c56h ; 74 bd 3525 3536 mov bl, byte [bp-008h] ; 8a 5e f8 3526 3537 and bl, 00fh ; 80 e3 0f 3527 3538 xor bh, bh ; 30 ff 3528 jmp short 01c 35h ; eb b53539 jmp short 01c58h ; eb b5 3529 3540 db 0feh, 0c5h 3530 3541 ; inc ch ; fe c5 3531 jmp short 01c 15h ; eb 913542 jmp short 01c38h ; eb 91 3532 3543 mov ax, 0ff08h ; b8 08 ff 3533 3544 mov dx, 003ceh ; ba ce 03 … … 3542 3553 pop bp ; 5d 3543 3554 retn 00004h ; c2 04 00 3544 write_gfx_char_cga_: ; 0xc1c 9cLB 0x1383555 write_gfx_char_cga_: ; 0xc1cbf LB 0x138 3545 3556 push bp ; 55 3546 3557 mov bp, sp ; 89 e5 … … 3551 3562 mov byte [bp-008h], dl ; 88 56 f8 3552 3563 mov al, bl ; 88 d8 3553 mov si, 053 edh ; be ed533564 mov si, 053f2h ; be f2 53 3554 3565 xor ah, ah ; 30 e4 3555 3566 mov bx, ax ; 89 c3 … … 3569 3580 sal di, 003h ; c1 e7 03 3570 3581 mov byte [bp-006h], ah ; 88 66 fa 3571 jmp near 01d 2dh ; e9 52 003582 jmp near 01d50h ; e9 52 00 3572 3583 xor al, al ; 30 c0 3573 3584 xor ah, ah ; 30 e4 3574 jmp short 01 cech ; eb 0b3585 jmp short 01d0fh ; eb 0b 3575 3586 or al, bl ; 08 d8 3576 3587 shr ch, 1 ; d0 ed … … 3578 3589 ; inc ah ; fe c4 3579 3590 cmp ah, 008h ; 80 fc 08 3580 jnc short 01d 17h ; 73 2b3591 jnc short 01d3ah ; 73 2b 3581 3592 mov bl, byte [bp-006h] ; 8a 5e fa 3582 3593 xor bh, bh ; 30 ff … … 3588 3599 mov bl, ch ; 88 eb 3589 3600 test dx, bx ; 85 da 3590 je short 01 ce3h ; 74 e23601 je short 01d06h ; 74 e2 3591 3602 mov CL, strict byte 007h ; b1 07 3592 3603 sub cl, ah ; 28 e1 … … 3595 3606 sal bl, CL ; d2 e3 3596 3607 test byte [bp-008h], 080h ; f6 46 f8 80 3597 je short 01 ce1h ; 74 ce3608 je short 01d04h ; 74 ce 3598 3609 xor al, bl ; 30 d8 3599 jmp short 01 ce3h ; eb cc3610 jmp short 01d06h ; eb cc 3600 3611 xor ah, ah ; 30 e4 3601 3612 mov bx, ax ; 89 c3 3602 3613 mov dx, word [bp-00ch] ; 8b 56 f4 3603 3614 mov ax, 0b800h ; b8 00 b8 3604 call 031 73h ; e8 4f 143615 call 03196h ; e8 4f 14 3605 3616 inc byte [bp-006h] ; fe 46 fa 3606 3617 cmp byte [bp-006h], 008h ; 80 7e fa 08 3607 jnc short 01d 7dh ; 73 503618 jnc short 01da0h ; 73 50 3608 3619 mov al, byte [bp-006h] ; 8a 46 fa 3609 3620 xor ah, ah ; 30 e4 … … 3614 3625 mov word [bp-00ch], dx ; 89 56 f4 3615 3626 test byte [bp-006h], 001h ; f6 46 fa 01 3616 je short 01d 49h ; 74 043627 je short 01d6ch ; 74 04 3617 3628 add byte [bp-00bh], 020h ; 80 46 f5 20 3618 3629 mov CH, strict byte 080h ; b5 80 3619 3630 cmp byte [bp+006h], 001h ; 80 7e 06 01 3620 jne short 01d 62h ; 75 113631 jne short 01d85h ; 75 11 3621 3632 test byte [bp-008h], ch ; 84 6e f8 3622 je short 01c dbh ; 74 853633 je short 01cfeh ; 74 85 3623 3634 mov dx, word [bp-00ch] ; 8b 56 f4 3624 3635 mov ax, 0b800h ; b8 00 b8 3625 call 031 65h ; e8 06 143626 jmp near 01 cddh ; e9 7b ff3636 call 03188h ; e8 06 14 3637 jmp near 01d00h ; e9 7b ff 3627 3638 test ch, ch ; 84 ed 3628 jbe short 01d 24h ; 76 be3639 jbe short 01d47h ; 76 be 3629 3640 test byte [bp-008h], 080h ; f6 46 f8 80 3630 je short 01d 77h ; 74 0b3641 je short 01d9ah ; 74 0b 3631 3642 mov dx, word [bp-00ch] ; 8b 56 f4 3632 3643 mov ax, 0b800h ; b8 00 b8 3633 call 031 65h ; e8 f0 133634 jmp short 01d 79h ; eb 023644 call 03188h ; e8 f0 13 3645 jmp short 01d9ch ; eb 02 3635 3646 xor al, al ; 30 c0 3636 3647 xor ah, ah ; 30 e4 3637 jmp short 01d 84h ; eb 073638 jmp short 01d cbh ; eb 4c3648 jmp short 01da7h ; eb 07 3649 jmp short 01deeh ; eb 4c 3639 3650 cmp ah, 004h ; 80 fc 04 3640 jnc short 01d b9h ; 73 353651 jnc short 01ddch ; 73 35 3641 3652 mov bl, byte [bp-006h] ; 8a 5e fa 3642 3653 xor bh, bh ; 30 ff … … 3648 3659 mov bl, ch ; 88 eb 3649 3660 test dx, bx ; 85 da 3650 je short 01d b3h ; 74 1a3661 je short 01dd6h ; 74 1a 3651 3662 mov CL, strict byte 003h ; b1 03 3652 3663 sub cl, ah ; 28 e1 … … 3656 3667 sal bl, CL ; d2 e3 3657 3668 test byte [bp-008h], 080h ; f6 46 f8 80 3658 je short 01d b1h ; 74 043669 je short 01dd4h ; 74 04 3659 3670 xor al, bl ; 30 d8 3660 jmp short 01d b3h ; eb 023671 jmp short 01dd6h ; eb 02 3661 3672 or al, bl ; 08 d8 3662 3673 shr ch, 1 ; d0 ed 3663 3674 db 0feh, 0c4h 3664 3675 ; inc ah ; fe c4 3665 jmp short 01d 7fh ; eb c63676 jmp short 01da2h ; eb c6 3666 3677 xor ah, ah ; 30 e4 3667 3678 mov bx, ax ; 89 c3 3668 3679 mov dx, word [bp-00ch] ; 8b 56 f4 3669 3680 mov ax, 0b800h ; b8 00 b8 3670 call 031 73h ; e8 ad 133681 call 03196h ; e8 ad 13 3671 3682 inc word [bp-00ch] ; ff 46 f4 3672 jmp short 01d 62h ; eb 973683 jmp short 01d85h ; eb 97 3673 3684 lea sp, [bp-004h] ; 8d 66 fc 3674 3685 pop di ; 5f … … 3676 3687 pop bp ; 5d 3677 3688 retn 00004h ; c2 04 00 3678 write_gfx_char_lin_: ; 0xc1d d4LB 0xaa3689 write_gfx_char_lin_: ; 0xc1df7 LB 0xaa 3679 3690 push bp ; 55 3680 3691 mov bp, sp ; 89 e5 … … 3686 3697 mov byte [bp-006h], bl ; 88 5e fa 3687 3698 mov al, cl ; 88 c8 3688 mov si, 053 edh ; be ed533699 mov si, 053f2h ; be f2 53 3689 3700 xor ah, ah ; 30 e4 3690 3701 mov bl, byte [bp+004h] ; 8a 5e 04 … … 3701 3712 sal di, 003h ; c1 e7 03 3702 3713 xor cl, cl ; 30 c9 3703 jmp short 01e 53h ; eb 443714 jmp short 01e76h ; eb 44 3704 3715 cmp ch, 008h ; 80 fd 08 3705 jnc short 01e 4ch ; 73 383716 jnc short 01e6fh ; 73 38 3706 3717 xor dl, dl ; 30 d2 3707 3718 mov al, cl ; 88 c8 … … 3715 3726 xor bh, bh ; 30 ff 3716 3727 test ax, bx ; 85 d8 3717 je short 01e 30h ; 74 033728 je short 01e53h ; 74 03 3718 3729 mov dl, byte [bp-00ch] ; 8a 56 f4 3719 3730 mov bl, dl ; 88 d3 … … 3725 3736 mov bx, ax ; 89 c3 3726 3737 mov ax, 0a000h ; b8 00 a0 3727 call 031 73h ; e8 2e 133738 call 03196h ; e8 2e 13 3728 3739 shr byte [bp-008h], 1 ; d0 6e f8 3729 3740 db 0feh, 0c5h 3730 3741 ; inc ch ; fe c5 3731 jmp short 01e 0fh ; eb c33742 jmp short 01e32h ; eb c3 3732 3743 db 0feh, 0c1h 3733 3744 ; inc cl ; fe c1 3734 3745 cmp cl, 008h ; 80 f9 08 3735 jnc short 01e 75h ; 73 223746 jnc short 01e98h ; 73 22 3736 3747 mov bl, cl ; 88 cb 3737 3748 xor bh, bh ; 30 ff … … 3747 3758 mov byte [bp-008h], 080h ; c6 46 f8 80 3748 3759 xor ch, ch ; 30 ed 3749 jmp short 01e 14h ; eb 9f3760 jmp short 01e37h ; eb 9f 3750 3761 lea sp, [bp-004h] ; 8d 66 fc 3751 3762 pop di ; 5f … … 3753 3764 pop bp ; 5d 3754 3765 retn 00002h ; c2 02 00 3755 biosfn_write_char_attr_: ; 0xc1e 7eLB 0x18d3766 biosfn_write_char_attr_: ; 0xc1ea1 LB 0x18d 3756 3767 push bp ; 55 3757 3768 mov bp, sp ; 89 e5 … … 3765 3776 mov dx, strict word 00049h ; ba 49 00 3766 3777 mov ax, strict word 00040h ; b8 40 00 3767 call 031 65h ; e8 cb 123768 xor ah, ah ; 30 e4 3769 call 031 3dh ; e8 9e 123778 call 03188h ; e8 cb 12 3779 xor ah, ah ; 30 e4 3780 call 03160h ; e8 9e 12 3770 3781 mov cl, al ; 88 c1 3771 3782 mov byte [bp-014h], al ; 88 46 ec 3772 3783 cmp AL, strict byte 0ffh ; 3c ff 3773 jne short 01e abh ; 75 033774 jmp near 020 04h ; e9 59 013784 jne short 01eceh ; 75 03 3785 jmp near 02027h ; e9 59 01 3775 3786 mov al, byte [bp-00ch] ; 8a 46 f4 3776 3787 xor ah, ah ; 30 e4 3777 3788 lea bx, [bp-01ch] ; 8d 5e e4 3778 3789 lea dx, [bp-01ah] ; 8d 56 e6 3779 call 00a8bh ; e8 d2eb3790 call 00a8bh ; e8 af eb 3780 3791 mov al, byte [bp-01ch] ; 8a 46 e4 3781 3792 mov byte [bp-006h], al ; 88 46 fa … … 3786 3797 mov dx, 00084h ; ba 84 00 3787 3798 mov ax, strict word 00040h ; b8 40 00 3788 call 031 65h ; e8 92 123799 call 03188h ; e8 92 12 3789 3800 xor ah, ah ; 30 e4 3790 3801 inc ax ; 40 … … 3792 3803 mov dx, strict word 0004ah ; ba 4a 00 3793 3804 mov ax, strict word 00040h ; b8 40 00 3794 call 031 81h ; e8 9f 123805 call 031a4h ; e8 9f 12 3795 3806 mov bx, ax ; 89 c3 3796 3807 mov word [bp-016h], ax ; 89 46 ea … … 3799 3810 mov di, ax ; 89 c7 3800 3811 sal di, 003h ; c1 e7 03 3801 cmp byte [di+0463 0h], 000h ; 80 bd 3046 003802 jne short 01f 49h ; 75 523812 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 3813 jne short 01f6ch ; 75 52 3803 3814 mov ax, bx ; 89 d8 3804 3815 mul word [bp-018h] ; f7 66 e8 … … 3830 3841 mov word [bp-01ah], bx ; 89 5e e6 3831 3842 mov ax, word [bp-01ah] ; 8b 46 e6 3832 mov es, [di+0463 3h] ; 8e 85 33463843 mov es, [di+04638h] ; 8e 85 38 46 3833 3844 mov cx, si ; 89 f1 3834 3845 mov di, dx ; 89 d7 3835 3846 cld ; fc 3836 jcxz 01f 46h ; e3 023847 jcxz 01f69h ; e3 02 3837 3848 rep stosw ; f3 ab 3838 jmp near 020 04h ; e9 bb 003839 mov bx, ax ; 89 c3 3840 mov al, byte [bx+046 afh] ; 8a 87 af463849 jmp near 02027h ; e9 bb 00 3850 mov bx, ax ; 89 c3 3851 mov al, byte [bx+046b4h] ; 8a 87 b4 46 3841 3852 mov bx, ax ; 89 c3 3842 3853 sal bx, 006h ; c1 e3 06 3843 mov al, byte [bx+046c 5h] ; 8a 87 c5463854 mov al, byte [bx+046cah] ; 8a 87 ca 46 3844 3855 mov byte [bp-00eh], al ; 88 46 f2 3845 mov al, byte [di+0463 2h] ; 8a 85 32463856 mov al, byte [di+04637h] ; 8a 85 37 46 3846 3857 mov byte [bp-010h], al ; 88 46 f0 3847 3858 dec si ; 4e 3848 3859 cmp si, strict byte 0ffffh ; 83 fe ff 3849 je short 01f 72h ; 74 0a3860 je short 01f95h ; 74 0a 3850 3861 mov al, byte [bp-006h] ; 8a 46 fa 3851 3862 xor ah, ah ; 30 e4 3852 3863 cmp ax, word [bp-016h] ; 3b 46 ea 3853 jc short 01f 75h ; 72 033854 jmp near 020 04h ; e9 8f 003864 jc short 01f98h ; 72 03 3865 jmp near 02027h ; e9 8f 00 3855 3866 mov al, byte [bp-014h] ; 8a 46 ec 3856 3867 mov bx, ax ; 89 c3 3857 3868 sal bx, 003h ; c1 e3 03 3858 mov al, byte [bx+0463 1h] ; 8a 87 31463869 mov al, byte [bx+04636h] ; 8a 87 36 46 3859 3870 cmp AL, strict byte 003h ; 3c 03 3860 jc short 01f 91h ; 72 0c3861 jbe short 01f 97h ; 76 103871 jc short 01fb4h ; 72 0c 3872 jbe short 01fbah ; 76 10 3862 3873 cmp AL, strict byte 005h ; 3c 05 3863 je short 0 1fe5h ; 74 5a3874 je short 02008h ; 74 5a 3864 3875 cmp AL, strict byte 004h ; 3c 04 3865 je short 01f 97h ; 74 083866 jmp short 0 1ffeh ; eb 6d3876 je short 01fbah ; 74 08 3877 jmp short 02021h ; eb 6d 3867 3878 cmp AL, strict byte 002h ; 3c 02 3868 je short 01f c0h ; 74 2b3869 jmp short 0 1ffeh ; eb 673879 je short 01fe3h ; 74 2b 3880 jmp short 02021h ; eb 67 3870 3881 mov bl, byte [bp-00eh] ; 8a 5e f2 3871 3882 xor bh, bh ; 30 ff … … 3884 3895 mov dx, ax ; 89 c2 3885 3896 mov ax, di ; 89 f8 3886 call 01b a1h ; e8 e3 fb3887 jmp short 0 1ffeh ; eb 3e3897 call 01bc4h ; e8 e3 fb 3898 jmp short 02021h ; eb 3e 3888 3899 mov al, byte [bp-010h] ; 8a 46 f0 3889 3900 push ax ; 50 … … 3900 3911 mov bx, ax ; 89 c3 3901 3912 mov ax, di ; 89 f8 3902 call 01c 9ch ; e8 b9 fc3903 jmp short 0 1ffeh ; eb 193913 call 01cbfh ; e8 b9 fc 3914 jmp short 02021h ; eb 19 3904 3915 mov al, byte [bp-016h] ; 8a 46 ea 3905 3916 push ax ; 50 … … 3911 3922 mov dx, ax ; 89 c2 3912 3923 mov al, byte [bp-00ah] ; 8a 46 f6 3913 call 01d d4h ; e8 d6 fd3924 call 01df7h ; e8 d6 fd 3914 3925 inc byte [bp-006h] ; fe 46 fa 3915 jmp near 01f 62h ; e9 5e ff3926 jmp near 01f85h ; e9 5e ff 3916 3927 lea sp, [bp-004h] ; 8d 66 fc 3917 3928 pop di ; 5f … … 3919 3930 pop bp ; 5d 3920 3931 retn ; c3 3921 biosfn_write_char_only_: ; 0xc20 0bLB 0x1963932 biosfn_write_char_only_: ; 0xc202e LB 0x196 3922 3933 push bp ; 55 3923 3934 mov bp, sp ; 89 e5 … … 3931 3942 mov dx, strict word 00049h ; ba 49 00 3932 3943 mov ax, strict word 00040h ; b8 40 00 3933 call 031 65h ; e8 3e 113944 call 03188h ; e8 3e 11 3934 3945 mov bl, al ; 88 c3 3935 3946 xor bh, bh ; 30 ff 3936 3947 mov ax, bx ; 89 d8 3937 call 031 3dh ; e8 0d 113948 call 03160h ; e8 0d 11 3938 3949 mov byte [bp-008h], al ; 88 46 f8 3939 3950 mov byte [bp-00eh], al ; 88 46 f2 3940 3951 cmp AL, strict byte 0ffh ; 3c ff 3941 jne short 020 3dh ; 75 033942 jmp near 021 9ah ; e9 5d 013952 jne short 02060h ; 75 03 3953 jmp near 021bdh ; e9 5d 01 3943 3954 mov bl, byte [bp-00ah] ; 8a 5e f6 3944 3955 mov ax, bx ; 89 d8 3945 3956 lea bx, [bp-01eh] ; 8d 5e e2 3946 3957 lea dx, [bp-01ch] ; 8d 56 e4 3947 call 00a8bh ; e8 40ea3958 call 00a8bh ; e8 1d ea 3948 3959 mov al, byte [bp-01eh] ; 8a 46 e2 3949 3960 mov byte [bp-014h], al ; 88 46 ec … … 3954 3965 mov dx, 00084h ; ba 84 00 3955 3966 mov ax, strict word 00040h ; b8 40 00 3956 call 031 65h ; e8 00 113967 call 03188h ; e8 00 11 3957 3968 mov bl, al ; 88 c3 3958 3969 xor bh, bh ; 30 ff … … 3961 3972 mov dx, strict word 0004ah ; ba 4a 00 3962 3973 mov ax, strict word 00040h ; b8 40 00 3963 call 031 81h ; e8 0b 113974 call 031a4h ; e8 0b 11 3964 3975 mov cx, ax ; 89 c1 3965 3976 mov word [bp-018h], ax ; 89 46 e8 … … 3968 3979 mov di, bx ; 89 df 3969 3980 sal bx, 003h ; c1 e3 03 3970 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 003971 jne short 020 d3h ; 75 473981 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 3982 jne short 020f6h ; 75 47 3972 3983 mul word [bp-01ah] ; f7 66 e6 3973 3984 add ax, ax ; 01 c0 … … 3988 3999 dec si ; 4e 3989 4000 cmp si, strict byte 0ffffh ; 83 fe ff 3990 je short 020 3ah ; 74 854001 je short 0205dh ; 74 85 3991 4002 mov al, byte [bp-006h] ; 8a 46 fa 3992 4003 xor ah, ah ; 30 e4 … … 3995 4006 mov bx, ax ; 89 c3 3996 4007 sal bx, 003h ; c1 e3 03 3997 mov ax, word [bx+0463 3h] ; 8b 87 33464008 mov ax, word [bx+04638h] ; 8b 87 38 46 3998 4009 mov bx, dx ; 89 d3 3999 4010 mov dx, cx ; 89 ca 4000 call 031 73h ; e8 a4 104001 inc cx ; 41 4002 inc cx ; 41 4003 jmp short 020 afh ; eb dc4004 mov al, byte [di+046 afh] ; 8a 85 af464011 call 03196h ; e8 a4 10 4012 inc cx ; 41 4013 inc cx ; 41 4014 jmp short 020d2h ; eb dc 4015 mov al, byte [di+046b4h] ; 8a 85 b4 46 4005 4016 xor ah, ah ; 30 e4 4006 4017 mov di, ax ; 89 c7 4007 4018 sal di, 006h ; c1 e7 06 4008 mov al, byte [di+046c 5h] ; 8a 85 c5464019 mov al, byte [di+046cah] ; 8a 85 ca 46 4009 4020 mov byte [bp-012h], al ; 88 46 ee 4010 mov al, byte [bx+0463 2h] ; 8a 87 32464021 mov al, byte [bx+04637h] ; 8a 87 37 46 4011 4022 mov byte [bp-016h], al ; 88 46 ea 4012 4023 dec si ; 4e 4013 4024 cmp si, strict byte 0ffffh ; 83 fe ff 4014 je short 021 4ah ; 74 584025 je short 0216dh ; 74 58 4015 4026 mov al, byte [bp-014h] ; 8a 46 ec 4016 4027 xor ah, ah ; 30 e4 4017 4028 cmp ax, word [bp-018h] ; 3b 46 e8 4018 jnc short 021 4ah ; 73 4e4029 jnc short 0216dh ; 73 4e 4019 4030 mov al, byte [bp-00eh] ; 8a 46 f2 4020 4031 mov bx, ax ; 89 c3 4021 4032 sal bx, 003h ; c1 e3 03 4022 mov bl, byte [bx+0463 1h] ; 8a 9f 31464033 mov bl, byte [bx+04636h] ; 8a 9f 36 46 4023 4034 cmp bl, 003h ; 80 fb 03 4024 jc short 021 1ch ; 72 0f4025 jbe short 021 23h ; 76 144035 jc short 0213fh ; 72 0f 4036 jbe short 02146h ; 76 14 4026 4037 cmp bl, 005h ; 80 fb 05 4027 je short 021 73h ; 74 5f4038 je short 02196h ; 74 5f 4028 4039 cmp bl, 004h ; 80 fb 04 4029 je short 021 23h ; 74 0a4030 jmp near 021 94h ; e9 78 004040 je short 02146h ; 74 0a 4041 jmp near 021b7h ; e9 78 00 4031 4042 cmp bl, 002h ; 80 fb 02 4032 je short 021 4ch ; 74 2b4033 jmp short 021 94h ; eb 714043 je short 0216fh ; 74 2b 4044 jmp short 021b7h ; eb 71 4034 4045 mov al, byte [bp-012h] ; 8a 46 ee 4035 4046 xor ah, ah ; 30 e4 … … 4047 4058 mov bx, dx ; 89 d3 4048 4059 mov dx, di ; 89 fa 4049 call 01b a1h ; e8 59 fa4050 jmp short 021 94h ; eb 4a4051 jmp short 021 9ah ; eb 4e4060 call 01bc4h ; e8 59 fa 4061 jmp short 021b7h ; eb 4a 4062 jmp short 021bdh ; eb 4e 4052 4063 mov al, byte [bp-016h] ; 8a 46 ea 4053 4064 push ax ; 50 … … 4065 4076 mov bx, ax ; 89 c3 4066 4077 mov ax, di ; 89 f8 4067 call 01c 9ch ; e8 2b fb4068 jmp short 021 94h ; eb 214078 call 01cbfh ; e8 2b fb 4079 jmp short 021b7h ; eb 21 4069 4080 mov al, byte [bp-018h] ; 8a 46 e8 4070 4081 push ax ; 50 … … 4080 4091 mov bx, dx ; 89 d3 4081 4092 mov dx, di ; 89 fa 4082 call 01d d4h ; e8 40 fc4093 call 01df7h ; e8 40 fc 4083 4094 inc byte [bp-014h] ; fe 46 ec 4084 jmp near 02 0ech ; e9 52 ff4095 jmp near 0210fh ; e9 52 ff 4085 4096 lea sp, [bp-004h] ; 8d 66 fc 4086 4097 pop di ; 5f … … 4088 4099 pop bp ; 5d 4089 4100 retn ; c3 4090 biosfn_write_pixel_: ; 0xc21 a1LB 0x17b4101 biosfn_write_pixel_: ; 0xc21c4 LB 0x17b 4091 4102 push bp ; 55 4092 4103 mov bp, sp ; 89 e5 … … 4097 4108 mov dx, strict word 00049h ; ba 49 00 4098 4109 mov ax, strict word 00040h ; b8 40 00 4099 call 031 65h ; e8 ae 0f4110 call 03188h ; e8 ae 0f 4100 4111 mov bl, al ; 88 c3 4101 4112 xor bh, bh ; 30 ff 4102 4113 mov ax, bx ; 89 d8 4103 call 031 3dh ; e8 7d 0f4114 call 03160h ; e8 7d 0f 4104 4115 mov byte [bp-004h], al ; 88 46 fc 4105 4116 cmp AL, strict byte 0ffh ; 3c ff 4106 je short 02 1edh ; 74 264117 je short 02210h ; 74 26 4107 4118 xor ah, ah ; 30 e4 4108 4119 mov bx, ax ; 89 c3 4109 4120 sal bx, 003h ; c1 e3 03 4110 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 004111 je short 02 1edh ; 74 184112 mov al, byte [bx+0463 1h] ; 8a 87 31464121 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 4122 je short 02210h ; 74 18 4123 mov al, byte [bx+04636h] ; 8a 87 36 46 4113 4124 cmp AL, strict byte 003h ; 3c 03 4114 jc short 02 1e9h ; 72 0c4115 jbe short 02 1f3h ; 76 144125 jc short 0220ch ; 72 0c 4126 jbe short 02216h ; 76 14 4116 4127 cmp AL, strict byte 005h ; 3c 05 4117 je short 02 1f0h ; 74 0d4128 je short 02213h ; 74 0d 4118 4129 cmp AL, strict byte 004h ; 3c 04 4119 je short 02 1f3h ; 74 0c4120 jmp short 02 1edh ; eb 044130 je short 02216h ; 74 0c 4131 jmp short 02210h ; eb 04 4121 4132 cmp AL, strict byte 002h ; 3c 02 4122 je short 022 60h ; 74 734123 jmp near 02 2efh ; e9 ff 004124 jmp near 02 2f5h ; e9 02 014133 je short 02283h ; 74 73 4134 jmp near 02312h ; e9 ff 00 4135 jmp near 02318h ; e9 02 01 4125 4136 mov dx, strict word 0004ah ; ba 4a 00 4126 4137 mov ax, strict word 00040h ; b8 40 00 4127 call 031 81h ; e8 85 0f4138 call 031a4h ; e8 85 0f 4128 4139 mov bx, ax ; 89 c3 4129 4140 mov ax, cx ; 89 c8 … … 4148 4159 mov dx, word [bp-008h] ; 8b 56 f8 4149 4160 mov ax, 0a000h ; b8 00 a0 4150 call 031 65h ; e8 31 0f4161 call 03188h ; e8 31 0f 4151 4162 test byte [bp-006h], 080h ; f6 46 fa 80 4152 je short 022 41h ; 74 074163 je short 02264h ; 74 07 4153 4164 mov ax, 01803h ; b8 03 18 4154 4165 mov dx, 003ceh ; ba ce 03 … … 4158 4169 mov dx, word [bp-008h] ; 8b 56 f8 4159 4170 mov ax, 0a000h ; b8 00 a0 4160 call 031 73h ; e8 24 0f4171 call 03196h ; e8 24 0f 4161 4172 mov ax, 0ff08h ; b8 08 ff 4162 4173 mov dx, 003ceh ; ba ce 03 … … 4166 4177 mov ax, strict word 00003h ; b8 03 00 4167 4178 out DX, ax ; ef 4168 jmp short 02 1edh ; eb 8d4179 jmp short 02210h ; eb 8d 4169 4180 mov ax, cx ; 89 c8 4170 4181 shr ax, 1 ; d1 e8 4171 4182 imul ax, ax, strict byte 00050h ; 6b c0 50 4172 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 024173 jne short 022 76h ; 75 084183 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 4184 jne short 02299h ; 75 08 4174 4185 mov bx, word [bp-00ah] ; 8b 5e f6 4175 4186 shr bx, 002h ; c1 eb 02 4176 jmp short 022 7ch ; eb 064187 jmp short 0229fh ; eb 06 4177 4188 mov bx, word [bp-00ah] ; 8b 5e f6 4178 4189 shr bx, 003h ; c1 eb 03 … … 4180 4191 mov word [bp-008h], bx ; 89 5e f8 4181 4192 test cl, 001h ; f6 c1 01 4182 je short 022 8ah ; 74 044193 je short 022adh ; 74 04 4183 4194 add byte [bp-007h], 020h ; 80 46 f9 20 4184 4195 mov dx, word [bp-008h] ; 8b 56 f8 4185 4196 mov ax, 0b800h ; b8 00 b8 4186 call 031 65h ; e8 d2 0e4197 call 03188h ; e8 d2 0e 4187 4198 mov bl, al ; 88 c3 4188 4199 mov al, byte [bp-004h] ; 8a 46 fc … … 4190 4201 mov si, ax ; 89 c6 4191 4202 sal si, 003h ; c1 e6 03 4192 cmp byte [si+0463 2h], 002h ; 80 bc 3246 024193 jne short 022 bfh ; 75 194203 cmp byte [si+04637h], 002h ; 80 bc 37 46 02 4204 jne short 022e2h ; 75 19 4194 4205 mov al, byte [bp-00ah] ; 8a 46 f6 4195 4206 and AL, strict byte 003h ; 24 03 … … 4202 4213 sal bh, CL ; d2 e7 4203 4214 mov AL, strict byte 003h ; b0 03 4204 jmp short 022 d2h ; eb 134215 jmp short 022f5h ; eb 13 4205 4216 mov al, byte [bp-00ah] ; 8a 46 f6 4206 4217 and AL, strict byte 007h ; 24 07 … … 4213 4224 sal al, CL ; d2 e0 4214 4225 test byte [bp-006h], 080h ; f6 46 fa 80 4215 je short 02 2deh ; 74 044226 je short 02301h ; 74 04 4216 4227 xor bl, bh ; 30 fb 4217 jmp short 02 2e4h ; eb 064228 jmp short 02307h ; eb 06 4218 4229 not al ; f6 d0 4219 4230 and bl, al ; 20 c3 … … 4222 4233 mov dx, word [bp-008h] ; 8b 56 f8 4223 4234 mov ax, 0b800h ; b8 00 b8 4224 call 031 73h ; e8 84 0e4235 call 03196h ; e8 84 0e 4225 4236 lea sp, [bp-002h] ; 8d 66 fe 4226 4237 pop si ; 5e … … 4229 4240 mov dx, strict word 0004ah ; ba 4a 00 4230 4241 mov ax, strict word 00040h ; b8 40 00 4231 call 031 81h ; e8 83 0e4242 call 031a4h ; e8 83 0e 4232 4243 mov bx, ax ; 89 c3 4233 4244 sal bx, 003h ; c1 e3 03 … … 4241 4252 mov dx, word [bp-008h] ; 8b 56 f8 4242 4253 mov ax, 0a000h ; b8 00 a0 4243 jmp short 02 2ech ; eb d04244 biosfn_write_teletype_: ; 0xc23 1cLB 0x26f4254 jmp short 0230fh ; eb d0 4255 biosfn_write_teletype_: ; 0xc233f LB 0x26f 4245 4256 push bp ; 55 4246 4257 mov bp, sp ; 89 e5 … … 4253 4264 mov byte [bp-014h], cl ; 88 4e ec 4254 4265 cmp dl, 0ffh ; 80 fa ff 4255 jne short 023 41h ; 75 0c4266 jne short 02364h ; 75 0c 4256 4267 mov dx, strict word 00062h ; ba 62 00 4257 4268 mov ax, strict word 00040h ; b8 40 00 4258 call 031 65h ; e8 27 0e4269 call 03188h ; e8 27 0e 4259 4270 mov byte [bp-016h], al ; 88 46 ea 4260 4271 mov dx, strict word 00049h ; ba 49 00 4261 4272 mov ax, strict word 00040h ; b8 40 00 4262 call 031 65h ; e8 1b 0e4273 call 03188h ; e8 1b 0e 4263 4274 mov bl, al ; 88 c3 4264 4275 xor bh, bh ; 30 ff 4265 4276 mov ax, bx ; 89 d8 4266 call 031 3dh ; e8 ea 0d4277 call 03160h ; e8 ea 0d 4267 4278 mov byte [bp-008h], al ; 88 46 f8 4268 4279 cmp AL, strict byte 0ffh ; 3c ff 4269 je short 023 c2h ; 74 684280 je short 023e5h ; 74 68 4270 4281 mov bl, byte [bp-016h] ; 8a 5e ea 4271 4282 mov ax, bx ; 89 d8 4272 4283 lea bx, [bp-01eh] ; 8d 5e e2 4273 4284 lea dx, [bp-01ch] ; 8d 56 e4 4274 call 00a8bh ; e8 23e74285 call 00a8bh ; e8 00 e7 4275 4286 mov al, byte [bp-01eh] ; 8a 46 e2 4276 4287 mov byte [bp-00ch], al ; 88 46 f4 … … 4281 4292 mov dx, 00084h ; ba 84 00 4282 4293 mov ax, strict word 00040h ; b8 40 00 4283 call 031 65h ; e8 e3 0d4294 call 03188h ; e8 e3 0d 4284 4295 mov bl, al ; 88 c3 4285 4296 xor bh, bh ; 30 ff … … 4288 4299 mov dx, strict word 0004ah ; ba 4a 00 4289 4300 mov ax, strict word 00040h ; b8 40 00 4290 call 031 81h ; e8 ee 0d4301 call 031a4h ; e8 ee 0d 4291 4302 mov word [bp-018h], ax ; 89 46 e8 4292 4303 mov al, byte [bp-00eh] ; 8a 46 f2 4293 4304 cmp AL, strict byte 008h ; 3c 08 4294 jc short 023 a9h ; 72 0c4295 jbe short 023 b0h ; 76 114305 jc short 023cch ; 72 0c 4306 jbe short 023d3h ; 76 11 4296 4307 cmp AL, strict byte 00dh ; 3c 0d 4297 je short 023 bbh ; 74 184308 je short 023deh ; 74 18 4298 4309 cmp AL, strict byte 00ah ; 3c 0a 4299 je short 023 c5h ; 74 1e4300 jmp short 023 c8h ; eb 1f4310 je short 023e8h ; 74 1e 4311 jmp short 023ebh ; eb 1f 4301 4312 cmp AL, strict byte 007h ; 3c 07 4302 jne short 023 c8h ; 75 1b4303 jmp near 024 d0h ; e9 20 014313 jne short 023ebh ; 75 1b 4314 jmp near 024f3h ; e9 20 01 4304 4315 cmp byte [bp-00ch], 000h ; 80 7e f4 00 4305 jbe short 023 bfh ; 76 094316 jbe short 023e2h ; 76 09 4306 4317 dec byte [bp-00ch] ; fe 4e f4 4307 jmp short 023 bfh ; eb 044318 jmp short 023e2h ; eb 04 4308 4319 mov byte [bp-00ch], 000h ; c6 46 f4 00 4309 jmp near 024 d0h ; e9 0e 014310 jmp near 025 84h ; e9 bf 014311 jmp near 024 cdh ; e9 05 014320 jmp near 024f3h ; e9 0e 01 4321 jmp near 025a7h ; e9 bf 01 4322 jmp near 024f0h ; e9 05 01 4312 4323 mov bl, byte [bp-008h] ; 8a 5e f8 4313 4324 xor bh, bh ; 30 ff 4314 4325 mov si, bx ; 89 de 4315 4326 sal si, 003h ; c1 e6 03 4316 cmp byte [si+0463 0h], 000h ; 80 bc 3046 004317 jne short 024 27h ; 75 4e4327 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 4328 jne short 0244ah ; 75 4e 4318 4329 mov ax, word [bp-018h] ; 8b 46 e8 4319 4330 mul word [bp-01ah] ; f7 66 e6 … … 4336 4347 add cx, ax ; 01 c1 4337 4348 mov bl, byte [bp-00eh] ; 8a 5e f2 4338 mov ax, word [si+0463 3h] ; 8b 84 33464349 mov ax, word [si+04638h] ; 8b 84 38 46 4339 4350 mov dx, cx ; 89 ca 4340 call 031 73h ; e8 63 0d4351 call 03196h ; e8 63 0d 4341 4352 cmp byte [bp-014h], 003h ; 80 7e ec 03 4342 jne short 024 70h ; 75 5a4353 jne short 02493h ; 75 5a 4343 4354 mov bl, byte [bp-010h] ; 8a 5e f0 4344 4355 xor bh, bh ; 30 ff 4345 4356 mov dx, cx ; 89 ca 4346 4357 inc dx ; 42 4347 mov ax, word [si+0463 3h] ; 8b 84 33464348 call 031 73h ; e8 4e 0d4349 jmp short 024 70h ; eb 494350 mov bl, byte [bx+046 afh] ; 8a 9f af464358 mov ax, word [si+04638h] ; 8b 84 38 46 4359 call 03196h ; e8 4e 0d 4360 jmp short 02493h ; eb 49 4361 mov bl, byte [bx+046b4h] ; 8a 9f b4 46 4351 4362 sal bx, 006h ; c1 e3 06 4352 mov al, byte [bx+046c 5h] ; 8a 87 c5464353 mov ah, byte [si+0463 2h] ; 8a a4 32464354 mov cl, byte [si+0463 1h] ; 8a 8c 31464363 mov al, byte [bx+046cah] ; 8a 87 ca 46 4364 mov ah, byte [si+04637h] ; 8a a4 37 46 4365 mov cl, byte [si+04636h] ; 8a 8c 36 46 4355 4366 cmp cl, 003h ; 80 f9 03 4356 jc short 024 4dh ; 72 0e4357 jbe short 024 54h ; 76 134367 jc short 02470h ; 72 0e 4368 jbe short 02477h ; 76 13 4358 4369 cmp cl, 005h ; 80 f9 05 4359 je short 024 9ah ; 74 544370 je short 024bdh ; 74 54 4360 4371 cmp cl, 004h ; 80 f9 04 4361 je short 024 54h ; 74 094362 jmp short 024 bdh ; eb 704372 je short 02477h ; 74 09 4373 jmp short 024e0h ; eb 70 4363 4374 cmp cl, 002h ; 80 f9 02 4364 je short 024 72h ; 74 204365 jmp short 024 bdh ; eb 694375 je short 02495h ; 74 20 4376 jmp short 024e0h ; eb 69 4366 4377 xor ah, ah ; 30 e4 4367 4378 push ax ; 50 … … 4375 4386 xor dh, dh ; 30 f6 4376 4387 mov al, byte [bp-00eh] ; 8a 46 f2 4377 call 01b a1h ; e8 31 f74378 jmp short 024 bdh ; eb 4b4388 call 01bc4h ; e8 31 f7 4389 jmp short 024e0h ; eb 4b 4379 4390 mov al, ah ; 88 e0 4380 4391 xor ah, ah ; 30 e4 … … 4393 4404 mov dx, ax ; 89 c2 4394 4405 mov ax, di ; 89 f8 4395 call 01c 9ch ; e8 04 f84396 jmp short 024 bdh ; eb 234406 call 01cbfh ; e8 04 f8 4407 jmp short 024e0h ; eb 23 4397 4408 mov al, byte [bp-018h] ; 8a 46 e8 4398 4409 xor ah, ah ; 30 e4 … … 4409 4420 mov bx, ax ; 89 c3 4410 4421 mov ax, si ; 89 f0 4411 call 01d d4h ; e8 17 f94422 call 01df7h ; e8 17 f9 4412 4423 inc byte [bp-00ch] ; fe 46 f4 4413 4424 mov bl, byte [bp-00ch] ; 8a 5e f4 4414 4425 xor bh, bh ; 30 ff 4415 4426 cmp bx, word [bp-018h] ; 3b 5e e8 4416 jne short 024 d0h ; 75 064427 jne short 024f3h ; 75 06 4417 4428 mov byte [bp-00ch], bh ; 88 7e f4 4418 4429 inc byte [bp-006h] ; fe 46 fa … … 4421 4432 mov ax, word [bp-01ah] ; 8b 46 e6 4422 4433 cmp bx, ax ; 39 c3 4423 jne short 025 47h ; 75 6b4434 jne short 0256ah ; 75 6b 4424 4435 mov bl, byte [bp-008h] ; 8a 5e f8 4425 4436 xor bh, ah ; 30 e7 … … 4434 4445 ; dec al ; fe c8 4435 4446 mov byte [bp-00ah], al ; 88 46 f6 4436 cmp byte [si+0463 0h], 000h ; 80 bc 3046 004437 jne short 025 49h ; 75 4c4447 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 4448 jne short 0256ch ; 75 4c 4438 4449 mov ax, word [bp-018h] ; 8b 46 e8 4439 4450 mul word [bp-01ah] ; f7 66 e6 … … 4455 4466 add dx, ax ; 01 c2 4456 4467 inc dx ; 42 4457 mov ax, word [si+0463 3h] ; 8b 84 33464458 call 031 65h ; e8 36 0c4468 mov ax, word [si+04638h] ; 8b 84 38 46 4469 call 03188h ; e8 36 0c 4459 4470 push strict byte 00001h ; 6a 01 4460 4471 mov bl, byte [bp-016h] ; 8a 5e ea … … 4468 4479 xor cx, cx ; 31 c9 4469 4480 xor bl, al ; 30 c3 4470 jmp short 025 5eh ; eb 174471 jmp short 025 67h ; eb 1e4481 jmp short 02581h ; eb 17 4482 jmp short 0258ah ; eb 1e 4472 4483 push strict byte 00001h ; 6a 01 4473 4484 mov bl, byte [bp-016h] ; 8a 5e ea … … 4482 4493 xor dx, dx ; 31 d2 4483 4494 mov ax, strict word 00001h ; b8 01 00 4484 call 016 47h ; e8 e3 f04495 call 0166ah ; e8 e3 f0 4485 4496 dec byte [bp-006h] ; fe 4e fa 4486 4497 mov bl, byte [bp-006h] ; 8a 5e fa … … 4493 4504 mov bl, byte [bp-016h] ; 8a 5e ea 4494 4505 mov ax, bx ; 89 d8 4495 call 00e79h ; e8 f5e84506 call 00e79h ; e8 d2 e8 4496 4507 lea sp, [bp-004h] ; 8d 66 fc 4497 4508 pop di ; 5f … … 4499 4510 pop bp ; 5d 4500 4511 retn ; c3 4501 get_font_access_: ; 0xc25 8bLB 0x2c4512 get_font_access_: ; 0xc25ae LB 0x2c 4502 4513 push bp ; 55 4503 4514 mov bp, sp ; 89 e5 … … 4523 4534 pop bp ; 5d 4524 4535 retn ; c3 4525 release_font_access_: ; 0xc25 b7LB 0x3c4536 release_font_access_: ; 0xc25da LB 0x3c 4526 4537 push bp ; 55 4527 4538 mov bp, sp ; 89 e5 … … 4555 4566 pop bp ; 5d 4556 4567 retn ; c3 4557 set_scan_lines_: ; 0xc2 5f3LB 0xc24568 set_scan_lines_: ; 0xc2616 LB 0xc2 4558 4569 push bp ; 55 4559 4570 mov bp, sp ; 89 e5 … … 4566 4577 mov dx, strict word 00063h ; ba 63 00 4567 4578 mov ax, strict word 00040h ; b8 40 00 4568 call 031 81h ; e8 7b 0b4579 call 031a4h ; e8 7b 0b 4569 4580 mov dx, ax ; 89 c2 4570 4581 mov si, ax ; 89 c6 … … 4583 4594 out DX, AL ; ee 4584 4595 cmp bl, 008h ; 80 fb 08 4585 jne short 026 2ah ; 75 084596 jne short 0264dh ; 75 08 4586 4597 mov dx, strict word 00007h ; ba 07 00 4587 4598 mov ax, strict word 00006h ; b8 06 00 4588 jmp short 026 37h ; eb 0d4599 jmp short 0265ah ; eb 0d 4589 4600 mov dl, bl ; 88 da 4590 4601 sub dl, 003h ; 80 ea 03 … … 4593 4604 sub AL, strict byte 004h ; 2c 04 4594 4605 xor ah, ah ; 30 e4 4595 call 00dcbh ; e8 91e74606 call 00dcbh ; e8 6e e7 4596 4607 mov cl, bl ; 88 d9 4597 4608 xor ch, ch ; 30 ed … … 4599 4610 mov dx, 00085h ; ba 85 00 4600 4611 mov ax, strict word 00040h ; b8 40 00 4601 call 031 8fh ; e8 46 0b4612 call 031b2h ; e8 46 0b 4602 4613 mov AL, strict byte 012h ; b0 12 4603 4614 mov dx, si ; 89 f2 … … 4635 4646 mov dx, 00084h ; ba 84 00 4636 4647 mov ax, strict word 00040h ; b8 40 00 4637 call 031 73h ; e8 e6 0a4648 call 03196h ; e8 e6 0a 4638 4649 mov dx, strict word 0004ah ; ba 4a 00 4639 4650 mov ax, strict word 00040h ; b8 40 00 4640 call 031 81h ; e8 eb 0a4651 call 031a4h ; e8 eb 0a 4641 4652 mov dx, ax ; 89 c2 4642 4653 mov al, cl ; 88 c8 … … 4647 4658 mov dx, strict word 0004ch ; ba 4c 00 4648 4659 mov ax, strict word 00040h ; b8 40 00 4649 call 031 8fh ; e8 e4 0a4660 call 031b2h ; e8 e4 0a 4650 4661 lea sp, [bp-00ah] ; 8d 66 f6 4651 4662 pop di ; 5f … … 4656 4667 pop bp ; 5d 4657 4668 retn ; c3 4658 biosfn_load_text_user_pat_: ; 0xc26 b5LB 0x804669 biosfn_load_text_user_pat_: ; 0xc26d8 LB 0x80 4659 4670 push bp ; 55 4660 4671 mov bp, sp ; 89 e5 … … 4666 4677 mov word [bp-00ah], bx ; 89 5e f6 4667 4678 mov word [bp-00eh], cx ; 89 4e f2 4668 call 025 8bh ; e8 bf fe4679 call 025aeh ; e8 bf fe 4669 4680 mov al, byte [bp+006h] ; 8a 46 06 4670 4681 and AL, strict byte 003h ; 24 03 … … 4679 4690 xor bx, bx ; 31 db 4680 4691 cmp bx, word [bp-00eh] ; 3b 5e f2 4681 jnc short 027 1bh ; 73 2f4692 jnc short 0273eh ; 73 2f 4682 4693 mov cl, byte [bp+008h] ; 8a 4e 08 4683 4694 xor ch, ch ; 30 ed … … 4695 4706 mov es, ax ; 8e c0 4696 4707 cld ; fc 4697 jcxz 027 18h ; e3 064708 jcxz 0273bh ; e3 06 4698 4709 push DS ; 1e 4699 4710 mov ds, dx ; 8e da … … 4701 4712 pop DS ; 1f 4702 4713 inc bx ; 43 4703 jmp short 02 6e7h ; eb cc4704 call 025 b7h ; e8 99 fe4714 jmp short 0270ah ; eb cc 4715 call 025dah ; e8 99 fe 4705 4716 cmp byte [bp-006h], 010h ; 80 7e fa 10 4706 jc short 027 2ch ; 72 084717 jc short 0274fh ; 72 08 4707 4718 mov al, byte [bp+008h] ; 8a 46 08 4708 4719 xor ah, ah ; 30 e4 4709 call 02 5f3h ; e8 c7 fe4720 call 02616h ; e8 c7 fe 4710 4721 lea sp, [bp-004h] ; 8d 66 fc 4711 4722 pop di ; 5f … … 4713 4724 pop bp ; 5d 4714 4725 retn 00006h ; c2 06 00 4715 biosfn_load_text_8_14_pat_: ; 0xc27 35LB 0x6e4726 biosfn_load_text_8_14_pat_: ; 0xc2758 LB 0x6e 4716 4727 push bp ; 55 4717 4728 mov bp, sp ; 89 e5 … … 4723 4734 push ax ; 50 4724 4735 mov byte [bp-00ah], al ; 88 46 f6 4725 call 025 8bh ; e8 47 fe4736 call 025aeh ; e8 47 fe 4726 4737 mov al, dl ; 88 d0 4727 4738 and AL, strict byte 003h ; 24 03 … … 4735 4746 mov word [bp-00ch], bx ; 89 5e f4 4736 4747 xor bx, bx ; 31 db 4737 jmp short 027 65h ; eb 064748 jmp short 02788h ; eb 06 4738 4749 cmp bx, 00100h ; 81 fb 00 01 4739 jnc short 027 8bh ; 73 264750 jnc short 027aeh ; 73 26 4740 4751 imul si, bx, strict byte 0000eh ; 6b f3 0e 4741 4752 mov di, bx ; 89 df 4742 4753 sal di, 005h ; c1 e7 05 4743 4754 add di, word [bp-00ch] ; 03 7e f4 4744 add si, 05b edh ; 81 c6 ed5b4755 add si, 05bf2h ; 81 c6 f2 5b 4745 4756 mov cx, strict word 0000eh ; b9 0e 00 4746 4757 mov dx, 0c000h ; ba 00 c0 … … 4748 4759 mov es, ax ; 8e c0 4749 4760 cld ; fc 4750 jcxz 027 88h ; e3 064761 jcxz 027abh ; e3 06 4751 4762 push DS ; 1e 4752 4763 mov ds, dx ; 8e da … … 4754 4765 pop DS ; 1f 4755 4766 inc bx ; 43 4756 jmp short 027 5fh ; eb d44757 call 025 b7h ; e8 29 fe4767 jmp short 02782h ; eb d4 4768 call 025dah ; e8 29 fe 4758 4769 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4759 jc short 027 9ah ; 72 064770 jc short 027bdh ; 72 06 4760 4771 mov ax, strict word 0000eh ; b8 0e 00 4761 call 02 5f3h ; e8 59 fe4772 call 02616h ; e8 59 fe 4762 4773 lea sp, [bp-008h] ; 8d 66 f8 4763 4774 pop di ; 5f … … 4767 4778 pop bp ; 5d 4768 4779 retn ; c3 4769 biosfn_load_text_8_8_pat_: ; 0xc27 a3LB 0x704780 biosfn_load_text_8_8_pat_: ; 0xc27c6 LB 0x70 4770 4781 push bp ; 55 4771 4782 mov bp, sp ; 89 e5 … … 4777 4788 push ax ; 50 4778 4789 mov byte [bp-00ah], al ; 88 46 f6 4779 call 025 8bh ; e8 d9 fd4790 call 025aeh ; e8 d9 fd 4780 4791 mov al, dl ; 88 d0 4781 4792 and AL, strict byte 003h ; 24 03 … … 4789 4800 mov word [bp-00ch], bx ; 89 5e f4 4790 4801 xor bx, bx ; 31 db 4791 jmp short 027 d3h ; eb 064802 jmp short 027f6h ; eb 06 4792 4803 cmp bx, 00100h ; 81 fb 00 01 4793 jnc short 02 7fbh ; 73 284804 jnc short 0281eh ; 73 28 4794 4805 mov si, bx ; 89 de 4795 4806 sal si, 003h ; c1 e6 03 … … 4797 4808 sal di, 005h ; c1 e7 05 4798 4809 add di, word [bp-00ch] ; 03 7e f4 4799 add si, 053 edh ; 81 c6 ed534810 add si, 053f2h ; 81 c6 f2 53 4800 4811 mov cx, strict word 00008h ; b9 08 00 4801 4812 mov dx, 0c000h ; ba 00 c0 … … 4803 4814 mov es, ax ; 8e c0 4804 4815 cld ; fc 4805 jcxz 02 7f8h ; e3 064816 jcxz 0281bh ; e3 06 4806 4817 push DS ; 1e 4807 4818 mov ds, dx ; 8e da … … 4809 4820 pop DS ; 1f 4810 4821 inc bx ; 43 4811 jmp short 027 cdh ; eb d24812 call 025 b7h ; e8 b9 fd4822 jmp short 027f0h ; eb d2 4823 call 025dah ; e8 b9 fd 4813 4824 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4814 jc short 028 0ah ; 72 064825 jc short 0282dh ; 72 06 4815 4826 mov ax, strict word 00008h ; b8 08 00 4816 call 02 5f3h ; e8 e9 fd4827 call 02616h ; e8 e9 fd 4817 4828 lea sp, [bp-008h] ; 8d 66 f8 4818 4829 pop di ; 5f … … 4822 4833 pop bp ; 5d 4823 4834 retn ; c3 4824 biosfn_load_text_8_16_pat_: ; 0xc28 13LB 0x704835 biosfn_load_text_8_16_pat_: ; 0xc2836 LB 0x70 4825 4836 push bp ; 55 4826 4837 mov bp, sp ; 89 e5 … … 4832 4843 push ax ; 50 4833 4844 mov byte [bp-00ah], al ; 88 46 f6 4834 call 025 8bh ; e8 69 fd4845 call 025aeh ; e8 69 fd 4835 4846 mov al, dl ; 88 d0 4836 4847 and AL, strict byte 003h ; 24 03 … … 4844 4855 mov word [bp-00ch], bx ; 89 5e f4 4845 4856 xor bx, bx ; 31 db 4846 jmp short 028 43h ; eb 064857 jmp short 02866h ; eb 06 4847 4858 cmp bx, 00100h ; 81 fb 00 01 4848 jnc short 028 6bh ; 73 284859 jnc short 0288eh ; 73 28 4849 4860 mov si, bx ; 89 de 4850 4861 sal si, 004h ; c1 e6 04 … … 4852 4863 sal di, 005h ; c1 e7 05 4853 4864 add di, word [bp-00ch] ; 03 7e f4 4854 add si, 069 edh ; 81 c6 ed694865 add si, 069f2h ; 81 c6 f2 69 4855 4866 mov cx, strict word 00010h ; b9 10 00 4856 4867 mov dx, 0c000h ; ba 00 c0 … … 4858 4869 mov es, ax ; 8e c0 4859 4870 cld ; fc 4860 jcxz 028 68h ; e3 064871 jcxz 0288bh ; e3 06 4861 4872 push DS ; 1e 4862 4873 mov ds, dx ; 8e da … … 4864 4875 pop DS ; 1f 4865 4876 inc bx ; 43 4866 jmp short 028 3dh ; eb d24867 call 025 b7h ; e8 49 fd4877 jmp short 02860h ; eb d2 4878 call 025dah ; e8 49 fd 4868 4879 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4869 jc short 028 7ah ; 72 064880 jc short 0289dh ; 72 06 4870 4881 mov ax, strict word 00010h ; b8 10 00 4871 call 02 5f3h ; e8 79 fd4882 call 02616h ; e8 79 fd 4872 4883 lea sp, [bp-008h] ; 8d 66 f8 4873 4884 pop di ; 5f … … 4877 4888 pop bp ; 5d 4878 4889 retn ; c3 4879 biosfn_load_gfx_8_8_chars_: ; 0xc28 83LB 0x54890 biosfn_load_gfx_8_8_chars_: ; 0xc28a6 LB 0x5 4880 4891 push bp ; 55 4881 4892 mov bp, sp ; 89 e5 4882 4893 pop bp ; 5d 4883 4894 retn ; c3 4884 biosfn_load_gfx_user_chars_: ; 0xc28 88LB 0x74895 biosfn_load_gfx_user_chars_: ; 0xc28ab LB 0x7 4885 4896 push bp ; 55 4886 4897 mov bp, sp ; 89 e5 4887 4898 pop bp ; 5d 4888 4899 retn 00002h ; c2 02 00 4889 biosfn_load_gfx_8_14_chars_: ; 0xc28 8fLB 0x54900 biosfn_load_gfx_8_14_chars_: ; 0xc28b2 LB 0x5 4890 4901 push bp ; 55 4891 4902 mov bp, sp ; 89 e5 4892 4903 pop bp ; 5d 4893 4904 retn ; c3 4894 biosfn_load_gfx_8_8_dd_chars_: ; 0xc28 94LB 0x54905 biosfn_load_gfx_8_8_dd_chars_: ; 0xc28b7 LB 0x5 4895 4906 push bp ; 55 4896 4907 mov bp, sp ; 89 e5 4897 4908 pop bp ; 5d 4898 4909 retn ; c3 4899 biosfn_load_gfx_8_16_chars_: ; 0xc28 99LB 0x54910 biosfn_load_gfx_8_16_chars_: ; 0xc28bc LB 0x5 4900 4911 push bp ; 55 4901 4912 mov bp, sp ; 89 e5 4902 4913 pop bp ; 5d 4903 4914 retn ; c3 4904 biosfn_alternate_prtsc_: ; 0xc28 9eLB 0x54915 biosfn_alternate_prtsc_: ; 0xc28c1 LB 0x5 4905 4916 push bp ; 55 4906 4917 mov bp, sp ; 89 e5 4907 4918 pop bp ; 5d 4908 4919 retn ; c3 4909 biosfn_switch_video_interface_: ; 0xc28 a3LB 0x54920 biosfn_switch_video_interface_: ; 0xc28c6 LB 0x5 4910 4921 push bp ; 55 4911 4922 mov bp, sp ; 89 e5 4912 4923 pop bp ; 5d 4913 4924 retn ; c3 4914 biosfn_enable_video_refresh_control_: ; 0xc28 a8LB 0x54925 biosfn_enable_video_refresh_control_: ; 0xc28cb LB 0x5 4915 4926 push bp ; 55 4916 4927 mov bp, sp ; 89 e5 4917 4928 pop bp ; 5d 4918 4929 retn ; c3 4919 biosfn_write_string_: ; 0xc28 adLB 0xa24930 biosfn_write_string_: ; 0xc28d0 LB 0xa2 4920 4931 push bp ; 55 4921 4932 mov bp, sp ; 89 e5 … … 4932 4943 lea bx, [bp-00eh] ; 8d 5e f2 4933 4944 lea dx, [bp-00ch] ; 8d 56 f4 4934 call 00a8bh ; e8 bbe14945 call 00a8bh ; e8 98 e1 4935 4946 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4936 jne short 02 8e7h ; 75 114947 jne short 0290ah ; 75 11 4937 4948 mov al, byte [bp-00eh] ; 8a 46 f2 4938 4949 mov byte [bp+006h], al ; 88 46 06 … … 4948 4959 add dx, ax ; 01 c2 4949 4960 mov al, byte [bp-00ah] ; 8a 46 f6 4950 call 00e79h ; e8 7de54961 call 00e79h ; e8 5a e5 4951 4962 dec si ; 4e 4952 4963 cmp si, strict byte 0ffffh ; 83 fe ff 4953 je short 029 35h ; 74 334964 je short 02958h ; 74 33 4954 4965 mov dx, di ; 89 fa 4955 4966 inc di ; 47 4956 4967 mov ax, word [bp+008h] ; 8b 46 08 4957 call 031 65h ; e8 5a 084968 call 03188h ; e8 5a 08 4958 4969 mov cl, al ; 88 c1 4959 4970 test byte [bp-006h], 002h ; f6 46 fa 02 4960 je short 029 1fh ; 74 0c4971 je short 02942h ; 74 0c 4961 4972 mov dx, di ; 89 fa 4962 4973 inc di ; 47 4963 4974 mov ax, word [bp+008h] ; 8b 46 08 4964 call 031 65h ; e8 49 084975 call 03188h ; e8 49 08 4965 4976 mov byte [bp-008h], al ; 88 46 f8 4966 4977 mov al, byte [bp-008h] ; 8a 46 f8 … … 4971 4982 mov al, cl ; 88 c8 4972 4983 mov cx, strict word 00003h ; b9 03 00 4973 call 023 1ch ; e8 e9 f94974 jmp short 02 8fch ; eb c74984 call 0233fh ; e8 e9 f9 4985 jmp short 0291fh ; eb c7 4975 4986 test byte [bp-006h], 001h ; f6 46 fa 01 4976 jne short 029 46h ; 75 0b4987 jne short 02969h ; 75 0b 4977 4988 mov dx, word [bp-00eh] ; 8b 56 f2 4978 4989 mov al, byte [bp-00ah] ; 8a 46 f6 4979 4990 xor ah, ah ; 30 e4 4980 call 00e79h ; e8 33e54991 call 00e79h ; e8 10 e5 4981 4992 lea sp, [bp-004h] ; 8d 66 fc 4982 4993 pop di ; 5f … … 4984 4995 pop bp ; 5d 4985 4996 retn 00008h ; c2 08 00 4986 biosfn_read_state_info_: ; 0xc29 4fLB 0x1024997 biosfn_read_state_info_: ; 0xc2972 LB 0x102 4987 4998 push bp ; 55 4988 4999 mov bp, sp ; 89 e5 … … 4993 5004 push bx ; 53 4994 5005 mov cx, ds ; 8c d9 4995 mov bx, 0538 3h ; bb 83535006 mov bx, 05388h ; bb 88 53 4996 5007 mov dx, word [bp-00ah] ; 8b 56 f6 4997 5008 mov ax, word [bp-008h] ; 8b 46 f8 4998 call 031 afh ; e8 4a 085009 call 031d2h ; e8 4a 08 4999 5010 mov di, word [bp-00ah] ; 8b 7e f6 5000 5011 add di, strict byte 00004h ; 83 c7 04 … … 5004 5015 mov es, [bp-008h] ; 8e 46 f8 5005 5016 cld ; fc 5006 jcxz 029 80h ; e3 065017 jcxz 029a3h ; e3 06 5007 5018 push DS ; 1e 5008 5019 mov ds, dx ; 8e da … … 5016 5027 mov es, [bp-008h] ; 8e 46 f8 5017 5028 cld ; fc 5018 jcxz 029 9bh ; e3 065029 jcxz 029beh ; e3 06 5019 5030 push DS ; 1e 5020 5031 mov ds, dx ; 8e da … … 5023 5034 mov dx, 0008ah ; ba 8a 00 5024 5035 mov ax, strict word 00040h ; b8 40 00 5025 call 031 65h ; e8 c1 075036 call 03188h ; e8 c1 07 5026 5037 mov bl, al ; 88 c3 5027 5038 xor bh, bh ; 30 ff … … 5029 5040 add dx, strict byte 00025h ; 83 c2 25 5030 5041 mov ax, word [bp-008h] ; 8b 46 f8 5031 call 031 73h ; e8 bf 075042 call 03196h ; e8 bf 07 5032 5043 mov dx, word [bp-00ah] ; 8b 56 f6 5033 5044 add dx, strict byte 00026h ; 83 c2 26 5034 5045 xor bx, bx ; 31 db 5035 5046 mov ax, word [bp-008h] ; 8b 46 f8 5036 call 031 73h ; e8 b1 075047 call 03196h ; e8 b1 07 5037 5048 mov dx, word [bp-00ah] ; 8b 56 f6 5038 5049 add dx, strict byte 00027h ; 83 c2 27 5039 5050 mov bx, strict word 00010h ; bb 10 00 5040 5051 mov ax, word [bp-008h] ; 8b 46 f8 5041 call 031 73h ; e8 a2 075052 call 03196h ; e8 a2 07 5042 5053 mov dx, word [bp-00ah] ; 8b 56 f6 5043 5054 add dx, strict byte 00028h ; 83 c2 28 5044 5055 xor bx, bx ; 31 db 5045 5056 mov ax, word [bp-008h] ; 8b 46 f8 5046 call 031 73h ; e8 94 075057 call 03196h ; e8 94 07 5047 5058 mov dx, word [bp-00ah] ; 8b 56 f6 5048 5059 add dx, strict byte 00029h ; 83 c2 29 5049 5060 mov bx, strict word 00008h ; bb 08 00 5050 5061 mov ax, word [bp-008h] ; 8b 46 f8 5051 call 031 73h ; e8 85 075062 call 03196h ; e8 85 07 5052 5063 mov dx, word [bp-00ah] ; 8b 56 f6 5053 5064 add dx, strict byte 0002ah ; 83 c2 2a 5054 5065 mov bx, strict word 00002h ; bb 02 00 5055 5066 mov ax, word [bp-008h] ; 8b 46 f8 5056 call 031 73h ; e8 76 075067 call 03196h ; e8 76 07 5057 5068 mov dx, word [bp-00ah] ; 8b 56 f6 5058 5069 add dx, strict byte 0002bh ; 83 c2 2b 5059 5070 xor bx, bx ; 31 db 5060 5071 mov ax, word [bp-008h] ; 8b 46 f8 5061 call 031 73h ; e8 68 075072 call 03196h ; e8 68 07 5062 5073 mov dx, word [bp-00ah] ; 8b 56 f6 5063 5074 add dx, strict byte 0002ch ; 83 c2 2c 5064 5075 xor bx, bx ; 31 db 5065 5076 mov ax, word [bp-008h] ; 8b 46 f8 5066 call 031 73h ; e8 5a 075077 call 03196h ; e8 5a 07 5067 5078 mov dx, word [bp-00ah] ; 8b 56 f6 5068 5079 add dx, strict byte 00031h ; 83 c2 31 5069 5080 mov bx, strict word 00003h ; bb 03 00 5070 5081 mov ax, word [bp-008h] ; 8b 46 f8 5071 call 031 73h ; e8 4b 075082 call 03196h ; e8 4b 07 5072 5083 mov dx, word [bp-00ah] ; 8b 56 f6 5073 5084 add dx, strict byte 00032h ; 83 c2 32 5074 5085 xor bx, bx ; 31 db 5075 5086 mov ax, word [bp-008h] ; 8b 46 f8 5076 call 031 73h ; e8 3d 075087 call 03196h ; e8 3d 07 5077 5088 mov di, word [bp-00ah] ; 8b 7e f6 5078 5089 add di, strict byte 00033h ; 83 c7 33 … … 5081 5092 mov es, [bp-008h] ; 8e 46 f8 5082 5093 cld ; fc 5083 jcxz 02a 49h ; e3 025094 jcxz 02a6ch ; e3 02 5084 5095 rep stosb ; f3 aa 5085 5096 lea sp, [bp-006h] ; 8d 66 fa … … 5089 5100 pop bp ; 5d 5090 5101 retn ; c3 5091 biosfn_read_video_state_size2_: ; 0xc2a 51LB 0x235102 biosfn_read_video_state_size2_: ; 0xc2a74 LB 0x23 5092 5103 push dx ; 52 5093 5104 push bp ; 55 … … 5096 5107 xor ax, ax ; 31 c0 5097 5108 test dl, 001h ; f6 c2 01 5098 je short 02a 61h ; 74 035109 je short 02a84h ; 74 03 5099 5110 mov ax, strict word 00046h ; b8 46 00 5100 5111 test dl, 002h ; f6 c2 02 5101 je short 02a 69h ; 74 035112 je short 02a8ch ; 74 03 5102 5113 add ax, strict word 0002ah ; 05 2a 00 5103 5114 test dl, 004h ; f6 c2 04 5104 je short 02a 71h ; 74 035115 je short 02a94h ; 74 03 5105 5116 add ax, 00304h ; 05 04 03 5106 5117 pop bp ; 5d 5107 5118 pop dx ; 5a 5108 5119 retn ; c3 5109 vga_get_video_state_size_: ; 0xc2a 74LB 0x125120 vga_get_video_state_size_: ; 0xc2a97 LB 0x12 5110 5121 push bp ; 55 5111 5122 mov bp, sp ; 89 e5 5112 5123 push bx ; 53 5113 5124 mov bx, dx ; 89 d3 5114 call 02a 51h ; e8 d4 ff5125 call 02a74h ; e8 d4 ff 5115 5126 mov word [ss:bx], ax ; 36 89 07 5116 5127 lea sp, [bp-002h] ; 8d 66 fe … … 5118 5129 pop bp ; 5d 5119 5130 retn ; c3 5120 biosfn_save_video_state_: ; 0xc2a 86LB 0x3815131 biosfn_save_video_state_: ; 0xc2aa9 LB 0x381 5121 5132 push bp ; 55 5122 5133 mov bp, sp ; 89 e5 … … 5131 5142 mov dx, strict word 00063h ; ba 63 00 5132 5143 mov ax, strict word 00040h ; b8 40 00 5133 call 031 81h ; e8 e5 065144 call 031a4h ; e8 e5 06 5134 5145 mov di, ax ; 89 c7 5135 5146 test byte [bp-00ch], 001h ; f6 46 f4 01 5136 je short 02b 12h ; 74 6e5147 je short 02b35h ; 74 6e 5137 5148 mov dx, 003c4h ; ba c4 03 5138 5149 in AL, DX ; ec … … 5143 5154 mov dx, cx ; 89 ca 5144 5155 mov ax, si ; 89 f0 5145 call 031 73h ; e8 be 065156 call 03196h ; e8 be 06 5146 5157 inc cx ; 41 5147 5158 mov dx, di ; 89 fa … … 5153 5164 mov dx, cx ; 89 ca 5154 5165 mov ax, si ; 89 f0 5155 call 031 73h ; e8 ad 065166 call 03196h ; e8 ad 06 5156 5167 inc cx ; 41 5157 5168 mov dx, 003ceh ; ba ce 03 … … 5163 5174 mov dx, cx ; 89 ca 5164 5175 mov ax, si ; 89 f0 5165 call 031 73h ; e8 9b 065176 call 03196h ; e8 9b 06 5166 5177 inc cx ; 41 5167 5178 mov dx, 003dah ; ba da 03 … … 5179 5190 mov dx, cx ; 89 ca 5180 5191 mov ax, si ; 89 f0 5181 call 031 73h ; e8 7d 065192 call 03196h ; e8 7d 06 5182 5193 inc cx ; 41 5183 5194 mov dx, 003cah ; ba ca 03 … … 5189 5200 mov dx, cx ; 89 ca 5190 5201 mov ax, si ; 89 f0 5191 call 031 73h ; e8 6b 065202 call 03196h ; e8 6b 06 5192 5203 mov ax, strict word 00001h ; b8 01 00 5193 5204 mov word [bp-00ah], ax ; 89 46 f6 5194 5205 add cx, ax ; 01 c1 5195 jmp short 02b 1bh ; eb 095196 jmp near 02c 16h ; e9 01 015206 jmp short 02b3eh ; eb 09 5207 jmp near 02c39h ; e9 01 01 5197 5208 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 5198 jnbe short 02b 39h ; 77 1e5209 jnbe short 02b5ch ; 77 1e 5199 5210 mov al, byte [bp-00ah] ; 8a 46 f6 5200 5211 mov dx, 003c4h ; ba c4 03 … … 5208 5219 mov dx, cx ; 89 ca 5209 5220 mov ax, si ; 89 f0 5210 call 031 73h ; e8 40 065221 call 03196h ; e8 40 06 5211 5222 inc cx ; 41 5212 5223 inc word [bp-00ah] ; ff 46 f6 5213 jmp short 02b 15h ; eb dc5224 jmp short 02b38h ; eb dc 5214 5225 xor al, al ; 30 c0 5215 5226 mov dx, 003c4h ; ba c4 03 … … 5223 5234 mov dx, cx ; 89 ca 5224 5235 mov ax, si ; 89 f0 5225 call 031 73h ; e8 23 065236 call 03196h ; e8 23 06 5226 5237 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5227 5238 inc cx ; 41 5228 jmp short 02b 5eh ; eb 065239 jmp short 02b81h ; eb 06 5229 5240 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 5230 jnbe short 02b 7bh ; 77 1d5241 jnbe short 02b9eh ; 77 1d 5231 5242 mov al, byte [bp-00ah] ; 8a 46 f6 5232 5243 mov dx, di ; 89 fa … … 5240 5251 mov dx, cx ; 89 ca 5241 5252 mov ax, si ; 89 f0 5242 call 031 73h ; e8 fe 055253 call 03196h ; e8 fe 05 5243 5254 inc cx ; 41 5244 5255 inc word [bp-00ah] ; ff 46 f6 5245 jmp short 02b 58h ; eb dd5256 jmp short 02b7bh ; eb dd 5246 5257 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5247 jmp short 02b 88h ; eb 065258 jmp short 02babh ; eb 06 5248 5259 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 5249 jnbe short 02b b2h ; 77 2a5260 jnbe short 02bd5h ; 77 2a 5250 5261 mov dx, 003dah ; ba da 03 5251 5262 in AL, DX ; ec … … 5265 5276 mov dx, cx ; 89 ca 5266 5277 mov ax, si ; 89 f0 5267 call 031 73h ; e8 c7 055278 call 03196h ; e8 c7 05 5268 5279 inc cx ; 41 5269 5280 inc word [bp-00ah] ; ff 46 f6 5270 jmp short 02b 82h ; eb d05281 jmp short 02ba5h ; eb d0 5271 5282 mov dx, 003dah ; ba da 03 5272 5283 in AL, DX ; ec … … 5274 5285 ; sub ah, ah ; 2a e4 5275 5286 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5276 jmp short 02b c5h ; eb 065287 jmp short 02be8h ; eb 06 5277 5288 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5278 jnbe short 02 be3h ; 77 1e5289 jnbe short 02c06h ; 77 1e 5279 5290 mov al, byte [bp-00ah] ; 8a 46 f6 5280 5291 mov dx, 003ceh ; ba ce 03 … … 5288 5299 mov dx, cx ; 89 ca 5289 5300 mov ax, si ; 89 f0 5290 call 031 73h ; e8 96 055301 call 03196h ; e8 96 05 5291 5302 inc cx ; 41 5292 5303 inc word [bp-00ah] ; ff 46 f6 5293 jmp short 02b bfh ; eb dc5304 jmp short 02be2h ; eb dc 5294 5305 mov bx, di ; 89 fb 5295 5306 mov dx, cx ; 89 ca 5296 5307 mov ax, si ; 89 f0 5297 call 031 8fh ; e8 a3 055308 call 031b2h ; e8 a3 05 5298 5309 inc cx ; 41 5299 5310 inc cx ; 41 … … 5301 5312 mov dx, cx ; 89 ca 5302 5313 mov ax, si ; 89 f0 5303 call 031 73h ; e8 7c 055314 call 03196h ; e8 7c 05 5304 5315 inc cx ; 41 5305 5316 xor bx, bx ; 31 db 5306 5317 mov dx, cx ; 89 ca 5307 5318 mov ax, si ; 89 f0 5308 call 031 73h ; e8 72 055319 call 03196h ; e8 72 05 5309 5320 inc cx ; 41 5310 5321 xor bx, bx ; 31 db 5311 5322 mov dx, cx ; 89 ca 5312 5323 mov ax, si ; 89 f0 5313 call 031 73h ; e8 68 055324 call 03196h ; e8 68 05 5314 5325 inc cx ; 41 5315 5326 xor bx, bx ; 31 db 5316 5327 mov dx, cx ; 89 ca 5317 5328 mov ax, si ; 89 f0 5318 call 031 73h ; e8 5e 055329 call 03196h ; e8 5e 05 5319 5330 inc cx ; 41 5320 5331 test byte [bp-00ch], 002h ; f6 46 f4 02 5321 jne short 02c 1fh ; 75 035322 jmp near 02d 8ch ; e9 6d 015332 jne short 02c42h ; 75 03 5333 jmp near 02dafh ; e9 6d 01 5323 5334 mov dx, strict word 00049h ; ba 49 00 5324 5335 mov ax, strict word 00040h ; b8 40 00 5325 call 031 65h ; e8 3d 055336 call 03188h ; e8 3d 05 5326 5337 xor ah, ah ; 30 e4 5327 5338 mov bx, ax ; 89 c3 5328 5339 mov dx, cx ; 89 ca 5329 5340 mov ax, si ; 89 f0 5330 call 031 73h ; e8 40 055341 call 03196h ; e8 40 05 5331 5342 inc cx ; 41 5332 5343 mov dx, strict word 0004ah ; ba 4a 00 5333 5344 mov ax, strict word 00040h ; b8 40 00 5334 call 031 81h ; e8 44 055345 call 031a4h ; e8 44 05 5335 5346 mov bx, ax ; 89 c3 5336 5347 mov dx, cx ; 89 ca 5337 5348 mov ax, si ; 89 f0 5338 call 031 8fh ; e8 49 055349 call 031b2h ; e8 49 05 5339 5350 inc cx ; 41 5340 5351 inc cx ; 41 5341 5352 mov dx, strict word 0004ch ; ba 4c 00 5342 5353 mov ax, strict word 00040h ; b8 40 00 5343 call 031 81h ; e8 30 055354 call 031a4h ; e8 30 05 5344 5355 mov bx, ax ; 89 c3 5345 5356 mov dx, cx ; 89 ca 5346 5357 mov ax, si ; 89 f0 5347 call 031 8fh ; e8 35 055358 call 031b2h ; e8 35 05 5348 5359 inc cx ; 41 5349 5360 inc cx ; 41 5350 5361 mov dx, strict word 00063h ; ba 63 00 5351 5362 mov ax, strict word 00040h ; b8 40 00 5352 call 031 81h ; e8 1c 055363 call 031a4h ; e8 1c 05 5353 5364 mov bx, ax ; 89 c3 5354 5365 mov dx, cx ; 89 ca 5355 5366 mov ax, si ; 89 f0 5356 call 031 8fh ; e8 21 055367 call 031b2h ; e8 21 05 5357 5368 inc cx ; 41 5358 5369 inc cx ; 41 5359 5370 mov dx, 00084h ; ba 84 00 5360 5371 mov ax, strict word 00040h ; b8 40 00 5361 call 031 65h ; e8 ec 045372 call 03188h ; e8 ec 04 5362 5373 xor ah, ah ; 30 e4 5363 5374 mov bx, ax ; 89 c3 5364 5375 mov dx, cx ; 89 ca 5365 5376 mov ax, si ; 89 f0 5366 call 031 73h ; e8 ef 045377 call 03196h ; e8 ef 04 5367 5378 inc cx ; 41 5368 5379 mov dx, 00085h ; ba 85 00 5369 5380 mov ax, strict word 00040h ; b8 40 00 5370 call 031 81h ; e8 f3 045381 call 031a4h ; e8 f3 04 5371 5382 mov bx, ax ; 89 c3 5372 5383 mov dx, cx ; 89 ca 5373 5384 mov ax, si ; 89 f0 5374 call 031 8fh ; e8 f8 045385 call 031b2h ; e8 f8 04 5375 5386 inc cx ; 41 5376 5387 inc cx ; 41 5377 5388 mov dx, 00087h ; ba 87 00 5378 5389 mov ax, strict word 00040h ; b8 40 00 5379 call 031 65h ; e8 c3 045390 call 03188h ; e8 c3 04 5380 5391 xor ah, ah ; 30 e4 5381 5392 mov bx, ax ; 89 c3 5382 5393 mov dx, cx ; 89 ca 5383 5394 mov ax, si ; 89 f0 5384 call 031 73h ; e8 c6 045395 call 03196h ; e8 c6 04 5385 5396 inc cx ; 41 5386 5397 mov dx, 00088h ; ba 88 00 5387 5398 mov ax, strict word 00040h ; b8 40 00 5388 call 031 65h ; e8 ae 045399 call 03188h ; e8 ae 04 5389 5400 mov bl, al ; 88 c3 5390 5401 xor bh, bh ; 30 ff 5391 5402 mov dx, cx ; 89 ca 5392 5403 mov ax, si ; 89 f0 5393 call 031 73h ; e8 b1 045404 call 03196h ; e8 b1 04 5394 5405 inc cx ; 41 5395 5406 mov dx, 00089h ; ba 89 00 5396 5407 mov ax, strict word 00040h ; b8 40 00 5397 call 031 65h ; e8 99 045408 call 03188h ; e8 99 04 5398 5409 xor ah, ah ; 30 e4 5399 5410 mov bx, ax ; 89 c3 5400 5411 mov dx, cx ; 89 ca 5401 5412 mov ax, si ; 89 f0 5402 call 031 73h ; e8 9c 045413 call 03196h ; e8 9c 04 5403 5414 inc cx ; 41 5404 5415 mov dx, strict word 00060h ; ba 60 00 5405 5416 mov ax, strict word 00040h ; b8 40 00 5406 call 031 81h ; e8 a0 045417 call 031a4h ; e8 a0 04 5407 5418 mov bx, ax ; 89 c3 5408 5419 mov dx, cx ; 89 ca 5409 5420 mov ax, si ; 89 f0 5410 call 031 8fh ; e8 a5 045421 call 031b2h ; e8 a5 04 5411 5422 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5412 5423 inc cx ; 41 5413 5424 inc cx ; 41 5414 jmp short 02 cf9h ; eb 065425 jmp short 02d1ch ; eb 06 5415 5426 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5416 jnc short 02d 17h ; 73 1e5427 jnc short 02d3ah ; 73 1e 5417 5428 mov dx, word [bp-00ah] ; 8b 56 f6 5418 5429 add dx, dx ; 01 d2 5419 5430 add dx, strict byte 00050h ; 83 c2 50 5420 5431 mov ax, strict word 00040h ; b8 40 00 5421 call 031 81h ; e8 7a 045432 call 031a4h ; e8 7a 04 5422 5433 mov bx, ax ; 89 c3 5423 5434 mov dx, cx ; 89 ca 5424 5435 mov ax, si ; 89 f0 5425 call 031 8fh ; e8 7f 045436 call 031b2h ; e8 7f 04 5426 5437 inc cx ; 41 5427 5438 inc cx ; 41 5428 5439 inc word [bp-00ah] ; ff 46 f6 5429 jmp short 02 cf3h ; eb dc5440 jmp short 02d16h ; eb dc 5430 5441 mov dx, strict word 0004eh ; ba 4e 00 5431 5442 mov ax, strict word 00040h ; b8 40 00 5432 call 031 81h ; e8 61 045443 call 031a4h ; e8 61 04 5433 5444 mov bx, ax ; 89 c3 5434 5445 mov dx, cx ; 89 ca 5435 5446 mov ax, si ; 89 f0 5436 call 031 8fh ; e8 66 045447 call 031b2h ; e8 66 04 5437 5448 inc cx ; 41 5438 5449 inc cx ; 41 5439 5450 mov dx, strict word 00062h ; ba 62 00 5440 5451 mov ax, strict word 00040h ; b8 40 00 5441 call 031 65h ; e8 31 045452 call 03188h ; e8 31 04 5442 5453 xor ah, ah ; 30 e4 5443 5454 mov bx, ax ; 89 c3 5444 5455 mov dx, cx ; 89 ca 5445 5456 mov ax, si ; 89 f0 5446 call 031 73h ; e8 34 045457 call 03196h ; e8 34 04 5447 5458 inc cx ; 41 5448 5459 mov dx, strict word 0007ch ; ba 7c 00 5449 5460 xor ax, ax ; 31 c0 5450 call 031 81h ; e8 39 045461 call 031a4h ; e8 39 04 5451 5462 mov bx, ax ; 89 c3 5452 5463 mov dx, cx ; 89 ca 5453 5464 mov ax, si ; 89 f0 5454 call 031 8fh ; e8 3e 045465 call 031b2h ; e8 3e 04 5455 5466 inc cx ; 41 5456 5467 inc cx ; 41 5457 5468 mov dx, strict word 0007eh ; ba 7e 00 5458 5469 xor ax, ax ; 31 c0 5459 call 031 81h ; e8 26 045470 call 031a4h ; e8 26 04 5460 5471 mov bx, ax ; 89 c3 5461 5472 mov dx, cx ; 89 ca 5462 5473 mov ax, si ; 89 f0 5463 call 031 8fh ; e8 2b 045474 call 031b2h ; e8 2b 04 5464 5475 inc cx ; 41 5465 5476 inc cx ; 41 5466 5477 mov dx, 0010ch ; ba 0c 01 5467 5478 xor ax, ax ; 31 c0 5468 call 031 81h ; e8 13 045479 call 031a4h ; e8 13 04 5469 5480 mov bx, ax ; 89 c3 5470 5481 mov dx, cx ; 89 ca 5471 5482 mov ax, si ; 89 f0 5472 call 031 8fh ; e8 18 045483 call 031b2h ; e8 18 04 5473 5484 inc cx ; 41 5474 5485 inc cx ; 41 5475 5486 mov dx, 0010eh ; ba 0e 01 5476 5487 xor ax, ax ; 31 c0 5477 call 031 81h ; e8 00 045488 call 031a4h ; e8 00 04 5478 5489 mov bx, ax ; 89 c3 5479 5490 mov dx, cx ; 89 ca 5480 5491 mov ax, si ; 89 f0 5481 call 031 8fh ; e8 05 045492 call 031b2h ; e8 05 04 5482 5493 inc cx ; 41 5483 5494 inc cx ; 41 5484 5495 test byte [bp-00ch], 004h ; f6 46 f4 04 5485 je short 02 dfdh ; 74 6b5496 je short 02e20h ; 74 6b 5486 5497 mov dx, 003c7h ; ba c7 03 5487 5498 in AL, DX ; ec … … 5492 5503 mov dx, cx ; 89 ca 5493 5504 mov ax, si ; 89 f0 5494 call 031 73h ; e8 d0 035505 call 03196h ; e8 d0 03 5495 5506 inc cx ; 41 5496 5507 mov dx, 003c8h ; ba c8 03 … … 5502 5513 mov dx, cx ; 89 ca 5503 5514 mov ax, si ; 89 f0 5504 call 031 73h ; e8 be 035515 call 03196h ; e8 be 03 5505 5516 inc cx ; 41 5506 5517 mov dx, 003c6h ; ba c6 03 … … 5512 5523 mov dx, cx ; 89 ca 5513 5524 mov ax, si ; 89 f0 5514 call 031 73h ; e8 ac 035525 call 03196h ; e8 ac 03 5515 5526 inc cx ; 41 5516 5527 xor al, al ; 30 c0 … … 5519 5530 xor ah, ah ; 30 e4 5520 5531 mov word [bp-00ah], ax ; 89 46 f6 5521 jmp short 02d dch ; eb 075532 jmp short 02dffh ; eb 07 5522 5533 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5523 jnc short 02 df3h ; 73 175534 jnc short 02e16h ; 73 17 5524 5535 mov dx, 003c9h ; ba c9 03 5525 5536 in AL, DX ; ec … … 5530 5541 mov dx, cx ; 89 ca 5531 5542 mov ax, si ; 89 f0 5532 call 031 73h ; e8 86 035543 call 03196h ; e8 86 03 5533 5544 inc cx ; 41 5534 5545 inc word [bp-00ah] ; ff 46 f6 5535 jmp short 02d d5h ; eb e25546 jmp short 02df8h ; eb e2 5536 5547 xor bx, bx ; 31 db 5537 5548 mov dx, cx ; 89 ca 5538 5549 mov ax, si ; 89 f0 5539 call 031 73h ; e8 77 035550 call 03196h ; e8 77 03 5540 5551 inc cx ; 41 5541 5552 mov ax, cx ; 89 c8 … … 5546 5557 pop bp ; 5d 5547 5558 retn ; c3 5548 biosfn_restore_video_state_: ; 0xc2e 07LB 0x3365559 biosfn_restore_video_state_: ; 0xc2e2a LB 0x336 5549 5560 push bp ; 55 5550 5561 mov bp, sp ; 89 e5 … … 5557 5568 mov cx, bx ; 89 d9 5558 5569 test byte [bp-00eh], 001h ; f6 46 f2 01 5559 je short 02e 72h ; 74 575570 je short 02e95h ; 74 57 5560 5571 mov dx, 003dah ; ba da 03 5561 5572 in AL, DX ; ec … … 5564 5575 lea dx, [bx+040h] ; 8d 57 40 5565 5576 mov ax, si ; 89 f0 5566 call 031 81h ; e8 58 035577 call 031a4h ; e8 58 03 5567 5578 mov di, ax ; 89 c7 5568 5579 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 5569 5580 lea cx, [bx+005h] ; 8d 4f 05 5570 jmp short 02e 3bh ; eb 065581 jmp short 02e5eh ; eb 06 5571 5582 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 5572 jnbe short 02e 53h ; 77 185583 jnbe short 02e76h ; 77 18 5573 5584 mov al, byte [bp-00ah] ; 8a 46 f6 5574 5585 mov dx, 003c4h ; ba c4 03 … … 5576 5587 mov dx, cx ; 89 ca 5577 5588 mov ax, si ; 89 f0 5578 call 031 65h ; e8 1c 035589 call 03188h ; e8 1c 03 5579 5590 mov dx, 003c5h ; ba c5 03 5580 5591 out DX, AL ; ee 5581 5592 inc cx ; 41 5582 5593 inc word [bp-00ah] ; ff 46 f6 5583 jmp short 02e 35h ; eb e25594 jmp short 02e58h ; eb e2 5584 5595 xor al, al ; 30 c0 5585 5596 mov dx, 003c4h ; ba c4 03 … … 5587 5598 mov dx, cx ; 89 ca 5588 5599 mov ax, si ; 89 f0 5589 call 031 65h ; e8 05 035600 call 03188h ; e8 05 03 5590 5601 mov dx, 003c5h ; ba c5 03 5591 5602 out DX, AL ; ee … … 5595 5606 out DX, ax ; ef 5596 5607 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5597 jmp short 02e 7bh ; eb 095598 jmp near 02f 68h ; e9 f3 005608 jmp short 02e9eh ; eb 09 5609 jmp near 02f8bh ; e9 f3 00 5599 5610 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 5600 jnbe short 02e 98h ; 77 1d5611 jnbe short 02ebbh ; 77 1d 5601 5612 cmp word [bp-00ah], strict byte 00011h ; 83 7e f6 11 5602 je short 02e 92h ; 74 115613 je short 02eb5h ; 74 11 5603 5614 mov al, byte [bp-00ah] ; 8a 46 f6 5604 5615 mov dx, di ; 89 fa … … 5606 5617 mov dx, cx ; 89 ca 5607 5618 mov ax, si ; 89 f0 5608 call 031 65h ; e8 d7 025619 call 03188h ; e8 d7 02 5609 5620 lea dx, [di+001h] ; 8d 55 01 5610 5621 out DX, AL ; ee 5611 5622 inc cx ; 41 5612 5623 inc word [bp-00ah] ; ff 46 f6 5613 jmp short 02e 75h ; eb dd5624 jmp short 02e98h ; eb dd 5614 5625 mov dx, 003cch ; ba cc 03 5615 5626 in AL, DX ; ec … … 5619 5630 mov word [bp-008h], ax ; 89 46 f8 5620 5631 cmp di, 003d4h ; 81 ff d4 03 5621 jne short 02e adh ; 75 045632 jne short 02ed0h ; 75 04 5622 5633 or byte [bp-008h], 001h ; 80 4e f8 01 5623 5634 mov al, byte [bp-008h] ; 8a 46 f8 … … 5630 5641 add dx, strict byte 0fff9h ; 83 c2 f9 5631 5642 mov ax, si ; 89 f0 5632 call 031 65h ; e8 a2 025643 call 03188h ; e8 a2 02 5633 5644 lea dx, [di+001h] ; 8d 55 01 5634 5645 out DX, AL ; ee 5635 5646 lea dx, [bx+003h] ; 8d 57 03 5636 5647 mov ax, si ; 89 f0 5637 call 031 65h ; e8 96 025648 call 03188h ; e8 96 02 5638 5649 xor ah, ah ; 30 e4 5639 5650 mov word [bp-00ch], ax ; 89 46 f4 … … 5643 5654 ; sub ah, ah ; 2a e4 5644 5655 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5645 jmp short 02 ee7h ; eb 065656 jmp short 02f0ah ; eb 06 5646 5657 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 5647 jnbe short 02f 05h ; 77 1e5658 jnbe short 02f28h ; 77 1e 5648 5659 mov ax, word [bp-00ch] ; 8b 46 f4 5649 5660 and ax, strict word 00020h ; 25 20 00 … … 5653 5664 mov dx, cx ; 89 ca 5654 5665 mov ax, si ; 89 f0 5655 call 031 65h ; e8 6a 025666 call 03188h ; e8 6a 02 5656 5667 mov dx, 003c0h ; ba c0 03 5657 5668 out DX, AL ; ee 5658 5669 inc cx ; 41 5659 5670 inc word [bp-00ah] ; ff 46 f6 5660 jmp short 02 ee1h ; eb dc5671 jmp short 02f04h ; eb dc 5661 5672 mov al, byte [bp-00ch] ; 8a 46 f4 5662 5673 mov dx, 003c0h ; ba c0 03 … … 5667 5678 ; sub ah, ah ; 2a e4 5668 5679 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5669 jmp short 02f 1fh ; eb 065680 jmp short 02f42h ; eb 06 5670 5681 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5671 jnbe short 02f 37h ; 77 185682 jnbe short 02f5ah ; 77 18 5672 5683 mov al, byte [bp-00ah] ; 8a 46 f6 5673 5684 mov dx, 003ceh ; ba ce 03 … … 5675 5686 mov dx, cx ; 89 ca 5676 5687 mov ax, si ; 89 f0 5677 call 031 65h ; e8 38 025688 call 03188h ; e8 38 02 5678 5689 mov dx, 003cfh ; ba cf 03 5679 5690 out DX, AL ; ee 5680 5691 inc cx ; 41 5681 5692 inc word [bp-00ah] ; ff 46 f6 5682 jmp short 02f 19h ; eb e25693 jmp short 02f3ch ; eb e2 5683 5694 add cx, strict byte 00006h ; 83 c1 06 5684 5695 mov dx, bx ; 89 da 5685 5696 mov ax, si ; 89 f0 5686 call 031 65h ; e8 24 025697 call 03188h ; e8 24 02 5687 5698 mov dx, 003c4h ; ba c4 03 5688 5699 out DX, AL ; ee … … 5690 5701 mov dx, bx ; 89 da 5691 5702 mov ax, si ; 89 f0 5692 call 031 65h ; e8 18 025703 call 03188h ; e8 18 02 5693 5704 mov dx, di ; 89 fa 5694 5705 out DX, AL ; ee … … 5696 5707 mov dx, bx ; 89 da 5697 5708 mov ax, si ; 89 f0 5698 call 031 65h ; e8 0d 025709 call 03188h ; e8 0d 02 5699 5710 mov dx, 003ceh ; ba ce 03 5700 5711 out DX, AL ; ee 5701 5712 lea dx, [bx+002h] ; 8d 57 02 5702 5713 mov ax, si ; 89 f0 5703 call 031 65h ; e8 01 025714 call 03188h ; e8 01 02 5704 5715 lea dx, [di+006h] ; 8d 55 06 5705 5716 out DX, AL ; ee 5706 5717 test byte [bp-00eh], 002h ; f6 46 f2 02 5707 jne short 02f 71h ; 75 035708 jmp near 03 0e6h ; e9 75 015718 jne short 02f94h ; 75 03 5719 jmp near 03109h ; e9 75 01 5709 5720 mov dx, cx ; 89 ca 5710 5721 mov ax, si ; 89 f0 5711 call 031 65h ; e8 ed 015722 call 03188h ; e8 ed 01 5712 5723 xor ah, ah ; 30 e4 5713 5724 mov bx, ax ; 89 c3 5714 5725 mov dx, strict word 00049h ; ba 49 00 5715 5726 mov ax, strict word 00040h ; b8 40 00 5716 call 031 73h ; e8 ee 015727 call 03196h ; e8 ee 01 5717 5728 inc cx ; 41 5718 5729 mov dx, cx ; 89 ca 5719 5730 mov ax, si ; 89 f0 5720 call 031 81h ; e8 f4 015731 call 031a4h ; e8 f4 01 5721 5732 mov bx, ax ; 89 c3 5722 5733 mov dx, strict word 0004ah ; ba 4a 00 5723 5734 mov ax, strict word 00040h ; b8 40 00 5724 call 031 8fh ; e8 f7 015735 call 031b2h ; e8 f7 01 5725 5736 inc cx ; 41 5726 5737 inc cx ; 41 5727 5738 mov dx, cx ; 89 ca 5728 5739 mov ax, si ; 89 f0 5729 call 031 81h ; e8 e0 015740 call 031a4h ; e8 e0 01 5730 5741 mov bx, ax ; 89 c3 5731 5742 mov dx, strict word 0004ch ; ba 4c 00 5732 5743 mov ax, strict word 00040h ; b8 40 00 5733 call 031 8fh ; e8 e3 015744 call 031b2h ; e8 e3 01 5734 5745 inc cx ; 41 5735 5746 inc cx ; 41 5736 5747 mov dx, cx ; 89 ca 5737 5748 mov ax, si ; 89 f0 5738 call 031 81h ; e8 cc 015749 call 031a4h ; e8 cc 01 5739 5750 mov bx, ax ; 89 c3 5740 5751 mov dx, strict word 00063h ; ba 63 00 5741 5752 mov ax, strict word 00040h ; b8 40 00 5742 call 031 8fh ; e8 cf 015753 call 031b2h ; e8 cf 01 5743 5754 inc cx ; 41 5744 5755 inc cx ; 41 5745 5756 mov dx, cx ; 89 ca 5746 5757 mov ax, si ; 89 f0 5747 call 031 65h ; e8 9c 015758 call 03188h ; e8 9c 01 5748 5759 xor ah, ah ; 30 e4 5749 5760 mov bx, ax ; 89 c3 5750 5761 mov dx, 00084h ; ba 84 00 5751 5762 mov ax, strict word 00040h ; b8 40 00 5752 call 031 73h ; e8 9d 015763 call 03196h ; e8 9d 01 5753 5764 inc cx ; 41 5754 5765 mov dx, cx ; 89 ca 5755 5766 mov ax, si ; 89 f0 5756 call 031 81h ; e8 a3 015767 call 031a4h ; e8 a3 01 5757 5768 mov bx, ax ; 89 c3 5758 5769 mov dx, 00085h ; ba 85 00 5759 5770 mov ax, strict word 00040h ; b8 40 00 5760 call 031 8fh ; e8 a6 015771 call 031b2h ; e8 a6 01 5761 5772 inc cx ; 41 5762 5773 inc cx ; 41 5763 5774 mov dx, cx ; 89 ca 5764 5775 mov ax, si ; 89 f0 5765 call 031 65h ; e8 73 015776 call 03188h ; e8 73 01 5766 5777 mov dl, al ; 88 c2 5767 5778 xor dh, dh ; 30 f6 … … 5769 5780 mov dx, 00087h ; ba 87 00 5770 5781 mov ax, strict word 00040h ; b8 40 00 5771 call 031 73h ; e8 72 015782 call 03196h ; e8 72 01 5772 5783 inc cx ; 41 5773 5784 mov dx, cx ; 89 ca 5774 5785 mov ax, si ; 89 f0 5775 call 031 65h ; e8 5c 015786 call 03188h ; e8 5c 01 5776 5787 mov dl, al ; 88 c2 5777 5788 xor dh, dh ; 30 f6 … … 5779 5790 mov dx, 00088h ; ba 88 00 5780 5791 mov ax, strict word 00040h ; b8 40 00 5781 call 031 73h ; e8 5b 015792 call 03196h ; e8 5b 01 5782 5793 inc cx ; 41 5783 5794 mov dx, cx ; 89 ca 5784 5795 mov ax, si ; 89 f0 5785 call 031 65h ; e8 45 015796 call 03188h ; e8 45 01 5786 5797 mov dl, al ; 88 c2 5787 5798 xor dh, dh ; 30 f6 … … 5789 5800 mov dx, 00089h ; ba 89 00 5790 5801 mov ax, strict word 00040h ; b8 40 00 5791 call 031 73h ; e8 44 015802 call 03196h ; e8 44 01 5792 5803 inc cx ; 41 5793 5804 mov dx, cx ; 89 ca 5794 5805 mov ax, si ; 89 f0 5795 call 031 81h ; e8 4a 015806 call 031a4h ; e8 4a 01 5796 5807 mov bx, ax ; 89 c3 5797 5808 mov dx, strict word 00060h ; ba 60 00 5798 5809 mov ax, strict word 00040h ; b8 40 00 5799 call 031 8fh ; e8 4d 015810 call 031b2h ; e8 4d 01 5800 5811 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5801 5812 inc cx ; 41 5802 5813 inc cx ; 41 5803 jmp short 030 51h ; eb 065814 jmp short 03074h ; eb 06 5804 5815 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5805 jnc short 030 6fh ; 73 1e5816 jnc short 03092h ; 73 1e 5806 5817 mov dx, cx ; 89 ca 5807 5818 mov ax, si ; 89 f0 5808 call 031 81h ; e8 29 015819 call 031a4h ; e8 29 01 5809 5820 mov bx, ax ; 89 c3 5810 5821 mov dx, word [bp-00ah] ; 8b 56 f6 … … 5812 5823 add dx, strict byte 00050h ; 83 c2 50 5813 5824 mov ax, strict word 00040h ; b8 40 00 5814 call 031 8fh ; e8 27 015825 call 031b2h ; e8 27 01 5815 5826 inc cx ; 41 5816 5827 inc cx ; 41 5817 5828 inc word [bp-00ah] ; ff 46 f6 5818 jmp short 030 4bh ; eb dc5829 jmp short 0306eh ; eb dc 5819 5830 mov dx, cx ; 89 ca 5820 5831 mov ax, si ; 89 f0 5821 call 031 81h ; e8 0b 015832 call 031a4h ; e8 0b 01 5822 5833 mov bx, ax ; 89 c3 5823 5834 mov dx, strict word 0004eh ; ba 4e 00 5824 5835 mov ax, strict word 00040h ; b8 40 00 5825 call 031 8fh ; e8 0e 015836 call 031b2h ; e8 0e 01 5826 5837 inc cx ; 41 5827 5838 inc cx ; 41 5828 5839 mov dx, cx ; 89 ca 5829 5840 mov ax, si ; 89 f0 5830 call 031 65h ; e8 db 005841 call 03188h ; e8 db 00 5831 5842 mov dl, al ; 88 c2 5832 5843 xor dh, dh ; 30 f6 … … 5834 5845 mov dx, strict word 00062h ; ba 62 00 5835 5846 mov ax, strict word 00040h ; b8 40 00 5836 call 031 73h ; e8 da 005847 call 03196h ; e8 da 00 5837 5848 inc cx ; 41 5838 5849 mov dx, cx ; 89 ca 5839 5850 mov ax, si ; 89 f0 5840 call 031 81h ; e8 e0 005851 call 031a4h ; e8 e0 00 5841 5852 mov bx, ax ; 89 c3 5842 5853 mov dx, strict word 0007ch ; ba 7c 00 5843 5854 xor ax, ax ; 31 c0 5844 call 031 8fh ; e8 e4 005855 call 031b2h ; e8 e4 00 5845 5856 inc cx ; 41 5846 5857 inc cx ; 41 5847 5858 mov dx, cx ; 89 ca 5848 5859 mov ax, si ; 89 f0 5849 call 031 81h ; e8 cd 005860 call 031a4h ; e8 cd 00 5850 5861 mov bx, ax ; 89 c3 5851 5862 mov dx, strict word 0007eh ; ba 7e 00 5852 5863 xor ax, ax ; 31 c0 5853 call 031 8fh ; e8 d1 005864 call 031b2h ; e8 d1 00 5854 5865 inc cx ; 41 5855 5866 inc cx ; 41 5856 5867 mov dx, cx ; 89 ca 5857 5868 mov ax, si ; 89 f0 5858 call 031 81h ; e8 ba 005869 call 031a4h ; e8 ba 00 5859 5870 mov bx, ax ; 89 c3 5860 5871 mov dx, 0010ch ; ba 0c 01 5861 5872 xor ax, ax ; 31 c0 5862 call 031 8fh ; e8 be 005873 call 031b2h ; e8 be 00 5863 5874 inc cx ; 41 5864 5875 inc cx ; 41 5865 5876 mov dx, cx ; 89 ca 5866 5877 mov ax, si ; 89 f0 5867 call 031 81h ; e8 a7 005878 call 031a4h ; e8 a7 00 5868 5879 mov bx, ax ; 89 c3 5869 5880 mov dx, 0010eh ; ba 0e 01 5870 5881 xor ax, ax ; 31 c0 5871 call 031 8fh ; e8 ab 005882 call 031b2h ; e8 ab 00 5872 5883 inc cx ; 41 5873 5884 inc cx ; 41 5874 5885 test byte [bp-00eh], 004h ; f6 46 f2 04 5875 je short 031 33h ; 74 475886 je short 03156h ; 74 47 5876 5887 inc cx ; 41 5877 5888 mov dx, cx ; 89 ca 5878 5889 mov ax, si ; 89 f0 5879 call 031 65h ; e8 71 005890 call 03188h ; e8 71 00 5880 5891 xor ah, ah ; 30 e4 5881 5892 mov word [bp-008h], ax ; 89 46 f8 … … 5883 5894 mov dx, cx ; 89 ca 5884 5895 mov ax, si ; 89 f0 5885 call 031 65h ; e8 64 005896 call 03188h ; e8 64 00 5886 5897 mov dx, 003c6h ; ba c6 03 5887 5898 out DX, AL ; ee … … 5892 5903 xor ah, ah ; 30 e4 5893 5904 mov word [bp-00ah], ax ; 89 46 f6 5894 jmp short 031 1ah ; eb 075905 jmp short 0313dh ; eb 07 5895 5906 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5896 jnc short 031 2bh ; 73 115907 jnc short 0314eh ; 73 11 5897 5908 mov dx, cx ; 89 ca 5898 5909 mov ax, si ; 89 f0 5899 call 031 65h ; e8 44 005910 call 03188h ; e8 44 00 5900 5911 mov dx, 003c9h ; ba c9 03 5901 5912 out DX, AL ; ee 5902 5913 inc cx ; 41 5903 5914 inc word [bp-00ah] ; ff 46 f6 5904 jmp short 031 13h ; eb e85915 jmp short 03136h ; eb e8 5905 5916 inc cx ; 41 5906 5917 mov al, byte [bp-008h] ; 8a 46 f8 … … 5914 5925 pop bp ; 5d 5915 5926 retn ; c3 5916 find_vga_entry_: ; 0xc31 3dLB 0x285927 find_vga_entry_: ; 0xc3160 LB 0x28 5917 5928 push bx ; 53 5918 5929 push dx ; 52 … … 5922 5933 mov AH, strict byte 0ffh ; b4 ff 5923 5934 xor al, al ; 30 c0 5924 jmp short 031 50h ; eb 065935 jmp short 03173h ; eb 06 5925 5936 db 0feh, 0c0h 5926 5937 ; inc al ; fe c0 5927 5938 cmp AL, strict byte 00fh ; 3c 0f 5928 jnbe short 031 5fh ; 77 0f5939 jnbe short 03182h ; 77 0f 5929 5940 mov bl, al ; 88 c3 5930 5941 xor bh, bh ; 30 ff 5931 5942 sal bx, 003h ; c1 e3 03 5932 cmp dl, byte [bx+046 2fh] ; 3a 97 2f465933 jne short 031 4ah ; 75 ed5943 cmp dl, byte [bx+04634h] ; 3a 97 34 46 5944 jne short 0316dh ; 75 ed 5934 5945 mov ah, al ; 88 c4 5935 5946 mov al, ah ; 88 e0 … … 5938 5949 pop bx ; 5b 5939 5950 retn ; c3 5940 read_byte_: ; 0xc31 65LB 0xe5951 read_byte_: ; 0xc3188 LB 0xe 5941 5952 push bx ; 53 5942 5953 push bp ; 55 … … 5948 5959 pop bx ; 5b 5949 5960 retn ; c3 5950 write_byte_: ; 0xc31 73LB 0xe5961 write_byte_: ; 0xc3196 LB 0xe 5951 5962 push si ; 56 5952 5963 push bp ; 55 … … 5958 5969 pop si ; 5e 5959 5970 retn ; c3 5960 read_word_: ; 0xc31 81LB 0xe5971 read_word_: ; 0xc31a4 LB 0xe 5961 5972 push bx ; 53 5962 5973 push bp ; 55 … … 5968 5979 pop bx ; 5b 5969 5980 retn ; c3 5970 write_word_: ; 0xc31 8fLB 0xe5981 write_word_: ; 0xc31b2 LB 0xe 5971 5982 push si ; 56 5972 5983 push bp ; 55 … … 5978 5989 pop si ; 5e 5979 5990 retn ; c3 5980 read_dword_: ; 0xc31 9dLB 0x125991 read_dword_: ; 0xc31c0 LB 0x12 5981 5992 push bx ; 53 5982 5993 push bp ; 55 … … 5989 6000 pop bx ; 5b 5990 6001 retn ; c3 5991 write_dword_: ; 0xc31 afLB 0x966002 write_dword_: ; 0xc31d2 LB 0x96 5992 6003 push si ; 56 5993 6004 push bp ; 55 … … 6011 6022 add ax, 00304h ; 05 04 03 6012 6023 add al, byte [bx+di] ; 02 01 6013 add dh, cl ; 00 ce 6014 xor ax, 03276h ; 35 76 32 6015 mov BL, strict byte 032h ; b3 32 6016 db 0c6h, 032h, 0d6h 6017 ; mov byte [bp+si], 0d6h ; c6 32 d6 6024 add cl, dh ; 00 f1 6025 xor ax, 03299h ; 35 99 32 6026 db 0d6h 6018 6027 db 032h, 0e9h 6019 6028 ; xor ch, cl ; 32 e9 6020 6029 db 032h, 0f9h 6021 6030 ; xor bh, cl ; 32 f9 6022 xor al, byte [bx+si] ; 32 00 6023 xor di, word [bx+si] ; 33 38 6024 xor di, word [si] ; 33 3c 6025 xor cx, word [di+033h] ; 33 4d 33 6026 push 08333h ; 68 33 83 6027 xor bx, word [bp+di-047cdh] ; 33 9b 33 b8 6028 db 033h, 0cch 6029 ; xor cx, sp ; 33 cc 6030 db 033h, 0d8h 6031 ; xor bx, ax ; 33 d8 6032 xor cx, word [bx-03bcch] ; 33 8f 34 c4 6033 xor AL, strict byte 0f5h ; 34 f5 6034 xor AL, strict byte 00ah ; 34 0a 6035 xor ax, 03547h ; 35 47 35 6031 xor cl, byte [si] ; 32 0c 6032 xor bx, word [si] ; 33 1c 6033 xor sp, word [bp+di] ; 33 23 6034 xor bx, word [bp+di+033h] ; 33 5b 33 6035 pop di ; 5f 6036 xor si, word [bx+si+033h] ; 33 70 33 6037 mov si, word [bp+di] ; 8b 33 6038 cmpsb ; a6 6039 xor di, word [bp-024cdh] ; 33 be 33 db 6040 db 033h, 0efh 6041 ; xor bp, di ; 33 ef 6042 db 033h, 0fbh 6043 ; xor di, bx ; 33 fb 6044 xor si, word [bp+si-018cch] ; 33 b2 34 e7 6045 xor AL, strict byte 018h ; 34 18 6046 xor ax, 0352dh ; 35 2d 35 6047 push strict byte 00035h ; 6a 35 6036 6048 xor byte [si], ah ; 30 24 6037 6049 and sp, word [bp+si] ; 23 22 … … 6041 6053 add AL, strict byte 002h ; 04 02 6042 6054 add word [bx+si], ax ; 01 00 6043 into ; ce 6044 xor ax, 033f5h ; 35 f5 33 6045 push SS ; 16 6046 xor AL, strict byte 025h ; 34 25 6047 xor AL, strict byte 034h ; 34 34 6048 xor AL, strict byte 0f5h ; 34 f5 6049 xor dx, word [02534h] ; 33 16 34 25 6050 xor AL, strict byte 034h ; 34 34 6051 xor AL, strict byte 043h ; 34 43 6052 xor AL, strict byte 04fh ; 34 4f 6053 xor AL, strict byte 068h ; 34 68 6054 xor AL, strict byte 06dh ; 34 6d 6055 db 0f1h 6056 xor ax, 03418h ; 35 18 34 6057 cmp word [si], si ; 39 34 6058 dec ax ; 48 6059 xor AL, strict byte 057h ; 34 57 6060 xor AL, strict byte 018h ; 34 18 6061 xor AL, strict byte 039h ; 34 39 6062 xor AL, strict byte 048h ; 34 48 6063 xor AL, strict byte 057h ; 34 57 6064 xor AL, strict byte 066h ; 34 66 6055 6065 xor AL, strict byte 072h ; 34 72 6056 xor AL, strict byte 077h ; 34 77 6066 xor AL, strict byte 08bh ; 34 8b 6067 xor AL, strict byte 090h ; 34 90 6068 xor AL, strict byte 095h ; 34 95 6069 xor AL, strict byte 09ah ; 34 9a 6057 6070 xor AL, strict byte 00ah ; 34 0a 6058 6071 or word [00204h], ax ; 09 06 04 02 6059 6072 add word [bx+si], ax ; 01 00 6060 retn 06d35h ; c2 35 6d 6061 xor ax, 0357ah ; 35 7a 35 6062 mov dh, byte [di] ; 8a 35 6063 call far 0c235h:0af35h ; 9a 35 af 35 c2 6064 xor ax, 035c2h ; 35 c2 35 6065 _int10_func: ; 0xc3245 LB 0x390 6073 in ax, 035h ; e5 35 6074 nop ; 90 6075 xor ax, 0359dh ; 35 9d 35 6076 lodsw ; ad 6077 xor ax, 035bdh ; 35 bd 35 6078 db 0d2h, 035h 6079 ; sal byte [di], CL ; d2 35 6080 in ax, 035h ; e5 35 6081 in ax, 035h ; e5 35 6082 _int10_func: ; 0xc3268 LB 0x390 6066 6083 push bp ; 55 6067 6084 mov bp, sp ; 89 e5 … … 6073 6090 shr ax, 008h ; c1 e8 08 6074 6091 cmp ax, strict word 0004fh ; 3d 4f 00 6075 jnbe short 032 c3h ; 77 6a6092 jnbe short 032e6h ; 77 6a 6076 6093 push CS ; 0e 6077 6094 pop ES ; 07 6078 6095 mov cx, strict word 00016h ; b9 16 00 6079 mov di, 031 c1h ; bf c1316096 mov di, 031e4h ; bf e4 31 6080 6097 repne scasb ; f2 ae 6081 6098 sal cx, 1 ; d1 e1 6082 6099 mov di, cx ; 89 cf 6083 mov bx, word [cs:di+031 d6h] ; 2e 8b 9d d6316100 mov bx, word [cs:di+031f9h] ; 2e 8b 9d f9 31 6084 6101 mov ax, word [bp+012h] ; 8b 46 12 6085 6102 xor ah, ah ; 30 e4 … … 6088 6105 mov al, byte [bp+012h] ; 8a 46 12 6089 6106 xor ah, ah ; 30 e4 6090 call 0101ch ; e8 9edd6107 call 0101ch ; e8 7b dd 6091 6108 mov ax, word [bp+012h] ; 8b 46 12 6092 6109 and ax, strict word 0007fh ; 25 7f 00 6093 6110 cmp ax, strict word 00007h ; 3d 07 00 6094 je short 032 9eh ; 74 156111 je short 032c1h ; 74 15 6095 6112 cmp ax, strict word 00006h ; 3d 06 00 6096 je short 032 95h ; 74 076113 je short 032b8h ; 74 07 6097 6114 cmp ax, strict word 00005h ; 3d 05 00 6098 jbe short 032 9eh ; 76 0b6099 jmp short 032 a7h ; eb 126115 jbe short 032c1h ; 76 0b 6116 jmp short 032cah ; eb 12 6100 6117 mov ax, word [bp+012h] ; 8b 46 12 6101 6118 xor al, al ; 30 c0 6102 6119 or AL, strict byte 03fh ; 0c 3f 6103 jmp short 032 aeh ; eb 106120 jmp short 032d1h ; eb 10 6104 6121 mov ax, word [bp+012h] ; 8b 46 12 6105 6122 xor al, al ; 30 c0 6106 6123 or AL, strict byte 030h ; 0c 30 6107 jmp short 032 aeh ; eb 076124 jmp short 032d1h ; eb 07 6108 6125 mov ax, word [bp+012h] ; 8b 46 12 6109 6126 xor al, al ; 30 c0 6110 6127 or AL, strict byte 020h ; 0c 20 6111 6128 mov word [bp+012h], ax ; 89 46 12 6112 jmp short 032 c3h ; eb 106129 jmp short 032e6h ; eb 10 6113 6130 mov al, byte [bp+010h] ; 8a 46 10 6114 6131 mov dx, ax ; 89 c2 … … 6116 6133 shr ax, 008h ; c1 e8 08 6117 6134 xor ah, ah ; 30 e4 6118 call 00dcbh ; e8 08 db6119 jmp near 035 ceh ; e9 08 036135 call 00dcbh ; e8 e5 da 6136 jmp near 035f1h ; e9 08 03 6120 6137 mov dx, word [bp+00eh] ; 8b 56 0e 6121 6138 mov ax, word [bp+00ch] ; 8b 46 0c 6122 6139 shr ax, 008h ; c1 e8 08 6123 6140 xor ah, ah ; 30 e4 6124 call 00e79h ; e8 a5db6125 jmp short 032 c3h ; eb ed6141 call 00e79h ; e8 82 db 6142 jmp short 032e6h ; eb ed 6126 6143 lea bx, [bp+00eh] ; 8d 5e 0e 6127 6144 lea dx, [bp+010h] ; 8d 56 10 … … 6129 6146 shr ax, 008h ; c1 e8 08 6130 6147 xor ah, ah ; 30 e4 6131 call 00a8bh ; e8 a4d76132 jmp short 032 c3h ; eb da6148 call 00a8bh ; e8 81 d7 6149 jmp short 032e6h ; eb da 6133 6150 xor al, al ; 30 c0 6134 6151 mov word [bp+012h], ax ; 89 46 12 … … 6136 6153 mov word [bp+010h], ax ; 89 46 10 6137 6154 mov word [bp+00eh], ax ; 89 46 0e 6138 jmp short 032 c3h ; eb ca6155 jmp short 032e6h ; eb ca 6139 6156 mov al, dl ; 88 d0 6140 call 00f2eh ; e8 30dc6141 jmp short 032 c3h ; eb c36157 call 00f2eh ; e8 0d dc 6158 jmp short 032e6h ; eb c3 6142 6159 mov ax, strict word 00001h ; b8 01 00 6143 6160 push ax ; 50 … … 6162 6179 mov dx, ax ; 89 c2 6163 6180 mov al, byte [bp+012h] ; 8a 46 12 6164 call 016 47h ; e8 11 e36165 jmp short 032 c3h ; eb 8b6181 call 0166ah ; e8 11 e3 6182 jmp short 032e6h ; eb 8b 6166 6183 xor al, al ; 30 c0 6167 jmp short 033 03h ; eb c76184 jmp short 03326h ; eb c7 6168 6185 lea dx, [bp+012h] ; 8d 56 12 6169 6186 mov ax, word [bp+00ch] ; 8b 46 0c 6170 6187 shr ax, 008h ; c1 e8 08 6171 6188 xor ah, ah ; 30 e4 6172 call 00ad1h ; e8 87d76173 jmp near 035 ceh ; e9 81 026189 call 00ad1h ; e8 64 d7 6190 jmp near 035f1h ; e9 81 02 6174 6191 mov cx, word [bp+010h] ; 8b 4e 10 6175 6192 mov al, byte [bp+00ch] ; 8a 46 0c … … 6180 6197 mov dx, ax ; 89 c2 6181 6198 mov al, byte [bp+012h] ; 8a 46 12 6182 call 01e 7eh ; e8 19 eb6183 jmp near 035 ceh ; e9 66 026199 call 01ea1h ; e8 19 eb 6200 jmp near 035f1h ; e9 66 02 6184 6201 mov cx, word [bp+010h] ; 8b 4e 10 6185 6202 mov al, byte [bp+00ch] ; 8a 46 0c … … 6190 6207 mov dx, ax ; 89 c2 6191 6208 mov al, byte [bp+012h] ; 8a 46 12 6192 call 020 0bh ; e8 8b ec6193 jmp near 035 ceh ; e9 4b 026209 call 0202eh ; e8 8b ec 6210 jmp near 035f1h ; e9 4b 02 6194 6211 mov cx, word [bp+00eh] ; 8b 4e 0e 6195 6212 mov bx, word [bp+010h] ; 8b 5e 10 … … 6199 6216 shr ax, 008h ; c1 e8 08 6200 6217 xor ah, ah ; 30 e4 6201 call 021 a1h ; e8 09 ee6202 jmp near 035 ceh ; e9 33 026218 call 021c4h ; e8 09 ee 6219 jmp near 035f1h ; e9 33 02 6203 6220 lea cx, [bp+012h] ; 8d 4e 12 6204 6221 mov bx, word [bp+00eh] ; 8b 5e 0e … … 6209 6226 mov al, byte [bp-006h] ; 8a 46 fa 6210 6227 xor ah, ah ; 30 e4 6211 call 00bfch ; e8 47d86212 jmp near 035 ceh ; e9 16 026228 call 00bfch ; e8 24 d8 6229 jmp near 035f1h ; e9 16 02 6213 6230 mov cx, strict word 00002h ; b9 02 00 6214 6231 mov al, byte [bp+00ch] ; 8a 46 0c … … 6216 6233 mov dx, 000ffh ; ba ff 00 6217 6234 mov al, byte [bp+012h] ; 8a 46 12 6218 call 023 1ch ; e8 53 ef6219 jmp near 035 ceh ; e9 02 026235 call 0233fh ; e8 53 ef 6236 jmp near 035f1h ; e9 02 02 6220 6237 mov dx, word [bp+010h] ; 8b 56 10 6221 6238 mov ax, word [bp+00ch] ; 8b 46 0c 6222 call 00d3eh ; e8 69d96223 jmp near 035 ceh ; e9 f6 016239 call 00d3eh ; e8 46 d9 6240 jmp near 035f1h ; e9 f6 01 6224 6241 cmp ax, strict word 00030h ; 3d 30 00 6225 jnbe short 034 4ch ; 77 6f6242 jnbe short 0346fh ; 77 6f 6226 6243 push CS ; 0e 6227 6244 pop ES ; 07 6228 6245 mov cx, strict word 0000fh ; b9 0f 00 6229 mov di, 032 02h ; bf 02326246 mov di, 03225h ; bf 25 32 6230 6247 repne scasb ; f2 ae 6231 6248 sal cx, 1 ; d1 e1 6232 6249 mov di, cx ; 89 cf 6233 mov dx, word [cs:di+032 10h] ; 2e 8b 95 10326250 mov dx, word [cs:di+03233h] ; 2e 8b 95 33 32 6234 6251 mov al, byte [bp+00ch] ; 8a 46 0c 6235 6252 jmp dx ; ff e2 … … 6245 6262 mov bx, word [bp+008h] ; 8b 5e 08 6246 6263 mov dx, word [bp+016h] ; 8b 56 16 6247 call 026 b5h ; e8 a1 f26248 jmp short 034 4ch ; eb 366264 call 026d8h ; e8 a1 f2 6265 jmp short 0346fh ; eb 36 6249 6266 mov al, byte [bp+00ch] ; 8a 46 0c 6250 6267 xor ah, ah ; 30 e4 6251 6268 mov dx, ax ; 89 c2 6252 6269 mov al, byte [bp+012h] ; 8a 46 12 6253 call 027 35h ; e8 12 f36254 jmp short 034 4ch ; eb 276270 call 02758h ; e8 12 f3 6271 jmp short 0346fh ; eb 27 6255 6272 mov al, byte [bp+00ch] ; 8a 46 0c 6256 6273 xor ah, ah ; 30 e4 6257 6274 mov dx, ax ; 89 c2 6258 6275 mov al, byte [bp+012h] ; 8a 46 12 6259 call 027 a3h ; e8 71 f36260 jmp short 034 4ch ; eb 186276 call 027c6h ; e8 71 f3 6277 jmp short 0346fh ; eb 18 6261 6278 mov al, byte [bp+00ch] ; 8a 46 0c 6262 6279 xor ah, ah ; 30 e4 6263 6280 mov dx, ax ; 89 c2 6264 6281 mov al, byte [bp+012h] ; 8a 46 12 6265 call 028 13h ; e8 d2 f36266 jmp short 034 4ch ; eb 096282 call 02836h ; e8 d2 f3 6283 jmp short 0346fh ; eb 09 6267 6284 mov dx, word [bp+008h] ; 8b 56 08 6268 6285 mov ax, word [bp+016h] ; 8b 46 16 6269 call 028 83h ; e8 37 f46270 jmp near 035 ceh ; e9 7f 016286 call 028a6h ; e8 37 f4 6287 jmp near 035f1h ; e9 7f 01 6271 6288 mov al, byte [bp+00eh] ; 8a 46 0e 6272 6289 push ax ; 50 … … 6277 6294 mov cx, ax ; 89 c1 6278 6295 mov ax, si ; 89 f0 6279 call 028 88h ; e8 22 f46280 jmp short 034 4ch ; eb e46281 call 028 8fh ; e8 24 f46282 jmp short 034 4ch ; eb df6283 call 028 94h ; e8 24 f46284 jmp short 034 4ch ; eb da6285 call 028 99h ; e8 24 f46286 jmp short 034 4ch ; eb d56296 call 028abh ; e8 22 f4 6297 jmp short 0346fh ; eb e4 6298 call 028b2h ; e8 24 f4 6299 jmp short 0346fh ; eb df 6300 call 028b7h ; e8 24 f4 6301 jmp short 0346fh ; eb da 6302 call 028bch ; e8 24 f4 6303 jmp short 0346fh ; eb d5 6287 6304 lea ax, [bp+00eh] ; 8d 46 0e 6288 6305 push ax ; 50 … … 6292 6309 lea bx, [bp+008h] ; 8d 5e 08 6293 6310 lea dx, [bp+016h] ; 8d 56 16 6294 call 00b81h ; e8 f4d66295 jmp short 034 4ch ; eb bd6311 call 00b81h ; e8 d1 d6 6312 jmp short 0346fh ; eb bd 6296 6313 mov ax, word [bp+00ch] ; 8b 46 0c 6297 6314 xor ah, ah ; 30 e4 6298 6315 cmp ax, strict word 00036h ; 3d 36 00 6299 je short 034 bdh ; 74 246316 je short 034e0h ; 74 24 6300 6317 cmp ax, strict word 00035h ; 3d 35 00 6301 je short 034 a8h ; 74 0a6318 je short 034cbh ; 74 0a 6302 6319 cmp ax, strict word 00020h ; 3d 20 00 6303 jne short 03 4f2h ; 75 4f6304 call 028 9eh ; e8 f8 f36305 jmp short 03 4f2h ; eb 4a6320 jne short 03515h ; 75 4f 6321 call 028c1h ; e8 f8 f3 6322 jmp short 03515h ; eb 4a 6306 6323 mov al, dl ; 88 d0 6307 6324 mov bx, word [bp+00eh] ; 8b 5e 0e 6308 6325 mov dx, word [bp+016h] ; 8b 56 16 6309 call 028 a3h ; e8 f0 f36326 call 028c6h ; e8 f0 f3 6310 6327 mov ax, word [bp+012h] ; 8b 46 12 6311 6328 xor al, al ; 30 c0 6312 6329 or AL, strict byte 012h ; 0c 12 6313 jmp near 032 aeh ; e9 f1 fd6330 jmp near 032d1h ; e9 f1 fd 6314 6331 mov al, dl ; 88 d0 6315 call 028 a8h ; e8 e6 f36316 jmp short 034 b3h ; eb ef6332 call 028cbh ; e8 e6 f3 6333 jmp short 034d6h ; eb ef 6317 6334 push word [bp+008h] ; ff 76 08 6318 6335 push word [bp+016h] ; ff 76 16 … … 6333 6350 mov dx, ax ; 89 c2 6334 6351 mov ax, si ; 89 f0 6335 call 028 adh ; e8 bb f36336 jmp near 035 ceh ; e9 d9 006352 call 028d0h ; e8 bb f3 6353 jmp near 035f1h ; e9 d9 00 6337 6354 mov bx, si ; 89 f3 6338 6355 mov dx, word [bp+016h] ; 8b 56 16 6339 6356 mov ax, word [bp+00ch] ; 8b 46 0c 6340 call 029 4fh ; e8 4f f46357 call 02972h ; e8 4f f4 6341 6358 mov ax, word [bp+012h] ; 8b 46 12 6342 6359 xor al, al ; 30 c0 6343 6360 or AL, strict byte 01bh ; 0c 1b 6344 jmp near 032 aeh ; e9 a4 fd6361 jmp near 032d1h ; e9 a4 fd 6345 6362 cmp ax, strict word 00002h ; 3d 02 00 6346 je short 035 31h ; 74 226363 je short 03554h ; 74 22 6347 6364 cmp ax, strict word 00001h ; 3d 01 00 6348 je short 035 23h ; 74 0f6365 je short 03546h ; 74 0f 6349 6366 test ax, ax ; 85 c0 6350 jne short 035 3dh ; 75 256367 jne short 03560h ; 75 25 6351 6368 lea dx, [bp+00ch] ; 8d 56 0c 6352 6369 mov ax, word [bp+010h] ; 8b 46 10 6353 call 02a 74h ; e8 53 f56354 jmp short 035 3dh ; eb 1a6370 call 02a97h ; e8 53 f5 6371 jmp short 03560h ; eb 1a 6355 6372 mov bx, word [bp+00ch] ; 8b 5e 0c 6356 6373 mov dx, word [bp+016h] ; 8b 56 16 6357 6374 mov ax, word [bp+010h] ; 8b 46 10 6358 call 02a 86h ; e8 57 f56359 jmp short 035 3dh ; eb 0c6375 call 02aa9h ; e8 57 f5 6376 jmp short 03560h ; eb 0c 6360 6377 mov bx, word [bp+00ch] ; 8b 5e 0c 6361 6378 mov dx, word [bp+016h] ; 8b 56 16 6362 6379 mov ax, word [bp+010h] ; 8b 46 10 6363 call 02e 07h ; e8 ca f86380 call 02e2ah ; e8 ca f8 6364 6381 mov ax, word [bp+012h] ; 8b 46 12 6365 6382 xor al, al ; 30 c0 6366 6383 or AL, strict byte 01ch ; 0c 1c 6367 jmp near 032 aeh ; e9 67 fd6368 call 007bfh ; e8 75d26384 jmp near 032d1h ; e9 67 fd 6385 call 007bfh ; e8 52 d2 6369 6386 test ax, ax ; 85 c0 6370 je short 035 c0h ; 74 726387 je short 035e3h ; 74 72 6371 6388 mov ax, word [bp+012h] ; 8b 46 12 6372 6389 xor ah, ah ; 30 e4 6373 6390 cmp ax, strict word 0000ah ; 3d 0a 00 6374 jnbe short 035 c2h ; 77 6a6391 jnbe short 035e5h ; 77 6a 6375 6392 push CS ; 0e 6376 6393 pop ES ; 07 6377 6394 mov cx, strict word 00008h ; b9 08 00 6378 mov di, 032 2eh ; bf 2e326395 mov di, 03251h ; bf 51 32 6379 6396 repne scasb ; f2 ae 6380 6397 sal cx, 1 ; d1 e1 6381 6398 mov di, cx ; 89 cf 6382 mov ax, word [cs:di+032 35h] ; 2e 8b 85 35326399 mov ax, word [cs:di+03258h] ; 2e 8b 85 58 32 6383 6400 jmp ax ; ff e0 6384 6401 mov bx, si ; 89 f3 6385 6402 mov dx, word [bp+016h] ; 8b 56 16 6386 6403 lea ax, [bp+012h] ; 8d 46 12 6387 call 037 71h ; e8 f9 016388 jmp short 035 ceh ; eb 546404 call 037adh ; e8 12 02 6405 jmp short 035f1h ; eb 54 6389 6406 mov cx, si ; 89 f1 6390 6407 mov bx, word [bp+016h] ; 8b 5e 16 6391 6408 mov dx, word [bp+010h] ; 8b 56 10 6392 6409 lea ax, [bp+012h] ; 8d 46 12 6393 call 038 a0h ; e8 18036394 jmp short 035 ceh ; eb 446410 call 038dch ; e8 31 03 6411 jmp short 035f1h ; eb 44 6395 6412 mov cx, si ; 89 f1 6396 6413 mov bx, word [bp+016h] ; 8b 5e 16 6397 6414 mov dx, word [bp+00ch] ; 8b 56 0c 6398 6415 lea ax, [bp+012h] ; 8d 46 12 6399 call 039 5dh ; e8 c5036400 jmp short 035 ceh ; eb 346416 call 03999h ; e8 de 03 6417 jmp short 035f1h ; eb 34 6401 6418 lea ax, [bp+00ch] ; 8d 46 0c 6402 6419 push ax ; 50 … … 6405 6422 mov dx, word [bp+010h] ; 8b 56 10 6406 6423 lea ax, [bp+012h] ; 8d 46 12 6407 call 03b 46h ; e8 99056408 jmp short 035 ceh ; eb 1f6424 call 03b82h ; e8 b2 05 6425 jmp short 035f1h ; eb 1f 6409 6426 lea cx, [bp+00eh] ; 8d 4e 0e 6410 6427 lea bx, [bp+010h] ; 8d 5e 10 6411 6428 lea dx, [bp+00ch] ; 8d 56 0c 6412 6429 lea ax, [bp+012h] ; 8d 46 12 6413 call 03 bd2h ; e8 14066414 jmp short 035 ceh ; eb 0e6415 jmp short 035 c9h ; eb 076430 call 03c0eh ; e8 2d 06 6431 jmp short 035f1h ; eb 0e 6432 jmp short 035ech ; eb 07 6416 6433 mov word [bp+012h], 00100h ; c7 46 12 00 01 6417 jmp short 035 ceh ; eb 056434 jmp short 035f1h ; eb 05 6418 6435 mov word [bp+012h], 00100h ; c7 46 12 00 01 6419 6436 lea sp, [bp-004h] ; 8d 66 fc … … 6422 6439 pop bp ; 5d 6423 6440 retn ; c3 6424 dispi_set_xres_: ; 0xc35 d5LB 0x1f6441 dispi_set_xres_: ; 0xc35f8 LB 0x1f 6425 6442 push bp ; 55 6426 6443 mov bp, sp ; 89 e5 … … 6430 6447 mov ax, strict word 00001h ; b8 01 00 6431 6448 mov dx, 001ceh ; ba ce 01 6432 call 00570h ; e8 8bcf6449 call 00570h ; e8 68 cf 6433 6450 mov ax, bx ; 89 d8 6434 6451 mov dx, 001cfh ; ba cf 01 6435 call 00570h ; e8 83cf6452 call 00570h ; e8 60 cf 6436 6453 lea sp, [bp-004h] ; 8d 66 fc 6437 6454 pop dx ; 5a … … 6439 6456 pop bp ; 5d 6440 6457 retn ; c3 6441 dispi_set_yres_: ; 0xc3 5f4LB 0x1f6458 dispi_set_yres_: ; 0xc3617 LB 0x1f 6442 6459 push bp ; 55 6443 6460 mov bp, sp ; 89 e5 … … 6447 6464 mov ax, strict word 00002h ; b8 02 00 6448 6465 mov dx, 001ceh ; ba ce 01 6449 call 00570h ; e8 6ccf6466 call 00570h ; e8 49 cf 6450 6467 mov ax, bx ; 89 d8 6451 6468 mov dx, 001cfh ; ba cf 01 6452 call 00570h ; e8 64cf6469 call 00570h ; e8 41 cf 6453 6470 lea sp, [bp-004h] ; 8d 66 fc 6454 6471 pop dx ; 5a … … 6456 6473 pop bp ; 5d 6457 6474 retn ; c3 6458 dispi_set_bpp_: ; 0xc3613 LB 0x1f 6475 dispi_get_yres_: ; 0xc3636 LB 0x19 6476 push bp ; 55 6477 mov bp, sp ; 89 e5 6478 push dx ; 52 6479 mov ax, strict word 00002h ; b8 02 00 6480 mov dx, 001ceh ; ba ce 01 6481 call 00570h ; e8 2d cf 6482 mov dx, 001cfh ; ba cf 01 6483 call 00577h ; e8 2e cf 6484 lea sp, [bp-002h] ; 8d 66 fe 6485 pop dx ; 5a 6486 pop bp ; 5d 6487 retn ; c3 6488 dispi_set_bpp_: ; 0xc364f LB 0x1f 6459 6489 push bp ; 55 6460 6490 mov bp, sp ; 89 e5 … … 6464 6494 mov ax, strict word 00003h ; b8 03 00 6465 6495 mov dx, 001ceh ; ba ce 01 6466 call 00570h ; e8 4dcf6496 call 00570h ; e8 11 cf 6467 6497 mov ax, bx ; 89 d8 6468 6498 mov dx, 001cfh ; ba cf 01 6469 call 00570h ; e8 45cf6499 call 00570h ; e8 09 cf 6470 6500 lea sp, [bp-004h] ; 8d 66 fc 6471 6501 pop dx ; 5a … … 6473 6503 pop bp ; 5d 6474 6504 retn ; c3 6475 dispi_get_bpp_: ; 0xc36 32LB 0x196505 dispi_get_bpp_: ; 0xc366e LB 0x19 6476 6506 push bp ; 55 6477 6507 mov bp, sp ; 89 e5 … … 6479 6509 mov ax, strict word 00003h ; b8 03 00 6480 6510 mov dx, 001ceh ; ba ce 01 6481 call 00570h ; e8 31 cf6511 call 00570h ; e8 f5 ce 6482 6512 mov dx, 001cfh ; ba cf 01 6483 call 00577h ; e8 32 cf6513 call 00577h ; e8 f6 ce 6484 6514 lea sp, [bp-002h] ; 8d 66 fe 6485 6515 pop dx ; 5a 6486 6516 pop bp ; 5d 6487 6517 retn ; c3 6488 dispi_set_virt_width_: ; 0xc36 4bLB 0x1f6518 dispi_set_virt_width_: ; 0xc3687 LB 0x1f 6489 6519 push bp ; 55 6490 6520 mov bp, sp ; 89 e5 … … 6494 6524 mov ax, strict word 00006h ; b8 06 00 6495 6525 mov dx, 001ceh ; ba ce 01 6496 call 00570h ; e8 15 cf6526 call 00570h ; e8 d9 ce 6497 6527 mov ax, bx ; 89 d8 6498 6528 mov dx, 001cfh ; ba cf 01 6499 call 00570h ; e8 0d cf6529 call 00570h ; e8 d1 ce 6500 6530 lea sp, [bp-004h] ; 8d 66 fc 6501 6531 pop dx ; 5a … … 6503 6533 pop bp ; 5d 6504 6534 retn ; c3 6505 dispi_get_virt_width_: ; 0xc36 6aLB 0x196535 dispi_get_virt_width_: ; 0xc36a6 LB 0x19 6506 6536 push bp ; 55 6507 6537 mov bp, sp ; 89 e5 … … 6509 6539 mov ax, strict word 00006h ; b8 06 00 6510 6540 mov dx, 001ceh ; ba ce 01 6511 call 00570h ; e8 f9ce6541 call 00570h ; e8 bd ce 6512 6542 mov dx, 001cfh ; ba cf 01 6513 call 00577h ; e8 face6543 call 00577h ; e8 be ce 6514 6544 lea sp, [bp-002h] ; 8d 66 fe 6515 6545 pop dx ; 5a 6516 6546 pop bp ; 5d 6517 6547 retn ; c3 6518 dispi_get_virt_height_: ; 0xc36 83LB 0x196548 dispi_get_virt_height_: ; 0xc36bf LB 0x19 6519 6549 push bp ; 55 6520 6550 mov bp, sp ; 89 e5 … … 6522 6552 mov ax, strict word 00007h ; b8 07 00 6523 6553 mov dx, 001ceh ; ba ce 01 6524 call 00570h ; e8 e0ce6554 call 00570h ; e8 a4 ce 6525 6555 mov dx, 001cfh ; ba cf 01 6526 call 00577h ; e8 e1ce6556 call 00577h ; e8 a5 ce 6527 6557 lea sp, [bp-002h] ; 8d 66 fe 6528 6558 pop dx ; 5a 6529 6559 pop bp ; 5d 6530 6560 retn ; c3 6531 in_word_: ; 0xc36 9cLB 0x126561 in_word_: ; 0xc36d8 LB 0x12 6532 6562 push bp ; 55 6533 6563 mov bp, sp ; 89 e5 … … 6542 6572 pop bp ; 5d 6543 6573 retn ; c3 6544 in_byte_: ; 0xc36 aeLB 0x146574 in_byte_: ; 0xc36ea LB 0x14 6545 6575 push bp ; 55 6546 6576 mov bp, sp ; 89 e5 … … 6557 6587 pop bp ; 5d 6558 6588 retn ; c3 6559 dispi_get_id_: ; 0xc36 c2LB 0x146589 dispi_get_id_: ; 0xc36fe LB 0x14 6560 6590 push bp ; 55 6561 6591 mov bp, sp ; 89 e5 … … 6570 6600 pop bp ; 5d 6571 6601 retn ; c3 6572 dispi_set_id_: ; 0xc3 6d6LB 0x1a6602 dispi_set_id_: ; 0xc3712 LB 0x1a 6573 6603 push bp ; 55 6574 6604 mov bp, sp ; 89 e5 … … 6587 6617 pop bp ; 5d 6588 6618 retn ; c3 6589 vbe_init_: ; 0xc3 6f0LB 0x2c6619 vbe_init_: ; 0xc372c LB 0x2c 6590 6620 push bp ; 55 6591 6621 mov bp, sp ; 89 e5 … … 6593 6623 push dx ; 52 6594 6624 mov ax, 0b0c0h ; b8 c0 b0 6595 call 03 6d6h ; e8 db ff6596 call 036 c2h ; e8 c4 ff6625 call 03712h ; e8 db ff 6626 call 036feh ; e8 c4 ff 6597 6627 cmp ax, 0b0c0h ; 3d c0 b0 6598 jne short 037 15h ; 75 126628 jne short 03751h ; 75 12 6599 6629 mov bx, strict word 00001h ; bb 01 00 6600 6630 mov dx, 000b9h ; ba b9 00 6601 6631 mov ax, strict word 00040h ; b8 40 00 6602 call 031 73h ; e8 64fa6632 call 03196h ; e8 4b fa 6603 6633 mov ax, 0b0c4h ; b8 c4 b0 6604 call 03 6d6h ; e8 c1 ff6634 call 03712h ; e8 c1 ff 6605 6635 lea sp, [bp-004h] ; 8d 66 fc 6606 6636 pop dx ; 5a … … 6608 6638 pop bp ; 5d 6609 6639 retn ; c3 6610 mode_info_find_mode_: ; 0xc37 1cLB 0x556640 mode_info_find_mode_: ; 0xc3758 LB 0x55 6611 6641 push bp ; 55 6612 6642 mov bp, sp ; 89 e5 … … 6619 6649 xor dx, dx ; 31 d2 6620 6650 mov ax, 003b6h ; b8 b6 03 6621 call 036 9ch ; e8 6d ff6651 call 036d8h ; e8 6d ff 6622 6652 cmp ax, 077cch ; 3d cc 77 6623 jne short 037 66h ; 75 326653 jne short 037a2h ; 75 32 6624 6654 mov bx, strict word 00004h ; bb 04 00 6625 6655 mov dx, bx ; 89 da 6626 6656 mov ax, 003b6h ; b8 b6 03 6627 call 036 9ch ; e8 5d ff6657 call 036d8h ; e8 5d ff 6628 6658 mov cx, ax ; 89 c1 6629 6659 cmp cx, strict byte 0ffffh ; 83 f9 ff 6630 je short 037 66h ; 74 206660 je short 037a2h ; 74 20 6631 6661 lea dx, [bx+002h] ; 8d 57 02 6632 6662 mov ax, 003b6h ; b8 b6 03 6633 call 036 9ch ; e8 4d ff6663 call 036d8h ; e8 4d ff 6634 6664 lea dx, [bx+044h] ; 8d 57 44 6635 6665 cmp cx, di ; 39 f9 6636 jne short 037 62h ; 75 0c6666 jne short 0379eh ; 75 0c 6637 6667 test si, si ; 85 f6 6638 jne short 037 5eh ; 75 046668 jne short 0379ah ; 75 04 6639 6669 mov ax, bx ; 89 d8 6640 jmp short 037 68h ; eb 0a6670 jmp short 037a4h ; eb 0a 6641 6671 test AL, strict byte 080h ; a8 80 6642 jne short 037 5ah ; 75 f86672 jne short 03796h ; 75 f8 6643 6673 mov bx, dx ; 89 d3 6644 jmp short 037 39h ; eb d36674 jmp short 03775h ; eb d3 6645 6675 xor ax, ax ; 31 c0 6646 6676 lea sp, [bp-008h] ; 8d 66 f8 … … 6651 6681 pop bp ; 5d 6652 6682 retn ; c3 6653 vbe_biosfn_return_controller_information_: ; 0xc37 71LB 0x12f6683 vbe_biosfn_return_controller_information_: ; 0xc37ad LB 0x12f 6654 6684 push bp ; 55 6655 6685 mov bp, sp ; 89 e5 … … 6662 6692 mov word [bp-00ah], bx ; 89 5e f6 6663 6693 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6664 call 005b7h ; e8 2e ce6694 call 005b7h ; e8 f2 cd 6665 6695 mov word [bp-010h], ax ; 89 46 f0 6666 6696 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6668 6698 xor dx, dx ; 31 d2 6669 6699 mov ax, 003b6h ; b8 b6 03 6670 call 036 9ch ; e8 02 ff6700 call 036d8h ; e8 02 ff 6671 6701 cmp ax, 077cch ; 3d cc 77 6672 je short 037 a9h ; 74 0a6702 je short 037e5h ; 74 0a 6673 6703 push SS ; 16 6674 6704 pop ES ; 07 6675 6705 mov word [es:si], 00100h ; 26 c7 04 00 01 6676 jmp near 038 98h ; e9 ef 006706 jmp near 038d4h ; e9 ef 00 6677 6707 mov cx, strict word 00004h ; b9 04 00 6678 6708 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6679 6709 mov es, [bp-008h] ; 8e 46 f8 6680 6710 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6681 jne short 037 c3h ; 75 076711 jne short 037ffh ; 75 07 6682 6712 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6683 je short 03 7d2h ; 74 0f6713 je short 0380eh ; 74 0f 6684 6714 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6685 jne short 03 7d7h ; 75 0c6715 jne short 03813h ; 75 0c 6686 6716 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6687 jne short 03 7d7h ; 75 056717 jne short 03813h ; 75 05 6688 6718 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6689 6719 mov es, [bp-008h] ; 8e 46 f8 … … 6691 6721 mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 6692 6722 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6693 mov word [es:bx+006h], 07c 5eh ; 26 c7 47 06 5e7c6723 mov word [es:bx+006h], 07c6ch ; 26 c7 47 06 6c 7c 6694 6724 mov [es:bx+008h], ds ; 26 8c 5f 08 6695 6725 mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 … … 6701 6731 mov dx, strict word 0ffffh ; ba ff ff 6702 6732 mov ax, 003b6h ; b8 b6 03 6703 call 036 9ch ; e8 84 fe6733 call 036d8h ; e8 84 fe 6704 6734 mov es, [bp-008h] ; 8e 46 f8 6705 6735 mov word [es:bx+012h], ax ; 26 89 47 12 6706 6736 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6707 je short 038 49h ; 74 246737 je short 03885h ; 74 24 6708 6738 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6709 mov word [es:bx+016h], 07c 73h ; 26 c7 47 16 737c6739 mov word [es:bx+016h], 07c81h ; 26 c7 47 16 81 7c 6710 6740 mov [es:bx+018h], ds ; 26 8c 5f 18 6711 mov word [es:bx+01ah], 07c 86h ; 26 c7 47 1a 867c6741 mov word [es:bx+01ah], 07c94h ; 26 c7 47 1a 94 7c 6712 6742 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6713 mov word [es:bx+01eh], 07c a7h ; 26 c7 47 1e a77c6743 mov word [es:bx+01eh], 07cb5h ; 26 c7 47 1e b5 7c 6714 6744 mov [es:bx+020h], ds ; 26 8c 5f 20 6715 6745 mov dx, cx ; 89 ca 6716 6746 add dx, strict byte 0001bh ; 83 c2 1b 6717 6747 mov ax, 003b6h ; b8 b6 03 6718 call 036 aeh ; e8 5a fe6748 call 036eah ; e8 5a fe 6719 6749 xor ah, ah ; 30 e4 6720 6750 cmp ax, word [bp-010h] ; 3b 46 f0 6721 jnbe short 038 74h ; 77 196751 jnbe short 038b0h ; 77 19 6722 6752 mov dx, cx ; 89 ca 6723 6753 mov ax, 003b6h ; b8 b6 03 6724 call 036 9ch ; e8 39 fe6754 call 036d8h ; e8 39 fe 6725 6755 mov bx, ax ; 89 c3 6726 6756 mov dx, word [bp-00ah] ; 8b 56 f6 6727 6757 add dx, word [bp-00ch] ; 03 56 f4 6728 6758 mov ax, di ; 89 f8 6729 call 031 8fh ; e8 1ff96759 call 031b2h ; e8 06 f9 6730 6760 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6731 6761 add cx, strict byte 00044h ; 83 c1 44 6732 6762 mov dx, cx ; 89 ca 6733 6763 mov ax, 003b6h ; b8 b6 03 6734 call 036 9ch ; e8 1d fe6764 call 036d8h ; e8 1d fe 6735 6765 mov bx, ax ; 89 c3 6736 6766 cmp ax, strict word 0ffffh ; 3d ff ff 6737 jne short 038 49h ; 75 c36767 jne short 03885h ; 75 c3 6738 6768 mov dx, word [bp-00ah] ; 8b 56 f6 6739 6769 add dx, word [bp-00ch] ; 03 56 f4 6740 6770 mov ax, di ; 89 f8 6741 call 031 8fh ; e8 fef86771 call 031b2h ; e8 e5 f8 6742 6772 push SS ; 16 6743 6773 pop ES ; 07 … … 6749 6779 pop bp ; 5d 6750 6780 retn ; c3 6751 vbe_biosfn_return_mode_information_: ; 0xc38 a0LB 0xbd6781 vbe_biosfn_return_mode_information_: ; 0xc38dc LB 0xbd 6752 6782 push bp ; 55 6753 6783 mov bp, sp ; 89 e5 … … 6761 6791 mov word [bp-006h], cx ; 89 4e fa 6762 6792 test dh, 040h ; f6 c6 40 6763 je short 038 b9h ; 74 056793 je short 038f5h ; 74 05 6764 6794 mov dx, strict word 00001h ; ba 01 00 6765 jmp short 038 bbh ; eb 026795 jmp short 038f7h ; eb 02 6766 6796 xor dx, dx ; 31 d2 6767 6797 and ah, 001h ; 80 e4 01 6768 call 037 1ch ; e8 5b fe6798 call 03758h ; e8 5b fe 6769 6799 mov word [bp-008h], ax ; 89 46 f8 6770 6800 test ax, ax ; 85 c0 6771 je short 03 8feh ; 74 366801 je short 0393ah ; 74 36 6772 6802 mov cx, 00100h ; b9 00 01 6773 6803 xor ax, ax ; 31 c0 … … 6775 6805 mov es, si ; 8e c6 6776 6806 cld ; fc 6777 jcxz 03 8d7h ; e3 026807 jcxz 03913h ; e3 02 6778 6808 rep stosb ; f3 aa 6779 6809 xor cx, cx ; 31 c9 6780 jmp short 03 8e0h ; eb 056810 jmp short 0391ch ; eb 05 6781 6811 cmp cx, strict byte 00042h ; 83 f9 42 6782 jnc short 039 00h ; 73 206812 jnc short 0393ch ; 73 20 6783 6813 mov dx, word [bp-008h] ; 8b 56 f8 6784 6814 inc dx ; 42 … … 6786 6816 add dx, cx ; 01 ca 6787 6817 mov ax, 003b6h ; b8 b6 03 6788 call 036 aeh ; e8 c1 fd6818 call 036eah ; e8 c1 fd 6789 6819 mov bl, al ; 88 c3 6790 6820 xor bh, bh ; 30 ff … … 6792 6822 add dx, cx ; 01 ca 6793 6823 mov ax, si ; 89 f0 6794 call 031 73h ; e8 78f86795 inc cx ; 41 6796 jmp short 03 8dbh ; eb dd6797 jmp short 039 4bh ; eb 4b6824 call 03196h ; e8 5f f8 6825 inc cx ; 41 6826 jmp short 03917h ; eb dd 6827 jmp short 03987h ; eb 4b 6798 6828 mov dx, word [bp-006h] ; 8b 56 fa 6799 6829 inc dx ; 42 6800 6830 inc dx ; 42 6801 6831 mov ax, si ; 89 f0 6802 call 031 65h ; e8 5bf86832 call 03188h ; e8 42 f8 6803 6833 test AL, strict byte 001h ; a8 01 6804 je short 039 2ah ; 74 1c6834 je short 03966h ; 74 1c 6805 6835 mov dx, word [bp-006h] ; 8b 56 fa 6806 6836 add dx, strict byte 0000ch ; 83 c2 0c 6807 6837 mov bx, 00629h ; bb 29 06 6808 6838 mov ax, si ; 89 f0 6809 call 031 8fh ; e8 73f86839 call 031b2h ; e8 5a f8 6810 6840 mov dx, word [bp-006h] ; 8b 56 fa 6811 6841 add dx, strict byte 0000eh ; 83 c2 0e 6812 6842 mov bx, 0c000h ; bb 00 c0 6813 6843 mov ax, si ; 89 f0 6814 call 031 8fh ; e8 65f86844 call 031b2h ; e8 4c f8 6815 6845 mov ax, strict word 0000bh ; b8 0b 00 6816 6846 mov dx, 001ceh ; ba ce 01 6817 call 00570h ; e8 3dcc6847 call 00570h ; e8 01 cc 6818 6848 mov dx, 001cfh ; ba cf 01 6819 call 00577h ; e8 3ecc6849 call 00577h ; e8 02 cc 6820 6850 mov dx, word [bp-006h] ; 8b 56 fa 6821 6851 add dx, strict byte 0002ah ; 83 c2 2a 6822 6852 mov bx, ax ; 89 c3 6823 6853 mov ax, si ; 89 f0 6824 call 031 8fh ; e8 49f86854 call 031b2h ; e8 30 f8 6825 6855 mov ax, strict word 0004fh ; b8 4f 00 6826 jmp short 039 4eh ; eb 036856 jmp short 0398ah ; eb 03 6827 6857 mov ax, 00100h ; b8 00 01 6828 6858 push SS ; 16 … … 6835 6865 pop bp ; 5d 6836 6866 retn ; c3 6837 vbe_biosfn_set_mode_: ; 0xc39 5dLB 0xeb6867 vbe_biosfn_set_mode_: ; 0xc3999 LB 0xeb 6838 6868 push bp ; 55 6839 6869 mov bp, sp ; 89 e5 … … 6844 6874 mov word [bp-00ah], dx ; 89 56 f6 6845 6875 test byte [bp-009h], 040h ; f6 46 f7 40 6846 je short 039 75h ; 74 056876 je short 039b1h ; 74 05 6847 6877 mov ax, strict word 00001h ; b8 01 00 6848 jmp short 039 77h ; eb 026878 jmp short 039b3h ; eb 02 6849 6879 xor ax, ax ; 31 c0 6850 6880 mov dx, ax ; 89 c2 6851 6881 test ax, ax ; 85 c0 6852 je short 039 80h ; 74 036882 je short 039bch ; 74 03 6853 6883 mov ax, strict word 00040h ; b8 40 00 6854 6884 mov byte [bp-006h], al ; 88 46 fa 6855 6885 test byte [bp-009h], 080h ; f6 46 f7 80 6856 je short 039 8eh ; 74 056886 je short 039cah ; 74 05 6857 6887 mov ax, 00080h ; b8 80 00 6858 jmp short 039 90h ; eb 026888 jmp short 039cch ; eb 02 6859 6889 xor ax, ax ; 31 c0 6860 6890 mov byte [bp-008h], al ; 88 46 f8 6861 6891 and byte [bp-009h], 001h ; 80 66 f7 01 6862 6892 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6863 jnc short 039 b1h ; 73 136893 jnc short 039edh ; 73 13 6864 6894 xor ax, ax ; 31 c0 6865 call 005ddh ; e8 3a cc6895 call 005ddh ; e8 fe cb 6866 6896 mov al, byte [bp-00ah] ; 8a 46 f6 6867 6897 xor ah, ah ; 30 e4 6868 call 0101ch ; e8 71d66898 call 0101ch ; e8 35 d6 6869 6899 mov ax, strict word 0004fh ; b8 4f 00 6870 jmp near 03a 3eh ; e9 8d 006900 jmp near 03a7ah ; e9 8d 00 6871 6901 mov ax, word [bp-00ah] ; 8b 46 f6 6872 call 037 1ch ; e8 65 fd6902 call 03758h ; e8 65 fd 6873 6903 mov bx, ax ; 89 c3 6874 6904 test ax, ax ; 85 c0 6875 jne short 039 c0h ; 75 036876 jmp near 03a 3bh ; e9 7b 006905 jne short 039fch ; 75 03 6906 jmp near 03a77h ; e9 7b 00 6877 6907 lea dx, [bx+014h] ; 8d 57 14 6878 6908 mov ax, 003b6h ; b8 b6 03 6879 call 036 9ch ; e8 d3 fc6909 call 036d8h ; e8 d3 fc 6880 6910 mov cx, ax ; 89 c1 6881 6911 lea dx, [bx+016h] ; 8d 57 16 6882 6912 mov ax, 003b6h ; b8 b6 03 6883 call 036 9ch ; e8 c8 fc6913 call 036d8h ; e8 c8 fc 6884 6914 mov di, ax ; 89 c7 6885 6915 lea dx, [bx+01bh] ; 8d 57 1b 6886 6916 mov ax, 003b6h ; b8 b6 03 6887 call 036 aeh ; e8 cf fc6917 call 036eah ; e8 cf fc 6888 6918 mov bl, al ; 88 c3 6889 6919 mov dl, al ; 88 c2 6890 6920 xor ax, ax ; 31 c0 6891 call 005ddh ; e8 f5cb6921 call 005ddh ; e8 b9 cb 6892 6922 cmp bl, 004h ; 80 fb 04 6893 jne short 03 9f3h ; 75 066923 jne short 03a2fh ; 75 06 6894 6924 mov ax, strict word 0006ah ; b8 6a 00 6895 call 0101ch ; e8 29 d66925 call 0101ch ; e8 ed d5 6896 6926 mov al, dl ; 88 d0 6897 6927 xor ah, ah ; 30 e4 6898 call 036 13h ; e8 19 fc6928 call 0364fh ; e8 19 fc 6899 6929 mov ax, cx ; 89 c8 6900 call 035 d5h ; e8 d6fb6930 call 035f8h ; e8 bd fb 6901 6931 mov ax, di ; 89 f8 6902 call 03 5f4h ; e8 f0fb6932 call 03617h ; e8 d7 fb 6903 6933 xor ax, ax ; 31 c0 6904 call 00603h ; e8 facb6934 call 00603h ; e8 be cb 6905 6935 mov al, byte [bp-008h] ; 8a 46 f8 6906 6936 or AL, strict byte 001h ; 0c 01 … … 6908 6938 mov dl, byte [bp-006h] ; 8a 56 fa 6909 6939 or al, dl ; 08 d0 6910 call 005ddh ; e8 c5cb6911 call 006d2h ; e8 b7cc6940 call 005ddh ; e8 89 cb 6941 call 006d2h ; e8 7b cc 6912 6942 mov bx, word [bp-00ah] ; 8b 5e f6 6913 6943 mov dx, 000bah ; ba ba 00 6914 6944 mov ax, strict word 00040h ; b8 40 00 6915 call 031 8fh ; e8 68f76945 call 031b2h ; e8 4f f7 6916 6946 mov bl, byte [bp-008h] ; 8a 5e f8 6917 6947 or bl, 060h ; 80 cb 60 … … 6919 6949 mov dx, 00087h ; ba 87 00 6920 6950 mov ax, strict word 00040h ; b8 40 00 6921 call 031 73h ; e8 3bf76922 jmp near 039 abh ; e9 70 ff6951 call 03196h ; e8 22 f7 6952 jmp near 039e7h ; e9 70 ff 6923 6953 mov ax, 00100h ; b8 00 01 6924 6954 mov word [ss:si], ax ; 36 89 04 … … 6928 6958 pop bp ; 5d 6929 6959 retn ; c3 6930 vbe_biosfn_read_video_state_size_: ; 0xc3a 48LB 0x86960 vbe_biosfn_read_video_state_size_: ; 0xc3a84 LB 0x8 6931 6961 push bp ; 55 6932 6962 mov bp, sp ; 89 e5 … … 6934 6964 pop bp ; 5d 6935 6965 retn ; c3 6936 vbe_biosfn_save_video_state_: ; 0xc3a 50LB 0x5b6966 vbe_biosfn_save_video_state_: ; 0xc3a8c LB 0x5b 6937 6967 push bp ; 55 6938 6968 mov bp, sp ; 89 e5 … … 6953 6983 mov dx, cx ; 89 ca 6954 6984 mov ax, di ; 89 f8 6955 call 031 8fh ; e8 1cf76985 call 031b2h ; e8 03 f7 6956 6986 inc cx ; 41 6957 6987 inc cx ; 41 6958 6988 test byte [bp-00ah], 001h ; f6 46 f6 01 6959 je short 03a a2h ; 74 276989 je short 03adeh ; 74 27 6960 6990 mov si, strict word 00001h ; be 01 00 6961 jmp short 03a 85h ; eb 056991 jmp short 03ac1h ; eb 05 6962 6992 cmp si, strict byte 00009h ; 83 fe 09 6963 jnbe short 03a a2h ; 77 1d6993 jnbe short 03adeh ; 77 1d 6964 6994 cmp si, strict byte 00004h ; 83 fe 04 6965 je short 03a 9fh ; 74 156995 je short 03adbh ; 74 15 6966 6996 mov ax, si ; 89 f0 6967 6997 mov dx, 001ceh ; ba ce 01 … … 6972 7002 mov dx, cx ; 89 ca 6973 7003 mov ax, di ; 89 f8 6974 call 031 8fh ; e8 f2f67004 call 031b2h ; e8 d9 f6 6975 7005 inc cx ; 41 6976 7006 inc cx ; 41 6977 7007 inc si ; 46 6978 jmp short 03a 80h ; eb de7008 jmp short 03abch ; eb de 6979 7009 lea sp, [bp-008h] ; 8d 66 f8 6980 7010 pop di ; 5f … … 6984 7014 pop bp ; 5d 6985 7015 retn ; c3 6986 vbe_biosfn_restore_video_state_: ; 0xc3a abLB 0x9b7016 vbe_biosfn_restore_video_state_: ; 0xc3ae7 LB 0x9b 6987 7017 push bp ; 55 6988 7018 mov bp, sp ; 89 e5 … … 6993 7023 mov cx, ax ; 89 c1 6994 7024 mov bx, dx ; 89 d3 6995 call 031 81h ; e8 c8f67025 call 031a4h ; e8 af f6 6996 7026 mov word [bp-008h], ax ; 89 46 f8 6997 7027 inc bx ; 43 6998 7028 inc bx ; 43 6999 7029 test byte [bp-008h], 001h ; f6 46 f8 01 7000 jne short 03 ad4h ; 75 107030 jne short 03b10h ; 75 10 7001 7031 mov ax, strict word 00004h ; b8 04 00 7002 7032 mov dx, 001ceh ; ba ce 01 … … 7005 7035 mov dx, 001cfh ; ba cf 01 7006 7036 out DX, ax ; ef 7007 jmp short 03b 3eh ; eb 6a7037 jmp short 03b7ah ; eb 6a 7008 7038 mov ax, strict word 00001h ; b8 01 00 7009 7039 mov dx, 001ceh ; ba ce 01 … … 7011 7041 mov dx, bx ; 89 da 7012 7042 mov ax, cx ; 89 c8 7013 call 031 81h ; e8 9ff67043 call 031a4h ; e8 86 f6 7014 7044 mov dx, 001cfh ; ba cf 01 7015 7045 out DX, ax ; ef … … 7021 7051 mov dx, bx ; 89 da 7022 7052 mov ax, cx ; 89 c8 7023 call 031 81h ; e8 8bf67053 call 031a4h ; e8 72 f6 7024 7054 mov dx, 001cfh ; ba cf 01 7025 7055 out DX, ax ; ef … … 7031 7061 mov dx, bx ; 89 da 7032 7062 mov ax, cx ; 89 c8 7033 call 031 81h ; e8 77f67063 call 031a4h ; e8 5e f6 7034 7064 mov dx, 001cfh ; ba cf 01 7035 7065 out DX, ax ; ef … … 7043 7073 out DX, ax ; ef 7044 7074 mov si, strict word 00005h ; be 05 00 7045 jmp short 03b 28h ; eb 057075 jmp short 03b64h ; eb 05 7046 7076 cmp si, strict byte 00009h ; 83 fe 09 7047 jnbe short 03b 3eh ; 77 167077 jnbe short 03b7ah ; 77 16 7048 7078 mov ax, si ; 89 f0 7049 7079 mov dx, 001ceh ; ba ce 01 … … 7051 7081 mov dx, bx ; 89 da 7052 7082 mov ax, cx ; 89 c8 7053 call 031 81h ; e8 4cf67083 call 031a4h ; e8 33 f6 7054 7084 mov dx, 001cfh ; ba cf 01 7055 7085 out DX, ax ; ef … … 7057 7087 inc bx ; 43 7058 7088 inc si ; 46 7059 jmp short 03b 23h ; eb e57089 jmp short 03b5fh ; eb e5 7060 7090 lea sp, [bp-006h] ; 8d 66 fa 7061 7091 pop si ; 5e … … 7064 7094 pop bp ; 5d 7065 7095 retn ; c3 7066 vbe_biosfn_save_restore_state_: ; 0xc3b 46LB 0x8c7096 vbe_biosfn_save_restore_state_: ; 0xc3b82 LB 0x8c 7067 7097 push bp ; 55 7068 7098 mov bp, sp ; 89 e5 … … 7077 7107 xor ah, ah ; 30 e4 7078 7108 cmp ax, strict word 00002h ; 3d 02 00 7079 je short 03b a5h ; 74 457109 je short 03be1h ; 74 45 7080 7110 cmp ax, strict word 00001h ; 3d 01 00 7081 je short 03b 89h ; 74 247111 je short 03bc5h ; 74 24 7082 7112 test ax, ax ; 85 c0 7083 jne short 03b c1h ; 75 587113 jne short 03bfdh ; 75 58 7084 7114 mov ax, word [bp-006h] ; 8b 46 fa 7085 call 02a 51h ; e8 e2ee7115 call 02a74h ; e8 c9 ee 7086 7116 mov cx, ax ; 89 c1 7087 7117 test byte [bp-006h], 008h ; f6 46 fa 08 7088 je short 03b 7ch ; 74 057089 call 03a 48h ; e8 ce fe7118 je short 03bb8h ; 74 05 7119 call 03a84h ; e8 ce fe 7090 7120 add ax, cx ; 01 c8 7091 7121 add ax, strict word 0003fh ; 05 3f 00 … … 7094 7124 pop ES ; 07 7095 7125 mov word [es:bx], ax ; 26 89 07 7096 jmp short 03 bc4h ; eb 3b7126 jmp short 03c00h ; eb 3b 7097 7127 push SS ; 16 7098 7128 pop ES ; 07 … … 7100 7130 mov dx, cx ; 89 ca 7101 7131 mov ax, word [bp-006h] ; 8b 46 fa 7102 call 02a 86h ; e8 f0ee7132 call 02aa9h ; e8 d7 ee 7103 7133 test byte [bp-006h], 008h ; f6 46 fa 08 7104 je short 03 bc4h ; 74 287134 je short 03c00h ; 74 28 7105 7135 mov dx, ax ; 89 c2 7106 7136 mov ax, cx ; 89 c8 7107 call 03a 50h ; e8 ad fe7108 jmp short 03 bc4h ; eb 1f7137 call 03a8ch ; e8 ad fe 7138 jmp short 03c00h ; eb 1f 7109 7139 push SS ; 16 7110 7140 pop ES ; 07 … … 7112 7142 mov dx, cx ; 89 ca 7113 7143 mov ax, word [bp-006h] ; 8b 46 fa 7114 call 02e 07h ; e8 55f27144 call 02e2ah ; e8 3c f2 7115 7145 test byte [bp-006h], 008h ; f6 46 fa 08 7116 je short 03 bc4h ; 74 0c7146 je short 03c00h ; 74 0c 7117 7147 mov dx, ax ; 89 c2 7118 7148 mov ax, cx ; 89 c8 7119 call 03a abh ; e8 ec fe7120 jmp short 03 bc4h ; eb 037149 call 03ae7h ; e8 ec fe 7150 jmp short 03c00h ; eb 03 7121 7151 mov di, 00100h ; bf 00 01 7122 7152 push SS ; 16 … … 7128 7158 pop bp ; 5d 7129 7159 retn 00002h ; c2 02 00 7130 vbe_biosfn_get_set_scanline_length_: ; 0xc3 bd2 LB 0xb07160 vbe_biosfn_get_set_scanline_length_: ; 0xc3c0e LB 0xdf 7131 7161 push bp ; 55 7132 7162 mov bp, sp ; 89 e5 7133 7163 push si ; 56 7134 7164 push di ; 57 7135 sub sp, strict byte 00006h ; 83 ec 06 7136 push ax ; 50 7137 mov si, dx ; 89 d6 7138 mov di, bx ; 89 df 7139 mov word [bp-008h], cx ; 89 4e f8 7140 call 03632h ; e8 4d fa 7141 mov cl, al ; 88 c1 7142 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 7165 sub sp, strict byte 00008h ; 83 ec 08 7166 push ax ; 50 7167 mov di, dx ; 89 d7 7168 mov word [bp-008h], bx ; 89 5e f8 7169 mov si, cx ; 89 ce 7170 call 0366eh ; e8 4d fa 7171 cmp AL, strict byte 00fh ; 3c 0f 7172 jne short 03c2ah ; 75 05 7173 mov bx, strict word 00010h ; bb 10 00 7174 jmp short 03c2eh ; eb 04 7175 xor ah, ah ; 30 e4 7176 mov bx, ax ; 89 c3 7177 mov byte [bp-006h], bl ; 88 5e fa 7178 call 036a6h ; e8 72 fa 7179 mov word [bp-00ah], ax ; 89 46 f6 7180 mov word [bp-00ch], strict word 0004fh ; c7 46 f4 4f 00 7143 7181 push SS ; 16 7144 7182 pop ES ; 07 7145 mov bx, word [es:di] ; 26 8b 1d 7146 mov al, byte [es:si] ; 26 8a 04 7147 cmp AL, strict byte 002h ; 3c 02 7148 je short 03c02h ; 74 0a 7149 cmp AL, strict byte 001h ; 3c 01 7150 je short 03c2ah ; 74 2e 7151 test al, al ; 84 c0 7152 je short 03c25h ; 74 25 7153 jmp short 03c6bh ; eb 69 7154 cmp cl, 004h ; 80 f9 04 7155 jne short 03c0ch ; 75 05 7183 mov bx, word [bp-008h] ; 8b 5e f8 7184 mov bx, word [es:bx] ; 26 8b 1f 7185 mov cl, byte [es:di] ; 26 8a 0d 7186 cmp cl, 002h ; 80 f9 02 7187 je short 03c58h ; 74 0c 7188 cmp cl, 001h ; 80 f9 01 7189 je short 03c7eh ; 74 2d 7190 test cl, cl ; 84 c9 7191 je short 03c79h ; 74 24 7192 jmp near 03cd6h ; e9 7e 00 7193 mov al, byte [bp-006h] ; 8a 46 fa 7194 cmp AL, strict byte 004h ; 3c 04 7195 jne short 03c64h ; 75 05 7156 7196 sal bx, 003h ; c1 e3 03 7157 jmp short 03c25h ; eb 19 7158 mov al, cl ; 88 c8 7197 jmp short 03c79h ; eb 15 7159 7198 xor ah, ah ; 30 e4 7160 7199 cwd ; 99 … … 7163 7202 ; sbb ax, dx ; 1b c2 7164 7203 sar ax, 003h ; c1 f8 03 7165 mov word [bp-00ah], ax ; 89 46 f67204 mov cx, ax ; 89 c1 7166 7205 mov ax, bx ; 89 d8 7167 7206 xor dx, dx ; 31 d2 7168 div word [bp-00ah] ; f7 76 f67207 div cx ; f7 f1 7169 7208 mov bx, ax ; 89 c3 7170 7209 mov ax, bx ; 89 d8 7171 call 036 4bh ; e8 21fa7172 call 036 6ah ; e8 3dfa7173 mov bx, ax ; 89 c37210 call 03687h ; e8 09 fa 7211 call 036a6h ; e8 25 fa 7212 mov cx, ax ; 89 c1 7174 7213 push SS ; 16 7175 7214 pop ES ; 07 7176 mov word [es:di], ax ; 26 89 05 7177 cmp cl, 004h ; 80 f9 04 7178 jne short 03c3eh ; 75 05 7215 mov bx, word [bp-008h] ; 8b 5e f8 7216 mov word [es:bx], ax ; 26 89 07 7217 mov al, byte [bp-006h] ; 8a 46 fa 7218 cmp AL, strict byte 004h ; 3c 04 7219 jne short 03c99h ; 75 07 7220 mov bx, cx ; 89 cb 7179 7221 shr bx, 003h ; c1 eb 03 7180 jmp short 03c53h ; eb 15 7181 mov al, cl ; 88 c8 7222 jmp short 03cach ; eb 13 7182 7223 xor ah, ah ; 30 e4 7183 7224 cwd ; 99 … … 7186 7227 ; sbb ax, dx ; 1b c2 7187 7228 sar ax, 003h ; c1 f8 03 7188 mov di, ax ; 89 c77189 mov ax, bx ; 89 d87190 mul di ; f7 e77229 mov bx, ax ; 89 c3 7230 mov ax, cx ; 89 c8 7231 mul bx ; f7 e3 7191 7232 mov bx, ax ; 89 c3 7192 7233 add bx, strict byte 00003h ; 83 c3 03 … … 7194 7235 push SS ; 16 7195 7236 pop ES ; 07 7196 mov word [es: si], bx ; 26 89 1c7197 call 036 83h ; e8 22fa7237 mov word [es:di], bx ; 26 89 1d 7238 call 036bfh ; e8 05 fa 7198 7239 push SS ; 16 7199 7240 pop ES ; 07 7200 mov bx, word [bp-008h] ; 8b 5e f8 7201 mov word [es:bx], ax ; 26 89 07 7202 jmp short 03c70h ; eb 05 7203 mov word [bp-006h], 00100h ; c7 46 fa 00 01 7241 mov word [es:si], ax ; 26 89 04 7242 call 03636h ; e8 74 f9 7204 7243 push SS ; 16 7205 7244 pop ES ; 07 7206 mov ax, word [bp-006h] ; 8b 46 fa 7207 mov bx, word [bp-00ch] ; 8b 5e f4 7245 cmp ax, word [es:si] ; 26 3b 04 7246 jbe short 03cdbh ; 76 12 7247 mov ax, word [bp-00ah] ; 8b 46 f6 7248 call 03687h ; e8 b8 f9 7249 mov word [bp-00ch], 00200h ; c7 46 f4 00 02 7250 jmp short 03cdbh ; eb 05 7251 mov word [bp-00ch], 00100h ; c7 46 f4 00 01 7252 push SS ; 16 7253 pop ES ; 07 7254 mov ax, word [bp-00ch] ; 8b 46 f4 7255 mov bx, word [bp-00eh] ; 8b 5e f2 7208 7256 mov word [es:bx], ax ; 26 89 07 7209 7257 lea sp, [bp-004h] ; 8d 66 fc … … 7213 7261 retn ; c3 7214 7262 7215 ; Padding 0x7 7e bytes at 0xc3c827216 times 1 918db 07263 ; Padding 0x713 bytes at 0xc3ced 7264 times 1811 db 0 7217 7265 7218 7266 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 7346 7394 times 235 db 0 7347 7395 7348 section _DATA progbits vstart=0x4600 align=1 ; size=0x37 1fclass=DATA group=DGROUP7349 _msg_vga_init: ; 0xc4600 LB 0x 2f7350 db 'Oracle VM VirtualBox Version 5. 1.51 VGA BIOS', 00dh, 00ah, 000h7351 _vga_modes: ; 0xc46 2fLB 0x807396 section _DATA progbits vstart=0x4600 align=1 ; size=0x3732 class=DATA group=DGROUP 7397 _msg_vga_init: ; 0xc4600 LB 0x34 7398 db 'Oracle VM VirtualBox Version 5.2.0_BETA1 VGA BIOS', 00dh, 00ah, 000h 7399 _vga_modes: ; 0xc4634 LB 0x80 7352 7400 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 7353 7401 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 7358 7406 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7359 7407 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7360 _line_to_vpti: ; 0xc46 afLB 0x107408 _line_to_vpti: ; 0xc46b4 LB 0x10 7361 7409 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 7362 _dac_regs: ; 0xc46 bfLB 0x47410 _dac_regs: ; 0xc46c4 LB 0x4 7363 7411 dd 0ff3f3f3fh 7364 _video_param_table: ; 0xc46c 3LB 0x7807412 _video_param_table: ; 0xc46c8 LB 0x780 7365 7413 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7366 7414 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 7483 7531 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 7484 7532 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 7485 _palette0: ; 0xc4e4 3LB 0xc07533 _palette0: ; 0xc4e48 LB 0xc0 7486 7534 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7487 7535 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 7496 7544 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7497 7545 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7498 _palette1: ; 0xc4f0 3LB 0xc07546 _palette1: ; 0xc4f08 LB 0xc0 7499 7547 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7500 7548 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 7509 7557 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7510 7558 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7511 _palette2: ; 0xc4fc 3LB 0xc07559 _palette2: ; 0xc4fc8 LB 0xc0 7512 7560 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7513 7561 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7522 7570 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7523 7571 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7524 _palette3: ; 0xc508 3LB 0x3007572 _palette3: ; 0xc5088 LB 0x300 7525 7573 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7526 7574 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7571 7619 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7572 7620 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7573 _static_functionality: ; 0xc538 3LB 0x107621 _static_functionality: ; 0xc5388 LB 0x10 7574 7622 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7575 _dcc_table: ; 0xc539 3LB 0x247623 _dcc_table: ; 0xc5398 LB 0x24 7576 7624 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7577 7625 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7578 7626 db 000h, 000h, 000h, 000h 7579 _secondary_save_area: ; 0xc53b 7LB 0x1a7580 db 01ah, 000h, 09 3h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7627 _secondary_save_area: ; 0xc53bc LB 0x1a 7628 db 01ah, 000h, 098h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7581 7629 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7582 _video_save_pointer_table: ; 0xc53d 1LB 0x1c7583 db 0c 3h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7584 db 0b 7h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7585 _vgafont8: ; 0xc53 edLB 0x8007630 _video_save_pointer_table: ; 0xc53d6 LB 0x1c 7631 db 0c8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7632 db 0bch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7633 _vgafont8: ; 0xc53f2 LB 0x800 7586 7634 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7587 7635 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7712 7760 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7713 7761 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7714 _vgafont14: ; 0xc5b edLB 0xe007762 _vgafont14: ; 0xc5bf2 LB 0xe00 7715 7763 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7716 7764 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7937 7985 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7938 7986 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7939 _vgafont16: ; 0xc69 edLB 0x10007987 _vgafont16: ; 0xc69f2 LB 0x1000 7940 7988 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7941 7989 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 8194 8242 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 8195 8243 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8196 _vgafont14alt: ; 0xc79 edLB 0x12d8244 _vgafont14alt: ; 0xc79f2 LB 0x12d 8197 8245 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 8198 8246 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 8214 8262 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 8215 8263 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 8216 _vgafont16alt: ; 0xc7b1 aLB 0x1448264 _vgafont16alt: ; 0xc7b1f LB 0x144 8217 8265 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 8218 8266 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 8236 8284 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 8237 8285 db 006h, 000h, 000h, 000h 8238 _vbebios_copyright: ; 0xc7c5e LB 0x15 8286 _cga_msr: ; 0xc7c63 LB 0x9 8287 db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h 8288 _vbebios_copyright: ; 0xc7c6c LB 0x15 8239 8289 db 'VirtualBox VESA BIOS', 000h 8240 _vbebios_vendor_name: ; 0xc7c 73LB 0x138290 _vbebios_vendor_name: ; 0xc7c81 LB 0x13 8241 8291 db 'Oracle Corporation', 000h 8242 _vbebios_product_name: ; 0xc7c 86LB 0x218292 _vbebios_product_name: ; 0xc7c94 LB 0x21 8243 8293 db 'Oracle VM VirtualBox VBE Adapter', 000h 8244 _vbebios_product_revision: ; 0xc7c a7 LB 0x248245 db 'Oracle VM VirtualBox Version 5. 1.51', 000h8246 _vbebios_info_string: ; 0xc7c cbLB 0x2b8294 _vbebios_product_revision: ; 0xc7cb5 LB 0x29 8295 db 'Oracle VM VirtualBox Version 5.2.0_BETA1', 000h 8296 _vbebios_info_string: ; 0xc7cde LB 0x2b 8247 8297 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 8248 _no_vbebios_info_string: ; 0xc7 cf6LB 0x298298 _no_vbebios_info_string: ; 0xc7d09 LB 0x29 8249 8299 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 8250 8300 8251 ; Padding 0x1 bytes at 0xc7d1f 8252 db 001h 8301 section CONST progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 8253 8302 8254 section CONST progbits vstart=0x7d20align=1 ; size=0x0 class=DATA group=DGROUP8303 section CONST2 progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 8255 8304 8256 section CONST2 progbits vstart=0x7d20 align=1 ; size=0x0 class=DATA group=DGROUP 8257 8258 ; Padding 0x2e0 bytes at 0xc7d20 8259 db 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh, 065h 8260 db 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh, 075h 8261 db 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h, 065h 8262 db 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 8263 db 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h, 061h 8264 db 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h, 000h 8265 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8266 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8267 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8268 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8269 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8270 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8271 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8272 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8273 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8274 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8275 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8276 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8277 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8278 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8279 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8280 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8281 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8282 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8283 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8284 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8285 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8286 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8287 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8288 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8289 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8290 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8291 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8292 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8293 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8294 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8295 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8296 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8297 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8298 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8299 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8300 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8301 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8302 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8303 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8304 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 012h 8305 ; Padding 0x2ce bytes at 0xc7d32 8306 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 8307 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh 8308 db 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h 8309 db 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h 8310 db 067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 8311 db 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h 8312 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8313 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8314 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8315 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8316 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8317 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8318 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8319 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8320 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8321 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8322 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8323 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8324 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8325 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8326 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8327 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8328 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8329 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8330 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8331 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8332 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8333 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8334 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8335 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8336 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8337 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8338 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8339 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8340 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8341 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8342 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8343 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8344 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8345 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8346 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8347 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8348 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8349 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8350 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 091h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum
r67771 r68290 1 c07f3ce46876cfd3480942a249080396*VBoxVgaBios286.rom1 39faac9aa1fcedb936e9e2dfe6e8744e *VBoxVgaBios286.rom -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm
r67771 r68290 250 250 mov bx, 0c000h ; bb 00 c0 251 251 mov ds, bx ; 8e db 252 call 030 1eh ; e8 372f252 call 03037h ; e8 50 2f 253 253 popaw ; 61 254 254 pop DS ; 1f … … 1438 1438 times 246 db 0 1439 1439 1440 section _TEXT progbits vstart=0xa00 align=1 ; size=0x30 81class=CODE group=AUTO1440 section _TEXT progbits vstart=0xa00 align=1 ; size=0x30d9 class=CODE group=AUTO 1441 1441 set_int_vector_: ; 0xc0a00 LB 0x1a 1442 1442 push bx ; 53 … … 1492 1492 call 00a1ah ; e8 ac ff 1493 1493 call 00a36h ; e8 c5 ff 1494 call 035 03h ; e8 8f2a1494 call 03535h ; e8 c1 2a 1495 1495 mov dx, strict word 00022h ; ba 22 00 1496 1496 mov ax, strict word 00010h ; b8 10 00 … … 1519 1519 mov dx, strict word 00060h ; ba 60 00 1520 1520 mov ax, strict word 00040h ; b8 40 00 1521 call 02f 5ah ; e8 ae241521 call 02f73h ; e8 c7 24 1522 1522 push SS ; 16 1523 1523 pop ES ; 07 … … 1527 1527 add dx, strict byte 00050h ; 83 c2 50 1528 1528 mov ax, strict word 00040h ; b8 40 00 1529 call 02f 5ah ; e8 9b241529 call 02f73h ; e8 b4 24 1530 1530 push SS ; 16 1531 1531 pop ES ; 07 … … 1548 1548 mov dx, strict word 00049h ; ba 49 00 1549 1549 mov ax, strict word 00040h ; b8 40 00 1550 call 02f 3eh ; e8 5c241550 call 02f57h ; e8 75 24 1551 1551 xor ah, ah ; 30 e4 1552 call 02f 17h ; e8 30241552 call 02f30h ; e8 49 24 1553 1553 mov ch, al ; 88 c5 1554 1554 cmp AL, strict byte 0ffh ; 3c ff … … 1566 1566 mov dx, 00084h ; ba 84 00 1567 1567 mov ax, strict word 00040h ; b8 40 00 1568 call 02f 3eh ; e8 2b241568 call 02f57h ; e8 44 24 1569 1569 movzx di, al ; 0f b6 f8 1570 1570 inc di ; 47 1571 1571 mov dx, strict word 0004ah ; ba 4a 00 1572 1572 mov ax, strict word 00040h ; b8 40 00 1573 call 02f 5ah ; e8 3a241573 call 02f73h ; e8 53 24 1574 1574 movzx bx, ch ; 0f b6 dd 1575 1575 sal bx, 003h ; c1 e3 03 1576 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001576 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1577 1577 jne short 00b5ah ; 75 2d 1578 1578 mov dx, ax ; 89 c2 … … 1590 1590 mov dx, cx ; 89 ca 1591 1591 add dx, ax ; 01 c2 1592 mov ax, word [bx+0463 3h] ; 8b 87 33461593 call 02f 5ah ; e8 03241592 mov ax, word [bx+04638h] ; 8b 87 38 46 1593 call 02f73h ; e8 1c 24 1594 1594 mov word [ss:si], ax ; 36 89 04 1595 1595 lea sp, [bp-008h] ; 8d 66 f8 … … 1628 1628 mov dx, strict word 0007ch ; ba 7c 00 1629 1629 xor ax, ax ; 31 c0 1630 call 02f 76h ; e8 e0231630 call 02f8fh ; e8 f9 23 1631 1631 push SS ; 16 1632 1632 pop ES ; 07 … … 1636 1636 mov dx, 00085h ; ba 85 00 1637 1637 mov ax, strict word 00040h ; b8 40 00 1638 call 02f 3eh ; e8 94231638 call 02f57h ; e8 ad 23 1639 1639 xor ah, ah ; 30 e4 1640 1640 push SS ; 16 … … 1643 1643 mov dx, 00084h ; ba 84 00 1644 1644 mov ax, strict word 00040h ; b8 40 00 1645 call 02f 3eh ; e8 84231645 call 02f57h ; e8 9d 23 1646 1646 xor ah, ah ; 30 e4 1647 1647 push SS ; 16 … … 1656 1656 mov dx, 0010ch ; ba 0c 01 1657 1657 jmp short 00b91h ; eb bf 1658 mov ax, 05b edh ; b8 ed5b1658 mov ax, 05bf2h ; b8 f2 5b 1659 1659 mov dx, 0c000h ; ba 00 c0 1660 1660 jmp short 00b96h ; eb bc 1661 mov ax, 053 edh ; b8 ed531661 mov ax, 053f2h ; b8 f2 53 1662 1662 jmp short 00bd5h ; eb f6 1663 mov ax, 057 edh ; b8 ed571663 mov ax, 057f2h ; b8 f2 57 1664 1664 jmp short 00bd5h ; eb f1 1665 mov ax, 079 edh ; b8 ed791665 mov ax, 079f2h ; b8 f2 79 1666 1666 jmp short 00bd5h ; eb ec 1667 mov ax, 069 edh ; b8 ed691667 mov ax, 069f2h ; b8 f2 69 1668 1668 jmp short 00bd5h ; eb e7 1669 mov ax, 07b1 ah ; b8 1a7b1669 mov ax, 07b1fh ; b8 1f 7b 1670 1670 jmp short 00bd5h ; eb e2 1671 1671 jmp short 00bc4h ; eb cf … … 1681 1681 mov dx, strict word 00049h ; ba 49 00 1682 1682 mov ax, strict word 00040h ; b8 40 00 1683 call 02f 3eh ; e8 31231683 call 02f57h ; e8 4a 23 1684 1684 xor ah, ah ; 30 e4 1685 call 02f 17h ; e8 05231685 call 02f30h ; e8 1e 23 1686 1686 mov cl, al ; 88 c1 1687 1687 cmp AL, strict byte 0ffh ; 3c ff … … 1689 1689 movzx bx, al ; 0f b6 d8 1690 1690 sal bx, 003h ; c1 e3 03 1691 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001691 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1692 1692 je near 00d27h ; 0f 84 fe 00 1693 mov bl, byte [bx+0463 1h] ; 8a 9f 31461693 mov bl, byte [bx+04636h] ; 8a 9f 36 46 1694 1694 cmp bl, 003h ; 80 fb 03 1695 1695 jc short 00c43h ; 72 11 … … 1705 1705 mov dx, strict word 0004ah ; ba 4a 00 1706 1706 mov ax, strict word 00040h ; b8 40 00 1707 call 02f 5ah ; e8 06231707 call 02f73h ; e8 1f 23 1708 1708 imul ax, word [bp-00ah] ; 0f af 46 f6 1709 1709 mov bx, si ; 89 f3 … … 1726 1726 mov dx, bx ; 89 da 1727 1727 mov ax, 0a000h ; b8 00 a0 1728 call 02f 3eh ; e8 b0221728 call 02f57h ; e8 c9 22 1729 1729 and al, byte [bp-008h] ; 22 46 f8 1730 1730 test al, al ; 84 c0 … … 1747 1747 mov dx, bx ; 89 da 1748 1748 mov ax, 0b800h ; b8 00 b8 1749 call 02f 3eh ; e8 7b221749 call 02f57h ; e8 94 22 1750 1750 movzx bx, cl ; 0f b6 d9 1751 1751 sal bx, 003h ; c1 e3 03 1752 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 021752 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 1753 1753 jne short 00cebh ; 75 1b 1754 1754 mov cx, si ; 89 f1 … … 1777 1777 mov dx, strict word 0004ah ; ba 4a 00 1778 1778 mov ax, strict word 00040h ; b8 40 00 1779 call 02f 5ah ; e8 4d221779 call 02f73h ; e8 66 22 1780 1780 sal ax, 003h ; c1 e0 03 1781 1781 imul ax, word [bp-00ah] ; 0f af 46 f6 … … 1783 1783 add dx, ax ; 01 c2 1784 1784 mov ax, 0a000h ; b8 00 a0 1785 call 02f 3eh ; e8 20221785 call 02f57h ; e8 39 22 1786 1786 mov ch, al ; 88 c5 1787 1787 jmp short 00d24h ; eb 02 … … 1890 1890 mov dx, strict word 00060h ; ba 60 00 1891 1891 mov ax, strict word 00040h ; b8 40 00 1892 call 02f 68h ; e8 87211892 call 02f81h ; e8 a0 21 1893 1893 mov dx, 00089h ; ba 89 00 1894 1894 mov ax, strict word 00040h ; b8 40 00 1895 call 02f 3eh ; e8 54211895 call 02f57h ; e8 6d 21 1896 1896 mov bl, al ; 88 c3 1897 1897 mov dx, 00085h ; ba 85 00 1898 1898 mov ax, strict word 00040h ; b8 40 00 1899 call 02f 5ah ; e8 65211899 call 02f73h ; e8 7e 21 1900 1900 mov dx, ax ; 89 c2 1901 1901 test bl, 001h ; f6 c3 01 … … 1928 1928 mov dx, strict word 00063h ; ba 63 00 1929 1929 mov ax, strict word 00040h ; b8 40 00 1930 call 02f 5ah ; e8 1e211930 call 02f73h ; e8 37 21 1931 1931 mov bx, ax ; 89 c3 1932 1932 mov AL, strict byte 00ah ; b0 0a … … 1967 1967 mov bx, cx ; 89 cb 1968 1968 mov ax, strict word 00040h ; b8 40 00 1969 call 02f 68h ; e8 e7 201969 call 02f81h ; e8 00 21 1970 1970 mov dx, strict word 00062h ; ba 62 00 1971 1971 mov ax, strict word 00040h ; b8 40 00 1972 call 02f 3eh ; e8 b4201972 call 02f57h ; e8 cd 20 1973 1973 cmp al, byte [bp-008h] ; 3a 46 f8 1974 1974 jne short 00ef8h ; 75 69 1975 1975 mov dx, strict word 0004ah ; ba 4a 00 1976 1976 mov ax, strict word 00040h ; b8 40 00 1977 call 02f 5ah ; e8 c2201977 call 02f73h ; e8 db 20 1978 1978 mov bx, ax ; 89 c3 1979 1979 mov dx, 00084h ; ba 84 00 1980 1980 mov ax, strict word 00040h ; b8 40 00 1981 call 02f 3eh ; e8 9b201981 call 02f57h ; e8 b4 20 1982 1982 xor ah, ah ; 30 e4 1983 1983 mov dx, ax ; 89 c2 … … 1999 1999 mov dx, strict word 00063h ; ba 63 00 2000 2000 mov ax, strict word 00040h ; b8 40 00 2001 call 02f 5ah ; e8 84202001 call 02f73h ; e8 9d 20 2002 2002 mov bx, ax ; 89 c3 2003 2003 mov AL, strict byte 00eh ; b0 0e … … 2038 2038 mov dx, strict word 00049h ; ba 49 00 2039 2039 mov ax, strict word 00040h ; b8 40 00 2040 call 02f 3eh ; e8 23202040 call 02f57h ; e8 3c 20 2041 2041 xor ah, ah ; 30 e4 2042 call 02f 17h ; e8 f7 1f2042 call 02f30h ; e8 10 20 2043 2043 mov ch, al ; 88 c5 2044 2044 cmp AL, strict byte 0ffh ; 3c ff … … 2051 2051 mov si, bx ; 89 de 2052 2052 sal si, 003h ; c1 e6 03 2053 cmp byte [si+0463 0h], 000h ; 80 bc 3046 002053 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 2054 2054 jne short 00f83h ; 75 40 2055 2055 mov dx, strict word 0004ah ; ba 4a 00 2056 2056 mov ax, strict word 00040h ; b8 40 00 2057 call 02f 5ah ; e8 0e202057 call 02f73h ; e8 27 20 2058 2058 mov bx, ax ; 89 c3 2059 2059 mov dx, 00084h ; ba 84 00 2060 2060 mov ax, strict word 00040h ; b8 40 00 2061 call 02f 3eh ; e8 e7 1f2061 call 02f57h ; e8 00 20 2062 2062 xor ah, ah ; 30 e4 2063 2063 inc ax ; 40 … … 2073 2073 mov dx, strict word 0004eh ; ba 4e 00 2074 2074 mov ax, strict word 00040h ; b8 40 00 2075 call 02f 68h ; e8 f1 1f2075 call 02f81h ; e8 0a 20 2076 2076 or si, 000ffh ; 81 ce ff 00 2077 2077 lea bx, [si+001h] ; 8d 5c 01 2078 2078 imul bx, di ; 0f af df 2079 2079 jmp short 00f95h ; eb 12 2080 movzx bx, byte [bx+046 afh] ; 0f b6 9f af462080 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 2081 2081 sal bx, 006h ; c1 e3 06 2082 2082 movzx ax, cl ; 0f b6 c1 2083 mov bx, word [bx+046c 6h] ; 8b 9f c6462083 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2084 2084 imul bx, ax ; 0f af d8 2085 2085 mov dx, strict word 00063h ; ba 63 00 2086 2086 mov ax, strict word 00040h ; b8 40 00 2087 call 02f 5ah ; e8 bc1f2087 call 02f73h ; e8 d5 1f 2088 2088 mov si, ax ; 89 c6 2089 2089 mov AL, strict byte 00ch ; b0 0c … … 2106 2106 mov dx, strict word 00062h ; ba 62 00 2107 2107 mov ax, strict word 00040h ; b8 40 00 2108 call 02f 4ch ; e8 821f2108 call 02f65h ; e8 9b 1f 2109 2109 mov dx, word [bp-00eh] ; 8b 56 f2 2110 2110 mov ax, si ; 89 f0 … … 2118 2118 pop bp ; 5d 2119 2119 retn ; c3 2120 biosfn_set_video_mode_: ; 0xc0fdc LB 0x3 912120 biosfn_set_video_mode_: ; 0xc0fdc LB 0x3aa 2121 2121 push bp ; 55 2122 2122 mov bp, sp ; 89 e5 … … 2126 2126 push si ; 56 2127 2127 push di ; 57 2128 sub sp, strict byte 0001 0h ; 83 ec 102129 mov byte [bp-0 0ch], al ; 88 46 f42128 sub sp, strict byte 00012h ; 83 ec 12 2129 mov byte [bp-010h], al ; 88 46 f0 2130 2130 and AL, strict byte 080h ; 24 80 2131 mov byte [bp-0 10h], al ; 88 46 f02131 mov byte [bp-00eh], al ; 88 46 f2 2132 2132 call 007bfh ; e8 cd f7 2133 2133 test ax, ax ; 85 c0 … … 2139 2139 mov dx, 003c5h ; ba c5 03 2140 2140 out DX, AL ; ee 2141 and byte [bp-0 0ch], 07fh ; 80 66 f47f2142 cmp byte [bp-0 0ch], 007h ; 80 7e f4072141 and byte [bp-010h], 07fh ; 80 66 f0 7f 2142 cmp byte [bp-010h], 007h ; 80 7e f0 07 2143 2143 jne short 01010h ; 75 04 2144 mov byte [bp-0 0ch], 000h ; c6 46 f4002145 movzx ax, byte [bp-0 0ch] ; 0f b6 46 f42146 call 02f 17h ; e8 001f2144 mov byte [bp-010h], 000h ; c6 46 f0 00 2145 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2146 call 02f30h ; e8 19 1f 2147 2147 mov byte [bp-012h], al ; 88 46 ee 2148 2148 cmp AL, strict byte 0ffh ; 3c ff 2149 je near 013 63h ; 0f 84 43032149 je near 0137ch ; 0f 84 5c 03 2150 2150 movzx si, al ; 0f b6 f0 2151 mov al, byte [si+046 afh] ; 8a 84 af462152 mov byte [bp-00 eh], al ; 88 46 f22151 mov al, byte [si+046b4h] ; 8a 84 b4 46 2152 mov byte [bp-00ch], al ; 88 46 f4 2153 2153 movzx bx, al ; 0f b6 d8 2154 2154 sal bx, 006h ; c1 e3 06 2155 movzx ax, byte [bx+046c3h] ; 0f b6 87 c3 46 2155 movzx ax, byte [bx+046c8h] ; 0f b6 87 c8 46 2156 mov word [bp-016h], ax ; 89 46 ea 2157 movzx ax, byte [bx+046c9h] ; 0f b6 87 c9 46 2156 2158 mov word [bp-018h], ax ; 89 46 e8 2157 movzx ax, byte [bx+046c4h] ; 0f b6 87 c4 46 2158 mov word [bp-016h], ax ; 89 46 ea 2159 movzx ax, byte [bx+046c5h] ; 0f b6 87 c5 46 2159 movzx ax, byte [bx+046cah] ; 0f b6 87 ca 46 2160 2160 mov word [bp-014h], ax ; 89 46 ec 2161 2161 mov dx, 00087h ; ba 87 00 2162 2162 mov ax, strict word 00040h ; b8 40 00 2163 call 02f 3eh ; e8 ed 1e2163 call 02f57h ; e8 06 1f 2164 2164 mov dx, 00088h ; ba 88 00 2165 2165 mov ax, strict word 00040h ; b8 40 00 2166 call 02f 3eh ; e8 e41e2166 call 02f57h ; e8 fd 1e 2167 2167 mov dx, 00089h ; ba 89 00 2168 2168 mov ax, strict word 00040h ; b8 40 00 2169 call 02f 3eh ; e8 db1e2170 mov ah, al ; 88 c42169 call 02f57h ; e8 f4 1e 2170 mov cl, al ; 88 c1 2171 2171 test AL, strict byte 008h ; a8 08 2172 2172 jne near 010f5h ; 0f 85 8a 00 2173 2173 mov bx, si ; 89 f3 2174 2174 sal bx, 003h ; c1 e3 03 2175 mov al, byte [bx+0463 5h] ; 8a 87 35462175 mov al, byte [bx+0463ah] ; 8a 87 3a 46 2176 2176 mov dx, 003c6h ; ba c6 03 2177 2177 out DX, AL ; ee … … 2179 2179 mov dx, 003c8h ; ba c8 03 2180 2180 out DX, AL ; ee 2181 mov bl, byte [bx+0463 6h] ; 8a 9f 36462181 mov bl, byte [bx+0463bh] ; 8a 9f 3b 46 2182 2182 cmp bl, 001h ; 80 fb 01 2183 2183 jc short 01095h ; 72 0e … … 2190 2190 test bl, bl ; 84 db 2191 2191 jne short 010abh ; 75 12 2192 mov di, 04e4 3h ; bf 434e2192 mov di, 04e48h ; bf 48 4e 2193 2193 jmp short 010abh ; eb 0d 2194 mov di, 04f0 3h ; bf 034f2194 mov di, 04f08h ; bf 08 4f 2195 2195 jmp short 010abh ; eb 08 2196 mov di, 04fc 3h ; bf c34f2196 mov di, 04fc8h ; bf c8 4f 2197 2197 jmp short 010abh ; eb 03 2198 mov di, 0508 3h ; bf 83502198 mov di, 05088h ; bf 88 50 2199 2199 xor bx, bx ; 31 db 2200 2200 jmp short 010beh ; eb 0f … … 2209 2209 movzx si, byte [bp-012h] ; 0f b6 76 ee 2210 2210 sal si, 003h ; c1 e6 03 2211 movzx si, byte [si+0463 6h] ; 0f b6 b4 36462212 movzx dx, byte [si+046bfh] ; 0f b6 94 bf462213 cmp bx, dx ; 39 d32211 movzx si, byte [si+0463bh] ; 0f b6 b4 3b 46 2212 movzx ax, byte [si+046c4h] ; 0f b6 84 c4 46 2213 cmp bx, ax ; 39 c3 2214 2214 jnbe short 010afh ; 77 dc 2215 2215 imul si, bx, strict byte 00003h ; 6b f3 03 … … 2223 2223 out DX, AL ; ee 2224 2224 jmp short 010b7h ; eb cf 2225 test ah, 002h ; f6 c4022225 test cl, 002h ; f6 c1 02 2226 2226 je short 010f5h ; 74 08 2227 2227 mov dx, 00100h ; ba 00 01 … … 2239 2239 mov dx, 003c0h ; ba c0 03 2240 2240 out DX, AL ; ee 2241 movzx si, byte [bp-00 eh] ; 0f b6 76 f22241 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2242 2242 sal si, 006h ; c1 e6 06 2243 2243 add si, bx ; 01 de 2244 mov al, byte [si+046e 6h] ; 8a 84 e6462244 mov al, byte [si+046ebh] ; 8a 84 eb 46 2245 2245 out DX, AL ; ee 2246 2246 inc bx ; 43 … … 2263 2263 mov dx, 003c4h ; ba c4 03 2264 2264 out DX, AL ; ee 2265 movzx si, byte [bp-00 eh] ; 0f b6 76 f22265 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2266 2266 sal si, 006h ; c1 e6 06 2267 2267 add si, bx ; 01 de 2268 mov al, byte [si+046c 7h] ; 8a 84 c7462268 mov al, byte [si+046cch] ; 8a 84 cc 46 2269 2269 mov dx, 003c5h ; ba c5 03 2270 2270 out DX, AL ; ee … … 2278 2278 mov dx, 003ceh ; ba ce 03 2279 2279 out DX, AL ; ee 2280 movzx si, byte [bp-00 eh] ; 0f b6 76 f22280 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2281 2281 sal si, 006h ; c1 e6 06 2282 2282 add si, bx ; 01 de 2283 mov al, byte [si+046f ah] ; 8a 84 fa462283 mov al, byte [si+046ffh] ; 8a 84 ff 46 2284 2284 mov dx, 003cfh ; ba cf 03 2285 2285 out DX, AL ; ee … … 2288 2288 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2289 2289 sal bx, 003h ; c1 e3 03 2290 cmp byte [bx+0463 1h], 001h ; 80 bf 3146 012290 cmp byte [bx+04636h], 001h ; 80 bf 36 46 01 2291 2291 jne short 01188h ; 75 05 2292 2292 mov dx, 003b4h ; ba b4 03 2293 2293 jmp short 0118bh ; eb 03 2294 2294 mov dx, 003d4h ; ba d4 03 2295 mov si, dx ; 89 d62295 mov word [bp-01ah], dx ; 89 56 e6 2296 2296 mov ax, strict word 00011h ; b8 11 00 2297 2297 out DX, ax ; ef 2298 2298 xor bx, bx ; 31 db 2299 jmp short 0119 ah ; eb 052299 jmp short 0119bh ; eb 05 2300 2300 cmp bx, strict byte 00018h ; 83 fb 18 2301 jnbe short 011b5h ; 77 1 b2301 jnbe short 011b5h ; 77 1a 2302 2302 mov al, bl ; 88 d8 2303 mov dx, si ; 89 f22304 out DX, AL ; ee 2305 movzx cx, byte [bp-00eh] ; 0f b6 4e f22306 sal cx, 006h ; c1 e1062307 mov di, cx ; 89 cf2303 mov dx, word [bp-01ah] ; 8b 56 e6 2304 out DX, AL ; ee 2305 movzx si, byte [bp-00ch] ; 0f b6 76 f4 2306 sal si, 006h ; c1 e6 06 2307 mov di, si ; 89 f7 2308 2308 add di, bx ; 01 df 2309 lea dx, [si+001h] ; 8d 54 012310 mov al, byte [di+046 cdh] ; 8a 85 cd462309 inc dx ; 42 2310 mov al, byte [di+046d2h] ; 8a 85 d2 46 2311 2311 out DX, AL ; ee 2312 2312 inc bx ; 43 2313 jmp short 01195h ; eb e0 2314 mov bx, cx ; 89 cb 2315 mov al, byte [bx+046cch] ; 8a 87 cc 46 2313 jmp short 01196h ; eb e1 2314 mov al, byte [si+046d1h] ; 8a 84 d1 46 2316 2315 mov dx, 003c2h ; ba c2 03 2317 2316 out DX, AL ; ee … … 2323 2322 db 02ah, 0e4h 2324 2323 ; sub ah, ah ; 2a e4 2325 cmp byte [bp-0 10h], 000h ; 80 7e f0002326 jne short 012 30h ; 75 5f2324 cmp byte [bp-00eh], 000h ; 80 7e f2 00 2325 jne short 0122eh ; 75 5f 2327 2326 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2328 2327 sal bx, 003h ; c1 e3 03 2329 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002330 jne short 011f 2h ; 75 132331 mov es, [bx+0463 3h] ; 8e 87 33462328 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2329 jne short 011f0h ; 75 13 2330 mov es, [bx+04638h] ; 8e 87 38 46 2332 2331 mov cx, 04000h ; b9 00 40 2333 2332 mov ax, 00720h ; b8 20 07 2334 2333 xor di, di ; 31 ff 2335 2334 cld ; fc 2336 jcxz 011 f0h ; e3 022335 jcxz 011eeh ; e3 02 2337 2336 rep stosw ; f3 ab 2338 jmp short 012 30h ; eb 3e2339 cmp byte [bp-0 0ch], 00dh ; 80 7e f40d2340 jnc short 0120 ah ; 73 122341 mov es, [bx+0463 3h] ; 8e 87 33462337 jmp short 0122eh ; eb 3e 2338 cmp byte [bp-010h], 00dh ; 80 7e f0 0d 2339 jnc short 01208h ; 73 12 2340 mov es, [bx+04638h] ; 8e 87 38 46 2342 2341 mov cx, 04000h ; b9 00 40 2343 2342 xor ax, ax ; 31 c0 2344 2343 xor di, di ; 31 ff 2345 2344 cld ; fc 2346 jcxz 0120 8h ; e3 022345 jcxz 01206h ; e3 02 2347 2346 rep stosw ; f3 ab 2348 jmp short 012 30h ; eb 262347 jmp short 0122eh ; eb 26 2349 2348 mov AL, strict byte 002h ; b0 02 2350 2349 mov dx, 003c4h ; ba c4 03 … … 2354 2353 db 02ah, 0e4h 2355 2354 ; sub ah, ah ; 2a e4 2356 mov word [bp-01 ah], ax ; 89 46 e62355 mov word [bp-01ch], ax ; 89 46 e4 2357 2356 mov AL, strict byte 00fh ; b0 0f 2358 2357 out DX, AL ; ee 2359 mov es, [bx+0463 3h] ; 8e 87 33462358 mov es, [bx+04638h] ; 8e 87 38 46 2360 2359 mov cx, 08000h ; b9 00 80 2361 2360 xor ax, ax ; 31 c0 2362 2361 xor di, di ; 31 ff 2363 2362 cld ; fc 2364 jcxz 0122 ch ; e3 022363 jcxz 0122ah ; e3 02 2365 2364 rep stosw ; f3 ab 2366 mov al, byte [bp-01ah] ; 8a 46 e6 2367 out DX, AL ; ee 2365 mov al, byte [bp-01ch] ; 8a 46 e4 2366 out DX, AL ; ee 2367 movzx si, byte [bp-010h] ; 0f b6 76 f0 2368 mov bx, si ; 89 f3 2369 mov dx, strict word 00049h ; ba 49 00 2370 mov ax, strict word 00040h ; b8 40 00 2371 call 02f65h ; e8 28 1d 2372 mov bx, word [bp-016h] ; 8b 5e ea 2373 mov dx, strict word 0004ah ; ba 4a 00 2374 mov ax, strict word 00040h ; b8 40 00 2375 call 02f81h ; e8 38 1d 2368 2376 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2369 mov dx, strict word 00049h ; ba 49 002370 mov ax, strict word 00040h ; b8 40 002371 call 02f4ch ; e8 0f 1d2372 mov bx, word [bp-018h] ; 8b 5e e82373 mov dx, strict word 0004ah ; ba 4a 002374 mov ax, strict word 00040h ; b8 40 002375 call 02f68h ; e8 1f 1d2376 movzx bx, byte [bp-00eh] ; 0f b6 5e f22377 2377 sal bx, 006h ; c1 e3 06 2378 mov bx, word [bx+046c 6h] ; 8b 9f c6462378 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2379 2379 mov dx, strict word 0004ch ; ba 4c 00 2380 2380 mov ax, strict word 00040h ; b8 40 00 2381 call 02f 68h ; e8 0b1d2382 mov bx, si ; 89 f32381 call 02f81h ; e8 24 1d 2382 mov bx, word [bp-01ah] ; 8b 5e e6 2383 2383 mov dx, strict word 00063h ; ba 63 00 2384 2384 mov ax, strict word 00040h ; b8 40 00 2385 call 02f 68h ; e8 001d2386 movzx bx, byte [bp-01 6h] ; 0f b6 5e ea2385 call 02f81h ; e8 18 1d 2386 movzx bx, byte [bp-018h] ; 0f b6 5e e8 2387 2387 mov dx, 00084h ; ba 84 00 2388 2388 mov ax, strict word 00040h ; b8 40 00 2389 call 02f 4ch ; e8 d71c2389 call 02f65h ; e8 ef 1c 2390 2390 mov bx, word [bp-014h] ; 8b 5e ec 2391 2391 mov dx, 00085h ; ba 85 00 2392 2392 mov ax, strict word 00040h ; b8 40 00 2393 call 02f 68h ; e8 e71c2394 mov al, byte [bp-0 10h] ; 8a 46 f02393 call 02f81h ; e8 ff 1c 2394 mov al, byte [bp-00eh] ; 8a 46 f2 2395 2395 or AL, strict byte 060h ; 0c 60 2396 2396 movzx bx, al ; 0f b6 d8 2397 2397 mov dx, 00087h ; ba 87 00 2398 2398 mov ax, strict word 00040h ; b8 40 00 2399 call 02f 4ch ; e8 ba1c2399 call 02f65h ; e8 d2 1c 2400 2400 mov bx, 000f9h ; bb f9 00 2401 2401 mov dx, 00088h ; ba 88 00 2402 2402 mov ax, strict word 00040h ; b8 40 00 2403 call 02f 4ch ; e8 ae1c2403 call 02f65h ; e8 c6 1c 2404 2404 mov dx, 00089h ; ba 89 00 2405 2405 mov ax, strict word 00040h ; b8 40 00 2406 call 02f 3eh ; e8 971c2406 call 02f57h ; e8 af 1c 2407 2407 and AL, strict byte 07fh ; 24 7f 2408 2408 movzx bx, al ; 0f b6 d8 2409 2409 mov dx, 00089h ; ba 89 00 2410 2410 mov ax, strict word 00040h ; b8 40 00 2411 call 02f 4ch ; e8 971c2411 call 02f65h ; e8 af 1c 2412 2412 mov bx, strict word 00008h ; bb 08 00 2413 2413 mov dx, 0008ah ; ba 8a 00 2414 2414 mov ax, strict word 00040h ; b8 40 00 2415 call 02f 4ch ; e8 8b1c2415 call 02f65h ; e8 a3 1c 2416 2416 mov cx, ds ; 8c d9 2417 mov bx, 053d 1h ; bb d1532417 mov bx, 053d6h ; bb d6 53 2418 2418 mov dx, 000a8h ; ba a8 00 2419 2419 mov ax, strict word 00040h ; b8 40 00 2420 call 02f88h ; e8 b9 1c 2421 xor bx, bx ; 31 db 2420 call 02fa1h ; e8 d1 1c 2421 cmp byte [bp-010h], 007h ; 80 7e f0 07 2422 jnbe short 012feh ; 77 28 2423 movzx bx, byte [si+07c63h] ; 0f b6 9c 63 7c 2422 2424 mov dx, strict word 00065h ; ba 65 00 2423 2425 mov ax, strict word 00040h ; b8 40 00 2424 call 02f4ch ; e8 72 1c 2425 xor bx, bx ; 31 db 2426 call 02f65h ; e8 81 1c 2427 cmp byte [bp-010h], 006h ; 80 7e f0 06 2428 jne short 012efh ; 75 05 2429 mov dx, strict word 0003fh ; ba 3f 00 2430 jmp short 012f2h ; eb 03 2431 mov dx, strict word 00030h ; ba 30 00 2432 movzx bx, dl ; 0f b6 da 2426 2433 mov dx, strict word 00066h ; ba 66 00 2427 2434 mov ax, strict word 00040h ; b8 40 00 2428 call 02f 4ch ; e8 67 1c2435 call 02f65h ; e8 67 1c 2429 2436 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2430 2437 sal bx, 003h ; c1 e3 03 2431 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002432 jne short 01 2fch ; 75 092438 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2439 jne short 01315h ; 75 09 2433 2440 mov dx, strict word 00007h ; ba 07 00 2434 2441 mov ax, strict word 00006h ; b8 06 00 2435 call 00dbah ; e8 befa2442 call 00dbah ; e8 a5 fa 2436 2443 xor bx, bx ; 31 db 2437 jmp short 013 05h ; eb 052444 jmp short 0131eh ; eb 05 2438 2445 cmp bx, strict byte 00008h ; 83 fb 08 2439 jnc short 013 10h ; 73 0b2446 jnc short 01329h ; 73 0b 2440 2447 movzx ax, bl ; 0f b6 c3 2441 2448 xor dx, dx ; 31 d2 2442 call 00e5eh ; e8 51fb2449 call 00e5eh ; e8 38 fb 2443 2450 inc bx ; 43 2444 jmp short 013 00h ; eb f02451 jmp short 01319h ; eb f0 2445 2452 xor ax, ax ; 31 c0 2446 call 00f00h ; e8 ebfb2453 call 00f00h ; e8 d2 fb 2447 2454 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2448 2455 sal bx, 003h ; c1 e3 03 2449 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002450 jne short 013 33h ; 75 102456 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2457 jne short 0134ch ; 75 10 2451 2458 xor bl, bl ; 30 db 2452 2459 mov AL, strict byte 004h ; b0 04 … … 2457 2464 mov AH, strict byte 011h ; b4 11 2458 2465 int 010h ; cd 10 2459 mov dx, 057 edh ; ba ed572466 mov dx, 057f2h ; ba f2 57 2460 2467 mov ax, strict word 0001fh ; b8 1f 00 2461 call 00a00h ; e8 c4f62468 call 00a00h ; e8 ab f6 2462 2469 mov ax, word [bp-014h] ; 8b 46 ec 2463 2470 cmp ax, strict word 00010h ; 3d 10 00 2464 je short 013 5eh ; 74 1a2471 je short 01377h ; 74 1a 2465 2472 cmp ax, strict word 0000eh ; 3d 0e 00 2466 je short 013 59h ; 74 102473 je short 01372h ; 74 10 2467 2474 cmp ax, strict word 00008h ; 3d 08 00 2468 jne short 013 63h ; 75 152469 mov dx, 053 edh ; ba ed532475 jne short 0137ch ; 75 15 2476 mov dx, 053f2h ; ba f2 53 2470 2477 mov ax, strict word 00043h ; b8 43 00 2471 call 00a00h ; e8 a9f62472 jmp short 013 63h ; eb 0a2473 mov dx, 05b edh ; ba ed5b2474 jmp short 013 51h ; eb f32475 mov dx, 069 edh ; ba ed692476 jmp short 013 51h ; eb ee2478 call 00a00h ; e8 90 f6 2479 jmp short 0137ch ; eb 0a 2480 mov dx, 05bf2h ; ba f2 5b 2481 jmp short 0136ah ; eb f3 2482 mov dx, 069f2h ; ba f2 69 2483 jmp short 0136ah ; eb ee 2477 2484 lea sp, [bp-00ah] ; 8d 66 f6 2478 2485 pop di ; 5f … … 2483 2490 pop bp ; 5d 2484 2491 retn ; c3 2485 vgamem_copy_pl4_: ; 0xc13 6dLB 0x762492 vgamem_copy_pl4_: ; 0xc1386 LB 0x76 2486 2493 push bp ; 55 2487 2494 mov bp, sp ; 89 e5 … … 2509 2516 xor bl, bl ; 30 db 2510 2517 cmp bl, byte [bp+006h] ; 3a 5e 06 2511 jnc short 013 d3h ; 73 292518 jnc short 013ech ; 73 29 2512 2519 movzx cx, bh ; 0f b6 cf 2513 2520 movzx si, bl ; 0f b6 f3 … … 2521 2528 mov es, dx ; 8e c2 2522 2529 cld ; fc 2523 jcxz 013 cfh ; e3 062530 jcxz 013e8h ; e3 06 2524 2531 push DS ; 1e 2525 2532 mov ds, dx ; 8e da … … 2528 2535 db 0feh, 0c3h 2529 2536 ; inc bl ; fe c3 2530 jmp short 013 a5h ; eb d22537 jmp short 013beh ; eb d2 2531 2538 mov ax, strict word 00005h ; b8 05 00 2532 2539 mov dx, 003ceh ; ba ce 03 … … 2537 2544 pop bp ; 5d 2538 2545 retn 00004h ; c2 04 00 2539 vgamem_fill_pl4_: ; 0xc13 e3LB 0x612546 vgamem_fill_pl4_: ; 0xc13fc LB 0x61 2540 2547 push bp ; 55 2541 2548 mov bp, sp ; 89 e5 … … 2558 2565 xor bl, bl ; 30 db 2559 2566 cmp bl, byte [bp+004h] ; 3a 5e 04 2560 jnc short 014 35h ; 73 222567 jnc short 0144eh ; 73 22 2561 2568 movzx cx, byte [bp-004h] ; 0f b6 4e fc 2562 2569 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2568 2575 mov es, dx ; 8e c2 2569 2576 cld ; fc 2570 jcxz 014 31h ; e3 022577 jcxz 0144ah ; e3 02 2571 2578 rep stosb ; f3 aa 2572 2579 db 0feh, 0c3h 2573 2580 ; inc bl ; fe c3 2574 jmp short 014 0eh ; eb d92581 jmp short 01427h ; eb d9 2575 2582 mov ax, strict word 00005h ; b8 05 00 2576 2583 mov dx, 003ceh ; ba ce 03 … … 2580 2587 pop bp ; 5d 2581 2588 retn 00004h ; c2 04 00 2582 vgamem_copy_cga_: ; 0xc14 44LB 0xa42589 vgamem_copy_cga_: ; 0xc145d LB 0xa4 2583 2590 push bp ; 55 2584 2591 mov bp, sp ; 89 e5 … … 2605 2612 xor bl, bl ; 30 db 2606 2613 cmp bl, byte [bp+006h] ; 3a 5e 06 2607 jnc short 014 dfh ; 73 612614 jnc short 014f8h ; 73 61 2608 2615 test bl, 001h ; f6 c3 01 2609 je short 014 b4h ; 74 312616 je short 014cdh ; 74 31 2610 2617 movzx cx, bh ; 0f b6 cf 2611 2618 movzx si, bl ; 0f b6 f3 … … 2622 2629 mov es, dx ; 8e c2 2623 2630 cld ; fc 2624 jcxz 014 b2h ; e3 062631 jcxz 014cbh ; e3 06 2625 2632 push DS ; 1e 2626 2633 mov ds, dx ; 8e da 2627 2634 rep movsb ; f3 a4 2628 2635 pop DS ; 1f 2629 jmp short 014 dbh ; eb 272636 jmp short 014f4h ; eb 27 2630 2637 movzx cx, bh ; 0f b6 cf 2631 2638 movzx ax, bl ; 0f b6 c3 … … 2640 2647 mov es, dx ; 8e c2 2641 2648 cld ; fc 2642 jcxz 014 dbh ; e3 062649 jcxz 014f4h ; e3 06 2643 2650 push DS ; 1e 2644 2651 mov ds, dx ; 8e da … … 2647 2654 db 0feh, 0c3h 2648 2655 ; inc bl ; fe c3 2649 jmp short 014 79h ; eb 9a2656 jmp short 01492h ; eb 9a 2650 2657 lea sp, [bp-004h] ; 8d 66 fc 2651 2658 pop di ; 5f … … 2653 2660 pop bp ; 5d 2654 2661 retn 00004h ; c2 04 00 2655 vgamem_fill_cga_: ; 0xc1 4e8LB 0x8a2662 vgamem_fill_cga_: ; 0xc1501 LB 0x8a 2656 2663 push bp ; 55 2657 2664 mov bp, sp ; 89 e5 … … 2672 2679 xor bl, bl ; 30 db 2673 2680 cmp bl, byte [bp+004h] ; 3a 5e 04 2674 jnc short 015 69h ; 73 572681 jnc short 01582h ; 73 57 2675 2682 test bl, 001h ; f6 c3 01 2676 je short 015 46h ; 74 2f2683 je short 0155fh ; 74 2f 2677 2684 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2678 2685 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2689 2696 mov es, dx ; 8e c2 2690 2697 cld ; fc 2691 jcxz 015 44h ; e3 022698 jcxz 0155dh ; e3 02 2692 2699 rep stosb ; f3 aa 2693 jmp short 015 65h ; eb 1f2700 jmp short 0157eh ; eb 1f 2694 2701 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2695 2702 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2702 2709 mov es, dx ; 8e c2 2703 2710 cld ; fc 2704 jcxz 015 65h ; e3 022711 jcxz 0157eh ; e3 02 2705 2712 rep stosb ; f3 aa 2706 2713 db 0feh, 0c3h 2707 2714 ; inc bl ; fe c3 2708 jmp short 015 0dh ; eb a42715 jmp short 01526h ; eb a4 2709 2716 lea sp, [bp-004h] ; 8d 66 fc 2710 2717 pop di ; 5f … … 2712 2719 pop bp ; 5d 2713 2720 retn 00004h ; c2 04 00 2714 biosfn_scroll_: ; 0xc15 72LB 0x5062721 biosfn_scroll_: ; 0xc158b LB 0x506 2715 2722 push bp ; 55 2716 2723 mov bp, sp ; 89 e5 … … 2723 2730 mov byte [bp-006h], cl ; 88 4e fa 2724 2731 cmp bl, byte [bp+004h] ; 3a 5e 04 2725 jnbe near 01a 6fh ; 0f 87 e2 042732 jnbe near 01a88h ; 0f 87 e2 04 2726 2733 cmp cl, byte [bp+006h] ; 3a 4e 06 2727 jnbe near 01a 6fh ; 0f 87 db 042734 jnbe near 01a88h ; 0f 87 db 04 2728 2735 mov dx, strict word 00049h ; ba 49 00 2729 2736 mov ax, strict word 00040h ; b8 40 00 2730 call 02f 3eh ; e8 a1 192737 call 02f57h ; e8 a1 19 2731 2738 xor ah, ah ; 30 e4 2732 call 02f 17h ; e8 75 192739 call 02f30h ; e8 75 19 2733 2740 mov byte [bp-00eh], al ; 88 46 f2 2734 2741 cmp AL, strict byte 0ffh ; 3c ff 2735 je near 01a 6fh ; 0f 84 c4 042742 je near 01a88h ; 0f 84 c4 04 2736 2743 mov dx, 00084h ; ba 84 00 2737 2744 mov ax, strict word 00040h ; b8 40 00 2738 call 02f 3eh ; e8 8a 192745 call 02f57h ; e8 8a 19 2739 2746 movzx cx, al ; 0f b6 c8 2740 2747 inc cx ; 41 2741 2748 mov dx, strict word 0004ah ; ba 4a 00 2742 2749 mov ax, strict word 00040h ; b8 40 00 2743 call 02f 5ah ; e8 99 192750 call 02f73h ; e8 99 19 2744 2751 mov word [bp-016h], ax ; 89 46 ea 2745 2752 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 2746 jne short 015 d6h ; 75 0c2753 jne short 015efh ; 75 0c 2747 2754 mov dx, strict word 00062h ; ba 62 00 2748 2755 mov ax, strict word 00040h ; b8 40 00 2749 call 02f 3eh ; e8 6b 192756 call 02f57h ; e8 6b 19 2750 2757 mov byte [bp+008h], al ; 88 46 08 2751 2758 movzx ax, byte [bp+004h] ; 0f b6 46 04 2752 2759 cmp ax, cx ; 39 c8 2753 jc short 015 e5h ; 72 072760 jc short 015feh ; 72 07 2754 2761 mov al, cl ; 88 c8 2755 2762 db 0feh, 0c8h … … 2758 2765 movzx ax, byte [bp+006h] ; 0f b6 46 06 2759 2766 cmp ax, word [bp-016h] ; 3b 46 ea 2760 jc short 01 5f6h ; 72 082767 jc short 0160fh ; 72 08 2761 2768 mov al, byte [bp-016h] ; 8a 46 ea 2762 2769 db 0feh, 0c8h … … 2765 2772 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2766 2773 cmp ax, cx ; 39 c8 2767 jbe short 016 02h ; 76 042774 jbe short 0161bh ; 76 04 2768 2775 mov byte [bp-010h], 000h ; c6 46 f0 00 2769 2776 mov al, byte [bp+006h] ; 8a 46 06 … … 2783 2790 mov ax, word [bp-016h] ; 8b 46 ea 2784 2791 imul ax, cx ; 0f af c1 2785 cmp byte [di+0463 0h], 000h ; 80 bd 3046 002786 jne near 017 d1h ; 0f 85 9f 012792 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 2793 jne near 017eah ; 0f 85 9f 01 2787 2794 mov dx, ax ; 89 c2 2788 2795 add dx, ax ; 01 c2 … … 2792 2799 imul bx, dx ; 0f af da 2793 2800 cmp byte [bp-010h], 000h ; 80 7e f0 00 2794 jne short 016 81h ; 75 3a2801 jne short 0169ah ; 75 3a 2795 2802 cmp byte [bp-008h], 000h ; 80 7e f8 00 2796 jne short 016 81h ; 75 342803 jne short 0169ah ; 75 34 2797 2804 cmp byte [bp-006h], 000h ; 80 7e fa 00 2798 jne short 016 81h ; 75 2e2805 jne short 0169ah ; 75 2e 2799 2806 movzx dx, byte [bp+004h] ; 0f b6 56 04 2800 2807 cmp dx, word [bp-01ah] ; 3b 56 e6 2801 jne short 016 81h ; 75 252808 jne short 0169ah ; 75 25 2802 2809 movzx dx, byte [bp+006h] ; 0f b6 56 06 2803 2810 cmp dx, word [bp-018h] ; 3b 56 e8 2804 jne short 016 81h ; 75 1c2811 jne short 0169ah ; 75 1c 2805 2812 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2806 2813 sal dx, 008h ; c1 e2 08 2807 2814 add dx, strict byte 00020h ; 83 c2 20 2808 mov es, [di+0463 3h] ; 8e 85 33462815 mov es, [di+04638h] ; 8e 85 38 46 2809 2816 mov cx, ax ; 89 c1 2810 2817 mov ax, dx ; 89 d0 2811 2818 mov di, bx ; 89 df 2812 2819 cld ; fc 2813 jcxz 016 7eh ; e3 022820 jcxz 01697h ; e3 02 2814 2821 rep stosw ; f3 ab 2815 jmp near 01a 6fh ; e9 ee 032822 jmp near 01a88h ; e9 ee 03 2816 2823 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 2817 jne near 017 26h ; 0f 85 9d 002824 jne near 0173fh ; 0f 85 9d 00 2818 2825 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2819 2826 mov word [bp-014h], ax ; 89 46 ec 2820 2827 movzx dx, byte [bp+004h] ; 0f b6 56 04 2821 2828 cmp dx, word [bp-014h] ; 3b 56 ec 2822 jc near 01a 6fh ; 0f 82 d4 032829 jc near 01a88h ; 0f 82 d4 03 2823 2830 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2824 2831 add ax, word [bp-014h] ; 03 46 ec 2825 2832 cmp ax, dx ; 39 d0 2826 jnbe short 016 ach ; 77 062833 jnbe short 016c5h ; 77 06 2827 2834 cmp byte [bp-010h], 000h ; 80 7e f0 00 2828 jne short 016 dfh ; 75 332835 jne short 016f8h ; 75 33 2829 2836 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2830 2837 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2840 2847 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2841 2848 sal si, 003h ; c1 e6 03 2842 mov es, [si+0463 3h] ; 8e 84 33462849 mov es, [si+04638h] ; 8e 84 38 46 2843 2850 cld ; fc 2844 jcxz 016 ddh ; e3 022851 jcxz 016f6h ; e3 02 2845 2852 rep stosw ; f3 ab 2846 jmp short 017 20h ; eb 412853 jmp short 01739h ; eb 41 2847 2854 movzx dx, byte [bp-012h] ; 0f b6 56 ee 2848 2855 mov word [bp-01ch], dx ; 89 56 e4 … … 2854 2861 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2855 2862 sal si, 003h ; c1 e6 03 2856 mov ax, word [si+0463 3h] ; 8b 84 33462863 mov ax, word [si+04638h] ; 8b 84 38 46 2857 2864 mov si, word [bp-014h] ; 8b 76 ec 2858 2865 imul si, word [bp-016h] ; 0f af 76 ea … … 2866 2873 mov es, ax ; 8e c0 2867 2874 cld ; fc 2868 jcxz 017 20h ; e3 062875 jcxz 01739h ; e3 06 2869 2876 push DS ; 1e 2870 2877 mov ds, dx ; 8e da … … 2872 2879 pop DS ; 1f 2873 2880 inc word [bp-014h] ; ff 46 ec 2874 jmp near 016 90h ; e9 6a ff2881 jmp near 016a9h ; e9 6a ff 2875 2882 movzx ax, byte [bp+004h] ; 0f b6 46 04 2876 2883 mov word [bp-014h], ax ; 89 46 ec 2877 2884 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2878 2885 cmp ax, word [bp-014h] ; 3b 46 ec 2879 jnbe near 01a 6fh ; 0f 87 37 032886 jnbe near 01a88h ; 0f 87 37 03 2880 2887 movzx dx, byte [bp-008h] ; 0f b6 56 f8 2881 2888 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2882 2889 add ax, dx ; 01 d0 2883 2890 cmp ax, word [bp-014h] ; 3b 46 ec 2884 jnbe short 017 4dh ; 77 062891 jnbe short 01766h ; 77 06 2885 2892 cmp byte [bp-010h], 000h ; 80 7e f0 00 2886 jne short 017 80h ; 75 332893 jne short 01799h ; 75 33 2887 2894 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2888 2895 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2898 2905 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2899 2906 sal si, 003h ; c1 e6 03 2900 mov es, [si+0463 3h] ; 8e 84 33462907 mov es, [si+04638h] ; 8e 84 38 46 2901 2908 cld ; fc 2902 jcxz 017 7eh ; e3 022909 jcxz 01797h ; e3 02 2903 2910 rep stosw ; f3 ab 2904 jmp short 017 c0h ; eb 402911 jmp short 017d9h ; eb 40 2905 2912 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2906 2913 movzx ax, byte [bp-010h] ; 0f b6 46 f0 … … 2913 2920 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2914 2921 sal si, 003h ; c1 e6 03 2915 mov ax, word [si+0463 3h] ; 8b 84 33462922 mov ax, word [si+04638h] ; 8b 84 38 46 2916 2923 mov si, word [bp-014h] ; 8b 76 ec 2917 2924 imul si, word [bp-016h] ; 0f af 76 ea … … 2923 2930 mov es, ax ; 8e c0 2924 2931 cld ; fc 2925 jcxz 017 c0h ; e3 062932 jcxz 017d9h ; e3 06 2926 2933 push DS ; 1e 2927 2934 mov ds, dx ; 8e da … … 2930 2937 movzx ax, byte [bp+004h] ; 0f b6 46 04 2931 2938 cmp ax, word [bp-014h] ; 3b 46 ec 2932 jc near 01a 6fh ; 0f 82 a4 022939 jc near 01a88h ; 0f 82 a4 02 2933 2940 dec word [bp-014h] ; ff 4e ec 2934 jmp near 017 2dh ; e9 5c ff2935 movzx bx, byte [si+046 afh] ; 0f b6 9c af462941 jmp near 01746h ; e9 5c ff 2942 movzx bx, byte [si+046b4h] ; 0f b6 9c b4 46 2936 2943 sal bx, 006h ; c1 e3 06 2937 mov dl, byte [bx+046c 5h] ; 8a 97 c5462944 mov dl, byte [bx+046cah] ; 8a 97 ca 46 2938 2945 mov byte [bp-00ah], dl ; 88 56 f6 2939 mov bl, byte [di+0463 1h] ; 8a 9d 31462946 mov bl, byte [di+04636h] ; 8a 9d 36 46 2940 2947 cmp bl, 004h ; 80 fb 04 2941 je short 01 7f8h ; 74 0f2948 je short 01811h ; 74 0f 2942 2949 cmp bl, 003h ; 80 fb 03 2943 je short 01 7f8h ; 74 0a2950 je short 01811h ; 74 0a 2944 2951 cmp bl, 002h ; 80 fb 02 2945 je near 019 37h ; 0f 84 42 012946 jmp near 01a 6fh ; e9 77 022952 je near 01950h ; 0f 84 42 01 2953 jmp near 01a88h ; e9 77 02 2947 2954 cmp byte [bp-010h], 000h ; 80 7e f0 00 2948 jne short 018 50h ; 75 522955 jne short 01869h ; 75 52 2949 2956 cmp byte [bp-008h], 000h ; 80 7e f8 00 2950 jne short 018 50h ; 75 4c2957 jne short 01869h ; 75 4c 2951 2958 cmp byte [bp-006h], 000h ; 80 7e fa 00 2952 jne short 018 50h ; 75 462959 jne short 01869h ; 75 46 2953 2960 movzx dx, byte [bp+004h] ; 0f b6 56 04 2954 2961 mov ax, cx ; 89 c8 2955 2962 dec ax ; 48 2956 2963 cmp dx, ax ; 39 c2 2957 jne short 018 50h ; 75 3b2964 jne short 01869h ; 75 3b 2958 2965 movzx dx, byte [bp+006h] ; 0f b6 56 06 2959 2966 mov ax, word [bp-016h] ; 8b 46 ea 2960 2967 dec ax ; 48 2961 2968 cmp dx, ax ; 39 c2 2962 jne short 018 50h ; 75 2f2969 jne short 01869h ; 75 2f 2963 2970 mov ax, 00205h ; b8 05 02 2964 2971 mov dx, 003ceh ; ba ce 03 … … 2970 2977 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2971 2978 sal bx, 003h ; c1 e3 03 2972 mov es, [bx+0463 3h] ; 8e 87 33462979 mov es, [bx+04638h] ; 8e 87 38 46 2973 2980 xor di, di ; 31 ff 2974 2981 cld ; fc 2975 jcxz 018 49h ; e3 022982 jcxz 01862h ; e3 02 2976 2983 rep stosb ; f3 aa 2977 2984 mov ax, strict word 00005h ; b8 05 00 2978 2985 out DX, ax ; ef 2979 jmp near 01a 6fh ; e9 1f 022986 jmp near 01a88h ; e9 1f 02 2980 2987 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 2981 jne short 018 bfh ; 75 692988 jne short 018d8h ; 75 69 2982 2989 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2983 2990 mov word [bp-014h], ax ; 89 46 ec 2984 2991 movzx ax, byte [bp+004h] ; 0f b6 46 04 2985 2992 cmp ax, word [bp-014h] ; 3b 46 ec 2986 jc near 01a 6fh ; 0f 82 07 022993 jc near 01a88h ; 0f 82 07 02 2987 2994 movzx dx, byte [bp-010h] ; 0f b6 56 f0 2988 2995 add dx, word [bp-014h] ; 03 56 ec 2989 2996 cmp dx, ax ; 39 c2 2990 jnbe short 018 79h ; 77 062997 jnbe short 01892h ; 77 06 2991 2998 cmp byte [bp-010h], 000h ; 80 7e f0 00 2992 jne short 018 98h ; 75 1f2999 jne short 018b1h ; 75 1f 2993 3000 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2994 3001 push ax ; 50 … … 2999 3006 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3000 3007 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3001 call 013 e3h ; e8 4d fb3002 jmp short 018 bah ; eb 223008 call 013fch ; e8 4d fb 3009 jmp short 018d3h ; eb 22 3003 3010 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3004 3011 push ax ; 50 … … 3011 3018 movzx dx, al ; 0f b6 d0 3012 3019 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3013 call 013 6dh ; e8 b3 fa3020 call 01386h ; e8 b3 fa 3014 3021 inc word [bp-014h] ; ff 46 ec 3015 jmp short 018 5dh ; eb 9e3022 jmp short 01876h ; eb 9e 3016 3023 movzx ax, byte [bp+004h] ; 0f b6 46 04 3017 3024 mov word [bp-014h], ax ; 89 46 ec 3018 3025 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3019 3026 cmp ax, word [bp-014h] ; 3b 46 ec 3020 jnbe near 01a 6fh ; 0f 87 9e 013027 jnbe near 01a88h ; 0f 87 9e 01 3021 3028 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3022 3029 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3023 3030 add ax, dx ; 01 d0 3024 3031 cmp ax, word [bp-014h] ; 3b 46 ec 3025 jnbe short 018 e6h ; 77 063032 jnbe short 018ffh ; 77 06 3026 3033 cmp byte [bp-010h], 000h ; 80 7e f0 00 3027 jne short 019 05h ; 75 1f3034 jne short 0191eh ; 75 1f 3028 3035 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3029 3036 push ax ; 50 … … 3034 3041 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3035 3042 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3036 call 013 e3h ; e8 e0 fa3037 jmp short 019 27h ; eb 223043 call 013fch ; e8 e0 fa 3044 jmp short 01940h ; eb 22 3038 3045 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3039 3046 push ax ; 50 … … 3046 3053 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3047 3054 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3048 call 013 6dh ; e8 46 fa3055 call 01386h ; e8 46 fa 3049 3056 movzx ax, byte [bp+004h] ; 0f b6 46 04 3050 3057 cmp ax, word [bp-014h] ; 3b 46 ec 3051 jc near 01a 6fh ; 0f 82 3d 013058 jc near 01a88h ; 0f 82 3d 01 3052 3059 dec word [bp-014h] ; ff 4e ec 3053 jmp short 018 c6h ; eb 8f3054 mov dl, byte [di+0463 2h] ; 8a 95 32463060 jmp short 018dfh ; eb 8f 3061 mov dl, byte [di+04637h] ; 8a 95 37 46 3055 3062 cmp byte [bp-010h], 000h ; 80 7e f0 00 3056 jne short 019 7eh ; 75 3d3063 jne short 01997h ; 75 3d 3057 3064 cmp byte [bp-008h], 000h ; 80 7e f8 00 3058 jne short 019 7eh ; 75 373065 jne short 01997h ; 75 37 3059 3066 cmp byte [bp-006h], 000h ; 80 7e fa 00 3060 jne short 019 7eh ; 75 313067 jne short 01997h ; 75 31 3061 3068 movzx bx, byte [bp+004h] ; 0f b6 5e 04 3062 3069 cmp bx, word [bp-01ah] ; 3b 5e e6 3063 jne short 019 7eh ; 75 283070 jne short 01997h ; 75 28 3064 3071 movzx bx, byte [bp+006h] ; 0f b6 5e 06 3065 3072 cmp bx, word [bp-018h] ; 3b 5e e8 3066 jne short 019 7eh ; 75 1f3073 jne short 01997h ; 75 1f 3067 3074 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3068 3075 imul ax, bx ; 0f af c3 … … 3070 3077 imul cx, ax ; 0f af c8 3071 3078 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3072 mov es, [di+0463 3h] ; 8e 85 33463079 mov es, [di+04638h] ; 8e 85 38 46 3073 3080 xor di, di ; 31 ff 3074 3081 cld ; fc 3075 jcxz 019 7bh ; e3 023082 jcxz 01994h ; e3 02 3076 3083 rep stosb ; f3 aa 3077 jmp near 01a 6fh ; e9 f1 003084 jmp near 01a88h ; e9 f1 00 3078 3085 cmp dl, 002h ; 80 fa 02 3079 jne short 019 8ch ; 75 093086 jne short 019a5h ; 75 09 3080 3087 sal byte [bp-006h], 1 ; d0 66 fa 3081 3088 sal byte [bp-012h], 1 ; d0 66 ee 3082 3089 sal word [bp-016h], 1 ; d1 66 ea 3083 3090 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3084 jne short 01 9fbh ; 75 693091 jne short 01a14h ; 75 69 3085 3092 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3086 3093 mov word [bp-014h], ax ; 89 46 ec 3087 3094 movzx ax, byte [bp+004h] ; 0f b6 46 04 3088 3095 cmp ax, word [bp-014h] ; 3b 46 ec 3089 jc near 01a 6fh ; 0f 82 cb 003096 jc near 01a88h ; 0f 82 cb 00 3090 3097 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3091 3098 add dx, word [bp-014h] ; 03 56 ec 3092 3099 cmp dx, ax ; 39 c2 3093 jnbe short 019 b5h ; 77 063100 jnbe short 019ceh ; 77 06 3094 3101 cmp byte [bp-010h], 000h ; 80 7e f0 00 3095 jne short 019 d4h ; 75 1f3102 jne short 019edh ; 75 1f 3096 3103 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3097 3104 push ax ; 50 … … 3102 3109 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3103 3110 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3104 call 01 4e8h ; e8 16 fb3105 jmp short 01 9f6h ; eb 223111 call 01501h ; e8 16 fb 3112 jmp short 01a0fh ; eb 22 3106 3113 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3107 3114 push ax ; 50 … … 3114 3121 movzx dx, al ; 0f b6 d0 3115 3122 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3116 call 014 44h ; e8 4e fa3123 call 0145dh ; e8 4e fa 3117 3124 inc word [bp-014h] ; ff 46 ec 3118 jmp short 019 99h ; eb 9e3125 jmp short 019b2h ; eb 9e 3119 3126 movzx ax, byte [bp+004h] ; 0f b6 46 04 3120 3127 mov word [bp-014h], ax ; 89 46 ec 3121 3128 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3122 3129 cmp ax, word [bp-014h] ; 3b 46 ec 3123 jnbe short 01a 6fh ; 77 643130 jnbe short 01a88h ; 77 64 3124 3131 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3125 3132 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3126 3133 add ax, dx ; 01 d0 3127 3134 cmp ax, word [bp-014h] ; 3b 46 ec 3128 jnbe short 01a 20h ; 77 063135 jnbe short 01a39h ; 77 06 3129 3136 cmp byte [bp-010h], 000h ; 80 7e f0 00 3130 jne short 01a 3fh ; 75 1f3137 jne short 01a58h ; 75 1f 3131 3138 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3132 3139 push ax ; 50 … … 3137 3144 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3138 3145 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3139 call 01 4e8h ; e8 ab fa3140 jmp short 01a 61h ; eb 223146 call 01501h ; e8 ab fa 3147 jmp short 01a7ah ; eb 22 3141 3148 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3142 3149 push ax ; 50 … … 3149 3156 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3150 3157 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3151 call 014 44h ; e8 e3 f93158 call 0145dh ; e8 e3 f9 3152 3159 movzx ax, byte [bp+004h] ; 0f b6 46 04 3153 3160 cmp ax, word [bp-014h] ; 3b 46 ec 3154 jc short 01a 6fh ; 72 053161 jc short 01a88h ; 72 05 3155 3162 dec word [bp-014h] ; ff 4e ec 3156 jmp short 01a 02h ; eb 933163 jmp short 01a1bh ; eb 93 3157 3164 lea sp, [bp-004h] ; 8d 66 fc 3158 3165 pop di ; 5f … … 3160 3167 pop bp ; 5d 3161 3168 retn 00008h ; c2 08 00 3162 write_gfx_char_pl4_: ; 0xc1a 78LB 0xeb3169 write_gfx_char_pl4_: ; 0xc1a91 LB 0xeb 3163 3170 push bp ; 55 3164 3171 mov bp, sp ; 89 e5 … … 3169 3176 mov ah, bl ; 88 dc 3170 3177 cmp byte [bp+006h], 010h ; 80 7e 06 10 3171 je short 01a 96h ; 74 0b3178 je short 01aafh ; 74 0b 3172 3179 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3173 jne short 01a 9bh ; 75 0a3174 mov di, 05b edh ; bf ed5b3175 jmp short 01a 9eh ; eb 083176 mov di, 069 edh ; bf ed693177 jmp short 01a 9eh ; eb 033178 mov di, 053 edh ; bf ed533180 jne short 01ab4h ; 75 0a 3181 mov di, 05bf2h ; bf f2 5b 3182 jmp short 01ab7h ; eb 08 3183 mov di, 069f2h ; bf f2 69 3184 jmp short 01ab7h ; eb 03 3185 mov di, 053f2h ; bf f2 53 3179 3186 movzx si, cl ; 0f b6 f1 3180 3187 movzx bx, byte [bp+006h] ; 0f b6 5e 06 … … 3195 3202 out DX, ax ; ef 3196 3203 test byte [bp-006h], 080h ; f6 46 fa 80 3197 je short 01a d9h ; 74 063204 je short 01af2h ; 74 06 3198 3205 mov ax, 01803h ; b8 03 18 3199 3206 out DX, ax ; ef 3200 jmp short 01a ddh ; eb 043207 jmp short 01af6h ; eb 04 3201 3208 mov ax, strict word 00003h ; b8 03 00 3202 3209 out DX, ax ; ef 3203 3210 xor ch, ch ; 30 ed 3204 3211 cmp ch, byte [bp+006h] ; 3a 6e 06 3205 jnc short 01b 4bh ; 73 673212 jnc short 01b64h ; 73 67 3206 3213 movzx si, ch ; 0f b6 f5 3207 3214 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 3209 3216 add si, word [bp-00eh] ; 03 76 f2 3210 3217 mov byte [bp-008h], 000h ; c6 46 f8 00 3211 jmp short 01b 0ah ; eb 133218 jmp short 01b23h ; eb 13 3212 3219 xor bx, bx ; 31 db 3213 3220 mov dx, si ; 89 f2 3214 3221 mov ax, 0a000h ; b8 00 a0 3215 call 02f 4ch ; e8 4b 143222 call 02f65h ; e8 4b 14 3216 3223 inc byte [bp-008h] ; fe 46 f8 3217 3224 cmp byte [bp-008h], 008h ; 80 7e f8 08 3218 jnc short 01b 47h ; 73 3d3225 jnc short 01b60h ; 73 3d 3219 3226 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3220 3227 mov cl, al ; 88 c1 … … 3229 3236 mov dx, si ; 89 f2 3230 3237 mov ax, 0a000h ; b8 00 a0 3231 call 02f 3eh ; e8 13 143238 call 02f57h ; e8 13 14 3232 3239 movzx ax, ch ; 0f b6 c5 3233 3240 add ax, word [bp-00ah] ; 03 46 f6 … … 3236 3243 movzx ax, byte [bx] ; 0f b6 07 3237 3244 test word [bp-00ch], ax ; 85 46 f4 3238 je short 01 af7h ; 74 ba3245 je short 01b10h ; 74 ba 3239 3246 mov al, byte [bp-006h] ; 8a 46 fa 3240 3247 and AL, strict byte 00fh ; 24 0f 3241 3248 movzx bx, al ; 0f b6 d8 3242 jmp short 01 af9h ; eb b23249 jmp short 01b12h ; eb b2 3243 3250 db 0feh, 0c5h 3244 3251 ; inc ch ; fe c5 3245 jmp short 01a dfh ; eb 943252 jmp short 01af8h ; eb 94 3246 3253 mov ax, 0ff08h ; b8 08 ff 3247 3254 mov dx, 003ceh ; ba ce 03 … … 3256 3263 pop bp ; 5d 3257 3264 retn 00004h ; c2 04 00 3258 write_gfx_char_cga_: ; 0xc1b 63LB 0x11e3265 write_gfx_char_cga_: ; 0xc1b7c LB 0x11e 3259 3266 push bp ; 55 3260 3267 mov bp, sp ; 89 e5 … … 3263 3270 sub sp, strict byte 00008h ; 83 ec 08 3264 3271 mov byte [bp-008h], dl ; 88 56 f8 3265 mov si, 053 edh ; be ed533272 mov si, 053f2h ; be f2 53 3266 3273 xor bh, bh ; 30 ff 3267 3274 movzx di, byte [bp+006h] ; 0f b6 7e 06 … … 3274 3281 sal di, 003h ; c1 e7 03 3275 3282 mov byte [bp-006h], 000h ; c6 46 fa 00 3276 jmp near 01b e3h ; e9 50 003283 jmp near 01bfch ; e9 50 00 3277 3284 xor al, al ; 30 c0 3278 3285 xor ah, ah ; 30 e4 3279 jmp short 01b a4h ; eb 0b3286 jmp short 01bbdh ; eb 0b 3280 3287 or al, bl ; 08 d8 3281 3288 shr ch, 1 ; d0 ed … … 3283 3290 ; inc ah ; fe c4 3284 3291 cmp ah, 008h ; 80 fc 08 3285 jnc short 01b cch ; 73 283292 jnc short 01be5h ; 73 28 3286 3293 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3287 3294 add bx, di ; 01 fb … … 3290 3297 movzx dx, ch ; 0f b6 d5 3291 3298 test bx, dx ; 85 d3 3292 je short 01b 9bh ; 74 e53299 je short 01bb4h ; 74 e5 3293 3300 mov CL, strict byte 007h ; b1 07 3294 3301 sub cl, ah ; 28 e1 … … 3297 3304 sal bl, CL ; d2 e3 3298 3305 test byte [bp-008h], 080h ; f6 46 f8 80 3299 je short 01b 99h ; 74 d13306 je short 01bb2h ; 74 d1 3300 3307 xor al, bl ; 30 d8 3301 jmp short 01b 9bh ; eb cf3308 jmp short 01bb4h ; eb cf 3302 3309 movzx bx, al ; 0f b6 d8 3303 3310 mov dx, word [bp-00ah] ; 8b 56 f6 3304 3311 mov ax, 0b800h ; b8 00 b8 3305 call 02f 4ch ; e8 74 133312 call 02f65h ; e8 74 13 3306 3313 inc byte [bp-006h] ; fe 46 fa 3307 3314 cmp byte [bp-006h], 008h ; 80 7e fa 08 3308 jnc near 01c 78h ; 0f 83 95 003315 jnc near 01c91h ; 0f 83 95 00 3309 3316 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3310 3317 sar ax, 1 ; d1 f8 … … 3314 3321 mov word [bp-00ah], bx ; 89 5e f6 3315 3322 test byte [bp-006h], 001h ; f6 46 fa 01 3316 je short 01 bfeh ; 74 043323 je short 01c17h ; 74 04 3317 3324 add byte [bp-009h], 020h ; 80 46 f7 20 3318 3325 mov CH, strict byte 080h ; b5 80 3319 3326 cmp byte [bp+006h], 001h ; 80 7e 06 01 3320 jne short 01c 17h ; 75 113327 jne short 01c30h ; 75 11 3321 3328 test byte [bp-008h], ch ; 84 6e f8 3322 je short 01b 93h ; 74 883329 je short 01bach ; 74 88 3323 3330 mov dx, word [bp-00ah] ; 8b 56 f6 3324 3331 mov ax, 0b800h ; b8 00 b8 3325 call 02f 3eh ; e8 2a 133326 jmp near 01b 95h ; e9 7e ff3332 call 02f57h ; e8 2a 13 3333 jmp near 01baeh ; e9 7e ff 3327 3334 test ch, ch ; 84 ed 3328 jbe short 01b d8h ; 76 bd3335 jbe short 01bf1h ; 76 bd 3329 3336 test byte [bp-008h], 080h ; f6 46 f8 80 3330 je short 01c 2ch ; 74 0b3337 je short 01c45h ; 74 0b 3331 3338 mov dx, word [bp-00ah] ; 8b 56 f6 3332 3339 mov ax, 0b800h ; b8 00 b8 3333 call 02f 3eh ; e8 14 133334 jmp short 01c 2eh ; eb 023340 call 02f57h ; e8 14 13 3341 jmp short 01c47h ; eb 02 3335 3342 xor al, al ; 30 c0 3336 3343 xor ah, ah ; 30 e4 3337 jmp short 01c 3dh ; eb 0b3344 jmp short 01c56h ; eb 0b 3338 3345 or al, bl ; 08 d8 3339 3346 shr ch, 1 ; d0 ed … … 3341 3348 ; inc ah ; fe c4 3342 3349 cmp ah, 004h ; 80 fc 04 3343 jnc short 01c 67h ; 73 2a3350 jnc short 01c80h ; 73 2a 3344 3351 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3345 3352 add bx, di ; 01 fb … … 3348 3355 movzx bx, ch ; 0f b6 dd 3349 3356 test bx, dx ; 85 d3 3350 je short 01c 34h ; 74 e53357 je short 01c4dh ; 74 e5 3351 3358 mov CL, strict byte 003h ; b1 03 3352 3359 sub cl, ah ; 28 e1 … … 3356 3363 sal bl, CL ; d2 e3 3357 3364 test byte [bp-008h], 080h ; f6 46 f8 80 3358 je short 01c 32h ; 74 cf3365 je short 01c4bh ; 74 cf 3359 3366 xor al, bl ; 30 d8 3360 jmp short 01c 34h ; eb cd3367 jmp short 01c4dh ; eb cd 3361 3368 movzx bx, al ; 0f b6 d8 3362 3369 mov dx, word [bp-00ah] ; 8b 56 f6 3363 3370 mov ax, 0b800h ; b8 00 b8 3364 call 02f 4ch ; e8 d9 123371 call 02f65h ; e8 d9 12 3365 3372 inc word [bp-00ah] ; ff 46 f6 3366 jmp short 01c 17h ; eb 9f3373 jmp short 01c30h ; eb 9f 3367 3374 lea sp, [bp-004h] ; 8d 66 fc 3368 3375 pop di ; 5f … … 3370 3377 pop bp ; 5d 3371 3378 retn 00004h ; c2 04 00 3372 write_gfx_char_lin_: ; 0xc1c 81LB 0x913379 write_gfx_char_lin_: ; 0xc1c9a LB 0x91 3373 3380 push bp ; 55 3374 3381 mov bp, sp ; 89 e5 … … 3377 3384 sub sp, strict byte 00008h ; 83 ec 08 3378 3385 mov byte [bp-006h], dl ; 88 56 fa 3379 mov di, 053 edh ; bf ed533386 mov di, 053f2h ; bf f2 53 3380 3387 movzx dx, cl ; 0f b6 d1 3381 3388 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 3389 3396 sal si, 003h ; c1 e6 03 3390 3397 xor cl, cl ; 30 c9 3391 jmp short 01 cech ; eb 3b3398 jmp short 01d05h ; eb 3b 3392 3399 cmp ch, 008h ; 80 fd 08 3393 jnc short 01c e5h ; 73 2f3400 jnc short 01cfeh ; 73 2f 3394 3401 xor al, al ; 30 c0 3395 3402 movzx dx, cl ; 0f b6 d1 … … 3400 3407 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3401 3408 test dx, bx ; 85 da 3402 je short 01c cfh ; 74 033409 je short 01ce8h ; 74 03 3403 3410 mov al, byte [bp-006h] ; 8a 46 fa 3404 3411 movzx bx, al ; 0f b6 d8 … … 3406 3413 add dx, word [bp-00ah] ; 03 56 f6 3407 3414 mov ax, 0a000h ; b8 00 a0 3408 call 02f 4ch ; e8 6e 123415 call 02f65h ; e8 6e 12 3409 3416 shr byte [bp-008h], 1 ; d0 6e f8 3410 3417 db 0feh, 0c5h 3411 3418 ; inc ch ; fe c5 3412 jmp short 01c b1h ; eb cc3419 jmp short 01ccah ; eb cc 3413 3420 db 0feh, 0c1h 3414 3421 ; inc cl ; fe c1 3415 3422 cmp cl, 008h ; 80 f9 08 3416 jnc short 01d 09h ; 73 1d3423 jnc short 01d22h ; 73 1d 3417 3424 movzx bx, cl ; 0f b6 d9 3418 3425 movzx dx, byte [bp+004h] ; 0f b6 56 04 … … 3424 3431 mov byte [bp-008h], 080h ; c6 46 f8 80 3425 3432 xor ch, ch ; 30 ed 3426 jmp short 01c b6h ; eb ad3433 jmp short 01ccfh ; eb ad 3427 3434 lea sp, [bp-004h] ; 8d 66 fc 3428 3435 pop di ; 5f … … 3430 3437 pop bp ; 5d 3431 3438 retn 00002h ; c2 02 00 3432 biosfn_write_char_attr_: ; 0xc1d 12LB 0x1683439 biosfn_write_char_attr_: ; 0xc1d2b LB 0x168 3433 3440 push bp ; 55 3434 3441 mov bp, sp ; 89 e5 … … 3442 3449 mov dx, strict word 00049h ; ba 49 00 3443 3450 mov ax, strict word 00040h ; b8 40 00 3444 call 02f 3eh ; e8 10 123451 call 02f57h ; e8 10 12 3445 3452 xor ah, ah ; 30 e4 3446 call 02f 17h ; e8 e4 113453 call 02f30h ; e8 e4 11 3447 3454 mov cl, al ; 88 c1 3448 3455 mov byte [bp-006h], al ; 88 46 fa 3449 3456 cmp AL, strict byte 0ffh ; 3c ff 3450 je near 01e 73h ; 0f 84 35 013457 je near 01e8ch ; 0f 84 35 01 3451 3458 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3452 3459 lea bx, [bp-01ch] ; 8d 5e e4 3453 3460 lea dx, [bp-01ah] ; 8d 56 e6 3454 call 00a88h ; e8 3ded3461 call 00a88h ; e8 24 ed 3455 3462 mov al, byte [bp-01ch] ; 8a 46 e4 3456 3463 mov byte [bp-00ch], al ; 88 46 f4 … … 3461 3468 mov dx, 00084h ; ba 84 00 3462 3469 mov ax, strict word 00040h ; b8 40 00 3463 call 02f 3eh ; e8 d9 113470 call 02f57h ; e8 d9 11 3464 3471 xor ah, ah ; 30 e4 3465 3472 inc ax ; 40 … … 3467 3474 mov dx, strict word 0004ah ; ba 4a 00 3468 3475 mov ax, strict word 00040h ; b8 40 00 3469 call 02f 5ah ; e8 e6 113476 call 02f73h ; e8 e6 11 3470 3477 mov word [bp-016h], ax ; 89 46 ea 3471 3478 movzx bx, cl ; 0f b6 d9 3472 3479 mov di, bx ; 89 df 3473 3480 sal di, 003h ; c1 e7 03 3474 cmp byte [di+0463 0h], 000h ; 80 bd 3046 003475 jne short 01d cdh ; 75 473481 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 3482 jne short 01de6h ; 75 47 3476 3483 mov bx, word [bp-018h] ; 8b 5e e8 3477 3484 imul bx, ax ; 0f af d8 … … 3493 3500 mov word [bp-01ah], ax ; 89 46 e6 3494 3501 mov ax, word [bp-01ah] ; 8b 46 e6 3495 mov es, [di+0463 3h] ; 8e 85 33463502 mov es, [di+04638h] ; 8e 85 38 46 3496 3503 mov cx, si ; 89 f1 3497 3504 mov di, dx ; 89 d7 3498 3505 cld ; fc 3499 jcxz 01d cah ; e3 023506 jcxz 01de3h ; e3 02 3500 3507 rep stosw ; f3 ab 3501 jmp near 01e 73h ; e9 a6 003502 movzx bx, byte [bx+046 afh] ; 0f b6 9f af463508 jmp near 01e8ch ; e9 a6 00 3509 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 3503 3510 sal bx, 006h ; c1 e3 06 3504 mov al, byte [bx+046c 5h] ; 8a 87 c5463511 mov al, byte [bx+046cah] ; 8a 87 ca 46 3505 3512 mov byte [bp-008h], al ; 88 46 f8 3506 mov al, byte [di+0463 2h] ; 8a 85 32463513 mov al, byte [di+04637h] ; 8a 85 37 46 3507 3514 mov byte [bp-014h], al ; 88 46 ec 3508 3515 dec si ; 4e 3509 3516 cmp si, strict byte 0ffffh ; 83 fe ff 3510 je near 01e 73h ; 0f 84 88 003517 je near 01e8ch ; 0f 84 88 00 3511 3518 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3512 3519 cmp ax, word [bp-016h] ; 3b 46 ea 3513 jnc near 01e 73h ; 0f 83 7d 003520 jnc near 01e8ch ; 0f 83 7d 00 3514 3521 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3515 3522 sal bx, 003h ; c1 e3 03 3516 mov al, byte [bx+0463 1h] ; 8a 87 31463523 mov al, byte [bx+04636h] ; 8a 87 36 46 3517 3524 cmp AL, strict byte 003h ; 3c 03 3518 jc short 01e 11h ; 72 0c3519 jbe short 01e 17h ; 76 103525 jc short 01e2ah ; 72 0c 3526 jbe short 01e30h ; 76 10 3520 3527 cmp AL, strict byte 005h ; 3c 05 3521 je short 01e 55h ; 74 4a3528 je short 01e6eh ; 74 4a 3522 3529 cmp AL, strict byte 004h ; 3c 04 3523 je short 01e 17h ; 74 083524 jmp short 01e 6dh ; eb 5c3530 je short 01e30h ; 74 08 3531 jmp short 01e86h ; eb 5c 3525 3532 cmp AL, strict byte 002h ; 3c 02 3526 je short 01e 36h ; 74 213527 jmp short 01e 6dh ; eb 563533 je short 01e4fh ; 74 21 3534 jmp short 01e86h ; eb 56 3528 3535 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3529 3536 push ax ; 50 … … 3534 3541 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3535 3542 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3536 call 01a 78h ; e8 44 fc3537 jmp short 01e 6dh ; eb 373543 call 01a91h ; e8 44 fc 3544 jmp short 01e86h ; eb 37 3538 3545 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3539 3546 push ax ; 50 … … 3544 3551 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3545 3552 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3546 call 01b 63h ; e8 10 fd3547 jmp short 01e 6dh ; eb 183553 call 01b7ch ; e8 10 fd 3554 jmp short 01e86h ; eb 18 3548 3555 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3549 3556 push ax ; 50 … … 3552 3559 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3553 3560 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3554 call 01c 81h ; e8 14 fe3561 call 01c9ah ; e8 14 fe 3555 3562 inc byte [bp-00ch] ; fe 46 f4 3556 jmp near 01d e3h ; e9 70 ff3563 jmp near 01dfch ; e9 70 ff 3557 3564 lea sp, [bp-004h] ; 8d 66 fc 3558 3565 pop di ; 5f … … 3560 3567 pop bp ; 5d 3561 3568 retn ; c3 3562 biosfn_write_char_only_: ; 0xc1e 7aLB 0x16f3569 biosfn_write_char_only_: ; 0xc1e93 LB 0x16f 3563 3570 push bp ; 55 3564 3571 mov bp, sp ; 89 e5 … … 3572 3579 mov dx, strict word 00049h ; ba 49 00 3573 3580 mov ax, strict word 00040h ; b8 40 00 3574 call 02f 3eh ; e8 a8 103581 call 02f57h ; e8 a8 10 3575 3582 xor ah, ah ; 30 e4 3576 call 02f 17h ; e8 7c 103583 call 02f30h ; e8 7c 10 3577 3584 mov cl, al ; 88 c1 3578 3585 mov byte [bp-00eh], al ; 88 46 f2 3579 3586 cmp AL, strict byte 0ffh ; 3c ff 3580 je near 01f e2h ; 0f 84 3c 013587 je near 01ffbh ; 0f 84 3c 01 3581 3588 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3582 3589 lea bx, [bp-01ch] ; 8d 5e e4 3583 3590 lea dx, [bp-01ah] ; 8d 56 e6 3584 call 00a88h ; e8 d5eb3591 call 00a88h ; e8 bc eb 3585 3592 mov al, byte [bp-01ch] ; 8a 46 e4 3586 3593 mov byte [bp-00ch], al ; 88 46 f4 … … 3591 3598 mov dx, 00084h ; ba 84 00 3592 3599 mov ax, strict word 00040h ; b8 40 00 3593 call 02f 3eh ; e8 71 103600 call 02f57h ; e8 71 10 3594 3601 xor ah, ah ; 30 e4 3595 3602 inc ax ; 40 … … 3597 3604 mov dx, strict word 0004ah ; ba 4a 00 3598 3605 mov ax, strict word 00040h ; b8 40 00 3599 call 02f 5ah ; e8 7e 103606 call 02f73h ; e8 7e 10 3600 3607 mov word [bp-016h], ax ; 89 46 ea 3601 3608 movzx di, cl ; 0f b6 f9 3602 3609 mov bx, di ; 89 fb 3603 3610 sal bx, 003h ; c1 e3 03 3604 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 003605 jne short 01f 38h ; 75 4a3611 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 3612 jne short 01f51h ; 75 4a 3606 3613 mov dx, word [bp-018h] ; 8b 56 e8 3607 3614 imul dx, ax ; 0f af d0 … … 3620 3627 dec si ; 4e 3621 3628 cmp si, strict byte 0ffffh ; 83 fe ff 3622 je near 01f e2h ; 0f 84 c6 003629 je near 01ffbh ; 0f 84 c6 00 3623 3630 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3624 3631 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3625 3632 sal bx, 003h ; c1 e3 03 3626 mov di, word [bx+0463 3h] ; 8b bf 33463633 mov di, word [bx+04638h] ; 8b bf 38 46 3627 3634 mov bx, ax ; 89 c3 3628 3635 mov dx, cx ; 89 ca 3629 3636 mov ax, di ; 89 f8 3630 call 02f 4ch ; e8 18 103631 inc cx ; 41 3632 inc cx ; 41 3633 jmp short 01f 14h ; eb dc3634 movzx di, byte [di+046 afh] ; 0f b6 bd af463637 call 02f65h ; e8 18 10 3638 inc cx ; 41 3639 inc cx ; 41 3640 jmp short 01f2dh ; eb dc 3641 movzx di, byte [di+046b4h] ; 0f b6 bd b4 46 3635 3642 sal di, 006h ; c1 e7 06 3636 mov al, byte [di+046c 5h] ; 8a 85 c5463643 mov al, byte [di+046cah] ; 8a 85 ca 46 3637 3644 mov byte [bp-00ah], al ; 88 46 f6 3638 mov al, byte [bx+0463 2h] ; 8a 87 32463645 mov al, byte [bx+04637h] ; 8a 87 37 46 3639 3646 mov byte [bp-008h], al ; 88 46 f8 3640 3647 dec si ; 4e 3641 3648 cmp si, strict byte 0ffffh ; 83 fe ff 3642 je near 01f e2h ; 0f 84 8c 003649 je near 01ffbh ; 0f 84 8c 00 3643 3650 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3644 3651 cmp ax, word [bp-016h] ; 3b 46 ea 3645 jnc near 01f e2h ; 0f 83 81 003652 jnc near 01ffbh ; 0f 83 81 00 3646 3653 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3647 3654 sal bx, 003h ; c1 e3 03 3648 mov bl, byte [bx+0463 1h] ; 8a 9f 31463655 mov bl, byte [bx+04636h] ; 8a 9f 36 46 3649 3656 cmp bl, 003h ; 80 fb 03 3650 jc short 01f 7fh ; 72 0e3651 jbe short 01f 86h ; 76 133657 jc short 01f98h ; 72 0e 3658 jbe short 01f9fh ; 76 13 3652 3659 cmp bl, 005h ; 80 fb 05 3653 je short 01f c4h ; 74 4c3660 je short 01fddh ; 74 4c 3654 3661 cmp bl, 004h ; 80 fb 04 3655 je short 01f 86h ; 74 093656 jmp short 01f dch ; eb 5d3662 je short 01f9fh ; 74 09 3663 jmp short 01ff5h ; eb 5d 3657 3664 cmp bl, 002h ; 80 fb 02 3658 je short 01f a5h ; 74 213659 jmp short 01f dch ; eb 563665 je short 01fbeh ; 74 21 3666 jmp short 01ff5h ; eb 56 3660 3667 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3661 3668 push ax ; 50 … … 3666 3673 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3667 3674 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3668 call 01a 78h ; e8 d5 fa3669 jmp short 01f dch ; eb 373675 call 01a91h ; e8 d5 fa 3676 jmp short 01ff5h ; eb 37 3670 3677 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3671 3678 push ax ; 50 … … 3676 3683 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3677 3684 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3678 call 01b 63h ; e8 a1 fb3679 jmp short 01f dch ; eb 183685 call 01b7ch ; e8 a1 fb 3686 jmp short 01ff5h ; eb 18 3680 3687 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3681 3688 push ax ; 50 … … 3684 3691 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3685 3692 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3686 call 01c 81h ; e8 a5 fc3693 call 01c9ah ; e8 a5 fc 3687 3694 inc byte [bp-00ch] ; fe 46 f4 3688 jmp near 01f 4eh ; e9 6c ff3695 jmp near 01f67h ; e9 6c ff 3689 3696 lea sp, [bp-004h] ; 8d 66 fc 3690 3697 pop di ; 5f … … 3692 3699 pop bp ; 5d 3693 3700 retn ; c3 3694 biosfn_write_pixel_: ; 0xc 1fe9LB 0x16a3701 biosfn_write_pixel_: ; 0xc2002 LB 0x16a 3695 3702 push bp ; 55 3696 3703 mov bp, sp ; 89 e5 … … 3701 3708 mov dx, strict word 00049h ; ba 49 00 3702 3709 mov ax, strict word 00040h ; b8 40 00 3703 call 02f 3eh ; e8 3f 0f3710 call 02f57h ; e8 3f 0f 3704 3711 xor ah, ah ; 30 e4 3705 call 02f 17h ; e8 13 0f3712 call 02f30h ; e8 13 0f 3706 3713 mov byte [bp-004h], al ; 88 46 fc 3707 3714 cmp AL, strict byte 0ffh ; 3c ff 3708 je near 021 2bh ; 0f 84 1e 013715 je near 02144h ; 0f 84 1e 01 3709 3716 movzx bx, al ; 0f b6 d8 3710 3717 sal bx, 003h ; c1 e3 03 3711 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 003712 je near 021 2bh ; 0f 84 0f 013713 mov al, byte [bx+0463 1h] ; 8a 87 31463718 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 3719 je near 02144h ; 0f 84 0f 01 3720 mov al, byte [bx+04636h] ; 8a 87 36 46 3714 3721 cmp AL, strict byte 003h ; 3c 03 3715 jc short 020 33h ; 72 0f3716 jbe short 020 3ah ; 76 143722 jc short 0204ch ; 72 0f 3723 jbe short 02053h ; 76 14 3717 3724 cmp AL, strict byte 005h ; 3c 05 3718 je near 021 31h ; 0f 84 05 013725 je near 0214ah ; 0f 84 05 01 3719 3726 cmp AL, strict byte 004h ; 3c 04 3720 je short 020 3ah ; 74 0a3721 jmp near 021 2bh ; e9 f8 003727 je short 02053h ; 74 0a 3728 jmp near 02144h ; e9 f8 00 3722 3729 cmp AL, strict byte 002h ; 3c 02 3723 je short 020 9fh ; 74 683724 jmp near 021 2bh ; e9 f1 003730 je short 020b8h ; 74 68 3731 jmp near 02144h ; e9 f1 00 3725 3732 mov dx, strict word 0004ah ; ba 4a 00 3726 3733 mov ax, strict word 00040h ; b8 40 00 3727 call 02f 5ah ; e8 17 0f3734 call 02f73h ; e8 17 0f 3728 3735 imul ax, cx ; 0f af c1 3729 3736 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3744 3751 mov dx, bx ; 89 da 3745 3752 mov ax, 0a000h ; b8 00 a0 3746 call 02f 3eh ; e8 cb 0e3753 call 02f57h ; e8 cb 0e 3747 3754 test byte [bp-006h], 080h ; f6 46 fa 80 3748 je short 020 80h ; 74 073755 je short 02099h ; 74 07 3749 3756 mov ax, 01803h ; b8 03 18 3750 3757 mov dx, 003ceh ; ba ce 03 … … 3753 3760 mov dx, word [bp-008h] ; 8b 56 f8 3754 3761 mov ax, 0a000h ; b8 00 a0 3755 call 02f 4ch ; e8 bf 0e3762 call 02f65h ; e8 bf 0e 3756 3763 mov ax, 0ff08h ; b8 08 ff 3757 3764 mov dx, 003ceh ; ba ce 03 … … 3761 3768 mov ax, strict word 00003h ; b8 03 00 3762 3769 out DX, ax ; ef 3763 jmp near 021 2bh ; e9 8c 003770 jmp near 02144h ; e9 8c 00 3764 3771 mov ax, cx ; 89 c8 3765 3772 shr ax, 1 ; d1 e8 3766 3773 imul ax, ax, strict byte 00050h ; 6b c0 50 3767 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 023768 jne short 020 b5h ; 75 083774 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 3775 jne short 020ceh ; 75 08 3769 3776 mov bx, word [bp-00ah] ; 8b 5e f6 3770 3777 shr bx, 002h ; c1 eb 02 3771 jmp short 020 bbh ; eb 063778 jmp short 020d4h ; eb 06 3772 3779 mov bx, word [bp-00ah] ; 8b 5e f6 3773 3780 shr bx, 003h ; c1 eb 03 … … 3775 3782 mov word [bp-008h], bx ; 89 5e f8 3776 3783 test cl, 001h ; f6 c1 01 3777 je short 020 c9h ; 74 043784 je short 020e2h ; 74 04 3778 3785 add byte [bp-007h], 020h ; 80 46 f9 20 3779 3786 mov dx, word [bp-008h] ; 8b 56 f8 3780 3787 mov ax, 0b800h ; b8 00 b8 3781 call 02f 3eh ; e8 6c 0e3788 call 02f57h ; e8 6c 0e 3782 3789 mov bl, al ; 88 c3 3783 3790 movzx si, byte [bp-004h] ; 0f b6 76 fc 3784 3791 sal si, 003h ; c1 e6 03 3785 cmp byte [si+0463 2h], 002h ; 80 bc 3246 023786 jne short 02 0fbh ; 75 193792 cmp byte [si+04637h], 002h ; 80 bc 37 46 02 3793 jne short 02114h ; 75 19 3787 3794 mov al, byte [bp-00ah] ; 8a 46 f6 3788 3795 and AL, strict byte 003h ; 24 03 … … 3795 3802 sal bh, CL ; d2 e7 3796 3803 mov AL, strict byte 003h ; b0 03 3797 jmp short 021 0eh ; eb 133804 jmp short 02127h ; eb 13 3798 3805 mov al, byte [bp-00ah] ; 8a 46 f6 3799 3806 and AL, strict byte 007h ; 24 07 … … 3806 3813 sal al, CL ; d2 e0 3807 3814 test byte [bp-006h], 080h ; f6 46 fa 80 3808 je short 021 1ah ; 74 043815 je short 02133h ; 74 04 3809 3816 xor bl, bh ; 30 fb 3810 jmp short 021 20h ; eb 063817 jmp short 02139h ; eb 06 3811 3818 not al ; f6 d0 3812 3819 and bl, al ; 20 c3 … … 3815 3822 mov dx, word [bp-008h] ; 8b 56 f8 3816 3823 mov ax, 0b800h ; b8 00 b8 3817 call 02f 4ch ; e8 21 0e3824 call 02f65h ; e8 21 0e 3818 3825 lea sp, [bp-002h] ; 8d 66 fe 3819 3826 pop si ; 5e … … 3822 3829 mov dx, strict word 0004ah ; ba 4a 00 3823 3830 mov ax, strict word 00040h ; b8 40 00 3824 call 02f 5ah ; e8 20 0e3831 call 02f73h ; e8 20 0e 3825 3832 sal ax, 003h ; c1 e0 03 3826 3833 imul cx, ax ; 0f af c8 … … 3831 3838 mov dx, ax ; 89 c2 3832 3839 mov ax, 0a000h ; b8 00 a0 3833 jmp short 021 28h ; eb d53834 biosfn_write_teletype_: ; 0xc21 53LB 0x2413840 jmp short 02141h ; eb d5 3841 biosfn_write_teletype_: ; 0xc216c LB 0x241 3835 3842 push bp ; 55 3836 3843 mov bp, sp ; 89 e5 … … 3842 3849 mov byte [bp-00eh], cl ; 88 4e f2 3843 3850 cmp dl, 0ffh ; 80 fa ff 3844 jne short 021 77h ; 75 0c3851 jne short 02190h ; 75 0c 3845 3852 mov dx, strict word 00062h ; ba 62 00 3846 3853 mov ax, strict word 00040h ; b8 40 00 3847 call 02f 3eh ; e8 ca 0d3854 call 02f57h ; e8 ca 0d 3848 3855 mov byte [bp-006h], al ; 88 46 fa 3849 3856 mov dx, strict word 00049h ; ba 49 00 3850 3857 mov ax, strict word 00040h ; b8 40 00 3851 call 02f 3eh ; e8 be 0d3858 call 02f57h ; e8 be 0d 3852 3859 xor ah, ah ; 30 e4 3853 call 02f 17h ; e8 92 0d3860 call 02f30h ; e8 92 0d 3854 3861 mov byte [bp-010h], al ; 88 46 f0 3855 3862 cmp AL, strict byte 0ffh ; 3c ff 3856 je near 023 8eh ; 0f 84 00 023863 je near 023a7h ; 0f 84 00 02 3857 3864 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3858 3865 lea bx, [bp-018h] ; 8d 5e e8 3859 3866 lea dx, [bp-016h] ; 8d 56 ea 3860 call 00a88h ; e8 ede83867 call 00a88h ; e8 d4 e8 3861 3868 mov al, byte [bp-018h] ; 8a 46 e8 3862 3869 mov byte [bp-008h], al ; 88 46 f8 … … 3867 3874 mov dx, 00084h ; ba 84 00 3868 3875 mov ax, strict word 00040h ; b8 40 00 3869 call 02f 3eh ; e8 89 0d3876 call 02f57h ; e8 89 0d 3870 3877 xor ah, ah ; 30 e4 3871 3878 inc ax ; 40 … … 3873 3880 mov dx, strict word 0004ah ; ba 4a 00 3874 3881 mov ax, strict word 00040h ; b8 40 00 3875 call 02f 5ah ; e8 96 0d3882 call 02f73h ; e8 96 0d 3876 3883 mov word [bp-012h], ax ; 89 46 ee 3877 3884 mov al, byte [bp-00ch] ; 8a 46 f4 3878 3885 cmp AL, strict byte 008h ; 3c 08 3879 jc short 021 dch ; 72 0e3880 jbe short 021 e4h ; 76 143886 jc short 021f5h ; 72 0e 3887 jbe short 021fdh ; 76 14 3881 3888 cmp AL, strict byte 00dh ; 3c 0d 3882 je short 02 1f2h ; 74 1e3889 je short 0220bh ; 74 1e 3883 3890 cmp AL, strict byte 00ah ; 3c 0a 3884 je near 022 e4h ; 0f 84 0a 013885 jmp short 02 1f9h ; eb 1d3891 je near 022fdh ; 0f 84 0a 01 3892 jmp short 02212h ; eb 1d 3886 3893 cmp AL, strict byte 007h ; 3c 07 3887 je near 02 2e7h ; 0f 84 05 013888 jmp short 02 1f9h ; eb 153894 je near 02300h ; 0f 84 05 01 3895 jmp short 02212h ; eb 15 3889 3896 cmp byte [bp-008h], 000h ; 80 7e f8 00 3890 jbe near 02 2e7h ; 0f 86 fb 003897 jbe near 02300h ; 0f 86 fb 00 3891 3898 dec byte [bp-008h] ; fe 4e f8 3892 jmp near 02 2e7h ; e9 f5 003899 jmp near 02300h ; e9 f5 00 3893 3900 mov byte [bp-008h], 000h ; c6 46 f8 00 3894 jmp near 02 2e7h ; e9 ee 003901 jmp near 02300h ; e9 ee 00 3895 3902 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3896 3903 mov si, bx ; 89 de 3897 3904 sal si, 003h ; c1 e6 03 3898 cmp byte [si+0463 0h], 000h ; 80 bc 3046 003899 jne short 022 56h ; 75 4d3905 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 3906 jne short 0226fh ; 75 4d 3900 3907 mov ax, word [bp-012h] ; 8b 46 ee 3901 3908 imul ax, word [bp-014h] ; 0f af 46 ec … … 3913 3920 add cx, ax ; 01 c1 3914 3921 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3915 mov ax, word [si+0463 3h] ; 8b 84 33463922 mov ax, word [si+04638h] ; 8b 84 38 46 3916 3923 mov dx, cx ; 89 ca 3917 call 02f 4ch ; e8 0f 0d3924 call 02f65h ; e8 0f 0d 3918 3925 cmp byte [bp-00eh], 003h ; 80 7e f2 03 3919 jne near 022 d4h ; 0f 85 8f 003926 jne near 022edh ; 0f 85 8f 00 3920 3927 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3921 3928 mov dx, cx ; 89 ca 3922 3929 inc dx ; 42 3923 mov ax, word [si+0463 3h] ; 8b 84 33463924 call 02f 4ch ; e8 f9 0c3925 jmp near 022 d4h ; e9 7e 003926 movzx bx, byte [bx+046 afh] ; 0f b6 9f af463930 mov ax, word [si+04638h] ; 8b 84 38 46 3931 call 02f65h ; e8 f9 0c 3932 jmp near 022edh ; e9 7e 00 3933 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 3927 3934 sal bx, 006h ; c1 e3 06 3928 mov ah, byte [bx+046c 5h] ; 8a a7 c5463929 mov dl, byte [si+0463 2h] ; 8a 94 32463930 mov al, byte [si+0463 1h] ; 8a 84 31463935 mov ah, byte [bx+046cah] ; 8a a7 ca 46 3936 mov dl, byte [si+04637h] ; 8a 94 37 46 3937 mov al, byte [si+04636h] ; 8a 84 36 46 3931 3938 cmp AL, strict byte 003h ; 3c 03 3932 jc short 022 7ah ; 72 0c3933 jbe short 022 80h ; 76 103939 jc short 02293h ; 72 0c 3940 jbe short 02299h ; 76 10 3934 3941 cmp AL, strict byte 005h ; 3c 05 3935 je short 022 bch ; 74 483942 je short 022d5h ; 74 48 3936 3943 cmp AL, strict byte 004h ; 3c 04 3937 je short 022 80h ; 74 083938 jmp short 022 d4h ; eb 5a3944 je short 02299h ; 74 08 3945 jmp short 022edh ; eb 5a 3939 3946 cmp AL, strict byte 002h ; 3c 02 3940 je short 022 9eh ; 74 203941 jmp short 022 d4h ; eb 543947 je short 022b7h ; 74 20 3948 jmp short 022edh ; eb 54 3942 3949 movzx ax, ah ; 0f b6 c4 3943 3950 push ax ; 50 … … 3948 3955 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3949 3956 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3950 call 01a 78h ; e8 dc f73951 jmp short 022 d4h ; eb 363957 call 01a91h ; e8 dc f7 3958 jmp short 022edh ; eb 36 3952 3959 movzx ax, dl ; 0f b6 c2 3953 3960 push ax ; 50 … … 3958 3965 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3959 3966 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3960 call 01b 63h ; e8 a9 f83961 jmp short 022 d4h ; eb 183967 call 01b7ch ; e8 a9 f8 3968 jmp short 022edh ; eb 18 3962 3969 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3963 3970 push ax ; 50 … … 3966 3973 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3967 3974 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3968 call 01c 81h ; e8 ad f93975 call 01c9ah ; e8 ad f9 3969 3976 inc byte [bp-008h] ; fe 46 f8 3970 3977 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3971 3978 cmp ax, word [bp-012h] ; 3b 46 ee 3972 jne short 02 2e7h ; 75 073979 jne short 02300h ; 75 07 3973 3980 mov byte [bp-008h], 000h ; c6 46 f8 00 3974 3981 inc byte [bp-00ah] ; fe 46 f6 3975 3982 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3976 3983 cmp ax, word [bp-014h] ; 3b 46 ec 3977 jne near 023 72h ; 0f 85 80 003984 jne near 0238bh ; 0f 85 80 00 3978 3985 movzx si, byte [bp-010h] ; 0f b6 76 f0 3979 3986 sal si, 003h ; c1 e6 03 … … 3984 3991 db 0feh, 0cbh 3985 3992 ; dec bl ; fe cb 3986 cmp byte [si+0463 0h], 000h ; 80 bc 3046 003987 jne short 023 54h ; 75 4a3993 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 3994 jne short 0236dh ; 75 4a 3988 3995 mov ax, word [bp-012h] ; 8b 46 ee 3989 3996 imul ax, word [bp-014h] ; 0f af 46 ec … … 4003 4010 add dx, ax ; 01 c2 4004 4011 inc dx ; 42 4005 mov ax, word [si+0463 3h] ; 8b 84 33464006 call 02f 3eh ; e8 02 0c4012 mov ax, word [si+04638h] ; 8b 84 38 46 4013 call 02f57h ; e8 02 0c 4007 4014 push strict byte 00001h ; 6a 01 4008 4015 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 4015 4022 xor cx, cx ; 31 c9 4016 4023 xor bx, bx ; 31 db 4017 jmp short 023 69h ; eb 154024 jmp short 02382h ; eb 15 4018 4025 push strict byte 00001h ; 6a 01 4019 4026 movzx ax, byte [bp-006h] ; 0f b6 46 fa … … 4027 4034 xor dx, dx ; 31 d2 4028 4035 mov ax, strict word 00001h ; b8 01 00 4029 call 015 72h ; e8 03 f24036 call 0158bh ; e8 03 f2 4030 4037 dec byte [bp-00ah] ; fe 4e f6 4031 4038 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 4036 4043 mov dx, word [bp-018h] ; 8b 56 e8 4037 4044 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4038 call 00e5eh ; e8 d0ea4045 call 00e5eh ; e8 b7 ea 4039 4046 lea sp, [bp-002h] ; 8d 66 fe 4040 4047 pop si ; 5e 4041 4048 pop bp ; 5d 4042 4049 retn ; c3 4043 get_font_access_: ; 0xc23 94LB 0x2c4050 get_font_access_: ; 0xc23ad LB 0x2c 4044 4051 push bp ; 55 4045 4052 mov bp, sp ; 89 e5 … … 4065 4072 pop bp ; 5d 4066 4073 retn ; c3 4067 release_font_access_: ; 0xc23 c0LB 0x3c4074 release_font_access_: ; 0xc23d9 LB 0x3c 4068 4075 push bp ; 55 4069 4076 mov bp, sp ; 89 e5 … … 4097 4104 pop bp ; 5d 4098 4105 retn ; c3 4099 set_scan_lines_: ; 0xc2 3fcLB 0xbf4106 set_scan_lines_: ; 0xc2415 LB 0xbf 4100 4107 push bp ; 55 4101 4108 mov bp, sp ; 89 e5 … … 4108 4115 mov dx, strict word 00063h ; ba 63 00 4109 4116 mov ax, strict word 00040h ; b8 40 00 4110 call 02f 5ah ; e8 4b 0b4117 call 02f73h ; e8 4b 0b 4111 4118 mov dx, ax ; 89 c2 4112 4119 mov si, ax ; 89 c6 … … 4125 4132 out DX, AL ; ee 4126 4133 cmp bl, 008h ; 80 fb 08 4127 jne short 024 33h ; 75 084134 jne short 0244ch ; 75 08 4128 4135 mov dx, strict word 00007h ; ba 07 00 4129 4136 mov ax, strict word 00006h ; b8 06 00 4130 jmp short 024 40h ; eb 0d4137 jmp short 02459h ; eb 0d 4131 4138 mov al, bl ; 88 d8 4132 4139 sub AL, strict byte 003h ; 2c 03 … … 4135 4142 sub AL, strict byte 004h ; 2c 04 4136 4143 xor ah, ah ; 30 e4 4137 call 00dbah ; e8 77e94144 call 00dbah ; e8 5e e9 4138 4145 movzx di, bl ; 0f b6 fb 4139 4146 mov bx, di ; 89 fb 4140 4147 mov dx, 00085h ; ba 85 00 4141 4148 mov ax, strict word 00040h ; b8 40 00 4142 call 02f 68h ; e8 17 0b4149 call 02f81h ; e8 17 0b 4143 4150 mov AL, strict byte 012h ; b0 12 4144 4151 mov dx, si ; 89 f2 … … 4175 4182 mov dx, 00084h ; ba 84 00 4176 4183 mov ax, strict word 00040h ; b8 40 00 4177 call 02f 4ch ; e8 b7 0a4184 call 02f65h ; e8 b7 0a 4178 4185 mov dx, strict word 0004ah ; ba 4a 00 4179 4186 mov ax, strict word 00040h ; b8 40 00 4180 call 02f 5ah ; e8 bc 0a4187 call 02f73h ; e8 bc 0a 4181 4188 movzx dx, cl ; 0f b6 d1 4182 4189 mov bx, ax ; 89 c3 … … 4185 4192 mov dx, strict word 0004ch ; ba 4c 00 4186 4193 mov ax, strict word 00040h ; b8 40 00 4187 call 02f 68h ; e8 b7 0a4194 call 02f81h ; e8 b7 0a 4188 4195 lea sp, [bp-00ah] ; 8d 66 f6 4189 4196 pop di ; 5f … … 4194 4201 pop bp ; 5d 4195 4202 retn ; c3 4196 biosfn_load_text_user_pat_: ; 0xc24 bbLB 0x7d4203 biosfn_load_text_user_pat_: ; 0xc24d4 LB 0x7d 4197 4204 push bp ; 55 4198 4205 mov bp, sp ; 89 e5 … … 4204 4211 mov word [bp-008h], bx ; 89 5e f8 4205 4212 mov word [bp-00ah], cx ; 89 4e f6 4206 call 023 94h ; e8 c2 fe4213 call 023adh ; e8 c2 fe 4207 4214 mov al, byte [bp+006h] ; 8a 46 06 4208 4215 and AL, strict byte 003h ; 24 03 … … 4218 4225 xor bx, bx ; 31 db 4219 4226 cmp bx, word [bp-00ah] ; 3b 5e f6 4220 jnc short 025 1fh ; 73 2b4227 jnc short 02538h ; 73 2b 4221 4228 movzx cx, byte [bp+008h] ; 0f b6 4e 08 4222 4229 mov si, bx ; 89 de … … 4231 4238 mov es, ax ; 8e c0 4232 4239 cld ; fc 4233 jcxz 025 1ch ; e3 064240 jcxz 02535h ; e3 06 4234 4241 push DS ; 1e 4235 4242 mov ds, dx ; 8e da … … 4237 4244 pop DS ; 1f 4238 4245 inc bx ; 43 4239 jmp short 02 4efh ; eb d04240 call 023 c0h ; e8 9e fe4246 jmp short 02508h ; eb d0 4247 call 023d9h ; e8 9e fe 4241 4248 cmp byte [bp-006h], 010h ; 80 7e fa 10 4242 jc short 025 2fh ; 72 074249 jc short 02548h ; 72 07 4243 4250 movzx ax, byte [bp+008h] ; 0f b6 46 08 4244 call 02 3fch ; e8 cd fe4251 call 02415h ; e8 cd fe 4245 4252 lea sp, [bp-004h] ; 8d 66 fc 4246 4253 pop di ; 5f … … 4248 4255 pop bp ; 5d 4249 4256 retn 00006h ; c2 06 00 4250 biosfn_load_text_8_14_pat_: ; 0xc25 38LB 0x704257 biosfn_load_text_8_14_pat_: ; 0xc2551 LB 0x70 4251 4258 push bp ; 55 4252 4259 mov bp, sp ; 89 e5 … … 4258 4265 push ax ; 50 4259 4266 mov byte [bp-00ah], al ; 88 46 f6 4260 call 023 94h ; e8 4d fe4267 call 023adh ; e8 4d fe 4261 4268 mov al, dl ; 88 d0 4262 4269 and AL, strict byte 003h ; 24 03 … … 4271 4278 mov word [bp-00ch], bx ; 89 5e f4 4272 4279 xor bx, bx ; 31 db 4273 jmp short 025 6ah ; eb 064280 jmp short 02583h ; eb 06 4274 4281 cmp bx, 00100h ; 81 fb 00 01 4275 jnc short 025 90h ; 73 264282 jnc short 025a9h ; 73 26 4276 4283 imul si, bx, strict byte 0000eh ; 6b f3 0e 4277 4284 mov di, bx ; 89 df 4278 4285 sal di, 005h ; c1 e7 05 4279 4286 add di, word [bp-00ch] ; 03 7e f4 4280 add si, 05b edh ; 81 c6 ed5b4287 add si, 05bf2h ; 81 c6 f2 5b 4281 4288 mov cx, strict word 0000eh ; b9 0e 00 4282 4289 mov dx, 0c000h ; ba 00 c0 … … 4284 4291 mov es, ax ; 8e c0 4285 4292 cld ; fc 4286 jcxz 025 8dh ; e3 064293 jcxz 025a6h ; e3 06 4287 4294 push DS ; 1e 4288 4295 mov ds, dx ; 8e da … … 4290 4297 pop DS ; 1f 4291 4298 inc bx ; 43 4292 jmp short 025 64h ; eb d44293 call 023 c0h ; e8 2d fe4299 jmp short 0257dh ; eb d4 4300 call 023d9h ; e8 2d fe 4294 4301 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4295 jc short 025 9fh ; 72 064302 jc short 025b8h ; 72 06 4296 4303 mov ax, strict word 0000eh ; b8 0e 00 4297 call 02 3fch ; e8 5d fe4304 call 02415h ; e8 5d fe 4298 4305 lea sp, [bp-008h] ; 8d 66 f8 4299 4306 pop di ; 5f … … 4303 4310 pop bp ; 5d 4304 4311 retn ; c3 4305 biosfn_load_text_8_8_pat_: ; 0xc25 a8LB 0x724312 biosfn_load_text_8_8_pat_: ; 0xc25c1 LB 0x72 4306 4313 push bp ; 55 4307 4314 mov bp, sp ; 89 e5 … … 4313 4320 push ax ; 50 4314 4321 mov byte [bp-00ah], al ; 88 46 f6 4315 call 023 94h ; e8 dd fd4322 call 023adh ; e8 dd fd 4316 4323 mov al, dl ; 88 d0 4317 4324 and AL, strict byte 003h ; 24 03 … … 4326 4333 mov word [bp-00ch], bx ; 89 5e f4 4327 4334 xor bx, bx ; 31 db 4328 jmp short 025 dah ; eb 064335 jmp short 025f3h ; eb 06 4329 4336 cmp bx, 00100h ; 81 fb 00 01 4330 jnc short 026 02h ; 73 284337 jnc short 0261bh ; 73 28 4331 4338 mov si, bx ; 89 de 4332 4339 sal si, 003h ; c1 e6 03 … … 4334 4341 sal di, 005h ; c1 e7 05 4335 4342 add di, word [bp-00ch] ; 03 7e f4 4336 add si, 053 edh ; 81 c6 ed534343 add si, 053f2h ; 81 c6 f2 53 4337 4344 mov cx, strict word 00008h ; b9 08 00 4338 4345 mov dx, 0c000h ; ba 00 c0 … … 4340 4347 mov es, ax ; 8e c0 4341 4348 cld ; fc 4342 jcxz 02 5ffh ; e3 064349 jcxz 02618h ; e3 06 4343 4350 push DS ; 1e 4344 4351 mov ds, dx ; 8e da … … 4346 4353 pop DS ; 1f 4347 4354 inc bx ; 43 4348 jmp short 025 d4h ; eb d24349 call 023 c0h ; e8 bb fd4355 jmp short 025edh ; eb d2 4356 call 023d9h ; e8 bb fd 4350 4357 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4351 jc short 026 11h ; 72 064358 jc short 0262ah ; 72 06 4352 4359 mov ax, strict word 00008h ; b8 08 00 4353 call 02 3fch ; e8 eb fd4360 call 02415h ; e8 eb fd 4354 4361 lea sp, [bp-008h] ; 8d 66 f8 4355 4362 pop di ; 5f … … 4359 4366 pop bp ; 5d 4360 4367 retn ; c3 4361 biosfn_load_text_8_16_pat_: ; 0xc26 1aLB 0x724368 biosfn_load_text_8_16_pat_: ; 0xc2633 LB 0x72 4362 4369 push bp ; 55 4363 4370 mov bp, sp ; 89 e5 … … 4369 4376 push ax ; 50 4370 4377 mov byte [bp-00ah], al ; 88 46 f6 4371 call 023 94h ; e8 6b fd4378 call 023adh ; e8 6b fd 4372 4379 mov al, dl ; 88 d0 4373 4380 and AL, strict byte 003h ; 24 03 … … 4382 4389 mov word [bp-00ch], bx ; 89 5e f4 4383 4390 xor bx, bx ; 31 db 4384 jmp short 026 4ch ; eb 064391 jmp short 02665h ; eb 06 4385 4392 cmp bx, 00100h ; 81 fb 00 01 4386 jnc short 026 74h ; 73 284393 jnc short 0268dh ; 73 28 4387 4394 mov si, bx ; 89 de 4388 4395 sal si, 004h ; c1 e6 04 … … 4390 4397 sal di, 005h ; c1 e7 05 4391 4398 add di, word [bp-00ch] ; 03 7e f4 4392 add si, 069 edh ; 81 c6 ed694399 add si, 069f2h ; 81 c6 f2 69 4393 4400 mov cx, strict word 00010h ; b9 10 00 4394 4401 mov dx, 0c000h ; ba 00 c0 … … 4396 4403 mov es, ax ; 8e c0 4397 4404 cld ; fc 4398 jcxz 026 71h ; e3 064405 jcxz 0268ah ; e3 06 4399 4406 push DS ; 1e 4400 4407 mov ds, dx ; 8e da … … 4402 4409 pop DS ; 1f 4403 4410 inc bx ; 43 4404 jmp short 026 46h ; eb d24405 call 023 c0h ; e8 49 fd4411 jmp short 0265fh ; eb d2 4412 call 023d9h ; e8 49 fd 4406 4413 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4407 jc short 026 83h ; 72 064414 jc short 0269ch ; 72 06 4408 4415 mov ax, strict word 00010h ; b8 10 00 4409 call 02 3fch ; e8 79 fd4416 call 02415h ; e8 79 fd 4410 4417 lea sp, [bp-008h] ; 8d 66 f8 4411 4418 pop di ; 5f … … 4415 4422 pop bp ; 5d 4416 4423 retn ; c3 4417 biosfn_load_gfx_8_8_chars_: ; 0xc26 8cLB 0x54424 biosfn_load_gfx_8_8_chars_: ; 0xc26a5 LB 0x5 4418 4425 push bp ; 55 4419 4426 mov bp, sp ; 89 e5 4420 4427 pop bp ; 5d 4421 4428 retn ; c3 4422 biosfn_load_gfx_user_chars_: ; 0xc26 91LB 0x74429 biosfn_load_gfx_user_chars_: ; 0xc26aa LB 0x7 4423 4430 push bp ; 55 4424 4431 mov bp, sp ; 89 e5 4425 4432 pop bp ; 5d 4426 4433 retn 00002h ; c2 02 00 4427 biosfn_load_gfx_8_14_chars_: ; 0xc26 98LB 0x54434 biosfn_load_gfx_8_14_chars_: ; 0xc26b1 LB 0x5 4428 4435 push bp ; 55 4429 4436 mov bp, sp ; 89 e5 4430 4437 pop bp ; 5d 4431 4438 retn ; c3 4432 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 9dLB 0x54439 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26b6 LB 0x5 4433 4440 push bp ; 55 4434 4441 mov bp, sp ; 89 e5 4435 4442 pop bp ; 5d 4436 4443 retn ; c3 4437 biosfn_load_gfx_8_16_chars_: ; 0xc26 a2LB 0x54444 biosfn_load_gfx_8_16_chars_: ; 0xc26bb LB 0x5 4438 4445 push bp ; 55 4439 4446 mov bp, sp ; 89 e5 4440 4447 pop bp ; 5d 4441 4448 retn ; c3 4442 biosfn_alternate_prtsc_: ; 0xc26 a7LB 0x54449 biosfn_alternate_prtsc_: ; 0xc26c0 LB 0x5 4443 4450 push bp ; 55 4444 4451 mov bp, sp ; 89 e5 4445 4452 pop bp ; 5d 4446 4453 retn ; c3 4447 biosfn_switch_video_interface_: ; 0xc26 acLB 0x54454 biosfn_switch_video_interface_: ; 0xc26c5 LB 0x5 4448 4455 push bp ; 55 4449 4456 mov bp, sp ; 89 e5 4450 4457 pop bp ; 5d 4451 4458 retn ; c3 4452 biosfn_enable_video_refresh_control_: ; 0xc26 b1LB 0x54459 biosfn_enable_video_refresh_control_: ; 0xc26ca LB 0x5 4453 4460 push bp ; 55 4454 4461 mov bp, sp ; 89 e5 4455 4462 pop bp ; 5d 4456 4463 retn ; c3 4457 biosfn_write_string_: ; 0xc26 b6LB 0x9c4464 biosfn_write_string_: ; 0xc26cf LB 0x9c 4458 4465 push bp ; 55 4459 4466 mov bp, sp ; 89 e5 … … 4469 4476 lea bx, [bp-00eh] ; 8d 5e f2 4470 4477 lea dx, [bp-00ch] ; 8d 56 f4 4471 call 00a88h ; e8 b0e34478 call 00a88h ; e8 97 e3 4472 4479 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4473 jne short 02 6efh ; 75 114480 jne short 02708h ; 75 11 4474 4481 mov al, byte [bp-00eh] ; 8a 46 f2 4475 4482 mov byte [bp+006h], al ; 88 46 06 … … 4483 4490 add dx, ax ; 01 c2 4484 4491 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4485 call 00e5eh ; e8 5be74492 call 00e5eh ; e8 42 e7 4486 4493 dec si ; 4e 4487 4494 cmp si, strict byte 0ffffh ; 83 fe ff 4488 je short 027 39h ; 74 304495 je short 02752h ; 74 30 4489 4496 mov dx, di ; 89 fa 4490 4497 inc di ; 47 4491 4498 mov ax, word [bp+008h] ; 8b 46 08 4492 call 02f 3eh ; e8 2c 084499 call 02f57h ; e8 2c 08 4493 4500 mov cl, al ; 88 c1 4494 4501 test byte [bp-00ah], 002h ; f6 46 f6 02 4495 je short 027 26h ; 74 0c4502 je short 0273fh ; 74 0c 4496 4503 mov dx, di ; 89 fa 4497 4504 inc di ; 47 4498 4505 mov ax, word [bp+008h] ; 8b 46 08 4499 call 02f 3eh ; e8 1b 084506 call 02f57h ; e8 1b 08 4500 4507 mov byte [bp-006h], al ; 88 46 fa 4501 4508 movzx bx, byte [bp-006h] ; 0f b6 5e fa … … 4503 4510 movzx ax, cl ; 0f b6 c1 4504 4511 mov cx, strict word 00003h ; b9 03 00 4505 call 021 53h ; e8 1c fa4506 jmp short 027 03h ; eb ca4512 call 0216ch ; e8 1c fa 4513 jmp short 0271ch ; eb ca 4507 4514 test byte [bp-00ah], 001h ; f6 46 f6 01 4508 jne short 027 49h ; 75 0a4515 jne short 02762h ; 75 0a 4509 4516 mov dx, word [bp-00eh] ; 8b 56 f2 4510 4517 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4511 call 00e5eh ; e8 15 e74518 call 00e5eh ; e8 fc e6 4512 4519 lea sp, [bp-004h] ; 8d 66 fc 4513 4520 pop di ; 5f … … 4515 4522 pop bp ; 5d 4516 4523 retn 00008h ; c2 08 00 4517 biosfn_read_state_info_: ; 0xc27 52LB 0x1014524 biosfn_read_state_info_: ; 0xc276b LB 0x101 4518 4525 push bp ; 55 4519 4526 mov bp, sp ; 89 e5 … … 4524 4531 push bx ; 53 4525 4532 mov cx, ds ; 8c d9 4526 mov bx, 0538 3h ; bb 83534533 mov bx, 05388h ; bb 88 53 4527 4534 mov dx, word [bp-00ah] ; 8b 56 f6 4528 4535 mov ax, word [bp-008h] ; 8b 46 f8 4529 call 02f 88h ; e8 20 084536 call 02fa1h ; e8 20 08 4530 4537 mov di, word [bp-00ah] ; 8b 7e f6 4531 4538 add di, strict byte 00004h ; 83 c7 04 … … 4535 4542 mov es, [bp-008h] ; 8e 46 f8 4536 4543 cld ; fc 4537 jcxz 027 83h ; e3 064544 jcxz 0279ch ; e3 06 4538 4545 push DS ; 1e 4539 4546 mov ds, dx ; 8e da … … 4547 4554 mov es, [bp-008h] ; 8e 46 f8 4548 4555 cld ; fc 4549 jcxz 027 9eh ; e3 064556 jcxz 027b7h ; e3 06 4550 4557 push DS ; 1e 4551 4558 mov ds, dx ; 8e da … … 4554 4561 mov dx, 0008ah ; ba 8a 00 4555 4562 mov ax, strict word 00040h ; b8 40 00 4556 call 02f 3eh ; e8 97 074563 call 02f57h ; e8 97 07 4557 4564 movzx bx, al ; 0f b6 d8 4558 4565 mov dx, word [bp-00ah] ; 8b 56 f6 4559 4566 add dx, strict byte 00025h ; 83 c2 25 4560 4567 mov ax, word [bp-008h] ; 8b 46 f8 4561 call 02f 4ch ; e8 96 074568 call 02f65h ; e8 96 07 4562 4569 mov dx, word [bp-00ah] ; 8b 56 f6 4563 4570 add dx, strict byte 00026h ; 83 c2 26 4564 4571 xor bx, bx ; 31 db 4565 4572 mov ax, word [bp-008h] ; 8b 46 f8 4566 call 02f 4ch ; e8 88 074573 call 02f65h ; e8 88 07 4567 4574 mov dx, word [bp-00ah] ; 8b 56 f6 4568 4575 add dx, strict byte 00027h ; 83 c2 27 4569 4576 mov bx, strict word 00010h ; bb 10 00 4570 4577 mov ax, word [bp-008h] ; 8b 46 f8 4571 call 02f 4ch ; e8 79 074578 call 02f65h ; e8 79 07 4572 4579 mov dx, word [bp-00ah] ; 8b 56 f6 4573 4580 add dx, strict byte 00028h ; 83 c2 28 4574 4581 xor bx, bx ; 31 db 4575 4582 mov ax, word [bp-008h] ; 8b 46 f8 4576 call 02f 4ch ; e8 6b 074583 call 02f65h ; e8 6b 07 4577 4584 mov dx, word [bp-00ah] ; 8b 56 f6 4578 4585 add dx, strict byte 00029h ; 83 c2 29 4579 4586 mov bx, strict word 00008h ; bb 08 00 4580 4587 mov ax, word [bp-008h] ; 8b 46 f8 4581 call 02f 4ch ; e8 5c 074588 call 02f65h ; e8 5c 07 4582 4589 mov dx, word [bp-00ah] ; 8b 56 f6 4583 4590 add dx, strict byte 0002ah ; 83 c2 2a 4584 4591 mov bx, strict word 00002h ; bb 02 00 4585 4592 mov ax, word [bp-008h] ; 8b 46 f8 4586 call 02f 4ch ; e8 4d 074593 call 02f65h ; e8 4d 07 4587 4594 mov dx, word [bp-00ah] ; 8b 56 f6 4588 4595 add dx, strict byte 0002bh ; 83 c2 2b 4589 4596 xor bx, bx ; 31 db 4590 4597 mov ax, word [bp-008h] ; 8b 46 f8 4591 call 02f 4ch ; e8 3f 074598 call 02f65h ; e8 3f 07 4592 4599 mov dx, word [bp-00ah] ; 8b 56 f6 4593 4600 add dx, strict byte 0002ch ; 83 c2 2c 4594 4601 xor bx, bx ; 31 db 4595 4602 mov ax, word [bp-008h] ; 8b 46 f8 4596 call 02f 4ch ; e8 31 074603 call 02f65h ; e8 31 07 4597 4604 mov dx, word [bp-00ah] ; 8b 56 f6 4598 4605 add dx, strict byte 00031h ; 83 c2 31 4599 4606 mov bx, strict word 00003h ; bb 03 00 4600 4607 mov ax, word [bp-008h] ; 8b 46 f8 4601 call 02f 4ch ; e8 22 074608 call 02f65h ; e8 22 07 4602 4609 mov dx, word [bp-00ah] ; 8b 56 f6 4603 4610 add dx, strict byte 00032h ; 83 c2 32 4604 4611 xor bx, bx ; 31 db 4605 4612 mov ax, word [bp-008h] ; 8b 46 f8 4606 call 02f 4ch ; e8 14 074613 call 02f65h ; e8 14 07 4607 4614 mov di, word [bp-00ah] ; 8b 7e f6 4608 4615 add di, strict byte 00033h ; 83 c7 33 … … 4611 4618 mov es, [bp-008h] ; 8e 46 f8 4612 4619 cld ; fc 4613 jcxz 028 4bh ; e3 024620 jcxz 02864h ; e3 02 4614 4621 rep stosb ; f3 aa 4615 4622 lea sp, [bp-006h] ; 8d 66 fa … … 4619 4626 pop bp ; 5d 4620 4627 retn ; c3 4621 biosfn_read_video_state_size2_: ; 0xc28 53LB 0x234628 biosfn_read_video_state_size2_: ; 0xc286c LB 0x23 4622 4629 push dx ; 52 4623 4630 push bp ; 55 … … 4626 4633 xor ax, ax ; 31 c0 4627 4634 test dl, 001h ; f6 c2 01 4628 je short 028 63h ; 74 034635 je short 0287ch ; 74 03 4629 4636 mov ax, strict word 00046h ; b8 46 00 4630 4637 test dl, 002h ; f6 c2 02 4631 je short 028 6bh ; 74 034638 je short 02884h ; 74 03 4632 4639 add ax, strict word 0002ah ; 05 2a 00 4633 4640 test dl, 004h ; f6 c2 04 4634 je short 028 73h ; 74 034641 je short 0288ch ; 74 03 4635 4642 add ax, 00304h ; 05 04 03 4636 4643 pop bp ; 5d 4637 4644 pop dx ; 5a 4638 4645 retn ; c3 4639 vga_get_video_state_size_: ; 0xc28 76LB 0x124646 vga_get_video_state_size_: ; 0xc288f LB 0x12 4640 4647 push bp ; 55 4641 4648 mov bp, sp ; 89 e5 4642 4649 push bx ; 53 4643 4650 mov bx, dx ; 89 d3 4644 call 028 53h ; e8 d4 ff4651 call 0286ch ; e8 d4 ff 4645 4652 mov word [ss:bx], ax ; 36 89 07 4646 4653 lea sp, [bp-002h] ; 8d 66 fe … … 4648 4655 pop bp ; 5d 4649 4656 retn ; c3 4650 biosfn_save_video_state_: ; 0xc28 88LB 0x3694657 biosfn_save_video_state_: ; 0xc28a1 LB 0x369 4651 4658 push bp ; 55 4652 4659 mov bp, sp ; 89 e5 … … 4661 4668 mov dx, strict word 00063h ; ba 63 00 4662 4669 mov ax, strict word 00040h ; b8 40 00 4663 call 02f 5ah ; e8 bc 064670 call 02f73h ; e8 bc 06 4664 4671 mov di, ax ; 89 c7 4665 4672 test byte [bp-00ch], 001h ; f6 46 f4 01 4666 je near 02a 0bh ; 0f 84 63 014673 je near 02a24h ; 0f 84 63 01 4667 4674 mov dx, 003c4h ; ba c4 03 4668 4675 in AL, DX ; ec … … 4672 4679 mov dx, cx ; 89 ca 4673 4680 mov ax, si ; 89 f0 4674 call 02f 4ch ; e8 94 064681 call 02f65h ; e8 94 06 4675 4682 inc cx ; 41 4676 4683 mov dx, di ; 89 fa … … 4681 4688 mov dx, cx ; 89 ca 4682 4689 mov ax, si ; 89 f0 4683 call 02f 4ch ; e8 84 064690 call 02f65h ; e8 84 06 4684 4691 inc cx ; 41 4685 4692 mov dx, 003ceh ; ba ce 03 … … 4690 4697 mov dx, cx ; 89 ca 4691 4698 mov ax, si ; 89 f0 4692 call 02f 4ch ; e8 73 064699 call 02f65h ; e8 73 06 4693 4700 inc cx ; 41 4694 4701 mov dx, 003dah ; ba da 03 … … 4704 4711 mov dx, cx ; 89 ca 4705 4712 mov ax, si ; 89 f0 4706 call 02f 4ch ; e8 58 064713 call 02f65h ; e8 58 06 4707 4714 inc cx ; 41 4708 4715 mov dx, 003cah ; ba ca 03 … … 4713 4720 mov dx, cx ; 89 ca 4714 4721 mov ax, si ; 89 f0 4715 call 02f 4ch ; e8 47 064722 call 02f65h ; e8 47 06 4716 4723 mov ax, strict word 00001h ; b8 01 00 4717 4724 mov word [bp-00ah], ax ; 89 46 f6 4718 4725 add cx, ax ; 01 c1 4719 jmp short 029 15h ; eb 064726 jmp short 0292eh ; eb 06 4720 4727 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 4721 jnbe short 029 32h ; 77 1d4728 jnbe short 0294bh ; 77 1d 4722 4729 mov al, byte [bp-00ah] ; 8a 46 f6 4723 4730 mov dx, 003c4h ; ba c4 03 … … 4730 4737 mov dx, cx ; 89 ca 4731 4738 mov ax, si ; 89 f0 4732 call 02f 4ch ; e8 20 064739 call 02f65h ; e8 20 06 4733 4740 inc cx ; 41 4734 4741 inc word [bp-00ah] ; ff 46 f6 4735 jmp short 029 0fh ; eb dd4742 jmp short 02928h ; eb dd 4736 4743 xor al, al ; 30 c0 4737 4744 mov dx, 003c4h ; ba c4 03 … … 4744 4751 mov dx, cx ; 89 ca 4745 4752 mov ax, si ; 89 f0 4746 call 02f 4ch ; e8 04 064753 call 02f65h ; e8 04 06 4747 4754 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4748 4755 inc cx ; 41 4749 jmp short 029 56h ; eb 064756 jmp short 0296fh ; eb 06 4750 4757 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 4751 jnbe short 029 72h ; 77 1c4758 jnbe short 0298bh ; 77 1c 4752 4759 mov al, byte [bp-00ah] ; 8a 46 f6 4753 4760 mov dx, di ; 89 fa … … 4760 4767 mov dx, cx ; 89 ca 4761 4768 mov ax, si ; 89 f0 4762 call 02f 4ch ; e8 e0 054769 call 02f65h ; e8 e0 05 4763 4770 inc cx ; 41 4764 4771 inc word [bp-00ah] ; ff 46 f6 4765 jmp short 029 50h ; eb de4772 jmp short 02969h ; eb de 4766 4773 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4767 jmp short 029 7fh ; eb 064774 jmp short 02998h ; eb 06 4768 4775 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 4769 jnbe short 029 a8h ; 77 294776 jnbe short 029c1h ; 77 29 4770 4777 mov dx, 003dah ; ba da 03 4771 4778 in AL, DX ; ec … … 4784 4791 mov dx, cx ; 89 ca 4785 4792 mov ax, si ; 89 f0 4786 call 02f 4ch ; e8 aa 054793 call 02f65h ; e8 aa 05 4787 4794 inc cx ; 41 4788 4795 inc word [bp-00ah] ; ff 46 f6 4789 jmp short 029 79h ; eb d14796 jmp short 02992h ; eb d1 4790 4797 mov dx, 003dah ; ba da 03 4791 4798 in AL, DX ; ec … … 4793 4800 ; sub ah, ah ; 2a e4 4794 4801 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4795 jmp short 029 bbh ; eb 064802 jmp short 029d4h ; eb 06 4796 4803 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4797 jnbe short 029 d8h ; 77 1d4804 jnbe short 029f1h ; 77 1d 4798 4805 mov al, byte [bp-00ah] ; 8a 46 f6 4799 4806 mov dx, 003ceh ; ba ce 03 … … 4806 4813 mov dx, cx ; 89 ca 4807 4814 mov ax, si ; 89 f0 4808 call 02f 4ch ; e8 7a 054815 call 02f65h ; e8 7a 05 4809 4816 inc cx ; 41 4810 4817 inc word [bp-00ah] ; ff 46 f6 4811 jmp short 029 b5h ; eb dd4818 jmp short 029ceh ; eb dd 4812 4819 mov bx, di ; 89 fb 4813 4820 mov dx, cx ; 89 ca 4814 4821 mov ax, si ; 89 f0 4815 call 02f 68h ; e8 87 054822 call 02f81h ; e8 87 05 4816 4823 inc cx ; 41 4817 4824 inc cx ; 41 … … 4819 4826 mov dx, cx ; 89 ca 4820 4827 mov ax, si ; 89 f0 4821 call 02f 4ch ; e8 60 054828 call 02f65h ; e8 60 05 4822 4829 inc cx ; 41 4823 4830 xor bx, bx ; 31 db 4824 4831 mov dx, cx ; 89 ca 4825 4832 mov ax, si ; 89 f0 4826 call 02f 4ch ; e8 56 054833 call 02f65h ; e8 56 05 4827 4834 inc cx ; 41 4828 4835 xor bx, bx ; 31 db 4829 4836 mov dx, cx ; 89 ca 4830 4837 mov ax, si ; 89 f0 4831 call 02f 4ch ; e8 4c 054838 call 02f65h ; e8 4c 05 4832 4839 inc cx ; 41 4833 4840 xor bx, bx ; 31 db 4834 4841 mov dx, cx ; 89 ca 4835 4842 mov ax, si ; 89 f0 4836 call 02f 4ch ; e8 42 054843 call 02f65h ; e8 42 05 4837 4844 inc cx ; 41 4838 4845 test byte [bp-00ch], 002h ; f6 46 f4 02 4839 je near 02b 7ah ; 0f 84 67 014846 je near 02b93h ; 0f 84 67 01 4840 4847 mov dx, strict word 00049h ; ba 49 00 4841 4848 mov ax, strict word 00040h ; b8 40 00 4842 call 02f 3eh ; e8 22 054849 call 02f57h ; e8 22 05 4843 4850 movzx bx, al ; 0f b6 d8 4844 4851 mov dx, cx ; 89 ca 4845 4852 mov ax, si ; 89 f0 4846 call 02f 4ch ; e8 26 054853 call 02f65h ; e8 26 05 4847 4854 inc cx ; 41 4848 4855 mov dx, strict word 0004ah ; ba 4a 00 4849 4856 mov ax, strict word 00040h ; b8 40 00 4850 call 02f 5ah ; e8 2a 054857 call 02f73h ; e8 2a 05 4851 4858 mov bx, ax ; 89 c3 4852 4859 mov dx, cx ; 89 ca 4853 4860 mov ax, si ; 89 f0 4854 call 02f 68h ; e8 2f 054861 call 02f81h ; e8 2f 05 4855 4862 inc cx ; 41 4856 4863 inc cx ; 41 4857 4864 mov dx, strict word 0004ch ; ba 4c 00 4858 4865 mov ax, strict word 00040h ; b8 40 00 4859 call 02f 5ah ; e8 16 054866 call 02f73h ; e8 16 05 4860 4867 mov bx, ax ; 89 c3 4861 4868 mov dx, cx ; 89 ca 4862 4869 mov ax, si ; 89 f0 4863 call 02f 68h ; e8 1b 054870 call 02f81h ; e8 1b 05 4864 4871 inc cx ; 41 4865 4872 inc cx ; 41 4866 4873 mov dx, strict word 00063h ; ba 63 00 4867 4874 mov ax, strict word 00040h ; b8 40 00 4868 call 02f 5ah ; e8 02 054875 call 02f73h ; e8 02 05 4869 4876 mov bx, ax ; 89 c3 4870 4877 mov dx, cx ; 89 ca 4871 4878 mov ax, si ; 89 f0 4872 call 02f 68h ; e8 07 054879 call 02f81h ; e8 07 05 4873 4880 inc cx ; 41 4874 4881 inc cx ; 41 4875 4882 mov dx, 00084h ; ba 84 00 4876 4883 mov ax, strict word 00040h ; b8 40 00 4877 call 02f 3eh ; e8 d2 044884 call 02f57h ; e8 d2 04 4878 4885 movzx bx, al ; 0f b6 d8 4879 4886 mov dx, cx ; 89 ca 4880 4887 mov ax, si ; 89 f0 4881 call 02f 4ch ; e8 d6 044888 call 02f65h ; e8 d6 04 4882 4889 inc cx ; 41 4883 4890 mov dx, 00085h ; ba 85 00 4884 4891 mov ax, strict word 00040h ; b8 40 00 4885 call 02f 5ah ; e8 da 044892 call 02f73h ; e8 da 04 4886 4893 mov bx, ax ; 89 c3 4887 4894 mov dx, cx ; 89 ca 4888 4895 mov ax, si ; 89 f0 4889 call 02f 68h ; e8 df 044896 call 02f81h ; e8 df 04 4890 4897 inc cx ; 41 4891 4898 inc cx ; 41 4892 4899 mov dx, 00087h ; ba 87 00 4893 4900 mov ax, strict word 00040h ; b8 40 00 4894 call 02f 3eh ; e8 aa 044901 call 02f57h ; e8 aa 04 4895 4902 movzx bx, al ; 0f b6 d8 4896 4903 mov dx, cx ; 89 ca 4897 4904 mov ax, si ; 89 f0 4898 call 02f 4ch ; e8 ae 044905 call 02f65h ; e8 ae 04 4899 4906 inc cx ; 41 4900 4907 mov dx, 00088h ; ba 88 00 4901 4908 mov ax, strict word 00040h ; b8 40 00 4902 call 02f 3eh ; e8 96 044909 call 02f57h ; e8 96 04 4903 4910 movzx bx, al ; 0f b6 d8 4904 4911 mov dx, cx ; 89 ca 4905 4912 mov ax, si ; 89 f0 4906 call 02f 4ch ; e8 9a 044913 call 02f65h ; e8 9a 04 4907 4914 inc cx ; 41 4908 4915 mov dx, 00089h ; ba 89 00 4909 4916 mov ax, strict word 00040h ; b8 40 00 4910 call 02f 3eh ; e8 82 044917 call 02f57h ; e8 82 04 4911 4918 movzx bx, al ; 0f b6 d8 4912 4919 mov dx, cx ; 89 ca 4913 4920 mov ax, si ; 89 f0 4914 call 02f 4ch ; e8 86 044921 call 02f65h ; e8 86 04 4915 4922 inc cx ; 41 4916 4923 mov dx, strict word 00060h ; ba 60 00 4917 4924 mov ax, strict word 00040h ; b8 40 00 4918 call 02f 5ah ; e8 8a 044925 call 02f73h ; e8 8a 04 4919 4926 mov bx, ax ; 89 c3 4920 4927 mov dx, cx ; 89 ca 4921 4928 mov ax, si ; 89 f0 4922 call 02f 68h ; e8 8f 044929 call 02f81h ; e8 8f 04 4923 4930 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4924 4931 inc cx ; 41 4925 4932 inc cx ; 41 4926 jmp short 02 ae8h ; eb 064933 jmp short 02b01h ; eb 06 4927 4934 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4928 jnc short 02b 06h ; 73 1e4935 jnc short 02b1fh ; 73 1e 4929 4936 mov dx, word [bp-00ah] ; 8b 56 f6 4930 4937 add dx, dx ; 01 d2 4931 4938 add dx, strict byte 00050h ; 83 c2 50 4932 4939 mov ax, strict word 00040h ; b8 40 00 4933 call 02f 5ah ; e8 64 044940 call 02f73h ; e8 64 04 4934 4941 mov bx, ax ; 89 c3 4935 4942 mov dx, cx ; 89 ca 4936 4943 mov ax, si ; 89 f0 4937 call 02f 68h ; e8 69 044944 call 02f81h ; e8 69 04 4938 4945 inc cx ; 41 4939 4946 inc cx ; 41 4940 4947 inc word [bp-00ah] ; ff 46 f6 4941 jmp short 02a e2h ; eb dc4948 jmp short 02afbh ; eb dc 4942 4949 mov dx, strict word 0004eh ; ba 4e 00 4943 4950 mov ax, strict word 00040h ; b8 40 00 4944 call 02f 5ah ; e8 4b 044951 call 02f73h ; e8 4b 04 4945 4952 mov bx, ax ; 89 c3 4946 4953 mov dx, cx ; 89 ca 4947 4954 mov ax, si ; 89 f0 4948 call 02f 68h ; e8 50 044955 call 02f81h ; e8 50 04 4949 4956 inc cx ; 41 4950 4957 inc cx ; 41 4951 4958 mov dx, strict word 00062h ; ba 62 00 4952 4959 mov ax, strict word 00040h ; b8 40 00 4953 call 02f 3eh ; e8 1b 044960 call 02f57h ; e8 1b 04 4954 4961 movzx bx, al ; 0f b6 d8 4955 4962 mov dx, cx ; 89 ca 4956 4963 mov ax, si ; 89 f0 4957 call 02f 4ch ; e8 1f 044964 call 02f65h ; e8 1f 04 4958 4965 inc cx ; 41 4959 4966 mov dx, strict word 0007ch ; ba 7c 00 4960 4967 xor ax, ax ; 31 c0 4961 call 02f 5ah ; e8 24 044968 call 02f73h ; e8 24 04 4962 4969 mov bx, ax ; 89 c3 4963 4970 mov dx, cx ; 89 ca 4964 4971 mov ax, si ; 89 f0 4965 call 02f 68h ; e8 29 044972 call 02f81h ; e8 29 04 4966 4973 inc cx ; 41 4967 4974 inc cx ; 41 4968 4975 mov dx, strict word 0007eh ; ba 7e 00 4969 4976 xor ax, ax ; 31 c0 4970 call 02f 5ah ; e8 11 044977 call 02f73h ; e8 11 04 4971 4978 mov bx, ax ; 89 c3 4972 4979 mov dx, cx ; 89 ca 4973 4980 mov ax, si ; 89 f0 4974 call 02f 68h ; e8 16 044981 call 02f81h ; e8 16 04 4975 4982 inc cx ; 41 4976 4983 inc cx ; 41 4977 4984 mov dx, 0010ch ; ba 0c 01 4978 4985 xor ax, ax ; 31 c0 4979 call 02f 5ah ; e8 fe 034986 call 02f73h ; e8 fe 03 4980 4987 mov bx, ax ; 89 c3 4981 4988 mov dx, cx ; 89 ca 4982 4989 mov ax, si ; 89 f0 4983 call 02f 68h ; e8 03 044990 call 02f81h ; e8 03 04 4984 4991 inc cx ; 41 4985 4992 inc cx ; 41 4986 4993 mov dx, 0010eh ; ba 0e 01 4987 4994 xor ax, ax ; 31 c0 4988 call 02f 5ah ; e8 eb 034995 call 02f73h ; e8 eb 03 4989 4996 mov bx, ax ; 89 c3 4990 4997 mov dx, cx ; 89 ca 4991 4998 mov ax, si ; 89 f0 4992 call 02f 68h ; e8 f0 034999 call 02f81h ; e8 f0 03 4993 5000 inc cx ; 41 4994 5001 inc cx ; 41 4995 5002 test byte [bp-00ch], 004h ; f6 46 f4 04 4996 je short 02 be7h ; 74 675003 je short 02c00h ; 74 67 4997 5004 mov dx, 003c7h ; ba c7 03 4998 5005 in AL, DX ; ec … … 5002 5009 mov dx, cx ; 89 ca 5003 5010 mov ax, si ; 89 f0 5004 call 02f 4ch ; e8 bc 035011 call 02f65h ; e8 bc 03 5005 5012 inc cx ; 41 5006 5013 mov dx, 003c8h ; ba c8 03 … … 5011 5018 mov dx, cx ; 89 ca 5012 5019 mov ax, si ; 89 f0 5013 call 02f 4ch ; e8 ab 035020 call 02f65h ; e8 ab 03 5014 5021 inc cx ; 41 5015 5022 mov dx, 003c6h ; ba c6 03 … … 5020 5027 mov dx, cx ; 89 ca 5021 5028 mov ax, si ; 89 f0 5022 call 02f 4ch ; e8 9a 035029 call 02f65h ; e8 9a 03 5023 5030 inc cx ; 41 5024 5031 xor al, al ; 30 c0 … … 5027 5034 xor ah, ah ; 30 e4 5028 5035 mov word [bp-00ah], ax ; 89 46 f6 5029 jmp short 02b c7h ; eb 075036 jmp short 02be0h ; eb 07 5030 5037 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5031 jnc short 02b ddh ; 73 165038 jnc short 02bf6h ; 73 16 5032 5039 mov dx, 003c9h ; ba c9 03 5033 5040 in AL, DX ; ec … … 5037 5044 mov dx, cx ; 89 ca 5038 5045 mov ax, si ; 89 f0 5039 call 02f 4ch ; e8 75 035046 call 02f65h ; e8 75 03 5040 5047 inc cx ; 41 5041 5048 inc word [bp-00ah] ; ff 46 f6 5042 jmp short 02b c0h ; eb e35049 jmp short 02bd9h ; eb e3 5043 5050 xor bx, bx ; 31 db 5044 5051 mov dx, cx ; 89 ca 5045 5052 mov ax, si ; 89 f0 5046 call 02f 4ch ; e8 66 035053 call 02f65h ; e8 66 03 5047 5054 inc cx ; 41 5048 5055 mov ax, cx ; 89 c8 … … 5053 5060 pop bp ; 5d 5054 5061 retn ; c3 5055 biosfn_restore_video_state_: ; 0xc2 bf1LB 0x3265062 biosfn_restore_video_state_: ; 0xc2c0a LB 0x326 5056 5063 push bp ; 55 5057 5064 mov bp, sp ; 89 e5 … … 5064 5071 mov cx, bx ; 89 d9 5065 5072 test byte [bp-00eh], 001h ; f6 46 f2 01 5066 je near 02d 51h ; 0f 84 4a 015073 je near 02d6ah ; 0f 84 4a 01 5067 5074 mov dx, 003dah ; ba da 03 5068 5075 in AL, DX ; ec … … 5071 5078 lea dx, [bx+040h] ; 8d 57 40 5072 5079 mov ax, si ; 89 f0 5073 call 02f 5ah ; e8 45 035080 call 02f73h ; e8 45 03 5074 5081 mov di, ax ; 89 c7 5075 5082 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 5076 5083 lea cx, [bx+005h] ; 8d 4f 05 5077 jmp short 02c 27h ; eb 065084 jmp short 02c40h ; eb 06 5078 5085 cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 5079 jnbe short 02c 3fh ; 77 185086 jnbe short 02c58h ; 77 18 5080 5087 mov al, byte [bp-008h] ; 8a 46 f8 5081 5088 mov dx, 003c4h ; ba c4 03 … … 5083 5090 mov dx, cx ; 89 ca 5084 5091 mov ax, si ; 89 f0 5085 call 02f 3eh ; e8 09 035092 call 02f57h ; e8 09 03 5086 5093 mov dx, 003c5h ; ba c5 03 5087 5094 out DX, AL ; ee 5088 5095 inc cx ; 41 5089 5096 inc word [bp-008h] ; ff 46 f8 5090 jmp short 02c 21h ; eb e25097 jmp short 02c3ah ; eb e2 5091 5098 xor al, al ; 30 c0 5092 5099 mov dx, 003c4h ; ba c4 03 … … 5094 5101 mov dx, cx ; 89 ca 5095 5102 mov ax, si ; 89 f0 5096 call 02f 3eh ; e8 f2 025103 call 02f57h ; e8 f2 02 5097 5104 mov dx, 003c5h ; ba c5 03 5098 5105 out DX, AL ; ee … … 5102 5109 out DX, ax ; ef 5103 5110 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5104 jmp short 02c 64h ; eb 065111 jmp short 02c7dh ; eb 06 5105 5112 cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 5106 jnbe short 02c 81h ; 77 1d5113 jnbe short 02c9ah ; 77 1d 5107 5114 cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 5108 je short 02c 7bh ; 74 115115 je short 02c94h ; 74 11 5109 5116 mov al, byte [bp-008h] ; 8a 46 f8 5110 5117 mov dx, di ; 89 fa … … 5112 5119 mov dx, cx ; 89 ca 5113 5120 mov ax, si ; 89 f0 5114 call 02f 3eh ; e8 c7 025121 call 02f57h ; e8 c7 02 5115 5122 lea dx, [di+001h] ; 8d 55 01 5116 5123 out DX, AL ; ee 5117 5124 inc cx ; 41 5118 5125 inc word [bp-008h] ; ff 46 f8 5119 jmp short 02c 5eh ; eb dd5126 jmp short 02c77h ; eb dd 5120 5127 mov dx, 003cch ; ba cc 03 5121 5128 in AL, DX ; ec … … 5125 5132 mov word [bp-00ah], ax ; 89 46 f6 5126 5133 cmp di, 003d4h ; 81 ff d4 03 5127 jne short 02c 96h ; 75 045134 jne short 02cafh ; 75 04 5128 5135 or byte [bp-00ah], 001h ; 80 4e f6 01 5129 5136 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5136 5143 add dx, strict byte 0fff9h ; 83 c2 f9 5137 5144 mov ax, si ; 89 f0 5138 call 02f 3eh ; e8 92 025145 call 02f57h ; e8 92 02 5139 5146 lea dx, [di+001h] ; 8d 55 01 5140 5147 out DX, AL ; ee 5141 5148 lea dx, [bx+003h] ; 8d 57 03 5142 5149 mov ax, si ; 89 f0 5143 call 02f 3eh ; e8 86 025150 call 02f57h ; e8 86 02 5144 5151 xor ah, ah ; 30 e4 5145 5152 mov word [bp-00ch], ax ; 89 46 f4 … … 5149 5156 ; sub ah, ah ; 2a e4 5150 5157 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5151 jmp short 02c d0h ; eb 065158 jmp short 02ce9h ; eb 06 5152 5159 cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 5153 jnbe short 02 ceeh ; 77 1e5160 jnbe short 02d07h ; 77 1e 5154 5161 mov ax, word [bp-00ch] ; 8b 46 f4 5155 5162 and ax, strict word 00020h ; 25 20 00 … … 5159 5166 mov dx, cx ; 89 ca 5160 5167 mov ax, si ; 89 f0 5161 call 02f 3eh ; e8 5a 025168 call 02f57h ; e8 5a 02 5162 5169 mov dx, 003c0h ; ba c0 03 5163 5170 out DX, AL ; ee 5164 5171 inc cx ; 41 5165 5172 inc word [bp-008h] ; ff 46 f8 5166 jmp short 02c cah ; eb dc5173 jmp short 02ce3h ; eb dc 5167 5174 mov al, byte [bp-00ch] ; 8a 46 f4 5168 5175 mov dx, 003c0h ; ba c0 03 … … 5173 5180 ; sub ah, ah ; 2a e4 5174 5181 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5175 jmp short 02d 08h ; eb 065182 jmp short 02d21h ; eb 06 5176 5183 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5177 jnbe short 02d 20h ; 77 185184 jnbe short 02d39h ; 77 18 5178 5185 mov al, byte [bp-008h] ; 8a 46 f8 5179 5186 mov dx, 003ceh ; ba ce 03 … … 5181 5188 mov dx, cx ; 89 ca 5182 5189 mov ax, si ; 89 f0 5183 call 02f 3eh ; e8 28 025190 call 02f57h ; e8 28 02 5184 5191 mov dx, 003cfh ; ba cf 03 5185 5192 out DX, AL ; ee 5186 5193 inc cx ; 41 5187 5194 inc word [bp-008h] ; ff 46 f8 5188 jmp short 02d 02h ; eb e25195 jmp short 02d1bh ; eb e2 5189 5196 add cx, strict byte 00006h ; 83 c1 06 5190 5197 mov dx, bx ; 89 da 5191 5198 mov ax, si ; 89 f0 5192 call 02f 3eh ; e8 14 025199 call 02f57h ; e8 14 02 5193 5200 mov dx, 003c4h ; ba c4 03 5194 5201 out DX, AL ; ee … … 5196 5203 mov dx, bx ; 89 da 5197 5204 mov ax, si ; 89 f0 5198 call 02f 3eh ; e8 08 025205 call 02f57h ; e8 08 02 5199 5206 mov dx, di ; 89 fa 5200 5207 out DX, AL ; ee … … 5202 5209 mov dx, bx ; 89 da 5203 5210 mov ax, si ; 89 f0 5204 call 02f 3eh ; e8 fd 015211 call 02f57h ; e8 fd 01 5205 5212 mov dx, 003ceh ; ba ce 03 5206 5213 out DX, AL ; ee 5207 5214 lea dx, [bx+002h] ; 8d 57 02 5208 5215 mov ax, si ; 89 f0 5209 call 02f 3eh ; e8 f1 015216 call 02f57h ; e8 f1 01 5210 5217 lea dx, [di+006h] ; 8d 55 06 5211 5218 out DX, AL ; ee 5212 5219 test byte [bp-00eh], 002h ; f6 46 f2 02 5213 je near 02e c0h ; 0f 84 67 015220 je near 02ed9h ; 0f 84 67 01 5214 5221 mov dx, cx ; 89 ca 5215 5222 mov ax, si ; 89 f0 5216 call 02f 3eh ; e8 de 015223 call 02f57h ; e8 de 01 5217 5224 movzx bx, al ; 0f b6 d8 5218 5225 mov dx, strict word 00049h ; ba 49 00 5219 5226 mov ax, strict word 00040h ; b8 40 00 5220 call 02f 4ch ; e8 e0 015227 call 02f65h ; e8 e0 01 5221 5228 inc cx ; 41 5222 5229 mov dx, cx ; 89 ca 5223 5230 mov ax, si ; 89 f0 5224 call 02f 5ah ; e8 e6 015231 call 02f73h ; e8 e6 01 5225 5232 mov bx, ax ; 89 c3 5226 5233 mov dx, strict word 0004ah ; ba 4a 00 5227 5234 mov ax, strict word 00040h ; b8 40 00 5228 call 02f 68h ; e8 e9 015235 call 02f81h ; e8 e9 01 5229 5236 inc cx ; 41 5230 5237 inc cx ; 41 5231 5238 mov dx, cx ; 89 ca 5232 5239 mov ax, si ; 89 f0 5233 call 02f 5ah ; e8 d2 015240 call 02f73h ; e8 d2 01 5234 5241 mov bx, ax ; 89 c3 5235 5242 mov dx, strict word 0004ch ; ba 4c 00 5236 5243 mov ax, strict word 00040h ; b8 40 00 5237 call 02f 68h ; e8 d5 015244 call 02f81h ; e8 d5 01 5238 5245 inc cx ; 41 5239 5246 inc cx ; 41 5240 5247 mov dx, cx ; 89 ca 5241 5248 mov ax, si ; 89 f0 5242 call 02f 5ah ; e8 be 015249 call 02f73h ; e8 be 01 5243 5250 mov bx, ax ; 89 c3 5244 5251 mov dx, strict word 00063h ; ba 63 00 5245 5252 mov ax, strict word 00040h ; b8 40 00 5246 call 02f 68h ; e8 c1 015253 call 02f81h ; e8 c1 01 5247 5254 inc cx ; 41 5248 5255 inc cx ; 41 5249 5256 mov dx, cx ; 89 ca 5250 5257 mov ax, si ; 89 f0 5251 call 02f 3eh ; e8 8e 015258 call 02f57h ; e8 8e 01 5252 5259 movzx bx, al ; 0f b6 d8 5253 5260 mov dx, 00084h ; ba 84 00 5254 5261 mov ax, strict word 00040h ; b8 40 00 5255 call 02f 4ch ; e8 90 015262 call 02f65h ; e8 90 01 5256 5263 inc cx ; 41 5257 5264 mov dx, cx ; 89 ca 5258 5265 mov ax, si ; 89 f0 5259 call 02f 5ah ; e8 96 015266 call 02f73h ; e8 96 01 5260 5267 mov bx, ax ; 89 c3 5261 5268 mov dx, 00085h ; ba 85 00 5262 5269 mov ax, strict word 00040h ; b8 40 00 5263 call 02f 68h ; e8 99 015270 call 02f81h ; e8 99 01 5264 5271 inc cx ; 41 5265 5272 inc cx ; 41 5266 5273 mov dx, cx ; 89 ca 5267 5274 mov ax, si ; 89 f0 5268 call 02f 3eh ; e8 66 015275 call 02f57h ; e8 66 01 5269 5276 movzx bx, al ; 0f b6 d8 5270 5277 mov dx, 00087h ; ba 87 00 5271 5278 mov ax, strict word 00040h ; b8 40 00 5272 call 02f 4ch ; e8 68 015279 call 02f65h ; e8 68 01 5273 5280 inc cx ; 41 5274 5281 mov dx, cx ; 89 ca 5275 5282 mov ax, si ; 89 f0 5276 call 02f 3eh ; e8 52 015283 call 02f57h ; e8 52 01 5277 5284 movzx bx, al ; 0f b6 d8 5278 5285 mov dx, 00088h ; ba 88 00 5279 5286 mov ax, strict word 00040h ; b8 40 00 5280 call 02f 4ch ; e8 54 015287 call 02f65h ; e8 54 01 5281 5288 inc cx ; 41 5282 5289 mov dx, cx ; 89 ca 5283 5290 mov ax, si ; 89 f0 5284 call 02f 3eh ; e8 3e 015291 call 02f57h ; e8 3e 01 5285 5292 movzx bx, al ; 0f b6 d8 5286 5293 mov dx, 00089h ; ba 89 00 5287 5294 mov ax, strict word 00040h ; b8 40 00 5288 call 02f 4ch ; e8 40 015295 call 02f65h ; e8 40 01 5289 5296 inc cx ; 41 5290 5297 mov dx, cx ; 89 ca 5291 5298 mov ax, si ; 89 f0 5292 call 02f 5ah ; e8 46 015299 call 02f73h ; e8 46 01 5293 5300 mov bx, ax ; 89 c3 5294 5301 mov dx, strict word 00060h ; ba 60 00 5295 5302 mov ax, strict word 00040h ; b8 40 00 5296 call 02f 68h ; e8 49 015303 call 02f81h ; e8 49 01 5297 5304 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5298 5305 inc cx ; 41 5299 5306 inc cx ; 41 5300 jmp short 02e 2eh ; eb 065307 jmp short 02e47h ; eb 06 5301 5308 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5302 jnc short 02e 4ch ; 73 1e5309 jnc short 02e65h ; 73 1e 5303 5310 mov dx, cx ; 89 ca 5304 5311 mov ax, si ; 89 f0 5305 call 02f 5ah ; e8 25 015312 call 02f73h ; e8 25 01 5306 5313 mov bx, ax ; 89 c3 5307 5314 mov dx, word [bp-008h] ; 8b 56 f8 … … 5309 5316 add dx, strict byte 00050h ; 83 c2 50 5310 5317 mov ax, strict word 00040h ; b8 40 00 5311 call 02f 68h ; e8 23 015318 call 02f81h ; e8 23 01 5312 5319 inc cx ; 41 5313 5320 inc cx ; 41 5314 5321 inc word [bp-008h] ; ff 46 f8 5315 jmp short 02e 28h ; eb dc5322 jmp short 02e41h ; eb dc 5316 5323 mov dx, cx ; 89 ca 5317 5324 mov ax, si ; 89 f0 5318 call 02f 5ah ; e8 07 015325 call 02f73h ; e8 07 01 5319 5326 mov bx, ax ; 89 c3 5320 5327 mov dx, strict word 0004eh ; ba 4e 00 5321 5328 mov ax, strict word 00040h ; b8 40 00 5322 call 02f 68h ; e8 0a 015329 call 02f81h ; e8 0a 01 5323 5330 inc cx ; 41 5324 5331 inc cx ; 41 5325 5332 mov dx, cx ; 89 ca 5326 5333 mov ax, si ; 89 f0 5327 call 02f 3eh ; e8 d7 005334 call 02f57h ; e8 d7 00 5328 5335 movzx bx, al ; 0f b6 d8 5329 5336 mov dx, strict word 00062h ; ba 62 00 5330 5337 mov ax, strict word 00040h ; b8 40 00 5331 call 02f 4ch ; e8 d9 005338 call 02f65h ; e8 d9 00 5332 5339 inc cx ; 41 5333 5340 mov dx, cx ; 89 ca 5334 5341 mov ax, si ; 89 f0 5335 call 02f 5ah ; e8 df 005342 call 02f73h ; e8 df 00 5336 5343 mov bx, ax ; 89 c3 5337 5344 mov dx, strict word 0007ch ; ba 7c 00 5338 5345 xor ax, ax ; 31 c0 5339 call 02f 68h ; e8 e3 005346 call 02f81h ; e8 e3 00 5340 5347 inc cx ; 41 5341 5348 inc cx ; 41 5342 5349 mov dx, cx ; 89 ca 5343 5350 mov ax, si ; 89 f0 5344 call 02f 5ah ; e8 cc 005351 call 02f73h ; e8 cc 00 5345 5352 mov bx, ax ; 89 c3 5346 5353 mov dx, strict word 0007eh ; ba 7e 00 5347 5354 xor ax, ax ; 31 c0 5348 call 02f 68h ; e8 d0 005355 call 02f81h ; e8 d0 00 5349 5356 inc cx ; 41 5350 5357 inc cx ; 41 5351 5358 mov dx, cx ; 89 ca 5352 5359 mov ax, si ; 89 f0 5353 call 02f 5ah ; e8 b9 005360 call 02f73h ; e8 b9 00 5354 5361 mov bx, ax ; 89 c3 5355 5362 mov dx, 0010ch ; ba 0c 01 5356 5363 xor ax, ax ; 31 c0 5357 call 02f 68h ; e8 bd 005364 call 02f81h ; e8 bd 00 5358 5365 inc cx ; 41 5359 5366 inc cx ; 41 5360 5367 mov dx, cx ; 89 ca 5361 5368 mov ax, si ; 89 f0 5362 call 02f 5ah ; e8 a6 005369 call 02f73h ; e8 a6 00 5363 5370 mov bx, ax ; 89 c3 5364 5371 mov dx, 0010eh ; ba 0e 01 5365 5372 xor ax, ax ; 31 c0 5366 call 02f 68h ; e8 aa 005373 call 02f81h ; e8 aa 00 5367 5374 inc cx ; 41 5368 5375 inc cx ; 41 5369 5376 test byte [bp-00eh], 004h ; f6 46 f2 04 5370 je short 02f 0dh ; 74 475377 je short 02f26h ; 74 47 5371 5378 inc cx ; 41 5372 5379 mov dx, cx ; 89 ca 5373 5380 mov ax, si ; 89 f0 5374 call 02f 3eh ; e8 70 005381 call 02f57h ; e8 70 00 5375 5382 xor ah, ah ; 30 e4 5376 5383 mov word [bp-00ah], ax ; 89 46 f6 … … 5378 5385 mov dx, cx ; 89 ca 5379 5386 mov ax, si ; 89 f0 5380 call 02f 3eh ; e8 63 005387 call 02f57h ; e8 63 00 5381 5388 mov dx, 003c6h ; ba c6 03 5382 5389 out DX, AL ; ee … … 5387 5394 xor ah, ah ; 30 e4 5388 5395 mov word [bp-008h], ax ; 89 46 f8 5389 jmp short 02 ef4h ; eb 075396 jmp short 02f0dh ; eb 07 5390 5397 cmp word [bp-008h], 00300h ; 81 7e f8 00 03 5391 jnc short 02f 05h ; 73 115398 jnc short 02f1eh ; 73 11 5392 5399 mov dx, cx ; 89 ca 5393 5400 mov ax, si ; 89 f0 5394 call 02f 3eh ; e8 43 005401 call 02f57h ; e8 43 00 5395 5402 mov dx, 003c9h ; ba c9 03 5396 5403 out DX, AL ; ee 5397 5404 inc cx ; 41 5398 5405 inc word [bp-008h] ; ff 46 f8 5399 jmp short 02 eedh ; eb e85406 jmp short 02f06h ; eb e8 5400 5407 inc cx ; 41 5401 5408 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5409 5416 pop bp ; 5d 5410 5417 retn ; c3 5411 find_vga_entry_: ; 0xc2f 17LB 0x275418 find_vga_entry_: ; 0xc2f30 LB 0x27 5412 5419 push bx ; 53 5413 5420 push dx ; 52 … … 5417 5424 mov AH, strict byte 0ffh ; b4 ff 5418 5425 xor al, al ; 30 c0 5419 jmp short 02f 2ah ; eb 065426 jmp short 02f43h ; eb 06 5420 5427 db 0feh, 0c0h 5421 5428 ; inc al ; fe c0 5422 5429 cmp AL, strict byte 00fh ; 3c 0f 5423 jnbe short 02f 38h ; 77 0e5430 jnbe short 02f51h ; 77 0e 5424 5431 movzx bx, al ; 0f b6 d8 5425 5432 sal bx, 003h ; c1 e3 03 5426 cmp dl, byte [bx+046 2fh] ; 3a 97 2f465427 jne short 02f 24h ; 75 ee5433 cmp dl, byte [bx+04634h] ; 3a 97 34 46 5434 jne short 02f3dh ; 75 ee 5428 5435 mov ah, al ; 88 c4 5429 5436 mov al, ah ; 88 e0 … … 5432 5439 pop bx ; 5b 5433 5440 retn ; c3 5434 read_byte_: ; 0xc2f 3eLB 0xe5441 read_byte_: ; 0xc2f57 LB 0xe 5435 5442 push bx ; 53 5436 5443 push bp ; 55 … … 5442 5449 pop bx ; 5b 5443 5450 retn ; c3 5444 write_byte_: ; 0xc2f 4cLB 0xe5451 write_byte_: ; 0xc2f65 LB 0xe 5445 5452 push si ; 56 5446 5453 push bp ; 55 … … 5452 5459 pop si ; 5e 5453 5460 retn ; c3 5454 read_word_: ; 0xc2f 5aLB 0xe5461 read_word_: ; 0xc2f73 LB 0xe 5455 5462 push bx ; 53 5456 5463 push bp ; 55 … … 5462 5469 pop bx ; 5b 5463 5470 retn ; c3 5464 write_word_: ; 0xc2f 68LB 0xe5471 write_word_: ; 0xc2f81 LB 0xe 5465 5472 push si ; 56 5466 5473 push bp ; 55 … … 5472 5479 pop si ; 5e 5473 5480 retn ; c3 5474 read_dword_: ; 0xc2f 76LB 0x125481 read_dword_: ; 0xc2f8f LB 0x12 5475 5482 push bx ; 53 5476 5483 push bp ; 55 … … 5483 5490 pop bx ; 5b 5484 5491 retn ; c3 5485 write_dword_: ; 0xc2f 88LB 0x965492 write_dword_: ; 0xc2fa1 LB 0x96 5486 5493 push si ; 56 5487 5494 push bp ; 55 … … 5505 5512 add ax, 00304h ; 05 04 03 5506 5513 add al, byte [bx+di] ; 02 01 5507 add cl, ah ; 00 e1 5508 xor dx, word [bx+di+030h] ; 33 51 30 5509 db 08fh, 030h 5510 ; pop word [bx+si] ; 8f 30 5511 mov word [0b430h], ax ; a3 30 b4 5512 xor al, cl ; 30 c8 5513 xor cl, bl ; 30 d9 5514 xor bl, ah ; 30 e3 5515 xor byte [di], bl ; 30 1d 5516 xor word [bx+di], sp ; 31 21 5517 xor word [bp+si], si ; 31 32 5518 xor word [bx+031h], cx ; 31 4f 31 5519 insb ; 6c 5520 xor word [bp+di-057cfh], cx ; 31 8b 31 a8 5521 xor word [bx-034cfh], di ; 31 bf 31 cb 5522 xor word [bp+di-02aceh], bx ; 31 9b 32 d5 5523 xor cl, byte [bx+si] ; 32 08 5524 xor bx, word [di] ; 33 1d 5525 xor bx, word [bp+si+033h] ; 33 5a 33 5526 xor byte [si], ah ; 30 24 5527 and sp, word [bp+si] ; 23 22 5528 and word [bx+si], sp ; 21 20 5529 adc AL, strict byte 012h ; 14 12 5530 adc word [bx+si], dx ; 11 10 5531 add AL, strict byte 002h ; 04 02 5532 add word [bx+si], ax ; 01 00 5533 loope 0301eh ; e1 33 5534 jmp far 02132h:01031h ; ea 31 10 32 21 5535 xor dh, byte [bp+si] ; 32 32 5536 db 032h, 0eah 5537 ; xor ch, dl ; 32 ea 5538 xor word [bx+si], dx ; 31 10 5514 add dl, bh ; 00 fa 5515 xor bp, word [bp+si+030h] ; 33 6a 30 5516 test AL, strict byte 030h ; a8 30 5517 mov sp, 0cd30h ; bc 30 cd 5518 xor cl, ah ; 30 e1 5519 xor dl, dh ; 30 f2 5520 xor ah, bh ; 30 fc 5521 xor byte [03a31h], dh ; 30 36 31 3a 5522 xor word [bp+di+031h], cx ; 31 4b 31 5523 push 08531h ; 68 31 85 5524 xor word [si-03ecfh], sp ; 31 a4 31 c1 5525 xor ax, bx ; 31 d8 5526 xor sp, sp ; 31 e4 5527 xor word [si-011ceh], si ; 31 b4 32 ee 5539 5528 xor ah, byte [bx+di] ; 32 21 5540 xor dh, byte [bp+si] ; 32 32 5541 xor al, byte [bp+di+032h] ; 32 43 32 5542 dec di ; 4f 5543 xor ch, byte [bp+si+032h] ; 32 6a 32 5544 jc short 03035h ; 72 32 5545 jp short 03037h ; 7a 32 5546 db 082h, 032h, 00ah 5547 ; xor byte [bp+si], 00ah ; 82 32 0a 5529 xor si, word [07333h] ; 33 36 33 73 5530 xor si, word [bx+si] ; 33 30 5531 and AL, strict byte 023h ; 24 23 5532 and ah, byte [bx+di] ; 22 21 5533 and byte [si], dl ; 20 14 5534 adc dl, byte [bx+di] ; 12 11 5535 adc byte [si], al ; 10 04 5536 add al, byte [bx+di] ; 02 01 5537 add dl, bh ; 00 fa 5538 xor ax, word [bp+di] ; 33 03 5539 xor ch, byte [bx+di] ; 32 29 5540 xor bh, byte [bp+si] ; 32 3a 5541 xor cl, byte [bp+di+032h] ; 32 4b 32 5542 add si, word [bp+si] ; 03 32 5543 sub word [bp+si], si ; 29 32 5544 cmp dh, byte [bp+si] ; 3a 32 5545 dec bx ; 4b 5546 xor bl, byte [si+032h] ; 32 5c 32 5547 push 08332h ; 68 32 83 5548 xor cl, byte [bp+di-06cceh] ; 32 8b 32 93 5549 xor bl, byte [bp+di+00a32h] ; 32 9b 32 0a 5548 5550 or word [00204h], ax ; 09 06 04 02 5549 5551 add word [bx+si], ax ; 01 00 5550 aad 033h ; d5 33 5551 db 082h, 033h, 08fh 5552 ; xor byte [bp+di], 08fh ; 82 33 8f 5553 xor bx, word [bx-050cdh] ; 33 9f 33 af 5554 db 033h, 0c4h 5555 ; xor ax, sp ; 33 c4 5556 db 033h, 0d5h 5557 ; xor dx, bp ; 33 d5 5558 db 033h, 0d5h 5559 ; xor dx, bp ; 33 d5 5552 out DX, AL ; ee 5553 xor bx, word [bp+di-057cdh] ; 33 9b 33 a8 5554 xor di, word [bx+si-037cdh] ; 33 b8 33 c8 5555 db 033h, 0ddh 5556 ; xor bx, bp ; 33 dd 5557 db 033h, 0eeh 5558 ; xor bp, si ; 33 ee 5559 db 033h, 0eeh 5560 ; xor bp, si ; 33 ee 5560 5561 db 033h 5561 _int10_func: ; 0xc30 1eLB 0x3ca5562 _int10_func: ; 0xc3037 LB 0x3ca 5562 5563 push bp ; 55 5563 5564 mov bp, sp ; 89 e5 … … 5569 5570 shr ax, 008h ; c1 e8 08 5570 5571 cmp ax, strict word 0004fh ; 3d 4f 00 5571 jnbe near 033 e1h ; 0f 87 ad 035572 jnbe near 033fah ; 0f 87 ad 03 5572 5573 push CS ; 0e 5573 5574 pop ES ; 07 5574 5575 mov cx, strict word 00016h ; b9 16 00 5575 mov di, 02f 9ah ; bf 9a2f5576 mov di, 02fb3h ; bf b3 2f 5576 5577 repne scasb ; f2 ae 5577 5578 sal cx, 1 ; d1 e1 5578 5579 mov di, cx ; 89 cf 5579 mov bx, word [cs:di+02f afh] ; 2e 8b 9d af2f5580 mov bx, word [cs:di+02fc8h] ; 2e 8b 9d c8 2f 5580 5581 mov ax, word [bp+012h] ; 8b 46 12 5581 5582 xor ah, ah ; 30 e4 … … 5584 5585 mov al, byte [bp+012h] ; 8a 46 12 5585 5586 xor ah, ah ; 30 e4 5586 call 00fdch ; e8 83df5587 call 00fdch ; e8 6a df 5587 5588 mov ax, word [bp+012h] ; 8b 46 12 5588 5589 and ax, strict word 0007fh ; 25 7f 00 5589 5590 cmp ax, strict word 00007h ; 3d 07 00 5590 je short 030 79h ; 74 155591 je short 03092h ; 74 15 5591 5592 cmp ax, strict word 00006h ; 3d 06 00 5592 je short 030 70h ; 74 075593 je short 03089h ; 74 07 5593 5594 cmp ax, strict word 00005h ; 3d 05 00 5594 jbe short 030 79h ; 76 0b5595 jmp short 030 82h ; eb 125595 jbe short 03092h ; 76 0b 5596 jmp short 0309bh ; eb 12 5596 5597 mov ax, word [bp+012h] ; 8b 46 12 5597 5598 xor al, al ; 30 c0 5598 5599 or AL, strict byte 03fh ; 0c 3f 5599 jmp short 030 89h ; eb 105600 jmp short 030a2h ; eb 10 5600 5601 mov ax, word [bp+012h] ; 8b 46 12 5601 5602 xor al, al ; 30 c0 5602 5603 or AL, strict byte 030h ; 0c 30 5603 jmp short 030 89h ; eb 075604 jmp short 030a2h ; eb 07 5604 5605 mov ax, word [bp+012h] ; 8b 46 12 5605 5606 xor al, al ; 30 c0 5606 5607 or AL, strict byte 020h ; 0c 20 5607 5608 mov word [bp+012h], ax ; 89 46 12 5608 jmp near 033 e1h ; e9 52 035609 jmp near 033fah ; e9 52 03 5609 5610 mov al, byte [bp+010h] ; 8a 46 10 5610 5611 movzx dx, al ; 0f b6 d0 … … 5612 5613 shr ax, 008h ; c1 e8 08 5613 5614 xor ah, ah ; 30 e4 5614 call 00dbah ; e8 1add5615 jmp near 033 e1h ; e9 3e 035615 call 00dbah ; e8 01 dd 5616 jmp near 033fah ; e9 3e 03 5616 5617 mov dx, word [bp+00eh] ; 8b 56 0e 5617 5618 mov ax, word [bp+00ch] ; 8b 46 0c 5618 5619 shr ax, 008h ; c1 e8 08 5619 5620 xor ah, ah ; 30 e4 5620 call 00e5eh ; e8 addd5621 jmp near 033 e1h ; e9 2d 035621 call 00e5eh ; e8 94 dd 5622 jmp near 033fah ; e9 2d 03 5622 5623 lea bx, [bp+00eh] ; 8d 5e 0e 5623 5624 lea dx, [bp+010h] ; 8d 56 10 … … 5625 5626 shr ax, 008h ; c1 e8 08 5626 5627 xor ah, ah ; 30 e4 5627 call 00a88h ; e8 c3d95628 jmp near 033 e1h ; e9 19 035628 call 00a88h ; e8 aa d9 5629 jmp near 033fah ; e9 19 03 5629 5630 xor al, al ; 30 c0 5630 5631 mov word [bp+012h], ax ; 89 46 12 … … 5632 5633 mov word [bp+010h], ax ; 89 46 10 5633 5634 mov word [bp+00eh], ax ; 89 46 0e 5634 jmp near 033 e1h ; e9 08 035635 jmp near 033fah ; e9 08 03 5635 5636 mov al, dl ; 88 d0 5636 5637 xor ah, ah ; 30 e4 5637 call 00f00h ; e8 20de5638 jmp near 033 e1h ; e9 fe 025638 call 00f00h ; e8 07 de 5639 jmp near 033fah ; e9 fe 02 5639 5640 mov ax, strict word 00001h ; b8 01 00 5640 5641 push ax ; 50 … … 5658 5659 mov al, byte [bp+012h] ; 8a 46 12 5659 5660 xor ah, ah ; 30 e4 5660 call 015 72h ; e8 58 e45661 jmp near 033 e1h ; e9 c4 025661 call 0158bh ; e8 58 e4 5662 jmp near 033fah ; e9 c4 02 5662 5663 xor al, al ; 30 c0 5663 jmp short 030 e6h ; eb c55664 jmp short 030ffh ; eb c5 5664 5665 lea dx, [bp+012h] ; 8d 56 12 5665 5666 mov ax, word [bp+00ch] ; 8b 46 0c 5666 5667 shr ax, 008h ; c1 e8 08 5667 5668 xor ah, ah ; 30 e4 5668 call 00acbh ; e8 9cd95669 jmp near 033 e1h ; e9 af 025669 call 00acbh ; e8 83 d9 5670 jmp near 033fah ; e9 af 02 5670 5671 mov cx, word [bp+010h] ; 8b 4e 10 5671 5672 mov al, byte [bp+00ch] ; 8a 46 0c … … 5676 5677 mov al, byte [bp+012h] ; 8a 46 12 5677 5678 xor ah, ah ; 30 e4 5678 call 01d 12h ; e8 c6 eb5679 jmp near 033 e1h ; e9 92 025679 call 01d2bh ; e8 c6 eb 5680 jmp near 033fah ; e9 92 02 5680 5681 mov cx, word [bp+010h] ; 8b 4e 10 5681 5682 mov al, byte [bp+00ch] ; 8a 46 0c … … 5686 5687 mov al, byte [bp+012h] ; 8a 46 12 5687 5688 xor ah, ah ; 30 e4 5688 call 01e 7ah ; e8 11 ed5689 jmp near 033 e1h ; e9 75 025689 call 01e93h ; e8 11 ed 5690 jmp near 033fah ; e9 75 02 5690 5691 mov cx, word [bp+00eh] ; 8b 4e 0e 5691 5692 mov bx, word [bp+010h] ; 8b 5e 10 … … 5697 5698 mov al, byte [bp-006h] ; 8a 46 fa 5698 5699 xor ah, ah ; 30 e4 5699 call 0 1fe9h ; e8 61 ee5700 jmp near 033 e1h ; e9 56 025700 call 02002h ; e8 61 ee 5701 jmp near 033fah ; e9 56 02 5701 5702 lea cx, [bp+012h] ; 8d 4e 12 5702 5703 mov bx, word [bp+00eh] ; 8b 5e 0e … … 5707 5708 mov al, byte [bp-006h] ; 8a 46 fa 5708 5709 xor ah, ah ; 30 e4 5709 call 00bf5h ; e8 50da5710 jmp near 033 e1h ; e9 39 025710 call 00bf5h ; e8 37 da 5711 jmp near 033fah ; e9 39 02 5711 5712 mov cx, strict word 00002h ; b9 02 00 5712 5713 mov al, byte [bp+00ch] ; 8a 46 0c … … 5715 5716 mov al, byte [bp+012h] ; 8a 46 12 5716 5717 xor ah, ah ; 30 e4 5717 call 021 53h ; e8 97 ef5718 jmp near 033 e1h ; e9 22 025718 call 0216ch ; e8 97 ef 5719 jmp near 033fah ; e9 22 02 5719 5720 mov dx, word [bp+010h] ; 8b 56 10 5720 5721 mov ax, word [bp+00ch] ; 8b 46 0c 5721 call 00d2eh ; e8 66db5722 jmp near 033 e1h ; e9 16 025722 call 00d2eh ; e8 4d db 5723 jmp near 033fah ; e9 16 02 5723 5724 cmp ax, strict word 00030h ; 3d 30 00 5724 jnbe near 033 e1h ; 0f 87 0f 025725 jnbe near 033fah ; 0f 87 0f 02 5725 5726 push CS ; 0e 5726 5727 pop ES ; 07 5727 5728 mov cx, strict word 0000fh ; b9 0f 00 5728 mov di, 02f dbh ; bf db2f5729 mov di, 02ff4h ; bf f4 2f 5729 5730 repne scasb ; f2 ae 5730 5731 sal cx, 1 ; d1 e1 5731 5732 mov di, cx ; 89 cf 5732 mov dx, word [cs:di+0 2fe9h] ; 2e 8b 95 e9 2f5733 mov dx, word [cs:di+03002h] ; 2e 8b 95 02 30 5733 5734 mov al, byte [bp+00ch] ; 8a 46 0c 5734 5735 jmp dx ; ff e2 … … 5746 5747 mov bx, word [bp+008h] ; 8b 5e 08 5747 5748 mov dx, word [bp+016h] ; 8b 56 16 5748 call 024 bbh ; e8 ae f25749 jmp near 033 e1h ; e9 d1 015749 call 024d4h ; e8 ae f2 5750 jmp near 033fah ; e9 d1 01 5750 5751 mov al, byte [bp+00ch] ; 8a 46 0c 5751 5752 movzx dx, al ; 0f b6 d0 5752 5753 mov al, byte [bp+012h] ; 8a 46 12 5753 5754 xor ah, ah ; 30 e4 5754 call 025 38h ; e8 1a f35755 jmp near 033 e1h ; e9 c0 015755 call 02551h ; e8 1a f3 5756 jmp near 033fah ; e9 c0 01 5756 5757 mov al, byte [bp+00ch] ; 8a 46 0c 5757 5758 movzx dx, al ; 0f b6 d0 5758 5759 mov al, byte [bp+012h] ; 8a 46 12 5759 5760 xor ah, ah ; 30 e4 5760 call 025 a8h ; e8 79 f35761 jmp near 033 e1h ; e9 af 015761 call 025c1h ; e8 79 f3 5762 jmp near 033fah ; e9 af 01 5762 5763 mov al, byte [bp+00ch] ; 8a 46 0c 5763 5764 movzx dx, al ; 0f b6 d0 5764 5765 mov al, byte [bp+012h] ; 8a 46 12 5765 5766 xor ah, ah ; 30 e4 5766 call 026 1ah ; e8 da f35767 jmp near 033 e1h ; e9 9e 015767 call 02633h ; e8 da f3 5768 jmp near 033fah ; e9 9e 01 5768 5769 mov dx, word [bp+008h] ; 8b 56 08 5769 5770 mov ax, word [bp+016h] ; 8b 46 16 5770 call 026 8ch ; e8 40 f45771 jmp near 033 e1h ; e9 92 015771 call 026a5h ; e8 40 f4 5772 jmp near 033fah ; e9 92 01 5772 5773 mov al, byte [bp+00eh] ; 8a 46 0e 5773 5774 xor ah, ah ; 30 e4 … … 5778 5779 mov dx, word [bp+008h] ; 8b 56 08 5779 5780 mov ax, word [bp+016h] ; 8b 46 16 5780 call 026 91h ; e8 2a f45781 jmp near 033 e1h ; e9 77 015781 call 026aah ; e8 2a f4 5782 jmp near 033fah ; e9 77 01 5782 5783 xor ah, ah ; 30 e4 5783 call 026 98h ; e8 29 f45784 jmp near 033 e1h ; e9 6f 015784 call 026b1h ; e8 29 f4 5785 jmp near 033fah ; e9 6f 01 5785 5786 xor ah, ah ; 30 e4 5786 call 026 9dh ; e8 26 f45787 jmp near 033 e1h ; e9 67 015787 call 026b6h ; e8 26 f4 5788 jmp near 033fah ; e9 67 01 5788 5789 xor ah, ah ; 30 e4 5789 call 026 a2h ; e8 23 f45790 jmp near 033 e1h ; e9 5f 015790 call 026bbh ; e8 23 f4 5791 jmp near 033fah ; e9 5f 01 5791 5792 lea ax, [bp+00eh] ; 8d 46 0e 5792 5793 push ax ; 50 … … 5796 5797 lea bx, [bp+008h] ; 8d 5e 08 5797 5798 lea dx, [bp+016h] ; 8d 56 16 5798 call 00b73h ; e8 dbd85799 jmp near 033 e1h ; e9 46 015799 call 00b73h ; e8 c2 d8 5800 jmp near 033fah ; e9 46 01 5800 5801 mov ax, word [bp+00ch] ; 8b 46 0c 5801 5802 xor ah, ah ; 30 e4 5802 5803 cmp ax, strict word 00036h ; 3d 36 00 5803 je short 032 cdh ; 74 285804 je short 032e6h ; 74 28 5804 5805 cmp ax, strict word 00035h ; 3d 35 00 5805 je short 032 b7h ; 74 0d5806 je short 032d0h ; 74 0d 5806 5807 cmp ax, strict word 00020h ; 3d 20 00 5807 jne near 033 e1h ; 0f 85 30 015808 call 026 a7h ; e8 f3 f35809 jmp near 033 e1h ; e9 2a 015808 jne near 033fah ; 0f 85 30 01 5809 call 026c0h ; e8 f3 f3 5810 jmp near 033fah ; e9 2a 01 5810 5811 movzx ax, dl ; 0f b6 c2 5811 5812 mov bx, word [bp+00eh] ; 8b 5e 0e 5812 5813 mov dx, word [bp+016h] ; 8b 56 16 5813 call 026 ach ; e8 e9 f35814 call 026c5h ; e8 e9 f3 5814 5815 mov ax, word [bp+012h] ; 8b 46 12 5815 5816 xor al, al ; 30 c0 5816 5817 or AL, strict byte 012h ; 0c 12 5817 jmp near 030 89h ; e9 bc fd5818 jmp near 030a2h ; e9 bc fd 5818 5819 movzx ax, dl ; 0f b6 c2 5819 call 026 b1h ; e8 de f35820 jmp short 032 c3h ; eb ee5820 call 026cah ; e8 de f3 5821 jmp short 032dch ; eb ee 5821 5822 push word [bp+008h] ; ff 76 08 5822 5823 push word [bp+016h] ; ff 76 16 … … 5837 5838 mov dx, ax ; 89 c2 5838 5839 mov ax, si ; 89 f0 5839 call 026 b6h ; e8 b1 f35840 jmp near 033 e1h ; e9 d9 005840 call 026cfh ; e8 b1 f3 5841 jmp near 033fah ; e9 d9 00 5841 5842 mov bx, si ; 89 f3 5842 5843 mov dx, word [bp+016h] ; 8b 56 16 5843 5844 mov ax, word [bp+00ch] ; 8b 46 0c 5844 call 027 52h ; e8 3f f45845 call 0276bh ; e8 3f f4 5845 5846 mov ax, word [bp+012h] ; 8b 46 12 5846 5847 xor al, al ; 30 c0 5847 5848 or AL, strict byte 01bh ; 0c 1b 5848 jmp near 030 89h ; e9 6c fd5849 jmp near 030a2h ; e9 6c fd 5849 5850 cmp ax, strict word 00002h ; 3d 02 00 5850 je short 033 44h ; 74 225851 je short 0335dh ; 74 22 5851 5852 cmp ax, strict word 00001h ; 3d 01 00 5852 je short 033 36h ; 74 0f5853 je short 0334fh ; 74 0f 5853 5854 test ax, ax ; 85 c0 5854 jne short 033 50h ; 75 255855 jne short 03369h ; 75 25 5855 5856 lea dx, [bp+00ch] ; 8d 56 0c 5856 5857 mov ax, word [bp+010h] ; 8b 46 10 5857 call 028 76h ; e8 42 f55858 jmp short 033 50h ; eb 1a5858 call 0288fh ; e8 42 f5 5859 jmp short 03369h ; eb 1a 5859 5860 mov bx, word [bp+00ch] ; 8b 5e 0c 5860 5861 mov dx, word [bp+016h] ; 8b 56 16 5861 5862 mov ax, word [bp+010h] ; 8b 46 10 5862 call 028 88h ; e8 46 f55863 jmp short 033 50h ; eb 0c5863 call 028a1h ; e8 46 f5 5864 jmp short 03369h ; eb 0c 5864 5865 mov bx, word [bp+00ch] ; 8b 5e 0c 5865 5866 mov dx, word [bp+016h] ; 8b 56 16 5866 5867 mov ax, word [bp+010h] ; 8b 46 10 5867 call 02 bf1h ; e8 a1 f85868 call 02c0ah ; e8 a1 f8 5868 5869 mov ax, word [bp+012h] ; 8b 46 12 5869 5870 xor al, al ; 30 c0 5870 5871 or AL, strict byte 01ch ; 0c 1c 5871 jmp near 030 89h ; e9 2f fd5872 call 007bfh ; e8 62d45872 jmp near 030a2h ; e9 2f fd 5873 call 007bfh ; e8 49 d4 5873 5874 test ax, ax ; 85 c0 5874 je near 033 dch ; 0f 84 79 005875 je near 033f5h ; 0f 84 79 00 5875 5876 mov ax, word [bp+012h] ; 8b 46 12 5876 5877 xor ah, ah ; 30 e4 5877 5878 cmp ax, strict word 0000ah ; 3d 0a 00 5878 jnbe short 033 d5h ; 77 685879 jnbe short 033eeh ; 77 68 5879 5880 push CS ; 0e 5880 5881 pop ES ; 07 5881 5882 mov cx, strict word 00008h ; b9 08 00 5882 mov di, 030 07h ; bf 07305883 mov di, 03020h ; bf 20 30 5883 5884 repne scasb ; f2 ae 5884 5885 sal cx, 1 ; d1 e1 5885 5886 mov di, cx ; 89 cf 5886 mov ax, word [cs:di+030 0eh] ; 2e 8b 85 0e305887 mov ax, word [cs:di+03027h] ; 2e 8b 85 27 30 5887 5888 jmp ax ; ff e0 5888 5889 mov bx, si ; 89 f3 5889 5890 mov dx, word [bp+016h] ; 8b 56 16 5890 5891 lea ax, [bp+012h] ; 8d 46 12 5891 call 035 84h ; e8 f7 015892 jmp short 033 e1h ; eb 525892 call 035b6h ; e8 10 02 5893 jmp short 033fah ; eb 52 5893 5894 mov cx, si ; 89 f1 5894 5895 mov bx, word [bp+016h] ; 8b 5e 16 5895 5896 mov dx, word [bp+010h] ; 8b 56 10 5896 5897 lea ax, [bp+012h] ; 8d 46 12 5897 call 036 adh ; e8 10035898 jmp short 033 e1h ; eb 425898 call 036dfh ; e8 29 03 5899 jmp short 033fah ; eb 42 5899 5900 mov cx, si ; 89 f1 5900 5901 mov bx, word [bp+016h] ; 8b 5e 16 5901 5902 mov dx, word [bp+00ch] ; 8b 56 0c 5902 5903 lea ax, [bp+012h] ; 8d 46 12 5903 call 037 65h ; e8 b8035904 jmp short 033 e1h ; eb 325904 call 03797h ; e8 d1 03 5905 jmp short 033fah ; eb 32 5905 5906 lea ax, [bp+00ch] ; 8d 46 0c 5906 5907 push ax ; 50 … … 5909 5910 mov dx, word [bp+010h] ; 8b 56 10 5910 5911 lea ax, [bp+012h] ; 8d 46 12 5911 call 039 4ch ; e8 8a055912 jmp short 033 e1h ; eb 1d5912 call 0397eh ; e8 a3 05 5913 jmp short 033fah ; eb 1d 5913 5914 lea cx, [bp+00eh] ; 8d 4e 0e 5914 5915 lea bx, [bp+010h] ; 8d 5e 10 5915 5916 lea dx, [bp+00ch] ; 8d 56 0c 5916 5917 lea ax, [bp+012h] ; 8d 46 12 5917 call 03 9d8h ; e8 05065918 jmp short 033 e1h ; eb 0c5918 call 03a0ah ; e8 1e 06 5919 jmp short 033fah ; eb 0c 5919 5920 mov word [bp+012h], 00100h ; c7 46 12 00 01 5920 jmp short 033 e1h ; eb 055921 jmp short 033fah ; eb 05 5921 5922 mov word [bp+012h], 00100h ; c7 46 12 00 01 5922 5923 lea sp, [bp-004h] ; 8d 66 fc … … 5925 5926 pop bp ; 5d 5926 5927 retn ; c3 5927 dispi_set_xres_: ; 0xc3 3e8LB 0x1f5928 dispi_set_xres_: ; 0xc3401 LB 0x1f 5928 5929 push bp ; 55 5929 5930 mov bp, sp ; 89 e5 … … 5933 5934 mov ax, strict word 00001h ; b8 01 00 5934 5935 mov dx, 001ceh ; ba ce 01 5935 call 00570h ; e8 78d15936 call 00570h ; e8 5f d1 5936 5937 mov ax, bx ; 89 d8 5937 5938 mov dx, 001cfh ; ba cf 01 5938 call 00570h ; e8 70d15939 call 00570h ; e8 57 d1 5939 5940 lea sp, [bp-004h] ; 8d 66 fc 5940 5941 pop dx ; 5a … … 5942 5943 pop bp ; 5d 5943 5944 retn ; c3 5944 dispi_set_yres_: ; 0xc34 07LB 0x1f5945 dispi_set_yres_: ; 0xc3420 LB 0x1f 5945 5946 push bp ; 55 5946 5947 mov bp, sp ; 89 e5 … … 5950 5951 mov ax, strict word 00002h ; b8 02 00 5951 5952 mov dx, 001ceh ; ba ce 01 5952 call 00570h ; e8 59d15953 call 00570h ; e8 40 d1 5953 5954 mov ax, bx ; 89 d8 5954 5955 mov dx, 001cfh ; ba cf 01 5955 call 00570h ; e8 51d15956 call 00570h ; e8 38 d1 5956 5957 lea sp, [bp-004h] ; 8d 66 fc 5957 5958 pop dx ; 5a … … 5959 5960 pop bp ; 5d 5960 5961 retn ; c3 5961 dispi_set_bpp_: ; 0xc3426 LB 0x1f 5962 dispi_get_yres_: ; 0xc343f LB 0x19 5963 push bp ; 55 5964 mov bp, sp ; 89 e5 5965 push dx ; 52 5966 mov ax, strict word 00002h ; b8 02 00 5967 mov dx, 001ceh ; ba ce 01 5968 call 00570h ; e8 24 d1 5969 mov dx, 001cfh ; ba cf 01 5970 call 00577h ; e8 25 d1 5971 lea sp, [bp-002h] ; 8d 66 fe 5972 pop dx ; 5a 5973 pop bp ; 5d 5974 retn ; c3 5975 dispi_set_bpp_: ; 0xc3458 LB 0x1f 5962 5976 push bp ; 55 5963 5977 mov bp, sp ; 89 e5 … … 5967 5981 mov ax, strict word 00003h ; b8 03 00 5968 5982 mov dx, 001ceh ; ba ce 01 5969 call 00570h ; e8 3ad15983 call 00570h ; e8 08 d1 5970 5984 mov ax, bx ; 89 d8 5971 5985 mov dx, 001cfh ; ba cf 01 5972 call 00570h ; e8 32d15986 call 00570h ; e8 00 d1 5973 5987 lea sp, [bp-004h] ; 8d 66 fc 5974 5988 pop dx ; 5a … … 5976 5990 pop bp ; 5d 5977 5991 retn ; c3 5978 dispi_get_bpp_: ; 0xc34 45LB 0x195992 dispi_get_bpp_: ; 0xc3477 LB 0x19 5979 5993 push bp ; 55 5980 5994 mov bp, sp ; 89 e5 … … 5982 5996 mov ax, strict word 00003h ; b8 03 00 5983 5997 mov dx, 001ceh ; ba ce 01 5984 call 00570h ; e8 1e d15998 call 00570h ; e8 ec d0 5985 5999 mov dx, 001cfh ; ba cf 01 5986 call 00577h ; e8 1f d16000 call 00577h ; e8 ed d0 5987 6001 lea sp, [bp-002h] ; 8d 66 fe 5988 6002 pop dx ; 5a 5989 6003 pop bp ; 5d 5990 6004 retn ; c3 5991 dispi_set_virt_width_: ; 0xc34 5eLB 0x1f6005 dispi_set_virt_width_: ; 0xc3490 LB 0x1f 5992 6006 push bp ; 55 5993 6007 mov bp, sp ; 89 e5 … … 5997 6011 mov ax, strict word 00006h ; b8 06 00 5998 6012 mov dx, 001ceh ; ba ce 01 5999 call 00570h ; e8 02 d16013 call 00570h ; e8 d0 d0 6000 6014 mov ax, bx ; 89 d8 6001 6015 mov dx, 001cfh ; ba cf 01 6002 call 00570h ; e8 fad06016 call 00570h ; e8 c8 d0 6003 6017 lea sp, [bp-004h] ; 8d 66 fc 6004 6018 pop dx ; 5a … … 6006 6020 pop bp ; 5d 6007 6021 retn ; c3 6008 dispi_get_virt_width_: ; 0xc34 7dLB 0x196022 dispi_get_virt_width_: ; 0xc34af LB 0x19 6009 6023 push bp ; 55 6010 6024 mov bp, sp ; 89 e5 … … 6012 6026 mov ax, strict word 00006h ; b8 06 00 6013 6027 mov dx, 001ceh ; ba ce 01 6014 call 00570h ; e8 e6d06028 call 00570h ; e8 b4 d0 6015 6029 mov dx, 001cfh ; ba cf 01 6016 call 00577h ; e8 e7d06030 call 00577h ; e8 b5 d0 6017 6031 lea sp, [bp-002h] ; 8d 66 fe 6018 6032 pop dx ; 5a 6019 6033 pop bp ; 5d 6020 6034 retn ; c3 6021 dispi_get_virt_height_: ; 0xc34 96LB 0x196035 dispi_get_virt_height_: ; 0xc34c8 LB 0x19 6022 6036 push bp ; 55 6023 6037 mov bp, sp ; 89 e5 … … 6025 6039 mov ax, strict word 00007h ; b8 07 00 6026 6040 mov dx, 001ceh ; ba ce 01 6027 call 00570h ; e8 cdd06041 call 00570h ; e8 9b d0 6028 6042 mov dx, 001cfh ; ba cf 01 6029 call 00577h ; e8 ced06043 call 00577h ; e8 9c d0 6030 6044 lea sp, [bp-002h] ; 8d 66 fe 6031 6045 pop dx ; 5a 6032 6046 pop bp ; 5d 6033 6047 retn ; c3 6034 in_word_: ; 0xc34 afLB 0x126048 in_word_: ; 0xc34e1 LB 0x12 6035 6049 push bp ; 55 6036 6050 mov bp, sp ; 89 e5 … … 6045 6059 pop bp ; 5d 6046 6060 retn ; c3 6047 in_byte_: ; 0xc34 c1LB 0x146061 in_byte_: ; 0xc34f3 LB 0x14 6048 6062 push bp ; 55 6049 6063 mov bp, sp ; 89 e5 … … 6060 6074 pop bp ; 5d 6061 6075 retn ; c3 6062 dispi_get_id_: ; 0xc3 4d5LB 0x146076 dispi_get_id_: ; 0xc3507 LB 0x14 6063 6077 push bp ; 55 6064 6078 mov bp, sp ; 89 e5 … … 6073 6087 pop bp ; 5d 6074 6088 retn ; c3 6075 dispi_set_id_: ; 0xc3 4e9LB 0x1a6089 dispi_set_id_: ; 0xc351b LB 0x1a 6076 6090 push bp ; 55 6077 6091 mov bp, sp ; 89 e5 … … 6090 6104 pop bp ; 5d 6091 6105 retn ; c3 6092 vbe_init_: ; 0xc35 03LB 0x2c6106 vbe_init_: ; 0xc3535 LB 0x2c 6093 6107 push bp ; 55 6094 6108 mov bp, sp ; 89 e5 … … 6096 6110 push dx ; 52 6097 6111 mov ax, 0b0c0h ; b8 c0 b0 6098 call 03 4e9h ; e8 db ff6099 call 03 4d5h ; e8 c4 ff6112 call 0351bh ; e8 db ff 6113 call 03507h ; e8 c4 ff 6100 6114 cmp ax, 0b0c0h ; 3d c0 b0 6101 jne short 035 28h ; 75 126115 jne short 0355ah ; 75 12 6102 6116 mov bx, strict word 00001h ; bb 01 00 6103 6117 mov dx, 000b9h ; ba b9 00 6104 6118 mov ax, strict word 00040h ; b8 40 00 6105 call 02f 4ch ; e8 2afa6119 call 02f65h ; e8 11 fa 6106 6120 mov ax, 0b0c4h ; b8 c4 b0 6107 call 03 4e9h ; e8 c1 ff6121 call 0351bh ; e8 c1 ff 6108 6122 lea sp, [bp-004h] ; 8d 66 fc 6109 6123 pop dx ; 5a … … 6111 6125 pop bp ; 5d 6112 6126 retn ; c3 6113 mode_info_find_mode_: ; 0xc35 2fLB 0x556127 mode_info_find_mode_: ; 0xc3561 LB 0x55 6114 6128 push bp ; 55 6115 6129 mov bp, sp ; 89 e5 … … 6122 6136 xor dx, dx ; 31 d2 6123 6137 mov ax, 003b6h ; b8 b6 03 6124 call 034 afh ; e8 6d ff6138 call 034e1h ; e8 6d ff 6125 6139 cmp ax, 077cch ; 3d cc 77 6126 jne short 035 79h ; 75 326140 jne short 035abh ; 75 32 6127 6141 mov bx, strict word 00004h ; bb 04 00 6128 6142 mov dx, bx ; 89 da 6129 6143 mov ax, 003b6h ; b8 b6 03 6130 call 034 afh ; e8 5d ff6144 call 034e1h ; e8 5d ff 6131 6145 mov cx, ax ; 89 c1 6132 6146 cmp cx, strict byte 0ffffh ; 83 f9 ff 6133 je short 035 79h ; 74 206147 je short 035abh ; 74 20 6134 6148 lea dx, [bx+002h] ; 8d 57 02 6135 6149 mov ax, 003b6h ; b8 b6 03 6136 call 034 afh ; e8 4d ff6150 call 034e1h ; e8 4d ff 6137 6151 lea dx, [bx+044h] ; 8d 57 44 6138 6152 cmp cx, di ; 39 f9 6139 jne short 035 75h ; 75 0c6153 jne short 035a7h ; 75 0c 6140 6154 test si, si ; 85 f6 6141 jne short 035 71h ; 75 046155 jne short 035a3h ; 75 04 6142 6156 mov ax, bx ; 89 d8 6143 jmp short 035 7bh ; eb 0a6157 jmp short 035adh ; eb 0a 6144 6158 test AL, strict byte 080h ; a8 80 6145 jne short 035 6dh ; 75 f86159 jne short 0359fh ; 75 f8 6146 6160 mov bx, dx ; 89 d3 6147 jmp short 035 4ch ; eb d36161 jmp short 0357eh ; eb d3 6148 6162 xor ax, ax ; 31 c0 6149 6163 lea sp, [bp-008h] ; 8d 66 f8 … … 6154 6168 pop bp ; 5d 6155 6169 retn ; c3 6156 vbe_biosfn_return_controller_information_: ; 0xc35 84LB 0x1296170 vbe_biosfn_return_controller_information_: ; 0xc35b6 LB 0x129 6157 6171 push bp ; 55 6158 6172 mov bp, sp ; 89 e5 … … 6165 6179 mov word [bp-00ah], bx ; 89 5e f6 6166 6180 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6167 call 005b7h ; e8 1b d06181 call 005b7h ; e8 e9 cf 6168 6182 mov word [bp-010h], ax ; 89 46 f0 6169 6183 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6171 6185 xor dx, dx ; 31 d2 6172 6186 mov ax, 003b6h ; b8 b6 03 6173 call 034 afh ; e8 02 ff6187 call 034e1h ; e8 02 ff 6174 6188 cmp ax, 077cch ; 3d cc 77 6175 je short 035 bch ; 74 0a6189 je short 035eeh ; 74 0a 6176 6190 push SS ; 16 6177 6191 pop ES ; 07 6178 6192 mov word [es:si], 00100h ; 26 c7 04 00 01 6179 jmp near 036 a5h ; e9 e9 006193 jmp near 036d7h ; e9 e9 00 6180 6194 mov cx, strict word 00004h ; b9 04 00 6181 6195 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6182 6196 mov es, [bp-008h] ; 8e 46 f8 6183 6197 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6184 jne short 03 5d6h ; 75 076198 jne short 03608h ; 75 07 6185 6199 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6186 je short 03 5e5h ; 74 0f6200 je short 03617h ; 74 0f 6187 6201 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6188 jne short 03 5eah ; 75 0c6202 jne short 0361ch ; 75 0c 6189 6203 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6190 jne short 03 5eah ; 75 056204 jne short 0361ch ; 75 05 6191 6205 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6192 6206 mov es, [bp-008h] ; 8e 46 f8 … … 6194 6208 ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 6195 6209 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6196 mov word [es:bx+006h], 07c 5eh ; 26 c7 47 06 5e7c6210 mov word [es:bx+006h], 07c6ch ; 26 c7 47 06 6c 7c 6197 6211 mov [es:bx+008h], ds ; 26 8c 5f 08 6198 6212 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h … … 6204 6218 mov dx, strict word 0ffffh ; ba ff ff 6205 6219 mov ax, 003b6h ; b8 b6 03 6206 call 034 afh ; e8 8a fe6220 call 034e1h ; e8 8a fe 6207 6221 mov es, [bp-008h] ; 8e 46 f8 6208 6222 mov word [es:bx+012h], ax ; 26 89 47 12 6209 6223 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6210 je short 036 56h ; 74 246224 je short 03688h ; 74 24 6211 6225 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6212 mov word [es:bx+016h], 07c 73h ; 26 c7 47 16 737c6226 mov word [es:bx+016h], 07c81h ; 26 c7 47 16 81 7c 6213 6227 mov [es:bx+018h], ds ; 26 8c 5f 18 6214 mov word [es:bx+01ah], 07c 86h ; 26 c7 47 1a 867c6228 mov word [es:bx+01ah], 07c94h ; 26 c7 47 1a 94 7c 6215 6229 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6216 mov word [es:bx+01eh], 07c a7h ; 26 c7 47 1e a77c6230 mov word [es:bx+01eh], 07cb5h ; 26 c7 47 1e b5 7c 6217 6231 mov [es:bx+020h], ds ; 26 8c 5f 20 6218 6232 mov dx, cx ; 89 ca 6219 6233 add dx, strict byte 0001bh ; 83 c2 1b 6220 6234 mov ax, 003b6h ; b8 b6 03 6221 call 034 c1h ; e8 60 fe6235 call 034f3h ; e8 60 fe 6222 6236 xor ah, ah ; 30 e4 6223 6237 cmp ax, word [bp-010h] ; 3b 46 f0 6224 jnbe short 036 81h ; 77 196238 jnbe short 036b3h ; 77 19 6225 6239 mov dx, cx ; 89 ca 6226 6240 mov ax, 003b6h ; b8 b6 03 6227 call 034 afh ; e8 3f fe6241 call 034e1h ; e8 3f fe 6228 6242 mov bx, ax ; 89 c3 6229 6243 mov dx, word [bp-00ah] ; 8b 56 f6 6230 6244 add dx, word [bp-00ch] ; 03 56 f4 6231 6245 mov ax, di ; 89 f8 6232 call 02f 68h ; e8 ebf86246 call 02f81h ; e8 d2 f8 6233 6247 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6234 6248 add cx, strict byte 00044h ; 83 c1 44 6235 6249 mov dx, cx ; 89 ca 6236 6250 mov ax, 003b6h ; b8 b6 03 6237 call 034 afh ; e8 23 fe6251 call 034e1h ; e8 23 fe 6238 6252 mov bx, ax ; 89 c3 6239 6253 cmp ax, strict word 0ffffh ; 3d ff ff 6240 jne short 036 56h ; 75 c36254 jne short 03688h ; 75 c3 6241 6255 mov dx, word [bp-00ah] ; 8b 56 f6 6242 6256 add dx, word [bp-00ch] ; 03 56 f4 6243 6257 mov ax, di ; 89 f8 6244 call 02f 68h ; e8 caf86258 call 02f81h ; e8 b1 f8 6245 6259 push SS ; 16 6246 6260 pop ES ; 07 … … 6252 6266 pop bp ; 5d 6253 6267 retn ; c3 6254 vbe_biosfn_return_mode_information_: ; 0xc36 adLB 0xb86268 vbe_biosfn_return_mode_information_: ; 0xc36df LB 0xb8 6255 6269 push bp ; 55 6256 6270 mov bp, sp ; 89 e5 … … 6268 6282 xor dh, dh ; 30 f6 6269 6283 and ah, 001h ; 80 e4 01 6270 call 035 2fh ; e8 65 fe6284 call 03561h ; e8 65 fe 6271 6285 mov word [bp-008h], ax ; 89 46 f8 6272 6286 test ax, ax ; 85 c0 6273 je near 037 53h ; 0f 84 80 006287 je near 03785h ; 0f 84 80 00 6274 6288 mov cx, 00100h ; b9 00 01 6275 6289 xor ax, ax ; 31 c0 … … 6277 6291 mov es, bx ; 8e c3 6278 6292 cld ; fc 6279 jcxz 03 6e2h ; e3 026293 jcxz 03714h ; e3 02 6280 6294 rep stosb ; f3 aa 6281 6295 xor cx, cx ; 31 c9 6282 jmp short 03 6ebh ; eb 056296 jmp short 0371dh ; eb 05 6283 6297 cmp cx, strict byte 00042h ; 83 f9 42 6284 jnc short 037 08h ; 73 1d6298 jnc short 0373ah ; 73 1d 6285 6299 mov dx, word [bp-008h] ; 8b 56 f8 6286 6300 inc dx ; 42 … … 6288 6302 add dx, cx ; 01 ca 6289 6303 mov ax, 003b6h ; b8 b6 03 6290 call 034 c1h ; e8 c9 fd6304 call 034f3h ; e8 c9 fd 6291 6305 movzx bx, al ; 0f b6 d8 6292 6306 mov dx, word [bp-006h] ; 8b 56 fa 6293 6307 add dx, cx ; 01 ca 6294 6308 mov ax, si ; 89 f0 6295 call 02f 4ch ; e8 47f86296 inc cx ; 41 6297 jmp short 03 6e6h ; eb de6309 call 02f65h ; e8 2e f8 6310 inc cx ; 41 6311 jmp short 03718h ; eb de 6298 6312 mov dx, word [bp-006h] ; 8b 56 fa 6299 6313 inc dx ; 42 6300 6314 inc dx ; 42 6301 6315 mov ax, si ; 89 f0 6302 call 02f 3eh ; e8 2cf86316 call 02f57h ; e8 13 f8 6303 6317 test AL, strict byte 001h ; a8 01 6304 je short 037 32h ; 74 1c6318 je short 03764h ; 74 1c 6305 6319 mov dx, word [bp-006h] ; 8b 56 fa 6306 6320 add dx, strict byte 0000ch ; 83 c2 0c 6307 6321 mov bx, 00629h ; bb 29 06 6308 6322 mov ax, si ; 89 f0 6309 call 02f 68h ; e8 44f86323 call 02f81h ; e8 2b f8 6310 6324 mov dx, word [bp-006h] ; 8b 56 fa 6311 6325 add dx, strict byte 0000eh ; 83 c2 0e 6312 6326 mov bx, 0c000h ; bb 00 c0 6313 6327 mov ax, si ; 89 f0 6314 call 02f 68h ; e8 36f86328 call 02f81h ; e8 1d f8 6315 6329 mov ax, strict word 0000bh ; b8 0b 00 6316 6330 mov dx, 001ceh ; ba ce 01 6317 call 00570h ; e8 35ce6331 call 00570h ; e8 03 ce 6318 6332 mov dx, 001cfh ; ba cf 01 6319 call 00577h ; e8 36ce6333 call 00577h ; e8 04 ce 6320 6334 mov dx, word [bp-006h] ; 8b 56 fa 6321 6335 add dx, strict byte 0002ah ; 83 c2 2a 6322 6336 mov bx, ax ; 89 c3 6323 6337 mov ax, si ; 89 f0 6324 call 02f 68h ; e8 1af86338 call 02f81h ; e8 01 f8 6325 6339 mov ax, strict word 0004fh ; b8 4f 00 6326 jmp short 037 56h ; eb 036340 jmp short 03788h ; eb 03 6327 6341 mov ax, 00100h ; b8 00 01 6328 6342 push SS ; 16 … … 6335 6349 pop bp ; 5d 6336 6350 retn ; c3 6337 vbe_biosfn_set_mode_: ; 0xc37 65LB 0xe96351 vbe_biosfn_set_mode_: ; 0xc3797 LB 0xe9 6338 6352 push bp ; 55 6339 6353 mov bp, sp ; 89 e5 … … 6349 6363 mov ax, dx ; 89 d0 6350 6364 test dx, dx ; 85 d2 6351 je short 037 85h ; 74 036365 je short 037b7h ; 74 03 6352 6366 mov dx, strict word 00040h ; ba 40 00 6353 6367 mov byte [bp-006h], dl ; 88 56 fa 6354 6368 test byte [bp-009h], 080h ; f6 46 f7 80 6355 je short 037 93h ; 74 056369 je short 037c5h ; 74 05 6356 6370 mov dx, 00080h ; ba 80 00 6357 jmp short 037 95h ; eb 026371 jmp short 037c7h ; eb 02 6358 6372 xor dx, dx ; 31 d2 6359 6373 mov byte [bp-008h], dl ; 88 56 f8 6360 6374 and byte [bp-009h], 001h ; 80 66 f7 01 6361 6375 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6362 jnc short 037 b5h ; 73 126376 jnc short 037e7h ; 73 12 6363 6377 xor ax, ax ; 31 c0 6364 call 005ddh ; e8 35ce6378 call 005ddh ; e8 03 ce 6365 6379 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6366 call 00fdch ; e8 2d d86380 call 00fdch ; e8 fb d7 6367 6381 mov ax, strict word 0004fh ; b8 4f 00 6368 jmp near 038 44h ; e9 8f 006382 jmp near 03876h ; e9 8f 00 6369 6383 mov dx, ax ; 89 c2 6370 6384 mov ax, word [bp-00ah] ; 8b 46 f6 6371 call 035 2fh ; e8 72 fd6385 call 03561h ; e8 72 fd 6372 6386 mov bx, ax ; 89 c3 6373 6387 test ax, ax ; 85 c0 6374 je near 038 41h ; 0f 84 7c 006388 je near 03873h ; 0f 84 7c 00 6375 6389 lea dx, [bx+014h] ; 8d 57 14 6376 6390 mov ax, 003b6h ; b8 b6 03 6377 call 034 afh ; e8 e1 fc6391 call 034e1h ; e8 e1 fc 6378 6392 mov cx, ax ; 89 c1 6379 6393 lea dx, [bx+016h] ; 8d 57 16 6380 6394 mov ax, 003b6h ; b8 b6 03 6381 call 034 afh ; e8 d6 fc6395 call 034e1h ; e8 d6 fc 6382 6396 mov di, ax ; 89 c7 6383 6397 lea dx, [bx+01bh] ; 8d 57 1b 6384 6398 mov ax, 003b6h ; b8 b6 03 6385 call 034 c1h ; e8 dd fc6399 call 034f3h ; e8 dd fc 6386 6400 mov bl, al ; 88 c3 6387 6401 mov dl, al ; 88 c2 6388 6402 xor ax, ax ; 31 c0 6389 call 005ddh ; e8 f0cd6403 call 005ddh ; e8 be cd 6390 6404 cmp bl, 004h ; 80 fb 04 6391 jne short 03 7f8h ; 75 066405 jne short 0382ah ; 75 06 6392 6406 mov ax, strict word 0006ah ; b8 6a 00 6393 call 00fdch ; e8 e4d76407 call 00fdch ; e8 b2 d7 6394 6408 movzx ax, dl ; 0f b6 c2 6395 call 034 26h ; e8 28 fc6409 call 03458h ; e8 28 fc 6396 6410 mov ax, cx ; 89 c8 6397 call 03 3e8h ; e8 e5fb6411 call 03401h ; e8 cc fb 6398 6412 mov ax, di ; 89 f8 6399 call 034 07h ; e8 fffb6413 call 03420h ; e8 e6 fb 6400 6414 xor ax, ax ; 31 c0 6401 call 00603h ; e8 f6cd6415 call 00603h ; e8 c4 cd 6402 6416 mov al, byte [bp-008h] ; 8a 46 f8 6403 6417 or AL, strict byte 001h ; 0c 01 … … 6405 6419 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6406 6420 or ax, dx ; 09 d0 6407 call 005ddh ; e8 bfcd6408 call 006d2h ; e8 b1ce6421 call 005ddh ; e8 8d cd 6422 call 006d2h ; e8 7f ce 6409 6423 mov bx, word [bp-00ah] ; 8b 5e f6 6410 6424 mov dx, 000bah ; ba ba 00 6411 6425 mov ax, strict word 00040h ; b8 40 00 6412 call 02f 68h ; e8 3bf76426 call 02f81h ; e8 22 f7 6413 6427 mov al, byte [bp-008h] ; 8a 46 f8 6414 6428 or AL, strict byte 060h ; 0c 60 … … 6416 6430 mov dx, 00087h ; ba 87 00 6417 6431 mov ax, strict word 00040h ; b8 40 00 6418 call 02f 4ch ; e8 0e f76419 jmp near 037 afh ; e9 6e ff6432 call 02f65h ; e8 f5 f6 6433 jmp near 037e1h ; e9 6e ff 6420 6434 mov ax, 00100h ; b8 00 01 6421 6435 mov word [ss:si], ax ; 36 89 04 … … 6425 6439 pop bp ; 5d 6426 6440 retn ; c3 6427 vbe_biosfn_read_video_state_size_: ; 0xc38 4eLB 0x86441 vbe_biosfn_read_video_state_size_: ; 0xc3880 LB 0x8 6428 6442 push bp ; 55 6429 6443 mov bp, sp ; 89 e5 … … 6431 6445 pop bp ; 5d 6432 6446 retn ; c3 6433 vbe_biosfn_save_video_state_: ; 0xc38 56LB 0x5b6447 vbe_biosfn_save_video_state_: ; 0xc3888 LB 0x5b 6434 6448 push bp ; 55 6435 6449 mov bp, sp ; 89 e5 … … 6450 6464 mov dx, cx ; 89 ca 6451 6465 mov ax, di ; 89 f8 6452 call 02f 68h ; e8 eff66466 call 02f81h ; e8 d6 f6 6453 6467 inc cx ; 41 6454 6468 inc cx ; 41 6455 6469 test byte [bp-00ah], 001h ; f6 46 f6 01 6456 je short 038 a8h ; 74 276470 je short 038dah ; 74 27 6457 6471 mov si, strict word 00001h ; be 01 00 6458 jmp short 038 8bh ; eb 056472 jmp short 038bdh ; eb 05 6459 6473 cmp si, strict byte 00009h ; 83 fe 09 6460 jnbe short 038 a8h ; 77 1d6474 jnbe short 038dah ; 77 1d 6461 6475 cmp si, strict byte 00004h ; 83 fe 04 6462 je short 038 a5h ; 74 156476 je short 038d7h ; 74 15 6463 6477 mov ax, si ; 89 f0 6464 6478 mov dx, 001ceh ; ba ce 01 … … 6469 6483 mov dx, cx ; 89 ca 6470 6484 mov ax, di ; 89 f8 6471 call 02f 68h ; e8 c5f66485 call 02f81h ; e8 ac f6 6472 6486 inc cx ; 41 6473 6487 inc cx ; 41 6474 6488 inc si ; 46 6475 jmp short 038 86h ; eb de6489 jmp short 038b8h ; eb de 6476 6490 lea sp, [bp-008h] ; 8d 66 f8 6477 6491 pop di ; 5f … … 6481 6495 pop bp ; 5d 6482 6496 retn ; c3 6483 vbe_biosfn_restore_video_state_: ; 0xc38 b1LB 0x9b6497 vbe_biosfn_restore_video_state_: ; 0xc38e3 LB 0x9b 6484 6498 push bp ; 55 6485 6499 mov bp, sp ; 89 e5 … … 6490 6504 mov cx, ax ; 89 c1 6491 6505 mov bx, dx ; 89 d3 6492 call 02f 5ah ; e8 9bf66506 call 02f73h ; e8 82 f6 6493 6507 mov word [bp-008h], ax ; 89 46 f8 6494 6508 inc bx ; 43 6495 6509 inc bx ; 43 6496 6510 test byte [bp-008h], 001h ; f6 46 f8 01 6497 jne short 03 8dah ; 75 106511 jne short 0390ch ; 75 10 6498 6512 mov ax, strict word 00004h ; b8 04 00 6499 6513 mov dx, 001ceh ; ba ce 01 … … 6502 6516 mov dx, 001cfh ; ba cf 01 6503 6517 out DX, ax ; ef 6504 jmp short 039 44h ; eb 6a6518 jmp short 03976h ; eb 6a 6505 6519 mov ax, strict word 00001h ; b8 01 00 6506 6520 mov dx, 001ceh ; ba ce 01 … … 6508 6522 mov dx, bx ; 89 da 6509 6523 mov ax, cx ; 89 c8 6510 call 02f 5ah ; e8 72f66524 call 02f73h ; e8 59 f6 6511 6525 mov dx, 001cfh ; ba cf 01 6512 6526 out DX, ax ; ef … … 6518 6532 mov dx, bx ; 89 da 6519 6533 mov ax, cx ; 89 c8 6520 call 02f 5ah ; e8 5ef66534 call 02f73h ; e8 45 f6 6521 6535 mov dx, 001cfh ; ba cf 01 6522 6536 out DX, ax ; ef … … 6528 6542 mov dx, bx ; 89 da 6529 6543 mov ax, cx ; 89 c8 6530 call 02f 5ah ; e8 4af66544 call 02f73h ; e8 31 f6 6531 6545 mov dx, 001cfh ; ba cf 01 6532 6546 out DX, ax ; ef … … 6540 6554 out DX, ax ; ef 6541 6555 mov si, strict word 00005h ; be 05 00 6542 jmp short 039 2eh ; eb 056556 jmp short 03960h ; eb 05 6543 6557 cmp si, strict byte 00009h ; 83 fe 09 6544 jnbe short 039 44h ; 77 166558 jnbe short 03976h ; 77 16 6545 6559 mov ax, si ; 89 f0 6546 6560 mov dx, 001ceh ; ba ce 01 … … 6548 6562 mov dx, bx ; 89 da 6549 6563 mov ax, cx ; 89 c8 6550 call 02f 5ah ; e8 1ff66564 call 02f73h ; e8 06 f6 6551 6565 mov dx, 001cfh ; ba cf 01 6552 6566 out DX, ax ; ef … … 6554 6568 inc bx ; 43 6555 6569 inc si ; 46 6556 jmp short 039 29h ; eb e56570 jmp short 0395bh ; eb e5 6557 6571 lea sp, [bp-006h] ; 8d 66 fa 6558 6572 pop si ; 5e … … 6561 6575 pop bp ; 5d 6562 6576 retn ; c3 6563 vbe_biosfn_save_restore_state_: ; 0xc39 4cLB 0x8c6577 vbe_biosfn_save_restore_state_: ; 0xc397e LB 0x8c 6564 6578 push bp ; 55 6565 6579 mov bp, sp ; 89 e5 … … 6574 6588 xor ah, ah ; 30 e4 6575 6589 cmp ax, strict word 00002h ; 3d 02 00 6576 je short 039 abh ; 74 456590 je short 039ddh ; 74 45 6577 6591 cmp ax, strict word 00001h ; 3d 01 00 6578 je short 039 8fh ; 74 246592 je short 039c1h ; 74 24 6579 6593 test ax, ax ; 85 c0 6580 jne short 039 c7h ; 75 586594 jne short 039f9h ; 75 58 6581 6595 mov ax, word [bp-006h] ; 8b 46 fa 6582 call 028 53h ; e8 deee6596 call 0286ch ; e8 c5 ee 6583 6597 mov cx, ax ; 89 c1 6584 6598 test byte [bp-006h], 008h ; f6 46 fa 08 6585 je short 039 82h ; 74 056586 call 038 4eh ; e8 ce fe6599 je short 039b4h ; 74 05 6600 call 03880h ; e8 ce fe 6587 6601 add ax, cx ; 01 c8 6588 6602 add ax, strict word 0003fh ; 05 3f 00 … … 6591 6605 pop ES ; 07 6592 6606 mov word [es:bx], ax ; 26 89 07 6593 jmp short 039 cah ; eb 3b6607 jmp short 039fch ; eb 3b 6594 6608 push SS ; 16 6595 6609 pop ES ; 07 … … 6597 6611 mov dx, cx ; 89 ca 6598 6612 mov ax, word [bp-006h] ; 8b 46 fa 6599 call 028 88h ; e8 ecee6613 call 028a1h ; e8 d3 ee 6600 6614 test byte [bp-006h], 008h ; f6 46 fa 08 6601 je short 039 cah ; 74 286615 je short 039fch ; 74 28 6602 6616 mov dx, ax ; 89 c2 6603 6617 mov ax, cx ; 89 c8 6604 call 038 56h ; e8 ad fe6605 jmp short 039 cah ; eb 1f6618 call 03888h ; e8 ad fe 6619 jmp short 039fch ; eb 1f 6606 6620 push SS ; 16 6607 6621 pop ES ; 07 … … 6609 6623 mov dx, cx ; 89 ca 6610 6624 mov ax, word [bp-006h] ; 8b 46 fa 6611 call 02 bf1h ; e8 39f26625 call 02c0ah ; e8 20 f2 6612 6626 test byte [bp-006h], 008h ; f6 46 fa 08 6613 je short 039 cah ; 74 0c6627 je short 039fch ; 74 0c 6614 6628 mov dx, ax ; 89 c2 6615 6629 mov ax, cx ; 89 c8 6616 call 038 b1h ; e8 ec fe6617 jmp short 039 cah ; eb 036630 call 038e3h ; e8 ec fe 6631 jmp short 039fch ; eb 03 6618 6632 mov di, 00100h ; bf 00 01 6619 6633 push SS ; 16 … … 6625 6639 pop bp ; 5d 6626 6640 retn 00002h ; c2 02 00 6627 vbe_biosfn_get_set_scanline_length_: ; 0xc3 9d8 LB 0xa96641 vbe_biosfn_get_set_scanline_length_: ; 0xc3a0a LB 0xcf 6628 6642 push bp ; 55 6629 6643 mov bp, sp ; 89 e5 6630 6644 push si ; 56 6631 6645 push di ; 57 6632 sub sp, strict byte 0000 6h ; 83 ec 066633 push ax ; 50 6634 mov si, dx ; 89 d66635 mov di, bx ; 89 df6646 sub sp, strict byte 00008h ; 83 ec 08 6647 push ax ; 50 6648 mov di, dx ; 89 d7 6649 mov si, bx ; 89 de 6636 6650 mov word [bp-008h], cx ; 89 4e f8 6637 call 03445h ; e8 5a fa 6638 mov cl, al ; 88 c1 6651 call 03477h ; e8 5a fa 6652 cmp AL, strict byte 00fh ; 3c 0f 6653 jne short 03a26h ; 75 05 6654 mov cx, strict word 00010h ; b9 10 00 6655 jmp short 03a29h ; eb 03 6656 movzx cx, al ; 0f b6 c8 6657 call 034afh ; e8 83 fa 6658 mov word [bp-00ah], ax ; 89 46 f6 6639 6659 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 6640 6660 push SS ; 16 6641 6661 pop ES ; 07 6642 mov bx, word [es: di] ; 26 8b 1d6643 mov al, byte [es: si] ; 26 8a 046662 mov bx, word [es:si] ; 26 8b 1c 6663 mov al, byte [es:di] ; 26 8a 05 6644 6664 cmp AL, strict byte 002h ; 3c 02 6645 je short 03a 08h ; 74 0a6665 je short 03a4bh ; 74 0b 6646 6666 cmp AL, strict byte 001h ; 3c 01 6647 je short 03a 2fh ; 74 2d6667 je short 03a72h ; 74 2e 6648 6668 test al, al ; 84 c0 6649 je short 03a 2ah ; 74 246650 jmp short 03a6ah ; eb 626669 je short 03a6dh ; 74 25 6670 jmp near 03ac2h ; e9 77 00 6651 6671 cmp cl, 004h ; 80 f9 04 6652 jne short 03a 12h ; 75 056672 jne short 03a55h ; 75 05 6653 6673 sal bx, 003h ; c1 e3 03 6654 jmp short 03a 2ah ; eb 186674 jmp short 03a6dh ; eb 18 6655 6675 movzx ax, cl ; 0f b6 c1 6656 6676 cwd ; 99 … … 6659 6679 ; sbb ax, dx ; 1b c2 6660 6680 sar ax, 003h ; c1 f8 03 6661 mov word [bp-00 ah], ax ; 89 46 f66681 mov word [bp-00ch], ax ; 89 46 f4 6662 6682 mov ax, bx ; 89 d8 6663 6683 xor dx, dx ; 31 d2 6664 div word [bp-00 ah] ; f7 76 f66684 div word [bp-00ch] ; f7 76 f4 6665 6685 mov bx, ax ; 89 c3 6666 6686 mov ax, bx ; 89 d8 6667 call 034 5eh ; e8 2ffa6668 call 034 7dh ; e8 4bfa6687 call 03490h ; e8 1e fa 6688 call 034afh ; e8 3a fa 6669 6689 mov bx, ax ; 89 c3 6670 6690 push SS ; 16 6671 6691 pop ES ; 07 6672 mov word [es: di], ax ; 26 89 056692 mov word [es:si], ax ; 26 89 04 6673 6693 cmp cl, 004h ; 80 f9 04 6674 jne short 03a 43h ; 75 056694 jne short 03a86h ; 75 05 6675 6695 shr bx, 003h ; c1 eb 03 6676 jmp short 03a 52h ; eb 0f6696 jmp short 03a95h ; eb 0f 6677 6697 movzx ax, cl ; 0f b6 c1 6678 6698 cwd ; 99 … … 6686 6706 push SS ; 16 6687 6707 pop ES ; 07 6688 mov word [es: si], bx ; 26 89 1c6689 call 034 96h ; e8 36fa6708 mov word [es:di], bx ; 26 89 1d 6709 call 034c8h ; e8 25 fa 6690 6710 push SS ; 16 6691 6711 pop ES ; 07 6692 6712 mov bx, word [bp-008h] ; 8b 5e f8 6693 6713 mov word [es:bx], ax ; 26 89 07 6694 jmp short 03a6fh ; eb 05 6714 call 0343fh ; e8 91 f9 6715 push SS ; 16 6716 pop ES ; 07 6717 cmp ax, word [es:bx] ; 26 3b 07 6718 jbe short 03ac7h ; 76 12 6719 mov ax, word [bp-00ah] ; 8b 46 f6 6720 call 03490h ; e8 d5 f9 6721 mov word [bp-006h], 00200h ; c7 46 fa 00 02 6722 jmp short 03ac7h ; eb 05 6695 6723 mov word [bp-006h], 00100h ; c7 46 fa 00 01 6696 6724 push SS ; 16 6697 6725 pop ES ; 07 6698 6726 mov ax, word [bp-006h] ; 8b 46 fa 6699 mov bx, word [bp-00 ch] ; 8b 5e f46727 mov bx, word [bp-00eh] ; 8b 5e f2 6700 6728 mov word [es:bx], ax ; 26 89 07 6701 6729 lea sp, [bp-004h] ; 8d 66 fc … … 6705 6733 retn ; c3 6706 6734 6707 ; Padding 0x9 7f bytes at 0xc3a816708 times 2 431db 06735 ; Padding 0x927 bytes at 0xc3ad9 6736 times 2343 db 0 6709 6737 6710 6738 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 6838 6866 times 235 db 0 6839 6867 6840 section _DATA progbits vstart=0x4600 align=1 ; size=0x37 1fclass=DATA group=DGROUP6841 _msg_vga_init: ; 0xc4600 LB 0x 2f6842 db 'Oracle VM VirtualBox Version 5. 1.51 VGA BIOS', 00dh, 00ah, 000h6843 _vga_modes: ; 0xc46 2fLB 0x806868 section _DATA progbits vstart=0x4600 align=1 ; size=0x3732 class=DATA group=DGROUP 6869 _msg_vga_init: ; 0xc4600 LB 0x34 6870 db 'Oracle VM VirtualBox Version 5.2.0_BETA1 VGA BIOS', 00dh, 00ah, 000h 6871 _vga_modes: ; 0xc4634 LB 0x80 6844 6872 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 6845 6873 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 6850 6878 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6851 6879 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6852 _line_to_vpti: ; 0xc46 afLB 0x106880 _line_to_vpti: ; 0xc46b4 LB 0x10 6853 6881 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 6854 _dac_regs: ; 0xc46 bfLB 0x46882 _dac_regs: ; 0xc46c4 LB 0x4 6855 6883 dd 0ff3f3f3fh 6856 _video_param_table: ; 0xc46c 3LB 0x7806884 _video_param_table: ; 0xc46c8 LB 0x780 6857 6885 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6858 6886 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 6975 7003 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 6976 7004 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 6977 _palette0: ; 0xc4e4 3LB 0xc07005 _palette0: ; 0xc4e48 LB 0xc0 6978 7006 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6979 7007 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 6988 7016 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6989 7017 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6990 _palette1: ; 0xc4f0 3LB 0xc07018 _palette1: ; 0xc4f08 LB 0xc0 6991 7019 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6992 7020 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 7001 7029 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7002 7030 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7003 _palette2: ; 0xc4fc 3LB 0xc07031 _palette2: ; 0xc4fc8 LB 0xc0 7004 7032 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7005 7033 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7014 7042 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7015 7043 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7016 _palette3: ; 0xc508 3LB 0x3007044 _palette3: ; 0xc5088 LB 0x300 7017 7045 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7018 7046 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7063 7091 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7064 7092 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7065 _static_functionality: ; 0xc538 3LB 0x107093 _static_functionality: ; 0xc5388 LB 0x10 7066 7094 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7067 _dcc_table: ; 0xc539 3LB 0x247095 _dcc_table: ; 0xc5398 LB 0x24 7068 7096 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7069 7097 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7070 7098 db 000h, 000h, 000h, 000h 7071 _secondary_save_area: ; 0xc53b 7LB 0x1a7072 db 01ah, 000h, 09 3h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7099 _secondary_save_area: ; 0xc53bc LB 0x1a 7100 db 01ah, 000h, 098h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7073 7101 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7074 _video_save_pointer_table: ; 0xc53d 1LB 0x1c7075 db 0c 3h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7076 db 0b 7h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7077 _vgafont8: ; 0xc53 edLB 0x8007102 _video_save_pointer_table: ; 0xc53d6 LB 0x1c 7103 db 0c8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7104 db 0bch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7105 _vgafont8: ; 0xc53f2 LB 0x800 7078 7106 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7079 7107 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7204 7232 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7205 7233 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7206 _vgafont14: ; 0xc5b edLB 0xe007234 _vgafont14: ; 0xc5bf2 LB 0xe00 7207 7235 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7208 7236 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7429 7457 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7430 7458 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7431 _vgafont16: ; 0xc69 edLB 0x10007459 _vgafont16: ; 0xc69f2 LB 0x1000 7432 7460 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7433 7461 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 7686 7714 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 7687 7715 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7688 _vgafont14alt: ; 0xc79 edLB 0x12d7716 _vgafont14alt: ; 0xc79f2 LB 0x12d 7689 7717 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 7690 7718 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 7706 7734 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 7707 7735 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 7708 _vgafont16alt: ; 0xc7b1 aLB 0x1447736 _vgafont16alt: ; 0xc7b1f LB 0x144 7709 7737 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 7710 7738 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 7728 7756 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 7729 7757 db 006h, 000h, 000h, 000h 7730 _vbebios_copyright: ; 0xc7c5e LB 0x15 7758 _cga_msr: ; 0xc7c63 LB 0x9 7759 db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h 7760 _vbebios_copyright: ; 0xc7c6c LB 0x15 7731 7761 db 'VirtualBox VESA BIOS', 000h 7732 _vbebios_vendor_name: ; 0xc7c 73LB 0x137762 _vbebios_vendor_name: ; 0xc7c81 LB 0x13 7733 7763 db 'Oracle Corporation', 000h 7734 _vbebios_product_name: ; 0xc7c 86LB 0x217764 _vbebios_product_name: ; 0xc7c94 LB 0x21 7735 7765 db 'Oracle VM VirtualBox VBE Adapter', 000h 7736 _vbebios_product_revision: ; 0xc7c a7 LB 0x247737 db 'Oracle VM VirtualBox Version 5. 1.51', 000h7738 _vbebios_info_string: ; 0xc7c cbLB 0x2b7766 _vbebios_product_revision: ; 0xc7cb5 LB 0x29 7767 db 'Oracle VM VirtualBox Version 5.2.0_BETA1', 000h 7768 _vbebios_info_string: ; 0xc7cde LB 0x2b 7739 7769 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 7740 _no_vbebios_info_string: ; 0xc7 cf6LB 0x297770 _no_vbebios_info_string: ; 0xc7d09 LB 0x29 7741 7771 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 7742 7772 7743 ; Padding 0x1 bytes at 0xc7d1f 7744 db 001h 7773 section CONST progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 7745 7774 7746 section CONST progbits vstart=0x7d20align=1 ; size=0x0 class=DATA group=DGROUP7775 section CONST2 progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 7747 7776 7748 section CONST2 progbits vstart=0x7d20 align=1 ; size=0x0 class=DATA group=DGROUP 7749 7750 ; Padding 0x2e0 bytes at 0xc7d20 7751 db 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh, 065h 7752 db 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh, 075h 7753 db 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h, 065h 7754 db 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 7755 db 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h, 061h 7756 db 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h, 000h 7757 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7758 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7759 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7760 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7761 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7762 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7763 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7764 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7765 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7766 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7767 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7768 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7769 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7770 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7771 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7772 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7773 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7774 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7775 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7776 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7777 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7778 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7779 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7780 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7781 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7782 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7783 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7784 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7785 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7786 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7787 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7788 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7789 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7790 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7791 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7792 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7793 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7794 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7795 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7796 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch 7777 ; Padding 0x2ce bytes at 0xc7d32 7778 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 7779 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh 7780 db 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h 7781 db 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h 7782 db 067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 7783 db 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h 7784 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7785 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7786 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7787 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7788 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7789 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7790 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7791 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7792 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7793 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7794 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7795 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7796 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7797 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7798 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7799 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7800 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7801 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7802 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7803 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7804 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7805 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7806 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7807 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7808 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7809 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7810 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7811 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7812 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7813 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7814 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7815 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7816 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7817 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7818 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7819 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7820 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7821 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7822 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 006h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum
r67771 r68290 1 899b6314ed620084b02c8bad14876d3b*VBoxVgaBios386.rom1 3ff8aafec7c5f5aa639e6a9f5ff9d76d *VBoxVgaBios386.rom -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm
r67771 r68290 257 257 mov bx, 0c000h ; bb 00 c0 258 258 mov ds, bx ; 8e db 259 call 032 7bh ; e8 8c31259 call 0329eh ; e8 af 31 260 260 pop di ; 5f 261 261 pop si ; 5e … … 1513 1513 times 190 db 0 1514 1514 1515 section _TEXT progbits vstart=0xa00 align=1 ; size=0x32 73class=CODE group=AUTO1515 section _TEXT progbits vstart=0xa00 align=1 ; size=0x32df class=CODE group=AUTO 1516 1516 set_int_vector_: ; 0xc0a00 LB 0x1c 1517 1517 push bx ; 53 … … 1570 1570 call 00a1ch ; e8 ab ff 1571 1571 call 00a38h ; e8 c4 ff 1572 call 03 6deh ; e8 672c1572 call 0371ah ; e8 a3 2c 1573 1573 mov dx, strict word 00022h ; ba 22 00 1574 1574 mov ax, strict word 00010h ; b8 10 00 … … 1598 1598 mov dx, strict word 00060h ; ba 60 00 1599 1599 mov ax, strict word 00040h ; b8 40 00 1600 call 031 b7h ; e8 07271600 call 031dah ; e8 2a 27 1601 1601 push SS ; 16 1602 1602 pop ES ; 07 … … 1608 1608 add dx, strict byte 00050h ; 83 c2 50 1609 1609 mov ax, strict word 00040h ; b8 40 00 1610 call 031 b7h ; e8 f1 261610 call 031dah ; e8 14 27 1611 1611 push SS ; 16 1612 1612 pop ES ; 07 … … 1629 1629 mov dx, strict word 00049h ; ba 49 00 1630 1630 mov ax, strict word 00040h ; b8 40 00 1631 call 031 9bh ; e8 b2261632 xor ah, ah ; 30 e4 1633 call 031 70h ; e8 82261631 call 031beh ; e8 d5 26 1632 xor ah, ah ; 30 e4 1633 call 03193h ; e8 a5 26 1634 1634 mov cl, al ; 88 c1 1635 1635 cmp AL, strict byte 0ffh ; 3c ff … … 1648 1648 mov dx, 00084h ; ba 84 00 1649 1649 mov ax, strict word 00040h ; b8 40 00 1650 call 031 9bh ; e8 81261650 call 031beh ; e8 a4 26 1651 1651 xor ah, ah ; 30 e4 1652 1652 inc ax ; 40 … … 1654 1654 mov dx, strict word 0004ah ; ba 4a 00 1655 1655 mov ax, strict word 00040h ; b8 40 00 1656 call 031 b7h ; e8 8e261656 call 031dah ; e8 b1 26 1657 1657 mov di, ax ; 89 c7 1658 1658 mov bl, cl ; 88 cb … … 1660 1660 mov CL, strict byte 003h ; b1 03 1661 1661 sal bx, CL ; d3 e3 1662 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001662 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1663 1663 jne short 00b68h ; 75 2e 1664 1664 mul word [bp-00ch] ; f7 66 f4 … … 1679 1679 sal dx, 1 ; d1 e2 1680 1680 add dx, cx ; 01 ca 1681 mov ax, word [bx+0463 3h] ; 8b 87 33461682 call 031 b7h ; e8 52261681 mov ax, word [bx+04638h] ; 8b 87 38 46 1682 call 031dah ; e8 75 26 1683 1683 mov word [ss:si], ax ; 36 89 04 1684 1684 lea sp, [bp-008h] ; 8d 66 f8 … … 1718 1718 mov dx, strict word 0007ch ; ba 7c 00 1719 1719 xor ax, ax ; 31 c0 1720 call 031 d3h ; e8 35261720 call 031f6h ; e8 58 26 1721 1721 push SS ; 16 1722 1722 pop ES ; 07 … … 1725 1725 mov dx, 00085h ; ba 85 00 1726 1726 mov ax, strict word 00040h ; b8 40 00 1727 call 031 9bh ; e8 ec 251727 call 031beh ; e8 0f 26 1728 1728 xor ah, ah ; 30 e4 1729 1729 push SS ; 16 … … 1733 1733 mov dx, 00084h ; ba 84 00 1734 1734 mov ax, strict word 00040h ; b8 40 00 1735 call 031 9bh ; e8 da251735 call 031beh ; e8 fd 25 1736 1736 xor ah, ah ; 30 e4 1737 1737 push SS ; 16 … … 1746 1746 mov dx, 0010ch ; ba 0c 01 1747 1747 jmp short 00b99h ; eb c0 1748 mov ax, 05b edh ; b8 ed5b1748 mov ax, 05bf2h ; b8 f2 5b 1749 1749 mov dx, 0c000h ; ba 00 c0 1750 1750 jmp short 00b9eh ; eb bd 1751 mov ax, 053 edh ; b8 ed531751 mov ax, 053f2h ; b8 f2 53 1752 1752 jmp short 00bdch ; eb f6 1753 mov ax, 057 edh ; b8 ed571753 mov ax, 057f2h ; b8 f2 57 1754 1754 jmp short 00bdch ; eb f1 1755 mov ax, 079 edh ; b8 ed791755 mov ax, 079f2h ; b8 f2 79 1756 1756 jmp short 00bdch ; eb ec 1757 mov ax, 069 edh ; b8 ed691757 mov ax, 069f2h ; b8 f2 69 1758 1758 jmp short 00bdch ; eb e7 1759 mov ax, 07b1 ah ; b8 1a7b1759 mov ax, 07b1fh ; b8 1f 7b 1760 1760 jmp short 00bdch ; eb e2 1761 1761 jmp short 00bcbh ; eb cf … … 1771 1771 mov dx, strict word 00049h ; ba 49 00 1772 1772 mov ax, strict word 00040h ; b8 40 00 1773 call 031 9bh ; e8 87251774 xor ah, ah ; 30 e4 1775 call 031 70h ; e8 57251773 call 031beh ; e8 aa 25 1774 xor ah, ah ; 30 e4 1775 call 03193h ; e8 7a 25 1776 1776 mov ch, al ; 88 c5 1777 1777 cmp AL, strict byte 0ffh ; 3c ff … … 1781 1781 mov CL, strict byte 003h ; b1 03 1782 1782 sal bx, CL ; d3 e3 1783 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 001783 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1784 1784 jne short 00c31h ; 75 03 1785 1785 jmp near 00d38h ; e9 07 01 1786 mov bl, byte [bx+0463 1h] ; 8a 9f 31461786 mov bl, byte [bx+04636h] ; 8a 9f 36 46 1787 1787 cmp bl, cl ; 38 cb 1788 1788 jc short 00c48h ; 72 0f … … 1798 1798 mov dx, strict word 0004ah ; ba 4a 00 1799 1799 mov ax, strict word 00040h ; b8 40 00 1800 call 031 b7h ; e8 5e251800 call 031dah ; e8 81 25 1801 1801 mov bx, ax ; 89 c3 1802 1802 mov ax, word [bp-00ah] ; 8b 46 f6 … … 1822 1822 mov dx, bx ; 89 da 1823 1823 mov ax, 0a000h ; b8 00 a0 1824 call 031 9bh ; e8 08251824 call 031beh ; e8 2b 25 1825 1825 and al, byte [bp-008h] ; 22 46 f8 1826 1826 test al, al ; 84 c0 … … 1847 1847 mov dx, bx ; 89 da 1848 1848 mov ax, 0b800h ; b8 00 b8 1849 call 031 9bh ; e8 cb241849 call 031beh ; e8 ee 24 1850 1850 mov bl, ch ; 88 eb 1851 1851 xor bh, bh ; 30 ff 1852 1852 mov CL, strict byte 003h ; b1 03 1853 1853 sal bx, CL ; d3 e3 1854 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 021854 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 1855 1855 jne short 00cfah ; 75 1b 1856 1856 mov cx, si ; 89 f1 … … 1879 1879 mov dx, strict word 0004ah ; ba 4a 00 1880 1880 mov ax, strict word 00040h ; b8 40 00 1881 call 031 b7h ; e8 9b241881 call 031dah ; e8 be 24 1882 1882 mov bx, ax ; 89 c3 1883 1883 sal bx, CL ; d3 e3 … … 1887 1887 add dx, ax ; 01 c2 1888 1888 mov ax, 0a000h ; b8 00 a0 1889 call 031 9bh ; e8 6c241889 call 031beh ; e8 8f 24 1890 1890 mov ch, al ; 88 c5 1891 1891 jmp short 00d35h ; eb 02 … … 2009 2009 mov dx, strict word 00060h ; ba 60 00 2010 2010 mov ax, strict word 00040h ; b8 40 00 2011 call 031 c5h ; e8 b8232011 call 031e8h ; e8 db 23 2012 2012 mov dx, 00089h ; ba 89 00 2013 2013 mov ax, strict word 00040h ; b8 40 00 2014 call 031 9bh ; e8 85232014 call 031beh ; e8 a8 23 2015 2015 mov cl, al ; 88 c1 2016 2016 mov dx, 00085h ; ba 85 00 2017 2017 mov ax, strict word 00040h ; b8 40 00 2018 call 031 b7h ; e8 96232018 call 031dah ; e8 b9 23 2019 2019 mov bx, ax ; 89 c3 2020 2020 mov di, ax ; 89 c7 … … 2053 2053 mov dx, strict word 00063h ; ba 63 00 2054 2054 mov ax, strict word 00040h ; b8 40 00 2055 call 031 b7h ; e8 49232055 call 031dah ; e8 6c 23 2056 2056 mov bx, ax ; 89 c3 2057 2057 mov AL, strict byte 00ah ; b0 0a … … 2093 2093 mov bx, cx ; 89 cb 2094 2094 mov ax, strict word 00040h ; b8 40 00 2095 call 031 c5h ; e8 10232095 call 031e8h ; e8 33 23 2096 2096 mov dx, strict word 00062h ; ba 62 00 2097 2097 mov ax, strict word 00040h ; b8 40 00 2098 call 031 9bh ; e8 dd 222098 call 031beh ; e8 00 23 2099 2099 cmp al, byte [bp-008h] ; 3a 46 f8 2100 2100 jne short 00f2ch ; 75 69 2101 2101 mov dx, strict word 0004ah ; ba 4a 00 2102 2102 mov ax, strict word 00040h ; b8 40 00 2103 call 031 b7h ; e8 eb 222103 call 031dah ; e8 0e 23 2104 2104 mov bx, ax ; 89 c3 2105 2105 mov dx, 00084h ; ba 84 00 2106 2106 mov ax, strict word 00040h ; b8 40 00 2107 call 031 9bh ; e8 c4222107 call 031beh ; e8 e7 22 2108 2108 xor ah, ah ; 30 e4 2109 2109 mov dx, ax ; 89 c2 … … 2129 2129 mov dx, strict word 00063h ; ba 63 00 2130 2130 mov ax, strict word 00040h ; b8 40 00 2131 call 031 b7h ; e8 ae222131 call 031dah ; e8 d1 22 2132 2132 mov bx, ax ; 89 c3 2133 2133 mov AL, strict byte 00eh ; b0 0e … … 2169 2169 mov dx, strict word 00049h ; ba 49 00 2170 2170 mov ax, strict word 00040h ; b8 40 00 2171 call 031 9bh ; e8 4e222172 xor ah, ah ; 30 e4 2173 call 031 70h ; e8 1e222171 call 031beh ; e8 71 22 2172 xor ah, ah ; 30 e4 2173 call 03193h ; e8 41 22 2174 2174 mov cl, al ; 88 c1 2175 2175 cmp AL, strict byte 0ffh ; 3c ff … … 2186 2186 mov si, bx ; 89 de 2187 2187 sal si, CL ; d3 e6 2188 cmp byte [si+0463 0h], 000h ; 80 bc 3046 002188 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 2189 2189 jne short 00fc0h ; 75 47 2190 2190 mov dx, strict word 0004ah ; ba 4a 00 2191 2191 mov ax, strict word 00040h ; b8 40 00 2192 call 031 b7h ; e8 35222192 call 031dah ; e8 58 22 2193 2193 mov bx, ax ; 89 c3 2194 2194 mov dx, 00084h ; ba 84 00 2195 2195 mov ax, strict word 00040h ; b8 40 00 2196 call 031 9bh ; e8 0e222196 call 031beh ; e8 31 22 2197 2197 xor ah, ah ; 30 e4 2198 2198 mov dx, ax ; 89 c2 … … 2213 2213 mov dx, strict word 0004eh ; ba 4e 00 2214 2214 mov ax, strict word 00040h ; b8 40 00 2215 call 031 c5h ; e8 10222215 call 031e8h ; e8 33 22 2216 2216 or si, 000ffh ; 81 ce ff 00 2217 2217 lea ax, [si+001h] ; 8d 44 01 2218 2218 mul di ; f7 e7 2219 2219 jmp short 00fd0h ; eb 10 2220 mov bl, byte [bx+046 afh] ; 8a 9f af462220 mov bl, byte [bx+046b4h] ; 8a 9f b4 46 2221 2221 mov CL, strict byte 006h ; b1 06 2222 2222 sal bx, CL ; d3 e3 2223 2223 mov al, ch ; 88 e8 2224 2224 xor ah, ah ; 30 e4 2225 mul word [bx+046c 6h] ; f7 a7 c6462225 mul word [bx+046cbh] ; f7 a7 cb 46 2226 2226 mov bx, ax ; 89 c3 2227 2227 mov dx, strict word 00063h ; ba 63 00 2228 2228 mov ax, strict word 00040h ; b8 40 00 2229 call 031 b7h ; e8 dc212229 call 031dah ; e8 ff 21 2230 2230 mov si, ax ; 89 c6 2231 2231 mov AL, strict byte 00ch ; b0 0c … … 2249 2249 mov dx, strict word 00062h ; ba 62 00 2250 2250 mov ax, strict word 00040h ; b8 40 00 2251 call 031 a9h ; e8 a2212251 call 031cch ; e8 c5 21 2252 2252 mov dx, word [bp-00eh] ; 8b 56 f2 2253 2253 mov ax, si ; 89 f0 … … 2261 2261 pop bp ; 5d 2262 2262 retn ; c3 2263 biosfn_set_video_mode_: ; 0xc1019 LB 0x3 c72263 biosfn_set_video_mode_: ; 0xc1019 LB 0x3ea 2264 2264 push bp ; 55 2265 2265 mov bp, sp ; 89 e5 … … 2269 2269 push si ; 56 2270 2270 push di ; 57 2271 sub sp, strict byte 0001 2h ; 83 ec 122271 sub sp, strict byte 00014h ; 83 ec 14 2272 2272 mov byte [bp-00ch], al ; 88 46 f4 2273 2273 and AL, strict byte 080h ; 24 80 … … 2288 2288 mov al, byte [bp-00ch] ; 8a 46 f4 2289 2289 xor ah, ah ; 30 e4 2290 call 031 70h ; e8 1b212290 call 03193h ; e8 3e 21 2291 2291 mov byte [bp-010h], al ; 88 46 f0 2292 2292 cmp AL, strict byte 0ffh ; 3c ff 2293 2293 jne short 0105fh ; 75 03 2294 jmp near 013 d6h ; e9 77032294 jmp near 013f9h ; e9 9a 03 2295 2295 mov byte [bp-014h], al ; 88 46 ec 2296 2296 mov byte [bp-013h], 000h ; c6 46 ed 00 2297 2297 mov bx, word [bp-014h] ; 8b 5e ec 2298 mov al, byte [bx+046 afh] ; 8a 87 af462298 mov al, byte [bx+046b4h] ; 8a 87 b4 46 2299 2299 mov byte [bp-00eh], al ; 88 46 f2 2300 2300 mov bl, al ; 88 c3 … … 2302 2302 mov CL, strict byte 006h ; b1 06 2303 2303 sal bx, CL ; d3 e3 2304 mov al, byte [bx+046c 3h] ; 8a 87 c3462304 mov al, byte [bx+046c8h] ; 8a 87 c8 46 2305 2305 xor ah, ah ; 30 e4 2306 2306 mov word [bp-016h], ax ; 89 46 ea 2307 mov al, byte [bx+046c4h] ; 8a 87 c4 46 2307 mov al, byte [bx+046c9h] ; 8a 87 c9 46 2308 mov word [bp-01ch], ax ; 89 46 e4 2309 mov al, byte [bx+046cah] ; 8a 87 ca 46 2308 2310 mov word [bp-018h], ax ; 89 46 e8 2309 mov al, byte [bx+046c5h] ; 8a 87 c5 462310 mov word [bp-01ah], ax ; 89 46 e62311 2311 mov dx, 00087h ; ba 87 00 2312 2312 mov ax, strict word 00040h ; b8 40 00 2313 call 031 9bh ; e8 03212313 call 031beh ; e8 26 21 2314 2314 mov dx, 00088h ; ba 88 00 2315 2315 mov ax, strict word 00040h ; b8 40 00 2316 call 031 9bh ; e8 fa 202316 call 031beh ; e8 1d 21 2317 2317 mov dx, 00089h ; ba 89 00 2318 2318 mov ax, strict word 00040h ; b8 40 00 2319 call 031 9bh ; e8 f1 202319 call 031beh ; e8 14 21 2320 2320 mov ch, al ; 88 c5 2321 2321 test AL, strict byte 008h ; a8 08 … … 2324 2324 mov bx, word [bp-014h] ; 8b 5e ec 2325 2325 sal bx, CL ; d3 e3 2326 mov al, byte [bx+0463 5h] ; 8a 87 35462326 mov al, byte [bx+0463ah] ; 8a 87 3a 46 2327 2327 mov dx, 003c6h ; ba c6 03 2328 2328 out DX, AL ; ee … … 2330 2330 mov dx, 003c8h ; ba c8 03 2331 2331 out DX, AL ; ee 2332 mov bl, byte [bx+0463 6h] ; 8a 9f 36462332 mov bl, byte [bx+0463bh] ; 8a 9f 3b 46 2333 2333 cmp bl, 001h ; 80 fb 01 2334 2334 jc short 010dbh ; 72 0d … … 2341 2341 test bl, bl ; 84 db 2342 2342 jne short 010f1h ; 75 12 2343 mov di, 04e4 3h ; bf 434e2343 mov di, 04e48h ; bf 48 4e 2344 2344 jmp short 010f1h ; eb 0d 2345 mov di, 04f0 3h ; bf 034f2345 mov di, 04f08h ; bf 08 4f 2346 2346 jmp short 010f1h ; eb 08 2347 mov di, 04fc 3h ; bf c34f2347 mov di, 04fc8h ; bf c8 4f 2348 2348 jmp short 010f1h ; eb 03 2349 mov di, 0508 3h ; bf 83502349 mov di, 05088h ; bf 88 50 2350 2350 xor bx, bx ; 31 db 2351 2351 jmp short 010fdh ; eb 08 … … 2358 2358 mov si, ax ; 89 c6 2359 2359 sal si, CL ; d3 e6 2360 mov al, byte [si+0463 6h] ; 8a 84 36462360 mov al, byte [si+0463bh] ; 8a 84 3b 46 2361 2361 mov si, ax ; 89 c6 2362 mov al, byte [si+046 bfh] ; 8a 84 bf462362 mov al, byte [si+046c4h] ; 8a 84 c4 46 2363 2363 cmp bx, ax ; 39 c3 2364 2364 jnbe short 01131h ; 77 1b … … 2405 2405 sal si, CL ; d3 e6 2406 2406 add si, bx ; 01 de 2407 mov al, byte [si+046e 6h] ; 8a 84 e6462407 mov al, byte [si+046ebh] ; 8a 84 eb 46 2408 2408 out DX, AL ; ee 2409 2409 inc bx ; 43 … … 2432 2432 sal si, CL ; d3 e6 2433 2433 add si, bx ; 01 de 2434 mov al, byte [si+046c 7h] ; 8a 84 c7462434 mov al, byte [si+046cch] ; 8a 84 cc 46 2435 2435 mov dx, 003c5h ; ba c5 03 2436 2436 out DX, AL ; ee … … 2450 2450 sal si, CL ; d3 e6 2451 2451 add si, bx ; 01 de 2452 mov al, byte [si+046f ah] ; 8a 84 fa462452 mov al, byte [si+046ffh] ; 8a 84 ff 46 2453 2453 mov dx, 003cfh ; ba cf 03 2454 2454 out DX, AL ; ee … … 2459 2459 mov CL, strict byte 003h ; b1 03 2460 2460 sal bx, CL ; d3 e3 2461 cmp byte [bx+0463 1h], 001h ; 80 bf 3146 012461 cmp byte [bx+04636h], 001h ; 80 bf 36 46 01 2462 2462 jne short 011eah ; 75 05 2463 2463 mov dx, 003b4h ; ba b4 03 … … 2482 2482 add di, bx ; 01 df 2483 2483 lea dx, [si+001h] ; 8d 54 01 2484 mov al, byte [di+046 cdh] ; 8a 85 cd462484 mov al, byte [di+046d2h] ; 8a 85 d2 46 2485 2485 out DX, AL ; ee 2486 2486 inc bx ; 43 2487 2487 jmp short 011f7h ; eb dc 2488 2488 mov bx, cx ; 89 cb 2489 mov al, byte [bx+046 cch] ; 8a 87 cc462489 mov al, byte [bx+046d1h] ; 8a 87 d1 46 2490 2490 mov dx, 003c2h ; ba c2 03 2491 2491 out DX, AL ; ee … … 2503 2503 mov CL, strict byte 003h ; b1 03 2504 2504 sal bx, CL ; d3 e3 2505 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002505 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2506 2506 jne short 0125ah ; 75 13 2507 mov es, [bx+0463 3h] ; 8e 87 33462507 mov es, [bx+04638h] ; 8e 87 38 46 2508 2508 mov cx, 04000h ; b9 00 40 2509 2509 mov ax, 00720h ; b8 20 07 … … 2515 2515 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2516 2516 jnc short 01272h ; 73 12 2517 mov es, [bx+0463 3h] ; 8e 87 33462517 mov es, [bx+04638h] ; 8e 87 38 46 2518 2518 mov cx, 04000h ; b9 00 40 2519 2519 xor ax, ax ; 31 c0 … … 2530 2530 db 02ah, 0e4h 2531 2531 ; sub ah, ah ; 2a e4 2532 mov word [bp-01 ch], ax ; 89 46 e42532 mov word [bp-01eh], ax ; 89 46 e2 2533 2533 mov AL, strict byte 00fh ; b0 0f 2534 2534 out DX, AL ; ee 2535 mov es, [bx+0463 3h] ; 8e 87 33462535 mov es, [bx+04638h] ; 8e 87 38 46 2536 2536 mov cx, 08000h ; b9 00 80 2537 2537 xor ax, ax ; 31 c0 … … 2540 2540 jcxz 01294h ; e3 02 2541 2541 rep stosw ; f3 ab 2542 mov al, byte [bp-01ch] ; 8a 46 e4 2543 out DX, AL ; ee 2544 mov bl, byte [bp-00ch] ; 8a 5e f4 2545 xor bh, bh ; 30 ff 2542 mov al, byte [bp-01eh] ; 8a 46 e2 2543 out DX, AL ; ee 2544 mov al, byte [bp-00ch] ; 8a 46 f4 2545 mov byte [bp-01ah], al ; 88 46 e6 2546 mov byte [bp-019h], 000h ; c6 46 e7 00 2547 mov bx, word [bp-01ah] ; 8b 5e e6 2546 2548 mov dx, strict word 00049h ; ba 49 00 2547 2549 mov ax, strict word 00040h ; b8 40 00 2548 call 031 a9h ; e8 031f2550 call 031cch ; e8 1e 1f 2549 2551 mov bx, word [bp-016h] ; 8b 5e ea 2550 2552 mov dx, strict word 0004ah ; ba 4a 00 2551 2553 mov ax, strict word 00040h ; b8 40 00 2552 call 031 c5h ; e8 131f2554 call 031e8h ; e8 2e 1f 2553 2555 mov bl, byte [bp-00eh] ; 8a 5e f2 2554 2556 xor bh, bh ; 30 ff 2555 2557 mov CL, strict byte 006h ; b1 06 2556 2558 sal bx, CL ; d3 e3 2557 mov bx, word [bx+046c 6h] ; 8b 9f c6462559 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2558 2560 mov dx, strict word 0004ch ; ba 4c 00 2559 2561 mov ax, strict word 00040h ; b8 40 00 2560 call 031 c5h ; e8 fd 1e2562 call 031e8h ; e8 18 1f 2561 2563 mov bx, si ; 89 f3 2562 2564 mov dx, strict word 00063h ; ba 63 00 2563 2565 mov ax, strict word 00040h ; b8 40 00 2564 call 031 c5h ; e8 f2 1e2565 mov bl, byte [bp-01 8h] ; 8a 5e e82566 call 031e8h ; e8 0d 1f 2567 mov bl, byte [bp-01ch] ; 8a 5e e4 2566 2568 xor bh, bh ; 30 ff 2567 2569 mov dx, 00084h ; ba 84 00 2568 2570 mov ax, strict word 00040h ; b8 40 00 2569 call 031 a9h ; e8 c81e2570 mov bx, word [bp-01 ah] ; 8b 5e e62571 call 031cch ; e8 e3 1e 2572 mov bx, word [bp-018h] ; 8b 5e e8 2571 2573 mov dx, 00085h ; ba 85 00 2572 2574 mov ax, strict word 00040h ; b8 40 00 2573 call 031 c5h ; e8 d81e2575 call 031e8h ; e8 f3 1e 2574 2576 mov bl, byte [bp-012h] ; 8a 5e ee 2575 2577 or bl, 060h ; 80 cb 60 … … 2577 2579 mov dx, 00087h ; ba 87 00 2578 2580 mov ax, strict word 00040h ; b8 40 00 2579 call 031 a9h ; e8 ab1e2581 call 031cch ; e8 c6 1e 2580 2582 mov bx, 000f9h ; bb f9 00 2581 2583 mov dx, 00088h ; ba 88 00 2582 2584 mov ax, strict word 00040h ; b8 40 00 2583 call 031 a9h ; e8 9f1e2585 call 031cch ; e8 ba 1e 2584 2586 mov dx, 00089h ; ba 89 00 2585 2587 mov ax, strict word 00040h ; b8 40 00 2586 call 031 9bh ; e8 881e2588 call 031beh ; e8 a3 1e 2587 2589 mov bl, al ; 88 c3 2588 2590 and bl, 07fh ; 80 e3 7f … … 2590 2592 mov dx, 00089h ; ba 89 00 2591 2593 mov ax, strict word 00040h ; b8 40 00 2592 call 031 a9h ; e8 861e2594 call 031cch ; e8 a1 1e 2593 2595 mov bx, strict word 00008h ; bb 08 00 2594 2596 mov dx, 0008ah ; ba 8a 00 2595 2597 mov ax, strict word 00040h ; b8 40 00 2596 call 031 a9h ; e8 7a1e2598 call 031cch ; e8 95 1e 2597 2599 mov cx, ds ; 8c d9 2598 mov bx, 053d 1h ; bb d1532600 mov bx, 053d6h ; bb d6 53 2599 2601 mov dx, 000a8h ; ba a8 00 2600 2602 mov ax, strict word 00040h ; b8 40 00 2601 call 031e5h ; e8 a8 1e 2602 xor bx, bx ; 31 db 2603 call 03208h ; e8 c3 1e 2604 cmp byte [bp-00ch], 007h ; 80 7e f4 07 2605 jnbe short 01376h ; 77 2b 2606 mov bx, word [bp-01ah] ; 8b 5e e6 2607 mov bl, byte [bx+07c63h] ; 8a 9f 63 7c 2608 xor bh, bh ; 30 ff 2603 2609 mov dx, strict word 00065h ; ba 65 00 2604 2610 mov ax, strict word 00040h ; b8 40 00 2605 call 031a9h ; e8 61 1e 2606 xor bx, bx ; 31 db 2611 call 031cch ; e8 6f 1e 2612 cmp byte [bp-00ch], 006h ; 80 7e f4 06 2613 jne short 01368h ; 75 05 2614 mov bx, strict word 0003fh ; bb 3f 00 2615 jmp short 0136bh ; eb 03 2616 mov bx, strict word 00030h ; bb 30 00 2617 xor bh, bh ; 30 ff 2607 2618 mov dx, strict word 00066h ; ba 66 00 2608 2619 mov ax, strict word 00040h ; b8 40 00 2609 call 031 a9h ; e8 56 1e2620 call 031cch ; e8 56 1e 2610 2621 mov bl, byte [bp-010h] ; 8a 5e f0 2611 2622 xor bh, bh ; 30 ff 2612 2623 mov CL, strict byte 003h ; b1 03 2613 2624 sal bx, CL ; d3 e3 2614 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002615 jne short 013 6ch ; 75 092625 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2626 jne short 0138fh ; 75 09 2616 2627 mov dx, strict word 00007h ; ba 07 00 2617 2628 mov ax, strict word 00006h ; b8 06 00 2618 call 00ddeh ; e8 72fa2629 call 00ddeh ; e8 4f fa 2619 2630 xor bx, bx ; 31 db 2620 jmp short 013 75h ; eb 052631 jmp short 01398h ; eb 05 2621 2632 cmp bx, strict byte 00008h ; 83 fb 08 2622 jnc short 013 81h ; 73 0c2633 jnc short 013a4h ; 73 0c 2623 2634 mov al, bl ; 88 d8 2624 2635 xor ah, ah ; 30 e4 2625 2636 xor dx, dx ; 31 d2 2626 call 00e91h ; e8 13 fb2637 call 00e91h ; e8 f0 fa 2627 2638 inc bx ; 43 2628 jmp short 013 70h ; eb ef2639 jmp short 01393h ; eb ef 2629 2640 xor ax, ax ; 31 c0 2630 call 00f34h ; e8 aefb2641 call 00f34h ; e8 8b fb 2631 2642 mov bl, byte [bp-010h] ; 8a 5e f0 2632 2643 xor bh, bh ; 30 ff 2633 2644 mov CL, strict byte 003h ; b1 03 2634 2645 sal bx, CL ; d3 e3 2635 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 002636 jne short 013 a6h ; 75 102646 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2647 jne short 013c9h ; 75 10 2637 2648 xor bl, bl ; 30 db 2638 2649 mov AL, strict byte 004h ; b0 04 … … 2643 2654 mov AH, strict byte 011h ; b4 11 2644 2655 int 010h ; cd 10 2645 mov dx, 057 edh ; ba ed572656 mov dx, 057f2h ; ba f2 57 2646 2657 mov ax, strict word 0001fh ; b8 1f 00 2647 call 00a00h ; e8 51f62648 mov ax, word [bp-01 ah] ; 8b 46 e62658 call 00a00h ; e8 2e f6 2659 mov ax, word [bp-018h] ; 8b 46 e8 2649 2660 cmp ax, strict word 00010h ; 3d 10 00 2650 je short 013 d1h ; 74 1a2661 je short 013f4h ; 74 1a 2651 2662 cmp ax, strict word 0000eh ; 3d 0e 00 2652 je short 013 cch ; 74 102663 je short 013efh ; 74 10 2653 2664 cmp ax, strict word 00008h ; 3d 08 00 2654 jne short 013 d6h ; 75 152655 mov dx, 053 edh ; ba ed532665 jne short 013f9h ; 75 15 2666 mov dx, 053f2h ; ba f2 53 2656 2667 mov ax, strict word 00043h ; b8 43 00 2657 call 00a00h ; e8 36f62658 jmp short 013 d6h ; eb 0a2659 mov dx, 05b edh ; ba ed5b2660 jmp short 013 c4h ; eb f32661 mov dx, 069 edh ; ba ed692662 jmp short 013 c4h ; eb ee2668 call 00a00h ; e8 13 f6 2669 jmp short 013f9h ; eb 0a 2670 mov dx, 05bf2h ; ba f2 5b 2671 jmp short 013e7h ; eb f3 2672 mov dx, 069f2h ; ba f2 69 2673 jmp short 013e7h ; eb ee 2663 2674 lea sp, [bp-00ah] ; 8d 66 f6 2664 2675 pop di ; 5f … … 2669 2680 pop bp ; 5d 2670 2681 retn ; c3 2671 vgamem_copy_pl4_: ; 0xc1 3e0LB 0x8f2682 vgamem_copy_pl4_: ; 0xc1403 LB 0x8f 2672 2683 push bp ; 55 2673 2684 mov bp, sp ; 89 e5 … … 2704 2715 xor bl, bl ; 30 db 2705 2716 cmp bl, byte [bp+006h] ; 3a 5e 06 2706 jnc short 014 5fh ; 73 302717 jnc short 01482h ; 73 30 2707 2718 mov al, byte [bp-006h] ; 8a 46 fa 2708 2719 xor ah, ah ; 30 e4 … … 2721 2732 mov es, dx ; 8e c2 2722 2733 cld ; fc 2723 jcxz 014 5bh ; e3 062734 jcxz 0147eh ; e3 06 2724 2735 push DS ; 1e 2725 2736 mov ds, dx ; 8e da … … 2728 2739 db 0feh, 0c3h 2729 2740 ; inc bl ; fe c3 2730 jmp short 014 2ah ; eb cb2741 jmp short 0144dh ; eb cb 2731 2742 mov ax, strict word 00005h ; b8 05 00 2732 2743 mov dx, 003ceh ; ba ce 03 … … 2737 2748 pop bp ; 5d 2738 2749 retn 00004h ; c2 04 00 2739 vgamem_fill_pl4_: ; 0xc14 6fLB 0x7c2750 vgamem_fill_pl4_: ; 0xc1492 LB 0x7c 2740 2751 push bp ; 55 2741 2752 mov bp, sp ; 89 e5 … … 2766 2777 xor bl, bl ; 30 db 2767 2778 cmp bl, byte [bp+004h] ; 3a 5e 04 2768 jnc short 014 dbh ; 73 2d2779 jnc short 014feh ; 73 2d 2769 2780 mov cl, byte [bp-006h] ; 8a 4e fa 2770 2781 xor ch, ch ; 30 ed … … 2784 2795 mov es, dx ; 8e c2 2785 2796 cld ; fc 2786 jcxz 014 d7h ; e3 022797 jcxz 014fah ; e3 02 2787 2798 rep stosb ; f3 aa 2788 2799 db 0feh, 0c3h 2789 2800 ; inc bl ; fe c3 2790 jmp short 014 a9h ; eb ce2801 jmp short 014cch ; eb ce 2791 2802 mov ax, strict word 00005h ; b8 05 00 2792 2803 mov dx, 003ceh ; ba ce 03 … … 2797 2808 pop bp ; 5d 2798 2809 retn 00004h ; c2 04 00 2799 vgamem_copy_cga_: ; 0xc1 4ebLB 0xc22810 vgamem_copy_cga_: ; 0xc150e LB 0xc2 2800 2811 push bp ; 55 2801 2812 mov bp, sp ; 89 e5 … … 2831 2842 xor bl, bl ; 30 db 2832 2843 cmp bl, byte [bp+006h] ; 3a 5e 06 2833 jnc short 015 a4h ; 73 702844 jnc short 015c7h ; 73 70 2834 2845 test bl, 001h ; f6 c3 01 2835 je short 015 70h ; 74 372846 je short 01593h ; 74 37 2836 2847 mov cl, bh ; 88 f9 2837 2848 xor ch, ch ; 30 ed … … 2853 2864 mov es, dx ; 8e c2 2854 2865 cld ; fc 2855 jcxz 015 6eh ; e3 062866 jcxz 01591h ; e3 06 2856 2867 push DS ; 1e 2857 2868 mov ds, dx ; 8e da 2858 2869 rep movsb ; f3 a4 2859 2870 pop DS ; 1f 2860 jmp short 015 a0h ; eb 302871 jmp short 015c3h ; eb 30 2861 2872 mov al, bh ; 88 f8 2862 2873 xor ah, ah ; 30 e4 … … 2876 2887 mov es, dx ; 8e c2 2877 2888 cld ; fc 2878 jcxz 015 a0h ; e3 062889 jcxz 015c3h ; e3 06 2879 2890 push DS ; 1e 2880 2891 mov ds, dx ; 8e da … … 2883 2894 db 0feh, 0c3h 2884 2895 ; inc bl ; fe c3 2885 jmp short 015 2fh ; eb 8b2896 jmp short 01552h ; eb 8b 2886 2897 lea sp, [bp-004h] ; 8d 66 fc 2887 2898 pop di ; 5f … … 2889 2900 pop bp ; 5d 2890 2901 retn 00004h ; c2 04 00 2891 vgamem_fill_cga_: ; 0xc15 adLB 0xa82902 vgamem_fill_cga_: ; 0xc15d0 LB 0xa8 2892 2903 push bp ; 55 2893 2904 mov bp, sp ; 89 e5 … … 2916 2927 xor bl, bl ; 30 db 2917 2928 cmp bl, byte [bp+004h] ; 3a 5e 04 2918 jnc short 016 4ch ; 73 652929 jnc short 0166fh ; 73 65 2919 2930 test bl, 001h ; f6 c3 01 2920 je short 016 1dh ; 74 312931 je short 01640h ; 74 31 2921 2932 mov al, byte [bp-008h] ; 8a 46 f8 2922 2933 xor ah, ah ; 30 e4 … … 2938 2949 mov es, dx ; 8e c2 2939 2950 cld ; fc 2940 jcxz 016 1bh ; e3 022951 jcxz 0163eh ; e3 02 2941 2952 rep stosb ; f3 aa 2942 jmp short 016 48h ; eb 2b2953 jmp short 0166bh ; eb 2b 2943 2954 mov al, byte [bp-008h] ; 8a 46 f8 2944 2955 xor ah, ah ; 30 e4 … … 2959 2970 mov es, dx ; 8e c2 2960 2971 cld ; fc 2961 jcxz 016 48h ; e3 022972 jcxz 0166bh ; e3 02 2962 2973 rep stosb ; f3 aa 2963 2974 db 0feh, 0c3h 2964 2975 ; inc bl ; fe c3 2965 jmp short 01 5e2h ; eb 962976 jmp short 01605h ; eb 96 2966 2977 lea sp, [bp-004h] ; 8d 66 fc 2967 2978 pop di ; 5f … … 2969 2980 pop bp ; 5d 2970 2981 retn 00004h ; c2 04 00 2971 biosfn_scroll_: ; 0xc16 55LB 0x5762982 biosfn_scroll_: ; 0xc1678 LB 0x576 2972 2983 push bp ; 55 2973 2984 mov bp, sp ; 89 e5 … … 2981 2992 mov ch, byte [bp+006h] ; 8a 6e 06 2982 2993 cmp bl, byte [bp+004h] ; 3a 5e 04 2983 jnbe short 016 8ah ; 77 192994 jnbe short 016adh ; 77 19 2984 2995 cmp ch, cl ; 38 cd 2985 jc short 016 8ah ; 72 152996 jc short 016adh ; 72 15 2986 2997 mov dx, strict word 00049h ; ba 49 00 2987 2998 mov ax, strict word 00040h ; b8 40 00 2988 call 031 9bh ; e8 1d 1b2989 xor ah, ah ; 30 e4 2990 call 031 70h ; e8 ed 1a2999 call 031beh ; e8 1d 1b 3000 xor ah, ah ; 30 e4 3001 call 03193h ; e8 ed 1a 2991 3002 mov byte [bp-010h], al ; 88 46 f0 2992 3003 cmp AL, strict byte 0ffh ; 3c ff 2993 jne short 016 8dh ; 75 032994 jmp near 01b c2h ; e9 35 053004 jne short 016b0h ; 75 03 3005 jmp near 01be5h ; e9 35 05 2995 3006 mov dx, 00084h ; ba 84 00 2996 3007 mov ax, strict word 00040h ; b8 40 00 2997 call 031 9bh ; e8 05 1b3008 call 031beh ; e8 05 1b 2998 3009 xor ah, ah ; 30 e4 2999 3010 mov bx, ax ; 89 c3 … … 3001 3012 mov dx, strict word 0004ah ; ba 4a 00 3002 3013 mov ax, strict word 00040h ; b8 40 00 3003 call 031 b7h ; e8 13 1b3014 call 031dah ; e8 13 1b 3004 3015 mov word [bp-018h], ax ; 89 46 e8 3005 3016 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 3006 jne short 016 b9h ; 75 0c3017 jne short 016dch ; 75 0c 3007 3018 mov dx, strict word 00062h ; ba 62 00 3008 3019 mov ax, strict word 00040h ; b8 40 00 3009 call 031 9bh ; e8 e5 1a3020 call 031beh ; e8 e5 1a 3010 3021 mov byte [bp+008h], al ; 88 46 08 3011 3022 mov al, byte [bp+004h] ; 8a 46 04 3012 3023 xor ah, ah ; 30 e4 3013 3024 cmp ax, bx ; 39 d8 3014 jc short 016 c9h ; 72 073025 jc short 016ech ; 72 07 3015 3026 mov al, bl ; 88 d8 3016 3027 db 0feh, 0c8h … … 3020 3031 xor ah, ah ; 30 e4 3021 3032 cmp ax, word [bp-018h] ; 3b 46 e8 3022 jc short 016 d7h ; 72 053033 jc short 016fah ; 72 05 3023 3034 mov ch, byte [bp-018h] ; 8a 6e e8 3024 3035 db 0feh, 0cdh … … 3027 3038 xor ah, ah ; 30 e4 3028 3039 cmp ax, bx ; 39 d8 3029 jbe short 01 6e3h ; 76 033040 jbe short 01706h ; 76 03 3030 3041 mov byte [bp-00ah], ah ; 88 66 f6 3031 3042 mov al, ch ; 88 e8 … … 3048 3059 mul bx ; f7 e3 3049 3060 mov word [bp-01ah], ax ; 89 46 e6 3050 cmp byte [di+0463 0h], 000h ; 80 bd 3046 003051 jne short 017 66h ; 75 503061 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 3062 jne short 01789h ; 75 50 3052 3063 sal ax, 1 ; d1 e0 3053 3064 or AL, strict byte 0ffh ; 0c ff … … 3060 3071 mov bx, ax ; 89 c3 3061 3072 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3062 jne short 017 69h ; 75 393073 jne short 0178ch ; 75 39 3063 3074 cmp byte [bp-00eh], 000h ; 80 7e f2 00 3064 jne short 017 69h ; 75 333075 jne short 0178ch ; 75 33 3065 3076 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3066 jne short 017 69h ; 75 2d3077 jne short 0178ch ; 75 2d 3067 3078 mov al, byte [bp+004h] ; 8a 46 04 3068 3079 xor ah, ah ; 30 e4 3069 3080 cmp ax, word [bp-01eh] ; 3b 46 e2 3070 jne short 017 69h ; 75 233081 jne short 0178ch ; 75 23 3071 3082 mov al, ch ; 88 e8 3072 3083 cmp ax, word [bp-01ch] ; 3b 46 e4 3073 jne short 017 69h ; 75 1c3084 jne short 0178ch ; 75 1c 3074 3085 mov ah, byte [bp-008h] ; 8a 66 f8 3075 3086 xor al, ch ; 30 e8 3076 3087 add ax, strict word 00020h ; 05 20 00 3077 mov es, [di+0463 3h] ; 8e 85 33463088 mov es, [di+04638h] ; 8e 85 38 46 3078 3089 mov cx, word [bp-01ah] ; 8b 4e e6 3079 3090 mov di, bx ; 89 df 3080 3091 cld ; fc 3081 jcxz 017 63h ; e3 023092 jcxz 01786h ; e3 02 3082 3093 rep stosw ; f3 ab 3083 jmp near 01b c2h ; e9 5c 043084 jmp near 01 8f7h ; e9 8e 013094 jmp near 01be5h ; e9 5c 04 3095 jmp near 0191ah ; e9 8e 01 3085 3096 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3086 jne short 017 d7h ; 75 683097 jne short 017fah ; 75 68 3087 3098 mov al, byte [bp-00eh] ; 8a 46 f2 3088 3099 xor ah, ah ; 30 e4 … … 3092 3103 mov dx, ax ; 89 c2 3093 3104 cmp ax, word [bp-016h] ; 3b 46 ea 3094 jc short 017 d9h ; 72 563105 jc short 017fch ; 72 56 3095 3106 mov al, byte [bp-00ah] ; 8a 46 f6 3096 3107 add ax, word [bp-016h] ; 03 46 ea 3097 3108 cmp ax, dx ; 39 d0 3098 jnbe short 017 93h ; 77 063109 jnbe short 017b6h ; 77 06 3099 3110 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3100 jne short 017 dch ; 75 493111 jne short 017ffh ; 75 49 3101 3112 mov al, byte [bp-006h] ; 8a 46 fa 3102 3113 xor ah, ah ; 30 e4 … … 3120 3131 mov si, ax ; 89 c6 3121 3132 sal si, CL ; d3 e6 3122 mov es, [si+0463 3h] ; 8e 84 33463133 mov es, [si+04638h] ; 8e 84 38 46 3123 3134 mov cx, word [bp-022h] ; 8b 4e de 3124 3135 mov ax, di ; 89 f8 3125 3136 mov di, dx ; 89 d7 3126 3137 cld ; fc 3127 jcxz 017 d5h ; e3 023138 jcxz 017f8h ; e3 02 3128 3139 rep stosw ; f3 ab 3129 jmp short 018 27h ; eb 503130 jmp short 018 2dh ; eb 543131 jmp near 01b c2h ; e9 e6 033140 jmp short 0184ah ; eb 50 3141 jmp short 01850h ; eb 54 3142 jmp near 01be5h ; e9 e6 03 3132 3143 mov dl, byte [bp-006h] ; 8a 56 fa 3133 3144 mov di, dx ; 89 d7 … … 3144 3155 mov si, ax ; 89 c6 3145 3156 sal si, CL ; d3 e6 3146 mov ax, word [si+0463 3h] ; 8b 84 33463157 mov ax, word [si+04638h] ; 8b 84 38 46 3147 3158 mov word [bp-022h], ax ; 89 46 de 3148 3159 mov ax, word [bp-016h] ; 8b 46 ea … … 3157 3168 mov es, dx ; 8e c2 3158 3169 cld ; fc 3159 jcxz 018 27h ; e3 063170 jcxz 0184ah ; e3 06 3160 3171 push DS ; 1e 3161 3172 mov ds, dx ; 8e da … … 3163 3174 pop DS ; 1f 3164 3175 inc word [bp-016h] ; ff 46 ea 3165 jmp near 017 77h ; e9 4a ff3176 jmp near 0179ah ; e9 4a ff 3166 3177 mov al, byte [bp+004h] ; 8a 46 04 3167 3178 xor ah, ah ; 30 e4 … … 3170 3181 xor ah, ah ; 30 e4 3171 3182 cmp ax, word [bp-016h] ; 3b 46 ea 3172 jnbe short 017 d9h ; 77 9a3183 jnbe short 017fch ; 77 9a 3173 3184 mov dx, ax ; 89 c2 3174 3185 mov al, byte [bp-00ah] ; 8a 46 f6 3175 3186 add ax, dx ; 01 d0 3176 3187 cmp ax, word [bp-016h] ; 3b 46 ea 3177 jnbe short 018 51h ; 77 063188 jnbe short 01874h ; 77 06 3178 3189 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3179 jne short 018 90h ; 75 3f3190 jne short 018b3h ; 75 3f 3180 3191 mov al, byte [bp-006h] ; 8a 46 fa 3181 3192 xor ah, ah ; 30 e4 … … 3196 3207 mov si, ax ; 89 c6 3197 3208 sal si, CL ; d3 e6 3198 mov si, word [si+0463 3h] ; 8b b4 33463209 mov si, word [si+04638h] ; 8b b4 38 46 3199 3210 mov cx, di ; 89 f9 3200 3211 mov ax, word [bp-022h] ; 8b 46 de … … 3202 3213 mov es, si ; 8e c6 3203 3214 cld ; fc 3204 jcxz 018 8eh ; e3 023215 jcxz 018b1h ; e3 02 3205 3216 rep stosw ; f3 ab 3206 jmp short 01 8e7h ; eb 573217 jmp short 0190ah ; eb 57 3207 3218 mov al, byte [bp-006h] ; 8a 46 fa 3208 3219 xor ah, ah ; 30 e4 … … 3224 3235 mov si, ax ; 89 c6 3225 3236 sal si, CL ; d3 e6 3226 mov ax, word [si+0463 3h] ; 8b 84 33463237 mov ax, word [si+04638h] ; 8b 84 38 46 3227 3238 mov word [bp-014h], ax ; 89 46 ec 3228 3239 mov ax, word [bp-016h] ; 8b 46 ea … … 3237 3248 mov es, dx ; 8e c2 3238 3249 cld ; fc 3239 jcxz 01 8e7h ; e3 063250 jcxz 0190ah ; e3 06 3240 3251 push DS ; 1e 3241 3252 mov ds, dx ; 8e da … … 3245 3256 xor ah, ah ; 30 e4 3246 3257 cmp ax, word [bp-016h] ; 3b 46 ea 3247 jc short 019 1ah ; 72 293258 jc short 0193dh ; 72 29 3248 3259 dec word [bp-016h] ; ff 4e ea 3249 jmp near 018 35h ; e9 3e ff3250 mov al, byte [si+046 afh] ; 8a 84 af463260 jmp near 01858h ; e9 3e ff 3261 mov al, byte [si+046b4h] ; 8a 84 b4 46 3251 3262 xor ah, ah ; 30 e4 3252 3263 mov CL, strict byte 006h ; b1 06 3253 3264 mov si, ax ; 89 c6 3254 3265 sal si, CL ; d3 e6 3255 mov al, byte [si+046c 5h] ; 8a 84 c5463266 mov al, byte [si+046cah] ; 8a 84 ca 46 3256 3267 mov byte [bp-012h], al ; 88 46 ee 3257 mov al, byte [di+0463 1h] ; 8a 85 31463268 mov al, byte [di+04636h] ; 8a 85 36 46 3258 3269 cmp AL, strict byte 004h ; 3c 04 3259 je short 019 1dh ; 74 0b3270 je short 01940h ; 74 0b 3260 3271 cmp AL, strict byte 003h ; 3c 03 3261 je short 019 1dh ; 74 073272 je short 01940h ; 74 07 3262 3273 cmp AL, strict byte 002h ; 3c 02 3263 je short 019 4bh ; 74 313264 jmp near 01b c2h ; e9 a5 023274 je short 0196eh ; 74 31 3275 jmp near 01be5h ; e9 a5 02 3265 3276 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3266 jne short 019 89h ; 75 663277 jne short 019ach ; 75 66 3267 3278 cmp byte [bp-00eh], 000h ; 80 7e f2 00 3268 jne short 019 89h ; 75 603279 jne short 019ach ; 75 60 3269 3280 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3270 jne short 019 89h ; 75 5a3281 jne short 019ach ; 75 5a 3271 3282 mov al, byte [bp+004h] ; 8a 46 04 3272 3283 xor ah, ah ; 30 e4 … … 3274 3285 lea ax, [bx-001h] ; 8d 47 ff 3275 3286 cmp dx, ax ; 39 c2 3276 jne short 019 89h ; 75 4c3287 jne short 019ach ; 75 4c 3277 3288 mov al, ch ; 88 e8 3278 3289 xor ah, ah ; 30 e4 … … 3280 3291 dec dx ; 4a 3281 3292 cmp ax, dx ; 39 d0 3282 je short 019 4eh ; 74 053283 jmp short 019 89h ; eb 3e3284 jmp near 01a 85h ; e9 37 013293 je short 01971h ; 74 05 3294 jmp short 019ach ; eb 3e 3295 jmp near 01aa8h ; e9 37 01 3285 3296 mov ax, 00205h ; b8 05 02 3286 3297 mov dx, 003ceh ; ba ce 03 … … 3297 3308 mov CL, strict byte 003h ; b1 03 3298 3309 sal bx, CL ; d3 e3 3299 mov bx, word [bx+0463 3h] ; 8b 9f 33463310 mov bx, word [bx+04638h] ; 8b 9f 38 46 3300 3311 mov cx, ax ; 89 c1 3301 3312 mov ax, dx ; 89 d0 … … 3303 3314 mov es, bx ; 8e c3 3304 3315 cld ; fc 3305 jcxz 019 80h ; e3 023316 jcxz 019a3h ; e3 02 3306 3317 rep stosb ; f3 aa 3307 3318 mov ax, strict word 00005h ; b8 05 00 3308 3319 mov dx, 003ceh ; ba ce 03 3309 3320 out DX, ax ; ef 3310 jmp short 019 1ah ; eb 913321 jmp short 0193dh ; eb 91 3311 3322 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3312 jne short 019 d4h ; 75 453323 jne short 019f7h ; 75 45 3313 3324 mov al, byte [bp-00eh] ; 8a 46 f2 3314 3325 xor ah, ah ; 30 e4 … … 3318 3329 mov dx, ax ; 89 c2 3319 3330 cmp ax, word [bp-016h] ; 3b 46 ea 3320 jc short 01a 05h ; 72 623331 jc short 01a28h ; 72 62 3321 3332 mov al, byte [bp-00ah] ; 8a 46 f6 3322 3333 add ax, word [bp-016h] ; 03 46 ea 3323 3334 cmp ax, dx ; 39 d0 3324 jnbe short 019 b3h ; 77 063335 jnbe short 019d6h ; 77 06 3325 3336 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3326 jne short 019 d6h ; 75 233337 jne short 019f9h ; 75 23 3327 3338 mov al, byte [bp-008h] ; 8a 46 f8 3328 3339 xor ah, ah ; 30 e4 … … 3337 3348 mov dx, ax ; 89 c2 3338 3349 mov al, byte [bp-00ch] ; 8a 46 f4 3339 call 014 6fh ; e8 9d fa3340 jmp short 01a 00h ; eb 2c3341 jmp short 01a 08h ; eb 323350 call 01492h ; e8 9d fa 3351 jmp short 01a23h ; eb 2c 3352 jmp short 01a2bh ; eb 32 3342 3353 mov al, byte [bp-012h] ; 8a 46 ee 3343 3354 xor ah, ah ; 30 e4 … … 3356 3367 mov dx, ax ; 89 c2 3357 3368 mov ax, si ; 89 f0 3358 call 01 3e0h ; e8 e0 f93369 call 01403h ; e8 e0 f9 3359 3370 inc word [bp-016h] ; ff 46 ea 3360 jmp short 019 97h ; eb 923361 jmp near 01b c2h ; e9 ba 013371 jmp short 019bah ; eb 92 3372 jmp near 01be5h ; e9 ba 01 3362 3373 mov al, byte [bp+004h] ; 8a 46 04 3363 3374 xor ah, ah ; 30 e4 … … 3366 3377 xor ah, ah ; 30 e4 3367 3378 cmp ax, word [bp-016h] ; 3b 46 ea 3368 jnbe short 01a 05h ; 77 eb3379 jnbe short 01a28h ; 77 eb 3369 3380 mov dx, ax ; 89 c2 3370 3381 mov al, byte [bp-00ah] ; 8a 46 f6 3371 3382 add dx, ax ; 01 c2 3372 3383 cmp dx, word [bp-016h] ; 3b 56 ea 3373 jnbe short 01a 2ah ; 77 043384 jnbe short 01a4dh ; 77 04 3374 3385 test al, al ; 84 c0 3375 jne short 01a 4bh ; 75 213386 jne short 01a6eh ; 75 21 3376 3387 mov al, byte [bp-008h] ; 8a 46 f8 3377 3388 xor ah, ah ; 30 e4 … … 3386 3397 mov dx, ax ; 89 c2 3387 3398 mov al, byte [bp-00ch] ; 8a 46 f4 3388 call 014 6fh ; e8 26 fa3389 jmp short 01a 76h ; eb 2b3399 call 01492h ; e8 26 fa 3400 jmp short 01a99h ; eb 2b 3390 3401 mov al, byte [bp-012h] ; 8a 46 ee 3391 3402 push ax ; 50 … … 3404 3415 mov dx, ax ; 89 c2 3405 3416 mov ax, si ; 89 f0 3406 call 01 3e0h ; e8 6a f93417 call 01403h ; e8 6a f9 3407 3418 mov al, byte [bp+004h] ; 8a 46 04 3408 3419 xor ah, ah ; 30 e4 3409 3420 cmp ax, word [bp-016h] ; 3b 46 ea 3410 jc short 01a cch ; 72 4c3421 jc short 01aefh ; 72 4c 3411 3422 dec word [bp-016h] ; ff 4e ea 3412 jmp short 01a 10h ; eb 8b3413 mov bl, byte [di+0463 2h] ; 8a 9d 32463423 jmp short 01a33h ; eb 8b 3424 mov bl, byte [di+04637h] ; 8a 9d 37 46 3414 3425 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3415 jne short 01a cfh ; 75 403426 jne short 01af2h ; 75 40 3416 3427 cmp byte [bp-00eh], 000h ; 80 7e f2 00 3417 jne short 01a cfh ; 75 3a3428 jne short 01af2h ; 75 3a 3418 3429 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3419 jne short 01a cfh ; 75 343430 jne short 01af2h ; 75 34 3420 3431 mov al, byte [bp+004h] ; 8a 46 04 3421 3432 cmp ax, word [bp-01eh] ; 3b 46 e2 3422 jne short 01a cfh ; 75 2c3433 jne short 01af2h ; 75 2c 3423 3434 mov al, ch ; 88 e8 3424 3435 cmp ax, word [bp-01ch] ; 3b 46 e4 3425 jne short 01a cfh ; 75 253436 jne short 01af2h ; 75 25 3426 3437 mov al, byte [bp-012h] ; 8a 46 ee 3427 3438 mov dx, ax ; 89 c2 … … 3432 3443 mov dl, byte [bp-008h] ; 8a 56 f8 3433 3444 xor dh, dh ; 30 f6 3434 mov es, [di+0463 3h] ; 8e 85 33463445 mov es, [di+04638h] ; 8e 85 38 46 3435 3446 mov cx, ax ; 89 c1 3436 3447 mov ax, dx ; 89 d0 3437 3448 xor di, di ; 31 ff 3438 3449 cld ; fc 3439 jcxz 01a cch ; e3 023450 jcxz 01aefh ; e3 02 3440 3451 rep stosb ; f3 aa 3441 jmp near 01b c2h ; e9 f3 003452 jmp near 01be5h ; e9 f3 00 3442 3453 cmp bl, 002h ; 80 fb 02 3443 jne short 01 addh ; 75 093454 jne short 01b00h ; 75 09 3444 3455 sal byte [bp-00ch], 1 ; d0 66 f4 3445 3456 sal byte [bp-006h], 1 ; d0 66 fa 3446 3457 sal word [bp-018h], 1 ; d1 66 e8 3447 3458 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3448 jne short 01b 4ch ; 75 693459 jne short 01b6fh ; 75 69 3449 3460 mov al, byte [bp-00eh] ; 8a 46 f2 3450 3461 xor ah, ah ; 30 e4 … … 3454 3465 mov dx, ax ; 89 c2 3455 3466 cmp ax, word [bp-016h] ; 3b 46 ea 3456 jc short 01a cch ; 72 d53467 jc short 01aefh ; 72 d5 3457 3468 mov al, byte [bp-00ah] ; 8a 46 f6 3458 3469 add ax, word [bp-016h] ; 03 46 ea 3459 3470 cmp ax, dx ; 39 d0 3460 jnbe short 01b 07h ; 77 063471 jnbe short 01b2ah ; 77 06 3461 3472 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3462 jne short 01b 28h ; 75 213473 jne short 01b4bh ; 75 21 3463 3474 mov al, byte [bp-008h] ; 8a 46 f8 3464 3475 xor ah, ah ; 30 e4 … … 3473 3484 mov dx, ax ; 89 c2 3474 3485 mov al, byte [bp-00ch] ; 8a 46 f4 3475 call 015 adh ; e8 87 fa3476 jmp short 01b 47h ; eb 1f3486 call 015d0h ; e8 87 fa 3487 jmp short 01b6ah ; eb 1f 3477 3488 mov al, byte [bp-012h] ; 8a 46 ee 3478 3489 xor ah, ah ; 30 e4 … … 3487 3498 mov dx, ax ; 89 c2 3488 3499 mov al, byte [bp-00ch] ; 8a 46 f4 3489 call 01 4ebh ; e8 a4 f93500 call 0150eh ; e8 a4 f9 3490 3501 inc word [bp-016h] ; ff 46 ea 3491 jmp short 01 aebh ; eb 9f3502 jmp short 01b0eh ; eb 9f 3492 3503 mov al, byte [bp+004h] ; 8a 46 04 3493 3504 xor ah, ah ; 30 e4 … … 3496 3507 xor ah, ah ; 30 e4 3497 3508 cmp ax, word [bp-016h] ; 3b 46 ea 3498 jnbe short 01b c2h ; 77 643509 jnbe short 01be5h ; 77 64 3499 3510 mov dx, ax ; 89 c2 3500 3511 mov al, byte [bp-00ah] ; 8a 46 f6 3501 3512 add ax, dx ; 01 d0 3502 3513 cmp ax, word [bp-016h] ; 3b 46 ea 3503 jnbe short 01b 70h ; 77 063514 jnbe short 01b93h ; 77 06 3504 3515 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3505 jne short 01b 91h ; 75 213516 jne short 01bb4h ; 75 21 3506 3517 mov al, byte [bp-008h] ; 8a 46 f8 3507 3518 xor ah, ah ; 30 e4 … … 3516 3527 mov dx, ax ; 89 c2 3517 3528 mov al, byte [bp-00ch] ; 8a 46 f4 3518 call 015 adh ; e8 1e fa3519 jmp short 01b b3h ; eb 223529 call 015d0h ; e8 1e fa 3530 jmp short 01bd6h ; eb 22 3520 3531 mov al, byte [bp-012h] ; 8a 46 ee 3521 3532 xor ah, ah ; 30 e4 … … 3531 3542 mov dx, ax ; 89 c2 3532 3543 mov al, byte [bp-00ch] ; 8a 46 f4 3533 call 01 4ebh ; e8 38 f93544 call 0150eh ; e8 38 f9 3534 3545 mov al, byte [bp+004h] ; 8a 46 04 3535 3546 xor ah, ah ; 30 e4 3536 3547 cmp ax, word [bp-016h] ; 3b 46 ea 3537 jc short 01b c2h ; 72 053548 jc short 01be5h ; 72 05 3538 3549 dec word [bp-016h] ; ff 4e ea 3539 jmp short 01b 54h ; eb 923550 jmp short 01b77h ; eb 92 3540 3551 lea sp, [bp-004h] ; 8d 66 fc 3541 3552 pop di ; 5f … … 3543 3554 pop bp ; 5d 3544 3555 retn 00008h ; c2 08 00 3545 write_gfx_char_pl4_: ; 0xc1b cbLB 0xf83556 write_gfx_char_pl4_: ; 0xc1bee LB 0xf8 3546 3557 push bp ; 55 3547 3558 mov bp, sp ; 89 e5 … … 3554 3565 mov al, cl ; 88 c8 3555 3566 cmp byte [bp+006h], 010h ; 80 7e 06 10 3556 je short 01 befh ; 74 0b3567 je short 01c12h ; 74 0b 3557 3568 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3558 jne short 01 bf4h ; 75 0a3559 mov di, 05b edh ; bf ed5b3560 jmp short 01 bf7h ; eb 083561 mov di, 069 edh ; bf ed693562 jmp short 01 bf7h ; eb 033563 mov di, 053 edh ; bf ed533569 jne short 01c17h ; 75 0a 3570 mov di, 05bf2h ; bf f2 5b 3571 jmp short 01c1ah ; eb 08 3572 mov di, 069f2h ; bf f2 69 3573 jmp short 01c1ah ; eb 03 3574 mov di, 053f2h ; bf f2 53 3564 3575 xor ah, ah ; 30 e4 3565 3576 mov bx, ax ; 89 c3 … … 3586 3597 out DX, ax ; ef 3587 3598 test byte [bp-006h], 080h ; f6 46 fa 80 3588 je short 01c 39h ; 74 063599 je short 01c5ch ; 74 06 3589 3600 mov ax, 01803h ; b8 03 18 3590 3601 out DX, ax ; ef 3591 jmp short 01c 3dh ; eb 043602 jmp short 01c60h ; eb 04 3592 3603 mov ax, strict word 00003h ; b8 03 00 3593 3604 out DX, ax ; ef 3594 3605 xor ch, ch ; 30 ed 3595 3606 cmp ch, byte [bp+006h] ; 3a 6e 06 3596 jnc short 01c abh ; 73 673607 jnc short 01cceh ; 73 67 3597 3608 mov al, ch ; 88 e8 3598 3609 xor ah, ah ; 30 e4 … … 3603 3614 add si, ax ; 01 c6 3604 3615 mov byte [bp-008h], bh ; 88 7e f8 3605 jmp short 01c 6ch ; eb 133616 jmp short 01c8fh ; eb 13 3606 3617 xor bx, bx ; 31 db 3607 3618 mov dx, si ; 89 f2 3608 3619 mov ax, 0a000h ; b8 00 a0 3609 call 031 a9h ; e8 46 153620 call 031cch ; e8 46 15 3610 3621 inc byte [bp-008h] ; fe 46 f8 3611 3622 cmp byte [bp-008h], 008h ; 80 7e f8 08 3612 jnc short 01c a7h ; 73 3b3623 jnc short 01ccah ; 73 3b 3613 3624 mov cl, byte [bp-008h] ; 8a 4e f8 3614 3625 mov ax, 00080h ; b8 80 00 … … 3623 3634 mov dx, si ; 89 f2 3624 3635 mov ax, 0a000h ; b8 00 a0 3625 call 031 9bh ; e8 0f 153636 call 031beh ; e8 0f 15 3626 3637 mov al, ch ; 88 e8 3627 3638 xor ah, ah ; 30 e4 … … 3631 3642 mov al, byte [bx] ; 8a 07 3632 3643 test word [bp-012h], ax ; 85 46 ee 3633 je short 01c 59h ; 74 bb3644 je short 01c7ch ; 74 bb 3634 3645 mov al, byte [bp-006h] ; 8a 46 fa 3635 3646 and AL, strict byte 00fh ; 24 0f 3636 3647 mov bx, ax ; 89 c3 3637 jmp short 01c 5bh ; eb b43648 jmp short 01c7eh ; eb b4 3638 3649 db 0feh, 0c5h 3639 3650 ; inc ch ; fe c5 3640 jmp short 01c 3fh ; eb 943651 jmp short 01c62h ; eb 94 3641 3652 mov ax, 0ff08h ; b8 08 ff 3642 3653 mov dx, 003ceh ; ba ce 03 … … 3651 3662 pop bp ; 5d 3652 3663 retn 00004h ; c2 04 00 3653 write_gfx_char_cga_: ; 0xc1c c3LB 0x13a3664 write_gfx_char_cga_: ; 0xc1ce6 LB 0x13a 3654 3665 push bp ; 55 3655 3666 mov bp, sp ; 89 e5 … … 3659 3670 mov byte [bp-008h], al ; 88 46 f8 3660 3671 mov byte [bp-00ah], dl ; 88 56 f6 3661 mov si, 053 edh ; be ed533672 mov si, 053f2h ; be f2 53 3662 3673 xor bh, bh ; 30 ff 3663 3674 mov al, byte [bp+006h] ; 8a 46 06 … … 3679 3690 sal di, CL ; d3 e7 3680 3691 mov byte [bp-006h], ah ; 88 66 fa 3681 jmp near 01d 54h ; e9 52 003692 jmp near 01d77h ; e9 52 00 3682 3693 xor al, al ; 30 c0 3683 3694 xor ah, ah ; 30 e4 3684 jmp short 01d 13h ; eb 0b3695 jmp short 01d36h ; eb 0b 3685 3696 or al, bl ; 08 d8 3686 3697 shr ch, 1 ; d0 ed … … 3688 3699 ; inc ah ; fe c4 3689 3700 cmp ah, 008h ; 80 fc 08 3690 jnc short 01d 3eh ; 73 2b3701 jnc short 01d61h ; 73 2b 3691 3702 mov bl, byte [bp-006h] ; 8a 5e fa 3692 3703 xor bh, bh ; 30 ff … … 3698 3709 mov bl, ch ; 88 eb 3699 3710 test dx, bx ; 85 da 3700 je short 01d 0ah ; 74 e23711 je short 01d2dh ; 74 e2 3701 3712 mov CL, strict byte 007h ; b1 07 3702 3713 sub cl, ah ; 28 e1 … … 3705 3716 sal bl, CL ; d2 e3 3706 3717 test byte [bp-00ah], 080h ; f6 46 f6 80 3707 je short 01d 08h ; 74 ce3718 je short 01d2bh ; 74 ce 3708 3719 xor al, bl ; 30 d8 3709 jmp short 01d 0ah ; eb cc3720 jmp short 01d2dh ; eb cc 3710 3721 xor ah, ah ; 30 e4 3711 3722 mov bx, ax ; 89 c3 3712 3723 mov dx, word [bp-00ch] ; 8b 56 f4 3713 3724 mov ax, 0b800h ; b8 00 b8 3714 call 031 a9h ; e8 5e 143725 call 031cch ; e8 5e 14 3715 3726 inc byte [bp-006h] ; fe 46 fa 3716 3727 cmp byte [bp-006h], 008h ; 80 7e fa 08 3717 jnc short 01d a6h ; 73 523728 jnc short 01dc9h ; 73 52 3718 3729 mov al, byte [bp-006h] ; 8a 46 fa 3719 3730 xor ah, ah ; 30 e4 … … 3725 3736 mov word [bp-00ch], dx ; 89 56 f4 3726 3737 test byte [bp-006h], 001h ; f6 46 fa 01 3727 je short 01d 72h ; 74 043738 je short 01d95h ; 74 04 3728 3739 add byte [bp-00bh], 020h ; 80 46 f5 20 3729 3740 mov CH, strict byte 080h ; b5 80 3730 3741 cmp byte [bp+006h], 001h ; 80 7e 06 01 3731 jne short 01d 8bh ; 75 113742 jne short 01daeh ; 75 11 3732 3743 test byte [bp-00ah], ch ; 84 6e f6 3733 je short 01d 02h ; 74 833744 je short 01d25h ; 74 83 3734 3745 mov dx, word [bp-00ch] ; 8b 56 f4 3735 3746 mov ax, 0b800h ; b8 00 b8 3736 call 031 9bh ; e8 13 143737 jmp near 01d 04h ; e9 79 ff3747 call 031beh ; e8 13 14 3748 jmp near 01d27h ; e9 79 ff 3738 3749 test ch, ch ; 84 ed 3739 jbe short 01d 4bh ; 76 bc3750 jbe short 01d6eh ; 76 bc 3740 3751 test byte [bp-00ah], 080h ; f6 46 f6 80 3741 je short 01d a0h ; 74 0b3752 je short 01dc3h ; 74 0b 3742 3753 mov dx, word [bp-00ch] ; 8b 56 f4 3743 3754 mov ax, 0b800h ; b8 00 b8 3744 call 031 9bh ; e8 fd 133745 jmp short 01d a2h ; eb 023755 call 031beh ; e8 fd 13 3756 jmp short 01dc5h ; eb 02 3746 3757 xor al, al ; 30 c0 3747 3758 xor ah, ah ; 30 e4 3748 jmp short 01d adh ; eb 073749 jmp short 01 df4h ; eb 4c3759 jmp short 01dd0h ; eb 07 3760 jmp short 01e17h ; eb 4c 3750 3761 cmp ah, 004h ; 80 fc 04 3751 jnc short 01 de2h ; 73 353762 jnc short 01e05h ; 73 35 3752 3763 mov bl, byte [bp-006h] ; 8a 5e fa 3753 3764 xor bh, bh ; 30 ff … … 3759 3770 mov bl, ch ; 88 eb 3760 3771 test dx, bx ; 85 da 3761 je short 01d dch ; 74 1a3772 je short 01dffh ; 74 1a 3762 3773 mov CL, strict byte 003h ; b1 03 3763 3774 sub cl, ah ; 28 e1 … … 3767 3778 sal bl, CL ; d2 e3 3768 3779 test byte [bp-00ah], 080h ; f6 46 f6 80 3769 je short 01d dah ; 74 043780 je short 01dfdh ; 74 04 3770 3781 xor al, bl ; 30 d8 3771 jmp short 01d dch ; eb 023782 jmp short 01dffh ; eb 02 3772 3783 or al, bl ; 08 d8 3773 3784 shr ch, 1 ; d0 ed 3774 3785 db 0feh, 0c4h 3775 3786 ; inc ah ; fe c4 3776 jmp short 01d a8h ; eb c63787 jmp short 01dcbh ; eb c6 3777 3788 xor ah, ah ; 30 e4 3778 3789 mov bx, ax ; 89 c3 3779 3790 mov dx, word [bp-00ch] ; 8b 56 f4 3780 3791 mov ax, 0b800h ; b8 00 b8 3781 call 031 a9h ; e8 ba 133792 call 031cch ; e8 ba 13 3782 3793 inc word [bp-00ch] ; ff 46 f4 3783 jmp short 01d 8bh ; eb 973794 jmp short 01daeh ; eb 97 3784 3795 lea sp, [bp-004h] ; 8d 66 fc 3785 3796 pop di ; 5f … … 3787 3798 pop bp ; 5d 3788 3799 retn 00004h ; c2 04 00 3789 write_gfx_char_lin_: ; 0xc1 dfdLB 0xac3800 write_gfx_char_lin_: ; 0xc1e20 LB 0xac 3790 3801 push bp ; 55 3791 3802 mov bp, sp ; 89 e5 … … 3797 3808 mov byte [bp-006h], bl ; 88 5e fa 3798 3809 mov al, cl ; 88 c8 3799 mov si, 053 edh ; be ed533810 mov si, 053f2h ; be f2 53 3800 3811 xor ah, ah ; 30 e4 3801 3812 mov bl, byte [bp+004h] ; 8a 5e 04 … … 3814 3825 sal di, CL ; d3 e7 3815 3826 xor ch, ch ; 30 ed 3816 jmp short 01e 7dh ; eb 443827 jmp short 01ea0h ; eb 44 3817 3828 cmp cl, 008h ; 80 f9 08 3818 jnc short 01e 76h ; 73 383829 jnc short 01e99h ; 73 38 3819 3830 xor dl, dl ; 30 d2 3820 3831 mov al, ch ; 88 e8 … … 3828 3839 xor bh, bh ; 30 ff 3829 3840 test ax, bx ; 85 d8 3830 je short 01e 5ah ; 74 033841 je short 01e7dh ; 74 03 3831 3842 mov dl, byte [bp-00ch] ; 8a 56 f4 3832 3843 mov bl, dl ; 88 d3 … … 3838 3849 mov bx, ax ; 89 c3 3839 3850 mov ax, 0a000h ; b8 00 a0 3840 call 031 a9h ; e8 3a 133851 call 031cch ; e8 3a 13 3841 3852 shr byte [bp-008h], 1 ; d0 6e f8 3842 3853 db 0feh, 0c1h 3843 3854 ; inc cl ; fe c1 3844 jmp short 01e 39h ; eb c33855 jmp short 01e5ch ; eb c3 3845 3856 db 0feh, 0c5h 3846 3857 ; inc ch ; fe c5 3847 3858 cmp ch, 008h ; 80 fd 08 3848 jnc short 01e a0h ; 73 233859 jnc short 01ec3h ; 73 23 3849 3860 mov bl, ch ; 88 eb 3850 3861 xor bh, bh ; 30 ff … … 3861 3872 mov byte [bp-008h], 080h ; c6 46 f8 80 3862 3873 xor cl, cl ; 30 c9 3863 jmp short 01e 3eh ; eb 9e3874 jmp short 01e61h ; eb 9e 3864 3875 lea sp, [bp-004h] ; 8d 66 fc 3865 3876 pop di ; 5f … … 3867 3878 pop bp ; 5d 3868 3879 retn 00002h ; c2 02 00 3869 biosfn_write_char_attr_: ; 0xc1e a9LB 0x1923880 biosfn_write_char_attr_: ; 0xc1ecc LB 0x192 3870 3881 push bp ; 55 3871 3882 mov bp, sp ; 89 e5 … … 3879 3890 mov dx, strict word 00049h ; ba 49 00 3880 3891 mov ax, strict word 00040h ; b8 40 00 3881 call 031 9bh ; e8 d6 123882 xor ah, ah ; 30 e4 3883 call 031 70h ; e8 a6 123892 call 031beh ; e8 d6 12 3893 xor ah, ah ; 30 e4 3894 call 03193h ; e8 a6 12 3884 3895 mov cl, al ; 88 c1 3885 3896 mov byte [bp-014h], al ; 88 46 ec 3886 3897 cmp AL, strict byte 0ffh ; 3c ff 3887 jne short 01e d6h ; 75 033888 jmp near 020 34h ; e9 5e 013898 jne short 01ef9h ; 75 03 3899 jmp near 02057h ; e9 5e 01 3889 3900 mov al, byte [bp-012h] ; 8a 46 ee 3890 3901 xor ah, ah ; 30 e4 3891 3902 lea bx, [bp-01eh] ; 8d 5e e2 3892 3903 lea dx, [bp-01ch] ; 8d 56 e4 3893 call 00a8ch ; e8 a8eb3904 call 00a8ch ; e8 85 eb 3894 3905 mov al, byte [bp-01eh] ; 8a 46 e2 3895 3906 mov byte [bp-00ch], al ; 88 46 f4 … … 3898 3909 mov dx, 00084h ; ba 84 00 3899 3910 mov ax, strict word 00040h ; b8 40 00 3900 call 031 9bh ; e8 a2 123911 call 031beh ; e8 a2 12 3901 3912 xor ah, ah ; 30 e4 3902 3913 inc ax ; 40 … … 3904 3915 mov dx, strict word 0004ah ; ba 4a 00 3905 3916 mov ax, strict word 00040h ; b8 40 00 3906 call 031 b7h ; e8 af 123917 call 031dah ; e8 af 12 3907 3918 mov bx, ax ; 89 c3 3908 3919 mov word [bp-016h], ax ; 89 46 ea … … 3912 3923 mov di, ax ; 89 c7 3913 3924 sal di, CL ; d3 e7 3914 cmp byte [di+0463 0h], 000h ; 80 bd 3046 003915 jne short 01f 67h ; 75 493925 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 3926 jne short 01f8ah ; 75 49 3916 3927 mov ax, bx ; 89 d8 3917 3928 mul word [bp-01ah] ; f7 66 e6 … … 3939 3950 mov word [bp-01ch], bx ; 89 5e e4 3940 3951 mov ax, word [bp-01ch] ; 8b 46 e4 3941 mov es, [di+0463 3h] ; 8e 85 33463952 mov es, [di+04638h] ; 8e 85 38 46 3942 3953 mov cx, si ; 89 f1 3943 3954 mov di, dx ; 89 d7 3944 3955 cld ; fc 3945 jcxz 01f 64h ; e3 023956 jcxz 01f87h ; e3 02 3946 3957 rep stosw ; f3 ab 3947 jmp near 020 34h ; e9 cd 003948 mov bx, ax ; 89 c3 3949 mov al, byte [bx+046 afh] ; 8a 87 af463958 jmp near 02057h ; e9 cd 00 3959 mov bx, ax ; 89 c3 3960 mov al, byte [bx+046b4h] ; 8a 87 b4 46 3950 3961 mov CL, strict byte 006h ; b1 06 3951 3962 mov bx, ax ; 89 c3 3952 3963 sal bx, CL ; d3 e3 3953 mov al, byte [bx+046c 5h] ; 8a 87 c5463964 mov al, byte [bx+046cah] ; 8a 87 ca 46 3954 3965 mov byte [bp-010h], al ; 88 46 f0 3955 mov al, byte [di+0463 2h] ; 8a 85 32463966 mov al, byte [di+04637h] ; 8a 85 37 46 3956 3967 mov byte [bp-00ah], al ; 88 46 f6 3957 3968 dec si ; 4e 3958 3969 cmp si, strict byte 0ffffh ; 83 fe ff 3959 je short 01f 91h ; 74 0a3970 je short 01fb4h ; 74 0a 3960 3971 mov al, byte [bp-00ch] ; 8a 46 f4 3961 3972 xor ah, ah ; 30 e4 3962 3973 cmp ax, word [bp-016h] ; 3b 46 ea 3963 jc short 01f 94h ; 72 033964 jmp near 020 34h ; e9 a0 003974 jc short 01fb7h ; 72 03 3975 jmp near 02057h ; e9 a0 00 3965 3976 mov al, byte [bp-014h] ; 8a 46 ec 3966 3977 mov CL, strict byte 003h ; b1 03 3967 3978 mov bx, ax ; 89 c3 3968 3979 sal bx, CL ; d3 e3 3969 mov al, byte [bx+0463 1h] ; 8a 87 31463980 mov al, byte [bx+04636h] ; 8a 87 36 46 3970 3981 cmp al, cl ; 38 c8 3971 jc short 01f b2h ; 72 0d3972 jbe short 01f b8h ; 76 113982 jc short 01fd5h ; 72 0d 3983 jbe short 01fdbh ; 76 11 3973 3984 cmp AL, strict byte 005h ; 3c 05 3974 je short 020 0dh ; 74 623985 je short 02030h ; 74 62 3975 3986 cmp AL, strict byte 004h ; 3c 04 3976 je short 01f b8h ; 74 093977 jmp near 020 2eh ; e9 7c 003987 je short 01fdbh ; 74 09 3988 jmp near 02051h ; e9 7c 00 3978 3989 cmp AL, strict byte 002h ; 3c 02 3979 je short 0 1fe1h ; 74 2b3980 jmp short 020 2eh ; eb 763990 je short 02004h ; 74 2b 3991 jmp short 02051h ; eb 76 3981 3992 mov bl, byte [bp-010h] ; 8a 5e f0 3982 3993 xor bh, bh ; 30 ff … … 3995 4006 mov bx, dx ; 89 d3 3996 4007 mov dx, di ; 89 fa 3997 call 01b cbh ; e8 ec fb3998 jmp short 020 2eh ; eb 4d4008 call 01beeh ; e8 ec fb 4009 jmp short 02051h ; eb 4d 3999 4010 mov al, byte [bp-00ah] ; 8a 46 f6 4000 4011 push ax ; 50 … … 4013 4024 mov bx, ax ; 89 c3 4014 4025 mov ax, di ; 89 f8 4015 call 01c c3h ; e8 b8 fc4016 jmp short 020 2eh ; eb 214026 call 01ce6h ; e8 b8 fc 4027 jmp short 02051h ; eb 21 4017 4028 mov bl, byte [bp-016h] ; 8a 5e ea 4018 4029 xor bh, bh ; 30 ff … … 4028 4039 mov bx, dx ; 89 d3 4029 4040 mov dx, di ; 89 fa 4030 call 01 dfdh ; e8 cf fd4041 call 01e20h ; e8 cf fd 4031 4042 inc byte [bp-00ch] ; fe 46 f4 4032 jmp near 01f 81h ; e9 4d ff4043 jmp near 01fa4h ; e9 4d ff 4033 4044 lea sp, [bp-004h] ; 8d 66 fc 4034 4045 pop di ; 5f … … 4036 4047 pop bp ; 5d 4037 4048 retn ; c3 4038 biosfn_write_char_only_: ; 0xc20 3bLB 0x1934049 biosfn_write_char_only_: ; 0xc205e LB 0x193 4039 4050 push bp ; 55 4040 4051 mov bp, sp ; 89 e5 … … 4048 4059 mov dx, strict word 00049h ; ba 49 00 4049 4060 mov ax, strict word 00040h ; b8 40 00 4050 call 031 9bh ; e8 44 114051 xor ah, ah ; 30 e4 4052 call 031 70h ; e8 14 114061 call 031beh ; e8 44 11 4062 xor ah, ah ; 30 e4 4063 call 03193h ; e8 14 11 4053 4064 mov cl, al ; 88 c1 4054 4065 mov byte [bp-00ch], al ; 88 46 f4 4055 4066 cmp AL, strict byte 0ffh ; 3c ff 4056 jne short 020 68h ; 75 034057 jmp near 021 c7h ; e9 5f 014067 jne short 0208bh ; 75 03 4068 jmp near 021eah ; e9 5f 01 4058 4069 mov bl, byte [bp-008h] ; 8a 5e f8 4059 4070 xor bh, bh ; 30 ff … … 4061 4072 lea bx, [bp-01ch] ; 8d 5e e4 4062 4073 lea dx, [bp-01ah] ; 8d 56 e6 4063 call 00a8ch ; e8 14 ea4074 call 00a8ch ; e8 f1 e9 4064 4075 mov al, byte [bp-01ch] ; 8a 46 e4 4065 4076 mov byte [bp-00eh], al ; 88 46 f2 … … 4068 4079 mov dx, 00084h ; ba 84 00 4069 4080 mov ax, strict word 00040h ; b8 40 00 4070 call 031 9bh ; e8 0e 114081 call 031beh ; e8 0e 11 4071 4082 mov bl, al ; 88 c3 4072 4083 xor bh, bh ; 30 ff … … 4075 4086 mov dx, strict word 0004ah ; ba 4a 00 4076 4087 mov ax, strict word 00040h ; b8 40 00 4077 call 031 b7h ; e8 19 114088 call 031dah ; e8 19 11 4078 4089 mov di, ax ; 89 c7 4079 4090 mov word [bp-016h], ax ; 89 46 ea … … 4083 4094 mov CL, strict byte 003h ; b1 03 4084 4095 sal bx, CL ; d3 e3 4085 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 004086 jne short 021 02h ; 75 4e4096 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 4097 jne short 02125h ; 75 4e 4087 4098 mov ax, di ; 89 f8 4088 4099 mul word [bp-018h] ; f7 66 e8 … … 4105 4116 dec si ; 4e 4106 4117 cmp si, strict byte 0ffffh ; 83 fe ff 4107 je short 020 65h ; 74 844118 je short 02088h ; 74 84 4108 4119 mov dl, byte [bp-006h] ; 8a 56 fa 4109 4120 xor dh, dh ; 30 f6 … … 4113 4124 mov bx, dx ; 89 d3 4114 4125 sal bx, CL ; d3 e3 4115 mov cx, word [bx+0463 3h] ; 8b 8f 33464126 mov cx, word [bx+04638h] ; 8b 8f 38 46 4116 4127 mov bx, ax ; 89 c3 4117 4128 mov dx, di ; 89 fa 4118 4129 mov ax, cx ; 89 c8 4119 call 031 a9h ; e8 ab 104130 call 031cch ; e8 ab 10 4120 4131 inc di ; 47 4121 4132 inc di ; 47 4122 jmp short 020 dbh ; eb d94133 jmp short 020feh ; eb d9 4123 4134 mov di, ax ; 89 c7 4124 mov dl, byte [di+046 afh] ; 8a 95 af464135 mov dl, byte [di+046b4h] ; 8a 95 b4 46 4125 4136 xor dh, dh ; 30 f6 4126 4137 mov CL, strict byte 006h ; b1 06 4127 4138 mov di, dx ; 89 d7 4128 4139 sal di, CL ; d3 e7 4129 mov al, byte [di+046c 5h] ; 8a 85 c5464140 mov al, byte [di+046cah] ; 8a 85 ca 46 4130 4141 mov byte [bp-012h], al ; 88 46 ee 4131 mov al, byte [bx+0463 2h] ; 8a 87 32464142 mov al, byte [bx+04637h] ; 8a 87 37 46 4132 4143 mov byte [bp-010h], al ; 88 46 f0 4133 4144 dec si ; 4e 4134 4145 cmp si, strict byte 0ffffh ; 83 fe ff 4135 je short 021 79h ; 74 554146 je short 0219ch ; 74 55 4136 4147 mov dl, byte [bp-00eh] ; 8a 56 f2 4137 4148 xor dh, dh ; 30 f6 4138 4149 cmp dx, word [bp-016h] ; 3b 56 ea 4139 jnc short 021 79h ; 73 4b4150 jnc short 0219ch ; 73 4b 4140 4151 mov dl, byte [bp-00ch] ; 8a 56 f4 4141 4152 mov CL, strict byte 003h ; b1 03 4142 4153 mov bx, dx ; 89 d3 4143 4154 sal bx, CL ; d3 e3 4144 mov bl, byte [bx+0463 1h] ; 8a 9f 31464155 mov bl, byte [bx+04636h] ; 8a 9f 36 46 4145 4156 cmp bl, cl ; 38 cb 4146 jc short 021 4dh ; 72 0e4147 jbe short 021 54h ; 76 134157 jc short 02170h ; 72 0e 4158 jbe short 02177h ; 76 13 4148 4159 cmp bl, 005h ; 80 fb 05 4149 je short 021 a0h ; 74 5a4160 je short 021c3h ; 74 5a 4150 4161 cmp bl, 004h ; 80 fb 04 4151 je short 021 54h ; 74 094152 jmp short 021 c1h ; eb 744162 je short 02177h ; 74 09 4163 jmp short 021e4h ; eb 74 4153 4164 cmp bl, 002h ; 80 fb 02 4154 je short 021 7bh ; 74 294155 jmp short 021 c1h ; eb 6d4165 je short 0219eh ; 74 29 4166 jmp short 021e4h ; eb 6d 4156 4167 mov dl, byte [bp-012h] ; 8a 56 ee 4157 4168 xor dh, dh ; 30 f6 … … 4168 4179 mov ax, dx ; 89 d0 4169 4180 mov dx, di ; 89 fa 4170 call 01b cbh ; e8 54 fa4171 jmp short 021 c1h ; eb 484172 jmp short 021 c7h ; eb 4c4181 call 01beeh ; e8 54 fa 4182 jmp short 021e4h ; eb 48 4183 jmp short 021eah ; eb 4c 4173 4184 mov bl, byte [bp-010h] ; 8a 5e f0 4174 4185 xor bh, bh ; 30 ff … … 4185 4196 mov bx, dx ; 89 d3 4186 4197 mov dx, di ; 89 fa 4187 call 01c c3h ; e8 25 fb4188 jmp short 021 c1h ; eb 214198 call 01ce6h ; e8 25 fb 4199 jmp short 021e4h ; eb 21 4189 4200 mov bl, byte [bp-016h] ; 8a 5e ea 4190 4201 xor bh, bh ; 30 ff … … 4200 4211 mov ax, bx ; 89 d8 4201 4212 mov bx, di ; 89 fb 4202 call 01 dfdh ; e8 3c fc4213 call 01e20h ; e8 3c fc 4203 4214 inc byte [bp-00eh] ; fe 46 f2 4204 jmp near 021 1eh ; e9 57 ff4215 jmp near 02141h ; e9 57 ff 4205 4216 lea sp, [bp-004h] ; 8d 66 fc 4206 4217 pop di ; 5f … … 4208 4219 pop bp ; 5d 4209 4220 retn ; c3 4210 biosfn_write_pixel_: ; 0xc21 ceLB 0x17f4221 biosfn_write_pixel_: ; 0xc21f1 LB 0x17f 4211 4222 push bp ; 55 4212 4223 mov bp, sp ; 89 e5 … … 4218 4229 mov dx, strict word 00049h ; ba 49 00 4219 4230 mov ax, strict word 00040h ; b8 40 00 4220 call 031 9bh ; e8 b4 0f4221 xor ah, ah ; 30 e4 4222 call 031 70h ; e8 84 0f4231 call 031beh ; e8 b4 0f 4232 xor ah, ah ; 30 e4 4233 call 03193h ; e8 84 0f 4223 4234 mov ch, al ; 88 c5 4224 4235 cmp AL, strict byte 0ffh ; 3c ff 4225 je short 022 19h ; 74 274236 je short 0223ch ; 74 27 4226 4237 xor ah, ah ; 30 e4 4227 4238 mov CL, strict byte 003h ; b1 03 4228 4239 mov bx, ax ; 89 c3 4229 4240 sal bx, CL ; d3 e3 4230 cmp byte [bx+0463 0h], 000h ; 80 bf 3046 004231 je short 022 19h ; 74 184232 mov al, byte [bx+0463 1h] ; 8a 87 31464241 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 4242 je short 0223ch ; 74 18 4243 mov al, byte [bx+04636h] ; 8a 87 36 46 4233 4244 cmp al, cl ; 38 c8 4234 jc short 022 15h ; 72 0c4235 jbe short 022 1fh ; 76 144245 jc short 02238h ; 72 0c 4246 jbe short 02242h ; 76 14 4236 4247 cmp AL, strict byte 005h ; 3c 05 4237 je short 022 1ch ; 74 0d4248 je short 0223fh ; 74 0d 4238 4249 cmp AL, strict byte 004h ; 3c 04 4239 je short 022 1fh ; 74 0c4240 jmp short 022 19h ; eb 044250 je short 02242h ; 74 0c 4251 jmp short 0223ch ; eb 04 4241 4252 cmp AL, strict byte 002h ; 3c 02 4242 je short 022 8ah ; 74 714243 jmp near 023 1eh ; e9 02 014244 jmp near 023 24h ; e9 05 014253 je short 022adh ; 74 71 4254 jmp near 02341h ; e9 02 01 4255 jmp near 02347h ; e9 05 01 4245 4256 mov dx, strict word 0004ah ; ba 4a 00 4246 4257 mov ax, strict word 00040h ; b8 40 00 4247 call 031 b7h ; e8 8f 0f4258 call 031dah ; e8 8f 0f 4248 4259 mov bx, ax ; 89 c3 4249 4260 mov ax, word [bp-00ah] ; 8b 46 f6 … … 4267 4278 mov dx, bx ; 89 da 4268 4279 mov ax, 0a000h ; b8 00 a0 4269 call 031 9bh ; e8 3f 0f4280 call 031beh ; e8 3f 0f 4270 4281 test byte [bp-004h], 080h ; f6 46 fc 80 4271 je short 022 69h ; 74 074282 je short 0228ch ; 74 07 4272 4283 mov ax, 01803h ; b8 03 18 4273 4284 mov dx, 003ceh ; ba ce 03 … … 4278 4289 mov dx, word [bp-006h] ; 8b 56 fa 4279 4290 mov ax, 0a000h ; b8 00 a0 4280 call 031 a9h ; e8 30 0f4291 call 031cch ; e8 30 0f 4281 4292 mov ax, 0ff08h ; b8 08 ff 4282 4293 mov dx, 003ceh ; ba ce 03 … … 4286 4297 mov ax, strict word 00003h ; b8 03 00 4287 4298 out DX, ax ; ef 4288 jmp short 022 19h ; eb 8f4299 jmp short 0223ch ; eb 8f 4289 4300 mov ax, word [bp-00ah] ; 8b 46 f6 4290 4301 shr ax, 1 ; d1 e8 4291 4302 mov si, strict word 00050h ; be 50 00 4292 4303 mul si ; f7 e6 4293 cmp byte [bx+0463 2h], 002h ; 80 bf 3246 024294 jne short 022 a4h ; 75 094304 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 4305 jne short 022c7h ; 75 09 4295 4306 mov bx, word [bp-008h] ; 8b 5e f8 4296 4307 shr bx, 1 ; d1 eb 4297 4308 shr bx, 1 ; d1 eb 4298 jmp short 022 a9h ; eb 054309 jmp short 022cch ; eb 05 4299 4310 mov bx, word [bp-008h] ; 8b 5e f8 4300 4311 shr bx, CL ; d3 eb … … 4302 4313 mov word [bp-006h], bx ; 89 5e fa 4303 4314 test byte [bp-00ah], 001h ; f6 46 f6 01 4304 je short 022 b8h ; 74 044315 je short 022dbh ; 74 04 4305 4316 add byte [bp-005h], 020h ; 80 46 fb 20 4306 4317 mov dx, word [bp-006h] ; 8b 56 fa 4307 4318 mov ax, 0b800h ; b8 00 b8 4308 call 031 9bh ; e8 da 0e4319 call 031beh ; e8 da 0e 4309 4320 mov bl, al ; 88 c3 4310 4321 mov al, ch ; 88 e8 … … 4313 4324 mov si, ax ; 89 c6 4314 4325 sal si, CL ; d3 e6 4315 cmp byte [si+0463 2h], 002h ; 80 bc 3246 024316 jne short 02 2eeh ; 75 1a4326 cmp byte [si+04637h], 002h ; 80 bc 37 46 02 4327 jne short 02311h ; 75 1a 4317 4328 mov al, byte [bp-008h] ; 8a 46 f8 4318 4329 and al, cl ; 20 c8 … … 4326 4337 sal bh, CL ; d2 e7 4327 4338 mov AL, strict byte 003h ; b0 03 4328 jmp short 023 01h ; eb 134339 jmp short 02324h ; eb 13 4329 4340 mov al, byte [bp-008h] ; 8a 46 f8 4330 4341 and AL, strict byte 007h ; 24 07 … … 4337 4348 sal al, CL ; d2 e0 4338 4349 test byte [bp-004h], 080h ; f6 46 fc 80 4339 je short 023 0dh ; 74 044350 je short 02330h ; 74 04 4340 4351 xor bl, bh ; 30 fb 4341 jmp short 023 13h ; eb 064352 jmp short 02336h ; eb 06 4342 4353 not al ; f6 d0 4343 4354 and bl, al ; 20 c3 … … 4346 4357 mov dx, word [bp-006h] ; 8b 56 fa 4347 4358 mov ax, 0b800h ; b8 00 b8 4348 call 031 a9h ; e8 8b 0e4359 call 031cch ; e8 8b 0e 4349 4360 lea sp, [bp-002h] ; 8d 66 fe 4350 4361 pop si ; 5e … … 4353 4364 mov dx, strict word 0004ah ; ba 4a 00 4354 4365 mov ax, strict word 00040h ; b8 40 00 4355 call 031 b7h ; e8 8a 0e4366 call 031dah ; e8 8a 0e 4356 4367 mov bx, ax ; 89 c3 4357 4368 sal bx, CL ; d3 e3 … … 4366 4377 mov dx, word [bp-006h] ; 8b 56 fa 4367 4378 mov ax, 0a000h ; b8 00 a0 4368 jmp short 023 1bh ; eb ce4369 biosfn_write_teletype_: ; 0xc23 4dLB 0x25f4379 jmp short 0233eh ; eb ce 4380 biosfn_write_teletype_: ; 0xc2370 LB 0x25f 4370 4381 push bp ; 55 4371 4382 mov bp, sp ; 89 e5 … … 4378 4389 mov byte [bp-00ch], cl ; 88 4e f4 4379 4390 cmp dl, 0ffh ; 80 fa ff 4380 jne short 023 72h ; 75 0c4391 jne short 02395h ; 75 0c 4381 4392 mov dx, strict word 00062h ; ba 62 00 4382 4393 mov ax, strict word 00040h ; b8 40 00 4383 call 031 9bh ; e8 2c 0e4394 call 031beh ; e8 2c 0e 4384 4395 mov byte [bp-014h], al ; 88 46 ec 4385 4396 mov dx, strict word 00049h ; ba 49 00 4386 4397 mov ax, strict word 00040h ; b8 40 00 4387 call 031 9bh ; e8 20 0e4398 call 031beh ; e8 20 0e 4388 4399 mov bl, al ; 88 c3 4389 4400 xor bh, bh ; 30 ff 4390 4401 mov ax, bx ; 89 d8 4391 call 031 70h ; e8 ec 0d4402 call 03193h ; e8 ec 0d 4392 4403 mov byte [bp-00ah], al ; 88 46 f6 4393 4404 cmp AL, strict byte 0ffh ; 3c ff 4394 je short 02 3eeh ; 74 634405 je short 02411h ; 74 63 4395 4406 mov bl, byte [bp-014h] ; 8a 5e ec 4396 4407 mov ax, bx ; 89 d8 4397 4408 lea bx, [bp-01eh] ; 8d 5e e2 4398 4409 lea dx, [bp-01ch] ; 8d 56 e4 4399 call 00a8ch ; e8 f3e64410 call 00a8ch ; e8 d0 e6 4400 4411 mov al, byte [bp-01eh] ; 8a 46 e2 4401 4412 mov byte [bp-006h], al ; 88 46 fa … … 4404 4415 mov dx, 00084h ; ba 84 00 4405 4416 mov ax, strict word 00040h ; b8 40 00 4406 call 031 9bh ; e8 ed 0d4417 call 031beh ; e8 ed 0d 4407 4418 mov bl, al ; 88 c3 4408 4419 xor bh, bh ; 30 ff … … 4411 4422 mov dx, strict word 0004ah ; ba 4a 00 4412 4423 mov ax, strict word 00040h ; b8 40 00 4413 call 031 b7h ; e8 f8 0d4424 call 031dah ; e8 f8 0d 4414 4425 mov word [bp-01ah], ax ; 89 46 e6 4415 4426 mov al, byte [bp-016h] ; 8a 46 ea 4416 4427 cmp AL, strict byte 008h ; 3c 08 4417 jc short 023 d5h ; 72 0c4418 jbe short 023 dch ; 76 114428 jc short 023f8h ; 72 0c 4429 jbe short 023ffh ; 76 11 4419 4430 cmp AL, strict byte 00dh ; 3c 0d 4420 je short 02 3e7h ; 74 184431 je short 0240ah ; 74 18 4421 4432 cmp AL, strict byte 00ah ; 3c 0a 4422 je short 02 3f1h ; 74 1e4423 jmp short 02 3f4h ; eb 1f4433 je short 02414h ; 74 1e 4434 jmp short 02417h ; eb 1f 4424 4435 cmp AL, strict byte 007h ; 3c 07 4425 jne short 02 3f4h ; 75 1b4426 jmp near 02 4eah ; e9 0e 014436 jne short 02417h ; 75 1b 4437 jmp near 0250dh ; e9 0e 01 4427 4438 cmp byte [bp-006h], 000h ; 80 7e fa 00 4428 jbe short 02 3ebh ; 76 094439 jbe short 0240eh ; 76 09 4429 4440 dec byte [bp-006h] ; fe 4e fa 4430 jmp short 02 3ebh ; eb 044441 jmp short 0240eh ; eb 04 4431 4442 mov byte [bp-006h], 000h ; c6 46 fa 00 4432 jmp near 02 4eah ; e9 fc 004433 jmp near 025 a5h ; e9 b4 014434 jmp near 02 4e7h ; e9 f3 004443 jmp near 0250dh ; e9 fc 00 4444 jmp near 025c8h ; e9 b4 01 4445 jmp near 0250ah ; e9 f3 00 4435 4446 mov bl, byte [bp-00ah] ; 8a 5e f6 4436 4447 xor bh, bh ; 30 ff … … 4438 4449 mov si, bx ; 89 de 4439 4450 sal si, CL ; d3 e6 4440 cmp byte [si+0463 0h], 000h ; 80 bc 3046 004441 jne short 024 4ch ; 75 464451 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 4452 jne short 0246fh ; 75 46 4442 4453 mov ax, word [bp-01ah] ; 8b 46 e6 4443 4454 mul word [bp-018h] ; f7 66 e8 … … 4456 4467 add cx, ax ; 01 c1 4457 4468 mov bl, byte [bp-016h] ; 8a 5e ea 4458 mov ax, word [si+0463 3h] ; 8b 84 33464469 mov ax, word [si+04638h] ; 8b 84 38 46 4459 4470 mov dx, cx ; 89 ca 4460 call 031 a9h ; e8 74 0d4471 call 031cch ; e8 74 0d 4461 4472 cmp byte [bp-00ch], 003h ; 80 7e f4 03 4462 jne short 024 92h ; 75 574473 jne short 024b5h ; 75 57 4463 4474 mov bl, byte [bp-00eh] ; 8a 5e f2 4464 4475 xor bh, bh ; 30 ff 4465 4476 mov dx, cx ; 89 ca 4466 4477 inc dx ; 42 4467 mov ax, word [si+0463 3h] ; 8b 84 33464468 call 031 a9h ; e8 5f 0d4469 jmp short 024 92h ; eb 464470 mov bl, byte [bx+046 afh] ; 8a 9f af464478 mov ax, word [si+04638h] ; 8b 84 38 46 4479 call 031cch ; e8 5f 0d 4480 jmp short 024b5h ; eb 46 4481 mov bl, byte [bx+046b4h] ; 8a 9f b4 46 4471 4482 mov CL, strict byte 006h ; b1 06 4472 4483 sal bx, CL ; d3 e3 4473 mov bl, byte [bx+046c 5h] ; 8a 9f c5464474 mov ah, byte [si+0463 2h] ; 8a a4 32464475 mov al, byte [si+0463 1h] ; 8a 84 31464484 mov bl, byte [bx+046cah] ; 8a 9f ca 46 4485 mov ah, byte [si+04637h] ; 8a a4 37 46 4486 mov al, byte [si+04636h] ; 8a 84 36 46 4476 4487 cmp AL, strict byte 003h ; 3c 03 4477 jc short 024 70h ; 72 0c4478 jbe short 024 76h ; 76 104488 jc short 02493h ; 72 0c 4489 jbe short 02499h ; 76 10 4479 4490 cmp AL, strict byte 005h ; 3c 05 4480 je short 024 b4h ; 74 4a4491 je short 024d7h ; 74 4a 4481 4492 cmp AL, strict byte 004h ; 3c 04 4482 je short 024 76h ; 74 084483 jmp short 024 d7h ; eb 674493 je short 02499h ; 74 08 4494 jmp short 024fah ; eb 67 4484 4495 cmp AL, strict byte 002h ; 3c 02 4485 je short 024 94h ; 74 204486 jmp short 024 d7h ; eb 614496 je short 024b7h ; 74 20 4497 jmp short 024fah ; eb 61 4487 4498 xor bh, bh ; 30 ff 4488 4499 push bx ; 53 … … 4496 4507 mov dx, ax ; 89 c2 4497 4508 mov al, byte [bp-016h] ; 8a 46 ea 4498 call 01b cbh ; e8 39 f74499 jmp short 024 d7h ; eb 434509 call 01beeh ; e8 39 f7 4510 jmp short 024fah ; eb 43 4500 4511 mov al, ah ; 88 e0 4501 4512 xor ah, ah ; 30 e4 … … 4510 4521 mov dx, ax ; 89 c2 4511 4522 mov al, byte [bp-016h] ; 8a 46 ea 4512 call 01c c3h ; e8 11 f84513 jmp short 024 d7h ; eb 234523 call 01ce6h ; e8 11 f8 4524 jmp short 024fah ; eb 23 4514 4525 mov al, byte [bp-01ah] ; 8a 46 e6 4515 4526 xor ah, ah ; 30 e4 … … 4526 4537 mov bx, si ; 89 f3 4527 4538 mov ax, di ; 89 f8 4528 call 01 dfdh ; e8 26 f94539 call 01e20h ; e8 26 f9 4529 4540 inc byte [bp-006h] ; fe 46 fa 4530 4541 mov bl, byte [bp-006h] ; 8a 5e fa 4531 4542 xor bh, bh ; 30 ff 4532 4543 cmp bx, word [bp-01ah] ; 3b 5e e6 4533 jne short 02 4eah ; 75 064544 jne short 0250dh ; 75 06 4534 4545 mov byte [bp-006h], bh ; 88 7e fa 4535 4546 inc byte [bp-008h] ; fe 46 f8 … … 4538 4549 mov ax, word [bp-018h] ; 8b 46 e8 4539 4550 cmp bx, ax ; 39 c3 4540 jne short 025 67h ; 75 714551 jne short 0258ah ; 75 71 4541 4552 mov bl, byte [bp-00ah] ; 8a 5e f6 4542 4553 xor bh, ah ; 30 e7 … … 4552 4563 ; dec al ; fe c8 4553 4564 mov byte [bp-012h], al ; 88 46 ee 4554 cmp byte [si+0463 0h], 000h ; 80 bc 3046 004555 jne short 025 69h ; 75 514565 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 4566 jne short 0258ch ; 75 51 4556 4567 mov ax, word [bp-01ah] ; 8b 46 e6 4557 4568 mul word [bp-018h] ; f7 66 e8 … … 4574 4585 add dx, ax ; 01 c2 4575 4586 inc dx ; 42 4576 mov ax, word [si+0463 3h] ; 8b 84 33464577 call 031 9bh ; e8 51 0c4587 mov ax, word [si+04638h] ; 8b 84 38 46 4588 call 031beh ; e8 51 0c 4578 4589 mov dx, strict word 00001h ; ba 01 00 4579 4590 push dx ; 52 … … 4589 4600 xor bl, al ; 30 c3 4590 4601 mov ax, strict word 00001h ; b8 01 00 4591 jmp short 025 81h ; eb 1a4592 jmp short 025 87h ; eb 1e4602 jmp short 025a4h ; eb 1a 4603 jmp short 025aah ; eb 1e 4593 4604 mov ax, strict word 00001h ; b8 01 00 4594 4605 push ax ; 50 … … 4603 4614 xor bl, bl ; 30 db 4604 4615 xor dx, dx ; 31 d2 4605 call 016 55h ; e8 d1 f04616 call 01678h ; e8 d1 f0 4606 4617 dec byte [bp-008h] ; fe 4e f8 4607 4618 mov bl, byte [bp-008h] ; 8a 5e f8 … … 4615 4626 mov bl, byte [bp-014h] ; 8a 5e ec 4616 4627 mov ax, bx ; 89 d8 4617 call 00e91h ; e8 ece84628 call 00e91h ; e8 c9 e8 4618 4629 lea sp, [bp-004h] ; 8d 66 fc 4619 4630 pop di ; 5f … … 4621 4632 pop bp ; 5d 4622 4633 retn ; c3 4623 get_font_access_: ; 0xc25 acLB 0x2c4634 get_font_access_: ; 0xc25cf LB 0x2c 4624 4635 push bp ; 55 4625 4636 mov bp, sp ; 89 e5 … … 4645 4656 pop bp ; 5d 4646 4657 retn ; c3 4647 release_font_access_: ; 0xc25 d8LB 0x3f4658 release_font_access_: ; 0xc25fb LB 0x3f 4648 4659 push bp ; 55 4649 4660 mov bp, sp ; 89 e5 … … 4679 4690 pop bp ; 5d 4680 4691 retn ; c3 4681 set_scan_lines_: ; 0xc26 17LB 0xc84692 set_scan_lines_: ; 0xc263a LB 0xc8 4682 4693 push bp ; 55 4683 4694 mov bp, sp ; 89 e5 … … 4690 4701 mov dx, strict word 00063h ; ba 63 00 4691 4702 mov ax, strict word 00040h ; b8 40 00 4692 call 031 b7h ; e8 8d 0b4703 call 031dah ; e8 8d 0b 4693 4704 mov dx, ax ; 89 c2 4694 4705 mov si, ax ; 89 c6 … … 4707 4718 out DX, AL ; ee 4708 4719 cmp bl, 008h ; 80 fb 08 4709 jne short 026 4eh ; 75 084720 jne short 02671h ; 75 08 4710 4721 mov dx, strict word 00007h ; ba 07 00 4711 4722 mov ax, strict word 00006h ; b8 06 00 4712 jmp short 026 5bh ; eb 0d4723 jmp short 0267eh ; eb 0d 4713 4724 mov dl, bl ; 88 da 4714 4725 sub dl, 003h ; 80 ea 03 … … 4717 4728 sub AL, strict byte 004h ; 2c 04 4718 4729 xor ah, ah ; 30 e4 4719 call 00ddeh ; e8 80e74730 call 00ddeh ; e8 5d e7 4720 4731 mov byte [bp-00ah], bl ; 88 5e f6 4721 4732 mov byte [bp-009h], 000h ; c6 46 f7 00 … … 4723 4734 mov dx, 00085h ; ba 85 00 4724 4735 mov ax, strict word 00040h ; b8 40 00 4725 call 031 c5h ; e8 54 0b4736 call 031e8h ; e8 54 0b 4726 4737 mov AL, strict byte 012h ; b0 12 4727 4738 mov dx, si ; 89 f2 … … 4761 4772 mov dx, 00084h ; ba 84 00 4762 4773 mov ax, strict word 00040h ; b8 40 00 4763 call 031 a9h ; e8 f1 0a4774 call 031cch ; e8 f1 0a 4764 4775 mov dx, strict word 0004ah ; ba 4a 00 4765 4776 mov ax, strict word 00040h ; b8 40 00 4766 call 031 b7h ; e8 f6 0a4777 call 031dah ; e8 f6 0a 4767 4778 mov dx, ax ; 89 c2 4768 4779 mov al, cl ; 88 c8 … … 4773 4784 mov dx, strict word 0004ch ; ba 4c 00 4774 4785 mov ax, strict word 00040h ; b8 40 00 4775 call 031 c5h ; e8 ef 0a4786 call 031e8h ; e8 ef 0a 4776 4787 lea sp, [bp-008h] ; 8d 66 f8 4777 4788 pop si ; 5e … … 4781 4792 pop bp ; 5d 4782 4793 retn ; c3 4783 biosfn_load_text_user_pat_: ; 0xc2 6dfLB 0x854794 biosfn_load_text_user_pat_: ; 0xc2702 LB 0x85 4784 4795 push bp ; 55 4785 4796 mov bp, sp ; 89 e5 … … 4791 4802 mov word [bp-00ah], bx ; 89 5e f6 4792 4803 mov word [bp-00ch], cx ; 89 4e f4 4793 call 025 ach ; e8 b6 fe4804 call 025cfh ; e8 b6 fe 4794 4805 mov al, byte [bp+006h] ; 8a 46 06 4795 4806 and AL, strict byte 003h ; 24 03 … … 4806 4817 xor bx, bx ; 31 db 4807 4818 cmp bx, word [bp-00ch] ; 3b 5e f4 4808 jnc short 027 4ah ; 73 324819 jnc short 0276dh ; 73 32 4809 4820 mov al, byte [bp+008h] ; 8a 46 08 4810 4821 xor ah, ah ; 30 e4 … … 4824 4835 mov es, ax ; 8e c0 4825 4836 cld ; fc 4826 jcxz 027 47h ; e3 064837 jcxz 0276ah ; e3 06 4827 4838 push DS ; 1e 4828 4839 mov ds, dx ; 8e da … … 4830 4841 pop DS ; 1f 4831 4842 inc bx ; 43 4832 jmp short 027 13h ; eb c94833 call 025 d8h ; e8 8b fe4843 jmp short 02736h ; eb c9 4844 call 025fbh ; e8 8b fe 4834 4845 cmp byte [bp-006h], 010h ; 80 7e fa 10 4835 jc short 027 5bh ; 72 084846 jc short 0277eh ; 72 08 4836 4847 mov al, byte [bp+008h] ; 8a 46 08 4837 4848 xor ah, ah ; 30 e4 4838 call 026 17h ; e8 bc fe4849 call 0263ah ; e8 bc fe 4839 4850 lea sp, [bp-004h] ; 8d 66 fc 4840 4851 pop di ; 5f … … 4842 4853 pop bp ; 5d 4843 4854 retn 00006h ; c2 06 00 4844 biosfn_load_text_8_14_pat_: ; 0xc27 64LB 0x764855 biosfn_load_text_8_14_pat_: ; 0xc2787 LB 0x76 4845 4856 push bp ; 55 4846 4857 mov bp, sp ; 89 e5 … … 4852 4863 push ax ; 50 4853 4864 mov byte [bp-00ah], al ; 88 46 f6 4854 call 025 ach ; e8 39 fe4865 call 025cfh ; e8 39 fe 4855 4866 mov al, dl ; 88 d0 4856 4867 and AL, strict byte 003h ; 24 03 … … 4866 4877 mov word [bp-00ch], bx ; 89 5e f4 4867 4878 xor bx, bx ; 31 db 4868 jmp short 027 96h ; eb 064879 jmp short 027b9h ; eb 06 4869 4880 cmp bx, 00100h ; 81 fb 00 01 4870 jnc short 027 c2h ; 73 2c4881 jnc short 027e5h ; 73 2c 4871 4882 mov ax, bx ; 89 d8 4872 4883 mov si, strict word 0000eh ; be 0e 00 … … 4876 4887 sal di, CL ; d3 e7 4877 4888 add di, word [bp-00ch] ; 03 7e f4 4878 mov si, 05b edh ; be ed5b4889 mov si, 05bf2h ; be f2 5b 4879 4890 add si, ax ; 01 c6 4880 4891 mov cx, strict word 0000eh ; b9 0e 00 … … 4883 4894 mov es, ax ; 8e c0 4884 4895 cld ; fc 4885 jcxz 027 bfh ; e3 064896 jcxz 027e2h ; e3 06 4886 4897 push DS ; 1e 4887 4898 mov ds, dx ; 8e da … … 4889 4900 pop DS ; 1f 4890 4901 inc bx ; 43 4891 jmp short 027 90h ; eb ce4892 call 025 d8h ; e8 13 fe4902 jmp short 027b3h ; eb ce 4903 call 025fbh ; e8 13 fe 4893 4904 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4894 jc short 027 d1h ; 72 064905 jc short 027f4h ; 72 06 4895 4906 mov ax, strict word 0000eh ; b8 0e 00 4896 call 026 17h ; e8 46 fe4907 call 0263ah ; e8 46 fe 4897 4908 lea sp, [bp-008h] ; 8d 66 f8 4898 4909 pop di ; 5f … … 4902 4913 pop bp ; 5d 4903 4914 retn ; c3 4904 biosfn_load_text_8_8_pat_: ; 0xc27 daLB 0x744915 biosfn_load_text_8_8_pat_: ; 0xc27fd LB 0x74 4905 4916 push bp ; 55 4906 4917 mov bp, sp ; 89 e5 … … 4912 4923 push ax ; 50 4913 4924 mov byte [bp-00ah], al ; 88 46 f6 4914 call 025 ach ; e8 c3 fd4925 call 025cfh ; e8 c3 fd 4915 4926 mov al, dl ; 88 d0 4916 4927 and AL, strict byte 003h ; 24 03 … … 4926 4937 mov word [bp-00ch], bx ; 89 5e f4 4927 4938 xor bx, bx ; 31 db 4928 jmp short 028 0ch ; eb 064939 jmp short 0282fh ; eb 06 4929 4940 cmp bx, 00100h ; 81 fb 00 01 4930 jnc short 028 36h ; 73 2a4941 jnc short 02859h ; 73 2a 4931 4942 mov CL, strict byte 003h ; b1 03 4932 4943 mov si, bx ; 89 de … … 4936 4947 sal di, CL ; d3 e7 4937 4948 add di, word [bp-00ch] ; 03 7e f4 4938 add si, 053 edh ; 81 c6 ed534949 add si, 053f2h ; 81 c6 f2 53 4939 4950 mov cx, strict word 00008h ; b9 08 00 4940 4951 mov dx, 0c000h ; ba 00 c0 … … 4942 4953 mov es, ax ; 8e c0 4943 4954 cld ; fc 4944 jcxz 028 33h ; e3 064955 jcxz 02856h ; e3 06 4945 4956 push DS ; 1e 4946 4957 mov ds, dx ; 8e da … … 4948 4959 pop DS ; 1f 4949 4960 inc bx ; 43 4950 jmp short 028 06h ; eb d04951 call 025 d8h ; e8 9f fd4961 jmp short 02829h ; eb d0 4962 call 025fbh ; e8 9f fd 4952 4963 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4953 jc short 028 45h ; 72 064964 jc short 02868h ; 72 06 4954 4965 mov ax, strict word 00008h ; b8 08 00 4955 call 026 17h ; e8 d2 fd4966 call 0263ah ; e8 d2 fd 4956 4967 lea sp, [bp-008h] ; 8d 66 f8 4957 4968 pop di ; 5f … … 4961 4972 pop bp ; 5d 4962 4973 retn ; c3 4963 biosfn_load_text_8_16_pat_: ; 0xc28 4eLB 0x744974 biosfn_load_text_8_16_pat_: ; 0xc2871 LB 0x74 4964 4975 push bp ; 55 4965 4976 mov bp, sp ; 89 e5 … … 4971 4982 push ax ; 50 4972 4983 mov byte [bp-00ah], al ; 88 46 f6 4973 call 025 ach ; e8 4f fd4984 call 025cfh ; e8 4f fd 4974 4985 mov al, dl ; 88 d0 4975 4986 and AL, strict byte 003h ; 24 03 … … 4985 4996 mov word [bp-00ch], bx ; 89 5e f4 4986 4997 xor bx, bx ; 31 db 4987 jmp short 028 80h ; eb 064998 jmp short 028a3h ; eb 06 4988 4999 cmp bx, 00100h ; 81 fb 00 01 4989 jnc short 028 aah ; 73 2a5000 jnc short 028cdh ; 73 2a 4990 5001 mov CL, strict byte 004h ; b1 04 4991 5002 mov si, bx ; 89 de … … 4995 5006 sal di, CL ; d3 e7 4996 5007 add di, word [bp-00ch] ; 03 7e f4 4997 add si, 069 edh ; 81 c6 ed695008 add si, 069f2h ; 81 c6 f2 69 4998 5009 mov cx, strict word 00010h ; b9 10 00 4999 5010 mov dx, 0c000h ; ba 00 c0 … … 5001 5012 mov es, ax ; 8e c0 5002 5013 cld ; fc 5003 jcxz 028 a7h ; e3 065014 jcxz 028cah ; e3 06 5004 5015 push DS ; 1e 5005 5016 mov ds, dx ; 8e da … … 5007 5018 pop DS ; 1f 5008 5019 inc bx ; 43 5009 jmp short 028 7ah ; eb d05010 call 025 d8h ; e8 2b fd5020 jmp short 0289dh ; eb d0 5021 call 025fbh ; e8 2b fd 5011 5022 cmp byte [bp-00ah], 010h ; 80 7e f6 10 5012 jc short 028 b9h ; 72 065023 jc short 028dch ; 72 06 5013 5024 mov ax, strict word 00010h ; b8 10 00 5014 call 026 17h ; e8 5e fd5025 call 0263ah ; e8 5e fd 5015 5026 lea sp, [bp-008h] ; 8d 66 f8 5016 5027 pop di ; 5f … … 5020 5031 pop bp ; 5d 5021 5032 retn ; c3 5022 biosfn_load_gfx_8_8_chars_: ; 0xc28 c2LB 0x55033 biosfn_load_gfx_8_8_chars_: ; 0xc28e5 LB 0x5 5023 5034 push bp ; 55 5024 5035 mov bp, sp ; 89 e5 5025 5036 pop bp ; 5d 5026 5037 retn ; c3 5027 biosfn_load_gfx_user_chars_: ; 0xc28 c7LB 0x75038 biosfn_load_gfx_user_chars_: ; 0xc28ea LB 0x7 5028 5039 push bp ; 55 5029 5040 mov bp, sp ; 89 e5 5030 5041 pop bp ; 5d 5031 5042 retn 00002h ; c2 02 00 5032 biosfn_load_gfx_8_14_chars_: ; 0xc28 ceLB 0x55043 biosfn_load_gfx_8_14_chars_: ; 0xc28f1 LB 0x5 5033 5044 push bp ; 55 5034 5045 mov bp, sp ; 89 e5 5035 5046 pop bp ; 5d 5036 5047 retn ; c3 5037 biosfn_load_gfx_8_8_dd_chars_: ; 0xc28 d3LB 0x55048 biosfn_load_gfx_8_8_dd_chars_: ; 0xc28f6 LB 0x5 5038 5049 push bp ; 55 5039 5050 mov bp, sp ; 89 e5 5040 5051 pop bp ; 5d 5041 5052 retn ; c3 5042 biosfn_load_gfx_8_16_chars_: ; 0xc28 d8LB 0x55053 biosfn_load_gfx_8_16_chars_: ; 0xc28fb LB 0x5 5043 5054 push bp ; 55 5044 5055 mov bp, sp ; 89 e5 5045 5056 pop bp ; 5d 5046 5057 retn ; c3 5047 biosfn_alternate_prtsc_: ; 0xc2 8ddLB 0x55058 biosfn_alternate_prtsc_: ; 0xc2900 LB 0x5 5048 5059 push bp ; 55 5049 5060 mov bp, sp ; 89 e5 5050 5061 pop bp ; 5d 5051 5062 retn ; c3 5052 biosfn_switch_video_interface_: ; 0xc2 8e2LB 0x55063 biosfn_switch_video_interface_: ; 0xc2905 LB 0x5 5053 5064 push bp ; 55 5054 5065 mov bp, sp ; 89 e5 5055 5066 pop bp ; 5d 5056 5067 retn ; c3 5057 biosfn_enable_video_refresh_control_: ; 0xc2 8e7LB 0x55068 biosfn_enable_video_refresh_control_: ; 0xc290a LB 0x5 5058 5069 push bp ; 55 5059 5070 mov bp, sp ; 89 e5 5060 5071 pop bp ; 5d 5061 5072 retn ; c3 5062 biosfn_write_string_: ; 0xc2 8ecLB 0x965073 biosfn_write_string_: ; 0xc290f LB 0x96 5063 5074 push bp ; 55 5064 5075 mov bp, sp ; 89 e5 … … 5075 5086 lea bx, [bp-00eh] ; 8d 5e f2 5076 5087 lea dx, [bp-00ch] ; 8d 56 f4 5077 call 00a8ch ; e8 7de15088 call 00a8ch ; e8 5a e1 5078 5089 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 5079 jne short 029 21h ; 75 0c5090 jne short 02944h ; 75 0c 5080 5091 mov al, byte [bp-00eh] ; 8a 46 f2 5081 5092 mov byte [bp+006h], al ; 88 46 06 … … 5086 5097 xor ah, ah ; 30 e4 5087 5098 mov al, byte [bp-00ah] ; 8a 46 f6 5088 call 00e91h ; e8 62e55099 call 00e91h ; e8 3f e5 5089 5100 dec si ; 4e 5090 5101 cmp si, strict byte 0ffffh ; 83 fe ff 5091 je short 029 68h ; 74 335102 je short 0298bh ; 74 33 5092 5103 mov dx, di ; 89 fa 5093 5104 inc di ; 47 5094 5105 mov ax, word [bp+008h] ; 8b 46 08 5095 call 031 9bh ; e8 5d 085106 call 031beh ; e8 5d 08 5096 5107 mov cl, al ; 88 c1 5097 5108 test byte [bp-008h], 002h ; f6 46 f8 02 5098 je short 029 52h ; 74 0c5109 je short 02975h ; 74 0c 5099 5110 mov dx, di ; 89 fa 5100 5111 inc di ; 47 5101 5112 mov ax, word [bp+008h] ; 8b 46 08 5102 call 031 9bh ; e8 4c 085113 call 031beh ; e8 4c 08 5103 5114 mov byte [bp-006h], al ; 88 46 fa 5104 5115 mov al, byte [bp-006h] ; 8a 46 fa … … 5109 5120 mov al, cl ; 88 c8 5110 5121 mov cx, strict word 00003h ; b9 03 00 5111 call 023 4dh ; e8 e7 f95112 jmp short 029 2fh ; eb c75122 call 02370h ; e8 e7 f9 5123 jmp short 02952h ; eb c7 5113 5124 test byte [bp-008h], 001h ; f6 46 f8 01 5114 jne short 029 79h ; 75 0b5125 jne short 0299ch ; 75 0b 5115 5126 mov dx, word [bp-00eh] ; 8b 56 f2 5116 5127 mov al, byte [bp-00ah] ; 8a 46 f6 5117 5128 xor ah, ah ; 30 e4 5118 call 00e91h ; e8 18 e55129 call 00e91h ; e8 f5 e4 5119 5130 lea sp, [bp-004h] ; 8d 66 fc 5120 5131 pop di ; 5f … … 5122 5133 pop bp ; 5d 5123 5134 retn 00008h ; c2 08 00 5124 biosfn_read_state_info_: ; 0xc29 82LB 0x1025135 biosfn_read_state_info_: ; 0xc29a5 LB 0x102 5125 5136 push bp ; 55 5126 5137 mov bp, sp ; 89 e5 … … 5131 5142 push bx ; 53 5132 5143 mov cx, ds ; 8c d9 5133 mov bx, 0538 3h ; bb 83535144 mov bx, 05388h ; bb 88 53 5134 5145 mov dx, word [bp-00ah] ; 8b 56 f6 5135 5146 mov ax, word [bp-008h] ; 8b 46 f8 5136 call 03 1e5h ; e8 4d 085147 call 03208h ; e8 4d 08 5137 5148 mov di, word [bp-00ah] ; 8b 7e f6 5138 5149 add di, strict byte 00004h ; 83 c7 04 … … 5142 5153 mov es, [bp-008h] ; 8e 46 f8 5143 5154 cld ; fc 5144 jcxz 029 b3h ; e3 065155 jcxz 029d6h ; e3 06 5145 5156 push DS ; 1e 5146 5157 mov ds, dx ; 8e da … … 5154 5165 mov es, [bp-008h] ; 8e 46 f8 5155 5166 cld ; fc 5156 jcxz 029 ceh ; e3 065167 jcxz 029f1h ; e3 06 5157 5168 push DS ; 1e 5158 5169 mov ds, dx ; 8e da … … 5161 5172 mov dx, 0008ah ; ba 8a 00 5162 5173 mov ax, strict word 00040h ; b8 40 00 5163 call 031 9bh ; e8 c4 075174 call 031beh ; e8 c4 07 5164 5175 mov bl, al ; 88 c3 5165 5176 xor bh, bh ; 30 ff … … 5167 5178 add dx, strict byte 00025h ; 83 c2 25 5168 5179 mov ax, word [bp-008h] ; 8b 46 f8 5169 call 031 a9h ; e8 c2 075180 call 031cch ; e8 c2 07 5170 5181 mov dx, word [bp-00ah] ; 8b 56 f6 5171 5182 add dx, strict byte 00026h ; 83 c2 26 5172 5183 xor bx, bx ; 31 db 5173 5184 mov ax, word [bp-008h] ; 8b 46 f8 5174 call 031 a9h ; e8 b4 075185 call 031cch ; e8 b4 07 5175 5186 mov dx, word [bp-00ah] ; 8b 56 f6 5176 5187 add dx, strict byte 00027h ; 83 c2 27 5177 5188 mov bx, strict word 00010h ; bb 10 00 5178 5189 mov ax, word [bp-008h] ; 8b 46 f8 5179 call 031 a9h ; e8 a5 075190 call 031cch ; e8 a5 07 5180 5191 mov dx, word [bp-00ah] ; 8b 56 f6 5181 5192 add dx, strict byte 00028h ; 83 c2 28 5182 5193 xor bx, bx ; 31 db 5183 5194 mov ax, word [bp-008h] ; 8b 46 f8 5184 call 031 a9h ; e8 97 075195 call 031cch ; e8 97 07 5185 5196 mov dx, word [bp-00ah] ; 8b 56 f6 5186 5197 add dx, strict byte 00029h ; 83 c2 29 5187 5198 mov bx, strict word 00008h ; bb 08 00 5188 5199 mov ax, word [bp-008h] ; 8b 46 f8 5189 call 031 a9h ; e8 88 075200 call 031cch ; e8 88 07 5190 5201 mov dx, word [bp-00ah] ; 8b 56 f6 5191 5202 add dx, strict byte 0002ah ; 83 c2 2a 5192 5203 mov bx, strict word 00002h ; bb 02 00 5193 5204 mov ax, word [bp-008h] ; 8b 46 f8 5194 call 031 a9h ; e8 79 075205 call 031cch ; e8 79 07 5195 5206 mov dx, word [bp-00ah] ; 8b 56 f6 5196 5207 add dx, strict byte 0002bh ; 83 c2 2b 5197 5208 xor bx, bx ; 31 db 5198 5209 mov ax, word [bp-008h] ; 8b 46 f8 5199 call 031 a9h ; e8 6b 075210 call 031cch ; e8 6b 07 5200 5211 mov dx, word [bp-00ah] ; 8b 56 f6 5201 5212 add dx, strict byte 0002ch ; 83 c2 2c 5202 5213 xor bx, bx ; 31 db 5203 5214 mov ax, word [bp-008h] ; 8b 46 f8 5204 call 031 a9h ; e8 5d 075215 call 031cch ; e8 5d 07 5205 5216 mov dx, word [bp-00ah] ; 8b 56 f6 5206 5217 add dx, strict byte 00031h ; 83 c2 31 5207 5218 mov bx, strict word 00003h ; bb 03 00 5208 5219 mov ax, word [bp-008h] ; 8b 46 f8 5209 call 031 a9h ; e8 4e 075220 call 031cch ; e8 4e 07 5210 5221 mov dx, word [bp-00ah] ; 8b 56 f6 5211 5222 add dx, strict byte 00032h ; 83 c2 32 5212 5223 xor bx, bx ; 31 db 5213 5224 mov ax, word [bp-008h] ; 8b 46 f8 5214 call 031 a9h ; e8 40 075225 call 031cch ; e8 40 07 5215 5226 mov di, word [bp-00ah] ; 8b 7e f6 5216 5227 add di, strict byte 00033h ; 83 c7 33 … … 5219 5230 mov es, [bp-008h] ; 8e 46 f8 5220 5231 cld ; fc 5221 jcxz 02a 7ch ; e3 025232 jcxz 02a9fh ; e3 02 5222 5233 rep stosb ; f3 aa 5223 5234 lea sp, [bp-006h] ; 8d 66 fa … … 5227 5238 pop bp ; 5d 5228 5239 retn ; c3 5229 biosfn_read_video_state_size2_: ; 0xc2a 84LB 0x235240 biosfn_read_video_state_size2_: ; 0xc2aa7 LB 0x23 5230 5241 push dx ; 52 5231 5242 push bp ; 55 … … 5234 5245 xor ax, ax ; 31 c0 5235 5246 test dl, 001h ; f6 c2 01 5236 je short 02a 94h ; 74 035247 je short 02ab7h ; 74 03 5237 5248 mov ax, strict word 00046h ; b8 46 00 5238 5249 test dl, 002h ; f6 c2 02 5239 je short 02a 9ch ; 74 035250 je short 02abfh ; 74 03 5240 5251 add ax, strict word 0002ah ; 05 2a 00 5241 5252 test dl, 004h ; f6 c2 04 5242 je short 02a a4h ; 74 035253 je short 02ac7h ; 74 03 5243 5254 add ax, 00304h ; 05 04 03 5244 5255 pop bp ; 5d 5245 5256 pop dx ; 5a 5246 5257 retn ; c3 5247 vga_get_video_state_size_: ; 0xc2a a7LB 0x125258 vga_get_video_state_size_: ; 0xc2aca LB 0x12 5248 5259 push bp ; 55 5249 5260 mov bp, sp ; 89 e5 5250 5261 push bx ; 53 5251 5262 mov bx, dx ; 89 d3 5252 call 02a 84h ; e8 d4 ff5263 call 02aa7h ; e8 d4 ff 5253 5264 mov word [ss:bx], ax ; 36 89 07 5254 5265 lea sp, [bp-002h] ; 8d 66 fe … … 5256 5267 pop bp ; 5d 5257 5268 retn ; c3 5258 biosfn_save_video_state_: ; 0xc2a b9LB 0x3815269 biosfn_save_video_state_: ; 0xc2adc LB 0x381 5259 5270 push bp ; 55 5260 5271 mov bp, sp ; 89 e5 … … 5269 5280 mov dx, strict word 00063h ; ba 63 00 5270 5281 mov ax, strict word 00040h ; b8 40 00 5271 call 031 b7h ; e8 e8 065282 call 031dah ; e8 e8 06 5272 5283 mov di, ax ; 89 c7 5273 5284 test byte [bp-00ch], 001h ; f6 46 f4 01 5274 je short 02b 45h ; 74 6e5285 je short 02b68h ; 74 6e 5275 5286 mov dx, 003c4h ; ba c4 03 5276 5287 in AL, DX ; ec … … 5281 5292 mov dx, cx ; 89 ca 5282 5293 mov ax, si ; 89 f0 5283 call 031 a9h ; e8 c1 065294 call 031cch ; e8 c1 06 5284 5295 inc cx ; 41 5285 5296 mov dx, di ; 89 fa … … 5291 5302 mov dx, cx ; 89 ca 5292 5303 mov ax, si ; 89 f0 5293 call 031 a9h ; e8 b0 065304 call 031cch ; e8 b0 06 5294 5305 inc cx ; 41 5295 5306 mov dx, 003ceh ; ba ce 03 … … 5301 5312 mov dx, cx ; 89 ca 5302 5313 mov ax, si ; 89 f0 5303 call 031 a9h ; e8 9e 065314 call 031cch ; e8 9e 06 5304 5315 inc cx ; 41 5305 5316 mov dx, 003dah ; ba da 03 … … 5317 5328 mov dx, cx ; 89 ca 5318 5329 mov ax, si ; 89 f0 5319 call 031 a9h ; e8 80 065330 call 031cch ; e8 80 06 5320 5331 inc cx ; 41 5321 5332 mov dx, 003cah ; ba ca 03 … … 5327 5338 mov dx, cx ; 89 ca 5328 5339 mov ax, si ; 89 f0 5329 call 031 a9h ; e8 6e 065340 call 031cch ; e8 6e 06 5330 5341 mov ax, strict word 00001h ; b8 01 00 5331 5342 mov word [bp-00ah], ax ; 89 46 f6 5332 5343 add cx, ax ; 01 c1 5333 jmp short 02b 4eh ; eb 095334 jmp near 02c 49h ; e9 01 015344 jmp short 02b71h ; eb 09 5345 jmp near 02c6ch ; e9 01 01 5335 5346 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 5336 jnbe short 02b 6ch ; 77 1e5347 jnbe short 02b8fh ; 77 1e 5337 5348 mov al, byte [bp-00ah] ; 8a 46 f6 5338 5349 mov dx, 003c4h ; ba c4 03 … … 5346 5357 mov dx, cx ; 89 ca 5347 5358 mov ax, si ; 89 f0 5348 call 031 a9h ; e8 43 065359 call 031cch ; e8 43 06 5349 5360 inc cx ; 41 5350 5361 inc word [bp-00ah] ; ff 46 f6 5351 jmp short 02b 48h ; eb dc5362 jmp short 02b6bh ; eb dc 5352 5363 xor al, al ; 30 c0 5353 5364 mov dx, 003c4h ; ba c4 03 … … 5361 5372 mov dx, cx ; 89 ca 5362 5373 mov ax, si ; 89 f0 5363 call 031 a9h ; e8 26 065374 call 031cch ; e8 26 06 5364 5375 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5365 5376 inc cx ; 41 5366 jmp short 02b 91h ; eb 065377 jmp short 02bb4h ; eb 06 5367 5378 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 5368 jnbe short 02b aeh ; 77 1d5379 jnbe short 02bd1h ; 77 1d 5369 5380 mov al, byte [bp-00ah] ; 8a 46 f6 5370 5381 mov dx, di ; 89 fa … … 5378 5389 mov dx, cx ; 89 ca 5379 5390 mov ax, si ; 89 f0 5380 call 031 a9h ; e8 01 065391 call 031cch ; e8 01 06 5381 5392 inc cx ; 41 5382 5393 inc word [bp-00ah] ; ff 46 f6 5383 jmp short 02b 8bh ; eb dd5394 jmp short 02baeh ; eb dd 5384 5395 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5385 jmp short 02b bbh ; eb 065396 jmp short 02bdeh ; eb 06 5386 5397 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 5387 jnbe short 02 be5h ; 77 2a5398 jnbe short 02c08h ; 77 2a 5388 5399 mov dx, 003dah ; ba da 03 5389 5400 in AL, DX ; ec … … 5403 5414 mov dx, cx ; 89 ca 5404 5415 mov ax, si ; 89 f0 5405 call 031 a9h ; e8 ca 055416 call 031cch ; e8 ca 05 5406 5417 inc cx ; 41 5407 5418 inc word [bp-00ah] ; ff 46 f6 5408 jmp short 02b b5h ; eb d05419 jmp short 02bd8h ; eb d0 5409 5420 mov dx, 003dah ; ba da 03 5410 5421 in AL, DX ; ec … … 5412 5423 ; sub ah, ah ; 2a e4 5413 5424 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5414 jmp short 02 bf8h ; eb 065425 jmp short 02c1bh ; eb 06 5415 5426 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5416 jnbe short 02c 16h ; 77 1e5427 jnbe short 02c39h ; 77 1e 5417 5428 mov al, byte [bp-00ah] ; 8a 46 f6 5418 5429 mov dx, 003ceh ; ba ce 03 … … 5426 5437 mov dx, cx ; 89 ca 5427 5438 mov ax, si ; 89 f0 5428 call 031 a9h ; e8 99 055439 call 031cch ; e8 99 05 5429 5440 inc cx ; 41 5430 5441 inc word [bp-00ah] ; ff 46 f6 5431 jmp short 02 bf2h ; eb dc5442 jmp short 02c15h ; eb dc 5432 5443 mov bx, di ; 89 fb 5433 5444 mov dx, cx ; 89 ca 5434 5445 mov ax, si ; 89 f0 5435 call 031 c5h ; e8 a6 055446 call 031e8h ; e8 a6 05 5436 5447 inc cx ; 41 5437 5448 inc cx ; 41 … … 5439 5450 mov dx, cx ; 89 ca 5440 5451 mov ax, si ; 89 f0 5441 call 031 a9h ; e8 7f 055452 call 031cch ; e8 7f 05 5442 5453 inc cx ; 41 5443 5454 xor bx, bx ; 31 db 5444 5455 mov dx, cx ; 89 ca 5445 5456 mov ax, si ; 89 f0 5446 call 031 a9h ; e8 75 055457 call 031cch ; e8 75 05 5447 5458 inc cx ; 41 5448 5459 xor bx, bx ; 31 db 5449 5460 mov dx, cx ; 89 ca 5450 5461 mov ax, si ; 89 f0 5451 call 031 a9h ; e8 6b 055462 call 031cch ; e8 6b 05 5452 5463 inc cx ; 41 5453 5464 xor bx, bx ; 31 db 5454 5465 mov dx, cx ; 89 ca 5455 5466 mov ax, si ; 89 f0 5456 call 031 a9h ; e8 61 055467 call 031cch ; e8 61 05 5457 5468 inc cx ; 41 5458 5469 test byte [bp-00ch], 002h ; f6 46 f4 02 5459 jne short 02c 52h ; 75 035460 jmp near 02d bfh ; e9 6d 015470 jne short 02c75h ; 75 03 5471 jmp near 02de2h ; e9 6d 01 5461 5472 mov dx, strict word 00049h ; ba 49 00 5462 5473 mov ax, strict word 00040h ; b8 40 00 5463 call 031 9bh ; e8 40 055474 call 031beh ; e8 40 05 5464 5475 xor ah, ah ; 30 e4 5465 5476 mov bx, ax ; 89 c3 5466 5477 mov dx, cx ; 89 ca 5467 5478 mov ax, si ; 89 f0 5468 call 031 a9h ; e8 43 055479 call 031cch ; e8 43 05 5469 5480 inc cx ; 41 5470 5481 mov dx, strict word 0004ah ; ba 4a 00 5471 5482 mov ax, strict word 00040h ; b8 40 00 5472 call 031 b7h ; e8 47 055483 call 031dah ; e8 47 05 5473 5484 mov bx, ax ; 89 c3 5474 5485 mov dx, cx ; 89 ca 5475 5486 mov ax, si ; 89 f0 5476 call 031 c5h ; e8 4c 055487 call 031e8h ; e8 4c 05 5477 5488 inc cx ; 41 5478 5489 inc cx ; 41 5479 5490 mov dx, strict word 0004ch ; ba 4c 00 5480 5491 mov ax, strict word 00040h ; b8 40 00 5481 call 031 b7h ; e8 33 055492 call 031dah ; e8 33 05 5482 5493 mov bx, ax ; 89 c3 5483 5494 mov dx, cx ; 89 ca 5484 5495 mov ax, si ; 89 f0 5485 call 031 c5h ; e8 38 055496 call 031e8h ; e8 38 05 5486 5497 inc cx ; 41 5487 5498 inc cx ; 41 5488 5499 mov dx, strict word 00063h ; ba 63 00 5489 5500 mov ax, strict word 00040h ; b8 40 00 5490 call 031 b7h ; e8 1f 055501 call 031dah ; e8 1f 05 5491 5502 mov bx, ax ; 89 c3 5492 5503 mov dx, cx ; 89 ca 5493 5504 mov ax, si ; 89 f0 5494 call 031 c5h ; e8 24 055505 call 031e8h ; e8 24 05 5495 5506 inc cx ; 41 5496 5507 inc cx ; 41 5497 5508 mov dx, 00084h ; ba 84 00 5498 5509 mov ax, strict word 00040h ; b8 40 00 5499 call 031 9bh ; e8 ef 045510 call 031beh ; e8 ef 04 5500 5511 xor ah, ah ; 30 e4 5501 5512 mov bx, ax ; 89 c3 5502 5513 mov dx, cx ; 89 ca 5503 5514 mov ax, si ; 89 f0 5504 call 031 a9h ; e8 f2 045515 call 031cch ; e8 f2 04 5505 5516 inc cx ; 41 5506 5517 mov dx, 00085h ; ba 85 00 5507 5518 mov ax, strict word 00040h ; b8 40 00 5508 call 031 b7h ; e8 f6 045519 call 031dah ; e8 f6 04 5509 5520 mov bx, ax ; 89 c3 5510 5521 mov dx, cx ; 89 ca 5511 5522 mov ax, si ; 89 f0 5512 call 031 c5h ; e8 fb 045523 call 031e8h ; e8 fb 04 5513 5524 inc cx ; 41 5514 5525 inc cx ; 41 5515 5526 mov dx, 00087h ; ba 87 00 5516 5527 mov ax, strict word 00040h ; b8 40 00 5517 call 031 9bh ; e8 c6 045528 call 031beh ; e8 c6 04 5518 5529 xor ah, ah ; 30 e4 5519 5530 mov bx, ax ; 89 c3 5520 5531 mov dx, cx ; 89 ca 5521 5532 mov ax, si ; 89 f0 5522 call 031 a9h ; e8 c9 045533 call 031cch ; e8 c9 04 5523 5534 inc cx ; 41 5524 5535 mov dx, 00088h ; ba 88 00 5525 5536 mov ax, strict word 00040h ; b8 40 00 5526 call 031 9bh ; e8 b1 045537 call 031beh ; e8 b1 04 5527 5538 mov bl, al ; 88 c3 5528 5539 xor bh, bh ; 30 ff 5529 5540 mov dx, cx ; 89 ca 5530 5541 mov ax, si ; 89 f0 5531 call 031 a9h ; e8 b4 045542 call 031cch ; e8 b4 04 5532 5543 inc cx ; 41 5533 5544 mov dx, 00089h ; ba 89 00 5534 5545 mov ax, strict word 00040h ; b8 40 00 5535 call 031 9bh ; e8 9c 045546 call 031beh ; e8 9c 04 5536 5547 xor ah, ah ; 30 e4 5537 5548 mov bx, ax ; 89 c3 5538 5549 mov dx, cx ; 89 ca 5539 5550 mov ax, si ; 89 f0 5540 call 031 a9h ; e8 9f 045551 call 031cch ; e8 9f 04 5541 5552 inc cx ; 41 5542 5553 mov dx, strict word 00060h ; ba 60 00 5543 5554 mov ax, strict word 00040h ; b8 40 00 5544 call 031 b7h ; e8 a3 045555 call 031dah ; e8 a3 04 5545 5556 mov bx, ax ; 89 c3 5546 5557 mov dx, cx ; 89 ca 5547 5558 mov ax, si ; 89 f0 5548 call 031 c5h ; e8 a8 045559 call 031e8h ; e8 a8 04 5549 5560 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5550 5561 inc cx ; 41 5551 5562 inc cx ; 41 5552 jmp short 02d 2ch ; eb 065563 jmp short 02d4fh ; eb 06 5553 5564 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5554 jnc short 02d 4ah ; 73 1e5565 jnc short 02d6dh ; 73 1e 5555 5566 mov dx, word [bp-00ah] ; 8b 56 f6 5556 5567 sal dx, 1 ; d1 e2 5557 5568 add dx, strict byte 00050h ; 83 c2 50 5558 5569 mov ax, strict word 00040h ; b8 40 00 5559 call 031 b7h ; e8 7d 045570 call 031dah ; e8 7d 04 5560 5571 mov bx, ax ; 89 c3 5561 5572 mov dx, cx ; 89 ca 5562 5573 mov ax, si ; 89 f0 5563 call 031 c5h ; e8 82 045574 call 031e8h ; e8 82 04 5564 5575 inc cx ; 41 5565 5576 inc cx ; 41 5566 5577 inc word [bp-00ah] ; ff 46 f6 5567 jmp short 02d 26h ; eb dc5578 jmp short 02d49h ; eb dc 5568 5579 mov dx, strict word 0004eh ; ba 4e 00 5569 5580 mov ax, strict word 00040h ; b8 40 00 5570 call 031 b7h ; e8 64 045581 call 031dah ; e8 64 04 5571 5582 mov bx, ax ; 89 c3 5572 5583 mov dx, cx ; 89 ca 5573 5584 mov ax, si ; 89 f0 5574 call 031 c5h ; e8 69 045585 call 031e8h ; e8 69 04 5575 5586 inc cx ; 41 5576 5587 inc cx ; 41 5577 5588 mov dx, strict word 00062h ; ba 62 00 5578 5589 mov ax, strict word 00040h ; b8 40 00 5579 call 031 9bh ; e8 34 045590 call 031beh ; e8 34 04 5580 5591 xor ah, ah ; 30 e4 5581 5592 mov bx, ax ; 89 c3 5582 5593 mov dx, cx ; 89 ca 5583 5594 mov ax, si ; 89 f0 5584 call 031 a9h ; e8 37 045595 call 031cch ; e8 37 04 5585 5596 inc cx ; 41 5586 5597 mov dx, strict word 0007ch ; ba 7c 00 5587 5598 xor ax, ax ; 31 c0 5588 call 031 b7h ; e8 3c 045599 call 031dah ; e8 3c 04 5589 5600 mov bx, ax ; 89 c3 5590 5601 mov dx, cx ; 89 ca 5591 5602 mov ax, si ; 89 f0 5592 call 031 c5h ; e8 41 045603 call 031e8h ; e8 41 04 5593 5604 inc cx ; 41 5594 5605 inc cx ; 41 5595 5606 mov dx, strict word 0007eh ; ba 7e 00 5596 5607 xor ax, ax ; 31 c0 5597 call 031 b7h ; e8 29 045608 call 031dah ; e8 29 04 5598 5609 mov bx, ax ; 89 c3 5599 5610 mov dx, cx ; 89 ca 5600 5611 mov ax, si ; 89 f0 5601 call 031 c5h ; e8 2e 045612 call 031e8h ; e8 2e 04 5602 5613 inc cx ; 41 5603 5614 inc cx ; 41 5604 5615 mov dx, 0010ch ; ba 0c 01 5605 5616 xor ax, ax ; 31 c0 5606 call 031 b7h ; e8 16 045617 call 031dah ; e8 16 04 5607 5618 mov bx, ax ; 89 c3 5608 5619 mov dx, cx ; 89 ca 5609 5620 mov ax, si ; 89 f0 5610 call 031 c5h ; e8 1b 045621 call 031e8h ; e8 1b 04 5611 5622 inc cx ; 41 5612 5623 inc cx ; 41 5613 5624 mov dx, 0010eh ; ba 0e 01 5614 5625 xor ax, ax ; 31 c0 5615 call 031 b7h ; e8 03 045626 call 031dah ; e8 03 04 5616 5627 mov bx, ax ; 89 c3 5617 5628 mov dx, cx ; 89 ca 5618 5629 mov ax, si ; 89 f0 5619 call 031 c5h ; e8 08 045630 call 031e8h ; e8 08 04 5620 5631 inc cx ; 41 5621 5632 inc cx ; 41 5622 5633 test byte [bp-00ch], 004h ; f6 46 f4 04 5623 je short 02e 30h ; 74 6b5634 je short 02e53h ; 74 6b 5624 5635 mov dx, 003c7h ; ba c7 03 5625 5636 in AL, DX ; ec … … 5630 5641 mov dx, cx ; 89 ca 5631 5642 mov ax, si ; 89 f0 5632 call 031 a9h ; e8 d3 035643 call 031cch ; e8 d3 03 5633 5644 inc cx ; 41 5634 5645 mov dx, 003c8h ; ba c8 03 … … 5640 5651 mov dx, cx ; 89 ca 5641 5652 mov ax, si ; 89 f0 5642 call 031 a9h ; e8 c1 035653 call 031cch ; e8 c1 03 5643 5654 inc cx ; 41 5644 5655 mov dx, 003c6h ; ba c6 03 … … 5650 5661 mov dx, cx ; 89 ca 5651 5662 mov ax, si ; 89 f0 5652 call 031 a9h ; e8 af 035663 call 031cch ; e8 af 03 5653 5664 inc cx ; 41 5654 5665 xor al, al ; 30 c0 … … 5657 5668 xor ah, ah ; 30 e4 5658 5669 mov word [bp-00ah], ax ; 89 46 f6 5659 jmp short 02e 0fh ; eb 075670 jmp short 02e32h ; eb 07 5660 5671 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5661 jnc short 02e 26h ; 73 175672 jnc short 02e49h ; 73 17 5662 5673 mov dx, 003c9h ; ba c9 03 5663 5674 in AL, DX ; ec … … 5668 5679 mov dx, cx ; 89 ca 5669 5680 mov ax, si ; 89 f0 5670 call 031 a9h ; e8 89 035681 call 031cch ; e8 89 03 5671 5682 inc cx ; 41 5672 5683 inc word [bp-00ah] ; ff 46 f6 5673 jmp short 02e 08h ; eb e25684 jmp short 02e2bh ; eb e2 5674 5685 xor bx, bx ; 31 db 5675 5686 mov dx, cx ; 89 ca 5676 5687 mov ax, si ; 89 f0 5677 call 031 a9h ; e8 7a 035688 call 031cch ; e8 7a 03 5678 5689 inc cx ; 41 5679 5690 mov ax, cx ; 89 c8 … … 5684 5695 pop bp ; 5d 5685 5696 retn ; c3 5686 biosfn_restore_video_state_: ; 0xc2e 3aLB 0x3365697 biosfn_restore_video_state_: ; 0xc2e5d LB 0x336 5687 5698 push bp ; 55 5688 5699 mov bp, sp ; 89 e5 … … 5695 5706 mov cx, bx ; 89 d9 5696 5707 test byte [bp-00eh], 001h ; f6 46 f2 01 5697 je short 02e a5h ; 74 575708 je short 02ec8h ; 74 57 5698 5709 mov dx, 003dah ; ba da 03 5699 5710 in AL, DX ; ec … … 5702 5713 lea dx, [bx+040h] ; 8d 57 40 5703 5714 mov ax, si ; 89 f0 5704 call 031 b7h ; e8 5b 035715 call 031dah ; e8 5b 03 5705 5716 mov di, ax ; 89 c7 5706 5717 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 5707 5718 lea cx, [bx+005h] ; 8d 4f 05 5708 jmp short 02e 6eh ; eb 065719 jmp short 02e91h ; eb 06 5709 5720 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 5710 jnbe short 02e 86h ; 77 185721 jnbe short 02ea9h ; 77 18 5711 5722 mov al, byte [bp-00ah] ; 8a 46 f6 5712 5723 mov dx, 003c4h ; ba c4 03 … … 5714 5725 mov dx, cx ; 89 ca 5715 5726 mov ax, si ; 89 f0 5716 call 031 9bh ; e8 1f 035727 call 031beh ; e8 1f 03 5717 5728 mov dx, 003c5h ; ba c5 03 5718 5729 out DX, AL ; ee 5719 5730 inc cx ; 41 5720 5731 inc word [bp-00ah] ; ff 46 f6 5721 jmp short 02e 68h ; eb e25732 jmp short 02e8bh ; eb e2 5722 5733 xor al, al ; 30 c0 5723 5734 mov dx, 003c4h ; ba c4 03 … … 5725 5736 mov dx, cx ; 89 ca 5726 5737 mov ax, si ; 89 f0 5727 call 031 9bh ; e8 08 035738 call 031beh ; e8 08 03 5728 5739 mov dx, 003c5h ; ba c5 03 5729 5740 out DX, AL ; ee … … 5733 5744 out DX, ax ; ef 5734 5745 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5735 jmp short 02e aeh ; eb 095736 jmp near 02f 9bh ; e9 f3 005746 jmp short 02ed1h ; eb 09 5747 jmp near 02fbeh ; e9 f3 00 5737 5748 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 5738 jnbe short 02e cbh ; 77 1d5749 jnbe short 02eeeh ; 77 1d 5739 5750 cmp word [bp-00ah], strict byte 00011h ; 83 7e f6 11 5740 je short 02e c5h ; 74 115751 je short 02ee8h ; 74 11 5741 5752 mov al, byte [bp-00ah] ; 8a 46 f6 5742 5753 mov dx, di ; 89 fa … … 5744 5755 mov dx, cx ; 89 ca 5745 5756 mov ax, si ; 89 f0 5746 call 031 9bh ; e8 da 025757 call 031beh ; e8 da 02 5747 5758 lea dx, [di+001h] ; 8d 55 01 5748 5759 out DX, AL ; ee 5749 5760 inc cx ; 41 5750 5761 inc word [bp-00ah] ; ff 46 f6 5751 jmp short 02e a8h ; eb dd5762 jmp short 02ecbh ; eb dd 5752 5763 mov dx, 003cch ; ba cc 03 5753 5764 in AL, DX ; ec … … 5757 5768 mov word [bp-008h], ax ; 89 46 f8 5758 5769 cmp di, 003d4h ; 81 ff d4 03 5759 jne short 02 ee0h ; 75 045770 jne short 02f03h ; 75 04 5760 5771 or byte [bp-008h], 001h ; 80 4e f8 01 5761 5772 mov al, byte [bp-008h] ; 8a 46 f8 … … 5768 5779 add dx, strict byte 0fff9h ; 83 c2 f9 5769 5780 mov ax, si ; 89 f0 5770 call 031 9bh ; e8 a5 025781 call 031beh ; e8 a5 02 5771 5782 lea dx, [di+001h] ; 8d 55 01 5772 5783 out DX, AL ; ee 5773 5784 lea dx, [bx+003h] ; 8d 57 03 5774 5785 mov ax, si ; 89 f0 5775 call 031 9bh ; e8 99 025786 call 031beh ; e8 99 02 5776 5787 xor ah, ah ; 30 e4 5777 5788 mov word [bp-00ch], ax ; 89 46 f4 … … 5781 5792 ; sub ah, ah ; 2a e4 5782 5793 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5783 jmp short 02f 1ah ; eb 065794 jmp short 02f3dh ; eb 06 5784 5795 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 5785 jnbe short 02f 38h ; 77 1e5796 jnbe short 02f5bh ; 77 1e 5786 5797 mov ax, word [bp-00ch] ; 8b 46 f4 5787 5798 and ax, strict word 00020h ; 25 20 00 … … 5791 5802 mov dx, cx ; 89 ca 5792 5803 mov ax, si ; 89 f0 5793 call 031 9bh ; e8 6d 025804 call 031beh ; e8 6d 02 5794 5805 mov dx, 003c0h ; ba c0 03 5795 5806 out DX, AL ; ee 5796 5807 inc cx ; 41 5797 5808 inc word [bp-00ah] ; ff 46 f6 5798 jmp short 02f 14h ; eb dc5809 jmp short 02f37h ; eb dc 5799 5810 mov al, byte [bp-00ch] ; 8a 46 f4 5800 5811 mov dx, 003c0h ; ba c0 03 … … 5805 5816 ; sub ah, ah ; 2a e4 5806 5817 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5807 jmp short 02f 52h ; eb 065818 jmp short 02f75h ; eb 06 5808 5819 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5809 jnbe short 02f 6ah ; 77 185820 jnbe short 02f8dh ; 77 18 5810 5821 mov al, byte [bp-00ah] ; 8a 46 f6 5811 5822 mov dx, 003ceh ; ba ce 03 … … 5813 5824 mov dx, cx ; 89 ca 5814 5825 mov ax, si ; 89 f0 5815 call 031 9bh ; e8 3b 025826 call 031beh ; e8 3b 02 5816 5827 mov dx, 003cfh ; ba cf 03 5817 5828 out DX, AL ; ee 5818 5829 inc cx ; 41 5819 5830 inc word [bp-00ah] ; ff 46 f6 5820 jmp short 02f 4ch ; eb e25831 jmp short 02f6fh ; eb e2 5821 5832 add cx, strict byte 00006h ; 83 c1 06 5822 5833 mov dx, bx ; 89 da 5823 5834 mov ax, si ; 89 f0 5824 call 031 9bh ; e8 27 025835 call 031beh ; e8 27 02 5825 5836 mov dx, 003c4h ; ba c4 03 5826 5837 out DX, AL ; ee … … 5828 5839 mov dx, bx ; 89 da 5829 5840 mov ax, si ; 89 f0 5830 call 031 9bh ; e8 1b 025841 call 031beh ; e8 1b 02 5831 5842 mov dx, di ; 89 fa 5832 5843 out DX, AL ; ee … … 5834 5845 mov dx, bx ; 89 da 5835 5846 mov ax, si ; 89 f0 5836 call 031 9bh ; e8 10 025847 call 031beh ; e8 10 02 5837 5848 mov dx, 003ceh ; ba ce 03 5838 5849 out DX, AL ; ee 5839 5850 lea dx, [bx+002h] ; 8d 57 02 5840 5851 mov ax, si ; 89 f0 5841 call 031 9bh ; e8 04 025852 call 031beh ; e8 04 02 5842 5853 lea dx, [di+006h] ; 8d 55 06 5843 5854 out DX, AL ; ee 5844 5855 test byte [bp-00eh], 002h ; f6 46 f2 02 5845 jne short 02f a4h ; 75 035846 jmp near 031 19h ; e9 75 015856 jne short 02fc7h ; 75 03 5857 jmp near 0313ch ; e9 75 01 5847 5858 mov dx, cx ; 89 ca 5848 5859 mov ax, si ; 89 f0 5849 call 031 9bh ; e8 f0 015860 call 031beh ; e8 f0 01 5850 5861 xor ah, ah ; 30 e4 5851 5862 mov bx, ax ; 89 c3 5852 5863 mov dx, strict word 00049h ; ba 49 00 5853 5864 mov ax, strict word 00040h ; b8 40 00 5854 call 031 a9h ; e8 f1 015865 call 031cch ; e8 f1 01 5855 5866 inc cx ; 41 5856 5867 mov dx, cx ; 89 ca 5857 5868 mov ax, si ; 89 f0 5858 call 031 b7h ; e8 f7 015869 call 031dah ; e8 f7 01 5859 5870 mov bx, ax ; 89 c3 5860 5871 mov dx, strict word 0004ah ; ba 4a 00 5861 5872 mov ax, strict word 00040h ; b8 40 00 5862 call 031 c5h ; e8 fa 015873 call 031e8h ; e8 fa 01 5863 5874 inc cx ; 41 5864 5875 inc cx ; 41 5865 5876 mov dx, cx ; 89 ca 5866 5877 mov ax, si ; 89 f0 5867 call 031 b7h ; e8 e3 015878 call 031dah ; e8 e3 01 5868 5879 mov bx, ax ; 89 c3 5869 5880 mov dx, strict word 0004ch ; ba 4c 00 5870 5881 mov ax, strict word 00040h ; b8 40 00 5871 call 031 c5h ; e8 e6 015882 call 031e8h ; e8 e6 01 5872 5883 inc cx ; 41 5873 5884 inc cx ; 41 5874 5885 mov dx, cx ; 89 ca 5875 5886 mov ax, si ; 89 f0 5876 call 031 b7h ; e8 cf 015887 call 031dah ; e8 cf 01 5877 5888 mov bx, ax ; 89 c3 5878 5889 mov dx, strict word 00063h ; ba 63 00 5879 5890 mov ax, strict word 00040h ; b8 40 00 5880 call 031 c5h ; e8 d2 015891 call 031e8h ; e8 d2 01 5881 5892 inc cx ; 41 5882 5893 inc cx ; 41 5883 5894 mov dx, cx ; 89 ca 5884 5895 mov ax, si ; 89 f0 5885 call 031 9bh ; e8 9f 015896 call 031beh ; e8 9f 01 5886 5897 xor ah, ah ; 30 e4 5887 5898 mov bx, ax ; 89 c3 5888 5899 mov dx, 00084h ; ba 84 00 5889 5900 mov ax, strict word 00040h ; b8 40 00 5890 call 031 a9h ; e8 a0 015901 call 031cch ; e8 a0 01 5891 5902 inc cx ; 41 5892 5903 mov dx, cx ; 89 ca 5893 5904 mov ax, si ; 89 f0 5894 call 031 b7h ; e8 a6 015905 call 031dah ; e8 a6 01 5895 5906 mov bx, ax ; 89 c3 5896 5907 mov dx, 00085h ; ba 85 00 5897 5908 mov ax, strict word 00040h ; b8 40 00 5898 call 031 c5h ; e8 a9 015909 call 031e8h ; e8 a9 01 5899 5910 inc cx ; 41 5900 5911 inc cx ; 41 5901 5912 mov dx, cx ; 89 ca 5902 5913 mov ax, si ; 89 f0 5903 call 031 9bh ; e8 76 015914 call 031beh ; e8 76 01 5904 5915 mov dl, al ; 88 c2 5905 5916 xor dh, dh ; 30 f6 … … 5907 5918 mov dx, 00087h ; ba 87 00 5908 5919 mov ax, strict word 00040h ; b8 40 00 5909 call 031 a9h ; e8 75 015920 call 031cch ; e8 75 01 5910 5921 inc cx ; 41 5911 5922 mov dx, cx ; 89 ca 5912 5923 mov ax, si ; 89 f0 5913 call 031 9bh ; e8 5f 015924 call 031beh ; e8 5f 01 5914 5925 mov dl, al ; 88 c2 5915 5926 xor dh, dh ; 30 f6 … … 5917 5928 mov dx, 00088h ; ba 88 00 5918 5929 mov ax, strict word 00040h ; b8 40 00 5919 call 031 a9h ; e8 5e 015930 call 031cch ; e8 5e 01 5920 5931 inc cx ; 41 5921 5932 mov dx, cx ; 89 ca 5922 5933 mov ax, si ; 89 f0 5923 call 031 9bh ; e8 48 015934 call 031beh ; e8 48 01 5924 5935 mov dl, al ; 88 c2 5925 5936 xor dh, dh ; 30 f6 … … 5927 5938 mov dx, 00089h ; ba 89 00 5928 5939 mov ax, strict word 00040h ; b8 40 00 5929 call 031 a9h ; e8 47 015940 call 031cch ; e8 47 01 5930 5941 inc cx ; 41 5931 5942 mov dx, cx ; 89 ca 5932 5943 mov ax, si ; 89 f0 5933 call 031 b7h ; e8 4d 015944 call 031dah ; e8 4d 01 5934 5945 mov bx, ax ; 89 c3 5935 5946 mov dx, strict word 00060h ; ba 60 00 5936 5947 mov ax, strict word 00040h ; b8 40 00 5937 call 031 c5h ; e8 50 015948 call 031e8h ; e8 50 01 5938 5949 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5939 5950 inc cx ; 41 5940 5951 inc cx ; 41 5941 jmp short 030 84h ; eb 065952 jmp short 030a7h ; eb 06 5942 5953 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5943 jnc short 030 a2h ; 73 1e5954 jnc short 030c5h ; 73 1e 5944 5955 mov dx, cx ; 89 ca 5945 5956 mov ax, si ; 89 f0 5946 call 031 b7h ; e8 2c 015957 call 031dah ; e8 2c 01 5947 5958 mov bx, ax ; 89 c3 5948 5959 mov dx, word [bp-00ah] ; 8b 56 f6 … … 5950 5961 add dx, strict byte 00050h ; 83 c2 50 5951 5962 mov ax, strict word 00040h ; b8 40 00 5952 call 031 c5h ; e8 2a 015963 call 031e8h ; e8 2a 01 5953 5964 inc cx ; 41 5954 5965 inc cx ; 41 5955 5966 inc word [bp-00ah] ; ff 46 f6 5956 jmp short 030 7eh ; eb dc5967 jmp short 030a1h ; eb dc 5957 5968 mov dx, cx ; 89 ca 5958 5969 mov ax, si ; 89 f0 5959 call 031 b7h ; e8 0e 015970 call 031dah ; e8 0e 01 5960 5971 mov bx, ax ; 89 c3 5961 5972 mov dx, strict word 0004eh ; ba 4e 00 5962 5973 mov ax, strict word 00040h ; b8 40 00 5963 call 031 c5h ; e8 11 015974 call 031e8h ; e8 11 01 5964 5975 inc cx ; 41 5965 5976 inc cx ; 41 5966 5977 mov dx, cx ; 89 ca 5967 5978 mov ax, si ; 89 f0 5968 call 031 9bh ; e8 de 005979 call 031beh ; e8 de 00 5969 5980 mov dl, al ; 88 c2 5970 5981 xor dh, dh ; 30 f6 … … 5972 5983 mov dx, strict word 00062h ; ba 62 00 5973 5984 mov ax, strict word 00040h ; b8 40 00 5974 call 031 a9h ; e8 dd 005985 call 031cch ; e8 dd 00 5975 5986 inc cx ; 41 5976 5987 mov dx, cx ; 89 ca 5977 5988 mov ax, si ; 89 f0 5978 call 031 b7h ; e8 e3 005989 call 031dah ; e8 e3 00 5979 5990 mov bx, ax ; 89 c3 5980 5991 mov dx, strict word 0007ch ; ba 7c 00 5981 5992 xor ax, ax ; 31 c0 5982 call 031 c5h ; e8 e7 005993 call 031e8h ; e8 e7 00 5983 5994 inc cx ; 41 5984 5995 inc cx ; 41 5985 5996 mov dx, cx ; 89 ca 5986 5997 mov ax, si ; 89 f0 5987 call 031 b7h ; e8 d0 005998 call 031dah ; e8 d0 00 5988 5999 mov bx, ax ; 89 c3 5989 6000 mov dx, strict word 0007eh ; ba 7e 00 5990 6001 xor ax, ax ; 31 c0 5991 call 031 c5h ; e8 d4 006002 call 031e8h ; e8 d4 00 5992 6003 inc cx ; 41 5993 6004 inc cx ; 41 5994 6005 mov dx, cx ; 89 ca 5995 6006 mov ax, si ; 89 f0 5996 call 031 b7h ; e8 bd 006007 call 031dah ; e8 bd 00 5997 6008 mov bx, ax ; 89 c3 5998 6009 mov dx, 0010ch ; ba 0c 01 5999 6010 xor ax, ax ; 31 c0 6000 call 031 c5h ; e8 c1 006011 call 031e8h ; e8 c1 00 6001 6012 inc cx ; 41 6002 6013 inc cx ; 41 6003 6014 mov dx, cx ; 89 ca 6004 6015 mov ax, si ; 89 f0 6005 call 031 b7h ; e8 aa 006016 call 031dah ; e8 aa 00 6006 6017 mov bx, ax ; 89 c3 6007 6018 mov dx, 0010eh ; ba 0e 01 6008 6019 xor ax, ax ; 31 c0 6009 call 031 c5h ; e8 ae 006020 call 031e8h ; e8 ae 00 6010 6021 inc cx ; 41 6011 6022 inc cx ; 41 6012 6023 test byte [bp-00eh], 004h ; f6 46 f2 04 6013 je short 031 66h ; 74 476024 je short 03189h ; 74 47 6014 6025 inc cx ; 41 6015 6026 mov dx, cx ; 89 ca 6016 6027 mov ax, si ; 89 f0 6017 call 031 9bh ; e8 74 006028 call 031beh ; e8 74 00 6018 6029 xor ah, ah ; 30 e4 6019 6030 mov word [bp-008h], ax ; 89 46 f8 … … 6021 6032 mov dx, cx ; 89 ca 6022 6033 mov ax, si ; 89 f0 6023 call 031 9bh ; e8 67 006034 call 031beh ; e8 67 00 6024 6035 mov dx, 003c6h ; ba c6 03 6025 6036 out DX, AL ; ee … … 6030 6041 xor ah, ah ; 30 e4 6031 6042 mov word [bp-00ah], ax ; 89 46 f6 6032 jmp short 031 4dh ; eb 076043 jmp short 03170h ; eb 07 6033 6044 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 6034 jnc short 031 5eh ; 73 116045 jnc short 03181h ; 73 11 6035 6046 mov dx, cx ; 89 ca 6036 6047 mov ax, si ; 89 f0 6037 call 031 9bh ; e8 47 006048 call 031beh ; e8 47 00 6038 6049 mov dx, 003c9h ; ba c9 03 6039 6050 out DX, AL ; ee 6040 6051 inc cx ; 41 6041 6052 inc word [bp-00ah] ; ff 46 f6 6042 jmp short 031 46h ; eb e86053 jmp short 03169h ; eb e8 6043 6054 inc cx ; 41 6044 6055 mov al, byte [bp-008h] ; 8a 46 f8 … … 6052 6063 pop bp ; 5d 6053 6064 retn ; c3 6054 find_vga_entry_: ; 0xc31 70LB 0x2b6065 find_vga_entry_: ; 0xc3193 LB 0x2b 6055 6066 push bx ; 53 6056 6067 push cx ; 51 … … 6061 6072 mov AH, strict byte 0ffh ; b4 ff 6062 6073 xor al, al ; 30 c0 6063 jmp short 031 84h ; eb 066074 jmp short 031a7h ; eb 06 6064 6075 db 0feh, 0c0h 6065 6076 ; inc al ; fe c0 6066 6077 cmp AL, strict byte 00fh ; 3c 0f 6067 jnbe short 031 94h ; 77 106078 jnbe short 031b7h ; 77 10 6068 6079 mov bl, al ; 88 c3 6069 6080 xor bh, bh ; 30 ff 6070 6081 mov CL, strict byte 003h ; b1 03 6071 6082 sal bx, CL ; d3 e3 6072 cmp dl, byte [bx+046 2fh] ; 3a 97 2f466073 jne short 031 7eh ; 75 ec6083 cmp dl, byte [bx+04634h] ; 3a 97 34 46 6084 jne short 031a1h ; 75 ec 6074 6085 mov ah, al ; 88 c4 6075 6086 mov al, ah ; 88 e0 … … 6079 6090 pop bx ; 5b 6080 6091 retn ; c3 6081 read_byte_: ; 0xc31 9bLB 0xe6092 read_byte_: ; 0xc31be LB 0xe 6082 6093 push bx ; 53 6083 6094 push bp ; 55 … … 6089 6100 pop bx ; 5b 6090 6101 retn ; c3 6091 write_byte_: ; 0xc31 a9LB 0xe6102 write_byte_: ; 0xc31cc LB 0xe 6092 6103 push si ; 56 6093 6104 push bp ; 55 … … 6099 6110 pop si ; 5e 6100 6111 retn ; c3 6101 read_word_: ; 0xc31 b7LB 0xe6112 read_word_: ; 0xc31da LB 0xe 6102 6113 push bx ; 53 6103 6114 push bp ; 55 … … 6109 6120 pop bx ; 5b 6110 6121 retn ; c3 6111 write_word_: ; 0xc31 c5LB 0xe6122 write_word_: ; 0xc31e8 LB 0xe 6112 6123 push si ; 56 6113 6124 push bp ; 55 … … 6119 6130 pop si ; 5e 6120 6131 retn ; c3 6121 read_dword_: ; 0xc31 d3LB 0x126132 read_dword_: ; 0xc31f6 LB 0x12 6122 6133 push bx ; 53 6123 6134 push bp ; 55 … … 6130 6141 pop bx ; 5b 6131 6142 retn ; c3 6132 write_dword_: ; 0xc3 1e5LB 0x966143 write_dword_: ; 0xc3208 LB 0x96 6133 6144 push si ; 56 6134 6145 push bp ; 55 … … 6152 6163 add ax, 00304h ; 05 04 03 6153 6164 add al, byte [bx+di] ; 02 01 6154 add byte [si-054cbh], bh ; 00 bc 35 ab 6155 db 032h, 0e8h 6156 ; xor ch, al ; 32 e8 6157 db 032h, 0f6h 6158 ; xor dh, dh ; 32 f6 6159 xor al, byte [bx+di] ; 32 01 6160 xor cx, word [bx] ; 33 0f 6161 xor bx, word [bx] ; 33 1f 6162 xor sp, word [04f33h] ; 33 26 33 4f 6163 xor dx, word [bp+di+033h] ; 33 53 33 6164 pop si ; 5e 6165 xor si, word [bp+di+033h] ; 33 73 33 6166 mov word [bp+di], si ; 89 33 6167 mov byte [0b433h], AL ; a2 33 b4 6168 db 033h, 0c8h 6169 ; xor cx, ax ; 33 c8 6170 db 033h, 0d4h 6171 ; xor dx, sp ; 33 d4 6172 xor ax, word [bx-043cch] ; 33 87 34 bc 6173 xor AL, strict byte 0e3h ; 34 e3 6174 xor AL, strict byte 0f8h ; 34 f8 6175 xor AL, strict byte 035h ; 34 35 6165 add bh, bl ; 00 df 6166 xor ax, 032ceh ; 35 ce 32 6167 or si, word [bp+di] ; 0b 33 6168 sbb word [bp+di], si ; 19 33 6169 and AL, strict byte 033h ; 24 33 6170 xor dh, byte [bp+di] ; 32 33 6171 inc dx ; 42 6172 xor cx, word [bx+di+033h] ; 33 49 33 6173 jc short 03274h ; 72 33 6174 jbe short 03276h ; 76 33 6175 xor word [bp+di], 03396h ; 81 33 96 33 6176 lodsb ; ac 6177 db 033h, 0c5h 6178 ; xor ax, bp ; 33 c5 6179 db 033h, 0d7h 6180 ; xor dx, di ; 33 d7 6181 db 033h, 0ebh 6182 ; xor bp, bx ; 33 eb 6183 db 033h, 0f7h 6184 ; xor si, di ; 33 f7 6185 xor bp, word [bp+si-020cch] ; 33 aa 34 df 6186 xor AL, strict byte 006h ; 34 06 6187 xor ax, 0351bh ; 35 1b 35 6188 pop ax ; 58 6176 6189 xor ax, 02430h ; 35 30 24 6177 6190 and sp, word [bp+si] ; 23 22 … … 6181 6194 add AL, strict byte 002h ; 04 02 6182 6195 add word [bx+si], ax ; 01 00 6183 mov sp, 0f135h ; bc 35 f1 6184 xor cx, word [bx] ; 33 0f 6185 xor AL, strict byte 01eh ; 34 1e 6186 xor AL, strict byte 02dh ; 34 2d 6187 xor AL, strict byte 0f1h ; 34 f1 6188 xor cx, word [bx] ; 33 0f 6189 xor AL, strict byte 01eh ; 34 1e 6190 xor AL, strict byte 02dh ; 34 2d 6191 xor AL, strict byte 03ch ; 34 3c 6192 xor AL, strict byte 048h ; 34 48 6193 xor AL, strict byte 061h ; 34 61 6194 xor AL, strict byte 066h ; 34 66 6196 fbstp [di] ; df 35 6197 adc AL, strict byte 034h ; 14 34 6198 xor dh, byte [si] ; 32 34 6199 inc cx ; 41 6200 xor AL, strict byte 050h ; 34 50 6201 xor AL, strict byte 014h ; 34 14 6202 xor AL, strict byte 032h ; 34 32 6203 xor AL, strict byte 041h ; 34 41 6204 xor AL, strict byte 050h ; 34 50 6205 xor AL, strict byte 05fh ; 34 5f 6195 6206 xor AL, strict byte 06bh ; 34 6b 6196 xor AL, strict byte 070h ; 34 70 6207 xor AL, strict byte 084h ; 34 84 6208 xor AL, strict byte 089h ; 34 89 6209 xor AL, strict byte 08eh ; 34 8e 6210 xor AL, strict byte 093h ; 34 93 6197 6211 xor AL, strict byte 00ah ; 34 0a 6198 6212 or word [00204h], ax ; 09 06 04 02 6199 6213 add word [bx+si], ax ; 01 00 6200 mov AL, strict byte 035h ; b0 35 6201 pop bx ; 5b 6202 xor ax, 03568h ; 35 68 35 6203 js short 032a8h ; 78 35 6204 mov byte [di], dh ; 88 35 6205 popfw ; 9d 6206 xor ax, 035b0h ; 35 b0 35 6207 mov AL, strict byte 035h ; b0 35 6208 _int10_func: ; 0xc327b LB 0x348 6214 db 0d3h, 035h 6215 ; sal word [di], CL ; d3 35 6216 jle short 032c7h ; 7e 35 6217 mov si, word [di] ; 8b 35 6218 wait ; 9b 6219 xor ax, 035abh ; 35 ab 35 6220 db 0c0h, 035h, 0d3h 6221 ; sal byte [di], 0d3h ; c0 35 d3 6222 xor ax, 035d3h ; 35 d3 35 6223 _int10_func: ; 0xc329e LB 0x348 6209 6224 push bp ; 55 6210 6225 mov bp, sp ; 89 e5 … … 6216 6231 xor ah, ah ; 30 e4 6217 6232 cmp ax, strict word 0004fh ; 3d 4f 00 6218 jnbe short 03 2f3h ; 77 656233 jnbe short 03316h ; 77 65 6219 6234 push CS ; 0e 6220 6235 pop ES ; 07 6221 6236 mov cx, strict word 00016h ; b9 16 00 6222 mov di, 03 1f7h ; bf f7 316237 mov di, 0321ah ; bf 1a 32 6223 6238 repne scasb ; f2 ae 6224 6239 sal cx, 1 ; d1 e1 6225 6240 mov di, cx ; 89 cf 6226 mov bx, word [cs:di+032 0ch] ; 2e 8b 9d 0c326241 mov bx, word [cs:di+0322fh] ; 2e 8b 9d 2f 32 6227 6242 mov ax, word [bp+012h] ; 8b 46 12 6228 6243 xor ah, ah ; 30 e4 … … 6231 6246 mov al, byte [bp+012h] ; 8a 46 12 6232 6247 xor ah, ah ; 30 e4 6233 call 01019h ; e8 66dd6248 call 01019h ; e8 43 dd 6234 6249 mov ax, word [bp+012h] ; 8b 46 12 6235 6250 and ax, strict word 0007fh ; 25 7f 00 6236 6251 cmp ax, strict word 00007h ; 3d 07 00 6237 je short 032 d3h ; 74 156252 je short 032f6h ; 74 15 6238 6253 cmp ax, strict word 00006h ; 3d 06 00 6239 je short 032 cah ; 74 076254 je short 032edh ; 74 07 6240 6255 cmp ax, strict word 00005h ; 3d 05 00 6241 jbe short 032 d3h ; 76 0b6242 jmp short 032 dch ; eb 126256 jbe short 032f6h ; 76 0b 6257 jmp short 032ffh ; eb 12 6243 6258 mov ax, word [bp+012h] ; 8b 46 12 6244 6259 xor al, al ; 30 c0 6245 6260 or AL, strict byte 03fh ; 0c 3f 6246 jmp short 03 2e3h ; eb 106261 jmp short 03306h ; eb 10 6247 6262 mov ax, word [bp+012h] ; 8b 46 12 6248 6263 xor al, al ; 30 c0 6249 6264 or AL, strict byte 030h ; 0c 30 6250 jmp short 03 2e3h ; eb 076265 jmp short 03306h ; eb 07 6251 6266 mov ax, word [bp+012h] ; 8b 46 12 6252 6267 xor al, al ; 30 c0 6253 6268 or AL, strict byte 020h ; 0c 20 6254 6269 mov word [bp+012h], ax ; 89 46 12 6255 jmp short 03 2f3h ; eb 0b6270 jmp short 03316h ; eb 0b 6256 6271 mov al, byte [bp+010h] ; 8a 46 10 6257 6272 mov dx, ax ; 89 c2 6258 6273 mov al, byte [bp+011h] ; 8a 46 11 6259 call 00ddeh ; e8 ebda6260 jmp near 035 bch ; e9 c6 026274 call 00ddeh ; e8 c8 da 6275 jmp near 035dfh ; e9 c6 02 6261 6276 mov dx, word [bp+00eh] ; 8b 56 0e 6262 6277 mov al, byte [bp+00dh] ; 8a 46 0d 6263 call 00e91h ; e8 92db6264 jmp short 03 2f3h ; eb f26278 call 00e91h ; e8 6f db 6279 jmp short 03316h ; eb f2 6265 6280 lea bx, [bp+00eh] ; 8d 5e 0e 6266 6281 lea dx, [bp+010h] ; 8d 56 10 6267 6282 mov al, byte [bp+00dh] ; 8a 46 0d 6268 call 00a8ch ; e8 7fd76269 jmp short 03 2f3h ; eb e46283 call 00a8ch ; e8 5c d7 6284 jmp short 03316h ; eb e4 6270 6285 xor al, al ; 30 c0 6271 6286 mov word [bp+012h], ax ; 89 46 12 … … 6273 6288 mov word [bp+010h], ax ; 89 46 10 6274 6289 mov word [bp+00eh], ax ; 89 46 0e 6275 jmp short 03 2f3h ; eb d46290 jmp short 03316h ; eb d4 6276 6291 mov al, dl ; 88 d0 6277 call 00f34h ; e8 10 dc6278 jmp short 03 2f3h ; eb cd6292 call 00f34h ; e8 ed db 6293 jmp short 03316h ; eb cd 6279 6294 mov ax, strict word 00001h ; b8 01 00 6280 6295 push ax ; 50 … … 6293 6308 mov dx, ax ; 89 c2 6294 6309 mov al, byte [bp+012h] ; 8a 46 12 6295 call 016 55h ; e8 08 e36296 jmp short 03 2f3h ; eb a46310 call 01678h ; e8 08 e3 6311 jmp short 03316h ; eb a4 6297 6312 xor al, al ; 30 c0 6298 jmp short 033 29h ; eb d66313 jmp short 0334ch ; eb d6 6299 6314 lea dx, [bp+012h] ; 8d 56 12 6300 6315 mov al, byte [bp+00dh] ; 8a 46 0d 6301 call 00ad2h ; e8 76d76302 jmp short 03 2f3h ; eb 956316 call 00ad2h ; e8 53 d7 6317 jmp short 03316h ; eb 95 6303 6318 mov cx, word [bp+010h] ; 8b 4e 10 6304 6319 mov al, byte [bp+00ch] ; 8a 46 0c … … 6307 6322 mov dx, ax ; 89 c2 6308 6323 mov al, byte [bp+012h] ; 8a 46 12 6309 call 01e a9h ; e8 38 eb6310 jmp short 03 2f3h ; eb 806324 call 01ecch ; e8 38 eb 6325 jmp short 03316h ; eb 80 6311 6326 mov cx, word [bp+010h] ; 8b 4e 10 6312 6327 mov al, byte [bp+00ch] ; 8a 46 0c … … 6315 6330 mov dx, ax ; 89 c2 6316 6331 mov al, byte [bp+012h] ; 8a 46 12 6317 call 020 3bh ; e8 b5 ec6318 jmp near 035 bch ; e9 33 026332 call 0205eh ; e8 b5 ec 6333 jmp near 035dfh ; e9 33 02 6319 6334 mov cx, word [bp+00eh] ; 8b 4e 0e 6320 6335 mov bx, word [bp+010h] ; 8b 5e 10 … … 6324 6339 mov word [bp-006h], ax ; 89 46 fa 6325 6340 mov al, byte [bp-006h] ; 8a 46 fa 6326 call 021 ceh ; e8 2f ee6327 jmp near 035 bch ; e9 1a 026341 call 021f1h ; e8 2f ee 6342 jmp near 035dfh ; e9 1a 02 6328 6343 lea cx, [bp+012h] ; 8d 4e 12 6329 6344 mov bx, word [bp+00eh] ; 8b 5e 0e 6330 6345 mov dx, word [bp+010h] ; 8b 56 10 6331 6346 mov al, byte [bp+00dh] ; 8a 46 0d 6332 call 00bfch ; e8 4bd86333 jmp near 035 bch ; e9 08 026347 call 00bfch ; e8 28 d8 6348 jmp near 035dfh ; e9 08 02 6334 6349 mov cx, strict word 00002h ; b9 02 00 6335 6350 mov al, byte [bp+00ch] ; 8a 46 0c … … 6337 6352 mov dx, 000ffh ; ba ff 00 6338 6353 mov al, byte [bp+012h] ; 8a 46 12 6339 call 023 4dh ; e8 88 ef6340 jmp near 035 bch ; e9 f4 016354 call 02370h ; e8 88 ef 6355 jmp near 035dfh ; e9 f4 01 6341 6356 mov dx, word [bp+010h] ; 8b 56 10 6342 6357 mov ax, word [bp+00ch] ; 8b 46 0c 6343 call 00d3fh ; e8 6ed96344 jmp near 035 bch ; e9 e8 016358 call 00d3fh ; e8 4b d9 6359 jmp near 035dfh ; e9 e8 01 6345 6360 cmp ax, strict word 00030h ; 3d 30 00 6346 jnbe short 034 45h ; 77 6c6361 jnbe short 03468h ; 77 6c 6347 6362 push CS ; 0e 6348 6363 pop ES ; 07 6349 6364 mov cx, strict word 0000fh ; b9 0f 00 6350 mov di, 032 38h ; bf 38326365 mov di, 0325bh ; bf 5b 32 6351 6366 repne scasb ; f2 ae 6352 6367 sal cx, 1 ; d1 e1 6353 6368 mov di, cx ; 89 cf 6354 mov dx, word [cs:di+032 46h] ; 2e 8b 95 46326369 mov dx, word [cs:di+03269h] ; 2e 8b 95 69 32 6355 6370 mov al, byte [bp+00ch] ; 8a 46 0c 6356 6371 jmp dx ; ff e2 … … 6365 6380 mov bx, word [bp+008h] ; 8b 5e 08 6366 6381 mov dx, word [bp+016h] ; 8b 56 16 6367 call 02 6dfh ; e8 d2 f26368 jmp short 034 45h ; eb 366382 call 02702h ; e8 d2 f2 6383 jmp short 03468h ; eb 36 6369 6384 mov dl, byte [bp+00ch] ; 8a 56 0c 6370 6385 xor dh, dh ; 30 f6 6371 6386 mov al, byte [bp+012h] ; 8a 46 12 6372 6387 xor ah, ah ; 30 e4 6373 call 027 64h ; e8 48 f36374 jmp short 034 45h ; eb 276388 call 02787h ; e8 48 f3 6389 jmp short 03468h ; eb 27 6375 6390 mov al, byte [bp+00ch] ; 8a 46 0c 6376 6391 xor ah, ah ; 30 e4 6377 6392 mov dx, ax ; 89 c2 6378 6393 mov al, byte [bp+012h] ; 8a 46 12 6379 call 027 dah ; e8 af f36380 jmp short 034 45h ; eb 186394 call 027fdh ; e8 af f3 6395 jmp short 03468h ; eb 18 6381 6396 mov al, byte [bp+00ch] ; 8a 46 0c 6382 6397 xor ah, ah ; 30 e4 6383 6398 mov dx, ax ; 89 c2 6384 6399 mov al, byte [bp+012h] ; 8a 46 12 6385 call 028 4eh ; e8 14 f46386 jmp short 034 45h ; eb 096400 call 02871h ; e8 14 f4 6401 jmp short 03468h ; eb 09 6387 6402 mov dx, word [bp+008h] ; 8b 56 08 6388 6403 mov ax, word [bp+016h] ; 8b 46 16 6389 call 028 c2h ; e8 7d f46390 jmp near 035 bch ; e9 74 016404 call 028e5h ; e8 7d f4 6405 jmp near 035dfh ; e9 74 01 6391 6406 mov al, byte [bp+00eh] ; 8a 46 0e 6392 6407 push ax ; 50 … … 6397 6412 mov cx, ax ; 89 c1 6398 6413 mov ax, si ; 89 f0 6399 call 028 c7h ; e8 68 f46400 jmp short 034 45h ; eb e46401 call 028 ceh ; e8 6a f46402 jmp short 034 45h ; eb df6403 call 028 d3h ; e8 6a f46404 jmp short 034 45h ; eb da6405 call 028 d8h ; e8 6a f46406 jmp short 034 45h ; eb d56414 call 028eah ; e8 68 f4 6415 jmp short 03468h ; eb e4 6416 call 028f1h ; e8 6a f4 6417 jmp short 03468h ; eb df 6418 call 028f6h ; e8 6a f4 6419 jmp short 03468h ; eb da 6420 call 028fbh ; e8 6a f4 6421 jmp short 03468h ; eb d5 6407 6422 lea ax, [bp+00eh] ; 8d 46 0e 6408 6423 push ax ; 50 … … 6412 6427 lea bx, [bp+008h] ; 8d 5e 08 6413 6428 lea dx, [bp+016h] ; 8d 56 16 6414 call 00b81h ; e8 fcd66415 jmp short 034 45h ; eb be6429 call 00b81h ; e8 d9 d6 6430 jmp short 03468h ; eb be 6416 6431 mov ax, word [bp+00ch] ; 8b 46 0c 6417 6432 xor ah, ah ; 30 e4 6418 6433 cmp ax, strict word 00036h ; 3d 36 00 6419 je short 034 b5h ; 74 246434 je short 034d8h ; 74 24 6420 6435 cmp ax, strict word 00035h ; 3d 35 00 6421 je short 034 a0h ; 74 0a6436 je short 034c3h ; 74 0a 6422 6437 cmp ax, strict word 00020h ; 3d 20 00 6423 jne short 03 4e0h ; 75 456424 call 02 8ddh ; e8 3f f46425 jmp short 03 4e0h ; eb 406438 jne short 03503h ; 75 45 6439 call 02900h ; e8 3f f4 6440 jmp short 03503h ; eb 40 6426 6441 mov al, dl ; 88 d0 6427 6442 mov bx, word [bp+00eh] ; 8b 5e 0e 6428 6443 mov dx, word [bp+016h] ; 8b 56 16 6429 call 02 8e2h ; e8 37 f46444 call 02905h ; e8 37 f4 6430 6445 mov ax, word [bp+012h] ; 8b 46 12 6431 6446 xor al, al ; 30 c0 6432 6447 or AL, strict byte 012h ; 0c 12 6433 jmp near 03 2e3h ; e9 2e fe6448 jmp near 03306h ; e9 2e fe 6434 6449 mov al, dl ; 88 d0 6435 call 02 8e7h ; e8 2d f46436 jmp short 034 abh ; eb ef6450 call 0290ah ; e8 2d f4 6451 jmp short 034ceh ; eb ef 6437 6452 push word [bp+008h] ; ff 76 08 6438 6453 push word [bp+016h] ; ff 76 16 … … 6449 6464 mov dx, ax ; 89 c2 6450 6465 mov ax, si ; 89 f0 6451 call 02 8ech ; e8 0c f46452 jmp near 035 bch ; e9 d9 006466 call 0290fh ; e8 0c f4 6467 jmp near 035dfh ; e9 d9 00 6453 6468 mov bx, si ; 89 f3 6454 6469 mov dx, word [bp+016h] ; 8b 56 16 6455 6470 mov ax, word [bp+00ch] ; 8b 46 0c 6456 call 029 82h ; e8 94 f46471 call 029a5h ; e8 94 f4 6457 6472 mov ax, word [bp+012h] ; 8b 46 12 6458 6473 xor al, al ; 30 c0 6459 6474 or AL, strict byte 01bh ; 0c 1b 6460 jmp near 03 2e3h ; e9 eb fd6475 jmp near 03306h ; e9 eb fd 6461 6476 cmp ax, strict word 00002h ; 3d 02 00 6462 je short 035 1fh ; 74 226477 je short 03542h ; 74 22 6463 6478 cmp ax, strict word 00001h ; 3d 01 00 6464 je short 035 11h ; 74 0f6479 je short 03534h ; 74 0f 6465 6480 test ax, ax ; 85 c0 6466 jne short 035 2bh ; 75 256481 jne short 0354eh ; 75 25 6467 6482 lea dx, [bp+00ch] ; 8d 56 0c 6468 6483 mov ax, word [bp+010h] ; 8b 46 10 6469 call 02a a7h ; e8 98 f56470 jmp short 035 2bh ; eb 1a6484 call 02acah ; e8 98 f5 6485 jmp short 0354eh ; eb 1a 6471 6486 mov bx, word [bp+00ch] ; 8b 5e 0c 6472 6487 mov dx, word [bp+016h] ; 8b 56 16 6473 6488 mov ax, word [bp+010h] ; 8b 46 10 6474 call 02a b9h ; e8 9c f56475 jmp short 035 2bh ; eb 0c6489 call 02adch ; e8 9c f5 6490 jmp short 0354eh ; eb 0c 6476 6491 mov bx, word [bp+00ch] ; 8b 5e 0c 6477 6492 mov dx, word [bp+016h] ; 8b 56 16 6478 6493 mov ax, word [bp+010h] ; 8b 46 10 6479 call 02e 3ah ; e8 0f f96494 call 02e5dh ; e8 0f f9 6480 6495 mov ax, word [bp+012h] ; 8b 46 12 6481 6496 xor al, al ; 30 c0 6482 6497 or AL, strict byte 01ch ; 0c 1c 6483 jmp near 03 2e3h ; e9 ae fd6484 call 007e8h ; e8 b0d26498 jmp near 03306h ; e9 ae fd 6499 call 007e8h ; e8 8d d2 6485 6500 test ax, ax ; 85 c0 6486 je short 035 aeh ; 74 726501 je short 035d1h ; 74 72 6487 6502 mov ax, word [bp+012h] ; 8b 46 12 6488 6503 xor ah, ah ; 30 e4 6489 6504 cmp ax, strict word 0000ah ; 3d 0a 00 6490 jnbe short 035 b0h ; 77 6a6505 jnbe short 035d3h ; 77 6a 6491 6506 push CS ; 0e 6492 6507 pop ES ; 07 6493 6508 mov cx, strict word 00008h ; b9 08 00 6494 mov di, 032 64h ; bf 64326509 mov di, 03287h ; bf 87 32 6495 6510 repne scasb ; f2 ae 6496 6511 sal cx, 1 ; d1 e1 6497 6512 mov di, cx ; 89 cf 6498 mov ax, word [cs:di+032 6bh] ; 2e 8b 85 6b326513 mov ax, word [cs:di+0328eh] ; 2e 8b 85 8e 32 6499 6514 jmp ax ; ff e0 6500 6515 mov bx, si ; 89 f3 6501 6516 mov dx, word [bp+016h] ; 8b 56 16 6502 6517 lea ax, [bp+012h] ; 8d 46 12 6503 call 037 5fh ; e8 f9 016504 jmp short 035 bch ; eb 546518 call 0379bh ; e8 12 02 6519 jmp short 035dfh ; eb 54 6505 6520 mov cx, si ; 89 f1 6506 6521 mov bx, word [bp+016h] ; 8b 5e 16 6507 6522 mov dx, word [bp+010h] ; 8b 56 10 6508 6523 lea ax, [bp+012h] ; 8d 46 12 6509 call 038 8eh ; e8 18036510 jmp short 035 bch ; eb 446524 call 038cah ; e8 31 03 6525 jmp short 035dfh ; eb 44 6511 6526 mov cx, si ; 89 f1 6512 6527 mov bx, word [bp+016h] ; 8b 5e 16 6513 6528 mov dx, word [bp+00ch] ; 8b 56 0c 6514 6529 lea ax, [bp+012h] ; 8d 46 12 6515 call 039 4bh ; e8 c5036516 jmp short 035 bch ; eb 346530 call 03987h ; e8 de 03 6531 jmp short 035dfh ; eb 34 6517 6532 lea ax, [bp+00ch] ; 8d 46 0c 6518 6533 push ax ; 50 … … 6521 6536 mov dx, word [bp+010h] ; 8b 56 10 6522 6537 lea ax, [bp+012h] ; 8d 46 12 6523 call 03b 34h ; e8 99056524 jmp short 035 bch ; eb 1f6538 call 03b70h ; e8 b2 05 6539 jmp short 035dfh ; eb 1f 6525 6540 lea cx, [bp+00eh] ; 8d 4e 0e 6526 6541 lea bx, [bp+010h] ; 8d 5e 10 6527 6542 lea dx, [bp+00ch] ; 8d 56 0c 6528 6543 lea ax, [bp+012h] ; 8d 46 12 6529 call 03b c1h ; e8 15066530 jmp short 035 bch ; eb 0e6531 jmp short 035 b7h ; eb 076544 call 03bfdh ; e8 2e 06 6545 jmp short 035dfh ; eb 0e 6546 jmp short 035dah ; eb 07 6532 6547 mov word [bp+012h], 00100h ; c7 46 12 00 01 6533 jmp short 035 bch ; eb 056548 jmp short 035dfh ; eb 05 6534 6549 mov word [bp+012h], 00100h ; c7 46 12 00 01 6535 6550 lea sp, [bp-004h] ; 8d 66 fc … … 6538 6553 pop bp ; 5d 6539 6554 retn ; c3 6540 dispi_set_xres_: ; 0xc35 c3LB 0x1f6555 dispi_set_xres_: ; 0xc35e6 LB 0x1f 6541 6556 push bp ; 55 6542 6557 mov bp, sp ; 89 e5 … … 6546 6561 mov ax, strict word 00001h ; b8 01 00 6547 6562 mov dx, 001ceh ; ba ce 01 6548 call 00590h ; e8 bdcf6563 call 00590h ; e8 9a cf 6549 6564 mov ax, bx ; 89 d8 6550 6565 mov dx, 001cfh ; ba cf 01 6551 call 00590h ; e8 b5cf6566 call 00590h ; e8 92 cf 6552 6567 lea sp, [bp-004h] ; 8d 66 fc 6553 6568 pop dx ; 5a … … 6555 6570 pop bp ; 5d 6556 6571 retn ; c3 6557 dispi_set_yres_: ; 0xc3 5e2LB 0x1f6572 dispi_set_yres_: ; 0xc3605 LB 0x1f 6558 6573 push bp ; 55 6559 6574 mov bp, sp ; 89 e5 … … 6563 6578 mov ax, strict word 00002h ; b8 02 00 6564 6579 mov dx, 001ceh ; ba ce 01 6565 call 00590h ; e8 9ecf6580 call 00590h ; e8 7b cf 6566 6581 mov ax, bx ; 89 d8 6567 6582 mov dx, 001cfh ; ba cf 01 6568 call 00590h ; e8 96cf6583 call 00590h ; e8 73 cf 6569 6584 lea sp, [bp-004h] ; 8d 66 fc 6570 6585 pop dx ; 5a … … 6572 6587 pop bp ; 5d 6573 6588 retn ; c3 6574 dispi_set_bpp_: ; 0xc3601 LB 0x1f 6589 dispi_get_yres_: ; 0xc3624 LB 0x19 6590 push bp ; 55 6591 mov bp, sp ; 89 e5 6592 push dx ; 52 6593 mov ax, strict word 00002h ; b8 02 00 6594 mov dx, 001ceh ; ba ce 01 6595 call 00590h ; e8 5f cf 6596 mov dx, 001cfh ; ba cf 01 6597 call 00597h ; e8 60 cf 6598 lea sp, [bp-002h] ; 8d 66 fe 6599 pop dx ; 5a 6600 pop bp ; 5d 6601 retn ; c3 6602 dispi_set_bpp_: ; 0xc363d LB 0x1f 6575 6603 push bp ; 55 6576 6604 mov bp, sp ; 89 e5 … … 6580 6608 mov ax, strict word 00003h ; b8 03 00 6581 6609 mov dx, 001ceh ; ba ce 01 6582 call 00590h ; e8 7fcf6610 call 00590h ; e8 43 cf 6583 6611 mov ax, bx ; 89 d8 6584 6612 mov dx, 001cfh ; ba cf 01 6585 call 00590h ; e8 77cf6613 call 00590h ; e8 3b cf 6586 6614 lea sp, [bp-004h] ; 8d 66 fc 6587 6615 pop dx ; 5a … … 6589 6617 pop bp ; 5d 6590 6618 retn ; c3 6591 dispi_get_bpp_: ; 0xc36 20LB 0x196619 dispi_get_bpp_: ; 0xc365c LB 0x19 6592 6620 push bp ; 55 6593 6621 mov bp, sp ; 89 e5 … … 6595 6623 mov ax, strict word 00003h ; b8 03 00 6596 6624 mov dx, 001ceh ; ba ce 01 6597 call 00590h ; e8 63cf6625 call 00590h ; e8 27 cf 6598 6626 mov dx, 001cfh ; ba cf 01 6599 call 00597h ; e8 64cf6627 call 00597h ; e8 28 cf 6600 6628 lea sp, [bp-002h] ; 8d 66 fe 6601 6629 pop dx ; 5a 6602 6630 pop bp ; 5d 6603 6631 retn ; c3 6604 dispi_set_virt_width_: ; 0xc36 39LB 0x1f6632 dispi_set_virt_width_: ; 0xc3675 LB 0x1f 6605 6633 push bp ; 55 6606 6634 mov bp, sp ; 89 e5 … … 6610 6638 mov ax, strict word 00006h ; b8 06 00 6611 6639 mov dx, 001ceh ; ba ce 01 6612 call 00590h ; e8 47cf6640 call 00590h ; e8 0b cf 6613 6641 mov ax, bx ; 89 d8 6614 6642 mov dx, 001cfh ; ba cf 01 6615 call 00590h ; e8 3fcf6643 call 00590h ; e8 03 cf 6616 6644 lea sp, [bp-004h] ; 8d 66 fc 6617 6645 pop dx ; 5a … … 6619 6647 pop bp ; 5d 6620 6648 retn ; c3 6621 dispi_get_virt_width_: ; 0xc36 58LB 0x196649 dispi_get_virt_width_: ; 0xc3694 LB 0x19 6622 6650 push bp ; 55 6623 6651 mov bp, sp ; 89 e5 … … 6625 6653 mov ax, strict word 00006h ; b8 06 00 6626 6654 mov dx, 001ceh ; ba ce 01 6627 call 00590h ; e8 2b cf6655 call 00590h ; e8 ef ce 6628 6656 mov dx, 001cfh ; ba cf 01 6629 call 00597h ; e8 2c cf6657 call 00597h ; e8 f0 ce 6630 6658 lea sp, [bp-002h] ; 8d 66 fe 6631 6659 pop dx ; 5a 6632 6660 pop bp ; 5d 6633 6661 retn ; c3 6634 dispi_get_virt_height_: ; 0xc36 71LB 0x196662 dispi_get_virt_height_: ; 0xc36ad LB 0x19 6635 6663 push bp ; 55 6636 6664 mov bp, sp ; 89 e5 … … 6638 6666 mov ax, strict word 00007h ; b8 07 00 6639 6667 mov dx, 001ceh ; ba ce 01 6640 call 00590h ; e8 12 cf6668 call 00590h ; e8 d6 ce 6641 6669 mov dx, 001cfh ; ba cf 01 6642 call 00597h ; e8 13 cf6670 call 00597h ; e8 d7 ce 6643 6671 lea sp, [bp-002h] ; 8d 66 fe 6644 6672 pop dx ; 5a 6645 6673 pop bp ; 5d 6646 6674 retn ; c3 6647 in_word_: ; 0xc36 8aLB 0x126675 in_word_: ; 0xc36c6 LB 0x12 6648 6676 push bp ; 55 6649 6677 mov bp, sp ; 89 e5 … … 6658 6686 pop bp ; 5d 6659 6687 retn ; c3 6660 in_byte_: ; 0xc36 9cLB 0x146688 in_byte_: ; 0xc36d8 LB 0x14 6661 6689 push bp ; 55 6662 6690 mov bp, sp ; 89 e5 … … 6673 6701 pop bp ; 5d 6674 6702 retn ; c3 6675 dispi_get_id_: ; 0xc36 b0LB 0x146703 dispi_get_id_: ; 0xc36ec LB 0x14 6676 6704 push bp ; 55 6677 6705 mov bp, sp ; 89 e5 … … 6686 6714 pop bp ; 5d 6687 6715 retn ; c3 6688 dispi_set_id_: ; 0xc3 6c4LB 0x1a6716 dispi_set_id_: ; 0xc3700 LB 0x1a 6689 6717 push bp ; 55 6690 6718 mov bp, sp ; 89 e5 … … 6703 6731 pop bp ; 5d 6704 6732 retn ; c3 6705 vbe_init_: ; 0xc3 6deLB 0x2c6733 vbe_init_: ; 0xc371a LB 0x2c 6706 6734 push bp ; 55 6707 6735 mov bp, sp ; 89 e5 … … 6709 6737 push dx ; 52 6710 6738 mov ax, 0b0c0h ; b8 c0 b0 6711 call 03 6c4h ; e8 db ff6712 call 036 b0h ; e8 c4 ff6739 call 03700h ; e8 db ff 6740 call 036ech ; e8 c4 ff 6713 6741 cmp ax, 0b0c0h ; 3d c0 b0 6714 jne short 037 03h ; 75 126742 jne short 0373fh ; 75 12 6715 6743 mov bx, strict word 00001h ; bb 01 00 6716 6744 mov dx, 000b9h ; ba b9 00 6717 6745 mov ax, strict word 00040h ; b8 40 00 6718 call 031 a9h ; e8 acfa6746 call 031cch ; e8 93 fa 6719 6747 mov ax, 0b0c4h ; b8 c4 b0 6720 call 03 6c4h ; e8 c1 ff6748 call 03700h ; e8 c1 ff 6721 6749 lea sp, [bp-004h] ; 8d 66 fc 6722 6750 pop dx ; 5a … … 6724 6752 pop bp ; 5d 6725 6753 retn ; c3 6726 mode_info_find_mode_: ; 0xc37 0aLB 0x556754 mode_info_find_mode_: ; 0xc3746 LB 0x55 6727 6755 push bp ; 55 6728 6756 mov bp, sp ; 89 e5 … … 6735 6763 xor dx, dx ; 31 d2 6736 6764 mov ax, 003b6h ; b8 b6 03 6737 call 036 8ah ; e8 6d ff6765 call 036c6h ; e8 6d ff 6738 6766 cmp ax, 077cch ; 3d cc 77 6739 jne short 037 54h ; 75 326767 jne short 03790h ; 75 32 6740 6768 mov bx, strict word 00004h ; bb 04 00 6741 6769 mov dx, bx ; 89 da 6742 6770 mov ax, 003b6h ; b8 b6 03 6743 call 036 8ah ; e8 5d ff6771 call 036c6h ; e8 5d ff 6744 6772 mov cx, ax ; 89 c1 6745 6773 cmp cx, strict byte 0ffffh ; 83 f9 ff 6746 je short 037 54h ; 74 206774 je short 03790h ; 74 20 6747 6775 lea dx, [bx+002h] ; 8d 57 02 6748 6776 mov ax, 003b6h ; b8 b6 03 6749 call 036 8ah ; e8 4d ff6777 call 036c6h ; e8 4d ff 6750 6778 lea dx, [bx+044h] ; 8d 57 44 6751 6779 cmp cx, di ; 39 f9 6752 jne short 037 50h ; 75 0c6780 jne short 0378ch ; 75 0c 6753 6781 test si, si ; 85 f6 6754 jne short 037 4ch ; 75 046782 jne short 03788h ; 75 04 6755 6783 mov ax, bx ; 89 d8 6756 jmp short 037 56h ; eb 0a6784 jmp short 03792h ; eb 0a 6757 6785 test AL, strict byte 080h ; a8 80 6758 jne short 037 48h ; 75 f86786 jne short 03784h ; 75 f8 6759 6787 mov bx, dx ; 89 d3 6760 jmp short 037 27h ; eb d36788 jmp short 03763h ; eb d3 6761 6789 xor ax, ax ; 31 c0 6762 6790 lea sp, [bp-008h] ; 8d 66 f8 … … 6767 6795 pop bp ; 5d 6768 6796 retn ; c3 6769 vbe_biosfn_return_controller_information_: ; 0xc37 5fLB 0x12f6797 vbe_biosfn_return_controller_information_: ; 0xc379b LB 0x12f 6770 6798 push bp ; 55 6771 6799 mov bp, sp ; 89 e5 … … 6778 6806 mov word [bp-00ah], bx ; 89 5e f6 6779 6807 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6780 call 005dah ; e8 63ce6808 call 005dah ; e8 27 ce 6781 6809 mov word [bp-010h], ax ; 89 46 f0 6782 6810 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6784 6812 xor dx, dx ; 31 d2 6785 6813 mov ax, 003b6h ; b8 b6 03 6786 call 036 8ah ; e8 02 ff6814 call 036c6h ; e8 02 ff 6787 6815 cmp ax, 077cch ; 3d cc 77 6788 je short 037 97h ; 74 0a6816 je short 037d3h ; 74 0a 6789 6817 push SS ; 16 6790 6818 pop ES ; 07 6791 6819 mov word [es:si], 00100h ; 26 c7 04 00 01 6792 jmp near 038 86h ; e9 ef 006820 jmp near 038c2h ; e9 ef 00 6793 6821 mov cx, strict word 00004h ; b9 04 00 6794 6822 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6795 6823 mov es, [bp-008h] ; 8e 46 f8 6796 6824 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6797 jne short 037 b1h ; 75 076825 jne short 037edh ; 75 07 6798 6826 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6799 je short 037 c0h ; 74 0f6827 je short 037fch ; 74 0f 6800 6828 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6801 jne short 03 7c5h ; 75 0c6829 jne short 03801h ; 75 0c 6802 6830 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6803 jne short 03 7c5h ; 75 056831 jne short 03801h ; 75 05 6804 6832 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6805 6833 mov es, [bp-008h] ; 8e 46 f8 … … 6807 6835 mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 6808 6836 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6809 mov word [es:bx+006h], 07c 5eh ; 26 c7 47 06 5e7c6837 mov word [es:bx+006h], 07c6ch ; 26 c7 47 06 6c 7c 6810 6838 mov [es:bx+008h], ds ; 26 8c 5f 08 6811 6839 mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 … … 6817 6845 mov dx, strict word 0ffffh ; ba ff ff 6818 6846 mov ax, 003b6h ; b8 b6 03 6819 call 036 8ah ; e8 84 fe6847 call 036c6h ; e8 84 fe 6820 6848 mov es, [bp-008h] ; 8e 46 f8 6821 6849 mov word [es:bx+012h], ax ; 26 89 47 12 6822 6850 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6823 je short 038 37h ; 74 246851 je short 03873h ; 74 24 6824 6852 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6825 mov word [es:bx+016h], 07c 73h ; 26 c7 47 16 737c6853 mov word [es:bx+016h], 07c81h ; 26 c7 47 16 81 7c 6826 6854 mov [es:bx+018h], ds ; 26 8c 5f 18 6827 mov word [es:bx+01ah], 07c 86h ; 26 c7 47 1a 867c6855 mov word [es:bx+01ah], 07c94h ; 26 c7 47 1a 94 7c 6828 6856 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6829 mov word [es:bx+01eh], 07c a7h ; 26 c7 47 1e a77c6857 mov word [es:bx+01eh], 07cb5h ; 26 c7 47 1e b5 7c 6830 6858 mov [es:bx+020h], ds ; 26 8c 5f 20 6831 6859 mov dx, cx ; 89 ca 6832 6860 add dx, strict byte 0001bh ; 83 c2 1b 6833 6861 mov ax, 003b6h ; b8 b6 03 6834 call 036 9ch ; e8 5a fe6862 call 036d8h ; e8 5a fe 6835 6863 xor ah, ah ; 30 e4 6836 6864 cmp ax, word [bp-010h] ; 3b 46 f0 6837 jnbe short 038 62h ; 77 196865 jnbe short 0389eh ; 77 19 6838 6866 mov dx, cx ; 89 ca 6839 6867 mov ax, 003b6h ; b8 b6 03 6840 call 036 8ah ; e8 39 fe6868 call 036c6h ; e8 39 fe 6841 6869 mov bx, ax ; 89 c3 6842 6870 mov dx, word [bp-00ah] ; 8b 56 f6 6843 6871 add dx, word [bp-00ch] ; 03 56 f4 6844 6872 mov ax, di ; 89 f8 6845 call 031 c5h ; e8 67f96873 call 031e8h ; e8 4e f9 6846 6874 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6847 6875 add cx, strict byte 00044h ; 83 c1 44 6848 6876 mov dx, cx ; 89 ca 6849 6877 mov ax, 003b6h ; b8 b6 03 6850 call 036 8ah ; e8 1d fe6878 call 036c6h ; e8 1d fe 6851 6879 mov bx, ax ; 89 c3 6852 6880 cmp ax, strict word 0ffffh ; 3d ff ff 6853 jne short 038 37h ; 75 c36881 jne short 03873h ; 75 c3 6854 6882 mov dx, word [bp-00ah] ; 8b 56 f6 6855 6883 add dx, word [bp-00ch] ; 03 56 f4 6856 6884 mov ax, di ; 89 f8 6857 call 031 c5h ; e8 46f96885 call 031e8h ; e8 2d f9 6858 6886 push SS ; 16 6859 6887 pop ES ; 07 … … 6865 6893 pop bp ; 5d 6866 6894 retn ; c3 6867 vbe_biosfn_return_mode_information_: ; 0xc38 8eLB 0xbd6895 vbe_biosfn_return_mode_information_: ; 0xc38ca LB 0xbd 6868 6896 push bp ; 55 6869 6897 mov bp, sp ; 89 e5 … … 6877 6905 mov word [bp-006h], cx ; 89 4e fa 6878 6906 test dh, 040h ; f6 c6 40 6879 je short 038 a7h ; 74 056907 je short 038e3h ; 74 05 6880 6908 mov dx, strict word 00001h ; ba 01 00 6881 jmp short 038 a9h ; eb 026909 jmp short 038e5h ; eb 02 6882 6910 xor dx, dx ; 31 d2 6883 6911 and ah, 001h ; 80 e4 01 6884 call 037 0ah ; e8 5b fe6912 call 03746h ; e8 5b fe 6885 6913 mov word [bp-008h], ax ; 89 46 f8 6886 6914 test ax, ax ; 85 c0 6887 je short 03 8ech ; 74 366915 je short 03928h ; 74 36 6888 6916 mov cx, 00100h ; b9 00 01 6889 6917 xor ax, ax ; 31 c0 … … 6891 6919 mov es, si ; 8e c6 6892 6920 cld ; fc 6893 jcxz 03 8c5h ; e3 026921 jcxz 03901h ; e3 02 6894 6922 rep stosb ; f3 aa 6895 6923 xor cx, cx ; 31 c9 6896 jmp short 03 8ceh ; eb 056924 jmp short 0390ah ; eb 05 6897 6925 cmp cx, strict byte 00042h ; 83 f9 42 6898 jnc short 03 8eeh ; 73 206926 jnc short 0392ah ; 73 20 6899 6927 mov dx, word [bp-008h] ; 8b 56 f8 6900 6928 inc dx ; 42 … … 6902 6930 add dx, cx ; 01 ca 6903 6931 mov ax, 003b6h ; b8 b6 03 6904 call 036 9ch ; e8 c1 fd6932 call 036d8h ; e8 c1 fd 6905 6933 mov bl, al ; 88 c3 6906 6934 xor bh, bh ; 30 ff … … 6908 6936 add dx, cx ; 01 ca 6909 6937 mov ax, si ; 89 f0 6910 call 031 a9h ; e8 c0f86911 inc cx ; 41 6912 jmp short 03 8c9h ; eb dd6913 jmp short 039 39h ; eb 4b6938 call 031cch ; e8 a7 f8 6939 inc cx ; 41 6940 jmp short 03905h ; eb dd 6941 jmp short 03975h ; eb 4b 6914 6942 mov dx, word [bp-006h] ; 8b 56 fa 6915 6943 inc dx ; 42 6916 6944 inc dx ; 42 6917 6945 mov ax, si ; 89 f0 6918 call 031 9bh ; e8 a3f86946 call 031beh ; e8 8a f8 6919 6947 test AL, strict byte 001h ; a8 01 6920 je short 039 18h ; 74 1c6948 je short 03954h ; 74 1c 6921 6949 mov dx, word [bp-006h] ; 8b 56 fa 6922 6950 add dx, strict byte 0000ch ; 83 c2 0c 6923 6951 mov bx, 0064ch ; bb 4c 06 6924 6952 mov ax, si ; 89 f0 6925 call 031 c5h ; e8 bbf86953 call 031e8h ; e8 a2 f8 6926 6954 mov dx, word [bp-006h] ; 8b 56 fa 6927 6955 add dx, strict byte 0000eh ; 83 c2 0e 6928 6956 mov bx, 0c000h ; bb 00 c0 6929 6957 mov ax, si ; 89 f0 6930 call 031 c5h ; e8 adf86958 call 031e8h ; e8 94 f8 6931 6959 mov ax, strict word 0000bh ; b8 0b 00 6932 6960 mov dx, 001ceh ; ba ce 01 6933 call 00590h ; e8 6fcc6961 call 00590h ; e8 33 cc 6934 6962 mov dx, 001cfh ; ba cf 01 6935 call 00597h ; e8 70cc6963 call 00597h ; e8 34 cc 6936 6964 mov dx, word [bp-006h] ; 8b 56 fa 6937 6965 add dx, strict byte 0002ah ; 83 c2 2a 6938 6966 mov bx, ax ; 89 c3 6939 6967 mov ax, si ; 89 f0 6940 call 031 c5h ; e8 91f86968 call 031e8h ; e8 78 f8 6941 6969 mov ax, strict word 0004fh ; b8 4f 00 6942 jmp short 039 3ch ; eb 036970 jmp short 03978h ; eb 03 6943 6971 mov ax, 00100h ; b8 00 01 6944 6972 push SS ; 16 … … 6951 6979 pop bp ; 5d 6952 6980 retn ; c3 6953 vbe_biosfn_set_mode_: ; 0xc39 4bLB 0xeb6981 vbe_biosfn_set_mode_: ; 0xc3987 LB 0xeb 6954 6982 push bp ; 55 6955 6983 mov bp, sp ; 89 e5 … … 6960 6988 mov word [bp-00ah], dx ; 89 56 f6 6961 6989 test byte [bp-009h], 040h ; f6 46 f7 40 6962 je short 039 63h ; 74 056990 je short 0399fh ; 74 05 6963 6991 mov ax, strict word 00001h ; b8 01 00 6964 jmp short 039 65h ; eb 026992 jmp short 039a1h ; eb 02 6965 6993 xor ax, ax ; 31 c0 6966 6994 mov dx, ax ; 89 c2 6967 6995 test ax, ax ; 85 c0 6968 je short 039 6eh ; 74 036996 je short 039aah ; 74 03 6969 6997 mov ax, strict word 00040h ; b8 40 00 6970 6998 mov byte [bp-006h], al ; 88 46 fa 6971 6999 test byte [bp-009h], 080h ; f6 46 f7 80 6972 je short 039 7ch ; 74 057000 je short 039b8h ; 74 05 6973 7001 mov ax, 00080h ; b8 80 00 6974 jmp short 039 7eh ; eb 027002 jmp short 039bah ; eb 02 6975 7003 xor ax, ax ; 31 c0 6976 7004 mov byte [bp-008h], al ; 88 46 f8 6977 7005 and byte [bp-009h], 001h ; 80 66 f7 01 6978 7006 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6979 jnc short 039 9fh ; 73 137007 jnc short 039dbh ; 73 13 6980 7008 xor ax, ax ; 31 c0 6981 call 00600h ; e8 6fcc7009 call 00600h ; e8 33 cc 6982 7010 mov al, byte [bp-00ah] ; 8a 46 f6 6983 7011 xor ah, ah ; 30 e4 6984 call 01019h ; e8 80d67012 call 01019h ; e8 44 d6 6985 7013 mov ax, strict word 0004fh ; b8 4f 00 6986 jmp near 03a 2ch ; e9 8d 007014 jmp near 03a68h ; e9 8d 00 6987 7015 mov ax, word [bp-00ah] ; 8b 46 f6 6988 call 037 0ah ; e8 65 fd7016 call 03746h ; e8 65 fd 6989 7017 mov bx, ax ; 89 c3 6990 7018 test ax, ax ; 85 c0 6991 jne short 039 aeh ; 75 036992 jmp near 03a 29h ; e9 7b 007019 jne short 039eah ; 75 03 7020 jmp near 03a65h ; e9 7b 00 6993 7021 lea dx, [bx+014h] ; 8d 57 14 6994 7022 mov ax, 003b6h ; b8 b6 03 6995 call 036 8ah ; e8 d3 fc7023 call 036c6h ; e8 d3 fc 6996 7024 mov cx, ax ; 89 c1 6997 7025 lea dx, [bx+016h] ; 8d 57 16 6998 7026 mov ax, 003b6h ; b8 b6 03 6999 call 036 8ah ; e8 c8 fc7027 call 036c6h ; e8 c8 fc 7000 7028 mov di, ax ; 89 c7 7001 7029 lea dx, [bx+01bh] ; 8d 57 1b 7002 7030 mov ax, 003b6h ; b8 b6 03 7003 call 036 9ch ; e8 cf fc7031 call 036d8h ; e8 cf fc 7004 7032 mov bl, al ; 88 c3 7005 7033 mov dl, al ; 88 c2 7006 7034 xor ax, ax ; 31 c0 7007 call 00600h ; e8 2a cc7035 call 00600h ; e8 ee cb 7008 7036 cmp bl, 004h ; 80 fb 04 7009 jne short 03 9e1h ; 75 067037 jne short 03a1dh ; 75 06 7010 7038 mov ax, strict word 0006ah ; b8 6a 00 7011 call 01019h ; e8 38 d67039 call 01019h ; e8 fc d5 7012 7040 mov al, dl ; 88 d0 7013 7041 xor ah, ah ; 30 e4 7014 call 036 01h ; e8 19 fc7042 call 0363dh ; e8 19 fc 7015 7043 mov ax, cx ; 89 c8 7016 call 035 c3h ; e8 d6fb7044 call 035e6h ; e8 bd fb 7017 7045 mov ax, di ; 89 f8 7018 call 03 5e2h ; e8 f0fb7046 call 03605h ; e8 d7 fb 7019 7047 xor ax, ax ; 31 c0 7020 call 00626h ; e8 2f cc7048 call 00626h ; e8 f3 cb 7021 7049 mov al, byte [bp-008h] ; 8a 46 f8 7022 7050 or AL, strict byte 001h ; 0c 01 … … 7024 7052 mov dl, byte [bp-006h] ; 8a 56 fa 7025 7053 or al, dl ; 08 d0 7026 call 00600h ; e8 facb7027 call 006f8h ; e8 efcc7054 call 00600h ; e8 be cb 7055 call 006f8h ; e8 b3 cc 7028 7056 mov bx, word [bp-00ah] ; 8b 5e f6 7029 7057 mov dx, 000bah ; ba ba 00 7030 7058 mov ax, strict word 00040h ; b8 40 00 7031 call 031 c5h ; e8 b0f77059 call 031e8h ; e8 97 f7 7032 7060 mov bl, byte [bp-008h] ; 8a 5e f8 7033 7061 or bl, 060h ; 80 cb 60 … … 7035 7063 mov dx, 00087h ; ba 87 00 7036 7064 mov ax, strict word 00040h ; b8 40 00 7037 call 031 a9h ; e8 83f77038 jmp near 039 99h ; e9 70 ff7065 call 031cch ; e8 6a f7 7066 jmp near 039d5h ; e9 70 ff 7039 7067 mov ax, 00100h ; b8 00 01 7040 7068 mov word [ss:si], ax ; 36 89 04 … … 7044 7072 pop bp ; 5d 7045 7073 retn ; c3 7046 vbe_biosfn_read_video_state_size_: ; 0xc3a 36LB 0x87074 vbe_biosfn_read_video_state_size_: ; 0xc3a72 LB 0x8 7047 7075 push bp ; 55 7048 7076 mov bp, sp ; 89 e5 … … 7050 7078 pop bp ; 5d 7051 7079 retn ; c3 7052 vbe_biosfn_save_video_state_: ; 0xc3a 3eLB 0x5b7080 vbe_biosfn_save_video_state_: ; 0xc3a7a LB 0x5b 7053 7081 push bp ; 55 7054 7082 mov bp, sp ; 89 e5 … … 7069 7097 mov dx, cx ; 89 ca 7070 7098 mov ax, di ; 89 f8 7071 call 031 c5h ; e8 64f77099 call 031e8h ; e8 4b f7 7072 7100 inc cx ; 41 7073 7101 inc cx ; 41 7074 7102 test byte [bp-00ah], 001h ; f6 46 f6 01 7075 je short 03a 90h ; 74 277103 je short 03acch ; 74 27 7076 7104 mov si, strict word 00001h ; be 01 00 7077 jmp short 03a 73h ; eb 057105 jmp short 03aafh ; eb 05 7078 7106 cmp si, strict byte 00009h ; 83 fe 09 7079 jnbe short 03a 90h ; 77 1d7107 jnbe short 03acch ; 77 1d 7080 7108 cmp si, strict byte 00004h ; 83 fe 04 7081 je short 03a 8dh ; 74 157109 je short 03ac9h ; 74 15 7082 7110 mov ax, si ; 89 f0 7083 7111 mov dx, 001ceh ; ba ce 01 … … 7088 7116 mov dx, cx ; 89 ca 7089 7117 mov ax, di ; 89 f8 7090 call 031 c5h ; e8 3af77118 call 031e8h ; e8 21 f7 7091 7119 inc cx ; 41 7092 7120 inc cx ; 41 7093 7121 inc si ; 46 7094 jmp short 03a 6eh ; eb de7122 jmp short 03aaah ; eb de 7095 7123 lea sp, [bp-008h] ; 8d 66 f8 7096 7124 pop di ; 5f … … 7100 7128 pop bp ; 5d 7101 7129 retn ; c3 7102 vbe_biosfn_restore_video_state_: ; 0xc3a 99LB 0x9b7130 vbe_biosfn_restore_video_state_: ; 0xc3ad5 LB 0x9b 7103 7131 push bp ; 55 7104 7132 mov bp, sp ; 89 e5 … … 7109 7137 mov cx, ax ; 89 c1 7110 7138 mov bx, dx ; 89 d3 7111 call 031 b7h ; e8 10 f77139 call 031dah ; e8 f7 f6 7112 7140 mov word [bp-008h], ax ; 89 46 f8 7113 7141 inc bx ; 43 7114 7142 inc bx ; 43 7115 7143 test byte [bp-008h], 001h ; f6 46 f8 01 7116 jne short 03a c2h ; 75 107144 jne short 03afeh ; 75 10 7117 7145 mov ax, strict word 00004h ; b8 04 00 7118 7146 mov dx, 001ceh ; ba ce 01 … … 7121 7149 mov dx, 001cfh ; ba cf 01 7122 7150 out DX, ax ; ef 7123 jmp short 03b 2ch ; eb 6a7151 jmp short 03b68h ; eb 6a 7124 7152 mov ax, strict word 00001h ; b8 01 00 7125 7153 mov dx, 001ceh ; ba ce 01 … … 7127 7155 mov dx, bx ; 89 da 7128 7156 mov ax, cx ; 89 c8 7129 call 031 b7h ; e8 e7f67157 call 031dah ; e8 ce f6 7130 7158 mov dx, 001cfh ; ba cf 01 7131 7159 out DX, ax ; ef … … 7137 7165 mov dx, bx ; 89 da 7138 7166 mov ax, cx ; 89 c8 7139 call 031 b7h ; e8 d3f67167 call 031dah ; e8 ba f6 7140 7168 mov dx, 001cfh ; ba cf 01 7141 7169 out DX, ax ; ef … … 7147 7175 mov dx, bx ; 89 da 7148 7176 mov ax, cx ; 89 c8 7149 call 031 b7h ; e8 bff67177 call 031dah ; e8 a6 f6 7150 7178 mov dx, 001cfh ; ba cf 01 7151 7179 out DX, ax ; ef … … 7159 7187 out DX, ax ; ef 7160 7188 mov si, strict word 00005h ; be 05 00 7161 jmp short 03b 16h ; eb 057189 jmp short 03b52h ; eb 05 7162 7190 cmp si, strict byte 00009h ; 83 fe 09 7163 jnbe short 03b 2ch ; 77 167191 jnbe short 03b68h ; 77 16 7164 7192 mov ax, si ; 89 f0 7165 7193 mov dx, 001ceh ; ba ce 01 … … 7167 7195 mov dx, bx ; 89 da 7168 7196 mov ax, cx ; 89 c8 7169 call 031 b7h ; e8 94f67197 call 031dah ; e8 7b f6 7170 7198 mov dx, 001cfh ; ba cf 01 7171 7199 out DX, ax ; ef … … 7173 7201 inc bx ; 43 7174 7202 inc si ; 46 7175 jmp short 03b 11h ; eb e57203 jmp short 03b4dh ; eb e5 7176 7204 lea sp, [bp-006h] ; 8d 66 fa 7177 7205 pop si ; 5e … … 7180 7208 pop bp ; 5d 7181 7209 retn ; c3 7182 vbe_biosfn_save_restore_state_: ; 0xc3b 34LB 0x8d7210 vbe_biosfn_save_restore_state_: ; 0xc3b70 LB 0x8d 7183 7211 push bp ; 55 7184 7212 mov bp, sp ; 89 e5 … … 7193 7221 xor ah, ah ; 30 e4 7194 7222 cmp ax, strict word 00002h ; 3d 02 00 7195 je short 03b 94h ; 74 467223 je short 03bd0h ; 74 46 7196 7224 cmp ax, strict word 00001h ; 3d 01 00 7197 je short 03b 78h ; 74 257225 je short 03bb4h ; 74 25 7198 7226 test ax, ax ; 85 c0 7199 jne short 03b b0h ; 75 597227 jne short 03bech ; 75 59 7200 7228 mov ax, word [bp-006h] ; 8b 46 fa 7201 call 02a 84h ; e8 27ef7229 call 02aa7h ; e8 0e ef 7202 7230 mov cx, ax ; 89 c1 7203 7231 test byte [bp-006h], 008h ; f6 46 fa 08 7204 je short 03b 6ah ; 74 057205 call 03a 36h ; e8 ce fe7232 je short 03ba6h ; 74 05 7233 call 03a72h ; e8 ce fe 7206 7234 add ax, cx ; 01 c8 7207 7235 add ax, strict word 0003fh ; 05 3f 00 … … 7211 7239 pop ES ; 07 7212 7240 mov word [es:bx], ax ; 26 89 07 7213 jmp short 03b b3h ; eb 3b7241 jmp short 03befh ; eb 3b 7214 7242 push SS ; 16 7215 7243 pop ES ; 07 … … 7217 7245 mov dx, cx ; 89 ca 7218 7246 mov ax, word [bp-006h] ; 8b 46 fa 7219 call 02a b9h ; e8 34ef7247 call 02adch ; e8 1b ef 7220 7248 test byte [bp-006h], 008h ; f6 46 fa 08 7221 je short 03b b3h ; 74 287249 je short 03befh ; 74 28 7222 7250 mov dx, ax ; 89 c2 7223 7251 mov ax, cx ; 89 c8 7224 call 03a 3eh ; e8 ac fe7225 jmp short 03b b3h ; eb 1f7252 call 03a7ah ; e8 ac fe 7253 jmp short 03befh ; eb 1f 7226 7254 push SS ; 16 7227 7255 pop ES ; 07 … … 7229 7257 mov dx, cx ; 89 ca 7230 7258 mov ax, word [bp-006h] ; 8b 46 fa 7231 call 02e 3ah ; e8 99f27259 call 02e5dh ; e8 80 f2 7232 7260 test byte [bp-006h], 008h ; f6 46 fa 08 7233 je short 03b b3h ; 74 0c7261 je short 03befh ; 74 0c 7234 7262 mov dx, ax ; 89 c2 7235 7263 mov ax, cx ; 89 c8 7236 call 03a 99h ; e8 eb fe7237 jmp short 03b b3h ; eb 037264 call 03ad5h ; e8 eb fe 7265 jmp short 03befh ; eb 03 7238 7266 mov di, 00100h ; bf 00 01 7239 7267 push SS ; 16 … … 7245 7273 pop bp ; 5d 7246 7274 retn 00002h ; c2 02 00 7247 vbe_biosfn_get_set_scanline_length_: ; 0xc3b c1 LB 0xb27275 vbe_biosfn_get_set_scanline_length_: ; 0xc3bfd LB 0xe2 7248 7276 push bp ; 55 7249 7277 mov bp, sp ; 89 e5 7250 7278 push si ; 56 7251 7279 push di ; 57 7252 sub sp, strict byte 00006h ; 83 ec 06 7253 push ax ; 50 7254 mov si, dx ; 89 d6 7255 mov di, bx ; 89 df 7256 mov word [bp-008h], cx ; 89 4e f8 7257 call 03620h ; e8 4c fa 7258 mov ch, al ; 88 c5 7259 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 7280 sub sp, strict byte 0000ah ; 83 ec 0a 7281 push ax ; 50 7282 mov di, dx ; 89 d7 7283 mov word [bp-006h], bx ; 89 5e fa 7284 mov si, cx ; 89 ce 7285 call 0365ch ; e8 4c fa 7286 cmp AL, strict byte 00fh ; 3c 0f 7287 jne short 03c19h ; 75 05 7288 mov cx, strict word 00010h ; b9 10 00 7289 jmp short 03c1dh ; eb 04 7290 xor ah, ah ; 30 e4 7291 mov cx, ax ; 89 c1 7292 mov ch, cl ; 88 cd 7293 call 03694h ; e8 72 fa 7294 mov word [bp-00ah], ax ; 89 46 f6 7295 mov word [bp-00ch], strict word 0004fh ; c7 46 f4 4f 00 7260 7296 push SS ; 16 7261 7297 pop ES ; 07 7262 mov bx, word [es:di] ; 26 8b 1d 7263 mov al, byte [es:si] ; 26 8a 04 7298 mov bx, word [bp-006h] ; 8b 5e fa 7299 mov bx, word [es:bx] ; 26 8b 1f 7300 mov al, byte [es:di] ; 26 8a 05 7264 7301 cmp AL, strict byte 002h ; 3c 02 7265 je short 03 bf1h ; 74 0a7302 je short 03c44h ; 74 0b 7266 7303 cmp AL, strict byte 001h ; 3c 01 7267 je short 03c 1ah ; 74 2f7304 je short 03c6dh ; 74 30 7268 7305 test al, al ; 84 c0 7269 je short 03c 15h ; 74 267270 jmp short 03c5ch ; eb 6b7306 je short 03c68h ; 74 27 7307 jmp near 03cc8h ; e9 84 00 7271 7308 cmp ch, 004h ; 80 fd 04 7272 jne short 03 bfch ; 75 067309 jne short 03c4fh ; 75 06 7273 7310 mov CL, strict byte 003h ; b1 03 7274 7311 sal bx, CL ; d3 e3 7275 jmp short 03c 15h ; eb 197312 jmp short 03c68h ; eb 19 7276 7313 mov al, ch ; 88 e8 7277 7314 xor ah, ah ; 30 e4 … … 7282 7319 ; sbb ax, dx ; 1b c2 7283 7320 sar ax, CL ; d3 f8 7284 mov word [bp-00 ah], ax ; 89 46 f67321 mov word [bp-00eh], ax ; 89 46 f2 7285 7322 mov ax, bx ; 89 d8 7286 7323 xor dx, dx ; 31 d2 7287 div word [bp-00 ah] ; f7 76 f67324 div word [bp-00eh] ; f7 76 f2 7288 7325 mov bx, ax ; 89 c3 7289 7326 mov ax, bx ; 89 d8 7290 call 036 39h ; e8 1ffa7291 call 036 58h ; e8 3bfa7292 mov bx, ax ; 89 c37327 call 03675h ; e8 08 fa 7328 call 03694h ; e8 24 fa 7329 mov word [bp-008h], ax ; 89 46 f8 7293 7330 push SS ; 16 7294 7331 pop ES ; 07 7295 mov word [es:di], ax ; 26 89 05 7332 mov bx, word [bp-006h] ; 8b 5e fa 7333 mov word [es:bx], ax ; 26 89 07 7296 7334 cmp ch, 004h ; 80 fd 04 7297 jne short 03c 2fh ; 75 067335 jne short 03c88h ; 75 08 7298 7336 mov CL, strict byte 003h ; b1 03 7337 mov bx, ax ; 89 c3 7299 7338 shr bx, CL ; d3 eb 7300 jmp short 03c 44h ; eb 157339 jmp short 03c9eh ; eb 16 7301 7340 mov al, ch ; 88 e8 7302 7341 xor ah, ah ; 30 e4 … … 7307 7346 ; sbb ax, dx ; 1b c2 7308 7347 sar ax, CL ; d3 f8 7309 mov di, ax ; 89 c77310 mov ax, bx ; 89 d87311 mul di ; f7 e77348 mov bx, ax ; 89 c3 7349 mov ax, word [bp-008h] ; 8b 46 f8 7350 mul bx ; f7 e3 7312 7351 mov bx, ax ; 89 c3 7313 7352 add bx, strict byte 00003h ; 83 c3 03 … … 7315 7354 push SS ; 16 7316 7355 pop ES ; 07 7317 mov word [es: si], bx ; 26 89 1c7318 call 036 71h ; e8 1ffa7356 mov word [es:di], bx ; 26 89 1d 7357 call 036adh ; e8 01 fa 7319 7358 push SS ; 16 7320 7359 pop ES ; 07 7321 mov bx, word [bp-008h] ; 8b 5e f8 7322 mov word [es:bx], ax ; 26 89 07 7323 jmp short 03c61h ; eb 05 7324 mov word [bp-006h], 00100h ; c7 46 fa 00 01 7360 mov word [es:si], ax ; 26 89 04 7361 call 03624h ; e8 70 f9 7325 7362 push SS ; 16 7326 7363 pop ES ; 07 7327 mov ax, word [bp-006h] ; 8b 46 fa 7328 mov bx, word [bp-00ch] ; 8b 5e f4 7364 cmp ax, word [es:si] ; 26 3b 04 7365 jbe short 03ccdh ; 76 12 7366 mov ax, word [bp-00ah] ; 8b 46 f6 7367 call 03675h ; e8 b4 f9 7368 mov word [bp-00ch], 00200h ; c7 46 f4 00 02 7369 jmp short 03ccdh ; eb 05 7370 mov word [bp-00ch], 00100h ; c7 46 f4 00 01 7371 push SS ; 16 7372 pop ES ; 07 7373 mov ax, word [bp-00ch] ; 8b 46 f4 7374 mov bx, word [bp-010h] ; 8b 5e f0 7329 7375 mov word [es:bx], ax ; 26 89 07 7330 7376 lea sp, [bp-004h] ; 8d 66 fc … … 7334 7380 retn ; c3 7335 7381 7336 ; Padding 0x7 8d bytes at 0xc3c737337 times 1 933db 07382 ; Padding 0x721 bytes at 0xc3cdf 7383 times 1825 db 0 7338 7384 7339 7385 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 7467 7513 times 235 db 0 7468 7514 7469 section _DATA progbits vstart=0x4600 align=1 ; size=0x37 1fclass=DATA group=DGROUP7470 _msg_vga_init: ; 0xc4600 LB 0x 2f7471 db 'Oracle VM VirtualBox Version 5. 1.51 VGA BIOS', 00dh, 00ah, 000h7472 _vga_modes: ; 0xc46 2fLB 0x807515 section _DATA progbits vstart=0x4600 align=1 ; size=0x3732 class=DATA group=DGROUP 7516 _msg_vga_init: ; 0xc4600 LB 0x34 7517 db 'Oracle VM VirtualBox Version 5.2.0_BETA1 VGA BIOS', 00dh, 00ah, 000h 7518 _vga_modes: ; 0xc4634 LB 0x80 7473 7519 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 7474 7520 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 7479 7525 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7480 7526 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7481 _line_to_vpti: ; 0xc46 afLB 0x107527 _line_to_vpti: ; 0xc46b4 LB 0x10 7482 7528 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 7483 _dac_regs: ; 0xc46 bfLB 0x47529 _dac_regs: ; 0xc46c4 LB 0x4 7484 7530 dd 0ff3f3f3fh 7485 _video_param_table: ; 0xc46c 3LB 0x7807531 _video_param_table: ; 0xc46c8 LB 0x780 7486 7532 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7487 7533 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 7604 7650 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 7605 7651 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 7606 _palette0: ; 0xc4e4 3LB 0xc07652 _palette0: ; 0xc4e48 LB 0xc0 7607 7653 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7608 7654 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 7617 7663 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7618 7664 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7619 _palette1: ; 0xc4f0 3LB 0xc07665 _palette1: ; 0xc4f08 LB 0xc0 7620 7666 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7621 7667 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 7630 7676 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7631 7677 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7632 _palette2: ; 0xc4fc 3LB 0xc07678 _palette2: ; 0xc4fc8 LB 0xc0 7633 7679 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7634 7680 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7643 7689 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7644 7690 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7645 _palette3: ; 0xc508 3LB 0x3007691 _palette3: ; 0xc5088 LB 0x300 7646 7692 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7647 7693 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7692 7738 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7693 7739 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7694 _static_functionality: ; 0xc538 3LB 0x107740 _static_functionality: ; 0xc5388 LB 0x10 7695 7741 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7696 _dcc_table: ; 0xc539 3LB 0x247742 _dcc_table: ; 0xc5398 LB 0x24 7697 7743 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7698 7744 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7699 7745 db 000h, 000h, 000h, 000h 7700 _secondary_save_area: ; 0xc53b 7LB 0x1a7701 db 01ah, 000h, 09 3h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7746 _secondary_save_area: ; 0xc53bc LB 0x1a 7747 db 01ah, 000h, 098h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7702 7748 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7703 _video_save_pointer_table: ; 0xc53d 1LB 0x1c7704 db 0c 3h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7705 db 0b 7h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7706 _vgafont8: ; 0xc53 edLB 0x8007749 _video_save_pointer_table: ; 0xc53d6 LB 0x1c 7750 db 0c8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7751 db 0bch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7752 _vgafont8: ; 0xc53f2 LB 0x800 7707 7753 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7708 7754 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7833 7879 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7834 7880 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7835 _vgafont14: ; 0xc5b edLB 0xe007881 _vgafont14: ; 0xc5bf2 LB 0xe00 7836 7882 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7837 7883 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 8058 8104 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 8059 8105 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8060 _vgafont16: ; 0xc69 edLB 0x10008106 _vgafont16: ; 0xc69f2 LB 0x1000 8061 8107 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8062 8108 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 8315 8361 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 8316 8362 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8317 _vgafont14alt: ; 0xc79 edLB 0x12d8363 _vgafont14alt: ; 0xc79f2 LB 0x12d 8318 8364 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 8319 8365 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 8335 8381 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 8336 8382 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 8337 _vgafont16alt: ; 0xc7b1 aLB 0x1448383 _vgafont16alt: ; 0xc7b1f LB 0x144 8338 8384 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 8339 8385 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 8357 8403 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 8358 8404 db 006h, 000h, 000h, 000h 8359 _vbebios_copyright: ; 0xc7c5e LB 0x15 8405 _cga_msr: ; 0xc7c63 LB 0x9 8406 db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h 8407 _vbebios_copyright: ; 0xc7c6c LB 0x15 8360 8408 db 'VirtualBox VESA BIOS', 000h 8361 _vbebios_vendor_name: ; 0xc7c 73LB 0x138409 _vbebios_vendor_name: ; 0xc7c81 LB 0x13 8362 8410 db 'Oracle Corporation', 000h 8363 _vbebios_product_name: ; 0xc7c 86LB 0x218411 _vbebios_product_name: ; 0xc7c94 LB 0x21 8364 8412 db 'Oracle VM VirtualBox VBE Adapter', 000h 8365 _vbebios_product_revision: ; 0xc7c a7 LB 0x248366 db 'Oracle VM VirtualBox Version 5. 1.51', 000h8367 _vbebios_info_string: ; 0xc7c cbLB 0x2b8413 _vbebios_product_revision: ; 0xc7cb5 LB 0x29 8414 db 'Oracle VM VirtualBox Version 5.2.0_BETA1', 000h 8415 _vbebios_info_string: ; 0xc7cde LB 0x2b 8368 8416 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 8369 _no_vbebios_info_string: ; 0xc7 cf6LB 0x298417 _no_vbebios_info_string: ; 0xc7d09 LB 0x29 8370 8418 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 8371 8419 8372 ; Padding 0x1 bytes at 0xc7d1f 8373 db 001h 8420 section CONST progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 8374 8421 8375 section CONST progbits vstart=0x7d20align=1 ; size=0x0 class=DATA group=DGROUP8422 section CONST2 progbits vstart=0x7d32 align=1 ; size=0x0 class=DATA group=DGROUP 8376 8423 8377 section CONST2 progbits vstart=0x7d20 align=1 ; size=0x0 class=DATA group=DGROUP 8378 8379 ; Padding 0x2e0 bytes at 0xc7d20 8380 db 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh, 065h 8381 db 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh, 075h 8382 db 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h, 065h 8383 db 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 8384 db 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 8385 db 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h 8386 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8387 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8388 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8389 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8390 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8391 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8392 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8393 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8394 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8395 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8396 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8397 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8398 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8399 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8400 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8401 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8402 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8403 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8404 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8405 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8406 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8407 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8408 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8409 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8410 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8411 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8412 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8413 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8414 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8415 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8416 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8417 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8418 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8419 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8420 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8421 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8422 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8423 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8424 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8425 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h 8424 ; Padding 0x2ce bytes at 0xc7d32 8425 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 8426 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh 8427 db 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h 8428 db 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h 8429 db 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h, 056h 8430 db 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h 8431 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8432 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8433 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8434 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8435 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8436 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8437 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8438 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8439 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8440 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8441 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8442 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8443 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8444 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8445 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8446 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8447 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8448 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8449 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8450 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8451 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8452 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8453 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8454 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8455 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8456 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8457 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8458 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8459 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8460 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8461 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8462 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8463 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8464 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8465 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8466 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8467 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8468 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8469 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f5h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum
r67771 r68290 1 098b8541e3fcf2071a9363b1fa83053d*VBoxVgaBios8086.rom1 ee116917d276738dbe3da492599d263f *VBoxVgaBios8086.rom
Note:
See TracChangeset
for help on using the changeset viewer.