Changeset 68290 in vbox for trunk/src/VBox
- Timestamp:
- Aug 3, 2017 4:24:55 PM (7 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 16 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 -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
r67807 r68290 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 080h, 081h, 0 6eh, 091h990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 080h, 081h, 02bh, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 04dh, 03bh, 04dh, 03bh 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h 995 db 0c0h, 07fh, 0a0h, 080h, 0 40h, 090h, 0e8h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0c0h, 07fh, 0a0h, 080h, 0fdh, 08fh, 0a5h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 998 section CONST progbits vstart=0xb0 align=1 ; size=0x d40class=DATA group=DGROUP998 section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP 999 999 db 'NMI Handler called', 00ah, 000h 1000 1000 db 'INT18: BOOT FAILURE', 00ah, 000h … … 1101 1101 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1102 1102 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1104 db 'scsi_pci_init', 000h 1105 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1106 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1107 1104 db 'ahci_read_sectors', 000h 1108 1105 db '%s: device_id out of range %d', 00ah, 000h … … 1117 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1118 1115 1119 section CONST2 progbits vstart=0xd f0 align=1 ; size=0x3faclass=DATA group=DGROUP1120 _bios_cvs_version_string: ; 0xf0d f0 LB 0x121121 db 'VirtualBox 5. 1.51', 000h1122 _bios_prefix_string: ; 0xf0 e02LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x400 class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x18 1118 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da6 LB 0x8 1123 1120 db 'BIOS: ', 000h, 000h 1124 _isotag: ; 0xf0 e0aLB 0x61121 _isotag: ; 0xf0dae LB 0x6 1125 1122 db 'CD001', 000h 1126 _eltorito: ; 0xf0 e10LB 0x181123 _eltorito: ; 0xf0db4 LB 0x18 1127 1124 db 'EL TORITO SPECIFICATION', 000h 1128 _drivetypes: ; 0xf0 e28LB 0x281125 _drivetypes: ; 0xf0dcc LB 0x28 1129 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1130 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1131 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1132 _scan_to_scanascii: ; 0xf0 e50LB 0x37a1129 _scan_to_scanascii: ; 0xf0df4 LB 0x37a 1133 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1134 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1187 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1188 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1189 _panic_msg_keyb_buffer_full: ; 0xf11 caLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116e LB 0x20 1190 1187 db '%s: keyboard input buffer full', 00ah, 000h 1191 1188 1192 ; Padding 0x4 16 bytes at 0xf11ea1193 times 1 046db 01189 ; Padding 0x472 bytes at 0xf118e 1190 times 1138 db 0 1194 1191 1195 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8e 48 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8e08 class=CODE group=AUTO 1196 1193 rom_scan_: ; 0xf1600 LB 0x50 1197 1194 push bp ; 55 … … 1414 1411 push bp ; 55 1415 1412 mov bp, sp ; 89 e5 1416 mov bx, 00 e02h ; bb 02 0e1413 mov bx, 00da6h ; bb a6 0d 1417 1414 mov cx, ds ; 8c d9 1418 1415 mov ax, strict word 00004h ; b8 04 00 1419 1416 call 01923h ; e8 a8 01 1420 push 00d f0h ; 68 f00d1417 push 00d8eh ; 68 8e 0d 1421 1418 push 000d9h ; 68 d9 00 1422 1419 push strict byte 00004h ; 6a 04 … … 1588 1585 mov bx, strict word 0000ah ; bb 0a 00 1589 1586 xor cx, cx ; 31 c9 1590 call 0a0 e0h ; e8 13 881587 call 0a0a0h ; e8 d3 87 1591 1588 mov word [bp-008h], ax ; 89 46 f8 1592 1589 mov cx, dx ; 89 d1 … … 1818 1815 mov dx, word [bp-026h] ; 8b 56 da 1819 1816 mov si, word [bp-01eh] ; 8b 76 e2 1820 call 0a 110h ; e8 13 861817 call 0a0d0h ; e8 d3 85 1821 1818 mov ax, dx ; 89 d0 1822 1819 xor ah, dh ; 30 f4 … … 2257 2254 mov dx, word [es:si] ; 26 8b 14 2258 2255 mov si, strict word 00018h ; be 18 00 2259 call 0a 110h ; e8 c0 812256 call 0a0d0h ; e8 80 81 2260 2257 xor dh, dh ; 30 f6 2261 2258 mov word [bp-014h], dx ; 89 56 ec … … 2267 2264 mov dx, word [es:si] ; 26 8b 14 2268 2265 mov si, strict word 00020h ; be 20 00 2269 call 0a 110h ; e8 a0 812266 call 0a0d0h ; e8 60 81 2270 2267 mov bx, dx ; 89 d3 2271 2268 mov ax, word [bp-01ch] ; 8b 46 e4 … … 2298 2295 mov dx, word [es:si] ; 26 8b 14 2299 2296 mov si, strict word 00008h ; be 08 00 2300 call 0a 110h ; e8 4f 812297 call 0a0d0h ; e8 0f 81 2301 2298 mov word [bp-012h], dx ; 89 56 ee 2302 2299 mov bx, word [bp-016h] ; 8b 5e ea … … 2307 2304 mov dx, word [es:si] ; 26 8b 14 2308 2305 mov si, strict word 00018h ; be 18 00 2309 call 0a 110h ; e8 31 812306 call 0a0d0h ; e8 f1 80 2310 2307 mov ah, dl ; 88 d4 2311 2308 and ah, 00fh ; 80 e4 0f … … 2698 2695 lea ax, [bp-03ah] ; 8d 46 c6 2699 2696 call 05a02h ; e8 58 36 2700 mov bx, 00 e02h ; bb 02 0e2697 mov bx, 00da6h ; bb a6 0d 2701 2698 mov cx, ds ; 8c d9 2702 2699 mov ax, strict word 00004h ; b8 04 00 … … 2864 2861 mov dx, word [es:di+036h] ; 26 8b 55 36 2865 2862 mov si, strict word 0000bh ; be 0b 00 2866 call 0a 110h ; e8 89 7b2863 call 0a0d0h ; e8 49 7b 2867 2864 mov word [bp-024h], dx ; 89 56 dc 2868 2865 mov word [bp-032h], cx ; 89 4e ce … … 3140 3137 mov dx, word [bp-024h] ; 8b 56 dc 3141 3138 mov si, strict word 00018h ; be 18 00 3142 call 0a 110h ; e8 c7 783139 call 0a0d0h ; e8 87 78 3143 3140 xor dh, dh ; 30 f6 3144 3141 mov word [bp-014h], dx ; 89 56 ec … … 3148 3145 mov dx, word [bp-024h] ; 8b 56 dc 3149 3146 mov si, strict word 00020h ; be 20 00 3150 call 0a 110h ; e8 b0 783147 call 0a0d0h ; e8 70 78 3151 3148 mov bx, dx ; 89 d3 3152 3149 mov ax, word [bp-022h] ; 8b 46 de … … 3182 3179 mov dx, word [bp-024h] ; 8b 56 dc 3183 3180 mov si, strict word 00008h ; be 08 00 3184 call 0a 110h ; e8 5c 783181 call 0a0d0h ; e8 1c 78 3185 3182 mov word [bp-00ch], ax ; 89 46 f4 3186 3183 mov word [bp-00eh], bx ; 89 5e f2 … … 3189 3186 mov word [bp-018h], dx ; 89 56 e8 3190 3187 mov si, strict word 00010h ; be 10 00 3191 call 0a 110h ; e8 47 783188 call 0a0d0h ; e8 07 78 3192 3189 mov word [bp-024h], dx ; 89 56 dc 3193 3190 mov ax, dx ; 89 d0 … … 3449 3446 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3450 3447 jne short 02b52h ; 75 1f 3451 mov bx, 00 e02h ; bb 02 0e3448 mov bx, 00da6h ; bb a6 0d 3452 3449 mov cx, ds ; 8c d9 3453 3450 mov ax, strict word 00004h ; b8 04 00 … … 4283 4280 cmp bh, 048h ; 80 ff 48 4284 4281 jbe short 03292h ; 76 33 4285 mov bx, 00 e02h ; bb 02 0e4282 mov bx, 00da6h ; bb a6 0d 4286 4283 mov cx, ds ; 8c d9 4287 4284 mov ax, strict word 00004h ; b8 04 00 … … 5186 5183 mov byte [es:bx], 000h ; 26 c6 07 00 5187 5184 jmp near 0348ch ; e9 92 f9 5188 mov bx, 00 e02h ; bb 02 0e5185 mov bx, 00da6h ; bb a6 0d 5189 5186 mov cx, ds ; 8c d9 5190 5187 mov ax, strict word 00004h ; b8 04 00 … … 5284 5281 cmp ax, strict word 0004ah ; 3d 4a 00 5285 5282 jne short 03be4h ; 75 1f 5286 mov bx, 00 e02h ; bb 02 0e5283 mov bx, 00da6h ; bb a6 0d 5287 5284 mov cx, ds ; 8c d9 5288 5285 mov ax, strict word 00004h ; b8 04 00 … … 5389 5386 pop bp ; 5d 5390 5387 retn ; c3 5391 mov bx, 00 e02h ; bb 02 0e5388 mov bx, 00da6h ; bb a6 0d 5392 5389 mov cx, ds ; 8c d9 5393 5390 mov ax, strict word 00004h ; b8 04 00 … … 5471 5468 mov dx, ss ; 8c d2 5472 5469 lea ax, [bp-026h] ; 8d 46 da 5473 call 0a 130h ; e8 79 635470 call 0a0f0h ; e8 39 63 5474 5471 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5475 5472 mov ax, strict word 00011h ; b8 11 00 … … 5530 5527 jnc short 03e62h ; 73 10 5531 5528 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5532 cmp al, byte [di+00 e0ah] ; 3a 85 0a 0e5529 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5533 5530 je short 03e4ch ; 74 f0 5534 5531 mov ax, strict word 00005h ; b8 05 00 … … 5540 5537 jnc short 03e7ch ; 73 10 5541 5538 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5542 cmp al, byte [di+00 e10h] ; 3a 85 10 0e5539 cmp al, byte [di+00db4h] ; 3a 85 b4 0d 5543 5540 je short 03e66h ; 74 f0 5544 5541 mov ax, strict word 00006h ; b8 06 00 … … 5832 5829 cmp ax, dx ; 39 d0 5833 5830 je short 04212h ; 74 29 5834 mov bx, 00 e02h ; bb 02 0e5831 mov bx, 00da6h ; bb a6 0d 5835 5832 mov cx, ds ; 8c d9 5836 5833 mov ax, strict word 00004h ; b8 04 00 … … 5944 5941 xor dl, dl ; 30 d2 5945 5942 xor cx, cx ; 31 c9 5946 call 0a0 c0h ; e8 a3 5d5943 call 0a080h ; e8 63 5d 5947 5944 xor bx, bx ; 31 db 5948 5945 add ax, si ; 01 f0 … … 5950 5947 mov bx, di ; 89 fb 5951 5948 xor cx, cx ; 31 c9 5952 call 0a0 c0h ; e8 96 5d5949 call 0a080h ; e8 56 5d 5953 5950 mov bx, ax ; 89 c3 5954 5951 mov ax, word [bp-010h] ; 8b 46 f0 … … 5985 5982 mov dx, ss ; 8c d2 5986 5983 lea ax, [bp-02eh] ; 8d 46 d2 5987 call 0a 130h ; e8 af 5d5984 call 0a0f0h ; e8 6f 5d 5988 5985 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5989 5986 mov ax, word [bp-014h] ; 8b 46 ec … … 6052 6049 test al, al ; 84 c0 6053 6050 je short 0446ch ; 74 37 6054 mov bx, 00 e02h ; bb 02 0e6051 mov bx, 00da6h ; bb a6 0d 6055 6052 mov cx, ds ; 8c d9 6056 6053 mov ax, strict word 00004h ; b8 04 00 … … 6149 6146 mov word [bp+016h], bx ; 89 5e 16 6150 6147 jmp near 04470h ; e9 38 ff 6151 mov bx, 00 e02h ; bb 02 0e6148 mov bx, 00da6h ; bb a6 0d 6152 6149 mov cx, ds ; 8c d9 6153 6150 mov ax, strict word 00004h ; b8 04 00 … … 6271 6268 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6272 6269 jmp near 04afbh ; e9 39 04 6273 mov bx, 00 e02h ; bb 02 0e6270 mov bx, 00da6h ; bb a6 0d 6274 6271 mov cx, ds ; 8c d9 6275 6272 mov ax, strict word 00004h ; b8 04 00 … … 6324 6321 mov dx, ss ; 8c d2 6325 6322 lea ax, [bp-030h] ; 8d 46 d0 6326 call 0a 130h ; e8 d2 596323 call 0a0f0h ; e8 92 59 6327 6324 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6328 6325 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6380 6377 cmp byte [bp-018h], 000h ; 80 7e e8 00 6381 6378 je short 04846h ; 74 53 6382 mov bx, 00 e02h ; bb 02 0e6379 mov bx, 00da6h ; bb a6 0d 6383 6380 mov cx, ds ; 8c d9 6384 6381 mov ax, strict word 00004h ; b8 04 00 … … 6685 6682 je short 04b96h ; 74 21 6686 6683 mov dx, strict word 00001h ; ba 01 00 6687 mov bx, 00 e02h ; bb 02 0e6684 mov bx, 00da6h ; bb a6 0d 6688 6685 mov cx, ds ; 8c d9 6689 6686 mov ax, strict word 00004h ; b8 04 00 6690 6687 call 01923h ; e8 a0 cd 6691 6688 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6692 add dx, 00 e28h ; 81 c2 28 0e6689 add dx, 00dcch ; 81 c2 cc 0d 6693 6690 push dx ; 52 6694 6691 push 00494h ; 68 94 04 … … 6712 6709 test al, al ; 84 c0 6713 6710 je short 04bcch ; 74 1b 6714 mov bx, 00 e02h ; bb 02 0e6711 mov bx, 00da6h ; bb a6 0d 6715 6712 mov cx, ds ; 8c d9 6716 6713 mov ax, strict word 00004h ; b8 04 00 6717 6714 call 01923h ; e8 67 cd 6718 push 00 e3ch ; 68 3c 0e6715 push 00de0h ; 68 e0 0d 6719 6716 push 004a8h ; 68 a8 04 6720 6717 push strict byte 00004h ; 6a 04 … … 6724 6721 test ah, ah ; 84 e4 6725 6722 je short 04be0h ; 74 10 6726 mov bx, 00 e02h ; bb 02 0e6723 mov bx, 00da6h ; bb a6 0d 6727 6724 mov cx, ds ; 8c d9 6728 6725 mov ax, strict word 00004h ; b8 04 00 6729 6726 call 01923h ; e8 48 cd 6730 push 00 e46h ; 68 46 0e6727 push 00deah ; 68 ea 0d 6731 6728 jmp short 04bbfh ; eb df 6732 6729 test bl, 080h ; f6 c3 80 6733 6730 je short 04bf6h ; 74 11 6734 mov bx, 00 e02h ; bb 02 0e6731 mov bx, 00da6h ; bb a6 0d 6735 6732 mov cx, ds ; 8c d9 6736 6733 mov ax, strict word 00004h ; b8 04 00 6737 6734 call 01923h ; e8 33 cd 6738 6735 push si ; 56 6739 push 00 e32h ; 68 32 0e6736 push 00dd6h ; 68 d6 0d 6740 6737 jmp short 04c05h ; eb 0f 6741 mov bx, 00 e02h ; bb 02 0e6738 mov bx, 00da6h ; bb a6 0d 6742 6739 mov cx, ds ; 8c d9 6743 6740 mov ax, strict word 00004h ; b8 04 00 6744 6741 call 01923h ; e8 22 cd 6745 6742 push si ; 56 6746 push 00 e28h ; 68 28 0e6743 push 00dcch ; 68 cc 0d 6747 6744 push 004bdh ; 68 bd 04 6748 6745 push strict byte 00004h ; 6a 04 … … 6770 6767 push dx ; 52 6771 6768 mov dx, ax ; 89 c2 6772 mov bx, 00 e02h ; bb 02 0e6769 mov bx, 00da6h ; bb a6 0d 6773 6770 mov cx, ds ; 8c d9 6774 6771 mov ax, strict word 00004h ; b8 04 00 … … 6848 6845 mov byte [bp-008h], al ; 88 46 f8 6849 6846 mov byte [bp-00ah], al ; 88 46 f6 6850 mov bx, 00 e02h ; bb 02 0e6847 mov bx, 00da6h ; bb a6 0d 6851 6848 mov cx, ds ; 8c d9 6852 6849 mov ax, strict word 00004h ; b8 04 00 … … 7412 7409 test al, al ; 84 c0 7413 7410 jne short 0520fh ; 75 19 7414 mov bx, 00 e02h ; bb 02 0e7411 mov bx, 00da6h ; bb a6 0d 7415 7412 mov cx, ds ; 8c d9 7416 7413 mov ax, strict word 00004h ; b8 04 00 … … 7758 7755 cmp byte [bp-00ah], 058h ; 80 7e f6 58 7759 7756 jbe short 0559bh ; 76 1f 7760 mov bx, 00 e02h ; bb 02 0e7757 mov bx, 00da6h ; bb a6 0d 7761 7758 mov cx, ds ; 8c d9 7762 7759 mov ax, strict word 00004h ; b8 04 00 … … 7776 7773 xor ah, ah ; 30 e4 7777 7774 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7778 mov dl, byte [bx+00 e56h] ; 8a 97 56 0e7779 mov ax, word [bx+00 e56h] ; 8b 87 56 0e7775 mov dl, byte [bx+00dfah] ; 8a 97 fa 0d 7776 mov ax, word [bx+00dfah] ; 8b 87 fa 0d 7780 7777 jmp near 05645h ; e9 90 00 7781 7778 test AL, strict byte 004h ; a8 04 … … 7784 7781 xor ah, ah ; 30 e4 7785 7782 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7786 mov dl, byte [bx+00 e54h] ; 8a 97 54 0e7787 mov ax, word [bx+00 e54h] ; 8b 87 54 0e7783 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7784 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7788 7785 jmp near 05645h ; e9 79 00 7789 7786 mov al, byte [bp-00ch] ; 8a 46 f4 … … 7805 7802 xor ah, ah ; 30 e4 7806 7803 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7807 mov al, byte [bx+00 e58h] ; 8a 87 58 0e7804 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 7808 7805 mov dx, ax ; 89 c2 7809 7806 mov al, byte [bp-00eh] ; 8a 46 f2 7810 7807 test ax, dx ; 85 d0 7811 7808 je short 0560eh ; 74 0a 7812 mov dl, byte [bx+00 e50h] ; 8a 97 50 0e7813 mov ax, word [bx+00 e50h] ; 8b 87 50 0e7809 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7810 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7814 7811 jmp short 05616h ; eb 08 7815 mov dl, byte [bx+00 e52h] ; 8a 97 52 0e7816 mov ax, word [bx+00 e52h] ; 8b 87 52 0e7812 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7813 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7817 7814 shr ax, 008h ; c1 e8 08 7818 7815 mov byte [bp-00ah], al ; 88 46 f6 … … 7821 7818 xor ah, ah ; 30 e4 7822 7819 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7823 mov al, byte [bx+00 e58h] ; 8a 87 58 0e7820 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 7824 7821 mov dx, ax ; 89 c2 7825 7822 mov al, byte [bp-00eh] ; 8a 46 f2 7826 7823 test ax, dx ; 85 d0 7827 7824 je short 0563dh ; 74 0a 7828 mov dl, byte [bx+00 e52h] ; 8a 97 52 0e7829 mov ax, word [bx+00 e52h] ; 8b 87 52 0e7825 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7826 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7830 7827 jmp short 05645h ; eb 08 7831 mov dl, byte [bx+00 e50h] ; 8a 97 50 0e7832 mov ax, word [bx+00 e50h] ; 8b 87 50 0e7828 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7829 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7833 7830 shr ax, 008h ; c1 e8 08 7834 7831 mov byte [bp-00ah], al ; 88 46 f6 … … 7837 7834 test dl, dl ; 84 d2 7838 7835 jne short 0566bh ; 75 16 7839 mov bx, 00 e02h ; bb 02 0e7836 mov bx, 00da6h ; bb a6 0d 7840 7837 mov cx, ds ; 8c d9 7841 7838 mov ax, strict word 00004h ; b8 04 00 … … 8037 8034 mov word [bp+012h], dx ; 89 56 12 8038 8035 jmp near 05855h ; e9 43 00 8039 mov bx, 00 e02h ; bb 02 0e8036 mov bx, 00da6h ; bb a6 0d 8040 8037 mov cx, ds ; 8c d9 8041 8038 mov ax, strict word 00004h ; b8 04 00 … … 8048 8045 call 01966h ; e8 3a c1 8049 8046 add sp, strict byte 00006h ; 83 c4 06 8050 mov bx, 00 e02h ; bb 02 0e8047 mov bx, 00da6h ; bb a6 0d 8051 8048 mov cx, ds ; 8c d9 8052 8049 mov ax, strict word 00004h ; b8 04 00 … … 8257 8254 mov dx, word [bp+00ch] ; 8b 56 0c 8258 8255 mov si, strict word 00020h ; be 20 00 8259 call 0a 110h ; e8 e1 468256 call 0a0d0h ; e8 a1 46 8260 8257 test ax, ax ; 85 c0 8261 8258 jne short 05a3fh ; 75 0c … … 8295 8292 mov bx, strict word 0003fh ; bb 3f 00 8296 8293 xor cx, cx ; 31 c9 8297 call 0a0 c0h ; e8 38 468294 call 0a080h ; e8 f8 45 8298 8295 mov bx, ax ; 89 c3 8299 8296 mov cx, dx ; 89 d1 8300 8297 mov ax, word [bp-004h] ; 8b 46 fc 8301 8298 mov dx, si ; 89 f2 8302 call 0a0 e0h ; e8 4c 468299 call 0a0a0h ; e8 0c 46 8303 8300 mov word [es:di+002h], ax ; 26 89 45 02 8304 8301 cmp ax, 00400h ; 3d 00 04 … … 8441 8438 test ax, ax ; 85 c0 8442 8439 jne short 05c16h ; 75 26 8443 mov bx, 00 e02h ; bb 02 0e8440 mov bx, 00da6h ; bb a6 0d 8444 8441 mov cx, ds ; 8c d9 8445 8442 mov ax, strict word 00004h ; b8 04 00 … … 8472 8469 cmp ax, dx ; 39 d0 8473 8470 jbe short 05c74h ; 76 30 8474 mov bx, 00 e02h ; bb 02 0e8471 mov bx, 00da6h ; bb a6 0d 8475 8472 mov cx, ds ; 8c d9 8476 8473 mov ax, strict word 00004h ; b8 04 00 … … 8514 8511 mov bx, cx ; 89 cb 8515 8512 xor cx, cx ; 31 c9 8516 call 0a0 c0h ; e8 0d 448513 call 0a080h ; e8 cd 43 8517 8514 xor bx, bx ; 31 db 8518 8515 add ax, word [bp-006h] ; 03 46 fa … … 8520 8517 mov bx, word [bp-008h] ; 8b 5e f8 8521 8518 xor cx, cx ; 31 c9 8522 call 0a0 c0h ; e8 fe 438519 call 0a080h ; e8 be 43 8523 8520 xor bx, bx ; 31 db 8524 8521 add ax, word [bp-004h] ; 03 46 fc … … 8577 8574 test dl, dl ; 84 d2 8578 8575 je short 05dbbh ; 74 46 8579 mov bx, 00 e02h ; bb 02 0e8576 mov bx, 00da6h ; bb a6 0d 8580 8577 mov cx, ds ; 8c d9 8581 8578 mov ax, strict word 00004h ; b8 04 00 … … 8596 8593 or ah, 00ch ; 80 cc 0c 8597 8594 jmp near 05f01h ; e9 5c 01 8598 mov bx, 00 e02h ; bb 02 0e8595 mov bx, 00da6h ; bb a6 0d 8599 8596 mov cx, ds ; 8c d9 8600 8597 mov ax, strict word 00004h ; b8 04 00 … … 8688 8685 mov bx, word [bp-006h] ; 8b 5e fa 8689 8686 xor cx, cx ; 31 c9 8690 call 0a0 c0h ; e8 27 428687 call 0a080h ; e8 e7 41 8691 8688 mov bx, word [bp-004h] ; 8b 5e fc 8692 8689 xor cx, cx ; 31 c9 8693 call 0a0 c0h ; e8 1f 428690 call 0a080h ; e8 df 41 8694 8691 mov word [bp-00eh], ax ; 89 46 f2 8695 8692 mov word [bp-00ah], dx ; 89 56 f6 … … 8701 8698 mov word [bp+016h], ax ; 89 46 16 8702 8699 jmp near 05dbfh ; e9 04 ff 8703 mov bx, 00 e02h ; bb 02 0e8700 mov bx, 00da6h ; bb a6 0d 8704 8701 mov cx, ds ; 8c d9 8705 8702 mov ax, strict word 00004h ; b8 04 00 … … 8714 8711 add sp, strict byte 00008h ; 83 c4 08 8715 8712 jmp near 05dbbh ; e9 dd fe 8716 mov bx, 00 e02h ; bb 02 0e8713 mov bx, 00da6h ; bb a6 0d 8717 8714 mov cx, ds ; 8c d9 8718 8715 mov ax, strict word 00004h ; b8 04 00 … … 8804 8801 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8805 8802 jmp near 06400h ; e9 10 04 8806 mov bx, 00 e02h ; bb 02 0e8803 mov bx, 00da6h ; bb a6 0d 8807 8804 mov cx, ds ; 8c d9 8808 8805 mov ax, strict word 00004h ; b8 04 00 … … 8829 8826 xor bx, bx ; 31 db 8830 8827 mov si, strict word 00020h ; be 20 00 8831 call 0a 120h ; e8 e2 408828 call 0a0e0h ; e8 a2 40 8832 8829 mov si, ax ; 89 c6 8833 8830 mov word [bp-00ch], bx ; 89 5e f4 … … 8856 8853 cmp dx, word [es:bx+036h] ; 26 3b 57 36 8857 8854 jc short 060abh ; 72 23 8858 mov bx, 00 e02h ; bb 02 0e8855 mov bx, 00da6h ; bb a6 0d 8859 8856 mov cx, ds ; 8c d9 8860 8857 mov ax, strict word 00004h ; b8 04 00 … … 8914 8911 test dl, dl ; 84 d2 8915 8912 je short 0618dh ; 74 51 8916 mov bx, 00 e02h ; bb 02 0e8913 mov bx, 00da6h ; bb a6 0d 8917 8914 mov cx, ds ; 8c d9 8918 8915 mov ax, strict word 00004h ; b8 04 00 … … 8986 8983 mov bx, word [bp-00ch] ; 8b 5e f4 8987 8984 mov si, strict word 00020h ; be 20 00 8988 call 0a 110h ; e8 ee 3e8985 call 0a0d0h ; e8 ae 3e 8989 8986 mov bx, di ; 89 fb 8990 8987 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9342 9339 mov bx, strict word 0000fh ; bb 0f 00 9343 9340 xor cx, cx ; 31 c9 9344 call 0a0 e0h ; e8 2b 3b9341 call 0a0a0h ; e8 eb 3a 9345 9342 mov cx, ax ; 89 c1 9346 9343 mov bx, dx ; 89 d3 … … 9503 9500 mov word [bp+00ch], ax ; 89 46 0c 9504 9501 jmp near 0677fh ; e9 2b 00 9505 mov bx, 00 e02h ; bb 02 0e9502 mov bx, 00da6h ; bb a6 0d 9506 9503 mov cx, ds ; 8c d9 9507 9504 mov ax, strict word 00004h ; b8 04 00 … … 9694 9691 retf ; cb 9695 9692 jmp near 0677fh ; e9 49 fe 9696 mov bx, 00 e02h ; bb 02 0e9693 mov bx, 00da6h ; bb a6 0d 9697 9694 mov cx, ds ; 8c d9 9698 9695 mov ax, strict word 00004h ; b8 04 00 … … 9734 9731 or byte [bp+018h], 001h ; 80 4e 18 01 9735 9732 jmp near 0677fh ; e9 d3 fd 9736 mov bx, 00 e02h ; bb 02 0e9733 mov bx, 00da6h ; bb a6 0d 9737 9734 mov cx, ds ; 8c d9 9738 9735 mov ax, strict word 00004h ; b8 04 00 … … 9927 9924 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 9928 9925 jmp short 06b65h ; eb b9 9929 mov bx, 00 e02h ; bb 02 0e9926 mov bx, 00da6h ; bb a6 0d 9930 9927 mov cx, ds ; 8c d9 9931 9928 mov ax, strict word 00004h ; b8 04 00 … … 10703 10700 je short 0738dh ; 74 0e 10704 10701 push 008eeh ; 68 ee 08 10705 push 011 cah ; 68 ca1110702 push 0116eh ; 68 6e 11 10706 10703 push strict byte 00007h ; 6a 07 10707 10704 call 01966h ; e8 dc a5 … … 10784 10781 je short 0741eh ; 74 0e 10785 10782 push 008f8h ; 68 f8 08 10786 push 011 cah ; 68 ca1110783 push 0116eh ; 68 6e 11 10787 10784 push strict byte 00007h ; 6a 07 10788 10785 call 01966h ; e8 4b a5 … … 12293 12290 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12294 12291 jne short 081c7h ; 75 1f 12295 mov bx, 00 e02h ; bb 02 0e12292 mov bx, 00da6h ; bb a6 0d 12296 12293 mov cx, ds ; 8c d9 12297 12294 mov ax, strict word 00004h ; b8 04 00 … … 12451 12448 mov dx, ss ; 8c d2 12452 12449 lea ax, [bp-046h] ; 8d 46 ba 12453 call 0a 130h ; e8 10 1e12450 call 0a0f0h ; e8 d0 1d 12454 12451 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12455 12452 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12515 12512 cmp bx, 00200h ; 81 fb 00 02 12516 12513 je short 083e9h ; 74 20 12517 mov bx, 00 e02h ; bb 02 0e12514 mov bx, 00da6h ; bb a6 0d 12518 12515 mov cx, ds ; 8c d9 12519 12516 mov ax, strict word 00004h ; b8 04 00 … … 12582 12579 mov dx, word [bp-014h] ; 8b 56 ec 12583 12580 mov si, strict word 0000ch ; be 0c 00 12584 call 0a 110h ; e8 a9 1c12581 call 0a0d0h ; e8 69 1c 12585 12582 mov word [bp-02ah], ax ; 89 46 d6 12586 12583 mov word [bp-016h], bx ; 89 5e ea … … 12604 12601 mov dx, word [bp-014h] ; 8b 56 ec 12605 12602 mov si, strict word 00006h ; be 06 00 12606 call 0a 110h ; e8 68 1c12603 call 0a0d0h ; e8 28 1c 12607 12604 mov si, word [bp-01eh] ; 8b 76 e2 12608 12605 add si, dx ; 01 d6 … … 12622 12619 mov dx, si ; 89 f2 12623 12620 mov si, strict word 00008h ; be 08 00 12624 call 0a 110h ; e8 38 1c12621 call 0a0d0h ; e8 f8 1b 12625 12622 mov word [bp-02eh], bx ; 89 5e d2 12626 12623 mov word [bp-030h], cx ; 89 4e d0 … … 12631 12628 mov dx, word [bp-036h] ; 8b 56 ca 12632 12629 mov si, strict word 00010h ; be 10 00 12633 call 0a 110h ; e8 1d 1c12630 call 0a0d0h ; e8 dd 1b 12634 12631 mov si, word [bp-032h] ; 8b 76 ce 12635 12632 add si, dx ; 01 d6 … … 12657 12654 mov dx, word [bp-014h] ; 8b 56 ec 12658 12655 mov si, strict word 0000bh ; be 0b 00 12659 call 0a 110h ; e8 d1 1b12656 call 0a0d0h ; e8 91 1b 12660 12657 mov si, dx ; 89 d6 12661 12658 mov dx, cx ; 89 ca … … 12700 12697 mov word [es:bx+02ch], si ; 26 89 77 2c 12701 12698 mov word [es:bx+032h], si ; 26 89 77 32 12702 mov bx, 00 e02h ; bb 02 0e12699 mov bx, 00da6h ; bb a6 0d 12703 12700 mov cx, ds ; 8c d9 12704 12701 mov ax, strict word 00004h ; b8 04 00 … … 12756 12753 inc byte [bp-00ch] ; fe 46 f4 12757 12754 jmp near 086f5h ; e9 91 00 12758 mov bx, 00 e02h ; bb 02 0e12755 mov bx, 00da6h ; bb a6 0d 12759 12756 mov cx, ds ; 8c d9 12760 12757 mov ax, strict word 00004h ; b8 04 00 … … 12862 12859 pop bp ; 5d 12863 12860 retn ; c3 12864 scsi_pci_init_: ; 0xf878e LB 0x 6d12861 scsi_pci_init_: ; 0xf878e LB 0x2a 12865 12862 push bp ; 55 12866 12863 mov bp, sp ; 89 e5 12867 12864 push bx ; 53 12868 12865 push cx ; 51 12869 push si ; 56 12870 push di ; 57 12871 mov di, ax ; 89 c7 12872 mov si, dx ; 89 d6 12873 call 09ee8h ; e8 4c 17 12874 mov dx, ax ; 89 c2 12866 call 09ea5h ; e8 0f 17 12867 mov bx, ax ; 89 c3 12875 12868 cmp ax, strict word 0ffffh ; 3d ff ff 12876 jne short 087c0h ; 75 1d 12877 mov bx, 00e02h ; bb 02 0e 12878 mov cx, ds ; 8c d9 12879 mov ax, strict word 00004h ; b8 04 00 12880 call 01923h ; e8 75 91 12881 push si ; 56 12882 push di ; 57 12883 push 00c61h ; 68 61 0c 12884 push 00c6fh ; 68 6f 0c 12885 push strict byte 00004h ; 6a 04 12886 call 01966h ; e8 ab 91 12887 add sp, strict byte 0000ah ; 83 c4 0a 12888 jmp short 087f2h ; eb 32 12889 mov bx, 00e02h ; bb 02 0e 12890 mov cx, ds ; 8c d9 12891 mov ax, strict word 00004h ; b8 04 00 12892 call 01923h ; e8 58 91 12893 push dx ; 52 12894 push si ; 56 12895 push di ; 57 12896 push 00c61h ; 68 61 0c 12897 push 00c98h ; 68 98 0c 12898 push strict byte 00004h ; 6a 04 12899 call 01966h ; e8 8d 91 12900 add sp, strict byte 0000ch ; 83 c4 0c 12901 mov al, dl ; 88 d0 12902 xor ah, ah ; 30 e4 12903 mov si, ax ; 89 c6 12904 shr dx, 008h ; c1 ea 08 12905 mov al, dl ; 88 d0 12869 je short 087b1h ; 74 14 12870 mov dl, bl ; 88 da 12871 xor dh, dh ; 30 f6 12872 shr bx, 008h ; c1 eb 08 12873 mov al, bl ; 88 d8 12874 xor ah, ah ; 30 e4 12906 12875 mov cx, strict word 00007h ; b9 07 00 12907 12876 mov bx, strict word 00004h ; bb 04 00 12908 mov dx, si ; 89 f2 12909 call 09fb1h ; e8 bf 17 12910 lea sp, [bp-008h] ; 8d 66 f8 12911 pop di ; 5f 12912 pop si ; 5e 12877 call 09f6eh ; e8 bd 17 12878 lea sp, [bp-004h] ; 8d 66 fc 12913 12879 pop cx ; 59 12914 12880 pop bx ; 5b 12915 12881 pop bp ; 5d 12916 12882 retn ; c3 12917 _scsi_init: ; 0xf87 fbLB 0x8112883 _scsi_init: ; 0xf87b8 LB 0x81 12918 12884 push bp ; 55 12919 12885 mov bp, sp ; 89 e5 12920 12886 mov dx, strict word 0000eh ; ba 0e 00 12921 12887 mov ax, strict word 00040h ; b8 40 00 12922 call 0166ch ; e8 658e12888 call 0166ch ; e8 a8 8e 12923 12889 mov bx, 00122h ; bb 22 01 12924 12890 mov es, ax ; 8e c0 … … 12931 12897 ; sub ah, ah ; 2a e4 12932 12898 cmp AL, strict byte 055h ; 3c 55 12933 jne short 08 834h ; 75 1512899 jne short 087f1h ; 75 15 12934 12900 xor al, al ; 30 c0 12935 12901 mov dx, 00433h ; ba 33 04 12936 12902 out DX, AL ; ee 12937 12903 mov ax, 00430h ; b8 30 04 12938 call 082e8h ; e8 bd fa12904 call 082e8h ; e8 00 fb 12939 12905 mov dx, 01040h ; ba 40 10 12940 12906 mov ax, 0104bh ; b8 4b 10 12941 call 0878eh ; e8 5aff12907 call 0878eh ; e8 9d ff 12942 12908 mov AL, strict byte 055h ; b0 55 12943 12909 mov dx, 00436h ; ba 36 04 … … 12947 12913 ; sub ah, ah ; 2a e4 12948 12914 cmp AL, strict byte 055h ; 3c 55 12949 jne short 088 56h ; 75 1512915 jne short 08813h ; 75 15 12950 12916 xor al, al ; 30 c0 12951 12917 mov dx, 00437h ; ba 37 04 12952 12918 out DX, AL ; ee 12953 12919 mov ax, 00434h ; b8 34 04 12954 call 082e8h ; e8 9bfa12920 call 082e8h ; e8 de fa 12955 12921 mov dx, strict word 00030h ; ba 30 00 12956 12922 mov ax, 01000h ; b8 00 10 12957 call 0878eh ; e8 38ff12923 call 0878eh ; e8 7b ff 12958 12924 mov AL, strict byte 055h ; b0 55 12959 12925 mov dx, 0043ah ; ba 3a 04 … … 12963 12929 ; sub ah, ah ; 2a e4 12964 12930 cmp AL, strict byte 055h ; 3c 55 12965 jne short 088 78h ; 75 1512931 jne short 08835h ; 75 15 12966 12932 xor al, al ; 30 c0 12967 12933 mov dx, 0043bh ; ba 3b 04 12968 12934 out DX, AL ; ee 12969 12935 mov ax, 00438h ; b8 38 04 12970 call 082e8h ; e8 79fa12936 call 082e8h ; e8 bc fa 12971 12937 mov dx, strict word 00054h ; ba 54 00 12972 12938 mov ax, 01000h ; b8 00 10 12973 call 0878eh ; e8 16ff12939 call 0878eh ; e8 59 ff 12974 12940 mov sp, bp ; 89 ec 12975 12941 pop bp ; 5d 12976 12942 retn ; c3 12977 ahci_ctrl_extract_bits_: ; 0xf88 7cLB 0x1c12943 ahci_ctrl_extract_bits_: ; 0xf8839 LB 0x1c 12978 12944 push si ; 56 12979 12945 push bp ; 55 … … 12984 12950 mov cl, byte [bp+006h] ; 8a 4e 06 12985 12951 xor ch, ch ; 30 ed 12986 jcxz 088 93h ; e3 0612952 jcxz 08850h ; e3 06 12987 12953 shr dx, 1 ; d1 ea 12988 12954 rcr ax, 1 ; d1 d8 12989 loop 088 8dh ; e2 fa12955 loop 0884ah ; e2 fa 12990 12956 pop bp ; 5d 12991 12957 pop si ; 5e 12992 12958 retn 00002h ; c2 02 00 12993 ahci_addr_to_phys_: ; 0xf88 98LB 0x1e12959 ahci_addr_to_phys_: ; 0xf8855 LB 0x1e 12994 12960 push bx ; 53 12995 12961 push cx ; 51 … … 13002 12968 sal ax, 1 ; d1 e0 13003 12969 rcl dx, 1 ; d1 d2 13004 loop 088 a6h ; e2 fa12970 loop 08863h ; e2 fa 13005 12971 xor cx, cx ; 31 c9 13006 12972 add ax, bx ; 01 d8 … … 13010 12976 pop bx ; 5b 13011 12977 retn ; c3 13012 ahci_port_cmd_sync_: ; 0xf88 b6LB 0x15612978 ahci_port_cmd_sync_: ; 0xf8873 LB 0x156 13013 12979 push bp ; 55 13014 12980 mov bp, sp ; 89 e5 … … 13025 12991 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13026 12992 cmp AL, strict byte 0ffh ; 3c ff 13027 jne short 088 d9h ; 75 0313028 jmp near 08 a04h ; e9 2b 0112993 jne short 08896h ; 75 03 12994 jmp near 089c1h ; e9 2b 01 13029 12995 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13030 12996 xor ah, ah ; 30 e4 … … 13039 13005 lea ax, [si+00080h] ; 8d 84 80 00 13040 13006 mov dx, cx ; 89 ca 13041 call 088 98h ; e8 92 ff13007 call 08855h ; e8 92 ff 13042 13008 mov es, cx ; 8e c1 13043 13009 mov word [es:si+008h], ax ; 26 89 44 08 … … 13105 13071 xchg dx, ax ; 92 13106 13072 test dh, 040h ; f6 c6 40 13107 jne short 089 97h ; 75 0413073 jne short 08954h ; 75 04 13108 13074 test AL, strict byte 001h ; a8 01 13109 je short 089 9bh ; 74 0413075 je short 08958h ; 74 04 13110 13076 mov AL, strict byte 001h ; b0 01 13111 jmp short 089 9dh ; eb 0213077 jmp short 0895ah ; eb 02 13112 13078 xor al, al ; 30 c0 13113 13079 test al, al ; 84 c0 13114 je short 089 6ah ; 74 c913080 je short 08927h ; 74 c9 13115 13081 mov al, byte [bp-008h] ; 8a 46 f8 13116 13082 xor ah, ah ; 30 e4 … … 13168 13134 pop bp ; 5d 13169 13135 retn ; c3 13170 ahci_cmd_data_: ; 0xf8 a0cLB 0x26713136 ahci_cmd_data_: ; 0xf89c9 LB 0x267 13171 13137 push bp ; 55 13172 13138 mov bp, sp ; 89 e5 … … 13193 13159 mov ax, 00080h ; b8 80 00 13194 13160 mov dx, word [bp-00ah] ; 8b 56 f6 13195 call 0a 130h ; e8 e61613161 call 0a0f0h ; e8 e9 16 13196 13162 mov es, [bp-00ah] ; 8e 46 f6 13197 13163 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13211 13177 mov dx, word [es:si] ; 26 8b 14 13212 13178 mov si, strict word 00008h ; be 08 00 13213 call 0a 110h ; e8 821613179 call 0a0d0h ; e8 85 16 13214 13180 mov es, [bp-00ah] ; 8e 46 f6 13215 13181 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13222 13188 mov dx, word [es:si] ; 26 8b 14 13223 13189 mov si, strict word 00010h ; be 10 00 13224 call 0a 110h ; e8 5c1613190 call 0a0d0h ; e8 5f 16 13225 13191 mov es, [bp-00ah] ; 8e 46 f6 13226 13192 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13234 13200 mov dx, word [es:si] ; 26 8b 14 13235 13201 mov si, strict word 00018h ; be 18 00 13236 call 0a 110h ; e8 301613202 call 0a0d0h ; e8 33 16 13237 13203 mov es, [bp-00ah] ; 8e 46 f6 13238 13204 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13245 13211 mov dx, word [es:si] ; 26 8b 14 13246 13212 mov si, strict word 00020h ; be 20 00 13247 call 0a 110h ; e8 0a1613213 call 0a0d0h ; e8 0d 16 13248 13214 mov es, [bp-00ah] ; 8e 46 f6 13249 13215 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13256 13222 mov dx, word [es:si] ; 26 8b 14 13257 13223 mov si, strict word 00028h ; be 28 00 13258 call 0a 110h ; e8 e41513224 call 0a0d0h ; e8 e7 15 13259 13225 mov es, [bp-00ah] ; 8e 46 f6 13260 13226 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13270 13236 mov bx, word [bp-010h] ; 8b 5e f0 13271 13237 xor cx, cx ; 31 c9 13272 call 0a0 c0h ; e8 5f1513238 call 0a080h ; e8 62 15 13273 13239 push dx ; 52 13274 13240 push ax ; 50 … … 13280 13246 mov ax, 0026ah ; b8 6a 02 13281 13247 mov dx, word [bp-00ah] ; 8b 56 f6 13282 call 0 a011h ; e8 94 1413248 call 09fceh ; e8 94 14 13283 13249 mov es, [bp-00ah] ; 8e 46 f6 13284 13250 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13303 13269 mov ax, word [es:bx+020h] ; 26 8b 47 20 13304 13270 test ax, ax ; 85 c0 13305 je short 08 c0fh ; 74 3b13271 je short 08bcch ; 74 3b 13306 13272 dec ax ; 48 13307 13273 mov es, [bp-00ah] ; 8e 46 f6 … … 13321 13287 mov al, byte [bp-008h] ; 8a 46 f8 13322 13288 cmp AL, strict byte 035h ; 3c 35 13323 jne short 08 c1ch ; 75 0613289 jne short 08bd9h ; 75 06 13324 13290 mov byte [bp-008h], 040h ; c6 46 f8 40 13325 jmp short 08 c33h ; eb 1713291 jmp short 08bf0h ; eb 17 13326 13292 cmp AL, strict byte 0a0h ; 3c a0 13327 jne short 08 c2fh ; 75 0f13293 jne short 08bech ; 75 0f 13328 13294 or byte [bp-008h], 020h ; 80 4e f8 20 13329 13295 les bx, [bp-00eh] ; c4 5e f2 13330 13296 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13331 jmp short 08 c33h ; eb 0413297 jmp short 08bf0h ; eb 04 13332 13298 mov byte [bp-008h], 000h ; c6 46 f8 00 13333 13299 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13336 13302 mov ax, word [bp-00eh] ; 8b 46 f2 13337 13303 mov dx, word [bp-00ch] ; 8b 56 f4 13338 call 088 b6h ; e8 71 fc13304 call 08873h ; e8 71 fc 13339 13305 mov cx, word [bp-00ch] ; 8b 4e f4 13340 13306 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13343 13309 add ax, 0026ah ; 05 6a 02 13344 13310 mov dx, cx ; 89 ca 13345 call 0a0 88h ; e8 2e 1413311 call 0a045h ; e8 2e 14 13346 13312 mov es, cx ; 8e c1 13347 13313 mov al, byte [es:bx+003h] ; 26 8a 47 03 13348 13314 test al, al ; 84 c0 13349 je short 08c 69h ; 74 0513315 je short 08c26h ; 74 05 13350 13316 mov ax, strict word 00004h ; b8 04 00 13351 jmp short 08c 6bh ; eb 0213317 jmp short 08c28h ; eb 02 13352 13318 xor ah, ah ; 30 e4 13353 13319 lea sp, [bp-006h] ; 8d 66 fa … … 13357 13323 pop bp ; 5d 13358 13324 retn ; c3 13359 ahci_port_deinit_current_: ; 0xf8c 73LB 0x18013325 ahci_port_deinit_current_: ; 0xf8c30 LB 0x180 13360 13326 push bp ; 55 13361 13327 mov bp, sp ; 89 e5 … … 13372 13338 mov byte [bp-00ah], al ; 88 46 f6 13373 13339 cmp AL, strict byte 0ffh ; 3c ff 13374 je short 08c f4h ; 74 5f13340 je short 08cb1h ; 74 5f 13375 13341 xor ah, ah ; 30 e4 13376 13342 sal ax, 007h ; c1 e0 07 … … 13416 13382 xchg dx, ax ; 92 13417 13383 test ax, 0c011h ; a9 11 c0 13418 je short 08c f7h ; 74 0713384 je short 08cb4h ; 74 07 13419 13385 mov AL, strict byte 001h ; b0 01 13420 jmp short 08c f9h ; eb 0513421 jmp near 08d eah ; e9 f3 0013386 jmp short 08cb6h ; eb 05 13387 jmp near 08da7h ; e9 f3 00 13422 13388 xor al, al ; 30 c0 13423 13389 cmp AL, strict byte 001h ; 3c 01 13424 je short 08c c7h ; 74 ca13390 je short 08c84h ; 74 ca 13425 13391 mov cx, strict word 00020h ; b9 20 00 13426 13392 xor bx, bx ; 31 db 13427 13393 mov ax, di ; 89 f8 13428 13394 mov dx, word [bp-00eh] ; 8b 56 f2 13429 call 0a 130h ; e8 261413395 call 0a0f0h ; e8 29 14 13430 13396 lea ax, [di+00080h] ; 8d 85 80 00 13431 13397 mov cx, strict word 00040h ; b9 40 00 13432 13398 xor bx, bx ; 31 db 13433 13399 mov dx, word [bp-00eh] ; 8b 56 f2 13434 call 0a 130h ; e8 171413400 call 0a0f0h ; e8 1a 14 13435 13401 lea ax, [di+00200h] ; 8d 85 00 02 13436 13402 mov cx, strict word 00060h ; b9 60 00 13437 13403 xor bx, bx ; 31 db 13438 13404 mov dx, word [bp-00eh] ; 8b 56 f2 13439 call 0a 130h ; e8 081413405 call 0a0f0h ; e8 0b 14 13440 13406 mov al, byte [bp-00ah] ; 8a 46 f6 13441 13407 xor ah, ah ; 30 e4 … … 13542 13508 pop bp ; 5d 13543 13509 retn ; c3 13544 ahci_port_init_: ; 0xf8d f3LB 0x24d13510 ahci_port_init_: ; 0xf8db0 LB 0x24d 13545 13511 push bp ; 55 13546 13512 mov bp, sp ; 89 e5 … … 13552 13518 mov word [bp-00ah], dx ; 89 56 f6 13553 13519 mov byte [bp-008h], bl ; 88 5e f8 13554 call 08c 73h ; e8 6c fe13520 call 08c30h ; e8 6c fe 13555 13521 mov al, bl ; 88 d8 13556 13522 xor ah, ah ; 30 e4 … … 13601 13567 xchg dx, ax ; 92 13602 13568 test ax, 0c011h ; a9 11 c0 13603 je short 08e 78h ; 74 0413569 je short 08e35h ; 74 04 13604 13570 mov AL, strict byte 001h ; b0 01 13605 jmp short 08e 7ah ; eb 0213571 jmp short 08e37h ; eb 02 13606 13572 xor al, al ; 30 c0 13607 13573 cmp AL, strict byte 001h ; 3c 01 13608 je short 08e 43h ; 74 c513574 je short 08e00h ; 74 c5 13609 13575 mov cx, strict word 00020h ; b9 20 00 13610 13576 xor bx, bx ; 31 db 13611 13577 mov ax, si ; 89 f0 13612 13578 mov dx, word [bp-00ah] ; 8b 56 f6 13613 call 0a 130h ; e8 a51213579 call 0a0f0h ; e8 a8 12 13614 13580 lea ax, [si+00080h] ; 8d 84 80 00 13615 13581 mov cx, strict word 00040h ; b9 40 00 13616 13582 xor bx, bx ; 31 db 13617 13583 mov dx, word [bp-00ah] ; 8b 56 f6 13618 call 0a 130h ; e8 961213584 call 0a0f0h ; e8 99 12 13619 13585 lea di, [si+00200h] ; 8d bc 00 02 13620 13586 mov cx, strict word 00060h ; b9 60 00 … … 13622 13588 mov ax, di ; 89 f8 13623 13589 mov dx, word [bp-00ah] ; 8b 56 f6 13624 call 0a 130h ; e8 851213590 call 0a0f0h ; e8 88 12 13625 13591 mov bl, byte [bp-008h] ; 8a 5e f8 13626 13592 xor bh, bh ; 30 ff … … 13640 13606 mov ax, di ; 89 f8 13641 13607 mov dx, word [bp-00ah] ; 8b 56 f6 13642 call 088 98h ; e8 bf f913608 call 08855h ; e8 bf f9 13643 13609 mov es, [bp-00ah] ; 8e 46 f6 13644 13610 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13685 13651 mov ax, si ; 89 f0 13686 13652 mov dx, word [bp-00ah] ; 8b 56 f6 13687 call 088 98h ; e8 53 f913653 call 08855h ; e8 53 f9 13688 13654 mov es, [bp-00ah] ; 8e 46 f6 13689 13655 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13790 13756 pop bp ; 5d 13791 13757 retn ; c3 13792 @ahci_read_sectors: ; 0xf 9040LB 0xa813758 @ahci_read_sectors: ; 0xf8ffd LB 0xa8 13793 13759 push bp ; 55 13794 13760 mov bp, sp ; 89 e5 … … 13801 13767 sub bx, strict byte 0000ch ; 83 eb 0c 13802 13768 cmp bx, strict byte 00004h ; 83 fb 04 13803 jbe short 090 66h ; 76 0f13769 jbe short 09023h ; 76 0f 13804 13770 push bx ; 53 13805 push 00c c4h ; 68 c40c13806 push 00c d6h ; 68 d60c13771 push 00c62h ; 68 62 0c 13772 push 00c74h ; 68 74 0c 13807 13773 push strict byte 00007h ; 6a 07 13808 call 01966h ; e8 038913774 call 01966h ; e8 46 89 13809 13775 add sp, strict byte 00008h ; 83 c4 08 13810 13776 xor di, di ; 31 ff … … 13821 13787 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13822 13788 xor ax, ax ; 31 c0 13823 call 08d f3h ; e8 60 fd13789 call 08db0h ; e8 60 fd 13824 13790 mov bx, strict word 00025h ; bb 25 00 13825 13791 mov ax, si ; 89 f0 13826 13792 mov dx, word [bp+006h] ; 8b 56 06 13827 call 08 a0ch ; e8 6e f913793 call 089c9h ; e8 6e f9 13828 13794 mov word [bp-006h], ax ; 89 46 fa 13829 13795 mov es, [bp+006h] ; 8e 46 06 … … 13854 13820 pop bp ; 5d 13855 13821 retn 00004h ; c2 04 00 13856 @ahci_write_sectors: ; 0xf90 e8LB 0x8613822 @ahci_write_sectors: ; 0xf90a5 LB 0x86 13857 13823 push bp ; 55 13858 13824 mov bp, sp ; 89 e5 … … 13866 13832 sub dx, strict byte 0000ch ; 83 ea 0c 13867 13833 cmp dx, strict byte 00004h ; 83 fa 04 13868 jbe short 09 112h ; 76 0f13834 jbe short 090cfh ; 76 0f 13869 13835 push dx ; 52 13870 push 00c f5h ; 68 f50c13871 push 00c d6h ; 68 d60c13836 push 00c93h ; 68 93 0c 13837 push 00c74h ; 68 74 0c 13872 13838 push strict byte 00007h ; 6a 07 13873 call 01966h ; e8 578813839 call 01966h ; e8 9a 88 13874 13840 add sp, strict byte 00008h ; 83 c4 08 13875 13841 xor bx, bx ; 31 db … … 13886 13852 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13887 13853 xor ax, ax ; 31 c0 13888 call 08d f3h ; e8 b6 fc13854 call 08db0h ; e8 b6 fc 13889 13855 mov bx, strict word 00035h ; bb 35 00 13890 13856 mov ax, si ; 89 f0 13891 13857 mov dx, cx ; 89 ca 13892 call 08 a0ch ; e8 c5 f813858 call 089c9h ; e8 c5 f8 13893 13859 mov dx, ax ; 89 c2 13894 13860 mov es, cx ; 8e c1 … … 13905 13871 pop bp ; 5d 13906 13872 retn 00004h ; c2 04 00 13907 ahci_cmd_packet_: ; 0xf91 6eLB 0x18a13873 ahci_cmd_packet_: ; 0xf912b LB 0x18a 13908 13874 push bp ; 55 13909 13875 mov bp, sp ; 89 e5 … … 13917 13883 mov dx, strict word 0000eh ; ba 0e 00 13918 13884 mov ax, strict word 00040h ; b8 40 00 13919 call 0166ch ; e8 e3 8413885 call 0166ch ; e8 26 85 13920 13886 mov si, 00122h ; be 22 01 13921 13887 mov word [bp-008h], ax ; 89 46 f8 13922 13888 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13923 jne short 091 b4h ; 75 1f13924 mov bx, 00 e02h ; bb 02 0e13889 jne short 09171h ; 75 1f 13890 mov bx, 00da6h ; bb a6 0d 13925 13891 mov cx, ds ; 8c d9 13926 13892 mov ax, strict word 00004h ; b8 04 00 13927 call 01923h ; e8 838713928 push 00 d08h ; 68 08 0d13929 push 00 d18h ; 68 18 0d13893 call 01923h ; e8 c6 87 13894 push 00ca6h ; 68 a6 0c 13895 push 00cb6h ; 68 b6 0c 13930 13896 push strict byte 00004h ; 6a 04 13931 call 01966h ; e8 bb8713897 call 01966h ; e8 fe 87 13932 13898 add sp, strict byte 00006h ; 83 c4 06 13933 13899 mov ax, strict word 00001h ; b8 01 00 13934 jmp near 092 efh ; e9 3b 0113900 jmp near 092ach ; e9 3b 01 13935 13901 test byte [bp+004h], 001h ; f6 46 04 01 13936 jne short 091 aeh ; 75 f413902 jne short 0916bh ; 75 f4 13937 13903 mov ax, word [bp+006h] ; 8b 46 06 13938 13904 mov dx, word [bp+008h] ; 8b 56 08 … … 13940 13906 sal ax, 1 ; d1 e0 13941 13907 rcl dx, 1 ; d1 d2 13942 loop 091 c3h ; e2 fa13908 loop 09180h ; e2 fa 13943 13909 mov es, [bp-008h] ; 8e 46 f8 13944 13910 mov word [es:si], ax ; 26 89 04 … … 13954 13920 mov dx, word [bp+008h] ; 8b 56 08 13955 13921 xor cx, cx ; 31 c9 13956 call 0a0 e0h ; e8 e40e13922 call 0a0a0h ; e8 e7 0e 13957 13923 mov word [es:si+00eh], ax ; 26 89 44 0e 13958 13924 xor di, di ; 31 ff … … 13973 13939 mov bx, ax ; 89 c3 13974 13940 xor al, al ; 30 c0 13975 call 08d f3h ; e8 b8 fb13941 call 08db0h ; e8 b8 fb 13976 13942 mov al, byte [bp-006h] ; 8a 46 fa 13977 13943 xor ah, ah ; 30 e4 … … 13981 13947 mov ax, 000c0h ; b8 c0 00 13982 13948 mov dx, word [bp-00ah] ; 8b 56 f6 13983 call 0a1 40h ; e8 f00e13949 call 0a100h ; e8 f3 0e 13984 13950 mov es, [bp-008h] ; 8e 46 f8 13985 13951 mov word [es:si+018h], di ; 26 89 7c 18 … … 13988 13954 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13989 13955 test ax, ax ; 85 c0 13990 je short 092 8eh ; 74 2713956 je short 0924bh ; 74 27 13991 13957 dec ax ; 48 13992 13958 mov es, [bp-00ah] ; 8e 46 f6 … … 14001 13967 mov ax, si ; 89 f0 14002 13968 mov dx, word [bp-008h] ; 8b 56 f8 14003 call 08 a0ch ; e8 73 f713969 call 089c9h ; e8 73 f7 14004 13970 les bx, [bp-00eh] ; c4 5e f2 14005 13971 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14028 13994 mov ax, word [es:bx+006h] ; 26 8b 47 06 14029 13995 or ax, word [es:bx+004h] ; 26 0b 47 04 14030 jne short 092 edh ; 75 0513996 jne short 092aah ; 75 05 14031 13997 mov ax, strict word 00004h ; b8 04 00 14032 jmp short 092 efh ; eb 0213998 jmp short 092ach ; eb 02 14033 13999 xor ax, ax ; 31 c0 14034 14000 lea sp, [bp-004h] ; 8d 66 fc … … 14037 14003 pop bp ; 5d 14038 14004 retn 0000ch ; c2 0c 00 14039 ahci_port_detect_device_: ; 0xf92 f8LB 0x4e314005 ahci_port_detect_device_: ; 0xf92b5 LB 0x4e3 14040 14006 push bp ; 55 14041 14007 mov bp, sp ; 89 e5 … … 14050 14016 xor ch, ch ; 30 ed 14051 14017 mov bx, cx ; 89 cb 14052 call 08d f3h ; e8 e0 fa14018 call 08db0h ; e8 e0 fa 14053 14019 mov dx, strict word 0000eh ; ba 0e 00 14054 14020 mov ax, strict word 00040h ; b8 40 00 14055 call 0166ch ; e8 508314021 call 0166ch ; e8 93 83 14056 14022 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 14057 14023 mov word [bp-016h], ax ; 89 46 ea … … 14123 14089 mov bx, strict word 0000fh ; bb 0f 00 14124 14090 xor cx, cx ; 31 c9 14125 call 088 7ch ; e8 b5 f414091 call 08839h ; e8 b5 f4 14126 14092 test ax, ax ; 85 c0 14127 jne short 093 ceh ; 75 0314128 jmp near 097 d3h ; e9 05 0414093 jne short 0938bh ; 75 03 14094 jmp near 09790h ; e9 05 04 14129 14095 mov al, byte [bp-00ch] ; 8a 46 f4 14130 14096 xor ah, ah ; 30 e4 … … 14155 14121 mov bx, strict word 0000fh ; bb 0f 00 14156 14122 xor cx, cx ; 31 c9 14157 call 088 7ch ; e8 67 f414123 call 08839h ; e8 67 f4 14158 14124 cmp ax, strict word 00001h ; 3d 01 00 14159 je short 093 ceh ; 74 b414125 je short 0938bh ; 74 b4 14160 14126 push strict byte 00000h ; 6a 00 14161 14127 mov bx, strict word 0000fh ; bb 0f 00 … … 14163 14129 mov ax, word [bp-01ah] ; 8b 46 e6 14164 14130 mov dx, di ; 89 fa 14165 call 088 7ch ; e8 53 f414131 call 08839h ; e8 53 f4 14166 14132 cmp ax, strict word 00003h ; 3d 03 00 14167 jne short 093 cbh ; 75 9d14133 jne short 09388h ; 75 9d 14168 14134 mov ax, word [bp-01ch] ; 8b 46 e4 14169 14135 add ax, 00130h ; 05 30 01 … … 14193 14159 mov byte [bp-008h], al ; 88 46 f8 14194 14160 cmp AL, strict byte 004h ; 3c 04 14195 jc short 094 78h ; 72 0314196 jmp near 097 d3h ; e9 5b 0314161 jc short 09435h ; 72 03 14162 jmp near 09790h ; e9 5b 03 14197 14163 mov ax, word [bp-01ch] ; 8b 46 e4 14198 14164 add ax, 00118h ; 05 18 01 … … 14244 14210 add cl, 00ch ; 80 c1 0c 14245 14211 test dx, dx ; 85 d2 14246 jne short 09 53eh ; 75 5414212 jne short 094fbh ; 75 54 14247 14213 cmp ax, 00101h ; 3d 01 01 14248 jne short 09 53eh ; 75 4f14214 jne short 094fbh ; 75 4f 14249 14215 mov es, [bp-016h] ; 8e 46 ea 14250 14216 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14261 14227 mov ax, word [bp-00eh] ; 8b 46 f2 14262 14228 mov dx, es ; 8c c2 14263 call 08 a0ch ; e8 dd f414229 call 089c9h ; e8 dd f4 14264 14230 mov byte [bp-00ah], cl ; 88 4e f6 14265 14231 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14266 je short 09 541h ; 74 0814232 je short 094feh ; 74 08 14267 14233 mov ax, strict word 00001h ; b8 01 00 14268 jmp short 095 43h ; eb 0514269 jmp near 09 711h ; e9 d0 0114234 jmp short 09500h ; eb 05 14235 jmp near 096ceh ; e9 d0 01 14270 14236 xor ax, ax ; 31 c0 14271 14237 mov dl, al ; 88 c2 … … 14283 14249 mov word [bp-01eh], ax ; 89 46 e2 14284 14250 cmp word [bp-014h], 00fffh ; 81 7e ec ff 0f 14285 jne short 095 92h ; 75 1e14251 jne short 0954fh ; 75 1e 14286 14252 cmp di, strict byte 0ffffh ; 83 ff ff 14287 jne short 095 92h ; 75 1914253 jne short 0954fh ; 75 19 14288 14254 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14289 14255 mov word [bp-01eh], ax ; 89 46 e2 … … 14324 14290 mov al, byte [bp-008h] ; 8a 46 f8 14325 14291 cmp AL, strict byte 001h ; 3c 01 14326 jc short 09 60dh ; 72 0c14327 jbe short 09 615h ; 76 1214292 jc short 095cah ; 72 0c 14293 jbe short 095d2h ; 76 12 14328 14294 cmp AL, strict byte 003h ; 3c 03 14329 je short 09 61dh ; 74 1614295 je short 095dah ; 74 16 14330 14296 cmp AL, strict byte 002h ; 3c 02 14331 je short 09 619h ; 74 0e14332 jmp short 096 65h ; eb 5814297 je short 095d6h ; 74 0e 14298 jmp short 09622h ; eb 58 14333 14299 test al, al ; 84 c0 14334 jne short 096 65h ; 75 5414300 jne short 09622h ; 75 54 14335 14301 mov DL, strict byte 040h ; b2 40 14336 jmp short 09 61fh ; eb 0a14302 jmp short 095dch ; eb 0a 14337 14303 mov DL, strict byte 048h ; b2 48 14338 jmp short 09 61fh ; eb 0614304 jmp short 095dch ; eb 06 14339 14305 mov DL, strict byte 050h ; b2 50 14340 jmp short 09 61fh ; eb 0214306 jmp short 095dch ; eb 02 14341 14307 mov DL, strict byte 058h ; b2 58 14342 14308 mov bl, dl ; 88 d3 … … 14344 14310 xor bh, bh ; 30 ff 14345 14311 mov ax, bx ; 89 d8 14346 call 016ach ; e8 818014312 call 016ach ; e8 c4 80 14347 14313 test al, al ; 84 c0 14348 je short 096 65h ; 74 3614314 je short 09622h ; 74 36 14349 14315 mov al, dl ; 88 d0 14350 14316 db 0feh, 0c0h 14351 14317 ; inc al ; fe c0 14352 14318 xor ah, ah ; 30 e4 14353 call 016ach ; e8 748014319 call 016ach ; e8 b7 80 14354 14320 xor ah, ah ; 30 e4 14355 14321 mov cx, ax ; 89 c1 14356 14322 sal cx, 008h ; c1 e1 08 14357 14323 mov al, dl ; 88 d0 14358 call 016ach ; e8 688014324 call 016ach ; e8 ab 80 14359 14325 xor ah, ah ; 30 e4 14360 14326 add ax, cx ; 01 c8 … … 14363 14329 add AL, strict byte 002h ; 04 02 14364 14330 xor ah, ah ; 30 e4 14365 call 016ach ; e8 588014331 call 016ach ; e8 9b 80 14366 14332 xor ah, ah ; 30 e4 14367 14333 mov word [bp-02ah], ax ; 89 46 d6 14368 14334 mov ax, bx ; 89 d8 14369 call 016ach ; e8 4e8014335 call 016ach ; e8 91 80 14370 14336 xor ah, ah ; 30 e4 14371 14337 mov word [bp-026h], ax ; 89 46 da 14372 jmp short 096 77h ; eb 1214338 jmp short 09634h ; eb 12 14373 14339 push word [bp-01eh] ; ff 76 e2 14374 14340 push word [bp-012h] ; ff 76 ee … … 14377 14343 mov dx, ss ; 8c d2 14378 14344 lea ax, [bp-02ah] ; 8d 46 d6 14379 call 05a02h ; e8 8bc314380 mov bx, 00 e02h ; bb 02 0e14345 call 05a02h ; e8 ce c3 14346 mov bx, 00da6h ; bb a6 0d 14381 14347 mov cx, ds ; 8c d9 14382 14348 mov ax, strict word 00004h ; b8 04 00 14383 call 01923h ; e8 a18214349 call 01923h ; e8 e4 82 14384 14350 push word [bp-01eh] ; ff 76 e2 14385 14351 push word [bp-012h] ; ff 76 ee … … 14400 14366 mov al, byte [bp-008h] ; 8a 46 f8 14401 14367 push ax ; 50 14402 push 00 d38h ; 68 38 0d14368 push 00cd6h ; 68 d6 0c 14403 14369 push strict byte 00004h ; 6a 04 14404 call 01966h ; e8 b38214370 call 01966h ; e8 f6 82 14405 14371 add sp, strict byte 0001ch ; 83 c4 1c 14406 14372 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14433 14399 mov dx, strict word 00075h ; ba 75 00 14434 14400 mov ax, strict word 00040h ; b8 40 00 14435 call 01650h ; e8 517f14401 call 01650h ; e8 94 7f 14436 14402 mov bl, al ; 88 c3 14437 14403 db 0feh, 0c3h … … 14440 14406 mov dx, strict word 00075h ; ba 75 00 14441 14407 mov ax, strict word 00040h ; b8 40 00 14442 call 0165eh ; e8 507f14443 jmp near 097 c2h ; e9 b1 0014408 call 0165eh ; e8 93 7f 14409 jmp near 0977fh ; e9 b1 00 14444 14410 cmp dx, 0eb14h ; 81 fa 14 eb 14445 jne short 097 6bh ; 75 5414411 jne short 09728h ; 75 54 14446 14412 cmp ax, 00101h ; 3d 01 01 14447 jne short 097 6bh ; 75 4f14413 jne short 09728h ; 75 4f 14448 14414 mov es, [bp-016h] ; 8e 46 ea 14449 14415 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14460 14426 mov ax, word [bp-00eh] ; 8b 46 f2 14461 14427 mov dx, es ; 8c c2 14462 call 08 a0ch ; e8 b0 f214428 call 089c9h ; e8 b0 f2 14463 14429 mov byte [bp-00ah], cl ; 88 4e f6 14464 14430 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14465 je short 097 6dh ; 74 0714431 je short 0972ah ; 74 07 14466 14432 mov dx, strict word 00001h ; ba 01 00 14467 jmp short 097 6fh ; eb 0414468 jmp short 097 c2h ; eb 5514433 jmp short 0972ch ; eb 04 14434 jmp short 0977fh ; eb 55 14469 14435 xor dx, dx ; 31 d2 14470 14436 mov bl, byte [bp-008h] ; 8a 5e f8 … … 14505 14471 pop bp ; 5d 14506 14472 retn ; c3 14507 ahci_mem_alloc_: ; 0xf97 dbLB 0x4314473 ahci_mem_alloc_: ; 0xf9798 LB 0x43 14508 14474 push bp ; 55 14509 14475 mov bp, sp ; 89 e5 … … 14515 14481 mov dx, 00413h ; ba 13 04 14516 14482 xor ax, ax ; 31 c0 14517 call 0166ch ; e8 817e14483 call 0166ch ; e8 c4 7e 14518 14484 test ax, ax ; 85 c0 14519 je short 09 814h ; 74 2514485 je short 097d1h ; 74 25 14520 14486 dec ax ; 48 14521 14487 mov bx, ax ; 89 c3 … … 14524 14490 sal ax, 1 ; d1 e0 14525 14491 rcl dx, 1 ; d1 d2 14526 loop 097 f7h ; e2 fa14492 loop 097b4h ; e2 fa 14527 14493 mov si, ax ; 89 c6 14528 14494 mov di, dx ; 89 d7 … … 14530 14496 shr di, 1 ; d1 ef 14531 14497 rcr si, 1 ; d1 de 14532 loop 09 804h ; e2 fa14498 loop 097c1h ; e2 fa 14533 14499 mov dx, 00413h ; ba 13 04 14534 14500 xor ax, ax ; 31 c0 14535 call 0167ah ; e8 687e14501 call 0167ah ; e8 ab 7e 14536 14502 mov ax, si ; 89 f0 14537 14503 lea sp, [bp-00ah] ; 8d 66 f6 … … 14543 14509 pop bp ; 5d 14544 14510 retn ; c3 14545 ahci_hba_init_: ; 0xf9 81eLB 0x16d14511 ahci_hba_init_: ; 0xf97db LB 0x16d 14546 14512 push bp ; 55 14547 14513 mov bp, sp ; 89 e5 … … 14555 14521 mov dx, strict word 0000eh ; ba 0e 00 14556 14522 mov ax, strict word 00040h ; b8 40 00 14557 call 0166ch ; e8 387e14523 call 0166ch ; e8 7b 7e 14558 14524 mov bx, 00122h ; bb 22 01 14559 14525 mov di, ax ; 89 c7 … … 14572 14538 shr eax, 010h ; 66 c1 e8 10 14573 14539 xchg dx, ax ; 92 14574 call 097 dbh ; e8 83 ff14540 call 09798h ; e8 83 ff 14575 14541 mov word [bp-010h], ax ; 89 46 f0 14576 14542 test ax, ax ; 85 c0 14577 jne short 098 62h ; 75 0314578 jmp near 099 6ah ; e9 08 0114543 jne short 0981fh ; 75 03 14544 jmp near 09927h ; e9 08 01 14579 14545 mov ax, word [bp-010h] ; 8b 46 f0 14580 14546 mov es, di ; 8e c7 … … 14626 14592 xchg dx, ax ; 92 14627 14593 test AL, strict byte 001h ; a8 01 14628 jne short 098 bch ; 75 de14594 jne short 09879h ; 75 de 14629 14595 xor ax, ax ; 31 c0 14630 14596 xor cx, cx ; 31 c9 … … 14644 14610 mov bx, strict word 0001fh ; bb 1f 00 14645 14611 xor cx, cx ; 31 c9 14646 call 088 7ch ; e8 7a ef14612 call 08839h ; e8 7a ef 14647 14613 db 0feh, 0c0h 14648 14614 ; inc al ; fe c0 14649 14615 mov byte [bp-00ch], al ; 88 46 f4 14650 14616 mov byte [bp-00eh], 000h ; c6 46 f2 00 14651 jmp short 09 92eh ; eb 2114617 jmp short 098ebh ; eb 21 14652 14618 xor al, al ; 30 c0 14653 14619 test al, al ; 84 c0 14654 je short 09 925h ; 74 1214620 je short 098e2h ; 74 12 14655 14621 mov bl, byte [bp-00eh] ; 8a 5e f2 14656 14622 xor bh, bh ; 30 ff 14657 14623 xor ax, ax ; 31 c0 14658 14624 mov dx, word [bp-010h] ; 8b 56 f0 14659 call 092 f8h ; e8 d8 f914625 call 092b5h ; e8 d8 f9 14660 14626 dec byte [bp-00ch] ; fe 4e f4 14661 je short 099 68h ; 74 4314627 je short 09925h ; 74 43 14662 14628 inc byte [bp-00eh] ; fe 46 f2 14663 14629 cmp byte [bp-00eh], 020h ; 80 7e f2 20 14664 jnc short 099 68h ; 73 3a14630 jnc short 09925h ; 73 3a 14665 14631 mov cl, byte [bp-00eh] ; 8a 4e f2 14666 14632 xor ch, ch ; 30 ed 14667 14633 mov bx, strict word 00001h ; bb 01 00 14668 14634 xor di, di ; 31 ff 14669 jcxz 09 940h ; e3 0614635 jcxz 098fdh ; e3 06 14670 14636 sal bx, 1 ; d1 e3 14671 14637 rcl di, 1 ; d1 d7 14672 loop 09 93ah ; e2 fa14638 loop 098f7h ; e2 fa 14673 14639 mov ax, strict word 0000ch ; b8 0c 00 14674 14640 xor cx, cx ; 31 c9 … … 14686 14652 xchg dx, ax ; 92 14687 14653 test dx, di ; 85 fa 14688 jne short 099 64h ; 75 0414654 jne short 09921h ; 75 04 14689 14655 test ax, bx ; 85 d8 14690 je short 09 90dh ; 74 a914656 je short 098cah ; 74 a9 14691 14657 mov AL, strict byte 001h ; b0 01 14692 jmp short 09 90fh ; eb a714658 jmp short 098cch ; eb a7 14693 14659 xor ax, ax ; 31 c0 14694 14660 lea sp, [bp-00ah] ; 8d 66 f6 … … 14700 14666 pop bp ; 5d 14701 14667 retn ; c3 14702 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 74h, 09ah, 052h, 09ah, 058h, 09ah, 05eh, 09ah, 064h14703 db 09ah, 0 6ah, 09ah, 070h, 09ah, 074h, 09ah14704 _ahci_init: ; 0xf99 8bLB 0x13a14668 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 031h, 09ah, 00fh, 09ah, 015h, 09ah, 01bh, 09ah, 021h 14669 db 09ah, 027h, 09ah, 02dh, 09ah, 031h, 09ah 14670 _ahci_init: ; 0xf9948 LB 0x13a 14705 14671 push bp ; 55 14706 14672 mov bp, sp ; 89 e5 … … 14710 14676 mov ax, 00601h ; b8 01 06 14711 14677 mov dx, strict word 00001h ; ba 01 00 14712 call 09e e0h ; e8 44 0514678 call 09e9dh ; e8 44 05 14713 14679 mov dx, ax ; 89 c2 14714 14680 cmp ax, strict word 0ffffh ; 3d ff ff 14715 je short 099 efh ; 74 4c14681 je short 099ach ; 74 4c 14716 14682 xor al, al ; 30 c0 14717 14683 shr ax, 008h ; c1 e8 08 … … 14721 14687 xor ah, ah ; 30 e4 14722 14688 mov bx, strict word 00034h ; bb 34 00 14723 call 09 f0bh ; e8 53 0514689 call 09ec8h ; e8 53 05 14724 14690 mov cl, al ; 88 c1 14725 14691 test cl, cl ; 84 c9 14726 je short 099 f2h ; 74 3414692 je short 099afh ; 74 34 14727 14693 mov bl, cl ; 88 cb 14728 14694 xor bh, bh ; 30 ff … … 14735 14701 mov dx, word [bp-00eh] ; 8b 56 f2 14736 14702 mov ax, word [bp-014h] ; 8b 46 ec 14737 call 09 f0bh ; e8 2e 0514703 call 09ec8h ; e8 2e 05 14738 14704 cmp AL, strict byte 012h ; 3c 12 14739 je short 099 f2h ; 74 1114705 je short 099afh ; 74 11 14740 14706 mov bl, cl ; 88 cb 14741 14707 db 0feh, 0c3h … … 14744 14710 mov dx, word [bp-00eh] ; 8b 56 f2 14745 14711 mov ax, word [bp-014h] ; 8b 46 ec 14746 jmp short 099 b5h ; eb c614747 jmp near 09a beh ; e9 cc 0014712 jmp short 09972h ; eb c6 14713 jmp near 09a7bh ; e9 cc 00 14748 14714 test cl, cl ; 84 c9 14749 je short 099 efh ; 74 f914715 je short 099ach ; 74 f9 14750 14716 add cl, 002h ; 80 c1 02 14751 14717 mov bl, cl ; 88 cb … … 14759 14725 mov dx, word [bp-012h] ; 8b 56 ee 14760 14726 mov ax, word [bp-00ch] ; 8b 46 f4 14761 call 09 f0bh ; e8 f3 0414727 call 09ec8h ; e8 f3 04 14762 14728 cmp AL, strict byte 010h ; 3c 10 14763 jne short 099 efh ; 75 d314729 jne short 099ach ; 75 d3 14764 14730 mov byte [bp-008h], 000h ; c6 46 f8 00 14765 14731 mov bl, cl ; 88 cb … … 14768 14734 mov dx, word [bp-012h] ; 8b 56 ee 14769 14735 mov ax, word [bp-00ch] ; 8b 46 f4 14770 call 09 f39h ; e8 09 0514736 call 09ef6h ; e8 09 05 14771 14737 mov dx, ax ; 89 c2 14772 14738 and ax, strict word 0000fh ; 25 0f 00 14773 14739 sub ax, strict word 00004h ; 2d 04 00 14774 14740 cmp ax, strict word 0000bh ; 3d 0b 00 14775 jnbe short 09a 74h ; 77 3714741 jnbe short 09a31h ; 77 37 14776 14742 push CS ; 0e 14777 14743 pop ES ; 07 14778 14744 mov cx, strict word 00008h ; b9 08 00 14779 mov di, 099 74h ; bf 749914745 mov di, 09931h ; bf 31 99 14780 14746 repne scasb ; f2 ae 14781 14747 sal cx, 1 ; d1 e1 14782 14748 mov di, cx ; 89 cf 14783 mov ax, word [cs:di-066 85h] ; 2e 8b 85 7b9914749 mov ax, word [cs:di-066c8h] ; 2e 8b 85 38 99 14784 14750 jmp ax ; ff e0 14785 14751 mov byte [bp-008h], 010h ; c6 46 f8 10 14786 jmp short 09a 74h ; eb 1c14752 jmp short 09a31h ; eb 1c 14787 14753 mov byte [bp-008h], 014h ; c6 46 f8 14 14788 jmp short 09a 74h ; eb 1614754 jmp short 09a31h ; eb 16 14789 14755 mov byte [bp-008h], 018h ; c6 46 f8 18 14790 jmp short 09a 74h ; eb 1014756 jmp short 09a31h ; eb 10 14791 14757 mov byte [bp-008h], 01ch ; c6 46 f8 1c 14792 jmp short 09a 74h ; eb 0a14758 jmp short 09a31h ; eb 0a 14793 14759 mov byte [bp-008h], 020h ; c6 46 f8 20 14794 jmp short 09a 74h ; eb 0414760 jmp short 09a31h ; eb 04 14795 14761 mov byte [bp-008h], 024h ; c6 46 f8 24 14796 14762 mov si, dx ; 89 d6 … … 14799 14765 mov al, byte [bp-008h] ; 8a 46 f8 14800 14766 test al, al ; 84 c0 14801 je short 09a beh ; 74 3b14767 je short 09a7bh ; 74 3b 14802 14768 mov bl, al ; 88 c3 14803 14769 xor bh, bh ; 30 ff … … 14810 14776 mov dx, word [bp-010h] ; 8b 56 f0 14811 14777 mov ax, word [bp-016h] ; 8b 46 ea 14812 call 09f 63h ; e8 c1 0414778 call 09f20h ; e8 c1 04 14813 14779 test AL, strict byte 001h ; a8 01 14814 je short 09a beh ; 74 1814780 je short 09a7bh ; 74 18 14815 14781 and AL, strict byte 0f0h ; 24 f0 14816 14782 add si, ax ; 01 c6 … … 14819 14785 mov dx, word [bp-010h] ; 8b 56 f0 14820 14786 mov ax, word [bp-016h] ; 8b 46 ea 14821 call 09f b1h ; e8 f8 0414787 call 09f6eh ; e8 f8 04 14822 14788 mov ax, si ; 89 f0 14823 call 09 81eh ; e8 60 fd14789 call 097dbh ; e8 60 fd 14824 14790 lea sp, [bp-004h] ; 8d 66 fc 14825 14791 pop di ; 5f … … 14827 14793 pop bp ; 5d 14828 14794 retn ; c3 14829 apm_out_str_: ; 0xf9a c5LB 0x3914795 apm_out_str_: ; 0xf9a82 LB 0x39 14830 14796 push bp ; 55 14831 14797 mov bp, sp ; 89 e5 … … 14833 14799 mov bx, ax ; 89 c3 14834 14800 cmp byte [bx], 000h ; 80 3f 00 14835 je short 09a dah ; 74 0a14801 je short 09a97h ; 74 0a 14836 14802 mov al, byte [bx] ; 8a 07 14837 14803 out DX, AL ; ee … … 14840 14806 db 00ah, 0c0h 14841 14807 ; or al, al ; 0a c0 14842 jne short 09a d2h ; 75 f814808 jne short 09a8fh ; 75 f8 14843 14809 lea sp, [bp-002h] ; 8d 66 fe 14844 14810 pop bx ; 5b 14845 14811 pop bp ; 5d 14846 14812 retn ; c3 14847 pop DS ; 1f 14813 fcomp qword [bp+si-0649ch] ; dc 9a 64 9b 14814 out DX, AL ; ee 14815 call far 09b64h:09b09h ; 9a 09 9b 64 9b 14816 xor AL, strict byte 09bh ; 34 9b 14817 db 064h, 09bh 14818 ; fs wait ; 64 9b 14819 push strict byte 0ff9bh ; 6a 9b 14820 cmp word [bp+di-064c7h], bx ; 39 9b 39 9b 14821 cmp word [bp+di-06457h], bx ; 39 9b a9 9b 14822 cmp word [bp+di-064c7h], bx ; 39 9b 39 9b 14823 db 0a2h 14848 14824 wait ; 9b 14849 cmpsw ; a7 14850 wait ; 9b 14851 xor word [bp+di-064b4h], bx ; 31 9b 4c 9b 14852 cmpsw ; a7 14853 wait ; 9b 14854 jnbe short 09a87h ; 77 9b 14855 cmpsw ; a7 14856 wait ; 9b 14857 lodsw ; ad 14858 wait ; 9b 14859 jl short 09a8dh ; 7c 9b 14860 jl short 09a8fh ; 7c 9b 14861 jl short 09a91h ; 7c 9b 14862 in AL, DX ; ec 14863 wait ; 9b 14864 jl short 09a95h ; 7c 9b 14865 jl short 09a97h ; 7c 9b 14866 in ax, 09bh ; e5 9b 14867 _apm_function: ; 0xf9afe LB 0xf3 14825 _apm_function: ; 0xf9abb LB 0xf3 14868 14826 push bp ; 55 14869 14827 mov bp, sp ; 89 e5 … … 14873 14831 xor ah, ah ; 30 e4 14874 14832 cmp ax, strict word 0000eh ; 3d 0e 00 14875 jnbe short 09b 7ch ; 77 6c14833 jnbe short 09b39h ; 77 6c 14876 14834 mov bx, ax ; 89 c3 14877 14835 add bx, ax ; 01 c3 14878 14836 mov dx, word [bp+018h] ; 8b 56 18 14879 14837 or dl, 001h ; 80 ca 01 14880 jmp word [cs:bx-065 20h] ; 2e ff a7 e09a14838 jmp word [cs:bx-06563h] ; 2e ff a7 9d 9a 14881 14839 mov word [bp+012h], 00102h ; c7 46 12 02 01 14882 14840 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14883 14841 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14884 jmp near 09b a7h ; e9 76 0014842 jmp near 09b64h ; e9 76 00 14885 14843 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14886 mov word [bp+00ch], 0a1 b4h ; c7 46 0c b4 a114844 mov word [bp+00ch], 0a174h ; c7 46 0c 74 a1 14887 14845 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14888 14846 mov ax, strict word 0fff0h ; b8 f0 ff 14889 14847 mov word [bp+006h], ax ; 89 46 06 14890 14848 mov word [bp+004h], ax ; 89 46 04 14891 jmp near 09b a7h ; e9 5b 0014849 jmp near 09b64h ; e9 5b 00 14892 14850 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14893 14851 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14902 14860 mov si, ax ; 89 c6 14903 14861 sal esi, 010h ; 66 c1 e6 10 14904 jmp near 09b a7h ; e9 30 0014862 jmp near 09b64h ; e9 30 00 14905 14863 sti ; fb 14906 14864 hlt ; f4 14907 jmp near 09b a7h ; e9 2b 0014908 mov bx, 00 e02h ; bb 02 0e14865 jmp near 09b64h ; e9 2b 00 14866 mov bx, 00da6h ; bb a6 0d 14909 14867 mov cx, ds ; 8c d9 14910 14868 mov ax, strict word 00004h ; b8 04 00 14911 call 01923h ; e8 9c7d14869 call 01923h ; e8 df 7d 14912 14870 push word [bp+00ch] ; ff 76 0c 14913 14871 push word [bp+012h] ; ff 76 12 14914 push 00d 8bh ; 68 8b0d14872 push 00d29h ; 68 29 0d 14915 14873 push strict byte 00004h ; 6a 04 14916 call 01966h ; e8 d1 7d14874 call 01966h ; e8 14 7e 14917 14875 add sp, strict byte 00008h ; 83 c4 08 14918 14876 mov ax, word [bp+012h] ; 8b 46 12 … … 14926 14884 retn ; c3 14927 14885 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14928 je short 09b d2h ; 74 1f14886 je short 09b8fh ; 74 1f 14929 14887 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14930 je short 09b cah ; 74 1114888 je short 09b87h ; 74 11 14931 14889 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14932 jne short 09b dah ; 75 1b14890 jne short 09b97h ; 75 1b 14933 14891 mov dx, 0040fh ; ba 0f 04 14934 mov ax, 00d 72h ; b8 720d14935 call 09a c5h ; e8 fd fe14936 jmp short 09b a7h ; eb dd14892 mov ax, 00d10h ; b8 10 0d 14893 call 09a82h ; e8 fd fe 14894 jmp short 09b64h ; eb dd 14937 14895 mov dx, 0040fh ; ba 0f 04 14938 mov ax, 00d 7ah ; b8 7a0d14939 jmp short 09b c5h ; eb f314896 mov ax, 00d18h ; b8 18 0d 14897 jmp short 09b82h ; eb f3 14940 14898 mov dx, 0040fh ; ba 0f 04 14941 mov ax, 00d 82h ; b8 820d14942 jmp short 09b c5h ; eb eb14899 mov ax, 00d20h ; b8 20 0d 14900 jmp short 09b82h ; eb eb 14943 14901 or ah, 00ah ; 80 cc 0a 14944 14902 mov word [bp+012h], ax ; 89 46 12 14945 14903 mov word [bp+018h], dx ; 89 56 18 14946 jmp short 09b a7h ; eb c214904 jmp short 09b64h ; eb c2 14947 14905 mov word [bp+012h], 00102h ; c7 46 12 02 01 14948 jmp short 09b a7h ; eb bb14906 jmp short 09b64h ; eb bb 14949 14907 or ah, 080h ; 80 cc 80 14950 jmp short 09b ddh ; eb ec14951 pci16_select_reg_: ; 0xf9b f1LB 0x2414908 jmp short 09b9ah ; eb ec 14909 pci16_select_reg_: ; 0xf9bae LB 0x24 14952 14910 push bp ; 55 14953 14911 mov bp, sp ; 89 e5 … … 14966 14924 pop bp ; 5d 14967 14925 retn ; c3 14968 pci16_find_device_: ; 0xf9 c15LB 0xf914926 pci16_find_device_: ; 0xf9bd2 LB 0xf9 14969 14927 push bp ; 55 14970 14928 mov bp, sp ; 89 e5 … … 14980 14938 mov byte [bp-008h], 000h ; c6 46 f8 00 14981 14939 test bl, 007h ; f6 c3 07 14982 jne short 09c 5dh ; 75 2d14940 jne short 09c1ah ; 75 2d 14983 14941 mov dx, strict word 0000eh ; ba 0e 00 14984 14942 mov ax, bx ; 89 d8 14985 call 09b f1h ; e8 b9 ff14943 call 09baeh ; e8 b9 ff 14986 14944 mov dx, 00cfeh ; ba fe 0c 14987 14945 in AL, DX ; ec … … 14990 14948 mov byte [bp-006h], al ; 88 46 fa 14991 14949 cmp AL, strict byte 0ffh ; 3c ff 14992 jne short 09c 4bh ; 75 0614950 jne short 09c08h ; 75 06 14993 14951 add bx, strict byte 00008h ; 83 c3 08 14994 jmp near 09c deh ; e9 93 0014952 jmp near 09c9bh ; e9 93 00 14995 14953 test byte [bp-006h], 080h ; f6 46 fa 80 14996 je short 09c 58h ; 74 0714954 je short 09c15h ; 74 07 14997 14955 mov word [bp-010h], strict word 00001h ; c7 46 f0 01 00 14998 jmp short 09c 5dh ; eb 0514956 jmp short 09c1ah ; eb 05 14999 14957 mov word [bp-010h], strict word 00008h ; c7 46 f0 08 00 15000 14958 mov al, byte [bp-006h] ; 8a 46 fa 15001 14959 and AL, strict byte 007h ; 24 07 15002 14960 cmp AL, strict byte 001h ; 3c 01 15003 jne short 09c 85h ; 75 1f14961 jne short 09c42h ; 75 1f 15004 14962 mov ax, bx ; 89 d8 15005 14963 shr ax, 008h ; c1 e8 08 15006 14964 test ax, ax ; 85 c0 15007 jne short 09c 85h ; 75 1614965 jne short 09c42h ; 75 16 15008 14966 mov dx, strict word 0001ah ; ba 1a 00 15009 14967 mov ax, bx ; 89 d8 15010 call 09b f1h ; e8 7a ff14968 call 09baeh ; e8 7a ff 15011 14969 mov dx, 00cfeh ; ba fe 0c 15012 14970 in AL, DX ; ec … … 15014 14972 ; sub ah, ah ; 2a e4 15015 14973 cmp al, byte [bp-008h] ; 3a 46 f8 15016 jbe short 09c 85h ; 76 0314974 jbe short 09c42h ; 76 03 15017 14975 mov byte [bp-008h], al ; 88 46 f8 15018 14976 test di, di ; 85 ff 15019 je short 09c 8eh ; 74 0514977 je short 09c4bh ; 74 05 15020 14978 mov dx, strict word 00008h ; ba 08 00 15021 jmp short 09c 90h ; eb 0214979 jmp short 09c4dh ; eb 02 15022 14980 xor dx, dx ; 31 d2 15023 14981 mov ax, bx ; 89 d8 15024 call 09b f1h ; e8 5c ff14982 call 09baeh ; e8 5c ff 15025 14983 mov dx, 00cfch ; ba fc 0c 15026 14984 in eax, DX ; 66 ed … … 15033 14991 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 15034 14992 test di, di ; 85 ff 15035 je short 09c bfh ; 74 0f14993 je short 09c7ch ; 74 0f 15036 14994 mov cx, strict word 00008h ; b9 08 00 15037 14995 shr dx, 1 ; d1 ea 15038 14996 rcr ax, 1 ; d1 d8 15039 loop 09c b3h ; e2 fa14997 loop 09c70h ; e2 fa 15040 14998 mov word [bp-00ah], ax ; 89 46 f6 15041 14999 mov word [bp-00ch], dx ; 89 56 f4 15042 15000 mov ax, word [bp-00ch] ; 8b 46 f4 15043 15001 cmp ax, word [bp-014h] ; 3b 46 ec 15044 jne short 09c cfh ; 75 0815002 jne short 09c8ch ; 75 08 15045 15003 mov ax, word [bp-00ah] ; 8b 46 f6 15046 15004 cmp ax, word [bp-012h] ; 3b 46 ee 15047 je short 09c d5h ; 74 0615005 je short 09c92h ; 74 06 15048 15006 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 15049 je short 09c dbh ; 74 0615007 je short 09c98h ; 74 06 15050 15008 dec si ; 4e 15051 15009 cmp si, strict byte 0ffffh ; 83 fe ff 15052 je short 09c efh ; 74 1415010 je short 09cach ; 74 14 15053 15011 add bx, word [bp-010h] ; 03 5e f0 15054 15012 mov dx, bx ; 89 da … … 15057 15015 xor ah, ah ; 30 e4 15058 15016 cmp dx, ax ; 39 c2 15059 jnbe short 09c efh ; 77 0315060 jmp near 09 c2bh ; e9 3c ff15017 jnbe short 09cach ; 77 03 15018 jmp near 09be8h ; e9 3c ff 15061 15019 cmp si, strict byte 0ffffh ; 83 fe ff 15062 jne short 09c f8h ; 75 0415020 jne short 09cb5h ; 75 04 15063 15021 mov ax, bx ; 89 d8 15064 jmp short 09c fbh ; eb 0315022 jmp short 09cb8h ; eb 03 15065 15023 mov ax, strict word 0ffffh ; b8 ff ff 15066 15024 lea sp, [bp-004h] ; 8d 66 fc … … 15069 15027 pop bp ; 5d 15070 15028 retn ; c3 15071 out DX, ax ; ef15029 lodsb ; ac 15072 15030 popfw ; 9d 15073 or byte [bp-061e6h], bl ; 08 9e 1a 9e 15074 db 02eh, 09eh 15075 ; cs sahf ; 2e 9e 15076 inc ax ; 40 15031 lds bx, [di-06229h] ; c5 9d d7 9d 15032 jmp short 09c64h ; eb 9d 15033 std ; fd 15034 popfw ; 9d 15035 db 010h 15077 15036 sahf ; 9e 15078 push bx ; 53 15079 sahf ; 9e 15080 _pci16_function: ; 0xf9d0e LB 0x1d2 15037 _pci16_function: ; 0xf9ccb LB 0x1d2 15081 15038 push bp ; 55 15082 15039 mov bp, sp ; 89 e5 … … 15092 15049 xor ah, ah ; 30 e4 15093 15050 cmp bx, strict byte 00003h ; 83 fb 03 15094 jc short 09 d40h ; 72 1315095 jbe short 09d 93h ; 76 6415051 jc short 09cfdh ; 72 13 15052 jbe short 09d50h ; 76 64 15096 15053 cmp bx, strict byte 0000eh ; 83 fb 0e 15097 je short 09d 9bh ; 74 6715054 je short 09d58h ; 74 67 15098 15055 cmp bx, strict byte 00008h ; 83 fb 08 15099 jc short 09d 4ah ; 72 1115056 jc short 09d07h ; 72 11 15100 15057 cmp bx, strict byte 0000dh ; 83 fb 0d 15101 jbe short 09d 9eh ; 76 6015102 jmp short 09d 4ah ; eb 0a15058 jbe short 09d5bh ; 76 60 15059 jmp short 09d07h ; eb 0a 15103 15060 cmp bx, strict byte 00002h ; 83 fb 02 15104 je short 09d 69h ; 74 2415061 je short 09d26h ; 74 24 15105 15062 cmp bx, strict byte 00001h ; 83 fb 01 15106 je short 09d 4dh ; 74 0315107 jmp near 09e ach ; e9 5f 0115063 je short 09d0ah ; 74 03 15064 jmp near 09e69h ; e9 5f 01 15108 15065 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15109 15066 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15111 15068 mov word [bp+018h], 04350h ; c7 46 18 50 43 15112 15069 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15113 jmp near 09e d9h ; e9 70 0115070 jmp near 09e96h ; e9 70 01 15114 15071 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15115 jne short 09d 75h ; 75 0615072 jne short 09d32h ; 75 06 15116 15073 or ah, 083h ; 80 cc 83 15117 jmp near 09e d2h ; e9 5d 0115074 jmp near 09e8fh ; e9 5d 01 15118 15075 mov bx, word [bp+008h] ; 8b 5e 08 15119 15076 mov dx, word [bp+01ch] ; 8b 56 1c 15120 15077 mov ax, word [bp+018h] ; 8b 46 18 15121 15078 xor cx, cx ; 31 c9 15122 call 09 c15h ; e8 92 fe15079 call 09bd2h ; e8 92 fe 15123 15080 cmp ax, strict word 0ffffh ; 3d ff ff 15124 jne short 09d 95h ; 75 0d15081 jne short 09d52h ; 75 0d 15125 15082 mov ax, word [bp+020h] ; 8b 46 20 15126 15083 xor ah, ah ; 30 e4 15127 15084 or ah, 086h ; 80 cc 86 15128 jmp near 09e d2h ; e9 3f 0115129 jmp short 09d a0h ; eb 0b15085 jmp near 09e8fh ; e9 3f 01 15086 jmp short 09d5dh ; eb 0b 15130 15087 mov word [bp+014h], ax ; 89 46 14 15131 jmp near 09e d9h ; e9 3e 0115132 jmp near 09e 67h ; e9 c9 0015133 jmp short 09d c5h ; eb 2515088 jmp near 09e96h ; e9 3e 01 15089 jmp near 09e24h ; e9 c9 00 15090 jmp short 09d82h ; eb 25 15134 15091 mov bx, word [bp+008h] ; 8b 5e 08 15135 15092 mov ax, word [bp+01ch] ; 8b 46 1c 15136 15093 mov dx, word [bp+01eh] ; 8b 56 1e 15137 15094 mov cx, strict word 00001h ; b9 01 00 15138 call 09 c15h ; e8 66 fe15095 call 09bd2h ; e8 66 fe 15139 15096 cmp ax, strict word 0ffffh ; 3d ff ff 15140 jne short 09d bfh ; 75 0b15097 jne short 09d7ch ; 75 0b 15141 15098 mov ax, word [bp+020h] ; 8b 46 20 15142 15099 xor ah, ah ; 30 e4 15143 15100 or ah, 086h ; 80 cc 86 15144 jmp near 09e d2h ; e9 13 0115101 jmp near 09e8fh ; e9 13 01 15145 15102 mov word [bp+014h], ax ; 89 46 14 15146 jmp near 09e d9h ; e9 14 0115103 jmp near 09e96h ; e9 14 01 15147 15104 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15148 jc short 09d d2h ; 72 0615105 jc short 09d8fh ; 72 06 15149 15106 or ah, 087h ; 80 cc 87 15150 jmp near 09e d2h ; e9 00 0115107 jmp near 09e8fh ; e9 00 01 15151 15108 mov dx, word [bp+004h] ; 8b 56 04 15152 15109 mov ax, word [bp+014h] ; 8b 46 14 15153 call 09b f1h ; e8 16 fe15110 call 09baeh ; e8 16 fe 15154 15111 mov bx, word [bp+020h] ; 8b 5e 20 15155 15112 xor bh, bh ; 30 ff 15156 15113 sub bx, strict byte 00008h ; 83 eb 08 15157 15114 cmp bx, strict byte 00005h ; 83 fb 05 15158 jnbe short 09e 50h ; 77 6815115 jnbe short 09e0dh ; 77 68 15159 15116 add bx, bx ; 01 db 15160 jmp word [cs:bx-06 2feh] ; 2e ff a7 02 9d15117 jmp word [cs:bx-06341h] ; 2e ff a7 bf 9c 15161 15118 mov bx, word [bp+01ch] ; 8b 5e 1c 15162 15119 xor bl, bl ; 30 db … … 15169 15126 or bx, ax ; 09 c3 15170 15127 mov word [bp+01ch], bx ; 89 5e 1c 15171 jmp short 09e 50h ; eb 4815128 jmp short 09e0dh ; eb 48 15172 15129 mov dx, word [bp+004h] ; 8b 56 04 15173 15130 xor dh, dh ; 30 f6 … … 15176 15133 in ax, DX ; ed 15177 15134 mov word [bp+01ch], ax ; 89 46 1c 15178 jmp short 09e 50h ; eb 3615135 jmp short 09e0dh ; eb 36 15179 15136 mov dx, 00cfch ; ba fc 0c 15180 15137 in eax, DX ; 66 ed … … 15185 15142 mov word [bp+01ch], ax ; 89 46 1c 15186 15143 mov word [bp+01eh], dx ; 89 56 1e 15187 jmp short 09e 50h ; eb 2215144 jmp short 09e0dh ; eb 22 15188 15145 mov ax, word [bp+01ch] ; 8b 46 1c 15189 15146 mov dx, word [bp+004h] ; 8b 56 04 … … 15192 15149 add dx, 00cfch ; 81 c2 fc 0c 15193 15150 out DX, AL ; ee 15194 jmp short 09e 50h ; eb 1015151 jmp short 09e0dh ; eb 10 15195 15152 mov ax, word [bp+01ch] ; 8b 46 1c 15196 15153 mov dx, word [bp+004h] ; 8b 56 04 … … 15199 15156 add dx, 00cfch ; 81 c2 fc 0c 15200 15157 out DX, ax ; ef 15201 jmp near 09e d9h ; e9 86 0015158 jmp near 09e96h ; e9 86 00 15202 15159 mov ax, word [bp+01ch] ; 8b 46 1c 15203 15160 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15208 15165 ; mov ax, cx ; 8b c1 15209 15166 out DX, eax ; 66 ef 15210 jmp short 09e d9h ; eb 7215167 jmp short 09e96h ; eb 72 15211 15168 mov bx, word [bp+004h] ; 8b 5e 04 15212 15169 mov es, [bp+026h] ; 8e 46 26 … … 15215 15172 mov cx, word [0f380h] ; 8b 0e 80 f3 15216 15173 cmp cx, word [es:bx] ; 26 3b 0f 15217 jbe short 09e 8dh ; 76 1115174 jbe short 09e4ah ; 76 11 15218 15175 mov ax, word [bp+020h] ; 8b 46 20 15219 15176 xor ah, ah ; 30 e4 … … 15221 15178 mov word [bp+020h], ax ; 89 46 20 15222 15179 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15223 jmp short 09e a1h ; eb 1415180 jmp short 09e5eh ; eb 14 15224 15181 les di, [es:bx+002h] ; 26 c4 7f 02 15225 15182 mov si, 0f1a0h ; be a0 f1 … … 15233 15190 les bx, [bp-008h] ; c4 5e f8 15234 15191 mov word [es:bx], ax ; 26 89 07 15235 jmp short 09e d9h ; eb 2d15236 mov bx, 00 e02h ; bb 02 0e15192 jmp short 09e96h ; eb 2d 15193 mov bx, 00da6h ; bb a6 0d 15237 15194 mov cx, ds ; 8c d9 15238 15195 mov ax, strict word 00004h ; b8 04 00 15239 call 01923h ; e8 6c7a15196 call 01923h ; e8 af 7a 15240 15197 mov ax, word [bp+014h] ; 8b 46 14 15241 15198 push ax ; 50 15242 15199 mov ax, word [bp+020h] ; 8b 46 20 15243 15200 push ax ; 50 15244 push 00d beh ; 68 be0d15201 push 00d5ch ; 68 5c 0d 15245 15202 push strict byte 00004h ; 6a 04 15246 call 01966h ; e8 9f7a15203 call 01966h ; e8 e2 7a 15247 15204 add sp, strict byte 00008h ; 83 c4 08 15248 15205 mov ax, word [bp+020h] ; 8b 46 20 … … 15256 15213 pop bp ; 5d 15257 15214 retn ; c3 15258 pci_find_classcode_: ; 0xf9e e0LB 0x815215 pci_find_classcode_: ; 0xf9e9d LB 0x8 15259 15216 push bp ; 55 15260 15217 mov bp, sp ; 89 e5 … … 15262 15219 pop bp ; 5d 15263 15220 retn ; c3 15264 pci_find_device_: ; 0xf9e e8LB 0x2315221 pci_find_device_: ; 0xf9ea5 LB 0x23 15265 15222 push bp ; 55 15266 15223 mov bp, sp ; 89 e5 … … 15274 15231 int 01ah ; cd 1a 15275 15232 cmp ah, 000h ; 80 fc 00 15276 je short 09 f01h ; 74 0315233 je short 09ebeh ; 74 03 15277 15234 mov bx, strict word 0ffffh ; bb ff ff 15278 15235 mov ax, bx ; 89 d8 … … 15283 15240 pop bp ; 5d 15284 15241 retn ; c3 15285 pci_read_config_byte_: ; 0xf9 f0bLB 0x2e15242 pci_read_config_byte_: ; 0xf9ec8 LB 0x2e 15286 15243 push bp ; 55 15287 15244 mov bp, sp ; 89 e5 … … 15309 15266 pop bp ; 5d 15310 15267 retn ; c3 15311 pci_read_config_word_: ; 0xf9 f39LB 0x2a15268 pci_read_config_word_: ; 0xf9ef6 LB 0x2a 15312 15269 push bp ; 55 15313 15270 mov bp, sp ; 89 e5 … … 15333 15290 pop bp ; 5d 15334 15291 retn ; c3 15335 pci_read_config_dword_: ; 0xf9f 63LB 0x4e15292 pci_read_config_dword_: ; 0xf9f20 LB 0x4e 15336 15293 push bp ; 55 15337 15294 mov bp, sp ; 89 e5 … … 15355 15312 int 01ah ; cd 1a 15356 15313 test cx, cx ; 85 c9 15357 jne short 09f a2h ; 75 1415314 jne short 09f5fh ; 75 14 15358 15315 mov al, byte [bp-006h] ; 8a 46 fa 15359 15316 xor ah, ah ; 30 e4 … … 15365 15322 int 01ah ; cd 1a 15366 15323 test cx, cx ; 85 c9 15367 je short 09f a7h ; 74 0515324 je short 09f64h ; 74 05 15368 15325 mov ax, strict word 00001h ; b8 01 00 15369 jmp short 09f a9h ; eb 0215326 jmp short 09f66h ; eb 02 15370 15327 xor ax, ax ; 31 c0 15371 15328 cwd ; 99 … … 15375 15332 pop bp ; 5d 15376 15333 retn ; c3 15377 pci_write_config_word_: ; 0xf9f b1LB 0x2515334 pci_write_config_word_: ; 0xf9f6e LB 0x25 15378 15335 push bp ; 55 15379 15336 mov bp, sp ; 89 e5 … … 15395 15352 pop bp ; 5d 15396 15353 retn ; c3 15397 vds_is_present_: ; 0xf9f d6LB 0x1d15354 vds_is_present_: ; 0xf9f93 LB 0x1d 15398 15355 push bx ; 53 15399 15356 push bp ; 55 … … 15403 15360 mov es, ax ; 8e c0 15404 15361 test byte [es:bx], 020h ; 26 f6 07 20 15405 je short 09f eeh ; 74 0615362 je short 09fabh ; 74 06 15406 15363 mov ax, strict word 00001h ; b8 01 00 15407 15364 pop bp ; 5d … … 15412 15369 pop bx ; 5b 15413 15370 retn ; c3 15414 vds_real_to_lin_: ; 0xf9f f3LB 0x1e15371 vds_real_to_lin_: ; 0xf9fb0 LB 0x1e 15415 15372 push bx ; 53 15416 15373 push cx ; 51 … … 15423 15380 sal ax, 1 ; d1 e0 15424 15381 rcl dx, 1 ; d1 d2 15425 loop 0 a001h ; e2 fa15382 loop 09fbeh ; e2 fa 15426 15383 xor cx, cx ; 31 c9 15427 15384 add ax, bx ; 01 d8 … … 15431 15388 pop bx ; 5b 15432 15389 retn ; c3 15433 vds_build_sg_list_: ; 0xf a011LB 0x7715390 vds_build_sg_list_: ; 0xf9fce LB 0x77 15434 15391 push bp ; 55 15435 15392 mov bp, sp ; 89 e5 … … 15445 15402 mov bx, word [bp+006h] ; 8b 5e 06 15446 15403 mov word [es:di+002h], bx ; 26 89 5d 02 15447 call 09f f3h ; e8 c3 ff15404 call 09fb0h ; e8 c3 ff 15448 15405 mov es, si ; 8e c6 15449 15406 mov word [es:di+004h], ax ; 26 89 45 04 15450 15407 mov word [es:di+006h], dx ; 26 89 55 06 15451 15408 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15452 call 09f d6h ; e8 93 ff15409 call 09f93h ; e8 93 ff 15453 15410 test ax, ax ; 85 c0 15454 je short 0a0 58h ; 74 1115411 je short 0a015h ; 74 11 15455 15412 mov es, si ; 8e c6 15456 15413 mov ax, 08105h ; b8 05 81 15457 15414 mov dx, strict word 00000h ; ba 00 00 15458 15415 int 04bh ; cd 4b 15459 jc short 0a0 55h ; 72 0215416 jc short 0a012h ; 72 02 15460 15417 db 032h, 0c0h 15461 15418 ; xor al, al ; 32 c0 15462 15419 cbw ; 98 15463 jmp short 0a0 7fh ; eb 2715420 jmp short 0a03ch ; eb 27 15464 15421 mov es, si ; 8e c6 15465 15422 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15478 15435 pop bp ; 5d 15479 15436 retn 00004h ; c2 04 00 15480 vds_free_sg_list_: ; 0xfa0 88 LB 0x3815437 vds_free_sg_list_: ; 0xfa045 LB 0x3b 15481 15438 push bp ; 55 15482 15439 mov bp, sp ; 89 e5 … … 15484 15441 push di ; 57 15485 15442 mov bx, ax ; 89 c3 15486 call 09f d6h ; e8 44 ff15443 call 09f93h ; e8 44 ff 15487 15444 test ax, ax ; 85 c0 15488 je short 0a0 a7h ; 74 1115445 je short 0a064h ; 74 11 15489 15446 mov di, bx ; 89 df 15490 15447 mov es, dx ; 8e c2 … … 15492 15449 mov dx, strict word 00000h ; ba 00 00 15493 15450 int 04bh ; cd 4b 15494 jc short 0a0 a6h ; 72 0215451 jc short 0a063h ; 72 02 15495 15452 db 032h, 0c0h 15496 15453 ; xor al, al ; 32 c0 … … 15503 15460 pop bp ; 5d 15504 15461 retn ; c3 15505 times 0x adb 015506 __U4M: ; 0xfa0 c0 LB 0x2015462 times 0xd db 0 15463 __U4M: ; 0xfa080 LB 0x20 15507 15464 pushfw ; 9c 15508 15465 push si ; 56 … … 15531 15488 retn ; c3 15532 15489 times 0x4 db 0 15533 __U4D: ; 0xfa0 e0 LB 0x3015490 __U4D: ; 0xfa0a0 LB 0x30 15534 15491 pushfw ; 9c 15535 15492 push DS ; 1e … … 15546 15503 push dx ; 52 15547 15504 push ax ; 50 15548 call 0a1 c5h ; e8 d0 0015505 call 0a185h ; e8 d0 00 15549 15506 mov cx, word [bp-002h] ; 8b 4e fe 15550 15507 mov bx, word [bp-004h] ; 8b 5e fc … … 15557 15514 retn ; c3 15558 15515 times 0xe db 0 15559 __U8RS: ; 0xfa 110 LB 0x1015516 __U8RS: ; 0xfa0d0 LB 0x10 15560 15517 test si, si ; 85 f6 15561 je short 0a 11fh ; 74 0b15518 je short 0a0dfh ; 74 0b 15562 15519 shr ax, 1 ; d1 e8 15563 15520 rcr bx, 1 ; d1 db … … 15565 15522 rcr dx, 1 ; d1 da 15566 15523 dec si ; 4e 15567 jne short 0a 114h ; 75 f515524 jne short 0a0d4h ; 75 f5 15568 15525 retn ; c3 15569 __U8LS: ; 0xfa 120 LB 0x1015526 __U8LS: ; 0xfa0e0 LB 0x10 15570 15527 test si, si ; 85 f6 15571 je short 0a 12fh ; 74 0b15528 je short 0a0efh ; 74 0b 15572 15529 sal dx, 1 ; d1 e2 15573 15530 rcl cx, 1 ; d1 d1 … … 15575 15532 rcl ax, 1 ; d1 d0 15576 15533 dec si ; 4e 15577 jne short 0a 124h ; 75 f515534 jne short 0a0e4h ; 75 f5 15578 15535 retn ; c3 15579 _fmemset_: ; 0xfa 130 LB 0x1015536 _fmemset_: ; 0xfa0f0 LB 0x10 15580 15537 push di ; 57 15581 15538 mov es, dx ; 8e c2 … … 15588 15545 retn ; c3 15589 15546 times 0x3 db 0 15590 _fmemcpy_: ; 0xfa1 40 LB 0x3a15547 _fmemcpy_: ; 0xfa100 LB 0x3a 15591 15548 push bp ; 55 15592 15549 db 08bh, 0ech … … 15613 15570 add byte [bx+si], al ; 00 00 15614 15571 add byte [bx+si], al ; 00 00 15615 nop ; 90 15616 mov ax, word [0a192h] ; a1 92 a1 15617 xchg si, ax ; 96 15618 mov ax, word [0a196h] ; a1 96 a1 15619 xchg si, ax ; 96 15620 mov ax, word [0a198h] ; a1 98 a1 15621 cbw ; 98 15622 mov ax, word [0a19ah] ; a1 9a a1 15623 sahf ; 9e 15624 mov ax, word [0a19eh] ; a1 9e a1 15625 mov AL, byte [0a5a1h] ; a0 a1 a5 15626 mov ax, word [0a1a7h] ; a1 a7 a1 15627 apm_worker: ; 0xfa17a LB 0x3a 15572 push ax ; 50 15573 mov ax, word [0a152h] ; a1 52 a1 15574 push si ; 56 15575 mov ax, word [0a156h] ; a1 56 a1 15576 push si ; 56 15577 mov ax, word [0a158h] ; a1 58 a1 15578 pop ax ; 58 15579 mov ax, word [0a15ah] ; a1 5a a1 15580 pop si ; 5e 15581 mov ax, word [0a15eh] ; a1 5e a1 15582 pushaw ; 60 15583 mov ax, word [0a165h] ; a1 65 a1 15584 db 067h 15585 db 0a1h 15586 apm_worker: ; 0xfa13a LB 0x3a 15628 15587 sti ; fb 15629 15588 push ax ; 50 … … 15637 15596 pop ax ; 58 15638 15597 mov AH, strict byte 053h ; b4 53 15639 jnc short 0a1 b0h ; 73 2515640 jmp word [cs:bp-05e a0h] ; 2e ff a6 60 a115641 jmp short 0a1 aeh ; eb 1c15598 jnc short 0a170h ; 73 25 15599 jmp word [cs:bp-05ee0h] ; 2e ff a6 20 a1 15600 jmp short 0a16eh ; eb 1c 15642 15601 sti ; fb 15643 15602 hlt ; f4 15644 jmp short 0a1 aeh ; eb 1815645 jmp short 0a1 aeh ; eb 1615646 jmp short 0a1 b0h ; eb 1615603 jmp short 0a16eh ; eb 18 15604 jmp short 0a16eh ; eb 16 15605 jmp short 0a170h ; eb 16 15647 15606 mov AH, strict byte 080h ; b4 80 15648 jmp short 0a1 b2h ; eb 1415649 jmp short 0a1 b0h ; eb 1015607 jmp short 0a172h ; eb 14 15608 jmp short 0a170h ; eb 10 15650 15609 mov ax, 00102h ; b8 02 01 15651 jmp short 0a1 aeh ; eb 0915652 jmp short 0a1 aeh ; eb 0715610 jmp short 0a16eh ; eb 09 15611 jmp short 0a16eh ; eb 07 15653 15612 mov BL, strict byte 000h ; b3 00 15654 15613 mov cx, strict word 00000h ; b9 00 00 15655 jmp short 0a1 aeh ; eb 0015614 jmp short 0a16eh ; eb 00 15656 15615 clc ; f8 15657 15616 retn ; c3 … … 15659 15618 stc ; f9 15660 15619 retn ; c3 15661 apm_pm16_entry: ; 0xfa1 b4 LB 0x1115620 apm_pm16_entry: ; 0xfa174 LB 0x11 15662 15621 mov AH, strict byte 002h ; b4 02 15663 15622 push DS ; 1e … … 15667 15626 add bp, strict byte 00008h ; 83 c5 08 15668 15627 mov ds, bp ; 8e dd 15669 call 0a1 7ah ; e8 b8 ff15628 call 0a13ah ; e8 b8 ff 15670 15629 pop bp ; 5d 15671 15630 pop DS ; 1f 15672 15631 retf ; cb 15673 _DoUInt32Div: ; 0xfa1 c5 LB 0x26b15632 _DoUInt32Div: ; 0xfa185 LB 0x26b 15674 15633 push bp ; 55 15675 15634 mov bp, sp ; 89 e5 … … 15689 15648 mov [bp-006h], ds ; 8c 5e fa 15690 15649 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15691 jne short 0a 215h ; 75 2215650 jne short 0a1d5h ; 75 22 15692 15651 mov ax, word [bx] ; 8b 07 15693 15652 test ax, ax ; 85 c0 15694 je short 0a 212h ; 74 1915653 je short 0a1d2h ; 74 19 15695 15654 cmp ax, strict word 00001h ; 3d 01 00 15696 jne short 0a 215h ; 75 1715655 jne short 0a1d5h ; 75 17 15697 15656 xor ax, ax ; 31 c0 15698 15657 mov word [bp+00ah], ax ; 89 46 0a … … 15702 15661 mov ax, word [bp-01ah] ; 8b 46 e6 15703 15662 mov word [bp+006h], ax ; 89 46 06 15704 jmp near 0a 41dh ; e9 08 0215663 jmp near 0a3ddh ; e9 08 02 15705 15664 lds bx, [bp-00ch] ; c5 5e f4 15706 15665 mov ax, word [bx+002h] ; 8b 47 02 15707 15666 mov ds, [bp-006h] ; 8e 5e fa 15708 15667 cmp ax, word [si+002h] ; 3b 44 02 15709 je short 0a 23bh ; 74 1815668 je short 0a1fbh ; 74 18 15710 15669 mov ds, [bp-00ah] ; 8e 5e f6 15711 15670 mov ax, word [bx+002h] ; 8b 47 02 15712 15671 mov ds, [bp-006h] ; 8e 5e fa 15713 15672 cmp ax, word [si+002h] ; 3b 44 02 15714 jbe short 0a 236h ; 76 0515673 jbe short 0a1f6h ; 76 05 15715 15674 mov ax, strict word 00001h ; b8 01 00 15716 jmp short 0a2 5ch ; eb 2615675 jmp short 0a21ch ; eb 26 15717 15676 mov ax, strict word 0ffffh ; b8 ff ff 15718 jmp short 0a2 5ch ; eb 2115677 jmp short 0a21ch ; eb 21 15719 15678 mov ds, [bp-00ah] ; 8e 5e f6 15720 15679 mov ax, word [bx] ; 8b 07 15721 15680 mov ds, [bp-006h] ; 8e 5e fa 15722 15681 cmp ax, word [si] ; 3b 04 15723 je short 0a2 5ah ; 74 1315682 je short 0a21ah ; 74 13 15724 15683 mov ds, [bp-00ah] ; 8e 5e f6 15725 15684 mov ax, word [bx] ; 8b 07 15726 15685 mov ds, [bp-006h] ; 8e 5e fa 15727 15686 cmp ax, word [si] ; 3b 04 15728 jbe short 0a2 55h ; 76 0215729 jmp short 0a 231h ; eb dc15687 jbe short 0a215h ; 76 02 15688 jmp short 0a1f1h ; eb dc 15730 15689 mov ax, strict word 0ffffh ; b8 ff ff 15731 jmp short 0a2 5ch ; eb 0215690 jmp short 0a21ch ; eb 02 15732 15691 xor ax, ax ; 31 c0 15733 15692 test ax, ax ; 85 c0 15734 jnl short 0a2 7eh ; 7d 1e15693 jnl short 0a23eh ; 7d 1e 15735 15694 lds bx, [bp-00ch] ; c5 5e f4 15736 15695 mov ax, word [bx] ; 8b 07 … … 15742 15701 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15743 15702 mov word [bx], strict word 00000h ; c7 07 00 00 15744 jmp short 0a 212h ; eb 9415745 jne short 0a2 95h ; 75 1515703 jmp short 0a1d2h ; eb 94 15704 jne short 0a255h ; 75 15 15746 15705 mov ds, [bp-008h] ; 8e 5e f8 15747 15706 mov word [di+002h], ax ; 89 45 02 … … 15750 15709 mov word [bx], strict word 00001h ; c7 07 01 00 15751 15710 mov word [bx+002h], ax ; 89 47 02 15752 jmp near 0a 41dh ; e9 88 0115711 jmp near 0a3ddh ; e9 88 01 15753 15712 lds bx, [bp-00ch] ; c5 5e f4 15754 15713 mov ax, word [bx+002h] ; 8b 47 02 15755 15714 test ax, ax ; 85 c0 15756 je short 0a2 b0h ; 74 1115715 je short 0a270h ; 74 11 15757 15716 push ax ; 50 15758 15717 mov ax, 0f000h ; b8 00 f0 15759 15718 mov ds, ax ; 8e d8 15760 call 0a 430h ; e8 88 0115719 call 0a3f0h ; e8 88 01 15761 15720 add sp, strict byte 00002h ; 83 c4 02 15762 15721 add ax, strict word 00010h ; 05 10 00 15763 jmp short 0a2 bdh ; eb 0d15722 jmp short 0a27dh ; eb 0d 15764 15723 push word [bx] ; ff 37 15765 15724 mov ax, 0f000h ; b8 00 f0 15766 15725 mov ds, ax ; 8e d8 15767 call 0a 430h ; e8 76 0115726 call 0a3f0h ; e8 76 01 15768 15727 add sp, strict byte 00002h ; 83 c4 02 15769 15728 mov word [bp-014h], ax ; 89 46 ec … … 15771 15730 mov ax, word [si+002h] ; 8b 44 02 15772 15731 test ax, ax ; 85 c0 15773 je short 0a2 dbh ; 74 1115732 je short 0a29bh ; 74 11 15774 15733 push ax ; 50 15775 15734 mov ax, 0f000h ; b8 00 f0 15776 15735 mov ds, ax ; 8e d8 15777 call 0a 430h ; e8 5d 0115736 call 0a3f0h ; e8 5d 01 15778 15737 add sp, strict byte 00002h ; 83 c4 02 15779 15738 add ax, strict word 00010h ; 05 10 00 15780 jmp short 0a2 e8h ; eb 0d15739 jmp short 0a2a8h ; eb 0d 15781 15740 push word [si] ; ff 34 15782 15741 mov ax, 0f000h ; b8 00 f0 15783 15742 mov ds, ax ; 8e d8 15784 call 0a 430h ; e8 4b 0115743 call 0a3f0h ; e8 4b 01 15785 15744 add sp, strict byte 00002h ; 83 c4 02 15786 15745 mov dx, word [bp-014h] ; 8b 56 ec … … 15793 15752 mov word [bp-016h], ax ; 89 46 ea 15794 15753 test dx, dx ; 85 d2 15795 je short 0a3 58h ; 74 5615754 je short 0a318h ; 74 56 15796 15755 mov cx, dx ; 89 d1 15797 15756 xor ch, dh ; 30 f5 … … 15799 15758 mov ax, word [si] ; 8b 04 15800 15759 mov dx, word [si+002h] ; 8b 54 02 15801 jcxz 0a 316h ; e3 0615760 jcxz 0a2d6h ; e3 06 15802 15761 sal ax, 1 ; d1 e0 15803 15762 rcl dx, 1 ; d1 d2 15804 loop 0a 310h ; e2 fa15763 loop 0a2d0h ; e2 fa 15805 15764 mov word [bp-018h], ax ; 89 46 e8 15806 15765 mov word [bp-016h], dx ; 89 56 ea … … 15808 15767 lds bx, [bp-00ch] ; c5 5e f4 15809 15768 cmp ax, word [bx+002h] ; 3b 47 02 15810 jnbe short 0a 336h ; 77 0f15769 jnbe short 0a2f6h ; 77 0f 15811 15770 mov ax, word [bp-016h] ; 8b 46 ea 15812 15771 cmp ax, word [bx+002h] ; 3b 47 02 15813 jne short 0a 33ah ; 75 0b15772 jne short 0a2fah ; 75 0b 15814 15773 mov ax, word [bp-018h] ; 8b 46 e8 15815 15774 cmp ax, word [bx] ; 3b 07 15816 jbe short 0a 33ah ; 76 0415775 jbe short 0a2fah ; 76 04 15817 15776 mov AL, strict byte 001h ; b0 01 15818 jmp short 0a 33ch ; eb 0215777 jmp short 0a2fch ; eb 02 15819 15778 xor al, al ; 30 c0 15820 15779 test al, al ; 84 c0 15821 je short 0a3 63h ; 74 2315780 je short 0a323h ; 74 23 15822 15781 shr word [bp-016h], 1 ; d1 6e ea 15823 15782 rcr word [bp-018h], 1 ; d1 5e e8 15824 15783 dec word [bp-012h] ; ff 4e ee 15825 jmp short 0a3 63h ; eb 1815784 jmp short 0a323h ; eb 18 15826 15785 mov cx, strict word 0001fh ; b9 1f 00 15827 15786 sal word [bp-018h], 1 ; d1 66 e8 15828 15787 rcl word [bp-016h], 1 ; d1 56 ea 15829 loop 0a3 4eh ; e2 f815830 jmp short 0a3 46h ; eb ee15788 loop 0a30eh ; e2 f8 15789 jmp short 0a306h ; eb ee 15831 15790 mov ax, word [si] ; 8b 04 15832 15791 mov word [bp-018h], ax ; 89 46 e8 … … 15845 15804 mov ds, [bp-006h] ; 8e 5e fa 15846 15805 cmp ax, word [si+002h] ; 3b 44 02 15847 jnbe short 0a3 8fh ; 77 0615848 jne short 0a3 93h ; 75 0815806 jnbe short 0a34fh ; 77 06 15807 jne short 0a353h ; 75 08 15849 15808 cmp dx, word [si] ; 3b 14 15850 jc short 0a3 93h ; 72 0415809 jc short 0a353h ; 72 04 15851 15810 mov AL, strict byte 001h ; b0 01 15852 jmp short 0a3 95h ; eb 0215811 jmp short 0a355h ; eb 02 15853 15812 xor al, al ; 30 c0 15854 15813 test al, al ; 84 c0 15855 je short 0a3 fah ; 74 6115814 je short 0a3bah ; 74 61 15856 15815 mov ds, [bp-008h] ; 8e 5e f8 15857 15816 mov ax, word [di+002h] ; 8b 45 02 15858 15817 cmp ax, word [bp-016h] ; 3b 46 ea 15859 jnbe short 0a3 b0h ; 77 0c15818 jnbe short 0a370h ; 77 0c 15860 15819 cmp ax, word [bp-016h] ; 3b 46 ea 15861 jne short 0a3 b4h ; 75 0b15820 jne short 0a374h ; 75 0b 15862 15821 mov ax, word [di] ; 8b 05 15863 15822 cmp ax, word [bp-018h] ; 3b 46 e8 15864 jc short 0a3 b4h ; 72 0415823 jc short 0a374h ; 72 04 15865 15824 mov AL, strict byte 001h ; b0 01 15866 jmp short 0a3 b6h ; eb 0215825 jmp short 0a376h ; eb 02 15867 15826 xor al, al ; 30 c0 15868 15827 test al, al ; 84 c0 15869 je short 0a3 e0h ; 74 2615828 je short 0a3a0h ; 74 26 15870 15829 mov ax, word [bp-018h] ; 8b 46 e8 15871 15830 mov ds, [bp-008h] ; 8e 5e f8 … … 15876 15835 xor dx, dx ; 31 d2 15877 15836 mov cx, word [bp-012h] ; 8b 4e ee 15878 jcxz 0a3 d8h ; e3 0615837 jcxz 0a398h ; e3 06 15879 15838 sal ax, 1 ; d1 e0 15880 15839 rcl dx, 1 ; d1 d2 15881 loop 0a3 d2h ; e2 fa15840 loop 0a392h ; e2 fa 15882 15841 lds bx, [bp-010h] ; c5 5e f0 15883 15842 or word [bx], ax ; 09 07 … … 15888 15847 mov ds, [bp-006h] ; 8e 5e fa 15889 15848 cmp ax, word [si+002h] ; 3b 44 02 15890 jc short 0a3 f6h ; 72 0615891 jne short 0a3 fch ; 75 0a15849 jc short 0a3b6h ; 72 06 15850 jne short 0a3bch ; 75 0a 15892 15851 cmp dx, word [si] ; 3b 14 15893 jnc short 0a3 fch ; 73 0615852 jnc short 0a3bch ; 73 06 15894 15853 mov AL, strict byte 001h ; b0 01 15895 jmp short 0a3 feh ; eb 0415896 jmp short 0a 41dh ; eb 2115854 jmp short 0a3beh ; eb 04 15855 jmp short 0a3ddh ; eb 21 15897 15856 xor al, al ; 30 c0 15898 15857 test al, al ; 84 c0 15899 je short 0a 411h ; 74 0f15900 jmp short 0a 41dh ; eb 1915858 je short 0a3d1h ; 74 0f 15859 jmp short 0a3ddh ; eb 19 15901 15860 mov cx, strict word 0001fh ; b9 1f 00 15902 15861 sal word [bp-018h], 1 ; d1 66 e8 15903 15862 rcl word [bp-016h], 1 ; d1 56 ea 15904 loop 0a 407h ; e2 f815905 jmp short 0a 417h ; eb 0615863 loop 0a3c7h ; e2 f8 15864 jmp short 0a3d7h ; eb 06 15906 15865 shr word [bp-016h], 1 ; d1 6e ea 15907 15866 rcr word [bp-018h], 1 ; d1 5e e8 15908 15867 dec word [bp-012h] ; ff 4e ee 15909 jmp near 0a3 99h ; e9 7c ff15868 jmp near 0a359h ; e9 7c ff 15910 15869 mov ax, word [bp-01ch] ; 8b 46 e4 15911 15870 mov dx, word [bp-01ah] ; 8b 56 e6 … … 15916 15875 retn ; c3 15917 15876 times 0x6 db 0 15918 _ASMBitLastSetU16: ; 0xfa 430 LB 0x1815877 _ASMBitLastSetU16: ; 0xfa3f0 LB 0x18 15919 15878 push bp ; 55 15920 15879 db 08bh, 0ech … … 15922 15881 mov cx, word [bp+004h] ; 8b 4e 04 15923 15882 test cx, cx ; 85 c9 15924 je short 0a4 44h ; 74 0a15883 je short 0a404h ; 74 0a 15925 15884 mov ax, strict word 00010h ; b8 10 00 15926 15885 sal cx, 1 ; d1 e1 15927 jc short 0a4 46h ; 72 0515886 jc short 0a406h ; 72 05 15928 15887 dec ax ; 48 15929 jmp short 0a 43dh ; eb f915888 jmp short 0a3fdh ; eb f9 15930 15889 db 033h, 0c0h 15931 15890 ; xor ax, ax ; 33 c0 … … 15933 15892 retn ; c3 15934 15893 15935 ; Padding 0x35 b8 bytes at 0xfa44815936 times 13 752db 015894 ; Padding 0x35f8 bytes at 0xfa408 15895 times 13816 db 0 15937 15896 15938 15897 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15981 15940 add bp, strict byte 00008h ; 83 c5 08 15982 15941 push ebp ; 66 55 15983 mov bp, 0a1 b6h ; bd b6 a115942 mov bp, 0a176h ; bd 76 a1 15984 15943 add byte [bx+si], al ; 00 00 15985 15944 push ebp ; 66 55 … … 16707 16666 call 01c9fh ; e8 63 39 16708 16667 call 02118h ; e8 d9 3d 16709 call 099 8bh ; e8 49b616710 call 087 fbh ; e8 b6a416668 call 09948h ; e8 06 b6 16669 call 087b8h ; e8 73 a4 16711 16670 call 0ed2fh ; e8 e7 09 16712 16671 call 0e2d2h ; e8 87 ff … … 16856 16815 out strict byte 0a1h, AL ; e6 a1 16857 16816 retn ; c3 16858 ebda_post: ; 0xfe778 LB 0x 4516817 ebda_post: ; 0xfe778 LB 0x51 16859 16818 mov ax, 0e746h ; b8 46 e7 16860 16819 mov word [00034h], ax ; a3 34 00 … … 16870 16829 mov word [001cah], ax ; a3 ca 01 16871 16830 mov ax, 0e746h ; b8 46 e7 16831 mov word [001cch], ax ; a3 cc 01 16832 mov ax, 0f000h ; b8 00 f0 16833 mov word [001ceh], ax ; a3 ce 01 16834 mov ax, 0e746h ; b8 46 e7 16872 16835 mov word [001dch], ax ; a3 dc 01 16873 16836 mov ax, 0f000h ; b8 00 f0 … … 16881 16844 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 16882 16845 retn ; c3 16883 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 bd LB 0x7116884 times 0x6 fdb 016846 biosorg_check_before_or_at_0E82Ch: ; 0xfe7c9 LB 0x65 16847 times 0x63 db 0 16885 16848 db 'XM' 16886 16849 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x3d … … 17541 17504 popfw ; 9d 17542 17505 jmp short 0f8a5h ; eb 11 17543 call 09a feh ; e8 67a217506 call 09abbh ; e8 24 a2 17544 17507 jmp short 0f88eh ; eb f5 17545 17508 int15_handler_mouse: ; 0xff899 LB 0x5 … … 17807 17770 cpu_reset: ; 0xffff0 LB 0x10 17808 17771 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17809 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 0fh17772 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 03dh -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
r67807 r68290 1 0aa9c82df689a029ef3c0dd6eb7cfba6*VBoxPcBios286.rom1 854cf294cb1f7c54bf62169e4fb5a30b *VBoxPcBios286.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
r67807 r68290 951 951 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 952 952 _pktacc: ; 0xf006a LB 0xc 953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 01ah, 082h, 0 c8h, 091h953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 01ah, 082h, 089h, 091h 954 954 _softrst: ; 0xf0076 LB 0xc 955 955 db 000h, 000h, 000h, 000h, 000h, 000h, 045h, 02fh, 0b6h, 03ch, 0b6h, 03ch 956 956 _dskacc: ; 0xf0082 LB 0x2e 957 957 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 02bh, 002h, 02ch, 000h, 000h, 000h, 000h 958 db 064h, 080h, 03fh, 081h, 0 9eh, 090h, 044h, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h958 db 064h, 080h, 03fh, 081h, 05fh, 090h, 005h, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 959 959 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 960 960 961 section CONST progbits vstart=0xb0 align=1 ; size=0x d52class=DATA group=DGROUP961 section CONST progbits vstart=0xb0 align=1 ; size=0xcf0 class=DATA group=DGROUP 962 962 db 'CPUID EDX: 0x%lx', 00ah, 000h 963 963 db 'NMI Handler called', 00ah, 000h … … 1065 1065 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1066 1066 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1067 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1068 db 'scsi_pci_init', 000h 1069 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1070 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1067 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1071 1068 db 'ahci_read_sectors', 000h 1072 1069 db '%s: device_id out of range %d', 00ah, 000h … … 1081 1078 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1082 1079 1083 section CONST2 progbits vstart=0x e02 align=1 ; size=0x3faclass=DATA group=DGROUP1084 _bios_cvs_version_string: ; 0xf0 e02 LB 0x121085 db 'VirtualBox 5. 1.51', 000h1086 _bios_prefix_string: ; 0xf0 e14LB 0x81080 section CONST2 progbits vstart=0xda0 align=1 ; size=0x400 class=DATA group=DGROUP 1081 _bios_cvs_version_string: ; 0xf0da0 LB 0x18 1082 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1083 _bios_prefix_string: ; 0xf0db8 LB 0x8 1087 1084 db 'BIOS: ', 000h, 000h 1088 _isotag: ; 0xf0 e1cLB 0x61085 _isotag: ; 0xf0dc0 LB 0x6 1089 1086 db 'CD001', 000h 1090 _eltorito: ; 0xf0 e22LB 0x181087 _eltorito: ; 0xf0dc6 LB 0x18 1091 1088 db 'EL TORITO SPECIFICATION', 000h 1092 _drivetypes: ; 0xf0 e3aLB 0x281089 _drivetypes: ; 0xf0dde LB 0x28 1093 1090 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1094 1091 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1095 1092 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1096 _scan_to_scanascii: ; 0xf0e 62LB 0x37a1093 _scan_to_scanascii: ; 0xf0e06 LB 0x37a 1097 1094 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1098 1095 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1151 1148 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1152 1149 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1153 _panic_msg_keyb_buffer_full: ; 0xf11 dcLB 0x201150 _panic_msg_keyb_buffer_full: ; 0xf1180 LB 0x20 1154 1151 db '%s: keyboard input buffer full', 00ah, 000h 1155 1152 1156 ; Padding 0x4 04 bytes at 0xf11fc1157 times 1 028db 01153 ; Padding 0x460 bytes at 0xf11a0 1154 times 1120 db 0 1158 1155 1159 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b d5 class=CODE group=AUTO1156 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b95 class=CODE group=AUTO 1160 1157 rom_scan_: ; 0xf1600 LB 0x50 1161 1158 push bp ; 55 … … 1504 1501 push bp ; 55 1505 1502 mov bp, sp ; 89 e5 1506 mov bx, 00 e14h ; bb 14 0e1503 mov bx, 00db8h ; bb b8 0d 1507 1504 mov cx, ds ; 8c d9 1508 1505 mov ax, strict word 00004h ; b8 04 00 1509 1506 call 01a2ah ; e8 ac 01 1510 push 00 e02h ; 68 02 0e1507 push 00da0h ; 68 a0 0d 1511 1508 push 000ebh ; 68 eb 00 1512 1509 push strict byte 00004h ; 6a 04 … … 1679 1676 mov bx, strict word 0000ah ; bb 0a 00 1680 1677 xor cx, cx ; 31 c9 1681 call 0a0 e0h ; e8 0e 871678 call 0a0a0h ; e8 ce 86 1682 1679 mov word [bp-008h], ax ; 89 46 f8 1683 1680 mov cx, dx ; 89 d1 … … 1905 1902 mov dx, word [bp-026h] ; 8b 56 da 1906 1903 mov si, word [bp-01eh] ; 8b 76 e2 1907 call 0a 120h ; e8 1c 851904 call 0a0e0h ; e8 dc 84 1908 1905 mov ax, dx ; 89 d0 1909 1906 xor ah, dh ; 30 f4 … … 2347 2344 mov dx, word [es:si] ; 26 8b 14 2348 2345 mov si, strict word 00018h ; be 18 00 2349 call 0a 120h ; e8 c0 802346 call 0a0e0h ; e8 80 80 2350 2347 xor dh, dh ; 30 f6 2351 2348 mov word [bp-016h], dx ; 89 56 ea … … 2357 2354 mov dx, word [es:si] ; 26 8b 14 2358 2355 mov si, strict word 00020h ; be 20 00 2359 call 0a 120h ; e8 a0 802356 call 0a0e0h ; e8 60 80 2360 2357 mov bx, dx ; 89 d3 2361 2358 mov ax, word [bp-01eh] ; 8b 46 e2 … … 2388 2385 mov dx, word [es:si] ; 26 8b 14 2389 2386 mov si, strict word 00008h ; be 08 00 2390 call 0a 120h ; e8 4f 802387 call 0a0e0h ; e8 0f 80 2391 2388 mov word [bp-014h], dx ; 89 56 ec 2392 2389 mov bx, word [bp-018h] ; 8b 5e e8 … … 2397 2394 mov dx, word [es:si] ; 26 8b 14 2398 2395 mov si, strict word 00018h ; be 18 00 2399 call 0a 120h ; e8 31 802396 call 0a0e0h ; e8 f1 7f 2400 2397 and dx, strict byte 0000fh ; 83 e2 0f 2401 2398 or dl, 040h ; 80 ca 40 … … 2791 2788 lea ax, [bp-03ah] ; 8d 46 c6 2792 2789 call 05ad0h ; e8 ff 35 2793 mov bx, 00 e14h ; bb 14 0e2790 mov bx, 00db8h ; bb b8 0d 2794 2791 mov cx, ds ; 8c d9 2795 2792 mov ax, strict word 00004h ; b8 04 00 … … 2953 2950 mov dx, word [es:si+036h] ; 26 8b 54 36 2954 2951 mov si, strict word 0000bh ; be 0b 00 2955 call 0a 120h ; e8 69 7a2952 call 0a0e0h ; e8 29 7a 2956 2953 mov word [bp-030h], dx ; 89 56 d0 2957 2954 mov word [bp-02eh], cx ; 89 4e d2 … … 3224 3221 mov dx, word [bp-01eh] ; 8b 56 e2 3225 3222 mov si, strict word 00018h ; be 18 00 3226 call 0a 120h ; e8 93 773223 call 0a0e0h ; e8 53 77 3227 3224 xor dh, dh ; 30 f6 3228 3225 mov word [bp-01ch], dx ; 89 56 e4 … … 3232 3229 mov dx, word [bp-01eh] ; 8b 56 e2 3233 3230 mov si, strict word 00020h ; be 20 00 3234 call 0a 120h ; e8 7c 773231 call 0a0e0h ; e8 3c 77 3235 3232 mov bx, dx ; 89 d3 3236 3233 mov ax, word [bp-01ah] ; 8b 46 e6 … … 3266 3263 mov dx, word [bp-01eh] ; 8b 56 e2 3267 3264 mov si, strict word 00008h ; be 08 00 3268 call 0a 120h ; e8 28 773265 call 0a0e0h ; e8 e8 76 3269 3266 mov word [bp-010h], ax ; 89 46 f0 3270 3267 mov word [bp-014h], bx ; 89 5e ec … … 3273 3270 mov word [bp-026h], dx ; 89 56 da 3274 3271 mov si, strict word 00010h ; be 10 00 3275 call 0a 120h ; e8 13 773272 call 0a0e0h ; e8 d3 76 3276 3273 mov word [bp-01eh], dx ; 89 56 e2 3277 3274 mov ax, dx ; 89 d0 … … 3542 3539 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3543 3540 jne short 02cafh ; 75 1f 3544 mov bx, 00 e14h ; bb 14 0e3541 mov bx, 00db8h ; bb b8 0d 3545 3542 mov cx, ds ; 8c d9 3546 3543 mov ax, strict word 00004h ; b8 04 00 … … 4413 4410 cmp bh, 048h ; 80 ff 48 4414 4411 jbe short 03443h ; 76 33 4415 mov bx, 00 e14h ; bb 14 0e4412 mov bx, 00db8h ; bb b8 0d 4416 4413 mov cx, ds ; 8c d9 4417 4414 mov ax, strict word 00004h ; b8 04 00 … … 5255 5252 mov byte [es:bx], 000h ; 26 c6 07 00 5256 5253 jmp near 03612h ; e9 ae f9 5257 mov bx, 00 e14h ; bb 14 0e5254 mov bx, 00db8h ; bb b8 0d 5258 5255 mov cx, ds ; 8c d9 5259 5256 mov ax, strict word 00004h ; b8 04 00 … … 5352 5349 cmp ax, strict word 0004ah ; 3d 4a 00 5353 5350 jne near 03e4eh ; 0f 85 1e 01 5354 mov bx, 00 e14h ; bb 14 0e5351 mov bx, 00db8h ; bb b8 0d 5355 5352 mov cx, ds ; 8c d9 5356 5353 mov ax, strict word 00004h ; b8 04 00 … … 5450 5447 pop bp ; 5d 5451 5448 retn ; c3 5452 mov bx, 00 e14h ; bb 14 0e5449 mov bx, 00db8h ; bb b8 0d 5453 5450 mov cx, ds ; 8c d9 5454 5451 mov ax, strict word 00004h ; b8 04 00 … … 5531 5528 mov dx, ss ; 8c d2 5532 5529 lea ax, [bp-026h] ; 8d 46 da 5533 call 0a1 40h ; e8 28 625530 call 0a100h ; e8 e8 61 5534 5531 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5535 5532 mov ax, strict word 00011h ; b8 11 00 … … 5585 5582 jnc short 03fb7h ; 73 10 5586 5583 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5587 cmp al, byte [di+00 e1ch] ; 3a 85 1c 0e5584 cmp al, byte [di+00dc0h] ; 3a 85 c0 0d 5588 5585 je short 03fa1h ; 74 f0 5589 5586 mov ax, strict word 00005h ; b8 05 00 … … 5595 5592 jnc short 03fd1h ; 73 10 5596 5593 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5597 cmp al, byte [di+00 e22h] ; 3a 85 22 0e5594 cmp al, byte [di+00dc6h] ; 3a 85 c6 0d 5598 5595 je short 03fbbh ; 74 f0 5599 5596 mov ax, strict word 00006h ; b8 06 00 … … 5874 5871 cmp dx, ax ; 39 c2 5875 5872 je short 04355h ; 74 29 5876 mov bx, 00 e14h ; bb 14 0e5873 mov bx, 00db8h ; bb b8 0d 5877 5874 mov cx, ds ; 8c d9 5878 5875 mov ax, strict word 00004h ; b8 04 00 … … 5991 5988 xor dl, dl ; 30 d2 5992 5989 xor cx, cx ; 31 c9 5993 call 0a0 a0h ; e8 26 5c5990 call 0a060h ; e8 e6 5b 5994 5991 xor bx, bx ; 31 db 5995 5992 add ax, si ; 01 f0 … … 5997 5994 mov bx, di ; 89 fb 5998 5995 xor cx, cx ; 31 c9 5999 call 0a0 a0h ; e8 19 5c5996 call 0a060h ; e8 d9 5b 6000 5997 mov bx, ax ; 89 c3 6001 5998 mov ax, word [bp-010h] ; 8b 46 f0 … … 6032 6029 mov dx, ss ; 8c d2 6033 6030 lea ax, [bp-02eh] ; 8d 46 d2 6034 call 0a1 40h ; e8 62 5c6031 call 0a100h ; e8 22 5c 6035 6032 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6036 6033 mov ax, word [bp-014h] ; 8b 46 ec … … 6096 6093 test al, al ; 84 c0 6097 6094 je near 043a1h ; 0f 84 13 fe 6098 mov bx, 00 e14h ; bb 14 0e6095 mov bx, 00db8h ; bb b8 0d 6099 6096 mov cx, ds ; 8c d9 6100 6097 mov ax, strict word 00004h ; b8 04 00 … … 6177 6174 mov word [bp+016h], bx ; 89 5e 16 6178 6175 jmp near 043a5h ; e9 37 fd 6179 mov bx, 00 e14h ; bb 14 0e6176 mov bx, 00db8h ; bb b8 0d 6180 6177 mov cx, ds ; 8c d9 6181 6178 mov ax, strict word 00004h ; b8 04 00 … … 6339 6336 mov dx, ss ; 8c d2 6340 6337 lea ax, [bp-02ch] ; 8d 46 d4 6341 call 0a1 40h ; e8 c7 586338 call 0a100h ; e8 87 58 6342 6339 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 6343 6340 mov ax, word [bp-018h] ; 8b 46 e8 … … 6388 6385 test dl, dl ; 84 d2 6389 6386 je near 049cbh ; 0f 84 cb 00 6390 mov bx, 00 e14h ; bb 14 0e6387 mov bx, 00db8h ; bb b8 0d 6391 6388 mov cx, ds ; 8c d9 6392 6389 mov ax, strict word 00004h ; b8 04 00 … … 6672 6669 or byte [bp+01eh], 001h ; 80 4e 1e 01 6673 6670 jmp near 049deh ; e9 8f fd 6674 mov bx, 00 e14h ; bb 14 0e6671 mov bx, 00db8h ; bb b8 0d 6675 6672 mov cx, ds ; 8c d9 6676 6673 mov ax, strict word 00004h ; b8 04 00 … … 6702 6699 je short 04cb1h ; 74 21 6703 6700 mov dx, strict word 00001h ; ba 01 00 6704 mov bx, 00 e14h ; bb 14 0e6701 mov bx, 00db8h ; bb b8 0d 6705 6702 mov cx, ds ; 8c d9 6706 6703 mov ax, strict word 00004h ; b8 04 00 6707 6704 call 01a2ah ; e8 8c cd 6708 6705 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6709 add dx, 00 e3ah ; 81 c2 3a 0e6706 add dx, 00ddeh ; 81 c2 de 0d 6710 6707 push dx ; 52 6711 6708 push 004a6h ; 68 a6 04 … … 6727 6724 test al, al ; 84 c0 6728 6725 je short 04ce4h ; 74 1b 6729 mov bx, 00 e14h ; bb 14 0e6726 mov bx, 00db8h ; bb b8 0d 6730 6727 mov cx, ds ; 8c d9 6731 6728 mov ax, strict word 00004h ; b8 04 00 6732 6729 call 01a2ah ; e8 56 cd 6733 push 00 e4eh ; 68 4e 0e6730 push 00df2h ; 68 f2 0d 6734 6731 push 004bah ; 68 ba 04 6735 6732 push strict byte 00004h ; 6a 04 … … 6739 6736 test dl, dl ; 84 d2 6740 6737 je short 04cf8h ; 74 10 6741 mov bx, 00 e14h ; bb 14 0e6738 mov bx, 00db8h ; bb b8 0d 6742 6739 mov cx, ds ; 8c d9 6743 6740 mov ax, strict word 00004h ; b8 04 00 6744 6741 call 01a2ah ; e8 37 cd 6745 push 00 e58h ; 68 58 0e6742 push 00dfch ; 68 fc 0d 6746 6743 jmp short 04cd7h ; eb df 6747 6744 test bl, 080h ; f6 c3 80 6748 6745 je short 04d0eh ; 74 11 6749 mov bx, 00 e14h ; bb 14 0e6746 mov bx, 00db8h ; bb b8 0d 6750 6747 mov cx, ds ; 8c d9 6751 6748 mov ax, strict word 00004h ; b8 04 00 6752 6749 call 01a2ah ; e8 22 cd 6753 6750 push si ; 56 6754 push 00 e44h ; 68 44 0e6751 push 00de8h ; 68 e8 0d 6755 6752 jmp short 04d1dh ; eb 0f 6756 mov bx, 00 e14h ; bb 14 0e6753 mov bx, 00db8h ; bb b8 0d 6757 6754 mov cx, ds ; 8c d9 6758 6755 mov ax, strict word 00004h ; b8 04 00 6759 6756 call 01a2ah ; e8 11 cd 6760 6757 push si ; 56 6761 push 00 e3ah ; 68 3a 0e6758 push 00ddeh ; 68 de 0d 6762 6759 push 004cfh ; 68 cf 04 6763 6760 push strict byte 00004h ; 6a 04 … … 6785 6782 push dx ; 52 6786 6783 mov dx, ax ; 89 c2 6787 mov bx, 00 e14h ; bb 14 0e6784 mov bx, 00db8h ; bb b8 0d 6788 6785 mov cx, ds ; 8c d9 6789 6786 mov ax, strict word 00004h ; b8 04 00 … … 6860 6857 mov byte [bp-00ah], al ; 88 46 f6 6861 6858 mov byte [bp-00ch], al ; 88 46 f4 6862 mov bx, 00 e14h ; bb 14 0e6859 mov bx, 00db8h ; bb b8 0d 6863 6860 mov cx, ds ; 8c d9 6864 6861 mov ax, strict word 00004h ; b8 04 00 … … 7399 7396 test al, al ; 84 c0 7400 7397 jne short 05307h ; 75 19 7401 mov bx, 00 e14h ; bb 14 0e7398 mov bx, 00db8h ; bb b8 0d 7402 7399 mov cx, ds ; 8c d9 7403 7400 mov ax, strict word 00004h ; b8 04 00 … … 7716 7713 cmp byte [bp-00ch], 058h ; 80 7e f4 58 7717 7714 jbe short 0567bh ; 76 1e 7718 mov bx, 00 e14h ; bb 14 0e7715 mov bx, 00db8h ; bb b8 0d 7719 7716 mov cx, ds ; 8c d9 7720 7717 mov ax, strict word 00004h ; b8 04 00 … … 7732 7729 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7733 7730 imul bx, bx, strict byte 0000ah ; 6b db 0a 7734 mov dl, byte [bx+00e 68h] ; 8a 97 680e7735 mov ax, word [bx+00e 68h] ; 8b 87 680e7731 mov dl, byte [bx+00e0ch] ; 8a 97 0c 0e 7732 mov ax, word [bx+00e0ch] ; 8b 87 0c 0e 7736 7733 jmp near 05722h ; e9 8e 00 7737 7734 test AL, strict byte 004h ; a8 04 … … 7739 7736 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7740 7737 imul bx, bx, strict byte 0000ah ; 6b db 0a 7741 mov dl, byte [bx+00e 66h] ; 8a 97 660e7742 mov ax, word [bx+00e 66h] ; 8b 87 660e7738 mov dl, byte [bx+00e0ah] ; 8a 97 0a 0e 7739 mov ax, word [bx+00e0ah] ; 8b 87 0a 0e 7743 7740 jmp near 05722h ; e9 78 00 7744 7741 mov al, byte [bp-004h] ; 8a 46 fc … … 7759 7756 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7760 7757 imul bx, bx, strict byte 0000ah ; 6b db 0a 7761 movzx ax, byte [bx+00e 6ah] ; 0f b6 87 6a0e7758 movzx ax, byte [bx+00e0eh] ; 0f b6 87 0e 0e 7762 7759 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7763 7760 test dx, ax ; 85 c2 7764 7761 je short 056ech ; 74 0a 7765 mov dl, byte [bx+00e 62h] ; 8a 97 620e7766 mov ax, word [bx+00e 62h] ; 8b 87 620e7762 mov dl, byte [bx+00e06h] ; 8a 97 06 0e 7763 mov ax, word [bx+00e06h] ; 8b 87 06 0e 7767 7764 jmp short 056f4h ; eb 08 7768 mov dl, byte [bx+00e 64h] ; 8a 97 640e7769 mov ax, word [bx+00e 64h] ; 8b 87 640e7765 mov dl, byte [bx+00e08h] ; 8a 97 08 0e 7766 mov ax, word [bx+00e08h] ; 8b 87 08 0e 7770 7767 shr ax, 008h ; c1 e8 08 7771 7768 mov byte [bp-00ch], al ; 88 46 f4 … … 7773 7770 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7774 7771 imul bx, bx, strict byte 0000ah ; 6b db 0a 7775 movzx ax, byte [bx+00e 6ah] ; 0f b6 87 6a0e7772 movzx ax, byte [bx+00e0eh] ; 0f b6 87 0e 0e 7776 7773 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7777 7774 test dx, ax ; 85 c2 7778 7775 je short 0571ah ; 74 0a 7779 mov dl, byte [bx+00e 64h] ; 8a 97 640e7780 mov ax, word [bx+00e 64h] ; 8b 87 640e7776 mov dl, byte [bx+00e08h] ; 8a 97 08 0e 7777 mov ax, word [bx+00e08h] ; 8b 87 08 0e 7781 7778 jmp short 05722h ; eb 08 7782 mov dl, byte [bx+00e 62h] ; 8a 97 620e7783 mov ax, word [bx+00e 62h] ; 8b 87 620e7779 mov dl, byte [bx+00e06h] ; 8a 97 06 0e 7780 mov ax, word [bx+00e06h] ; 8b 87 06 0e 7784 7781 shr ax, 008h ; c1 e8 08 7785 7782 mov byte [bp-00ch], al ; 88 46 f4 … … 7788 7785 test dl, dl ; 84 d2 7789 7786 jne short 05748h ; 75 16 7790 mov bx, 00 e14h ; bb 14 0e7787 mov bx, 00db8h ; bb b8 0d 7791 7788 mov cx, ds ; 8c d9 7792 7789 mov ax, strict word 00004h ; b8 04 00 … … 8142 8139 or ah, 080h ; 80 cc 80 8143 8140 jmp near 0595bh ; e9 d4 fe 8144 mov bx, 00 e14h ; bb 14 0e8141 mov bx, 00db8h ; bb b8 0d 8145 8142 mov cx, ds ; 8c d9 8146 8143 mov ax, strict word 00004h ; b8 04 00 … … 8153 8150 call 01a6bh ; e8 ca bf 8154 8151 add sp, strict byte 00006h ; 83 c4 06 8155 mov bx, 00 e14h ; bb 14 0e8152 mov bx, 00db8h ; bb b8 0d 8156 8153 mov cx, ds ; 8c d9 8157 8154 mov ax, strict word 00004h ; b8 04 00 … … 8188 8185 mov dx, word [bp+00ch] ; 8b 56 0c 8189 8186 mov si, strict word 00020h ; be 20 00 8190 call 0a 120h ; e8 25 468187 call 0a0e0h ; e8 e5 45 8191 8188 test ax, ax ; 85 c0 8192 8189 jne short 05b0bh ; 75 0c … … 8226 8223 mov bx, strict word 0003fh ; bb 3f 00 8227 8224 xor cx, cx ; 31 c9 8228 call 0a0 a0h ; e8 4c 458225 call 0a060h ; e8 0c 45 8229 8226 mov bx, ax ; 89 c3 8230 8227 mov cx, dx ; 89 d1 8231 8228 mov ax, word [bp-004h] ; 8b 46 fc 8232 8229 mov dx, si ; 89 f2 8233 call 0a0 e0h ; e8 80 458230 call 0a0a0h ; e8 40 45 8234 8231 mov word [es:di+002h], ax ; 26 89 45 02 8235 8232 cmp ax, 00400h ; 3d 00 04 … … 8388 8385 test ax, ax ; 85 c0 8389 8386 jne short 05cf4h ; 75 23 8390 mov bx, 00 e14h ; bb 14 0e8387 mov bx, 00db8h ; bb b8 0d 8391 8388 mov cx, ds ; 8c d9 8392 8389 mov ax, strict word 00004h ; b8 04 00 … … 8417 8414 cmp ax, dx ; 39 d0 8418 8415 jbe short 05d4fh ; 76 2e 8419 mov bx, 00 e14h ; bb 14 0e8416 mov bx, 00db8h ; bb b8 0d 8420 8417 mov cx, ds ; 8c d9 8421 8418 mov ax, strict word 00004h ; b8 04 00 … … 8455 8452 mov bx, cx ; 89 cb 8456 8453 xor cx, cx ; 31 c9 8457 call 0a0 a0h ; e8 17 438454 call 0a060h ; e8 d7 42 8458 8455 xor bx, bx ; 31 db 8459 8456 add ax, word [bp-008h] ; 03 46 f8 … … 8461 8458 mov bx, word [bp-00ah] ; 8b 5e f6 8462 8459 xor cx, cx ; 31 c9 8463 call 0a0 a0h ; e8 08 438460 call 0a060h ; e8 c8 42 8464 8461 xor bx, bx ; 31 db 8465 8462 add ax, word [bp-006h] ; 03 46 fa … … 8517 8514 test dl, dl ; 84 d2 8518 8515 je near 05c52h ; 0f 84 0a fe 8519 mov bx, 00 e14h ; bb 14 0e8516 mov bx, 00db8h ; bb b8 0d 8520 8517 mov cx, ds ; 8c d9 8521 8518 mov ax, strict word 00004h ; b8 04 00 … … 8535 8532 or ah, 00ch ; 80 cc 0c 8536 8533 jmp near 05fc8h ; e9 51 01 8537 mov bx, 00 e14h ; bb 14 0e8534 mov bx, 00db8h ; bb b8 0d 8538 8535 mov cx, ds ; 8c d9 8539 8536 mov ax, strict word 00004h ; b8 04 00 … … 8621 8618 mov bx, word [bp-008h] ; 8b 5e f8 8622 8619 xor cx, cx ; 31 c9 8623 call 0a0 a0h ; e8 40 418620 call 0a060h ; e8 00 41 8624 8621 mov bx, word [bp-006h] ; 8b 5e fa 8625 8622 xor cx, cx ; 31 c9 8626 call 0a0 a0h ; e8 38 418623 call 0a060h ; e8 f8 40 8627 8624 mov word [bp-010h], ax ; 89 46 f0 8628 8625 mov word [bp-00eh], dx ; 89 56 f2 … … 8634 8631 mov word [bp+016h], ax ; 89 46 16 8635 8632 jmp near 05c56h ; e9 d4 fc 8636 mov bx, 00 e14h ; bb 14 0e8633 mov bx, 00db8h ; bb b8 0d 8637 8634 mov cx, ds ; 8c d9 8638 8635 mov ax, strict word 00004h ; b8 04 00 … … 8647 8644 add sp, strict byte 00008h ; 83 c4 08 8648 8645 jmp near 05c52h ; e9 ad fc 8649 mov bx, 00 e14h ; bb 14 0e8646 mov bx, 00db8h ; bb b8 0d 8650 8647 mov cx, ds ; 8c d9 8651 8648 mov ax, strict word 00004h ; b8 04 00 … … 8761 8758 xor bx, bx ; 31 db 8762 8759 mov si, strict word 00020h ; be 20 00 8763 call 0a 130h ; e8 44 408760 call 0a0f0h ; e8 04 40 8764 8761 mov word [bp-00eh], bx ; 89 5e f2 8765 8762 mov bx, word [es:di+008h] ; 26 8b 5d 08 … … 8786 8783 cmp dx, word [es:di+036h] ; 26 3b 55 36 8787 8784 jc short 06156h ; 72 23 8788 mov bx, 00 e14h ; bb 14 0e8785 mov bx, 00db8h ; bb b8 0d 8789 8786 mov cx, ds ; 8c d9 8790 8787 mov ax, strict word 00004h ; b8 04 00 … … 8842 8839 test dl, dl ; 84 d2 8843 8840 je near 0648dh ; 0f 84 a8 02 8844 mov bx, 00 e14h ; bb 14 0e8841 mov bx, 00db8h ; bb b8 0d 8845 8842 mov cx, ds ; 8c d9 8846 8843 mov ax, strict word 00004h ; b8 04 00 … … 8912 8909 mov bx, word [bp-00eh] ; 8b 5e f2 8913 8910 mov si, strict word 00020h ; be 20 00 8914 call 0a 120h ; e8 5a 3e8911 call 0a0e0h ; e8 1a 3e 8915 8912 mov bx, di ; 89 fb 8916 8913 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9088 9085 or byte [bp+01ch], 001h ; 80 4e 1c 01 9089 9086 jmp short 064a0h ; eb c4 9090 mov bx, 00 e14h ; bb 14 0e9087 mov bx, 00db8h ; bb b8 0d 9091 9088 mov cx, ds ; 8c d9 9092 9089 mov ax, strict word 00004h ; b8 04 00 … … 9269 9266 mov bx, strict word 0000fh ; bb 0f 00 9270 9267 xor cx, cx ; 31 c9 9271 call 0a0 e0h ; e8 81 3a9268 call 0a0a0h ; e8 41 3a 9272 9269 mov cx, ax ; 89 c1 9273 9270 mov bx, dx ; 89 d3 … … 9427 9424 mov word [bp+00ch], ax ; 89 46 0c 9428 9425 jmp near 06827h ; e9 2b 00 9429 mov bx, 00 e14h ; bb 14 0e9426 mov bx, 00db8h ; bb b8 0d 9430 9427 mov cx, ds ; 8c d9 9431 9428 mov ax, strict word 00004h ; b8 04 00 … … 9614 9611 retf ; cb 9615 9612 jmp near 06827h ; e9 50 fe 9616 mov bx, 00 e14h ; bb 14 0e9613 mov bx, 00db8h ; bb b8 0d 9617 9614 mov cx, ds ; 8c d9 9618 9615 mov ax, strict word 00004h ; b8 04 00 … … 9654 9651 or byte [bp+018h], 001h ; 80 4e 18 01 9655 9652 jmp near 06827h ; e9 da fd 9656 mov bx, 00 e14h ; bb 14 0e9653 mov bx, 00db8h ; bb b8 0d 9657 9654 mov cx, ds ; 8c d9 9658 9655 mov ax, strict word 00004h ; b8 04 00 … … 9970 9967 mov word [bp+014h], dx ; 89 56 14 9971 9968 jmp short 06e0fh ; eb 2a 9972 mov bx, 00 e14h ; bb 14 0e9969 mov bx, 00db8h ; bb b8 0d 9973 9970 mov cx, ds ; 8c d9 9974 9971 mov ax, strict word 00004h ; b8 04 00 … … 10590 10587 je short 07443h ; 74 0e 10591 10588 push 00900h ; 68 00 09 10592 push 011 dch ; 68 dc1110589 push 01180h ; 68 80 11 10593 10590 push strict byte 00007h ; 6a 07 10594 10591 call 01a6bh ; e8 2b a6 … … 10670 10667 je short 074d3h ; 74 0e 10671 10668 push 0090ah ; 68 0a 09 10672 push 011 dch ; 68 dc1110669 push 01180h ; 68 80 11 10673 10670 push strict byte 00007h ; 6a 07 10674 10671 call 01a6bh ; e8 9b a5 … … 12124 12121 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12125 12122 jne short 08261h ; 75 1f 12126 mov bx, 00 e14h ; bb 14 0e12123 mov bx, 00db8h ; bb b8 0d 12127 12124 mov cx, ds ; 8c d9 12128 12125 mov ax, strict word 00004h ; b8 04 00 … … 12279 12276 mov dx, ss ; 8c d2 12280 12277 lea ax, [bp-046h] ; 8d 46 ba 12281 call 0a1 40h ; e8 89 1d12278 call 0a100h ; e8 49 1d 12282 12279 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12283 12280 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12338 12335 cmp bx, 00200h ; 81 fb 00 02 12339 12336 je short 0847ch ; 74 20 12340 mov bx, 00 e14h ; bb 14 0e12337 mov bx, 00db8h ; bb b8 0d 12341 12338 mov cx, ds ; 8c d9 12342 12339 mov ax, strict word 00004h ; b8 04 00 … … 12404 12401 mov dx, word [bp-016h] ; 8b 56 ea 12405 12402 mov si, strict word 0000ch ; be 0c 00 12406 call 0a 120h ; e8 26 1c12403 call 0a0e0h ; e8 e6 1b 12407 12404 mov word [bp-018h], ax ; 89 46 e8 12408 12405 mov word [bp-014h], bx ; 89 5e ec … … 12424 12421 mov dx, word [bp-016h] ; 8b 56 ea 12425 12422 mov si, strict word 00006h ; be 06 00 12426 call 0a 120h ; e8 e6 1b12423 call 0a0e0h ; e8 a6 1b 12427 12424 mov si, word [bp-020h] ; 8b 76 e0 12428 12425 add si, dx ; 01 d6 … … 12442 12439 mov dx, si ; 89 f2 12443 12440 mov si, strict word 00008h ; be 08 00 12444 call 0a 120h ; e8 b6 1b12441 call 0a0e0h ; e8 76 1b 12445 12442 mov word [bp-022h], bx ; 89 5e de 12446 12443 mov word [bp-02ch], cx ; 89 4e d4 … … 12451 12448 mov dx, word [bp-02ah] ; 8b 56 d6 12452 12449 mov si, strict word 00010h ; be 10 00 12453 call 0a 120h ; e8 9b 1b12450 call 0a0e0h ; e8 5b 1b 12454 12451 mov si, word [bp-01ah] ; 8b 76 e6 12455 12452 add si, dx ; 01 d6 … … 12475 12472 mov dx, word [bp-016h] ; 8b 56 ea 12476 12473 mov si, strict word 0000bh ; be 0b 00 12477 call 0a 120h ; e8 53 1b12474 call 0a0e0h ; e8 13 1b 12478 12475 mov si, dx ; 89 d6 12479 12476 mov dx, cx ; 89 ca … … 12516 12513 mov word [es:bx+02ch], si ; 26 89 77 2c 12517 12514 mov word [es:bx+032h], si ; 26 89 77 32 12518 mov bx, 00 e14h ; bb 14 0e12515 mov bx, 00db8h ; bb b8 0d 12519 12516 mov cx, ds ; 8c d9 12520 12517 mov ax, strict word 00004h ; b8 04 00 … … 12566 12563 inc byte [bp-00ch] ; fe 46 f4 12567 12564 jmp near 08770h ; e9 8b 00 12568 mov bx, 00 e14h ; bb 14 0e12565 mov bx, 00db8h ; bb b8 0d 12569 12566 mov cx, ds ; 8c d9 12570 12567 mov ax, strict word 00004h ; b8 04 00 … … 12663 12660 pop bp ; 5d 12664 12661 retn ; c3 12665 scsi_pci_init_: ; 0xf8802 LB 0x 6c12662 scsi_pci_init_: ; 0xf8802 LB 0x2d 12666 12663 push bp ; 55 12667 12664 mov bp, sp ; 89 e5 … … 12669 12666 push cx ; 51 12670 12667 push si ; 56 12671 push di ; 57 12672 mov si, ax ; 89 c6 12673 mov di, dx ; 89 d7 12674 call 09f06h ; e8 f6 16 12668 call 09ec7h ; e8 bc 16 12675 12669 mov dx, ax ; 89 c2 12676 12670 cmp ax, strict word 0ffffh ; 3d ff ff 12677 jne short 08834h ; 75 1d 12678 mov bx, 00e14h ; bb 14 0e 12679 mov cx, ds ; 8c d9 12680 mov ax, strict word 00004h ; b8 04 00 12681 call 01a2ah ; e8 08 92 12682 push di ; 57 12683 push si ; 56 12684 push 00c73h ; 68 73 0c 12685 push 00c81h ; 68 81 0c 12686 push strict byte 00004h ; 6a 04 12687 call 01a6bh ; e8 3c 92 12688 add sp, strict byte 0000ah ; 83 c4 0a 12689 jmp short 08865h ; eb 31 12690 mov bx, 00e14h ; bb 14 0e 12691 mov cx, ds ; 8c d9 12692 mov ax, strict word 00004h ; b8 04 00 12693 call 01a2ah ; e8 eb 91 12694 push dx ; 52 12695 push di ; 57 12696 push si ; 56 12697 push 00c73h ; 68 73 0c 12698 push 00caah ; 68 aa 0c 12699 push strict byte 00004h ; 6a 04 12700 call 01a6bh ; e8 1e 92 12701 add sp, strict byte 0000ch ; 83 c4 0c 12671 je short 08827h ; 74 15 12702 12672 movzx si, dl ; 0f b6 f2 12703 12673 mov ax, dx ; 89 d0 … … 12707 12677 mov bx, strict word 00004h ; bb 04 00 12708 12678 mov dx, si ; 89 f2 12709 call 09f98h ; e8 33 17 12710 lea sp, [bp-008h] ; 8d 66 f8 12711 pop di ; 5f 12679 call 09f59h ; e8 32 17 12680 lea sp, [bp-006h] ; 8d 66 fa 12712 12681 pop si ; 5e 12713 12682 pop cx ; 59 … … 12715 12684 pop bp ; 5d 12716 12685 retn ; c3 12717 _scsi_init: ; 0xf88 6eLB 0x8112686 _scsi_init: ; 0xf882f LB 0x81 12718 12687 push bp ; 55 12719 12688 mov bp, sp ; 89 e5 12720 12689 mov dx, strict word 0000eh ; ba 0e 00 12721 12690 mov ax, strict word 00040h ; b8 40 00 12722 call 01765h ; e8 eb 8e12691 call 01765h ; e8 2a 8f 12723 12692 mov bx, 00122h ; bb 22 01 12724 12693 mov es, ax ; 8e c0 … … 12731 12700 ; sub ah, ah ; 2a e4 12732 12701 cmp AL, strict byte 055h ; 3c 55 12733 jne short 088 a7h ; 75 1512702 jne short 08868h ; 75 15 12734 12703 xor al, al ; 30 c0 12735 12704 mov dx, 00433h ; ba 33 04 12736 12705 out DX, AL ; ee 12737 12706 mov ax, 00430h ; b8 30 04 12738 call 08380h ; e8 e2 fa12707 call 08380h ; e8 21 fb 12739 12708 mov dx, 01040h ; ba 40 10 12740 12709 mov ax, 0104bh ; b8 4b 10 12741 call 08802h ; e8 5bff12710 call 08802h ; e8 9a ff 12742 12711 mov AL, strict byte 055h ; b0 55 12743 12712 mov dx, 00436h ; ba 36 04 … … 12747 12716 ; sub ah, ah ; 2a e4 12748 12717 cmp AL, strict byte 055h ; 3c 55 12749 jne short 088 c9h ; 75 1512718 jne short 0888ah ; 75 15 12750 12719 xor al, al ; 30 c0 12751 12720 mov dx, 00437h ; ba 37 04 12752 12721 out DX, AL ; ee 12753 12722 mov ax, 00434h ; b8 34 04 12754 call 08380h ; e8 c0fa12723 call 08380h ; e8 ff fa 12755 12724 mov dx, strict word 00030h ; ba 30 00 12756 12725 mov ax, 01000h ; b8 00 10 12757 call 08802h ; e8 39ff12726 call 08802h ; e8 78 ff 12758 12727 mov AL, strict byte 055h ; b0 55 12759 12728 mov dx, 0043ah ; ba 3a 04 … … 12763 12732 ; sub ah, ah ; 2a e4 12764 12733 cmp AL, strict byte 055h ; 3c 55 12765 jne short 088 ebh ; 75 1512734 jne short 088ach ; 75 15 12766 12735 xor al, al ; 30 c0 12767 12736 mov dx, 0043bh ; ba 3b 04 12768 12737 out DX, AL ; ee 12769 12738 mov ax, 00438h ; b8 38 04 12770 call 08380h ; e8 9efa12739 call 08380h ; e8 dd fa 12771 12740 mov dx, strict word 00054h ; ba 54 00 12772 12741 mov ax, 01000h ; b8 00 10 12773 call 08802h ; e8 17ff12742 call 08802h ; e8 56 ff 12774 12743 mov sp, bp ; 89 ec 12775 12744 pop bp ; 5d 12776 12745 retn ; c3 12777 ahci_ctrl_extract_bits_: ; 0xf88 efLB 0x1b12746 ahci_ctrl_extract_bits_: ; 0xf88b0 LB 0x1b 12778 12747 push si ; 56 12779 12748 push bp ; 55 … … 12783 12752 and dx, cx ; 21 ca 12784 12753 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12785 jcxz 08 905h ; e3 0612754 jcxz 088c6h ; e3 06 12786 12755 shr dx, 1 ; d1 ea 12787 12756 rcr ax, 1 ; d1 d8 12788 loop 088 ffh ; e2 fa12757 loop 088c0h ; e2 fa 12789 12758 pop bp ; 5d 12790 12759 pop si ; 5e 12791 12760 retn 00002h ; c2 02 00 12792 ahci_addr_to_phys_: ; 0xf8 90aLB 0x1e12761 ahci_addr_to_phys_: ; 0xf88cb LB 0x1e 12793 12762 push bx ; 53 12794 12763 push cx ; 51 … … 12801 12770 sal ax, 1 ; d1 e0 12802 12771 rcl dx, 1 ; d1 d2 12803 loop 08 918h ; e2 fa12772 loop 088d9h ; e2 fa 12804 12773 xor cx, cx ; 31 c9 12805 12774 add ax, bx ; 01 d8 … … 12809 12778 pop bx ; 5b 12810 12779 retn ; c3 12811 ahci_port_cmd_sync_: ; 0xf8 928LB 0x14b12780 ahci_port_cmd_sync_: ; 0xf88e9 LB 0x14b 12812 12781 push bp ; 55 12813 12782 mov bp, sp ; 89 e5 … … 12824 12793 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12825 12794 cmp ah, 0ffh ; 80 fc ff 12826 je near 08a 6bh ; 0f 84 20 0112795 je near 08a2ch ; 0f 84 20 01 12827 12796 movzx dx, byte [es:si+00263h] ; 26 0f b6 94 63 02 12828 12797 xor di, di ; 31 ff … … 12836 12805 lea ax, [si+00080h] ; 8d 84 80 00 12837 12806 mov dx, cx ; 89 ca 12838 call 08 90ah ; e8 96 ff12807 call 088cbh ; e8 96 ff 12839 12808 mov es, cx ; 8e c1 12840 12809 mov word [es:si+008h], ax ; 26 89 44 08 … … 12899 12868 xchg dx, ax ; 92 12900 12869 test dh, 040h ; f6 c6 40 12901 jne short 08 a01h ; 75 0412870 jne short 089c2h ; 75 04 12902 12871 test AL, strict byte 001h ; a8 01 12903 je short 08 a05h ; 74 0412872 je short 089c6h ; 74 04 12904 12873 mov AL, strict byte 001h ; b0 01 12905 jmp short 08 a07h ; eb 0212874 jmp short 089c8h ; eb 02 12906 12875 xor al, al ; 30 c0 12907 12876 test al, al ; 84 c0 12908 je short 089 d5h ; 74 ca12877 je short 08996h ; 74 ca 12909 12878 movzx di, byte [bp-008h] ; 0f b6 7e f8 12910 12879 sal di, 007h ; c1 e7 07 … … 12960 12929 pop bp ; 5d 12961 12930 retn ; c3 12962 ahci_cmd_data_: ; 0xf8a 73LB 0x26212931 ahci_cmd_data_: ; 0xf8a34 LB 0x262 12963 12932 push bp ; 55 12964 12933 mov bp, sp ; 89 e5 … … 12985 12954 mov ax, 00080h ; b8 80 00 12986 12955 mov dx, word [bp-00ah] ; 8b 56 f6 12987 call 0a1 40h ; e8 8f1612956 call 0a100h ; e8 8e 16 12988 12957 mov es, [bp-00ah] ; 8e 46 f6 12989 12958 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13003 12972 mov dx, word [es:si] ; 26 8b 14 13004 12973 mov si, strict word 00008h ; be 08 00 13005 call 0a 120h ; e8 2b1612974 call 0a0e0h ; e8 2a 16 13006 12975 mov es, [bp-00ah] ; 8e 46 f6 13007 12976 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13014 12983 mov dx, word [es:si] ; 26 8b 14 13015 12984 mov si, strict word 00010h ; be 10 00 13016 call 0a 120h ; e8 051612985 call 0a0e0h ; e8 04 16 13017 12986 mov es, [bp-00ah] ; 8e 46 f6 13018 12987 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13026 12995 mov dx, word [es:si] ; 26 8b 14 13027 12996 mov si, strict word 00018h ; be 18 00 13028 call 0a 120h ; e8 d91512997 call 0a0e0h ; e8 d8 15 13029 12998 mov es, [bp-00ah] ; 8e 46 f6 13030 12999 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13037 13006 mov dx, word [es:si] ; 26 8b 14 13038 13007 mov si, strict word 00020h ; be 20 00 13039 call 0a 120h ; e8 b31513008 call 0a0e0h ; e8 b2 15 13040 13009 mov es, [bp-00ah] ; 8e 46 f6 13041 13010 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13048 13017 mov dx, word [es:si] ; 26 8b 14 13049 13018 mov si, strict word 00028h ; be 28 00 13050 call 0a 120h ; e8 8d1513019 call 0a0e0h ; e8 8c 15 13051 13020 mov es, [bp-00ah] ; 8e 46 f6 13052 13021 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13062 13031 mov bx, word [bp-010h] ; 8b 5e f0 13063 13032 xor cx, cx ; 31 c9 13064 call 0a0 a0h ; e8 d81413033 call 0a060h ; e8 d7 14 13065 13034 push dx ; 52 13066 13035 push ax ; 50 … … 13072 13041 mov ax, 0026ah ; b8 6a 02 13073 13042 mov dx, word [bp-00ah] ; 8b 56 f6 13074 call 09f efh ; e8 0b 1413043 call 09fb0h ; e8 0b 14 13075 13044 mov es, [bp-00ah] ; 8e 46 f6 13076 13045 mov ax, word [es:di+0027eh] ; 26 8b 85 7e 02 … … 13093 13062 mov ax, word [es:bx+020h] ; 26 8b 47 20 13094 13063 test ax, ax ; 85 c0 13095 je short 08c 72h ; 74 3913064 je short 08c33h ; 74 39 13096 13065 dec ax ; 48 13097 13066 mov es, [bp-00ah] ; 8e 46 f6 … … 13109 13078 mov al, byte [bp-008h] ; 8a 46 f8 13110 13079 cmp AL, strict byte 035h ; 3c 35 13111 jne short 08c 7fh ; 75 0613080 jne short 08c40h ; 75 06 13112 13081 mov byte [bp-008h], 040h ; c6 46 f8 40 13113 jmp short 08c 96h ; eb 1713082 jmp short 08c57h ; eb 17 13114 13083 cmp AL, strict byte 0a0h ; 3c a0 13115 jne short 08c 92h ; 75 0f13084 jne short 08c53h ; 75 0f 13116 13085 or byte [bp-008h], 020h ; 80 4e f8 20 13117 13086 les bx, [bp-00eh] ; c4 5e f2 13118 13087 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13119 jmp short 08c 96h ; eb 0413088 jmp short 08c57h ; eb 04 13120 13089 mov byte [bp-008h], 000h ; c6 46 f8 00 13121 13090 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13123 13092 mov ax, word [bp-00eh] ; 8b 46 f2 13124 13093 mov dx, word [bp-00ch] ; 8b 56 f4 13125 call 08 928h ; e8 81 fc13094 call 088e9h ; e8 81 fc 13126 13095 mov cx, word [bp-00ch] ; 8b 4e f4 13127 13096 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13130 13099 add ax, 0026ah ; 05 6a 02 13131 13100 mov dx, cx ; 89 ca 13132 call 0a0 68h ; e8 ac 1313101 call 0a029h ; e8 ac 13 13133 13102 mov es, cx ; 8e c1 13134 13103 mov al, byte [es:bx+003h] ; 26 8a 47 03 13135 13104 test al, al ; 84 c0 13136 je short 08c cbh ; 74 0513105 je short 08c8ch ; 74 05 13137 13106 mov ax, strict word 00004h ; b8 04 00 13138 jmp short 08c cdh ; eb 0213107 jmp short 08c8eh ; eb 02 13139 13108 xor ah, ah ; 30 e4 13140 13109 lea sp, [bp-006h] ; 8d 66 fa … … 13144 13113 pop bp ; 5d 13145 13114 retn ; c3 13146 ahci_port_deinit_current_: ; 0xf8c d5LB 0x17f13115 ahci_port_deinit_current_: ; 0xf8c96 LB 0x17f 13147 13116 push bp ; 55 13148 13117 mov bp, sp ; 89 e5 … … 13159 13128 mov byte [bp-00ah], al ; 88 46 f6 13160 13129 cmp AL, strict byte 0ffh ; 3c ff 13161 je near 08e 4bh ; 0f 84 52 0113130 je near 08e0ch ; 0f 84 52 01 13162 13131 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13163 13132 sal ax, 007h ; c1 e0 07 … … 13202 13171 xchg dx, ax ; 92 13203 13172 test ax, 0c011h ; a9 11 c0 13204 je short 08d 59h ; 74 0413173 je short 08d1ah ; 74 04 13205 13174 mov AL, strict byte 001h ; b0 01 13206 jmp short 08d 5bh ; eb 0213175 jmp short 08d1ch ; eb 02 13207 13176 xor al, al ; 30 c0 13208 13177 cmp AL, strict byte 001h ; 3c 01 13209 je short 08 d2dh ; 74 ce13178 je short 08ceeh ; 74 ce 13210 13179 mov cx, strict word 00020h ; b9 20 00 13211 13180 xor bx, bx ; 31 db 13212 13181 mov ax, di ; 89 f8 13213 13182 mov dx, word [bp-00ch] ; 8b 56 f4 13214 call 0a1 40h ; e8 d41313183 call 0a100h ; e8 d3 13 13215 13184 lea ax, [di+00080h] ; 8d 85 80 00 13216 13185 mov cx, strict word 00040h ; b9 40 00 13217 13186 xor bx, bx ; 31 db 13218 13187 mov dx, word [bp-00ch] ; 8b 56 f4 13219 call 0a1 40h ; e8 c51313188 call 0a100h ; e8 c4 13 13220 13189 lea ax, [di+00200h] ; 8d 85 00 02 13221 13190 mov cx, strict word 00060h ; b9 60 00 13222 13191 xor bx, bx ; 31 db 13223 13192 mov dx, word [bp-00ch] ; 8b 56 f4 13224 call 0a1 40h ; e8 b61313193 call 0a100h ; e8 b5 13 13225 13194 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13226 13195 sal ax, 007h ; c1 e0 07 … … 13326 13295 pop bp ; 5d 13327 13296 retn ; c3 13328 ahci_port_init_: ; 0xf8e 54LB 0x24a13297 ahci_port_init_: ; 0xf8e15 LB 0x24a 13329 13298 push bp ; 55 13330 13299 mov bp, sp ; 89 e5 … … 13336 13305 mov word [bp-00ah], dx ; 89 56 f6 13337 13306 mov byte [bp-008h], bl ; 88 5e f8 13338 call 08c d5h ; e8 6d fe13307 call 08c96h ; e8 6d fe 13339 13308 movzx ax, bl ; 0f b6 c3 13340 13309 sal ax, 007h ; c1 e0 07 … … 13383 13352 xchg dx, ax ; 92 13384 13353 test ax, 0c011h ; a9 11 c0 13385 je short 08e d7h ; 74 0413354 je short 08e98h ; 74 04 13386 13355 mov AL, strict byte 001h ; b0 01 13387 jmp short 08e d9h ; eb 0213356 jmp short 08e9ah ; eb 02 13388 13357 xor al, al ; 30 c0 13389 13358 cmp AL, strict byte 001h ; 3c 01 13390 je short 08e a3h ; 74 c613359 je short 08e64h ; 74 c6 13391 13360 mov cx, strict word 00020h ; b9 20 00 13392 13361 xor bx, bx ; 31 db 13393 13362 mov ax, si ; 89 f0 13394 13363 mov dx, word [bp-00ah] ; 8b 56 f6 13395 call 0a1 40h ; e8 561213364 call 0a100h ; e8 55 12 13396 13365 lea ax, [si+00080h] ; 8d 84 80 00 13397 13366 mov cx, strict word 00040h ; b9 40 00 13398 13367 xor bx, bx ; 31 db 13399 13368 mov dx, word [bp-00ah] ; 8b 56 f6 13400 call 0a1 40h ; e8 471213369 call 0a100h ; e8 46 12 13401 13370 lea di, [si+00200h] ; 8d bc 00 02 13402 13371 mov cx, strict word 00060h ; b9 60 00 … … 13404 13373 mov ax, di ; 89 f8 13405 13374 mov dx, word [bp-00ah] ; 8b 56 f6 13406 call 0a1 40h ; e8 361213375 call 0a100h ; e8 35 12 13407 13376 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13408 13377 sal bx, 007h ; c1 e3 07 … … 13421 13390 mov ax, di ; 89 f8 13422 13391 mov dx, word [bp-00ah] ; 8b 56 f6 13423 call 08 90ah ; e8 d3 f913392 call 088cbh ; e8 d3 f9 13424 13393 mov es, [bp-00ah] ; 8e 46 f6 13425 13394 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13466 13435 mov ax, si ; 89 f0 13467 13436 mov dx, word [bp-00ah] ; 8b 56 f6 13468 call 08 90ah ; e8 67 f913437 call 088cbh ; e8 67 f9 13469 13438 mov es, [bp-00ah] ; 8e 46 f6 13470 13439 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13571 13540 pop bp ; 5d 13572 13541 retn ; c3 13573 @ahci_read_sectors: ; 0xf90 9eLB 0xa613542 @ahci_read_sectors: ; 0xf905f LB 0xa6 13574 13543 push bp ; 55 13575 13544 mov bp, sp ; 89 e5 … … 13581 13550 sub di, strict byte 0000ch ; 83 ef 0c 13582 13551 cmp di, strict byte 00004h ; 83 ff 04 13583 jbe short 090 c3h ; 76 0f13552 jbe short 09084h ; 76 0f 13584 13553 push di ; 57 13585 push 00c d6h ; 68 d60c13586 push 00c e8h ; 68 e80c13554 push 00c74h ; 68 74 0c 13555 push 00c86h ; 68 86 0c 13587 13556 push strict byte 00007h ; 6a 07 13588 call 01a6bh ; e8 ab8913557 call 01a6bh ; e8 ea 89 13589 13558 add sp, strict byte 00008h ; 83 c4 08 13590 13559 xor bx, bx ; 31 db … … 13600 13569 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13601 13570 xor ax, ax ; 31 c0 13602 call 08e 54h ; e8 65 fd13571 call 08e15h ; e8 65 fd 13603 13572 mov bx, strict word 00025h ; bb 25 00 13604 13573 mov ax, si ; 89 f0 13605 13574 mov dx, word [bp+006h] ; 8b 56 06 13606 call 08a 73h ; e8 79 f913575 call 08a34h ; e8 79 f9 13607 13576 mov word [bp-006h], ax ; 89 46 fa 13608 13577 mov es, [bp+006h] ; 8e 46 06 … … 13633 13602 pop bp ; 5d 13634 13603 retn 00004h ; c2 04 00 13635 @ahci_write_sectors: ; 0xf91 44LB 0x8413604 @ahci_write_sectors: ; 0xf9105 LB 0x84 13636 13605 push bp ; 55 13637 13606 mov bp, sp ; 89 e5 … … 13644 13613 sub dx, strict byte 0000ch ; 83 ea 0c 13645 13614 cmp dx, strict byte 00004h ; 83 fa 04 13646 jbe short 091 6dh ; 76 0f13615 jbe short 0912eh ; 76 0f 13647 13616 push dx ; 52 13648 push 00 d07h ; 68 07 0d13649 push 00c e8h ; 68 e80c13617 push 00ca5h ; 68 a5 0c 13618 push 00c86h ; 68 86 0c 13650 13619 push strict byte 00007h ; 6a 07 13651 call 01a6bh ; e8 018913620 call 01a6bh ; e8 40 89 13652 13621 add sp, strict byte 00008h ; 83 c4 08 13653 13622 xor bx, bx ; 31 db … … 13663 13632 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13664 13633 xor ax, ax ; 31 c0 13665 call 08e 54h ; e8 bd fc13634 call 08e15h ; e8 bd fc 13666 13635 mov bx, strict word 00035h ; bb 35 00 13667 13636 mov ax, si ; 89 f0 13668 13637 mov dx, cx ; 89 ca 13669 call 08a 73h ; e8 d2 f813638 call 08a34h ; e8 d2 f8 13670 13639 mov dx, ax ; 89 c2 13671 13640 mov es, cx ; 8e c1 … … 13682 13651 pop bp ; 5d 13683 13652 retn 00004h ; c2 04 00 13684 ahci_cmd_packet_: ; 0xf91 c8LB 0x18313653 ahci_cmd_packet_: ; 0xf9189 LB 0x183 13685 13654 push bp ; 55 13686 13655 mov bp, sp ; 89 e5 … … 13694 13663 mov dx, strict word 0000eh ; ba 0e 00 13695 13664 mov ax, strict word 00040h ; b8 40 00 13696 call 01765h ; e8 828513665 call 01765h ; e8 c1 85 13697 13666 mov si, 00122h ; be 22 01 13698 13667 mov word [bp-008h], ax ; 89 46 f8 13699 13668 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13700 jne short 09 20eh ; 75 1f13701 mov bx, 00 e14h ; bb 14 0e13669 jne short 091cfh ; 75 1f 13670 mov bx, 00db8h ; bb b8 0d 13702 13671 mov cx, ds ; 8c d9 13703 13672 mov ax, strict word 00004h ; b8 04 00 13704 call 01a2ah ; e8 308813705 push 00 d1ah ; 68 1a 0d13706 push 00 d2ah ; 68 2a 0d13673 call 01a2ah ; e8 6f 88 13674 push 00cb8h ; 68 b8 0c 13675 push 00cc8h ; 68 c8 0c 13707 13676 push strict byte 00004h ; 6a 04 13708 call 01a6bh ; e8 668813677 call 01a6bh ; e8 a5 88 13709 13678 add sp, strict byte 00006h ; 83 c4 06 13710 13679 mov ax, strict word 00001h ; b8 01 00 13711 jmp near 093 42h ; e9 34 0113680 jmp near 09303h ; e9 34 01 13712 13681 test byte [bp+004h], 001h ; f6 46 04 01 13713 jne short 09 208h ; 75 f413682 jne short 091c9h ; 75 f4 13714 13683 mov ax, word [bp+006h] ; 8b 46 06 13715 13684 mov dx, word [bp+008h] ; 8b 56 08 … … 13717 13686 sal ax, 1 ; d1 e0 13718 13687 rcl dx, 1 ; d1 d2 13719 loop 09 21dh ; e2 fa13688 loop 091deh ; e2 fa 13720 13689 mov es, [bp-008h] ; 8e 46 f8 13721 13690 mov word [es:si], ax ; 26 89 04 … … 13731 13700 mov dx, word [bp+008h] ; 8b 56 08 13732 13701 xor cx, cx ; 31 c9 13733 call 0a0 e0h ; e8 8d0e13702 call 0a0a0h ; e8 8c 0e 13734 13703 mov word [es:si+00eh], ax ; 26 89 44 0e 13735 13704 xor di, di ; 31 ff … … 13748 13717 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13749 13718 xor ax, ax ; 31 c0 13750 call 08e 54h ; e8 c5 fb13719 call 08e15h ; e8 c5 fb 13751 13720 movzx ax, byte [bp-006h] ; 0f b6 46 fa 13752 13721 push ax ; 50 … … 13755 13724 mov ax, 000c0h ; b8 c0 00 13756 13725 mov dx, word [bp-00ah] ; 8b 56 f6 13757 call 0a1 50h ; e8 ad0e13726 call 0a110h ; e8 ac 0e 13758 13727 mov es, [bp-008h] ; 8e 46 f8 13759 13728 mov word [es:si+018h], di ; 26 89 7c 18 … … 13762 13731 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13763 13732 test ax, ax ; 85 c0 13764 je short 092 e1h ; 74 2713733 je short 092a2h ; 74 27 13765 13734 dec ax ; 48 13766 13735 mov es, [bp-00ah] ; 8e 46 f6 … … 13775 13744 mov ax, si ; 89 f0 13776 13745 mov dx, word [bp-008h] ; 8b 56 f8 13777 call 08a 73h ; e8 87 f713746 call 08a34h ; e8 87 f7 13778 13747 les bx, [bp-00eh] ; c4 5e f2 13779 13748 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 13802 13771 mov ax, word [es:bx+006h] ; 26 8b 47 06 13803 13772 or ax, word [es:bx+004h] ; 26 0b 47 04 13804 jne short 093 40h ; 75 0513773 jne short 09301h ; 75 05 13805 13774 mov ax, strict word 00004h ; b8 04 00 13806 jmp short 093 42h ; eb 0213775 jmp short 09303h ; eb 02 13807 13776 xor ax, ax ; 31 c0 13808 13777 lea sp, [bp-004h] ; 8d 66 fc … … 13811 13780 pop bp ; 5d 13812 13781 retn 0000ch ; c2 0c 00 13813 ahci_port_detect_device_: ; 0xf93 4bLB 0x4b113782 ahci_port_detect_device_: ; 0xf930c LB 0x4b1 13814 13783 push bp ; 55 13815 13784 mov bp, sp ; 89 e5 … … 13823 13792 movzx di, bl ; 0f b6 fb 13824 13793 mov bx, di ; 89 fb 13825 call 08e 54h ; e8 ef fa13794 call 08e15h ; e8 ef fa 13826 13795 mov dx, strict word 0000eh ; ba 0e 00 13827 13796 mov ax, strict word 00040h ; b8 40 00 13828 call 01765h ; e8 f7 8313797 call 01765h ; e8 36 84 13829 13798 mov word [bp-010h], 00122h ; c7 46 f0 22 01 13830 13799 mov word [bp-00eh], ax ; 89 46 f2 … … 13895 13864 mov bx, strict word 0000fh ; bb 0f 00 13896 13865 xor cx, cx ; 31 c9 13897 call 088 efh ; e8 d7 f413866 call 088b0h ; e8 d7 f4 13898 13867 test ax, ax ; 85 c0 13899 je near 097 f4h ; 0f 84 d6 0313868 je near 097b5h ; 0f 84 d6 03 13900 13869 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13901 13870 sal ax, 007h ; c1 e0 07 … … 13925 13894 mov bx, strict word 0000fh ; bb 0f 00 13926 13895 xor cx, cx ; 31 c9 13927 call 088 efh ; e8 8b f413896 call 088b0h ; e8 8b f4 13928 13897 cmp ax, strict word 00001h ; 3d 01 00 13929 je short 09 41eh ; 74 b513898 je short 093dfh ; 74 b5 13930 13899 push strict byte 00000h ; 6a 00 13931 13900 mov bx, strict word 0000fh ; bb 0f 00 … … 13933 13902 mov ax, di ; 89 f8 13934 13903 mov dx, word [bp-022h] ; 8b 56 de 13935 call 088 efh ; e8 77 f413904 call 088b0h ; e8 77 f4 13936 13905 cmp ax, strict word 00003h ; 3d 03 00 13937 jne near 097 f4h ; 0f 85 75 0313906 jne near 097b5h ; 0f 85 75 03 13938 13907 mov ax, word [bp-018h] ; 8b 46 e8 13939 13908 add ax, 00130h ; 05 30 01 … … 13962 13931 mov byte [bp-008h], al ; 88 46 f8 13963 13932 cmp AL, strict byte 004h ; 3c 04 13964 jnc near 097 f4h ; 0f 83 2f 0313933 jnc near 097b5h ; 0f 83 2f 03 13965 13934 mov ax, word [bp-018h] ; 8b 46 e8 13966 13935 add ax, 00118h ; 05 18 01 … … 14014 13983 add cl, 00ch ; 80 c1 0c 14015 13984 test dx, dx ; 85 d2 14016 jne near 097 4ah ; 0f 85 0d 0213985 jne near 0970bh ; 0f 85 0d 02 14017 13986 cmp di, 00101h ; 81 ff 01 01 14018 jne near 097 4ah ; 0f 85 05 0213987 jne near 0970bh ; 0f 85 05 02 14019 13988 les bx, [bp-010h] ; c4 5e f0 14020 13989 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14030 13999 mov ax, word [bp-010h] ; 8b 46 f0 14031 14000 mov dx, es ; 8c c2 14032 call 08a 73h ; e8 fa f414001 call 08a34h ; e8 fa f4 14033 14002 mov byte [bp-00ch], cl ; 88 4e f4 14034 14003 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 … … 14047 14016 mov dword [bp-016h], strict dword 000000000h ; 66 c7 46 ea 00 00 00 00 14048 14017 cmp di, 00fffh ; 81 ff ff 0f 14049 jne short 095 d2h ; 75 1e14018 jne short 09593h ; 75 1e 14050 14019 cmp dx, strict byte 0ffffh ; 83 fa ff 14051 jne short 095 d2h ; 75 1914020 jne short 09593h ; 75 19 14052 14021 mov dx, word [bp-0015ch] ; 8b 96 a4 fe 14053 14022 mov word [bp-014h], dx ; 89 56 ec … … 14086 14055 mov al, byte [bp-008h] ; 8a 46 f8 14087 14056 cmp AL, strict byte 001h ; 3c 01 14088 jc short 096 4bh ; 72 0c14089 jbe short 096 53h ; 76 1214057 jc short 0960ch ; 72 0c 14058 jbe short 09614h ; 76 12 14090 14059 cmp AL, strict byte 003h ; 3c 03 14091 je short 096 5bh ; 74 1614060 je short 0961ch ; 74 16 14092 14061 cmp AL, strict byte 002h ; 3c 02 14093 je short 096 57h ; 74 0e14094 jmp short 096 a4h ; eb 5914062 je short 09618h ; 74 0e 14063 jmp short 09665h ; eb 59 14095 14064 test al, al ; 84 c0 14096 jne short 096 a4h ; 75 5514065 jne short 09665h ; 75 55 14097 14066 mov DL, strict byte 040h ; b2 40 14098 jmp short 096 5dh ; eb 0a14067 jmp short 0961eh ; eb 0a 14099 14068 mov DL, strict byte 048h ; b2 48 14100 jmp short 096 5dh ; eb 0614069 jmp short 0961eh ; eb 06 14101 14070 mov DL, strict byte 050h ; b2 50 14102 jmp short 096 5dh ; eb 0214071 jmp short 0961eh ; eb 02 14103 14072 mov DL, strict byte 058h ; b2 58 14104 14073 mov al, dl ; 88 d0 … … 14106 14075 movzx bx, al ; 0f b6 d8 14107 14076 mov ax, bx ; 89 d8 14108 call 017a5h ; e8 3c8114077 call 017a5h ; e8 7b 81 14109 14078 test al, al ; 84 c0 14110 je short 096 a4h ; 74 3714079 je short 09665h ; 74 37 14111 14080 mov al, dl ; 88 d0 14112 14081 db 0feh, 0c0h 14113 14082 ; inc al ; fe c0 14114 14083 xor ah, ah ; 30 e4 14115 call 017a5h ; e8 2f8114084 call 017a5h ; e8 6e 81 14116 14085 xor ah, ah ; 30 e4 14117 14086 mov si, ax ; 89 c6 14118 14087 sal si, 008h ; c1 e6 08 14119 14088 movzx ax, dl ; 0f b6 c2 14120 call 017a5h ; e8 228114089 call 017a5h ; e8 61 81 14121 14090 xor ah, ah ; 30 e4 14122 14091 add ax, si ; 01 f0 … … 14125 14094 add AL, strict byte 002h ; 04 02 14126 14095 xor ah, ah ; 30 e4 14127 call 017a5h ; e8 128114096 call 017a5h ; e8 51 81 14128 14097 xor ah, ah ; 30 e4 14129 14098 mov word [bp-02ah], ax ; 89 46 d6 14130 14099 mov ax, bx ; 89 d8 14131 call 017a5h ; e8 088114100 call 017a5h ; e8 47 81 14132 14101 xor ah, ah ; 30 e4 14133 14102 mov word [bp-026h], ax ; 89 46 da 14134 jmp short 096 b4h ; eb 1014103 jmp short 09675h ; eb 10 14135 14104 push dword [bp-016h] ; 66 ff 76 ea 14136 14105 push di ; 57 … … 14138 14107 mov dx, ss ; 8c d2 14139 14108 lea ax, [bp-02ah] ; 8d 46 d6 14140 call 05ad0h ; e8 1cc414141 mov bx, 00 e14h ; bb 14 0e14109 call 05ad0h ; e8 5b c4 14110 mov bx, 00db8h ; bb b8 0d 14142 14111 mov cx, ds ; 8c d9 14143 14112 mov ax, strict word 00004h ; b8 04 00 14144 call 01a2ah ; e8 6b8314113 call 01a2ah ; e8 aa 83 14145 14114 push dword [bp-016h] ; 66 ff 76 ea 14146 14115 push di ; 57 … … 14159 14128 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14160 14129 push ax ; 50 14161 push 00 d4ah ; 68 4a 0d14130 push 00ce8h ; 68 e8 0c 14162 14131 push strict byte 00004h ; 6a 04 14163 call 01a6bh ; e8 7d8314132 call 01a6bh ; e8 bc 83 14164 14133 add sp, strict byte 0001ch ; 83 c4 1c 14165 14134 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 14190 14159 mov dx, strict word 00075h ; ba 75 00 14191 14160 mov ax, strict word 00040h ; b8 40 00 14192 call 01749h ; e8 108014161 call 01749h ; e8 4f 80 14193 14162 db 0feh, 0c0h 14194 14163 ; inc al ; fe c0 … … 14196 14165 mov dx, strict word 00075h ; ba 75 00 14197 14166 mov ax, strict word 00040h ; b8 40 00 14198 call 01757h ; e8 108014199 jmp near 097 e6h ; e9 9c 0014167 call 01757h ; e8 4f 80 14168 jmp near 097a7h ; e9 9c 00 14200 14169 cmp dx, 0eb14h ; 81 fa 14 eb 14201 jne near 097 e6h ; 0f 85 94 0014170 jne near 097a7h ; 0f 85 94 00 14202 14171 cmp di, 00101h ; 81 ff 01 01 14203 jne near 097 e6h ; 0f 85 8c 0014172 jne near 097a7h ; 0f 85 8c 00 14204 14173 les bx, [bp-010h] ; c4 5e f0 14205 14174 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14215 14184 mov ax, word [bp-010h] ; 8b 46 f0 14216 14185 mov dx, es ; 8c c2 14217 call 08a 73h ; e8 e5 f214186 call 08a34h ; e8 e5 f2 14218 14187 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14219 14188 db 00fh, 095h, 0c0h … … 14252 14221 pop bp ; 5d 14253 14222 retn ; c3 14254 ahci_mem_alloc_: ; 0xf97 fcLB 0x4314223 ahci_mem_alloc_: ; 0xf97bd LB 0x43 14255 14224 push bp ; 55 14256 14225 mov bp, sp ; 89 e5 … … 14262 14231 mov dx, 00413h ; ba 13 04 14263 14232 xor ax, ax ; 31 c0 14264 call 01765h ; e8 597f14233 call 01765h ; e8 98 7f 14265 14234 test ax, ax ; 85 c0 14266 je short 09 835h ; 74 2514235 je short 097f6h ; 74 25 14267 14236 dec ax ; 48 14268 14237 mov bx, ax ; 89 c3 … … 14271 14240 sal ax, 1 ; d1 e0 14272 14241 rcl dx, 1 ; d1 d2 14273 loop 09 818h ; e2 fa14242 loop 097d9h ; e2 fa 14274 14243 mov si, ax ; 89 c6 14275 14244 mov di, dx ; 89 d7 … … 14277 14246 shr di, 1 ; d1 ef 14278 14247 rcr si, 1 ; d1 de 14279 loop 09 825h ; e2 fa14248 loop 097e6h ; e2 fa 14280 14249 mov dx, 00413h ; ba 13 04 14281 14250 xor ax, ax ; 31 c0 14282 call 01773h ; e8 407f14251 call 01773h ; e8 7f 7f 14283 14252 mov ax, si ; 89 f0 14284 14253 lea sp, [bp-00ah] ; 8d 66 f6 … … 14290 14259 pop bp ; 5d 14291 14260 retn ; c3 14292 ahci_hba_init_: ; 0xf98 3fLB 0x16614261 ahci_hba_init_: ; 0xf9800 LB 0x166 14293 14262 push bp ; 55 14294 14263 mov bp, sp ; 89 e5 … … 14302 14271 mov dx, strict word 0000eh ; ba 0e 00 14303 14272 mov ax, strict word 00040h ; b8 40 00 14304 call 01765h ; e8 107f14273 call 01765h ; e8 4f 7f 14305 14274 mov bx, 00122h ; bb 22 01 14306 14275 mov di, ax ; 89 c7 … … 14319 14288 shr eax, 010h ; 66 c1 e8 10 14320 14289 xchg dx, ax ; 92 14321 call 097 fch ; e8 83 ff14290 call 097bdh ; e8 83 ff 14322 14291 mov word [bp-010h], ax ; 89 46 f0 14323 14292 test ax, ax ; 85 c0 14324 je near 099 84h ; 0f 84 02 0114293 je near 09945h ; 0f 84 02 01 14325 14294 mov ax, word [bp-010h] ; 8b 46 f0 14326 14295 mov es, di ; 8e c7 … … 14372 14341 xchg dx, ax ; 92 14373 14342 test AL, strict byte 001h ; a8 01 14374 jne short 098 d8h ; 75 de14343 jne short 09899h ; 75 de 14375 14344 xor ax, ax ; 31 c0 14376 14345 xor cx, cx ; 31 c9 … … 14390 14359 mov bx, strict word 0001fh ; bb 1f 00 14391 14360 xor cx, cx ; 31 c9 14392 call 088 efh ; e8 d1 ef14361 call 088b0h ; e8 d1 ef 14393 14362 db 0feh, 0c0h 14394 14363 ; inc al ; fe c0 14395 14364 mov byte [bp-00eh], al ; 88 46 f2 14396 14365 mov byte [bp-00ch], 000h ; c6 46 f4 00 14397 jmp short 099 49h ; eb 2014366 jmp short 0990ah ; eb 20 14398 14367 xor al, al ; 30 c0 14399 14368 test al, al ; 84 c0 14400 je short 099 40h ; 74 1114369 je short 09901h ; 74 11 14401 14370 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 14402 14371 xor ax, ax ; 31 c0 14403 14372 mov dx, word [bp-010h] ; 8b 56 f0 14404 call 093 4bh ; e8 10 fa14373 call 0930ch ; e8 10 fa 14405 14374 dec byte [bp-00eh] ; fe 4e f2 14406 je short 099 82h ; 74 4214375 je short 09943h ; 74 42 14407 14376 inc byte [bp-00ch] ; fe 46 f4 14408 14377 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14409 jnc short 099 82h ; 73 3914378 jnc short 09943h ; 73 39 14410 14379 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 14411 14380 mov bx, strict word 00001h ; bb 01 00 14412 14381 xor di, di ; 31 ff 14413 jcxz 099 5ah ; e3 0614382 jcxz 0991bh ; e3 06 14414 14383 sal bx, 1 ; d1 e3 14415 14384 rcl di, 1 ; d1 d7 14416 loop 099 54h ; e2 fa14385 loop 09915h ; e2 fa 14417 14386 mov ax, strict word 0000ch ; b8 0c 00 14418 14387 xor cx, cx ; 31 c9 … … 14430 14399 xchg dx, ax ; 92 14431 14400 test dx, di ; 85 fa 14432 jne short 099 7eh ; 75 0414401 jne short 0993fh ; 75 04 14433 14402 test ax, bx ; 85 d8 14434 je short 09 929h ; 74 ab14403 je short 098eah ; 74 ab 14435 14404 mov AL, strict byte 001h ; b0 01 14436 jmp short 09 92bh ; eb a914405 jmp short 098ech ; eb a9 14437 14406 xor ax, ax ; 31 c0 14438 14407 lea sp, [bp-00ah] ; 8d 66 f6 … … 14444 14413 pop bp ; 5d 14445 14414 retn ; c3 14446 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 75h, 09ah, 053h, 09ah, 059h, 09ah, 05fh, 09ah, 065h14447 db 09ah, 0 6bh, 09ah, 071h, 09ah, 075h, 09ah14448 _ahci_init: ; 0xf99 a5LB 0x11614415 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 036h, 09ah, 014h, 09ah, 01ah, 09ah, 020h, 09ah, 026h 14416 db 09ah, 02ch, 09ah, 032h, 09ah, 036h, 09ah 14417 _ahci_init: ; 0xf9966 LB 0x116 14449 14418 push bp ; 55 14450 14419 mov bp, sp ; 89 e5 … … 14454 14423 mov ax, 00601h ; b8 01 06 14455 14424 mov dx, strict word 00001h ; ba 01 00 14456 call 09e dbh ; e8 25 0514425 call 09e9ch ; e8 25 05 14457 14426 mov bx, ax ; 89 c3 14458 14427 cmp ax, strict word 0ffffh ; 3d ff ff 14459 je near 09a b4h ; 0f 84 f5 0014428 je near 09a75h ; 0f 84 f5 00 14460 14429 xor al, al ; 30 c0 14461 14430 shr ax, 008h ; c1 e8 08 … … 14465 14434 xor ah, ah ; 30 e4 14466 14435 mov bx, strict word 00034h ; bb 34 00 14467 call 09 f2bh ; e8 56 0514436 call 09eech ; e8 56 05 14468 14437 mov cl, al ; 88 c1 14469 14438 test cl, cl ; 84 c9 14470 je short 099 feh ; 74 2314439 je short 099bfh ; 74 23 14471 14440 movzx bx, cl ; 0f b6 d9 14472 14441 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14474 14443 mov dx, di ; 89 fa 14475 14444 mov ax, si ; 89 f0 14476 call 09 f2bh ; e8 3e 0514445 call 09eech ; e8 3e 05 14477 14446 cmp AL, strict byte 012h ; 3c 12 14478 je short 099 feh ; 74 0d14447 je short 099bfh ; 74 0d 14479 14448 mov al, cl ; 88 c8 14480 14449 db 0feh, 0c0h … … 14483 14452 mov dx, di ; 89 fa 14484 14453 mov ax, si ; 89 f0 14485 jmp short 099 d2h ; eb d414454 jmp short 09993h ; eb d4 14486 14455 test cl, cl ; 84 c9 14487 je near 09a b4h ; 0f 84 b0 0014456 je near 09a75h ; 0f 84 b0 00 14488 14457 add cl, 002h ; 80 c1 02 14489 14458 movzx bx, cl ; 0f b6 d9 … … 14492 14461 mov dx, si ; 89 f2 14493 14462 mov ax, di ; 89 f8 14494 call 09 f2bh ; e8 12 0514463 call 09eech ; e8 12 05 14495 14464 cmp AL, strict byte 010h ; 3c 10 14496 jne near 09a b4h ; 0f 85 95 0014465 jne near 09a75h ; 0f 85 95 00 14497 14466 mov byte [bp-006h], 000h ; c6 46 fa 00 14498 14467 mov al, cl ; 88 c8 … … 14501 14470 mov dx, si ; 89 f2 14502 14471 mov ax, di ; 89 f8 14503 call 09f 4fh ; e8 1e 0514472 call 09f10h ; e8 1e 05 14504 14473 mov dx, ax ; 89 c2 14505 14474 and ax, strict word 0000fh ; 25 0f 00 14506 14475 sub ax, strict word 00004h ; 2d 04 00 14507 14476 cmp ax, strict word 0000bh ; 3d 0b 00 14508 jnbe short 09a 75h ; 77 3714477 jnbe short 09a36h ; 77 37 14509 14478 push CS ; 0e 14510 14479 pop ES ; 07 14511 14480 mov cx, strict word 00008h ; b9 08 00 14512 mov di, 099 8eh ; bf 8e9914481 mov di, 0994fh ; bf 4f 99 14513 14482 repne scasb ; f2 ae 14514 14483 sal cx, 1 ; d1 e1 14515 14484 mov di, cx ; 89 cf 14516 mov ax, word [cs:di-066 6bh] ; 2e 8b 85 959914485 mov ax, word [cs:di-066aah] ; 2e 8b 85 56 99 14517 14486 jmp ax ; ff e0 14518 14487 mov byte [bp-006h], 010h ; c6 46 fa 10 14519 jmp short 09a 75h ; eb 1c14488 jmp short 09a36h ; eb 1c 14520 14489 mov byte [bp-006h], 014h ; c6 46 fa 14 14521 jmp short 09a 75h ; eb 1614490 jmp short 09a36h ; eb 16 14522 14491 mov byte [bp-006h], 018h ; c6 46 fa 18 14523 jmp short 09a 75h ; eb 1014492 jmp short 09a36h ; eb 10 14524 14493 mov byte [bp-006h], 01ch ; c6 46 fa 1c 14525 jmp short 09a 75h ; eb 0a14494 jmp short 09a36h ; eb 0a 14526 14495 mov byte [bp-006h], 020h ; c6 46 fa 20 14527 jmp short 09a 75h ; eb 0414496 jmp short 09a36h ; eb 04 14528 14497 mov byte [bp-006h], 024h ; c6 46 fa 24 14529 14498 mov cx, dx ; 89 d1 … … 14532 14501 mov al, byte [bp-006h] ; 8a 46 fa 14533 14502 test al, al ; 84 c0 14534 je short 09a b4h ; 74 3014503 je short 09a75h ; 74 30 14535 14504 movzx bx, al ; 0f b6 d8 14536 14505 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14538 14507 mov dx, di ; 89 fa 14539 14508 mov ax, si ; 89 f0 14540 call 09f 71h ; e8 db 0414509 call 09f32h ; e8 db 04 14541 14510 test AL, strict byte 001h ; a8 01 14542 je short 09a b4h ; 74 1a14511 je short 09a75h ; 74 1a 14543 14512 and AL, strict byte 0f0h ; 24 f0 14544 14513 add ax, cx ; 01 c8 … … 14548 14517 mov dx, di ; 89 fa 14549 14518 mov ax, si ; 89 f0 14550 call 09f 98h ; e8 ea 0414519 call 09f59h ; e8 ea 04 14551 14520 mov ax, word [bp-00ch] ; 8b 46 f4 14552 call 098 3fh ; e8 8b fd14521 call 09800h ; e8 8b fd 14553 14522 lea sp, [bp-004h] ; 8d 66 fc 14554 14523 pop di ; 5f … … 14556 14525 pop bp ; 5d 14557 14526 retn ; c3 14558 apm_out_str_: ; 0xf9a bbLB 0x3914527 apm_out_str_: ; 0xf9a7c LB 0x39 14559 14528 push bp ; 55 14560 14529 mov bp, sp ; 89 e5 … … 14562 14531 mov bx, ax ; 89 c3 14563 14532 cmp byte [bx], 000h ; 80 3f 00 14564 je short 09a d0h ; 74 0a14533 je short 09a91h ; 74 0a 14565 14534 mov al, byte [bx] ; 8a 07 14566 14535 out DX, AL ; ee … … 14569 14538 db 00ah, 0c0h 14570 14539 ; or al, al ; 0a c0 14571 jne short 09a c8h ; 75 f814540 jne short 09a89h ; 75 f8 14572 14541 lea sp, [bp-002h] ; 8d 66 fe 14573 14542 pop bx ; 5b 14574 14543 pop bp ; 5d 14575 14544 retn ; c3 14576 pop SS ; 17 14545 fcomp dword [bp+si-0645ch] ; d8 9a a4 9b 14546 jmp far 0a49bh:0059ah ; ea 9a 05 9b a4 14577 14547 wait ; 9b 14578 jcxz 09a75h ; e3 9b 14579 sub word [bp+di-064bch], bx ; 29 9b 44 9b 14580 jcxz 09a7bh ; e3 9b 14581 outsw ; 6f 14548 xor byte [bp+di-0645ch], bl ; 30 9b a4 9b 14549 xor ax, 0799bh ; 35 9b 79 14582 14550 wait ; 9b 14583 jcxz 09a7fh ; e3 9b 14584 je short 09a81h ; 74 9b 14585 mov ax, 0b89bh ; b8 9b b8 14551 jns short 09a46h ; 79 9b 14552 jns short 09a48h ; 79 9b 14553 je short 09a4ah ; 74 9b 14554 jns short 09a4ch ; 79 9b 14555 jns short 09a4eh ; 79 9b 14556 insw ; 6d 14586 14557 wait ; 9b 14587 mov ax, 0b39bh ; b8 9b b3 14588 wait ; 9b 14589 mov ax, 0b89bh ; b8 9b b8 14590 wait ; 9b 14591 lodsb ; ac 14592 wait ; 9b 14593 _apm_function: ; 0xf9af4 LB 0xf5 14558 _apm_function: ; 0xf9ab5 LB 0xf5 14594 14559 push bp ; 55 14595 14560 mov bp, sp ; 89 e5 … … 14599 14564 xor ah, ah ; 30 e4 14600 14565 cmp ax, strict word 0000eh ; 3d 0e 00 14601 jnbe near 09b b8h ; 0f 87 b0 0014566 jnbe near 09b79h ; 0f 87 b0 00 14602 14567 mov bx, ax ; 89 c3 14603 14568 add bx, ax ; 01 c3 14604 14569 mov dx, word [bp+018h] ; 8b 56 18 14605 14570 or dl, 001h ; 80 ca 01 14606 jmp word [cs:bx-065 2ah] ; 2e ff a7 d69a14571 jmp word [cs:bx-06569h] ; 2e ff a7 97 9a 14607 14572 mov word [bp+012h], 00102h ; c7 46 12 02 01 14608 14573 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14609 14574 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14610 jmp near 09b e3h ; e9 ba 0014575 jmp near 09ba4h ; e9 ba 00 14611 14576 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14612 mov word [bp+00ch], 0a1 c4h ; c7 46 0c c4 a114577 mov word [bp+00ch], 0a184h ; c7 46 0c 84 a1 14613 14578 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14614 14579 mov ax, strict word 0fff0h ; b8 f0 ff 14615 14580 mov word [bp+006h], ax ; 89 46 06 14616 14581 mov word [bp+004h], ax ; 89 46 04 14617 jmp near 09b e3h ; e9 9f 0014582 jmp near 09ba4h ; e9 9f 00 14618 14583 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14619 14584 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14628 14593 mov si, ax ; 89 c6 14629 14594 sal esi, 010h ; 66 c1 e6 10 14630 jmp near 09b e3h ; e9 74 0014595 jmp near 09ba4h ; e9 74 00 14631 14596 sti ; fb 14632 14597 hlt ; f4 14633 jmp near 09b e3h ; e9 6f 0014598 jmp near 09ba4h ; e9 6f 00 14634 14599 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14635 je short 09b 99h ; 74 1f14600 je short 09b5ah ; 74 1f 14636 14601 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14637 je short 09b 91h ; 74 1114602 je short 09b52h ; 74 11 14638 14603 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14639 jne short 09b a1h ; 75 1b14604 jne short 09b62h ; 75 1b 14640 14605 mov dx, 0040fh ; ba 0f 04 14641 mov ax, 00d 84h ; b8 840d14642 call 09a bbh ; e8 2c ff14643 jmp short 09b e3h ; eb 5214606 mov ax, 00d22h ; b8 22 0d 14607 call 09a7ch ; e8 2c ff 14608 jmp short 09ba4h ; eb 52 14644 14609 mov dx, 0040fh ; ba 0f 04 14645 mov ax, 00d 8ch ; b8 8c0d14646 jmp short 09b 8ch ; eb f314610 mov ax, 00d2ah ; b8 2a 0d 14611 jmp short 09b4dh ; eb f3 14647 14612 mov dx, 0040fh ; ba 0f 04 14648 mov ax, 00d 94h ; b8 940d14649 jmp short 09b 8ch ; eb eb14613 mov ax, 00d32h ; b8 32 0d 14614 jmp short 09b4dh ; eb eb 14650 14615 or ah, 00ah ; 80 cc 0a 14651 14616 mov word [bp+012h], ax ; 89 46 12 14652 14617 mov word [bp+018h], dx ; 89 56 18 14653 jmp short 09b e3h ; eb 3714618 jmp short 09ba4h ; eb 37 14654 14619 mov word [bp+012h], 00102h ; c7 46 12 02 01 14655 jmp short 09b e3h ; eb 3014620 jmp short 09ba4h ; eb 30 14656 14621 or ah, 080h ; 80 cc 80 14657 jmp short 09b a4h ; eb ec14658 mov bx, 00 e14h ; bb 14 0e14622 jmp short 09b65h ; eb ec 14623 mov bx, 00db8h ; bb b8 0d 14659 14624 mov cx, ds ; 8c d9 14660 14625 mov ax, strict word 00004h ; b8 04 00 14661 call 01a2ah ; e8 677e14626 call 01a2ah ; e8 a6 7e 14662 14627 push word [bp+00ch] ; ff 76 0c 14663 14628 push word [bp+012h] ; ff 76 12 14664 push 00d 9dh ; 68 9d0d14629 push 00d3bh ; 68 3b 0d 14665 14630 push strict byte 00004h ; 6a 04 14666 call 01a6bh ; e8 9a7e14631 call 01a6bh ; e8 d9 7e 14667 14632 add sp, strict byte 00008h ; 83 c4 08 14668 14633 mov ax, word [bp+012h] ; 8b 46 12 … … 14675 14640 pop bp ; 5d 14676 14641 retn ; c3 14677 pci16_select_reg_: ; 0xf9b e9LB 0x2414642 pci16_select_reg_: ; 0xf9baa LB 0x24 14678 14643 push bp ; 55 14679 14644 mov bp, sp ; 89 e5 … … 14692 14657 pop bp ; 5d 14693 14658 retn ; c3 14694 pci16_find_device_: ; 0xf9 c0dLB 0xf714659 pci16_find_device_: ; 0xf9bce LB 0xf7 14695 14660 push bp ; 55 14696 14661 mov bp, sp ; 89 e5 … … 14706 14671 mov byte [bp-008h], 000h ; c6 46 f8 00 14707 14672 test bl, 007h ; f6 c3 07 14708 jne short 09c 55h ; 75 2d14673 jne short 09c16h ; 75 2d 14709 14674 mov dx, strict word 0000eh ; ba 0e 00 14710 14675 mov ax, bx ; 89 d8 14711 call 09b e9h ; e8 b9 ff14676 call 09baah ; e8 b9 ff 14712 14677 mov dx, 00cfeh ; ba fe 0c 14713 14678 in AL, DX ; ec … … 14716 14681 mov byte [bp-006h], al ; 88 46 fa 14717 14682 cmp AL, strict byte 0ffh ; 3c ff 14718 jne short 09c 43h ; 75 0614683 jne short 09c04h ; 75 06 14719 14684 add bx, strict byte 00008h ; 83 c3 08 14720 jmp near 09c d6h ; e9 93 0014685 jmp near 09c97h ; e9 93 00 14721 14686 test byte [bp-006h], 080h ; f6 46 fa 80 14722 je short 09c 50h ; 74 0714687 je short 09c11h ; 74 07 14723 14688 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 14724 jmp short 09c 55h ; eb 0514689 jmp short 09c16h ; eb 05 14725 14690 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 14726 14691 mov al, byte [bp-006h] ; 8a 46 fa 14727 14692 and AL, strict byte 007h ; 24 07 14728 14693 cmp AL, strict byte 001h ; 3c 01 14729 jne short 09c 7dh ; 75 1f14694 jne short 09c3eh ; 75 1f 14730 14695 mov ax, bx ; 89 d8 14731 14696 shr ax, 008h ; c1 e8 08 14732 14697 test ax, ax ; 85 c0 14733 jne short 09c 7dh ; 75 1614698 jne short 09c3eh ; 75 16 14734 14699 mov dx, strict word 0001ah ; ba 1a 00 14735 14700 mov ax, bx ; 89 d8 14736 call 09b e9h ; e8 7a ff14701 call 09baah ; e8 7a ff 14737 14702 mov dx, 00cfeh ; ba fe 0c 14738 14703 in AL, DX ; ec … … 14740 14705 ; sub ah, ah ; 2a e4 14741 14706 cmp al, byte [bp-008h] ; 3a 46 f8 14742 jbe short 09c 7dh ; 76 0314707 jbe short 09c3eh ; 76 03 14743 14708 mov byte [bp-008h], al ; 88 46 f8 14744 14709 test di, di ; 85 ff 14745 je short 09c 86h ; 74 0514710 je short 09c47h ; 74 05 14746 14711 mov dx, strict word 00008h ; ba 08 00 14747 jmp short 09c 88h ; eb 0214712 jmp short 09c49h ; eb 02 14748 14713 xor dx, dx ; 31 d2 14749 14714 mov ax, bx ; 89 d8 14750 call 09b e9h ; e8 5c ff14715 call 09baah ; e8 5c ff 14751 14716 mov dx, 00cfch ; ba fc 0c 14752 14717 in eax, DX ; 66 ed … … 14759 14724 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 14760 14725 test di, di ; 85 ff 14761 je short 09c b7h ; 74 0f14726 je short 09c78h ; 74 0f 14762 14727 mov cx, strict word 00008h ; b9 08 00 14763 14728 shr dx, 1 ; d1 ea 14764 14729 rcr ax, 1 ; d1 d8 14765 loop 09c abh ; e2 fa14730 loop 09c6ch ; e2 fa 14766 14731 mov word [bp-00eh], ax ; 89 46 f2 14767 14732 mov word [bp-00ch], dx ; 89 56 f4 14768 14733 mov ax, word [bp-00ch] ; 8b 46 f4 14769 14734 cmp ax, word [bp-014h] ; 3b 46 ec 14770 jne short 09c c7h ; 75 0814735 jne short 09c88h ; 75 08 14771 14736 mov ax, word [bp-00eh] ; 8b 46 f2 14772 14737 cmp ax, word [bp-012h] ; 3b 46 ee 14773 je short 09c cdh ; 74 0614738 je short 09c8eh ; 74 06 14774 14739 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 14775 je short 09c d3h ; 74 0614740 je short 09c94h ; 74 06 14776 14741 dec si ; 4e 14777 14742 cmp si, strict byte 0ffffh ; 83 fe ff 14778 je short 09c e5h ; 74 1214743 je short 09ca6h ; 74 12 14779 14744 add bx, word [bp-00ah] ; 03 5e f6 14780 14745 mov dx, bx ; 89 da … … 14782 14747 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14783 14748 cmp dx, ax ; 39 c2 14784 jbe near 09 c23h ; 0f 86 3e ff14749 jbe near 09be4h ; 0f 86 3e ff 14785 14750 cmp si, strict byte 0ffffh ; 83 fe ff 14786 jne short 09c eeh ; 75 0414751 jne short 09cafh ; 75 04 14787 14752 mov ax, bx ; 89 d8 14788 jmp short 09c f1h ; eb 0314753 jmp short 09cb2h ; eb 03 14789 14754 mov ax, strict word 0ffffh ; b8 ff ff 14790 14755 lea sp, [bp-004h] ; 8d 66 fc … … 14793 14758 pop bp ; 5d 14794 14759 retn ; c3 14795 out strict byte 09dh, AL ; e6 9d 14796 add byte [bp-061edh], bl ; 00 9e 13 9e 14797 sub byte [bp-061c5h], bl ; 28 9e 3b 9e 14798 dec si ; 4e 14760 cmpsw ; a7 14761 popfw ; 9d 14762 rcr word [di-0622ch], 0e9h ; c1 9d d4 9d e9 14763 popfw ; 9d 14764 cld ; fc 14765 popfw ; 9d 14766 db 00fh 14799 14767 sahf ; 9e 14800 _pci16_function: ; 0xf9 d04LB 0x1d714768 _pci16_function: ; 0xf9cc5 LB 0x1d7 14801 14769 push bp ; 55 14802 14770 mov bp, sp ; 89 e5 … … 14812 14780 xor ah, ah ; 30 e4 14813 14781 cmp bx, strict byte 00003h ; 83 fb 03 14814 jc short 09 d3dh ; 72 1a14815 jbe short 09d 95h ; 76 7014782 jc short 09cfeh ; 72 1a 14783 jbe short 09d56h ; 76 70 14816 14784 cmp bx, strict byte 0000eh ; 83 fb 0e 14817 je near 09e 62h ; 0f 84 36 0114785 je near 09e23h ; 0f 84 36 01 14818 14786 cmp bx, strict byte 00008h ; 83 fb 08 14819 jc near 09e a7h ; 0f 82 74 0114787 jc near 09e68h ; 0f 82 74 01 14820 14788 cmp bx, strict byte 0000dh ; 83 fb 0d 14821 jbe near 09d bah ; 0f 86 80 0014822 jmp near 09e a7h ; e9 6a 0114789 jbe near 09d7bh ; 0f 86 80 00 14790 jmp near 09e68h ; e9 6a 01 14823 14791 cmp bx, strict byte 00002h ; 83 fb 02 14824 je short 09d 65h ; 74 2314792 je short 09d26h ; 74 23 14825 14793 cmp bx, strict byte 00001h ; 83 fb 01 14826 jne near 09e a7h ; 0f 85 5e 0114794 jne near 09e68h ; 0f 85 5e 01 14827 14795 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14828 14796 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14830 14798 mov word [bp+018h], 04350h ; c7 46 18 50 43 14831 14799 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14832 jmp near 09e d4h ; e9 6f 0114800 jmp near 09e95h ; e9 6f 01 14833 14801 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14834 jne short 09d 71h ; 75 0614802 jne short 09d32h ; 75 06 14835 14803 or ah, 083h ; 80 cc 83 14836 jmp near 09e cdh ; e9 5c 0114804 jmp near 09e8eh ; e9 5c 01 14837 14805 mov bx, word [bp+008h] ; 8b 5e 08 14838 14806 mov dx, word [bp+01ch] ; 8b 56 1c 14839 14807 mov ax, word [bp+018h] ; 8b 46 18 14840 14808 xor cx, cx ; 31 c9 14841 call 09 c0dh ; e8 8e fe14809 call 09bceh ; e8 8e fe 14842 14810 cmp ax, strict word 0ffffh ; 3d ff ff 14843 jne short 09d 8fh ; 75 0b14811 jne short 09d50h ; 75 0b 14844 14812 mov ax, word [bp+020h] ; 8b 46 20 14845 14813 xor ah, ah ; 30 e4 14846 14814 or ah, 086h ; 80 cc 86 14847 jmp near 09e cdh ; e9 3e 0114815 jmp near 09e8eh ; e9 3e 01 14848 14816 mov word [bp+014h], ax ; 89 46 14 14849 jmp near 09e d4h ; e9 3f 0114817 jmp near 09e95h ; e9 3f 01 14850 14818 mov bx, word [bp+008h] ; 8b 5e 08 14851 14819 mov ax, word [bp+01ch] ; 8b 46 1c 14852 14820 mov dx, word [bp+01eh] ; 8b 56 1e 14853 14821 mov cx, strict word 00001h ; b9 01 00 14854 call 09 c0dh ; e8 69 fe14822 call 09bceh ; e8 69 fe 14855 14823 cmp ax, strict word 0ffffh ; 3d ff ff 14856 jne short 09d b4h ; 75 0b14824 jne short 09d75h ; 75 0b 14857 14825 mov ax, word [bp+020h] ; 8b 46 20 14858 14826 xor ah, ah ; 30 e4 14859 14827 or ah, 086h ; 80 cc 86 14860 jmp near 09e cdh ; e9 19 0114828 jmp near 09e8eh ; e9 19 01 14861 14829 mov word [bp+014h], ax ; 89 46 14 14862 jmp near 09e d4h ; e9 1a 0114830 jmp near 09e95h ; e9 1a 01 14863 14831 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14864 jc short 09d c7h ; 72 0614832 jc short 09d88h ; 72 06 14865 14833 or ah, 087h ; 80 cc 87 14866 jmp near 09e cdh ; e9 06 0114834 jmp near 09e8eh ; e9 06 01 14867 14835 mov dx, word [bp+004h] ; 8b 56 04 14868 14836 mov ax, word [bp+014h] ; 8b 46 14 14869 call 09b e9h ; e8 19 fe14837 call 09baah ; e8 19 fe 14870 14838 mov bx, word [bp+020h] ; 8b 5e 20 14871 14839 xor bh, bh ; 30 ff 14872 14840 sub bx, strict byte 00008h ; 83 eb 08 14873 14841 cmp bx, strict byte 00005h ; 83 fb 05 14874 jnbe near 09e d4h ; 0f 87 f5 0014842 jnbe near 09e95h ; 0f 87 f5 00 14875 14843 add bx, bx ; 01 db 14876 jmp word [cs:bx-063 08h] ; 2e ff a7 f89c14844 jmp word [cs:bx-06347h] ; 2e ff a7 b9 9c 14877 14845 mov bx, word [bp+01ch] ; 8b 5e 1c 14878 14846 xor bl, bl ; 30 db … … 14885 14853 or bx, ax ; 09 c3 14886 14854 mov word [bp+01ch], bx ; 89 5e 1c 14887 jmp near 09e d4h ; e9 d4 0014855 jmp near 09e95h ; e9 d4 00 14888 14856 mov dx, word [bp+004h] ; 8b 56 04 14889 14857 xor dh, dh ; 30 f6 … … 14892 14860 in ax, DX ; ed 14893 14861 mov word [bp+01ch], ax ; 89 46 1c 14894 jmp near 09e d4h ; e9 c1 0014862 jmp near 09e95h ; e9 c1 00 14895 14863 mov dx, 00cfch ; ba fc 0c 14896 14864 in eax, DX ; 66 ed … … 14901 14869 mov word [bp+01ch], ax ; 89 46 1c 14902 14870 mov word [bp+01eh], dx ; 89 56 1e 14903 jmp near 09e d4h ; e9 ac 0014871 jmp near 09e95h ; e9 ac 00 14904 14872 mov ax, word [bp+01ch] ; 8b 46 1c 14905 14873 mov dx, word [bp+004h] ; 8b 56 04 … … 14908 14876 add dx, 00cfch ; 81 c2 fc 0c 14909 14877 out DX, AL ; ee 14910 jmp near 09e d4h ; e9 99 0014878 jmp near 09e95h ; e9 99 00 14911 14879 mov ax, word [bp+01ch] ; 8b 46 1c 14912 14880 mov dx, word [bp+004h] ; 8b 56 04 … … 14915 14883 add dx, 00cfch ; 81 c2 fc 0c 14916 14884 out DX, ax ; ef 14917 jmp near 09e d4h ; e9 86 0014885 jmp near 09e95h ; e9 86 00 14918 14886 mov ax, word [bp+01ch] ; 8b 46 1c 14919 14887 mov cx, word [bp+01eh] ; 8b 4e 1e … … 14924 14892 ; mov ax, cx ; 8b c1 14925 14893 out DX, eax ; 66 ef 14926 jmp short 09e d4h ; eb 7214894 jmp short 09e95h ; eb 72 14927 14895 mov bx, word [bp+004h] ; 8b 5e 04 14928 14896 mov es, [bp+026h] ; 8e 46 26 … … 14931 14899 mov cx, word [0f370h] ; 8b 0e 70 f3 14932 14900 cmp cx, word [es:bx] ; 26 3b 0f 14933 jbe short 09e 88h ; 76 1114901 jbe short 09e49h ; 76 11 14934 14902 mov ax, word [bp+020h] ; 8b 46 20 14935 14903 xor ah, ah ; 30 e4 … … 14937 14905 mov word [bp+020h], ax ; 89 46 20 14938 14906 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 14939 jmp short 09e 9ch ; eb 1414907 jmp short 09e5dh ; eb 14 14940 14908 les di, [es:bx+002h] ; 26 c4 7f 02 14941 14909 mov si, 0f190h ; be 90 f1 … … 14949 14917 les bx, [bp-008h] ; c4 5e f8 14950 14918 mov word [es:bx], ax ; 26 89 07 14951 jmp short 09e d4h ; eb 2d14952 mov bx, 00 e14h ; bb 14 0e14919 jmp short 09e95h ; eb 2d 14920 mov bx, 00db8h ; bb b8 0d 14953 14921 mov cx, ds ; 8c d9 14954 14922 mov ax, strict word 00004h ; b8 04 00 14955 call 01a2ah ; e8 787b14923 call 01a2ah ; e8 b7 7b 14956 14924 mov ax, word [bp+014h] ; 8b 46 14 14957 14925 push ax ; 50 14958 14926 mov ax, word [bp+020h] ; 8b 46 20 14959 14927 push ax ; 50 14960 push 00d d0h ; 68 d00d14928 push 00d6eh ; 68 6e 0d 14961 14929 push strict byte 00004h ; 6a 04 14962 call 01a6bh ; e8 a97b14930 call 01a6bh ; e8 e8 7b 14963 14931 add sp, strict byte 00008h ; 83 c4 08 14964 14932 mov ax, word [bp+020h] ; 8b 46 20 … … 14972 14940 pop bp ; 5d 14973 14941 retn ; c3 14974 pci_find_classcode_: ; 0xf9e dbLB 0x2b14942 pci_find_classcode_: ; 0xf9e9c LB 0x2b 14975 14943 push bp ; 55 14976 14944 mov bp, sp ; 89 e5 … … 14987 14955 int 01ah ; cd 1a 14988 14956 cmp ah, 000h ; 80 fc 00 14989 je near 09e fch ; 0f 84 03 0014957 je near 09ebdh ; 0f 84 03 00 14990 14958 mov bx, strict word 0ffffh ; bb ff ff 14991 14959 mov ax, bx ; 89 d8 … … 14996 14964 pop bp ; 5d 14997 14965 retn ; c3 14998 pci_find_device_: ; 0xf9 f06LB 0x2514966 pci_find_device_: ; 0xf9ec7 LB 0x25 14999 14967 push bp ; 55 15000 14968 mov bp, sp ; 89 e5 … … 15008 14976 int 01ah ; cd 1a 15009 14977 cmp ah, 000h ; 80 fc 00 15010 je near 09 f21h ; 0f 84 03 0014978 je near 09ee2h ; 0f 84 03 00 15011 14979 mov bx, strict word 0ffffh ; bb ff ff 15012 14980 mov ax, bx ; 89 d8 … … 15017 14985 pop bp ; 5d 15018 14986 retn ; c3 15019 pci_read_config_byte_: ; 0xf9 f2bLB 0x2414987 pci_read_config_byte_: ; 0xf9eec LB 0x24 15020 14988 push bp ; 55 15021 14989 mov bp, sp ; 89 e5 … … 15036 15004 pop bp ; 5d 15037 15005 retn ; c3 15038 pci_read_config_word_: ; 0xf9f 4fLB 0x2215006 pci_read_config_word_: ; 0xf9f10 LB 0x22 15039 15007 push bp ; 55 15040 15008 mov bp, sp ; 89 e5 … … 15055 15023 pop bp ; 5d 15056 15024 retn ; c3 15057 pci_read_config_dword_: ; 0xf9f 71LB 0x2715025 pci_read_config_dword_: ; 0xf9f32 LB 0x27 15058 15026 push bp ; 55 15059 15027 mov bp, sp ; 89 e5 … … 15076 15044 pop bp ; 5d 15077 15045 retn ; c3 15078 pci_write_config_word_: ; 0xf9f 98LB 0x1c15046 pci_write_config_word_: ; 0xf9f59 LB 0x1c 15079 15047 push bp ; 55 15080 15048 mov bp, sp ; 89 e5 … … 15091 15059 pop bp ; 5d 15092 15060 retn ; c3 15093 vds_is_present_: ; 0xf9f b4LB 0x1d15061 vds_is_present_: ; 0xf9f75 LB 0x1d 15094 15062 push bx ; 53 15095 15063 push bp ; 55 … … 15099 15067 mov es, ax ; 8e c0 15100 15068 test byte [es:bx], 020h ; 26 f6 07 20 15101 je short 09f cch ; 74 0615069 je short 09f8dh ; 74 06 15102 15070 mov ax, strict word 00001h ; b8 01 00 15103 15071 pop bp ; 5d … … 15108 15076 pop bx ; 5b 15109 15077 retn ; c3 15110 vds_real_to_lin_: ; 0xf9f d1LB 0x1e15078 vds_real_to_lin_: ; 0xf9f92 LB 0x1e 15111 15079 push bx ; 53 15112 15080 push cx ; 51 … … 15119 15087 sal ax, 1 ; d1 e0 15120 15088 rcl dx, 1 ; d1 d2 15121 loop 09f dfh ; e2 fa15089 loop 09fa0h ; e2 fa 15122 15090 xor cx, cx ; 31 c9 15123 15091 add ax, bx ; 01 d8 … … 15127 15095 pop bx ; 5b 15128 15096 retn ; c3 15129 vds_build_sg_list_: ; 0xf9f efLB 0x7915097 vds_build_sg_list_: ; 0xf9fb0 LB 0x79 15130 15098 push bp ; 55 15131 15099 mov bp, sp ; 89 e5 … … 15141 15109 mov bx, word [bp+006h] ; 8b 5e 06 15142 15110 mov word [es:di+002h], bx ; 26 89 5d 02 15143 call 09f d1h ; e8 c3 ff15111 call 09f92h ; e8 c3 ff 15144 15112 mov es, si ; 8e c6 15145 15113 mov word [es:di+004h], ax ; 26 89 45 04 15146 15114 mov word [es:di+006h], dx ; 26 89 55 06 15147 15115 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15148 call 09f b4h ; e8 93 ff15116 call 09f75h ; e8 93 ff 15149 15117 test ax, ax ; 85 c0 15150 je short 0 a038h ; 74 1315118 je short 09ff9h ; 74 13 15151 15119 mov es, si ; 8e c6 15152 15120 mov ax, 08105h ; b8 05 81 15153 15121 mov dx, strict word 00000h ; ba 00 00 15154 15122 int 04bh ; cd 4b 15155 jc near 0 a035h ; 0f 82 02 0015123 jc near 09ff6h ; 0f 82 02 00 15156 15124 db 032h, 0c0h 15157 15125 ; xor al, al ; 32 c0 15158 15126 cbw ; 98 15159 jmp short 0a0 5fh ; eb 2715127 jmp short 0a020h ; eb 27 15160 15128 mov es, si ; 8e c6 15161 15129 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15174 15142 pop bp ; 5d 15175 15143 retn 00004h ; c2 04 00 15176 vds_free_sg_list_: ; 0xfa0 68 LB 0x3815144 vds_free_sg_list_: ; 0xfa029 LB 0x37 15177 15145 push bp ; 55 15178 15146 mov bp, sp ; 89 e5 … … 15180 15148 push di ; 57 15181 15149 mov bx, ax ; 89 c3 15182 call 09f b4h ; e8 42 ff15150 call 09f75h ; e8 42 ff 15183 15151 test ax, ax ; 85 c0 15184 je short 0a0 89h ; 74 1315152 je short 0a04ah ; 74 13 15185 15153 mov di, bx ; 89 df 15186 15154 mov es, dx ; 8e c2 … … 15188 15156 mov dx, strict word 00000h ; ba 00 00 15189 15157 int 04bh ; cd 4b 15190 jc near 0a0 88h ; 0f 82 02 0015158 jc near 0a049h ; 0f 82 02 00 15191 15159 db 032h, 0c0h 15192 15160 ; xor al, al ; 32 c0 … … 15199 15167 pop bp ; 5d 15200 15168 retn ; c3 15201 times 0x 8db 015202 __U4M: ; 0xfa0 a0 LB 0x4015169 times 0x7 db 0 15170 __U4M: ; 0xfa060 LB 0x40 15203 15171 pushfw ; 9c 15204 15172 push eax ; 66 50 … … 15226 15194 retn ; c3 15227 15195 times 0xf db 0 15228 __U4D: ; 0xfa0 e0 LB 0x4015196 __U4D: ; 0xfa0a0 LB 0x40 15229 15197 pushfw ; 9c 15230 15198 push eax ; 66 50 … … 15257 15225 retn ; c3 15258 15226 times 0x7 db 0 15259 __U8RS: ; 0xfa 120 LB 0x1015227 __U8RS: ; 0xfa0e0 LB 0x10 15260 15228 test si, si ; 85 f6 15261 je short 0a 12fh ; 74 0b15229 je short 0a0efh ; 74 0b 15262 15230 shr ax, 1 ; d1 e8 15263 15231 rcr bx, 1 ; d1 db … … 15265 15233 rcr dx, 1 ; d1 da 15266 15234 dec si ; 4e 15267 jne short 0a 124h ; 75 f515235 jne short 0a0e4h ; 75 f5 15268 15236 retn ; c3 15269 __U8LS: ; 0xfa 130 LB 0x1015237 __U8LS: ; 0xfa0f0 LB 0x10 15270 15238 test si, si ; 85 f6 15271 je short 0a 13fh ; 74 0b15239 je short 0a0ffh ; 74 0b 15272 15240 sal dx, 1 ; d1 e2 15273 15241 rcl cx, 1 ; d1 d1 … … 15275 15243 rcl ax, 1 ; d1 d0 15276 15244 dec si ; 4e 15277 jne short 0a 134h ; 75 f515245 jne short 0a0f4h ; 75 f5 15278 15246 retn ; c3 15279 _fmemset_: ; 0xfa1 40 LB 0x1015247 _fmemset_: ; 0xfa100 LB 0x10 15280 15248 push di ; 57 15281 15249 mov es, dx ; 8e c2 … … 15288 15256 retn ; c3 15289 15257 times 0x3 db 0 15290 _fmemcpy_: ; 0xfa1 50 LB 0x3a15258 _fmemcpy_: ; 0xfa110 LB 0x3a 15291 15259 push bp ; 55 15292 15260 db 08bh, 0ech … … 15313 15281 add byte [bx+si], al ; 00 00 15314 15282 add byte [bx+si], al ; 00 00 15315 mov AL, byte [0a2a1h] ; a0 a1 a2 15316 mov ax, word [0a1a6h] ; a1 a6 a1 15317 cmpsb ; a6 15318 mov ax, word [0a1a6h] ; a1 a6 a1 15319 test AL, strict byte 0a1h ; a8 a1 15320 test AL, strict byte 0a1h ; a8 a1 15321 stosb ; aa 15322 mov ax, word [0a1aeh] ; a1 ae a1 15323 scasb ; ae 15324 mov ax, word [0a1b0h] ; a1 b0 a1 15325 mov CH, strict byte 0a1h ; b5 a1 15326 mov BH, strict byte 0a1h ; b7 a1 15327 apm_worker: ; 0xfa18a LB 0x3a 15283 pushaw ; 60 15284 mov ax, word [0a162h] ; a1 62 a1 15285 mov eax, dword [0a166h] ; 66 a1 66 a1 15286 mov eax, dword [0a168h] ; 66 a1 68 a1 15287 push 06aa1h ; 68 a1 6a 15288 mov ax, word [0a16eh] ; a1 6e a1 15289 outsb ; 6e 15290 mov ax, word [0a170h] ; a1 70 a1 15291 jne short 0a0e9h ; 75 a1 15292 jnbe short 0a0ebh ; 77 a1 15293 apm_worker: ; 0xfa14a LB 0x3a 15328 15294 sti ; fb 15329 15295 push ax ; 50 … … 15337 15303 pop ax ; 58 15338 15304 mov AH, strict byte 053h ; b4 53 15339 jnc short 0a1 c0h ; 73 2515340 jmp word [cs:bp-05e 90h] ; 2e ff a6 70 a115341 jmp short 0a1 beh ; eb 1c15305 jnc short 0a180h ; 73 25 15306 jmp word [cs:bp-05ed0h] ; 2e ff a6 30 a1 15307 jmp short 0a17eh ; eb 1c 15342 15308 sti ; fb 15343 15309 hlt ; f4 15344 jmp short 0a1 beh ; eb 1815345 jmp short 0a1 beh ; eb 1615346 jmp short 0a1 c0h ; eb 1615310 jmp short 0a17eh ; eb 18 15311 jmp short 0a17eh ; eb 16 15312 jmp short 0a180h ; eb 16 15347 15313 mov AH, strict byte 080h ; b4 80 15348 jmp short 0a1 c2h ; eb 1415349 jmp short 0a1 c0h ; eb 1015314 jmp short 0a182h ; eb 14 15315 jmp short 0a180h ; eb 10 15350 15316 mov ax, 00102h ; b8 02 01 15351 jmp short 0a1 beh ; eb 0915352 jmp short 0a1 beh ; eb 0715317 jmp short 0a17eh ; eb 09 15318 jmp short 0a17eh ; eb 07 15353 15319 mov BL, strict byte 000h ; b3 00 15354 15320 mov cx, strict word 00000h ; b9 00 00 15355 jmp short 0a1 beh ; eb 0015321 jmp short 0a17eh ; eb 00 15356 15322 clc ; f8 15357 15323 retn ; c3 … … 15359 15325 stc ; f9 15360 15326 retn ; c3 15361 apm_pm16_entry: ; 0xfa1 c4 LB 0x1115327 apm_pm16_entry: ; 0xfa184 LB 0x11 15362 15328 mov AH, strict byte 002h ; b4 02 15363 15329 push DS ; 1e … … 15367 15333 add bp, strict byte 00008h ; 83 c5 08 15368 15334 mov ds, bp ; 8e dd 15369 call 0a1 8ah ; e8 b8 ff15335 call 0a14ah ; e8 b8 ff 15370 15336 pop bp ; 5d 15371 15337 pop DS ; 1f 15372 15338 retf ; cb 15373 15339 15374 ; Padding 0x38 2b bytes at 0xfa1d515375 times 14 379db 015340 ; Padding 0x386b bytes at 0xfa195 15341 times 14443 db 0 15376 15342 15377 15343 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15420 15386 add bp, strict byte 00008h ; 83 c5 08 15421 15387 push ebp ; 66 55 15422 mov bp, 0a1 c6h ; bd c6 a115388 mov bp, 0a186h ; bd 86 a1 15423 15389 add byte [bx+si], al ; 00 00 15424 15390 push ebp ; 66 55 … … 16155 16121 call 01da8h ; e8 65 3a 16156 16122 call 02235h ; e8 ef 3e 16157 call 099 a5h ; e8 5cb616158 call 088 6eh ; e8 22 a516123 call 09966h ; e8 1d b6 16124 call 0882fh ; e8 e3 a4 16159 16125 call 0ed2fh ; e8 e0 09 16160 16126 call 0e2d2h ; e8 80 ff … … 16312 16278 out strict byte 0a1h, AL ; e6 a1 16313 16279 retn ; c3 16314 ebda_post: ; 0xfe778 LB 0x 4516280 ebda_post: ; 0xfe778 LB 0x51 16315 16281 mov ax, 0e746h ; b8 46 e7 16316 16282 mov word [00034h], ax ; a3 34 00 … … 16326 16292 mov word [001cah], ax ; a3 ca 01 16327 16293 mov ax, 0e746h ; b8 46 e7 16294 mov word [001cch], ax ; a3 cc 01 16295 mov ax, 0f000h ; b8 00 f0 16296 mov word [001ceh], ax ; a3 ce 01 16297 mov ax, 0e746h ; b8 46 e7 16328 16298 mov word [001dch], ax ; a3 dc 01 16329 16299 mov ax, 0f000h ; b8 00 f0 … … 16337 16307 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 16338 16308 retn ; c3 16339 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 bd LB 0x7116340 times 0x6 fdb 016309 biosorg_check_before_or_at_0E82Ch: ; 0xfe7c9 LB 0x65 16310 times 0x63 db 0 16341 16311 db 'XM' 16342 16312 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x3d … … 17044 17014 popfw ; 9d 17045 17015 jmp short 0f8a7h ; eb 13 17046 call 09a f4h ; e8 5da217016 call 09ab5h ; e8 1e a2 17047 17017 jmp short 0f88eh ; eb f5 17048 17018 int15_handler_mouse: ; 0xff899 LB 0x5 … … 17198 17168 cld ; fc 17199 17169 pushad ; 66 60 17200 call 09 d04h ; e8 879e17170 call 09cc5h ; e8 48 9e 17201 17171 popad ; 66 61 17202 17172 pop DS ; 1f … … 17312 17282 cpu_reset: ; 0xffff0 LB 0x10 17313 17283 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17314 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 37h17284 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 020h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
r67807 r68290 1 f85d1e93260947edc3616ca0a94b2b5f*VBoxPcBios386.rom1 c1a8ae98c9a136255d8b6646740f698c *VBoxPcBios386.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
r67807 r68290 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 00bh, 082h, 0 33h, 092h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 00bh, 082h, 0ech, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 02eh, 03ch, 02eh, 03ch 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h 995 db 039h, 080h, 022h, 081h, 0 01h, 091h, 0abh, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 039h, 080h, 022h, 081h, 0bah, 090h, 064h, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 998 section CONST progbits vstart=0xb0 align=1 ; size=0x d40class=DATA group=DGROUP998 section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP 999 999 db 'NMI Handler called', 00ah, 000h 1000 1000 db 'INT18: BOOT FAILURE', 00ah, 000h … … 1101 1101 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1102 1102 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1104 db 'scsi_pci_init', 000h 1105 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1106 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1107 1104 db 'ahci_read_sectors', 000h 1108 1105 db '%s: device_id out of range %d', 00ah, 000h … … 1117 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1118 1115 1119 section CONST2 progbits vstart=0xd f0 align=1 ; size=0x3faclass=DATA group=DGROUP1120 _bios_cvs_version_string: ; 0xf0d f0 LB 0x121121 db 'VirtualBox 5. 1.51', 000h1122 _bios_prefix_string: ; 0xf0 e02LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x400 class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x18 1118 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da6 LB 0x8 1123 1120 db 'BIOS: ', 000h, 000h 1124 _isotag: ; 0xf0 e0aLB 0x61121 _isotag: ; 0xf0dae LB 0x6 1125 1122 db 'CD001', 000h 1126 _eltorito: ; 0xf0 e10LB 0x181123 _eltorito: ; 0xf0db4 LB 0x18 1127 1124 db 'EL TORITO SPECIFICATION', 000h 1128 _drivetypes: ; 0xf0 e28LB 0x281125 _drivetypes: ; 0xf0dcc LB 0x28 1129 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1130 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1131 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1132 _scan_to_scanascii: ; 0xf0 e50LB 0x37a1129 _scan_to_scanascii: ; 0xf0df4 LB 0x37a 1133 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1134 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1187 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1188 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1189 _panic_msg_keyb_buffer_full: ; 0xf11 caLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116e LB 0x20 1190 1187 db '%s: keyboard input buffer full', 00ah, 000h 1191 1188 1192 ; Padding 0x4 16 bytes at 0xf11ea1193 times 1 046db 01189 ; Padding 0x472 bytes at 0xf118e 1190 times 1138 db 0 1194 1191 1195 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 f08 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8ec8 class=CODE group=AUTO 1196 1193 rom_scan_: ; 0xf1600 LB 0x52 1197 1194 push bp ; 55 … … 1421 1418 push bp ; 55 1422 1419 mov bp, sp ; 89 e5 1423 mov bx, 00 e02h ; bb 02 0e1420 mov bx, 00da6h ; bb a6 0d 1424 1421 mov cx, ds ; 8c d9 1425 1422 mov ax, strict word 00004h ; b8 04 00 1426 1423 call 01933h ; e8 b0 01 1427 mov ax, 00d f0h ; b8 f00d1424 mov ax, 00d8eh ; b8 8e 0d 1428 1425 push ax ; 50 1429 1426 mov ax, 000d9h ; b8 d9 00 … … 1599 1596 mov bx, strict word 0000ah ; bb 0a 00 1600 1597 xor cx, cx ; 31 c9 1601 call 0a1 a0h ; e8 c3 881598 call 0a160h ; e8 83 88 1602 1599 mov word [bp-008h], ax ; 89 46 f8 1603 1600 mov cx, dx ; 89 d1 … … 1836 1833 mov dx, word [bp-026h] ; 8b 56 da 1837 1834 mov si, word [bp-01eh] ; 8b 76 e2 1838 call 0a1 d0h ; e8 b8 861835 call 0a190h ; e8 78 86 1839 1836 mov ax, dx ; 89 d0 1840 1837 xor ah, dh ; 30 f4 … … 2297 2294 mov dx, word [es:si] ; 26 8b 14 2298 2295 mov si, strict word 00018h ; be 18 00 2299 call 0a1 d0h ; e8 3e 822296 call 0a190h ; e8 fe 81 2300 2297 xor dh, dh ; 30 f6 2301 2298 mov word [bp-014h], dx ; 89 56 ec … … 2307 2304 mov dx, word [es:si] ; 26 8b 14 2308 2305 mov si, strict word 00020h ; be 20 00 2309 call 0a1 d0h ; e8 1e 822306 call 0a190h ; e8 de 81 2310 2307 mov bx, dx ; 89 d3 2311 2308 mov word [bp-010h], dx ; 89 56 f0 … … 2339 2336 mov dx, word [es:si] ; 26 8b 14 2340 2337 mov si, strict word 00008h ; be 08 00 2341 call 0a1 d0h ; e8 cb 812338 call 0a190h ; e8 8b 81 2342 2339 mov word [bp-010h], dx ; 89 56 f0 2343 2340 mov bx, word [bp-016h] ; 8b 5e ea … … 2348 2345 mov dx, word [es:si] ; 26 8b 14 2349 2346 mov si, strict word 00018h ; be 18 00 2350 call 0a1 d0h ; e8 ad 812347 call 0a190h ; e8 6d 81 2351 2348 mov bl, dl ; 88 d3 2352 2349 and bl, 00fh ; 80 e3 0f … … 2745 2742 lea ax, [bp-03eh] ; 8d 46 c2 2746 2743 call 05b7fh ; e8 7e 37 2747 mov bx, 00 e02h ; bb 02 0e2744 mov bx, 00da6h ; bb a6 0d 2748 2745 mov cx, ds ; 8c d9 2749 2746 mov ax, strict word 00004h ; b8 04 00 … … 2926 2923 mov dx, word [es:di+036h] ; 26 8b 55 36 2927 2924 mov si, strict word 0000bh ; be 0b 00 2928 call 0a1 d0h ; e8 d1 7b2925 call 0a190h ; e8 91 7b 2929 2926 mov word [bp-02ah], dx ; 89 56 d6 2930 2927 mov word [bp-026h], cx ; 89 4e da … … 3218 3215 mov dx, word [bp-022h] ; 8b 56 de 3219 3216 mov si, strict word 00018h ; be 18 00 3220 call 0a1 d0h ; e8 f4 783217 call 0a190h ; e8 b4 78 3221 3218 xor dh, dh ; 30 f6 3222 3219 mov word [bp-014h], dx ; 89 56 ec … … 3226 3223 mov dx, word [bp-022h] ; 8b 56 de 3227 3224 mov si, strict word 00020h ; be 20 00 3228 call 0a1 d0h ; e8 dd 783225 call 0a190h ; e8 9d 78 3229 3226 mov bx, dx ; 89 d3 3230 3227 mov word [bp-024h], dx ; 89 56 dc … … 3260 3257 mov dx, word [bp-022h] ; 8b 56 de 3261 3258 mov si, strict word 00008h ; be 08 00 3262 call 0a1 d0h ; e8 89 783259 call 0a190h ; e8 49 78 3263 3260 mov word [bp-00ch], ax ; 89 46 f4 3264 3261 mov word [bp-020h], bx ; 89 5e e0 … … 3267 3264 mov word [bp-024h], dx ; 89 56 dc 3268 3265 mov si, strict word 00010h ; be 10 00 3269 call 0a1 d0h ; e8 74 783266 call 0a190h ; e8 34 78 3270 3267 mov word [bp-022h], dx ; 89 56 de 3271 3268 mov ax, dx ; 89 d0 … … 3534 3531 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3535 3532 jne short 02bf6h ; 75 23 3536 mov bx, 00 e02h ; bb 02 0e3533 mov bx, 00da6h ; bb a6 0d 3537 3534 mov cx, ds ; 8c d9 3538 3535 mov ax, strict word 00004h ; b8 04 00 … … 4382 4379 cmp bh, 048h ; 80 ff 48 4383 4380 jbe short 0333ch ; 76 37 4384 mov bx, 00 e02h ; bb 02 0e4381 mov bx, 00da6h ; bb a6 0d 4385 4382 mov cx, ds ; 8c d9 4386 4383 mov ax, strict word 00004h ; b8 04 00 … … 5318 5315 mov byte [es:bx], 000h ; 26 c6 07 00 5319 5316 jmp near 03533h ; e9 5d f9 5320 mov bx, 00 e02h ; bb 02 0e5317 mov bx, 00da6h ; bb a6 0d 5321 5318 mov cx, ds ; 8c d9 5322 5319 mov ax, strict word 00004h ; b8 04 00 … … 5420 5417 cmp ax, strict word 0004ah ; 3d 4a 00 5421 5418 jne short 03cc8h ; 75 23 5422 mov bx, 00 e02h ; bb 02 0e5419 mov bx, 00da6h ; bb a6 0d 5423 5420 mov cx, ds ; 8c d9 5424 5421 mov ax, strict word 00004h ; b8 04 00 … … 5528 5525 pop bp ; 5d 5529 5526 retn ; c3 5530 mov bx, 00 e02h ; bb 02 0e5527 mov bx, 00da6h ; bb a6 0d 5531 5528 mov cx, ds ; 8c d9 5532 5529 mov ax, strict word 00004h ; b8 04 00 … … 5616 5613 mov dx, ss ; 8c d2 5617 5614 lea ax, [bp-026h] ; 8d 46 da 5618 call 0a1 f0h ; e8 4d 635615 call 0a1b0h ; e8 0d 63 5619 5616 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5620 5617 mov ax, strict word 00011h ; b8 11 00 … … 5679 5676 jnc short 03f51h ; 73 10 5680 5677 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5681 cmp al, byte [di+00 e0ah] ; 3a 85 0a 0e5678 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5682 5679 je short 03f3bh ; 74 f0 5683 5680 mov ax, strict word 00005h ; b8 05 00 … … 5689 5686 jnc short 03f6bh ; 73 10 5690 5687 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5691 cmp al, byte [di+00 e10h] ; 3a 85 10 0e5688 cmp al, byte [di+00db4h] ; 3a 85 b4 0d 5692 5689 je short 03f55h ; 74 f0 5693 5690 mov ax, strict word 00006h ; b8 06 00 … … 5990 5987 cmp ax, dx ; 39 d0 5991 5988 je short 04308h ; 74 2a 5992 mov bx, 00 e02h ; bb 02 0e5989 mov bx, 00da6h ; bb a6 0d 5993 5990 mov cx, ds ; 8c d9 5994 5991 mov ax, strict word 00004h ; b8 04 00 … … 6108 6105 xor dl, dl ; 30 d2 6109 6106 xor cx, cx ; 31 c9 6110 call 0a1 80h ; e8 68 5d6107 call 0a140h ; e8 28 5d 6111 6108 xor bx, bx ; 31 db 6112 6109 add ax, si ; 01 f0 … … 6114 6111 mov bx, di ; 89 fb 6115 6112 xor cx, cx ; 31 c9 6116 call 0a1 80h ; e8 5b 5d6113 call 0a140h ; e8 1b 5d 6117 6114 mov bx, ax ; 89 c3 6118 6115 mov ax, word [bp-00ah] ; 8b 46 f6 … … 6149 6146 mov dx, ss ; 8c d2 6150 6147 lea ax, [bp-030h] ; 8d 46 d0 6151 call 0a1 f0h ; e8 74 5d6148 call 0a1b0h ; e8 34 5d 6152 6149 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6153 6150 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6219 6216 test al, al ; 84 c0 6220 6217 je short 0456dh ; 74 38 6221 mov bx, 00 e02h ; bb 02 0e6218 mov bx, 00da6h ; bb a6 0d 6222 6219 mov cx, ds ; 8c d9 6223 6220 mov ax, strict word 00004h ; b8 04 00 … … 6321 6318 mov word [bp+016h], bx ; 89 5e 16 6322 6319 jmp near 04571h ; e9 33 ff 6323 mov bx, 00 e02h ; bb 02 0e6320 mov bx, 00da6h ; bb a6 0d 6324 6321 mov cx, ds ; 8c d9 6325 6322 mov ax, strict word 00004h ; b8 04 00 … … 6445 6442 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6446 6443 jmp near 04c0ch ; e9 49 04 6447 mov bx, 00 e02h ; bb 02 0e6444 mov bx, 00da6h ; bb a6 0d 6448 6445 mov cx, ds ; 8c d9 6449 6446 mov ax, strict word 00004h ; b8 04 00 … … 6503 6500 mov dx, ss ; 8c d2 6504 6501 lea ax, [bp-02eh] ; 8d 46 d2 6505 call 0a1 f0h ; e8 8c 596502 call 0a1b0h ; e8 4c 59 6506 6503 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6507 6504 mov ax, word [bp-014h] ; 8b 46 ec … … 6560 6557 cmp byte [bp-016h], 000h ; 80 7e ea 00 6561 6558 je short 04950h ; 74 57 6562 mov bx, 00 e02h ; bb 02 0e6559 mov bx, 00da6h ; bb a6 0d 6563 6560 mov cx, ds ; 8c d9 6564 6561 mov ax, strict word 00004h ; b8 04 00 … … 6870 6867 je short 04caah ; 74 27 6871 6868 mov dx, strict word 00001h ; ba 01 00 6872 mov bx, 00 e02h ; bb 02 0e6869 mov bx, 00da6h ; bb a6 0d 6873 6870 mov cx, ds ; 8c d9 6874 6871 mov ax, strict word 00004h ; b8 04 00 … … 6877 6874 mov dx, strict word 0000ah ; ba 0a 00 6878 6875 imul dx ; f7 ea 6879 add ax, 00 e28h ; 05 28 0e6876 add ax, 00dcch ; 05 cc 0d 6880 6877 push ax ; 50 6881 6878 mov ax, 00494h ; b8 94 04 … … 6900 6897 test al, al ; 84 c0 6901 6898 je short 04ce2h ; 74 1f 6902 mov bx, 00 e02h ; bb 02 0e6899 mov bx, 00da6h ; bb a6 0d 6903 6900 mov cx, ds ; 8c d9 6904 6901 mov ax, strict word 00004h ; b8 04 00 6905 6902 call 01933h ; e8 65 cc 6906 mov cx, 00 e3ch ; b9 3c 0e6903 mov cx, 00de0h ; b9 e0 0d 6907 6904 push cx ; 51 6908 6905 mov cx, 004a8h ; b9 a8 04 … … 6915 6912 test dl, dl ; 84 d2 6916 6913 je short 04cf6h ; 74 10 6917 mov bx, 00 e02h ; bb 02 0e6914 mov bx, 00da6h ; bb a6 0d 6918 6915 mov cx, ds ; 8c d9 6919 6916 mov ax, strict word 00004h ; b8 04 00 6920 6917 call 01933h ; e8 42 cc 6921 mov cx, 00 e46h ; b9 46 0e6918 mov cx, 00deah ; b9 ea 0d 6922 6919 jmp short 04cd1h ; eb db 6923 6920 test bl, 080h ; f6 c3 80 6924 6921 je short 04d0ch ; 74 11 6925 mov bx, 00 e02h ; bb 02 0e6922 mov bx, 00da6h ; bb a6 0d 6926 6923 mov cx, ds ; 8c d9 6927 6924 mov ax, strict word 00004h ; b8 04 00 6928 6925 call 01933h ; e8 2d cc 6929 6926 push si ; 56 6930 mov cx, 00 e32h ; b9 32 0e6927 mov cx, 00dd6h ; b9 d6 0d 6931 6928 jmp short 04d1bh ; eb 0f 6932 mov bx, 00 e02h ; bb 02 0e6929 mov bx, 00da6h ; bb a6 0d 6933 6930 mov cx, ds ; 8c d9 6934 6931 mov ax, strict word 00004h ; b8 04 00 6935 6932 call 01933h ; e8 1c cc 6936 6933 push si ; 56 6937 mov cx, 00 e28h ; b9 28 0e6934 mov cx, 00dcch ; b9 cc 0d 6938 6935 push cx ; 51 6939 6936 mov cx, 004bdh ; b9 bd 04 … … 6966 6963 push dx ; 52 6967 6964 mov dx, ax ; 89 c2 6968 mov bx, 00 e02h ; bb 02 0e6965 mov bx, 00da6h ; bb a6 0d 6969 6966 mov cx, ds ; 8c d9 6970 6967 mov ax, strict word 00004h ; b8 04 00 … … 7056 7053 mov byte [bp-008h], al ; 88 46 f8 7057 7054 mov byte [bp-00ah], al ; 88 46 f6 7058 mov bx, 00 e02h ; bb 02 0e7055 mov bx, 00da6h ; bb a6 0d 7059 7056 mov cx, ds ; 8c d9 7060 7057 mov ax, strict word 00004h ; b8 04 00 … … 7624 7621 test al, al ; 84 c0 7625 7622 jne short 05351h ; 75 1c 7626 mov bx, 00 e02h ; bb 02 0e7623 mov bx, 00da6h ; bb a6 0d 7627 7624 mov cx, ds ; 8c d9 7628 7625 mov ax, strict word 00004h ; b8 04 00 … … 7976 7973 cmp byte [bp-004h], 058h ; 80 7e fc 58 7977 7974 jbe short 056e7h ; 76 22 7978 mov bx, 00 e02h ; bb 02 0e7975 mov bx, 00da6h ; bb a6 0d 7979 7976 mov cx, ds ; 8c d9 7980 7977 mov ax, strict word 00004h ; b8 04 00 … … 7998 7995 imul bx ; f7 eb 7999 7996 mov bx, ax ; 89 c3 8000 mov al, byte [bx+00 e56h] ; 8a 87 56 0e7997 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8001 7998 mov byte [bp-012h], al ; 88 46 ee 8002 mov al, byte [bx+00 e57h] ; 8a 87 57 0e7999 mov al, byte [bx+00dfbh] ; 8a 87 fb 0d 8003 8000 jmp near 057bah ; e9 b2 00 8004 8001 test AL, strict byte 004h ; a8 04 … … 8009 8006 imul dx ; f7 ea 8010 8007 mov bx, ax ; 89 c3 8011 mov al, byte [bx+00 e54h] ; 8a 87 54 0e8008 mov al, byte [bx+00df8h] ; 8a 87 f8 0d 8012 8009 mov byte [bp-012h], al ; 88 46 ee 8013 mov al, byte [bx+00 e55h] ; 8a 87 55 0e8010 mov al, byte [bx+00df9h] ; 8a 87 f9 0d 8014 8011 jmp near 057bah ; e9 94 00 8015 8012 mov al, byte [bp-010h] ; 8a 46 f0 … … 8035 8032 imul dx ; f7 ea 8036 8033 mov bx, ax ; 89 c3 8037 mov al, byte [bx+00 e58h] ; 8a 87 58 0e8034 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 8038 8035 xor ah, ah ; 30 e4 8039 8036 mov dx, ax ; 89 c2 … … 8041 8038 test ax, dx ; 85 d0 8042 8039 je short 05777h ; 74 0d 8043 mov al, byte [bx+00 e50h] ; 8a 87 50 0e8040 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8044 8041 mov byte [bp-012h], al ; 88 46 ee 8045 mov al, byte [bx+00 e51h] ; 8a 87 51 0e8042 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8046 8043 jmp short 05782h ; eb 0b 8047 mov al, byte [bx+00 e52h] ; 8a 87 52 0e8044 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8048 8045 mov byte [bp-012h], al ; 88 46 ee 8049 mov al, byte [bx+00 e53h] ; 8a 87 53 0e8046 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8050 8047 mov byte [bp-004h], al ; 88 46 fc 8051 8048 jmp short 057bdh ; eb 36 … … 8055 8052 imul bx ; f7 eb 8056 8053 mov bx, ax ; 89 c3 8057 mov al, byte [bx+00 e58h] ; 8a 87 58 0e8054 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 8058 8055 xor ah, ah ; 30 e4 8059 8056 mov dx, ax ; 89 c2 … … 8061 8058 test ax, dx ; 85 d0 8062 8059 je short 057afh ; 74 0d 8063 mov al, byte [bx+00 e52h] ; 8a 87 52 0e8060 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8064 8061 mov byte [bp-012h], al ; 88 46 ee 8065 mov al, byte [bx+00 e53h] ; 8a 87 53 0e8062 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8066 8063 jmp short 057bah ; eb 0b 8067 mov al, byte [bx+00 e50h] ; 8a 87 50 0e8064 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8068 8065 mov byte [bp-012h], al ; 88 46 ee 8069 mov al, byte [bx+00 e51h] ; 8a 87 51 0e8066 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8070 8067 mov byte [bp-004h], al ; 88 46 fc 8071 8068 cmp byte [bp-004h], 000h ; 80 7e fc 00 … … 8073 8070 cmp byte [bp-012h], 000h ; 80 7e ee 00 8074 8071 jne short 057e2h ; 75 19 8075 mov bx, 00 e02h ; bb 02 0e8072 mov bx, 00da6h ; bb a6 0d 8076 8073 mov cx, ds ; 8c d9 8077 8074 mov ax, strict word 00004h ; b8 04 00 … … 8276 8273 mov word [bp+012h], ax ; 89 46 12 8277 8274 jmp near 059d7h ; e9 4a 00 8278 mov bx, 00 e02h ; bb 02 0e8275 mov bx, 00da6h ; bb a6 0d 8279 8276 mov cx, ds ; 8c d9 8280 8277 mov ax, strict word 00004h ; b8 04 00 … … 8290 8287 call 01976h ; e8 cb bf 8291 8288 add sp, strict byte 00006h ; 83 c4 06 8292 mov bx, 00 e02h ; bb 02 0e8289 mov bx, 00da6h ; bb a6 0d 8293 8290 mov cx, ds ; 8c d9 8294 8291 mov ax, strict word 00004h ; b8 04 00 … … 8504 8501 mov dx, word [bp+00ch] ; 8b 56 0c 8505 8502 mov si, strict word 00020h ; be 20 00 8506 call 0a1 d0h ; e8 22 468503 call 0a190h ; e8 e2 45 8507 8504 test ax, ax ; 85 c0 8508 8505 jne short 05bbeh ; 75 0c … … 8542 8539 mov bx, strict word 0003fh ; bb 3f 00 8543 8540 xor cx, cx ; 31 c9 8544 call 0a1 80h ; e8 79 458541 call 0a140h ; e8 39 45 8545 8542 mov bx, ax ; 89 c3 8546 8543 mov cx, dx ; 89 d1 8547 8544 mov ax, word [bp-004h] ; 8b 46 fc 8548 8545 mov dx, si ; 89 f2 8549 call 0a1 a0h ; e8 8d 458546 call 0a160h ; e8 4d 45 8550 8547 mov word [es:di+002h], ax ; 26 89 45 02 8551 8548 cmp ax, 00400h ; 3d 00 04 … … 8698 8695 test ax, ax ; 85 c0 8699 8696 jne short 05d8eh ; 75 29 8700 mov bx, 00 e02h ; bb 02 0e8697 mov bx, 00da6h ; bb a6 0d 8701 8698 mov cx, ds ; 8c d9 8702 8699 mov ax, strict word 00004h ; b8 04 00 … … 8732 8729 cmp di, dx ; 39 d7 8733 8730 jbe short 05dedh ; 76 31 8734 mov bx, 00 e02h ; bb 02 0e8731 mov bx, 00da6h ; bb a6 0d 8735 8732 mov cx, ds ; 8c d9 8736 8733 mov ax, strict word 00004h ; b8 04 00 … … 8776 8773 mov bx, cx ; 89 cb 8777 8774 xor cx, cx ; 31 c9 8778 call 0a1 80h ; e8 54 438775 call 0a140h ; e8 14 43 8779 8776 xor bx, bx ; 31 db 8780 8777 add ax, word [bp-008h] ; 03 46 f8 … … 8782 8779 mov bx, word [bp-00eh] ; 8b 5e f2 8783 8780 xor cx, cx ; 31 c9 8784 call 0a1 80h ; e8 45 438781 call 0a140h ; e8 05 43 8785 8782 xor bx, bx ; 31 db 8786 8783 add ax, di ; 01 f8 … … 8840 8837 test dl, dl ; 84 d2 8841 8838 je short 05f36h ; 74 4a 8842 mov bx, 00 e02h ; bb 02 0e8839 mov bx, 00da6h ; bb a6 0d 8843 8840 mov cx, ds ; 8c d9 8844 8841 mov ax, strict word 00004h ; b8 04 00 … … 8861 8858 or ah, 00ch ; 80 cc 0c 8862 8859 jmp near 0607ch ; e9 5f 01 8863 mov bx, 00 e02h ; bb 02 0e8860 mov bx, 00da6h ; bb a6 0d 8864 8861 mov cx, ds ; 8c d9 8865 8862 mov ax, strict word 00004h ; b8 04 00 … … 8956 8953 mov bx, word [bp-008h] ; 8b 5e f8 8957 8954 xor cx, cx ; 31 c9 8958 call 0a1 80h ; e8 6e 418955 call 0a140h ; e8 2e 41 8959 8956 mov bx, di ; 89 fb 8960 8957 xor cx, cx ; 31 c9 8961 call 0a1 80h ; e8 67 418958 call 0a140h ; e8 27 41 8962 8959 mov word [bp-010h], ax ; 89 46 f0 8963 8960 mov word [bp-004h], dx ; 89 56 fc … … 8969 8966 mov word [bp+016h], ax ; 89 46 16 8970 8967 jmp near 05f3ah ; e9 07 ff 8971 mov bx, 00 e02h ; bb 02 0e8968 mov bx, 00da6h ; bb a6 0d 8972 8969 mov cx, ds ; 8c d9 8973 8970 mov ax, strict word 00004h ; b8 04 00 … … 8985 8982 add sp, strict byte 00008h ; 83 c4 08 8986 8983 jmp near 05f36h ; e9 dd fe 8987 mov bx, 00 e02h ; bb 02 0e8984 mov bx, 00da6h ; bb a6 0d 8988 8985 mov cx, ds ; 8c d9 8989 8986 mov ax, strict word 00004h ; b8 04 00 … … 9092 9089 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9093 9090 jmp near 06597h ; e9 31 04 9094 mov bx, 00 e02h ; bb 02 0e9091 mov bx, 00da6h ; bb a6 0d 9095 9092 mov cx, ds ; 8c d9 9096 9093 mov ax, strict word 00004h ; b8 04 00 … … 9118 9115 xor bx, bx ; 31 db 9119 9116 mov si, strict word 00020h ; be 20 00 9120 call 0a1 e0h ; e8 2c 409117 call 0a1a0h ; e8 ec 3f 9121 9118 mov word [bp-00eh], ax ; 89 46 f2 9122 9119 mov word [bp-010h], bx ; 89 5e f0 … … 9148 9145 cmp si, word [es:bx+036h] ; 26 3b 77 36 9149 9146 jc short 0622ch ; 72 26 9150 mov bx, 00 e02h ; bb 02 0e9147 mov bx, 00da6h ; bb a6 0d 9151 9148 mov cx, ds ; 8c d9 9152 9149 mov ax, strict word 00004h ; b8 04 00 … … 9210 9207 test dl, dl ; 84 d2 9211 9208 je short 0631ah ; 74 54 9212 mov bx, 00 e02h ; bb 02 0e9209 mov bx, 00da6h ; bb a6 0d 9213 9210 mov cx, ds ; 8c d9 9214 9211 mov ax, strict word 00004h ; b8 04 00 … … 9283 9280 mov dx, si ; 89 f2 9284 9281 mov si, strict word 00020h ; be 20 00 9285 call 0a1 d0h ; e8 25 3e9282 call 0a190h ; e8 e5 3d 9286 9283 mov bx, di ; 89 fb 9287 9284 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9647 9644 mov bx, strict word 0000fh ; bb 0f 00 9648 9645 xor cx, cx ; 31 c9 9649 call 0a1 a0h ; e8 57 3a9646 call 0a160h ; e8 17 3a 9650 9647 mov cx, ax ; 89 c1 9651 9648 mov bx, dx ; 89 d3 … … 9811 9808 mov word [bp+00ch], ax ; 89 46 0c 9812 9809 jmp near 0691bh ; e9 2e 00 9813 mov bx, 00 e02h ; bb 02 0e9810 mov bx, 00da6h ; bb a6 0d 9814 9811 mov cx, ds ; 8c d9 9815 9812 mov ax, strict word 00004h ; b8 04 00 … … 10000 9997 retf ; cb 10001 9998 jmp near 0691bh ; e9 53 fe 10002 mov bx, 00 e02h ; bb 02 0e9999 mov bx, 00da6h ; bb a6 0d 10003 10000 mov cx, ds ; 8c d9 10004 10001 mov ax, strict word 00004h ; b8 04 00 … … 10043 10040 or byte [bp+018h], 001h ; 80 4e 18 01 10044 10041 jmp near 0691bh ; e9 d8 fd 10045 mov bx, 00 e02h ; bb 02 0e10042 mov bx, 00da6h ; bb a6 0d 10046 10043 mov cx, ds ; 8c d9 10047 10044 mov ax, strict word 00004h ; b8 04 00 … … 10235 10232 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10236 10233 jmp short 06d04h ; eb d3 10237 mov bx, 00 e02h ; bb 02 0e10234 mov bx, 00da6h ; bb a6 0d 10238 10235 mov cx, ds ; 8c d9 10239 10236 mov ax, strict word 00004h ; b8 04 00 … … 10882 10879 mov ax, 008eeh ; b8 ee 08 10883 10880 push ax ; 50 10884 mov ax, 011 cah ; b8 ca1110881 mov ax, 0116eh ; b8 6e 11 10885 10882 push ax ; 50 10886 10883 mov ax, strict word 00007h ; b8 07 00 … … 10966 10963 mov ax, 008f8h ; b8 f8 08 10967 10964 push ax ; 50 10968 mov ax, 011 cah ; b8 ca1110965 mov ax, 0116eh ; b8 6e 11 10969 10966 push ax ; 50 10970 10967 mov ax, strict word 00007h ; b8 07 00 … … 12529 12526 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12530 12527 jne short 08256h ; 75 23 12531 mov bx, 00 e02h ; bb 02 0e12528 mov bx, 00da6h ; bb a6 0d 12532 12529 mov cx, ds ; 8c d9 12533 12530 mov ax, strict word 00004h ; b8 04 00 … … 12692 12689 mov dx, ss ; 8c d2 12693 12690 lea ax, [bp-048h] ; 8d 46 b8 12694 call 0a1 f0h ; e8 3d 1e12691 call 0a1b0h ; e8 fd 1d 12695 12692 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12696 12693 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12762 12759 cmp bx, 00200h ; 81 fb 00 02 12763 12760 je short 08487h ; 74 23 12764 mov bx, 00 e02h ; bb 02 0e12761 mov bx, 00da6h ; bb a6 0d 12765 12762 mov cx, ds ; 8c d9 12766 12763 mov ax, strict word 00004h ; b8 04 00 … … 12830 12827 mov dx, word [bp-024h] ; 8b 56 dc 12831 12828 mov si, strict word 0000ch ; be 0c 00 12832 call 0a1 d0h ; e8 cd 1c12829 call 0a190h ; e8 8d 1c 12833 12830 mov word [bp-02ah], ax ; 89 46 d6 12834 12831 mov word [bp-02ch], bx ; 89 5e d4 … … 12852 12849 mov dx, word [bp-024h] ; 8b 56 dc 12853 12850 mov si, strict word 00006h ; be 06 00 12854 call 0a1 d0h ; e8 8c 1c12851 call 0a190h ; e8 4c 1c 12855 12852 mov si, word [bp-018h] ; 8b 76 e8 12856 12853 add si, dx ; 01 d6 … … 12870 12867 mov dx, si ; 89 f2 12871 12868 mov si, strict word 00008h ; be 08 00 12872 call 0a1 d0h ; e8 5c 1c12869 call 0a190h ; e8 1c 1c 12873 12870 mov word [bp-02eh], bx ; 89 5e d2 12874 12871 mov word [bp-030h], cx ; 89 4e d0 … … 12879 12876 mov dx, word [bp-01eh] ; 8b 56 e2 12880 12877 mov si, strict word 00010h ; be 10 00 12881 call 0a1 d0h ; e8 41 1c12878 call 0a190h ; e8 01 1c 12882 12879 mov si, word [bp-032h] ; 8b 76 ce 12883 12880 add si, dx ; 01 d6 … … 12904 12901 mov dx, word [bp-024h] ; 8b 56 dc 12905 12902 mov si, strict word 0000bh ; be 0b 00 12906 call 0a1 d0h ; e8 f7 1b12903 call 0a190h ; e8 b7 1b 12907 12904 mov si, dx ; 89 d6 12908 12905 mov word [bp-026h], cx ; 89 4e da … … 12949 12946 mov word [es:bx+02ch], si ; 26 89 77 2c 12950 12947 mov word [es:bx+032h], si ; 26 89 77 32 12951 mov bx, 00 e02h ; bb 02 0e12948 mov bx, 00da6h ; bb a6 0d 12952 12949 mov cx, ds ; 8c d9 12953 12950 mov ax, strict word 00004h ; b8 04 00 … … 13008 13005 inc byte [bp-00ch] ; fe 46 f4 13009 13006 jmp near 087a2h ; e9 97 00 13010 mov bx, 00 e02h ; bb 02 0e13007 mov bx, 00da6h ; bb a6 0d 13011 13008 mov cx, ds ; 8c d9 13012 13009 mov ax, strict word 00004h ; b8 04 00 … … 13125 13122 pop bp ; 5d 13126 13123 retn ; c3 13127 scsi_pci_init_: ; 0xf8846 LB 0x 7213124 scsi_pci_init_: ; 0xf8846 LB 0x2b 13128 13125 push bp ; 55 13129 13126 mov bp, sp ; 89 e5 … … 13131 13128 push cx ; 51 13132 13129 push si ; 56 13133 push di ; 57 13134 mov di, ax ; 89 c7 13135 mov si, dx ; 89 d6 13136 call 09fceh ; e8 7a 17 13130 call 09f87h ; e8 38 17 13137 13131 mov dx, ax ; 89 c2 13138 13132 cmp ax, strict word 0ffffh ; 3d ff ff 13139 jne short 0887ch ; 75 21 13140 mov bx, 00e02h ; bb 02 0e 13141 mov cx, ds ; 8c d9 13142 mov ax, strict word 00004h ; b8 04 00 13143 call 01933h ; e8 cd 90 13144 push si ; 56 13145 push di ; 57 13146 mov ax, 00c61h ; b8 61 0c 13147 push ax ; 50 13148 mov ax, 00c6fh ; b8 6f 0c 13149 push ax ; 50 13150 mov ax, strict word 00004h ; b8 04 00 13151 push ax ; 50 13152 call 01976h ; e8 ff 90 13153 add sp, strict byte 0000ah ; 83 c4 0a 13154 jmp short 088afh ; eb 33 13155 mov bx, 00e02h ; bb 02 0e 13156 mov cx, ds ; 8c d9 13157 mov ax, strict word 00004h ; b8 04 00 13158 call 01933h ; e8 ac 90 13159 push dx ; 52 13160 push si ; 56 13161 push di ; 57 13162 mov ax, 00c61h ; b8 61 0c 13163 push ax ; 50 13164 mov ax, 00c98h ; b8 98 0c 13165 push ax ; 50 13166 mov ax, strict word 00004h ; b8 04 00 13167 push ax ; 50 13168 call 01976h ; e8 dd 90 13169 add sp, strict byte 0000ch ; 83 c4 0c 13133 je short 08869h ; 74 13 13170 13134 mov al, dl ; 88 d0 13171 13135 xor ah, ah ; 30 e4 … … 13175 13139 mov bx, strict word 00004h ; bb 04 00 13176 13140 mov dx, si ; 89 f2 13177 call 0a07ch ; e8 cd 17 13178 lea sp, [bp-008h] ; 8d 66 f8 13179 pop di ; 5f 13141 call 0a035h ; e8 cc 17 13142 lea sp, [bp-006h] ; 8d 66 fa 13180 13143 pop si ; 5e 13181 13144 pop cx ; 59 … … 13183 13146 pop bp ; 5d 13184 13147 retn ; c3 13185 _scsi_init: ; 0xf88 b8LB 0x8113148 _scsi_init: ; 0xf8871 LB 0x81 13186 13149 push bp ; 55 13187 13150 mov bp, sp ; 89 e5 13188 13151 mov dx, strict word 0000eh ; ba 0e 00 13189 13152 mov ax, strict word 00040h ; b8 40 00 13190 call 0166eh ; e8 aa8d13153 call 0166eh ; e8 f1 8d 13191 13154 mov bx, 00122h ; bb 22 01 13192 13155 mov es, ax ; 8e c0 … … 13199 13162 ; sub ah, ah ; 2a e4 13200 13163 cmp AL, strict byte 055h ; 3c 55 13201 jne short 088 f1h ; 75 1513164 jne short 088aah ; 75 15 13202 13165 xor al, al ; 30 c0 13203 13166 mov dx, 00433h ; ba 33 04 13204 13167 out DX, AL ; ee 13205 13168 mov ax, 00430h ; b8 30 04 13206 call 0837bh ; e8 93fa13169 call 0837bh ; e8 da fa 13207 13170 mov dx, 01040h ; ba 40 10 13208 13171 mov ax, 0104bh ; b8 4b 10 13209 call 08846h ; e8 55ff13172 call 08846h ; e8 9c ff 13210 13173 mov AL, strict byte 055h ; b0 55 13211 13174 mov dx, 00436h ; ba 36 04 … … 13215 13178 ; sub ah, ah ; 2a e4 13216 13179 cmp AL, strict byte 055h ; 3c 55 13217 jne short 08 913h ; 75 1513180 jne short 088cch ; 75 15 13218 13181 xor al, al ; 30 c0 13219 13182 mov dx, 00437h ; ba 37 04 13220 13183 out DX, AL ; ee 13221 13184 mov ax, 00434h ; b8 34 04 13222 call 0837bh ; e8 71fa13185 call 0837bh ; e8 b8 fa 13223 13186 mov dx, strict word 00030h ; ba 30 00 13224 13187 mov ax, 01000h ; b8 00 10 13225 call 08846h ; e8 33ff13188 call 08846h ; e8 7a ff 13226 13189 mov AL, strict byte 055h ; b0 55 13227 13190 mov dx, 0043ah ; ba 3a 04 … … 13231 13194 ; sub ah, ah ; 2a e4 13232 13195 cmp AL, strict byte 055h ; 3c 55 13233 jne short 08 935h ; 75 1513196 jne short 088eeh ; 75 15 13234 13197 xor al, al ; 30 c0 13235 13198 mov dx, 0043bh ; ba 3b 04 13236 13199 out DX, AL ; ee 13237 13200 mov ax, 00438h ; b8 38 04 13238 call 0837bh ; e8 4ffa13201 call 0837bh ; e8 96 fa 13239 13202 mov dx, strict word 00054h ; ba 54 00 13240 13203 mov ax, 01000h ; b8 00 10 13241 call 08846h ; e8 11ff13204 call 08846h ; e8 58 ff 13242 13205 mov sp, bp ; 89 ec 13243 13206 pop bp ; 5d 13244 13207 retn ; c3 13245 ahci_ctrl_extract_bits_: ; 0xf8 939LB 0x1c13208 ahci_ctrl_extract_bits_: ; 0xf88f2 LB 0x1c 13246 13209 push si ; 56 13247 13210 push bp ; 55 … … 13252 13215 mov cl, byte [bp+006h] ; 8a 4e 06 13253 13216 xor ch, ch ; 30 ed 13254 jcxz 089 50h ; e3 0613217 jcxz 08909h ; e3 06 13255 13218 shr dx, 1 ; d1 ea 13256 13219 rcr ax, 1 ; d1 d8 13257 loop 089 4ah ; e2 fa13220 loop 08903h ; e2 fa 13258 13221 pop bp ; 5d 13259 13222 pop si ; 5e 13260 13223 retn 00002h ; c2 02 00 13261 ahci_addr_to_phys_: ; 0xf89 55LB 0x1e13224 ahci_addr_to_phys_: ; 0xf890e LB 0x1e 13262 13225 push bx ; 53 13263 13226 push cx ; 51 … … 13270 13233 sal ax, 1 ; d1 e0 13271 13234 rcl dx, 1 ; d1 d2 13272 loop 089 63h ; e2 fa13235 loop 0891ch ; e2 fa 13273 13236 xor cx, cx ; 31 c9 13274 13237 add ax, bx ; 01 d8 … … 13278 13241 pop bx ; 5b 13279 13242 retn ; c3 13280 ahci_port_cmd_sync_: ; 0xf89 73LB 0x15913243 ahci_port_cmd_sync_: ; 0xf892c LB 0x159 13281 13244 push bp ; 55 13282 13245 mov bp, sp ; 89 e5 … … 13293 13256 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13294 13257 cmp AL, strict byte 0ffh ; 3c ff 13295 jne short 089 96h ; 75 0313296 jmp near 08a c4h ; e9 2e 0113258 jne short 0894fh ; 75 03 13259 jmp near 08a7dh ; e9 2e 01 13297 13260 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13298 13261 xor ah, ah ; 30 e4 … … 13307 13270 lea ax, [si+00080h] ; 8d 84 80 00 13308 13271 mov dx, cx ; 89 ca 13309 call 089 55h ; e8 92 ff13272 call 0890eh ; e8 92 ff 13310 13273 mov es, cx ; 8e c1 13311 13274 mov word [es:si+008h], ax ; 26 89 44 08 … … 13375 13338 xchg dx, ax ; 92 13376 13339 test dh, 040h ; f6 c6 40 13377 jne short 08a 56h ; 75 0413340 jne short 08a0fh ; 75 04 13378 13341 test AL, strict byte 001h ; a8 01 13379 je short 08a 5ah ; 74 0413342 je short 08a13h ; 74 04 13380 13343 mov AL, strict byte 001h ; b0 01 13381 jmp short 08a 5ch ; eb 0213344 jmp short 08a15h ; eb 02 13382 13345 xor al, al ; 30 c0 13383 13346 test al, al ; 84 c0 13384 je short 08 a28h ; 74 c813347 je short 089e1h ; 74 c8 13385 13348 mov al, byte [bp-008h] ; 8a 46 f8 13386 13349 xor ah, ah ; 30 e4 … … 13439 13402 pop bp ; 5d 13440 13403 retn ; c3 13441 ahci_cmd_data_: ; 0xf8a ccLB 0x26213404 ahci_cmd_data_: ; 0xf8a85 LB 0x262 13442 13405 push bp ; 55 13443 13406 mov bp, sp ; 89 e5 … … 13464 13427 mov ax, 00080h ; b8 80 00 13465 13428 mov dx, word [bp-00ah] ; 8b 56 f6 13466 call 0a1 f0h ; e8 e61613429 call 0a1b0h ; e8 ed 16 13467 13430 mov es, [bp-00ah] ; 8e 46 f6 13468 13431 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13482 13445 mov dx, word [es:si] ; 26 8b 14 13483 13446 mov si, strict word 00008h ; be 08 00 13484 call 0a1 d0h ; e8 821613447 call 0a190h ; e8 89 16 13485 13448 mov es, [bp-00ah] ; 8e 46 f6 13486 13449 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13493 13456 mov dx, word [es:si] ; 26 8b 14 13494 13457 mov si, strict word 00010h ; be 10 00 13495 call 0a1 d0h ; e8 5c1613458 call 0a190h ; e8 63 16 13496 13459 mov es, [bp-00ah] ; 8e 46 f6 13497 13460 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13505 13468 mov dx, word [es:si] ; 26 8b 14 13506 13469 mov si, strict word 00018h ; be 18 00 13507 call 0a1 d0h ; e8 301613470 call 0a190h ; e8 37 16 13508 13471 mov es, [bp-00ah] ; 8e 46 f6 13509 13472 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13516 13479 mov dx, word [es:si] ; 26 8b 14 13517 13480 mov si, strict word 00020h ; be 20 00 13518 call 0a1 d0h ; e8 0a1613481 call 0a190h ; e8 11 16 13519 13482 mov es, [bp-00ah] ; 8e 46 f6 13520 13483 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13527 13490 mov dx, word [es:si] ; 26 8b 14 13528 13491 mov si, strict word 00028h ; be 28 00 13529 call 0a1 d0h ; e8 e41513492 call 0a190h ; e8 eb 15 13530 13493 mov es, [bp-00ah] ; 8e 46 f6 13531 13494 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13540 13503 mov bx, word [bp-012h] ; 8b 5e ee 13541 13504 xor cx, cx ; 31 c9 13542 call 0a1 80h ; e8 621513505 call 0a140h ; e8 69 15 13543 13506 push dx ; 52 13544 13507 push ax ; 50 … … 13550 13513 mov ax, 0026ah ; b8 6a 02 13551 13514 mov dx, word [bp-00ah] ; 8b 56 f6 13552 call 0a0 d5h ; e8 9b 1413515 call 0a08eh ; e8 9b 14 13553 13516 mov es, [bp-00ah] ; 8e 46 f6 13554 13517 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13574 13537 mov ax, word [es:bx+020h] ; 26 8b 47 20 13575 13538 test ax, ax ; 85 c0 13576 je short 08c cah ; 74 3913539 je short 08c83h ; 74 39 13577 13540 dec ax ; 48 13578 13541 mov es, [bp-00ah] ; 8e 46 f6 … … 13592 13555 mov al, byte [bp-008h] ; 8a 46 f8 13593 13556 cmp AL, strict byte 035h ; 3c 35 13594 jne short 08c d7h ; 75 0613557 jne short 08c90h ; 75 06 13595 13558 mov byte [bp-008h], 040h ; c6 46 f8 40 13596 jmp short 08c eeh ; eb 1713559 jmp short 08ca7h ; eb 17 13597 13560 cmp AL, strict byte 0a0h ; 3c a0 13598 jne short 08c eah ; 75 0f13561 jne short 08ca3h ; 75 0f 13599 13562 or byte [bp-008h], 020h ; 80 4e f8 20 13600 13563 les bx, [bp-00eh] ; c4 5e f2 13601 13564 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13602 jmp short 08c eeh ; eb 0413565 jmp short 08ca7h ; eb 04 13603 13566 mov byte [bp-008h], 000h ; c6 46 f8 00 13604 13567 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13607 13570 mov ax, word [bp-00eh] ; 8b 46 f2 13608 13571 mov dx, word [bp-00ch] ; 8b 56 f4 13609 call 089 73h ; e8 73 fc13572 call 0892ch ; e8 73 fc 13610 13573 mov cx, word [bp-00ch] ; 8b 4e f4 13611 13574 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13614 13577 add ax, 0026ah ; 05 6a 02 13615 13578 mov dx, cx ; 89 ca 13616 call 0a1 4ch ; e8 37 1413579 call 0a105h ; e8 37 14 13617 13580 mov es, cx ; 8e c1 13618 13581 mov al, byte [es:bx+003h] ; 26 8a 47 03 13619 13582 test al, al ; 84 c0 13620 je short 08 d24h ; 74 0513583 je short 08cddh ; 74 05 13621 13584 mov ax, strict word 00004h ; b8 04 00 13622 jmp short 08 d26h ; eb 0213585 jmp short 08cdfh ; eb 02 13623 13586 xor ah, ah ; 30 e4 13624 13587 lea sp, [bp-006h] ; 8d 66 fa … … 13628 13591 pop bp ; 5d 13629 13592 retn ; c3 13630 ahci_port_deinit_current_: ; 0xf8 d2eLB 0x18313593 ahci_port_deinit_current_: ; 0xf8ce7 LB 0x183 13631 13594 push bp ; 55 13632 13595 mov bp, sp ; 89 e5 … … 13643 13606 mov byte [bp-00ah], al ; 88 46 f6 13644 13607 cmp AL, strict byte 0ffh ; 3c ff 13645 je short 08d b1h ; 74 6113608 je short 08d6ah ; 74 61 13646 13609 xor ah, ah ; 30 e4 13647 13610 mov CL, strict byte 007h ; b1 07 … … 13689 13652 xchg dx, ax ; 92 13690 13653 test ax, 0c011h ; a9 11 c0 13691 je short 08d b4h ; 74 0713654 je short 08d6dh ; 74 07 13692 13655 mov AL, strict byte 001h ; b0 01 13693 jmp short 08d b6h ; eb 0513694 jmp near 08e a8h ; e9 f4 0013656 jmp short 08d6fh ; eb 05 13657 jmp near 08e61h ; e9 f4 00 13695 13658 xor al, al ; 30 c0 13696 13659 cmp AL, strict byte 001h ; 3c 01 13697 je short 08d 83h ; 74 c913660 je short 08d3ch ; 74 c9 13698 13661 mov cx, strict word 00020h ; b9 20 00 13699 13662 xor bx, bx ; 31 db 13700 13663 mov ax, di ; 89 f8 13701 13664 mov dx, word [bp-00eh] ; 8b 56 f2 13702 call 0a1 f0h ; e8 291413665 call 0a1b0h ; e8 30 14 13703 13666 lea ax, [di+00080h] ; 8d 85 80 00 13704 13667 mov cx, strict word 00040h ; b9 40 00 13705 13668 xor bx, bx ; 31 db 13706 13669 mov dx, word [bp-00eh] ; 8b 56 f2 13707 call 0a1 f0h ; e8 1a1413670 call 0a1b0h ; e8 21 14 13708 13671 lea ax, [di+00200h] ; 8d 85 00 02 13709 13672 mov cx, strict word 00060h ; b9 60 00 13710 13673 xor bx, bx ; 31 db 13711 13674 mov dx, word [bp-00eh] ; 8b 56 f2 13712 call 0a1 f0h ; e8 0b1413675 call 0a1b0h ; e8 12 14 13713 13676 mov al, byte [bp-00ah] ; 8a 46 f6 13714 13677 xor ah, ah ; 30 e4 … … 13816 13779 pop bp ; 5d 13817 13780 retn ; c3 13818 ahci_port_init_: ; 0xf8e b1LB 0x25013781 ahci_port_init_: ; 0xf8e6a LB 0x250 13819 13782 push bp ; 55 13820 13783 mov bp, sp ; 89 e5 … … 13826 13789 mov word [bp-00ah], dx ; 89 56 f6 13827 13790 mov byte [bp-008h], bl ; 88 5e f8 13828 call 08 d2eh ; e8 69 fe13791 call 08ce7h ; e8 69 fe 13829 13792 mov al, bl ; 88 d8 13830 13793 xor ah, ah ; 30 e4 … … 13877 13840 xchg dx, ax ; 92 13878 13841 test ax, 0c011h ; a9 11 c0 13879 je short 08 f38h ; 74 0413842 je short 08ef1h ; 74 04 13880 13843 mov AL, strict byte 001h ; b0 01 13881 jmp short 08 f3ah ; eb 0213844 jmp short 08ef3h ; eb 02 13882 13845 xor al, al ; 30 c0 13883 13846 cmp AL, strict byte 001h ; 3c 01 13884 je short 08 f02h ; 74 c413847 je short 08ebbh ; 74 c4 13885 13848 mov cx, strict word 00020h ; b9 20 00 13886 13849 xor bx, bx ; 31 db 13887 13850 mov ax, si ; 89 f0 13888 13851 mov dx, word [bp-00ah] ; 8b 56 f6 13889 call 0a1 f0h ; e8 a51213852 call 0a1b0h ; e8 ac 12 13890 13853 lea ax, [si+00080h] ; 8d 84 80 00 13891 13854 mov cx, strict word 00040h ; b9 40 00 13892 13855 xor bx, bx ; 31 db 13893 13856 mov dx, word [bp-00ah] ; 8b 56 f6 13894 call 0a1 f0h ; e8 961213857 call 0a1b0h ; e8 9d 12 13895 13858 lea di, [si+00200h] ; 8d bc 00 02 13896 13859 mov cx, strict word 00060h ; b9 60 00 … … 13898 13861 mov ax, di ; 89 f8 13899 13862 mov dx, word [bp-00ah] ; 8b 56 f6 13900 call 0a1 f0h ; e8 851213863 call 0a1b0h ; e8 8c 12 13901 13864 mov bl, byte [bp-008h] ; 8a 5e f8 13902 13865 xor bh, bh ; 30 ff … … 13917 13880 mov ax, di ; 89 f8 13918 13881 mov dx, word [bp-00ah] ; 8b 56 f6 13919 call 089 55h ; e8 bb f913882 call 0890eh ; e8 bb f9 13920 13883 mov es, [bp-00ah] ; 8e 46 f6 13921 13884 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13962 13925 mov ax, si ; 89 f0 13963 13926 mov dx, word [bp-00ah] ; 8b 56 f6 13964 call 089 55h ; e8 4f f913927 call 0890eh ; e8 4f f9 13965 13928 mov es, [bp-00ah] ; 8e 46 f6 13966 13929 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 14067 14030 pop bp ; 5d 14068 14031 retn ; c3 14069 @ahci_read_sectors: ; 0xf9 101LB 0xaa14032 @ahci_read_sectors: ; 0xf90ba LB 0xaa 14070 14033 push bp ; 55 14071 14034 mov bp, sp ; 89 e5 … … 14078 14041 sub di, strict byte 0000ch ; 83 ef 0c 14079 14042 cmp di, strict byte 00004h ; 83 ff 04 14080 jbe short 09 12ch ; 76 1314043 jbe short 090e5h ; 76 13 14081 14044 push di ; 57 14082 mov ax, 00c c4h ; b8 c40c14083 push ax ; 50 14084 mov ax, 00c d6h ; b8 d60c14045 mov ax, 00c62h ; b8 62 0c 14046 push ax ; 50 14047 mov ax, 00c74h ; b8 74 0c 14085 14048 push ax ; 50 14086 14049 mov ax, strict word 00007h ; b8 07 00 14087 14050 push ax ; 50 14088 call 01976h ; e8 4d8814051 call 01976h ; e8 94 88 14089 14052 add sp, strict byte 00008h ; 83 c4 08 14090 14053 xor bx, bx ; 31 db … … 14100 14063 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14101 14064 xor ax, ax ; 31 c0 14102 call 08e b1h ; e8 5a fd14065 call 08e6ah ; e8 5a fd 14103 14066 mov bx, strict word 00025h ; bb 25 00 14104 14067 mov ax, si ; 89 f0 14105 14068 mov dx, word [bp+006h] ; 8b 56 06 14106 call 08a cch ; e8 6a f914069 call 08a85h ; e8 6a f9 14107 14070 mov bx, ax ; 89 c3 14108 14071 mov es, [bp+006h] ; 8e 46 06 … … 14134 14097 pop bp ; 5d 14135 14098 retn 00004h ; c2 04 00 14136 @ahci_write_sectors: ; 0xf91 abLB 0x8814099 @ahci_write_sectors: ; 0xf9164 LB 0x88 14137 14100 push bp ; 55 14138 14101 mov bp, sp ; 89 e5 … … 14146 14109 sub bx, strict byte 0000ch ; 83 eb 0c 14147 14110 cmp bx, strict byte 00004h ; 83 fb 04 14148 jbe short 091 d9h ; 76 1314111 jbe short 09192h ; 76 13 14149 14112 push bx ; 53 14150 mov ax, 00c f5h ; b8 f50c14151 push ax ; 50 14152 mov ax, 00c d6h ; b8 d60c14113 mov ax, 00c93h ; b8 93 0c 14114 push ax ; 50 14115 mov ax, 00c74h ; b8 74 0c 14153 14116 push ax ; 50 14154 14117 mov ax, strict word 00007h ; b8 07 00 14155 14118 push ax ; 50 14156 call 01976h ; e8 a08714119 call 01976h ; e8 e7 87 14157 14120 add sp, strict byte 00008h ; 83 c4 08 14158 14121 xor di, di ; 31 ff … … 14168 14131 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14169 14132 xor ax, ax ; 31 c0 14170 call 08e b1h ; e8 af fc14133 call 08e6ah ; e8 af fc 14171 14134 mov bx, strict word 00035h ; bb 35 00 14172 14135 mov ax, si ; 89 f0 14173 14136 mov dx, cx ; 89 ca 14174 call 08a cch ; e8 c0 f814137 call 08a85h ; e8 c0 f8 14175 14138 mov dx, ax ; 89 c2 14176 14139 mov es, cx ; 8e c1 … … 14187 14150 pop bp ; 5d 14188 14151 retn 00004h ; c2 04 00 14189 ahci_cmd_packet_: ; 0xf9 233LB 0x18c14152 ahci_cmd_packet_: ; 0xf91ec LB 0x18c 14190 14153 push bp ; 55 14191 14154 mov bp, sp ; 89 e5 … … 14199 14162 mov dx, strict word 0000eh ; ba 0e 00 14200 14163 mov ax, strict word 00040h ; b8 40 00 14201 call 0166eh ; e8 208414164 call 0166eh ; e8 67 84 14202 14165 mov si, 00122h ; be 22 01 14203 14166 mov word [bp-008h], ax ; 89 46 f8 14204 14167 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14205 jne short 092 7dh ; 75 2314206 mov bx, 00 e02h ; bb 02 0e14168 jne short 09236h ; 75 23 14169 mov bx, 00da6h ; bb a6 0d 14207 14170 mov cx, ds ; 8c d9 14208 14171 mov ax, strict word 00004h ; b8 04 00 14209 call 01933h ; e8 ce 8614210 mov ax, 00 d08h ; b8 08 0d14211 push ax ; 50 14212 mov ax, 00 d18h ; b8 18 0d14172 call 01933h ; e8 15 87 14173 mov ax, 00ca6h ; b8 a6 0c 14174 push ax ; 50 14175 mov ax, 00cb6h ; b8 b6 0c 14213 14176 push ax ; 50 14214 14177 mov ax, strict word 00004h ; b8 04 00 14215 14178 push ax ; 50 14216 call 01976h ; e8 028714179 call 01976h ; e8 49 87 14217 14180 add sp, strict byte 00006h ; 83 c4 06 14218 14181 mov ax, strict word 00001h ; b8 01 00 14219 jmp near 093 b6h ; e9 39 0114182 jmp near 0936fh ; e9 39 01 14220 14183 test byte [bp+004h], 001h ; f6 46 04 01 14221 jne short 092 77h ; 75 f414184 jne short 09230h ; 75 f4 14222 14185 mov bx, word [bp+006h] ; 8b 5e 06 14223 14186 mov di, word [bp+008h] ; 8b 7e 08 … … 14225 14188 sal bx, 1 ; d1 e3 14226 14189 rcl di, 1 ; d1 d7 14227 loop 092 8ch ; e2 fa14190 loop 09245h ; e2 fa 14228 14191 mov es, [bp-008h] ; 8e 46 f8 14229 14192 mov word [es:si], bx ; 26 89 1c … … 14239 14202 mov dx, word [bp+008h] ; 8b 56 08 14240 14203 xor cx, cx ; 31 c9 14241 call 0a1 a0h ; e8 db0e14204 call 0a160h ; e8 e2 0e 14242 14205 mov word [es:si+00eh], ax ; 26 89 44 0e 14243 14206 xor di, di ; 31 ff … … 14257 14220 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14258 14221 xor ax, ax ; 31 c0 14259 call 08e b1h ; e8 af fb14222 call 08e6ah ; e8 af fb 14260 14223 mov al, byte [bp-006h] ; 8a 46 fa 14261 14224 xor ah, ah ; 30 e4 … … 14265 14228 mov ax, 000c0h ; b8 c0 00 14266 14229 mov dx, word [bp-00ah] ; 8b 56 f6 14267 call 0a 200h ; e8 e90e14230 call 0a1c0h ; e8 f0 0e 14268 14231 mov es, [bp-008h] ; 8e 46 f8 14269 14232 mov word [es:si+018h], di ; 26 89 7c 18 … … 14272 14235 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14273 14236 test ax, ax ; 85 c0 14274 je short 093 55h ; 74 2714237 je short 0930eh ; 74 27 14275 14238 dec ax ; 48 14276 14239 mov es, [bp-00ah] ; 8e 46 f6 … … 14285 14248 mov ax, si ; 89 f0 14286 14249 mov dx, word [bp-008h] ; 8b 56 f8 14287 call 08a cch ; e8 6c f714250 call 08a85h ; e8 6c f7 14288 14251 les bx, [bp-00eh] ; c4 5e f2 14289 14252 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14312 14275 mov ax, word [es:bx+006h] ; 26 8b 47 06 14313 14276 or ax, word [es:bx+004h] ; 26 0b 47 04 14314 jne short 093 b4h ; 75 0514277 jne short 0936dh ; 75 05 14315 14278 mov ax, strict word 00004h ; b8 04 00 14316 jmp short 093 b6h ; eb 0214279 jmp short 0936fh ; eb 02 14317 14280 xor ax, ax ; 31 c0 14318 14281 lea sp, [bp-004h] ; 8d 66 fc … … 14321 14284 pop bp ; 5d 14322 14285 retn 0000ch ; c2 0c 00 14323 ahci_port_detect_device_: ; 0xf93 bfLB 0x4fe14286 ahci_port_detect_device_: ; 0xf9378 LB 0x4fe 14324 14287 push bp ; 55 14325 14288 mov bp, sp ; 89 e5 … … 14337 14300 mov bx, word [bp-020h] ; 8b 5e e0 14338 14301 mov ax, si ; 89 f0 14339 call 08e b1h ; e8 ce fa14302 call 08e6ah ; e8 ce fa 14340 14303 mov dx, strict word 0000eh ; ba 0e 00 14341 14304 mov ax, strict word 00040h ; b8 40 00 14342 call 0166eh ; e8 828214305 call 0166eh ; e8 c9 82 14343 14306 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14344 14307 mov word [bp-00eh], ax ; 89 46 f2 … … 14412 14375 mov bx, strict word 0000fh ; bb 0f 00 14413 14376 xor cx, cx ; 31 c9 14414 call 08 939h ; e8 9f f414377 call 088f2h ; e8 9f f4 14415 14378 test ax, ax ; 85 c0 14416 jne short 094 a1h ; 75 0314417 jmp near 098 b5h ; e9 14 0414379 jne short 0945ah ; 75 03 14380 jmp near 0986eh ; e9 14 04 14418 14381 mov al, byte [bp-008h] ; 8a 46 f8 14419 14382 xor ah, ah ; 30 e4 … … 14447 14410 xor cx, cx ; 31 c9 14448 14411 mov ax, di ; 89 f8 14449 call 08 939h ; e8 4d f414412 call 088f2h ; e8 4d f4 14450 14413 cmp ax, strict word 00001h ; 3d 01 00 14451 je short 094 a1h ; 74 b014414 je short 0945ah ; 74 b0 14452 14415 xor ax, ax ; 31 c0 14453 14416 push ax ; 50 … … 14456 14419 mov ax, di ; 89 f8 14457 14420 mov dx, word [bp-01ch] ; 8b 56 e4 14458 call 08 939h ; e8 38 f414421 call 088f2h ; e8 38 f4 14459 14422 cmp ax, strict word 00003h ; 3d 03 00 14460 jne short 094 9eh ; 75 9814423 jne short 09457h ; 75 98 14461 14424 mov ax, word [bp-016h] ; 8b 46 ea 14462 14425 add ax, 00130h ; 05 30 01 … … 14486 14449 mov byte [bp-00ch], al ; 88 46 f4 14487 14450 cmp AL, strict byte 004h ; 3c 04 14488 jc short 095 50h ; 72 0314489 jmp near 098 b5h ; e9 65 0314451 jc short 09509h ; 72 03 14452 jmp near 0986eh ; e9 65 03 14490 14453 mov ax, word [bp-016h] ; 8b 46 ea 14491 14454 add ax, 00118h ; 05 18 01 … … 14539 14502 add cl, 00ch ; 80 c1 0c 14540 14503 test dx, dx ; 85 d2 14541 jne short 09 61bh ; 75 5514504 jne short 095d4h ; 75 55 14542 14505 cmp bx, 00101h ; 81 fb 01 01 14543 jne short 09 61bh ; 75 4f14506 jne short 095d4h ; 75 4f 14544 14507 mov es, [bp-00eh] ; 8e 46 f2 14545 14508 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14556 14519 mov ax, word [bp-01ah] ; 8b 46 e6 14557 14520 mov dx, es ; 8c c2 14558 call 08a cch ; e8 c0 f414521 call 08a85h ; e8 c0 f4 14559 14522 mov byte [bp-00ah], cl ; 88 4e f6 14560 14523 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14561 je short 09 61eh ; 74 0814524 je short 095d7h ; 74 08 14562 14525 mov ax, strict word 00001h ; b8 01 00 14563 jmp short 09 620h ; eb 0514564 jmp near 097 f0h ; e9 d2 0114526 jmp short 095d9h ; eb 05 14527 jmp near 097a9h ; e9 d2 01 14565 14528 xor ax, ax ; 31 c0 14566 14529 mov cl, al ; 88 c1 … … 14578 14541 mov word [bp-012h], ax ; 89 46 ee 14579 14542 cmp di, 00fffh ; 81 ff ff 0f 14580 jne short 096 6fh ; 75 1f14543 jne short 09628h ; 75 1f 14581 14544 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14582 jne short 096 6fh ; 75 1914545 jne short 09628h ; 75 19 14583 14546 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14584 14547 mov word [bp-012h], ax ; 89 46 ee … … 14620 14583 mov al, byte [bp-00ch] ; 8a 46 f4 14621 14584 cmp AL, strict byte 001h ; 3c 01 14622 jc short 096 ech ; 72 0c14623 jbe short 096 f4h ; 76 1214585 jc short 096a5h ; 72 0c 14586 jbe short 096adh ; 76 12 14624 14587 cmp AL, strict byte 003h ; 3c 03 14625 je short 096 fch ; 74 1614588 je short 096b5h ; 74 16 14626 14589 cmp AL, strict byte 002h ; 3c 02 14627 je short 096 f8h ; 74 0e14628 jmp short 09 73fh ; eb 5314590 je short 096b1h ; 74 0e 14591 jmp short 096f8h ; eb 53 14629 14592 test al, al ; 84 c0 14630 jne short 09 73fh ; 75 4f14593 jne short 096f8h ; 75 4f 14631 14594 mov DL, strict byte 040h ; b2 40 14632 jmp short 096 feh ; eb 0a14595 jmp short 096b7h ; eb 0a 14633 14596 mov DL, strict byte 048h ; b2 48 14634 jmp short 096 feh ; eb 0614597 jmp short 096b7h ; eb 06 14635 14598 mov DL, strict byte 050h ; b2 50 14636 jmp short 096 feh ; eb 0214599 jmp short 096b7h ; eb 02 14637 14600 mov DL, strict byte 058h ; b2 58 14638 14601 mov bl, dl ; 88 d3 … … 14640 14603 xor bh, bh ; 30 ff 14641 14604 mov ax, bx ; 89 d8 14642 call 016aeh ; e8 a47f14605 call 016aeh ; e8 eb 7f 14643 14606 test al, al ; 84 c0 14644 je short 09 73fh ; 74 3114607 je short 096f8h ; 74 31 14645 14608 mov al, dl ; 88 d0 14646 14609 db 0feh, 0c0h 14647 14610 ; inc al ; fe c0 14648 14611 xor ah, ah ; 30 e4 14649 call 016aeh ; e8 977f14612 call 016aeh ; e8 de 7f 14650 14613 mov ch, al ; 88 c5 14651 14614 mov al, dl ; 88 d0 14652 14615 xor ah, ah ; 30 e4 14653 call 016aeh ; e8 8e7f14616 call 016aeh ; e8 d5 7f 14654 14617 mov ah, ch ; 88 ec 14655 14618 mov word [bp-028h], ax ; 89 46 d8 … … 14657 14620 add AL, strict byte 002h ; 04 02 14658 14621 xor ah, ah ; 30 e4 14659 call 016aeh ; e8 807f14622 call 016aeh ; e8 c7 7f 14660 14623 xor ah, ah ; 30 e4 14661 14624 mov word [bp-02ah], ax ; 89 46 d6 14662 14625 mov ax, bx ; 89 d8 14663 call 016aeh ; e8 767f14626 call 016aeh ; e8 bd 7f 14664 14627 xor ah, ah ; 30 e4 14665 14628 mov word [bp-026h], ax ; 89 46 da 14666 jmp short 097 51h ; eb 1214629 jmp short 0970ah ; eb 12 14667 14630 push word [bp-012h] ; ff 76 ee 14668 14631 push word [bp-01eh] ; ff 76 e2 … … 14671 14634 mov dx, ss ; 8c d2 14672 14635 lea ax, [bp-02ah] ; 8d 46 d6 14673 call 05b7fh ; e8 2ec414674 mov bx, 00 e02h ; bb 02 0e14636 call 05b7fh ; e8 75 c4 14637 mov bx, 00da6h ; bb a6 0d 14675 14638 mov cx, ds ; 8c d9 14676 14639 mov ax, strict word 00004h ; b8 04 00 14677 call 01933h ; e8 d7 8114640 call 01933h ; e8 1e 82 14678 14641 push word [bp-012h] ; ff 76 ee 14679 14642 push word [bp-01eh] ; ff 76 e2 … … 14694 14657 mov al, byte [bp-00ch] ; 8a 46 f4 14695 14658 push ax ; 50 14696 mov ax, 00 d38h ; b8 38 0d14659 mov ax, 00cd6h ; b8 d6 0c 14697 14660 push ax ; 50 14698 14661 mov ax, strict word 00004h ; b8 04 00 14699 14662 push ax ; 50 14700 call 01976h ; e8 e6 8114663 call 01976h ; e8 2d 82 14701 14664 add sp, strict byte 0001ch ; 83 c4 1c 14702 14665 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14730 14693 mov dx, strict word 00075h ; ba 75 00 14731 14694 mov ax, strict word 00040h ; b8 40 00 14732 call 01652h ; e8 747e14695 call 01652h ; e8 bb 7e 14733 14696 mov bl, al ; 88 c3 14734 14697 db 0feh, 0c3h … … 14737 14700 mov dx, strict word 00075h ; ba 75 00 14738 14701 mov ax, strict word 00040h ; b8 40 00 14739 call 01660h ; e8 737e14740 jmp near 098 a4h ; e9 b4 0014702 call 01660h ; e8 ba 7e 14703 jmp near 0985dh ; e9 b4 00 14741 14704 cmp dx, 0eb14h ; 81 fa 14 eb 14742 jne short 098 4bh ; 75 5514705 jne short 09804h ; 75 55 14743 14706 cmp bx, 00101h ; 81 fb 01 01 14744 jne short 098 4bh ; 75 4f14707 jne short 09804h ; 75 4f 14745 14708 mov es, [bp-00eh] ; 8e 46 f2 14746 14709 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14757 14720 mov ax, word [bp-01ah] ; 8b 46 e6 14758 14721 mov dx, es ; 8c c2 14759 call 08a cch ; e8 90 f214722 call 08a85h ; e8 90 f2 14760 14723 mov byte [bp-00ah], cl ; 88 4e f6 14761 14724 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14762 je short 098 4dh ; 74 0714725 je short 09806h ; 74 07 14763 14726 mov cx, strict word 00001h ; b9 01 00 14764 jmp short 098 4fh ; eb 0414765 jmp short 098 a4h ; eb 5714727 jmp short 09808h ; eb 04 14728 jmp short 0985dh ; eb 57 14766 14729 xor cx, cx ; 31 c9 14767 14730 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14803 14766 pop bp ; 5d 14804 14767 retn ; c3 14805 ahci_mem_alloc_: ; 0xf98 bdLB 0x4314768 ahci_mem_alloc_: ; 0xf9876 LB 0x43 14806 14769 push bp ; 55 14807 14770 mov bp, sp ; 89 e5 … … 14813 14776 mov dx, 00413h ; ba 13 04 14814 14777 xor ax, ax ; 31 c0 14815 call 0166eh ; e8 a17d14778 call 0166eh ; e8 e8 7d 14816 14779 test ax, ax ; 85 c0 14817 je short 098 f6h ; 74 2514780 je short 098afh ; 74 25 14818 14781 dec ax ; 48 14819 14782 mov bx, ax ; 89 c3 … … 14822 14785 sal ax, 1 ; d1 e0 14823 14786 rcl dx, 1 ; d1 d2 14824 loop 098 d9h ; e2 fa14787 loop 09892h ; e2 fa 14825 14788 mov si, ax ; 89 c6 14826 14789 mov di, dx ; 89 d7 … … 14828 14791 shr di, 1 ; d1 ef 14829 14792 rcr si, 1 ; d1 de 14830 loop 098 e6h ; e2 fa14793 loop 0989fh ; e2 fa 14831 14794 mov dx, 00413h ; ba 13 04 14832 14795 xor ax, ax ; 31 c0 14833 call 0167ch ; e8 887d14796 call 0167ch ; e8 cf 7d 14834 14797 mov ax, si ; 89 f0 14835 14798 lea sp, [bp-00ah] ; 8d 66 f6 … … 14841 14804 pop bp ; 5d 14842 14805 retn ; c3 14843 ahci_hba_init_: ; 0xf9 900LB 0x16e14806 ahci_hba_init_: ; 0xf98b9 LB 0x16e 14844 14807 push bp ; 55 14845 14808 mov bp, sp ; 89 e5 … … 14853 14816 mov dx, strict word 0000eh ; ba 0e 00 14854 14817 mov ax, strict word 00040h ; b8 40 00 14855 call 0166eh ; e8 587d14818 call 0166eh ; e8 9f 7d 14856 14819 mov bx, 00122h ; bb 22 01 14857 14820 mov di, ax ; 89 c7 … … 14870 14833 shr eax, 010h ; 66 c1 e8 10 14871 14834 xchg dx, ax ; 92 14872 call 098 bdh ; e8 83 ff14835 call 09876h ; e8 83 ff 14873 14836 mov word [bp-010h], ax ; 89 46 f0 14874 14837 test ax, ax ; 85 c0 14875 jne short 09 944h ; 75 0314876 jmp near 09a 4dh ; e9 09 0114838 jne short 098fdh ; 75 03 14839 jmp near 09a06h ; e9 09 01 14877 14840 mov ax, word [bp-010h] ; 8b 46 f0 14878 14841 mov es, di ; 8e c7 … … 14924 14887 xchg dx, ax ; 92 14925 14888 test AL, strict byte 001h ; a8 01 14926 jne short 099 9eh ; 75 de14889 jne short 09957h ; 75 de 14927 14890 xor ax, ax ; 31 c0 14928 14891 xor cx, cx ; 31 c9 … … 14943 14906 mov bx, strict word 0001fh ; bb 1f 00 14944 14907 xor cx, cx ; 31 c9 14945 call 08 939h ; e8 54 ef14908 call 088f2h ; e8 54 ef 14946 14909 db 0feh, 0c0h 14947 14910 ; inc al ; fe c0 14948 14911 mov byte [bp-00eh], al ; 88 46 f2 14949 14912 mov byte [bp-00ch], 000h ; c6 46 f4 00 14950 jmp short 09 a11h ; eb 2114913 jmp short 099cah ; eb 21 14951 14914 xor al, al ; 30 c0 14952 14915 test al, al ; 84 c0 14953 je short 09 a08h ; 74 1214916 je short 099c1h ; 74 12 14954 14917 mov bl, byte [bp-00ch] ; 8a 5e f4 14955 14918 xor bh, bh ; 30 ff 14956 14919 xor ax, ax ; 31 c0 14957 14920 mov dx, word [bp-010h] ; 8b 56 f0 14958 call 093 bfh ; e8 bc f914921 call 09378h ; e8 bc f9 14959 14922 dec byte [bp-00eh] ; fe 4e f2 14960 je short 09a 4bh ; 74 4314923 je short 09a04h ; 74 43 14961 14924 inc byte [bp-00ch] ; fe 46 f4 14962 14925 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14963 jnc short 09a 4bh ; 73 3a14926 jnc short 09a04h ; 73 3a 14964 14927 mov cl, byte [bp-00ch] ; 8a 4e f4 14965 14928 xor ch, ch ; 30 ed 14966 14929 mov bx, strict word 00001h ; bb 01 00 14967 14930 xor di, di ; 31 ff 14968 jcxz 09 a23h ; e3 0614931 jcxz 099dch ; e3 06 14969 14932 sal bx, 1 ; d1 e3 14970 14933 rcl di, 1 ; d1 d7 14971 loop 09 a1dh ; e2 fa14934 loop 099d6h ; e2 fa 14972 14935 mov ax, strict word 0000ch ; b8 0c 00 14973 14936 xor cx, cx ; 31 c9 … … 14985 14948 xchg dx, ax ; 92 14986 14949 test dx, di ; 85 fa 14987 jne short 09a 47h ; 75 0414950 jne short 09a00h ; 75 04 14988 14951 test ax, bx ; 85 d8 14989 je short 099 f0h ; 74 a914952 je short 099a9h ; 74 a9 14990 14953 mov AL, strict byte 001h ; b0 01 14991 jmp short 099 f2h ; eb a714954 jmp short 099abh ; eb a7 14992 14955 xor ax, ax ; 31 c0 14993 14956 lea sp, [bp-00ah] ; 8d 66 f6 … … 14999 14962 pop bp ; 5d 15000 14963 retn ; c3 15001 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 54h, 09bh, 032h, 09bh, 038h, 09bh, 03eh, 09bh, 044h15002 db 09 bh, 04ah, 09bh, 050h, 09bh, 054h, 09bh15003 _ahci_init: ; 0xf9a 6eLB 0x13914964 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 00dh, 09bh, 0ebh, 09ah, 0f1h, 09ah, 0f7h, 09ah, 0fdh 14965 db 09ah, 003h, 09bh, 009h, 09bh, 00dh, 09bh 14966 _ahci_init: ; 0xf9a27 LB 0x139 15004 14967 push bp ; 55 15005 14968 mov bp, sp ; 89 e5 … … 15009 14972 mov ax, 00601h ; b8 01 06 15010 14973 mov dx, strict word 00001h ; ba 01 00 15011 call 09f c6h ; e8 47 0514974 call 09f7fh ; e8 47 05 15012 14975 mov dx, ax ; 89 c2 15013 14976 cmp ax, strict word 0ffffh ; 3d ff ff 15014 je short 09a cfh ; 74 4914977 je short 09a88h ; 74 49 15015 14978 mov al, ah ; 88 e0 15016 14979 mov byte [bp-008h], ah ; 88 66 f8 … … 15019 14982 xor ah, ah ; 30 e4 15020 14983 mov bx, strict word 00034h ; bb 34 00 15021 call 09f f1h ; e8 59 0514984 call 09faah ; e8 59 05 15022 14985 mov cl, al ; 88 c1 15023 14986 test cl, cl ; 84 c9 15024 je short 09a d2h ; 74 3414987 je short 09a8bh ; 74 34 15025 14988 mov bl, cl ; 88 cb 15026 14989 xor bh, bh ; 30 ff … … 15033 14996 mov dx, word [bp-00ch] ; 8b 56 f4 15034 14997 mov ax, word [bp-012h] ; 8b 46 ee 15035 call 09f f1h ; e8 34 0514998 call 09faah ; e8 34 05 15036 14999 cmp AL, strict byte 012h ; 3c 12 15037 je short 09a d2h ; 74 1115000 je short 09a8bh ; 74 11 15038 15001 mov bl, cl ; 88 cb 15039 15002 db 0feh, 0c3h … … 15042 15005 mov dx, word [bp-00ch] ; 8b 56 f4 15043 15006 mov ax, word [bp-012h] ; 8b 46 ee 15044 jmp short 09a 95h ; eb c615045 jmp near 09b a0h ; e9 ce 0015007 jmp short 09a4eh ; eb c6 15008 jmp near 09b59h ; e9 ce 00 15046 15009 test cl, cl ; 84 c9 15047 je short 09a cfh ; 74 f915010 je short 09a88h ; 74 f9 15048 15011 add cl, 002h ; 80 c1 02 15049 15012 mov bl, cl ; 88 cb … … 15057 15020 mov dx, word [bp-00eh] ; 8b 56 f2 15058 15021 mov ax, word [bp-014h] ; 8b 46 ec 15059 call 09f f1h ; e8 f9 0415022 call 09faah ; e8 f9 04 15060 15023 cmp AL, strict byte 010h ; 3c 10 15061 jne short 09a cfh ; 75 d315024 jne short 09a88h ; 75 d3 15062 15025 mov byte [bp-006h], 000h ; c6 46 fa 00 15063 15026 mov bl, cl ; 88 cb … … 15066 15029 mov dx, word [bp-00eh] ; 8b 56 f2 15067 15030 mov ax, word [bp-014h] ; 8b 46 ec 15068 call 0 a018h ; e8 08 0515031 call 09fd1h ; e8 08 05 15069 15032 mov dx, ax ; 89 c2 15070 15033 and ax, strict word 0000fh ; 25 0f 00 15071 15034 sub ax, strict word 00004h ; 2d 04 00 15072 15035 cmp ax, strict word 0000bh ; 3d 0b 00 15073 jnbe short 09b 54h ; 77 3715036 jnbe short 09b0dh ; 77 37 15074 15037 push CS ; 0e 15075 15038 pop ES ; 07 15076 15039 mov cx, strict word 00008h ; b9 08 00 15077 mov di, 09a 57h ; bf 579a15040 mov di, 09a10h ; bf 10 9a 15078 15041 repne scasb ; f2 ae 15079 15042 sal cx, 1 ; d1 e1 15080 15043 mov di, cx ; 89 cf 15081 mov ax, word [cs:di-065 a2h] ; 2e 8b 85 5e9a15044 mov ax, word [cs:di-065e9h] ; 2e 8b 85 17 9a 15082 15045 jmp ax ; ff e0 15083 15046 mov byte [bp-006h], 010h ; c6 46 fa 10 15084 jmp short 09b 54h ; eb 1c15047 jmp short 09b0dh ; eb 1c 15085 15048 mov byte [bp-006h], 014h ; c6 46 fa 14 15086 jmp short 09b 54h ; eb 1615049 jmp short 09b0dh ; eb 16 15087 15050 mov byte [bp-006h], 018h ; c6 46 fa 18 15088 jmp short 09b 54h ; eb 1015051 jmp short 09b0dh ; eb 10 15089 15052 mov byte [bp-006h], 01ch ; c6 46 fa 1c 15090 jmp short 09b 54h ; eb 0a15053 jmp short 09b0dh ; eb 0a 15091 15054 mov byte [bp-006h], 020h ; c6 46 fa 20 15092 jmp short 09b 54h ; eb 0415055 jmp short 09b0dh ; eb 04 15093 15056 mov byte [bp-006h], 024h ; c6 46 fa 24 15094 15057 mov CL, strict byte 004h ; b1 04 … … 15099 15062 mov al, byte [bp-006h] ; 8a 46 fa 15100 15063 test al, al ; 84 c0 15101 je short 09b a0h ; 74 3b15064 je short 09b59h ; 74 3b 15102 15065 mov bl, al ; 88 c3 15103 15066 xor bh, bh ; 30 ff … … 15110 15073 mov dx, word [bp-010h] ; 8b 56 f0 15111 15074 mov ax, word [bp-016h] ; 8b 46 ea 15112 call 0 a03dh ; e8 b9 0415075 call 09ff6h ; e8 b9 04 15113 15076 test AL, strict byte 001h ; a8 01 15114 je short 09b a0h ; 74 1815077 je short 09b59h ; 74 18 15115 15078 and AL, strict byte 0f0h ; 24 f0 15116 15079 add si, ax ; 01 c6 … … 15119 15082 mov dx, word [bp-010h] ; 8b 56 f0 15120 15083 mov ax, word [bp-016h] ; 8b 46 ea 15121 call 0a0 7ch ; e8 e1 0415084 call 0a035h ; e8 e1 04 15122 15085 mov ax, si ; 89 f0 15123 call 09 900h ; e8 60 fd15086 call 098b9h ; e8 60 fd 15124 15087 lea sp, [bp-004h] ; 8d 66 fc 15125 15088 pop di ; 5f … … 15127 15090 pop bp ; 5d 15128 15091 retn ; c3 15129 apm_out_str_: ; 0xf9b a7LB 0x3915092 apm_out_str_: ; 0xf9b60 LB 0x39 15130 15093 push bp ; 55 15131 15094 mov bp, sp ; 89 e5 … … 15133 15096 mov bx, ax ; 89 c3 15134 15097 cmp byte [bx], 000h ; 80 3f 00 15135 je short 09b bch ; 74 0a15098 je short 09b75h ; 74 0a 15136 15099 mov al, byte [bx] ; 8a 07 15137 15100 out DX, AL ; ee … … 15140 15103 db 00ah, 0c0h 15141 15104 ; or al, al ; 0a c0 15142 jne short 09b b4h ; 75 f815105 jne short 09b6dh ; 75 f8 15143 15106 lea sp, [bp-002h] ; 8d 66 fe 15144 15107 pop bx ; 5b 15145 15108 pop bp ; 5d 15146 15109 retn ; c3 15147 add word [si-06374h], bx ; 01 9c 8c 9c 15148 adc bx, word [si-063d2h] ; 13 9c 2e 9c 15149 mov [si-063a7h], ds ; 8c 9c 59 9c 15150 mov [si-0636eh], ds ; 8c 9c 92 9c 15151 pop si ; 5e 15110 mov dx, 0459bh ; ba 9b 45 15152 15111 pushfw ; 9c 15153 pop si ; 5e 15112 int3 ; cc 15113 wait ; 9b 15114 out 09bh, ax ; e7 9b 15115 inc bp ; 45 15154 15116 pushfw ; 9c 15155 pop si ; 5e 15117 adc bl, byte [si-063bbh] ; 12 9c 45 9c 15118 dec bx ; 4b 15156 15119 pushfw ; 9c 15157 rcr word [si-063a2h], 1 ; d1 9c 5e 9c 15158 pop si ; 5e 15120 pop SS ; 17 15159 15121 pushfw ; 9c 15160 db 0cah15122 pop SS ; 17 15161 15123 pushfw ; 9c 15162 _apm_function: ; 0xf9be0 LB 0xf6 15124 pop SS ; 17 15125 pushfw ; 9c 15126 mov bl, byte [si-063e9h] ; 8a 9c 17 9c 15127 pop SS ; 17 15128 pushfw ; 9c 15129 db 083h 15130 pushfw ; 9c 15131 _apm_function: ; 0xf9b99 LB 0xf6 15163 15132 push bp ; 55 15164 15133 mov bp, sp ; 89 e5 … … 15168 15137 xor ah, ah ; 30 e4 15169 15138 cmp ax, strict word 0000eh ; 3d 0e 00 15170 jnbe short 09c 5eh ; 77 6c15139 jnbe short 09c17h ; 77 6c 15171 15140 mov bx, ax ; 89 c3 15172 15141 sal bx, 1 ; d1 e3 15173 15142 mov dx, word [bp+018h] ; 8b 56 18 15174 15143 or dl, 001h ; 80 ca 01 15175 jmp word [cs:bx-064 3eh] ; 2e ff a7 c29b15144 jmp word [cs:bx-06485h] ; 2e ff a7 7b 9b 15176 15145 mov word [bp+012h], 00102h ; c7 46 12 02 01 15177 15146 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15178 15147 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15179 jmp near 09c 8ch ; e9 79 0015148 jmp near 09c45h ; e9 79 00 15180 15149 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15181 mov word [bp+00ch], 0a2 74h ; c7 46 0c 74 a215150 mov word [bp+00ch], 0a234h ; c7 46 0c 34 a2 15182 15151 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15183 15152 mov ax, strict word 0fff0h ; b8 f0 ff 15184 15153 mov word [bp+006h], ax ; 89 46 06 15185 15154 mov word [bp+004h], ax ; 89 46 04 15186 jmp near 09c 8ch ; e9 5e 0015155 jmp near 09c45h ; e9 5e 00 15187 15156 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15188 15157 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15197 15166 mov si, ax ; 89 c6 15198 15167 sal esi, 010h ; 66 c1 e6 10 15199 jmp near 09c 8ch ; e9 33 0015168 jmp near 09c45h ; e9 33 00 15200 15169 sti ; fb 15201 15170 hlt ; f4 15202 jmp near 09c 8ch ; e9 2e 0015203 mov bx, 00 e02h ; bb 02 0e15171 jmp near 09c45h ; e9 2e 00 15172 mov bx, 00da6h ; bb a6 0d 15204 15173 mov cx, ds ; 8c d9 15205 15174 mov ax, strict word 00004h ; b8 04 00 15206 call 01933h ; e8 ca 7c15175 call 01933h ; e8 11 7d 15207 15176 push word [bp+00ch] ; ff 76 0c 15208 15177 push word [bp+012h] ; ff 76 12 15209 mov ax, 00d 8bh ; b8 8b0d15178 mov ax, 00d29h ; b8 29 0d 15210 15179 push ax ; 50 15211 15180 mov ax, strict word 00004h ; b8 04 00 15212 15181 push ax ; 50 15213 call 01976h ; e8 fc 7c15182 call 01976h ; e8 43 7d 15214 15183 add sp, strict byte 00008h ; 83 c4 08 15215 15184 mov ax, word [bp+012h] ; 8b 46 12 … … 15223 15192 retn ; c3 15224 15193 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15225 je short 09c b7h ; 74 1f15194 je short 09c70h ; 74 1f 15226 15195 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15227 je short 09c afh ; 74 1115196 je short 09c68h ; 74 11 15228 15197 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15229 jne short 09c bfh ; 75 1b15198 jne short 09c78h ; 75 1b 15230 15199 mov dx, 0040fh ; ba 0f 04 15231 mov ax, 00d 72h ; b8 720d15232 call 09b a7h ; e8 fa fe15233 jmp short 09c 8ch ; eb dd15200 mov ax, 00d10h ; b8 10 0d 15201 call 09b60h ; e8 fa fe 15202 jmp short 09c45h ; eb dd 15234 15203 mov dx, 0040fh ; ba 0f 04 15235 mov ax, 00d 7ah ; b8 7a0d15236 jmp short 09c aah ; eb f315204 mov ax, 00d18h ; b8 18 0d 15205 jmp short 09c63h ; eb f3 15237 15206 mov dx, 0040fh ; ba 0f 04 15238 mov ax, 00d 82h ; b8 820d15239 jmp short 09c aah ; eb eb15207 mov ax, 00d20h ; b8 20 0d 15208 jmp short 09c63h ; eb eb 15240 15209 or ah, 00ah ; 80 cc 0a 15241 15210 mov word [bp+012h], ax ; 89 46 12 15242 15211 mov word [bp+018h], dx ; 89 56 18 15243 jmp short 09c 8ch ; eb c215212 jmp short 09c45h ; eb c2 15244 15213 mov word [bp+012h], 00102h ; c7 46 12 02 01 15245 jmp short 09c 8ch ; eb bb15214 jmp short 09c45h ; eb bb 15246 15215 or ah, 080h ; 80 cc 80 15247 jmp short 09c c2h ; eb ec15248 pci16_select_reg_: ; 0xf9c d6LB 0x2415216 jmp short 09c7bh ; eb ec 15217 pci16_select_reg_: ; 0xf9c8f LB 0x24 15249 15218 push bp ; 55 15250 15219 mov bp, sp ; 89 e5 … … 15263 15232 pop bp ; 5d 15264 15233 retn ; c3 15265 pci16_find_device_: ; 0xf9c faLB 0xf715234 pci16_find_device_: ; 0xf9cb3 LB 0xf7 15266 15235 push bp ; 55 15267 15236 mov bp, sp ; 89 e5 … … 15277 15246 mov byte [bp-006h], 000h ; c6 46 fa 00 15278 15247 test bl, 007h ; f6 c3 07 15279 jne short 09 d42h ; 75 2d15248 jne short 09cfbh ; 75 2d 15280 15249 mov dx, strict word 0000eh ; ba 0e 00 15281 15250 mov ax, bx ; 89 d8 15282 call 09c d6h ; e8 b9 ff15251 call 09c8fh ; e8 b9 ff 15283 15252 mov dx, 00cfeh ; ba fe 0c 15284 15253 in AL, DX ; ec … … 15287 15256 mov byte [bp-008h], al ; 88 46 f8 15288 15257 cmp AL, strict byte 0ffh ; 3c ff 15289 jne short 09 d30h ; 75 0615258 jne short 09ce9h ; 75 06 15290 15259 add bx, strict byte 00008h ; 83 c3 08 15291 jmp near 09d c2h ; e9 92 0015260 jmp near 09d7bh ; e9 92 00 15292 15261 test byte [bp-008h], 080h ; f6 46 f8 80 15293 je short 09 d3dh ; 74 0715262 je short 09cf6h ; 74 07 15294 15263 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15295 jmp short 09 d42h ; eb 0515264 jmp short 09cfbh ; eb 05 15296 15265 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15297 15266 mov al, byte [bp-008h] ; 8a 46 f8 15298 15267 and AL, strict byte 007h ; 24 07 15299 15268 cmp AL, strict byte 001h ; 3c 01 15300 jne short 09d 69h ; 75 1e15269 jne short 09d22h ; 75 1e 15301 15270 mov al, bh ; 88 f8 15302 15271 xor ah, ah ; 30 e4 15303 15272 test ax, ax ; 85 c0 15304 jne short 09d 69h ; 75 1615273 jne short 09d22h ; 75 16 15305 15274 mov dx, strict word 0001ah ; ba 1a 00 15306 15275 mov ax, bx ; 89 d8 15307 call 09c d6h ; e8 7b ff15276 call 09c8fh ; e8 7b ff 15308 15277 mov dx, 00cfeh ; ba fe 0c 15309 15278 in AL, DX ; ec … … 15311 15280 ; sub ah, ah ; 2a e4 15312 15281 cmp al, byte [bp-006h] ; 3a 46 fa 15313 jbe short 09d 69h ; 76 0315282 jbe short 09d22h ; 76 03 15314 15283 mov byte [bp-006h], al ; 88 46 fa 15315 15284 test di, di ; 85 ff 15316 je short 09d 72h ; 74 0515285 je short 09d2bh ; 74 05 15317 15286 mov dx, strict word 00008h ; ba 08 00 15318 jmp short 09d 74h ; eb 0215287 jmp short 09d2dh ; eb 02 15319 15288 xor dx, dx ; 31 d2 15320 15289 mov ax, bx ; 89 d8 15321 call 09c d6h ; e8 5d ff15290 call 09c8fh ; e8 5d ff 15322 15291 mov dx, 00cfch ; ba fc 0c 15323 15292 in eax, DX ; 66 ed … … 15330 15299 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15331 15300 test di, di ; 85 ff 15332 je short 09d a3h ; 74 0f15301 je short 09d5ch ; 74 0f 15333 15302 mov cx, strict word 00008h ; b9 08 00 15334 15303 shr dx, 1 ; d1 ea 15335 15304 rcr ax, 1 ; d1 d8 15336 loop 09d 97h ; e2 fa15305 loop 09d50h ; e2 fa 15337 15306 mov word [bp-00ah], ax ; 89 46 f6 15338 15307 mov word [bp-010h], dx ; 89 56 f0 15339 15308 mov ax, word [bp-010h] ; 8b 46 f0 15340 15309 cmp ax, word [bp-014h] ; 3b 46 ec 15341 jne short 09d b3h ; 75 0815310 jne short 09d6ch ; 75 08 15342 15311 mov ax, word [bp-00ah] ; 8b 46 f6 15343 15312 cmp ax, word [bp-012h] ; 3b 46 ee 15344 je short 09d b9h ; 74 0615313 je short 09d72h ; 74 06 15345 15314 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15346 je short 09d bfh ; 74 0615315 je short 09d78h ; 74 06 15347 15316 dec si ; 4e 15348 15317 cmp si, strict byte 0ffffh ; 83 fe ff 15349 je short 09d d2h ; 74 1315318 je short 09d8bh ; 74 13 15350 15319 add bx, word [bp-00eh] ; 03 5e f2 15351 15320 mov al, bh ; 88 f8 … … 15354 15323 xor dh, dh ; 30 f6 15355 15324 cmp ax, dx ; 39 d0 15356 jnbe short 09d d2h ; 77 0315357 jmp near 09 d10h ; e9 3e ff15325 jnbe short 09d8bh ; 77 03 15326 jmp near 09cc9h ; e9 3e ff 15358 15327 cmp si, strict byte 0ffffh ; 83 fe ff 15359 jne short 09d dbh ; 75 0415328 jne short 09d94h ; 75 04 15360 15329 mov ax, bx ; 89 d8 15361 jmp short 09d deh ; eb 0315330 jmp short 09d97h ; eb 03 15362 15331 mov ax, strict word 0ffffh ; b8 ff ff 15363 15332 lea sp, [bp-004h] ; 8d 66 fc … … 15366 15335 pop bp ; 5d 15367 15336 retn ; c3 15368 rcr byte [bp-06115h], CL ; d2 9e eb 9e 15369 std ; fd 15337 mov bx, word [bp-0615ch] ; 8b 9e a4 9e 15338 mov DH, strict byte 09eh ; b6 9e 15339 retf 0dc9eh ; ca 9e dc 15370 15340 sahf ; 9e 15371 adc word [bx-060ddh], bx ; 11 9f 23 9f 15372 db 036h, 09fh 15373 ; ss lahf ; 36 9f 15374 _pci16_function: ; 0xf9df1 LB 0x1d5 15341 out DX, ax ; ef 15342 sahf ; 9e 15343 _pci16_function: ; 0xf9daa LB 0x1d5 15375 15344 push bp ; 55 15376 15345 mov bp, sp ; 89 e5 … … 15386 15355 xor ah, ah ; 30 e4 15387 15356 cmp bx, strict byte 00003h ; 83 fb 03 15388 jc short 09 e23h ; 72 1315389 jbe short 09e 76h ; 76 6415357 jc short 09ddch ; 72 13 15358 jbe short 09e2fh ; 76 64 15390 15359 cmp bx, strict byte 0000eh ; 83 fb 0e 15391 je short 09e 7eh ; 74 6715360 je short 09e37h ; 74 67 15392 15361 cmp bx, strict byte 00008h ; 83 fb 08 15393 jc short 09 e2dh ; 72 1115362 jc short 09de6h ; 72 11 15394 15363 cmp bx, strict byte 0000dh ; 83 fb 0d 15395 jbe short 09e 81h ; 76 6015396 jmp short 09 e2dh ; eb 0a15364 jbe short 09e3ah ; 76 60 15365 jmp short 09de6h ; eb 0a 15397 15366 cmp bx, strict byte 00002h ; 83 fb 02 15398 je short 09e 4ch ; 74 2415367 je short 09e05h ; 74 24 15399 15368 cmp bx, strict byte 00001h ; 83 fb 01 15400 je short 09 e30h ; 74 0315401 jmp near 09f 8fh ; e9 5f 0115369 je short 09de9h ; 74 03 15370 jmp near 09f48h ; e9 5f 01 15402 15371 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15403 15372 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15405 15374 mov word [bp+018h], 04350h ; c7 46 18 50 43 15406 15375 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15407 jmp near 09f bfh ; e9 73 0115376 jmp near 09f78h ; e9 73 01 15408 15377 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15409 jne short 09e 58h ; 75 0615378 jne short 09e11h ; 75 06 15410 15379 or ah, 083h ; 80 cc 83 15411 jmp near 09f b8h ; e9 60 0115380 jmp near 09f71h ; e9 60 01 15412 15381 mov bx, word [bp+008h] ; 8b 5e 08 15413 15382 mov dx, word [bp+01ch] ; 8b 56 1c 15414 15383 mov ax, word [bp+018h] ; 8b 46 18 15415 15384 xor cx, cx ; 31 c9 15416 call 09c fah ; e8 94 fe15385 call 09cb3h ; e8 94 fe 15417 15386 cmp ax, strict word 0ffffh ; 3d ff ff 15418 jne short 09e 78h ; 75 0d15387 jne short 09e31h ; 75 0d 15419 15388 mov ax, word [bp+020h] ; 8b 46 20 15420 15389 xor ah, ah ; 30 e4 15421 15390 or ah, 086h ; 80 cc 86 15422 jmp near 09f b8h ; e9 42 0115423 jmp short 09e 83h ; eb 0b15391 jmp near 09f71h ; e9 42 01 15392 jmp short 09e3ch ; eb 0b 15424 15393 mov word [bp+014h], ax ; 89 46 14 15425 jmp near 09f bfh ; e9 41 0115426 jmp near 09f 4ah ; e9 c9 0015427 jmp short 09e a8h ; eb 2515394 jmp near 09f78h ; e9 41 01 15395 jmp near 09f03h ; e9 c9 00 15396 jmp short 09e61h ; eb 25 15428 15397 mov bx, word [bp+008h] ; 8b 5e 08 15429 15398 mov ax, word [bp+01ch] ; 8b 46 1c 15430 15399 mov dx, word [bp+01eh] ; 8b 56 1e 15431 15400 mov cx, strict word 00001h ; b9 01 00 15432 call 09c fah ; e8 68 fe15401 call 09cb3h ; e8 68 fe 15433 15402 cmp ax, strict word 0ffffh ; 3d ff ff 15434 jne short 09e a2h ; 75 0b15403 jne short 09e5bh ; 75 0b 15435 15404 mov ax, word [bp+020h] ; 8b 46 20 15436 15405 xor ah, ah ; 30 e4 15437 15406 or ah, 086h ; 80 cc 86 15438 jmp near 09f b8h ; e9 16 0115407 jmp near 09f71h ; e9 16 01 15439 15408 mov word [bp+014h], ax ; 89 46 14 15440 jmp near 09f bfh ; e9 17 0115409 jmp near 09f78h ; e9 17 01 15441 15410 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15442 jc short 09e b5h ; 72 0615411 jc short 09e6eh ; 72 06 15443 15412 or ah, 087h ; 80 cc 87 15444 jmp near 09f b8h ; e9 03 0115413 jmp near 09f71h ; e9 03 01 15445 15414 mov dx, word [bp+004h] ; 8b 56 04 15446 15415 mov ax, word [bp+014h] ; 8b 46 14 15447 call 09c d6h ; e8 18 fe15416 call 09c8fh ; e8 18 fe 15448 15417 mov bx, word [bp+020h] ; 8b 5e 20 15449 15418 xor bh, bh ; 30 ff 15450 15419 sub bx, strict byte 00008h ; 83 eb 08 15451 15420 cmp bx, strict byte 00005h ; 83 fb 05 15452 jnbe short 09 f33h ; 77 6815421 jnbe short 09eech ; 77 68 15453 15422 sal bx, 1 ; d1 e3 15454 jmp word [cs:bx-062 1bh] ; 2e ff a7 e59d15423 jmp word [cs:bx-06262h] ; 2e ff a7 9e 9d 15455 15424 mov bx, word [bp+01ch] ; 8b 5e 1c 15456 15425 xor bl, bl ; 30 db … … 15463 15432 or bx, ax ; 09 c3 15464 15433 mov word [bp+01ch], bx ; 89 5e 1c 15465 jmp short 09 f33h ; eb 4815434 jmp short 09eech ; eb 48 15466 15435 mov dx, word [bp+004h] ; 8b 56 04 15467 15436 xor dh, dh ; 30 f6 … … 15470 15439 in ax, DX ; ed 15471 15440 mov word [bp+01ch], ax ; 89 46 1c 15472 jmp short 09 f33h ; eb 3615441 jmp short 09eech ; eb 36 15473 15442 mov dx, 00cfch ; ba fc 0c 15474 15443 in eax, DX ; 66 ed … … 15479 15448 mov word [bp+01ch], ax ; 89 46 1c 15480 15449 mov word [bp+01eh], dx ; 89 56 1e 15481 jmp short 09 f33h ; eb 2215450 jmp short 09eech ; eb 22 15482 15451 mov ax, word [bp+01ch] ; 8b 46 1c 15483 15452 mov dx, word [bp+004h] ; 8b 56 04 … … 15486 15455 add dx, 00cfch ; 81 c2 fc 0c 15487 15456 out DX, AL ; ee 15488 jmp short 09 f33h ; eb 1015457 jmp short 09eech ; eb 10 15489 15458 mov ax, word [bp+01ch] ; 8b 46 1c 15490 15459 mov dx, word [bp+004h] ; 8b 56 04 … … 15493 15462 add dx, 00cfch ; 81 c2 fc 0c 15494 15463 out DX, ax ; ef 15495 jmp near 09f bfh ; e9 89 0015464 jmp near 09f78h ; e9 89 00 15496 15465 mov ax, word [bp+01ch] ; 8b 46 1c 15497 15466 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15502 15471 ; mov ax, cx ; 8b c1 15503 15472 out DX, eax ; 66 ef 15504 jmp short 09f bfh ; eb 7515473 jmp short 09f78h ; eb 75 15505 15474 mov bx, word [bp+004h] ; 8b 5e 04 15506 15475 mov es, [bp+026h] ; 8e 46 26 … … 15509 15478 mov cx, word [0f380h] ; 8b 0e 80 f3 15510 15479 cmp cx, word [es:bx] ; 26 3b 0f 15511 jbe short 09f 70h ; 76 1115480 jbe short 09f29h ; 76 11 15512 15481 mov ax, word [bp+020h] ; 8b 46 20 15513 15482 xor ah, ah ; 30 e4 … … 15515 15484 mov word [bp+020h], ax ; 89 46 20 15516 15485 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15517 jmp short 09f 84h ; eb 1415486 jmp short 09f3dh ; eb 14 15518 15487 les di, [es:bx+002h] ; 26 c4 7f 02 15519 15488 mov si, 0f1a0h ; be a0 f1 … … 15527 15496 les bx, [bp-008h] ; c4 5e f8 15528 15497 mov word [es:bx], ax ; 26 89 07 15529 jmp short 09f bfh ; eb 3015530 mov bx, 00 e02h ; bb 02 0e15498 jmp short 09f78h ; eb 30 15499 mov bx, 00da6h ; bb a6 0d 15531 15500 mov cx, ds ; 8c d9 15532 15501 mov ax, strict word 00004h ; b8 04 00 15533 call 01933h ; e8 997915502 call 01933h ; e8 e0 79 15534 15503 mov ax, word [bp+014h] ; 8b 46 14 15535 15504 push ax ; 50 15536 15505 mov ax, word [bp+020h] ; 8b 46 20 15537 15506 push ax ; 50 15538 mov ax, 00d beh ; b8 be0d15507 mov ax, 00d5ch ; b8 5c 0d 15539 15508 push ax ; 50 15540 15509 mov ax, strict word 00004h ; b8 04 00 15541 15510 push ax ; 50 15542 call 01976h ; e8 c9 7915511 call 01976h ; e8 10 7a 15543 15512 add sp, strict byte 00008h ; 83 c4 08 15544 15513 mov ax, word [bp+020h] ; 8b 46 20 … … 15552 15521 pop bp ; 5d 15553 15522 retn ; c3 15554 pci_find_classcode_: ; 0xf9f c6LB 0x815523 pci_find_classcode_: ; 0xf9f7f LB 0x8 15555 15524 push bp ; 55 15556 15525 mov bp, sp ; 89 e5 … … 15558 15527 pop bp ; 5d 15559 15528 retn ; c3 15560 pci_find_device_: ; 0xf9f ceLB 0x2315529 pci_find_device_: ; 0xf9f87 LB 0x23 15561 15530 push bp ; 55 15562 15531 mov bp, sp ; 89 e5 … … 15570 15539 int 01ah ; cd 1a 15571 15540 cmp ah, 000h ; 80 fc 00 15572 je short 09f e7h ; 74 0315541 je short 09fa0h ; 74 03 15573 15542 mov bx, strict word 0ffffh ; bb ff ff 15574 15543 mov ax, bx ; 89 d8 … … 15579 15548 pop bp ; 5d 15580 15549 retn ; c3 15581 pci_read_config_byte_: ; 0xf9f f1LB 0x2715550 pci_read_config_byte_: ; 0xf9faa LB 0x27 15582 15551 push bp ; 55 15583 15552 mov bp, sp ; 89 e5 … … 15602 15571 pop bp ; 5d 15603 15572 retn ; c3 15604 pci_read_config_word_: ; 0xf a018LB 0x2515573 pci_read_config_word_: ; 0xf9fd1 LB 0x25 15605 15574 push bp ; 55 15606 15575 mov bp, sp ; 89 e5 … … 15624 15593 pop bp ; 5d 15625 15594 retn ; c3 15626 pci_read_config_dword_: ; 0xf a03dLB 0x3f15595 pci_read_config_dword_: ; 0xf9ff6 LB 0x3f 15627 15596 push bp ; 55 15628 15597 mov bp, sp ; 89 e5 … … 15639 15608 int 01ah ; cd 1a 15640 15609 test cx, cx ; 85 c9 15641 jne short 0a0 6dh ; 75 1415610 jne short 0a026h ; 75 14 15642 15611 mov al, byte [bp-006h] ; 8a 46 fa 15643 15612 xor ah, ah ; 30 e4 … … 15649 15618 int 01ah ; cd 1a 15650 15619 test cx, cx ; 85 c9 15651 je short 0a0 72h ; 74 0515620 je short 0a02bh ; 74 05 15652 15621 mov ax, strict word 00001h ; b8 01 00 15653 jmp short 0a0 74h ; eb 0215622 jmp short 0a02dh ; eb 02 15654 15623 xor ax, ax ; 31 c0 15655 15624 cwd ; 99 … … 15659 15628 pop bp ; 5d 15660 15629 retn ; c3 15661 pci_write_config_word_: ; 0xfa0 7cLB 0x1e15630 pci_write_config_word_: ; 0xfa035 LB 0x1e 15662 15631 push bp ; 55 15663 15632 mov bp, sp ; 89 e5 … … 15676 15645 pop bp ; 5d 15677 15646 retn ; c3 15678 vds_is_present_: ; 0xfa0 9aLB 0x1d15647 vds_is_present_: ; 0xfa053 LB 0x1d 15679 15648 push bx ; 53 15680 15649 push bp ; 55 … … 15684 15653 mov es, ax ; 8e c0 15685 15654 test byte [es:bx], 020h ; 26 f6 07 20 15686 je short 0a0 b2h ; 74 0615655 je short 0a06bh ; 74 06 15687 15656 mov ax, strict word 00001h ; b8 01 00 15688 15657 pop bp ; 5d … … 15693 15662 pop bx ; 5b 15694 15663 retn ; c3 15695 vds_real_to_lin_: ; 0xfa0 b7LB 0x1e15664 vds_real_to_lin_: ; 0xfa070 LB 0x1e 15696 15665 push bx ; 53 15697 15666 push cx ; 51 … … 15704 15673 sal ax, 1 ; d1 e0 15705 15674 rcl dx, 1 ; d1 d2 15706 loop 0a0 c5h ; e2 fa15675 loop 0a07eh ; e2 fa 15707 15676 xor cx, cx ; 31 c9 15708 15677 add ax, bx ; 01 d8 … … 15712 15681 pop bx ; 5b 15713 15682 retn ; c3 15714 vds_build_sg_list_: ; 0xfa0 d5LB 0x7715683 vds_build_sg_list_: ; 0xfa08e LB 0x77 15715 15684 push bp ; 55 15716 15685 mov bp, sp ; 89 e5 … … 15726 15695 mov bx, word [bp+006h] ; 8b 5e 06 15727 15696 mov word [es:di+002h], bx ; 26 89 5d 02 15728 call 0a0 b7h ; e8 c3 ff15697 call 0a070h ; e8 c3 ff 15729 15698 mov es, si ; 8e c6 15730 15699 mov word [es:di+004h], ax ; 26 89 45 04 15731 15700 mov word [es:di+006h], dx ; 26 89 55 06 15732 15701 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15733 call 0a0 9ah ; e8 93 ff15702 call 0a053h ; e8 93 ff 15734 15703 test ax, ax ; 85 c0 15735 je short 0a 11ch ; 74 1115704 je short 0a0d5h ; 74 11 15736 15705 mov es, si ; 8e c6 15737 15706 mov ax, 08105h ; b8 05 81 15738 15707 mov dx, strict word 00000h ; ba 00 00 15739 15708 int 04bh ; cd 4b 15740 jc short 0a 119h ; 72 0215709 jc short 0a0d2h ; 72 02 15741 15710 db 032h, 0c0h 15742 15711 ; xor al, al ; 32 c0 15743 15712 cbw ; 98 15744 jmp short 0a 143h ; eb 2715713 jmp short 0a0fch ; eb 27 15745 15714 mov es, si ; 8e c6 15746 15715 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15759 15728 pop bp ; 5d 15760 15729 retn 00004h ; c2 04 00 15761 vds_free_sg_list_: ; 0xfa1 4c LB 0x3415730 vds_free_sg_list_: ; 0xfa105 LB 0x3b 15762 15731 push bp ; 55 15763 15732 mov bp, sp ; 89 e5 … … 15765 15734 push di ; 57 15766 15735 mov bx, ax ; 89 c3 15767 call 0a0 9ah ; e8 44 ff15736 call 0a053h ; e8 44 ff 15768 15737 test ax, ax ; 85 c0 15769 je short 0a1 6bh ; 74 1115738 je short 0a124h ; 74 11 15770 15739 mov di, bx ; 89 df 15771 15740 mov es, dx ; 8e c2 … … 15773 15742 mov dx, strict word 00000h ; ba 00 00 15774 15743 int 04bh ; cd 4b 15775 jc short 0a1 6ah ; 72 0215744 jc short 0a123h ; 72 02 15776 15745 db 032h, 0c0h 15777 15746 ; xor al, al ; 32 c0 … … 15784 15753 pop bp ; 5d 15785 15754 retn ; c3 15786 times 0x 6db 015787 __U4M: ; 0xfa1 80 LB 0x2015755 times 0xd db 0 15756 __U4M: ; 0xfa140 LB 0x20 15788 15757 pushfw ; 9c 15789 15758 push si ; 56 … … 15812 15781 retn ; c3 15813 15782 times 0x4 db 0 15814 __U4D: ; 0xfa1 a0 LB 0x3015783 __U4D: ; 0xfa160 LB 0x30 15815 15784 pushfw ; 9c 15816 15785 push DS ; 1e … … 15827 15796 push dx ; 52 15828 15797 push ax ; 50 15829 call 0a2 85h ; e8 d0 0015798 call 0a245h ; e8 d0 00 15830 15799 mov cx, word [bp-002h] ; 8b 4e fe 15831 15800 mov bx, word [bp-004h] ; 8b 5e fc … … 15838 15807 retn ; c3 15839 15808 times 0xe db 0 15840 __U8RS: ; 0xfa1 d0 LB 0x1015809 __U8RS: ; 0xfa190 LB 0x10 15841 15810 test si, si ; 85 f6 15842 je short 0a1 dfh ; 74 0b15811 je short 0a19fh ; 74 0b 15843 15812 shr ax, 1 ; d1 e8 15844 15813 rcr bx, 1 ; d1 db … … 15846 15815 rcr dx, 1 ; d1 da 15847 15816 dec si ; 4e 15848 jne short 0a1 d4h ; 75 f515817 jne short 0a194h ; 75 f5 15849 15818 retn ; c3 15850 __U8LS: ; 0xfa1 e0 LB 0x1015819 __U8LS: ; 0xfa1a0 LB 0x10 15851 15820 test si, si ; 85 f6 15852 je short 0a1 efh ; 74 0b15821 je short 0a1afh ; 74 0b 15853 15822 sal dx, 1 ; d1 e2 15854 15823 rcl cx, 1 ; d1 d1 … … 15856 15825 rcl ax, 1 ; d1 d0 15857 15826 dec si ; 4e 15858 jne short 0a1 e4h ; 75 f515827 jne short 0a1a4h ; 75 f5 15859 15828 retn ; c3 15860 _fmemset_: ; 0xfa1 f0 LB 0x1015829 _fmemset_: ; 0xfa1b0 LB 0x10 15861 15830 push di ; 57 15862 15831 mov es, dx ; 8e c2 … … 15869 15838 retn ; c3 15870 15839 times 0x3 db 0 15871 _fmemcpy_: ; 0xfa 200 LB 0x3a15840 _fmemcpy_: ; 0xfa1c0 LB 0x3a 15872 15841 push bp ; 55 15873 15842 db 08bh, 0ech … … 15894 15863 add byte [bx+si], al ; 00 00 15895 15864 add byte [bx+si], al ; 00 00 15896 push ax ; 50 15897 mov byte [0a252h], AL ; a2 52 a2 15898 push si ; 56 15899 mov byte [0a256h], AL ; a2 56 a2 15900 push si ; 56 15901 mov byte [0a258h], AL ; a2 58 a2 15902 pop ax ; 58 15903 mov byte [0a25ah], AL ; a2 5a a2 15904 pop si ; 5e 15905 mov byte [0a25eh], AL ; a2 5e a2 15906 pushaw ; 60 15907 mov byte [0a265h], AL ; a2 65 a2 15908 db 067h 15865 adc byte [bp+si-05deeh], ah ; 10 a2 12 a2 15866 push SS ; 16 15867 mov byte [0a216h], AL ; a2 16 a2 15868 push SS ; 16 15869 mov byte [0a218h], AL ; a2 18 a2 15870 sbb byte [bp+si-05de6h], ah ; 18 a2 1a a2 15871 push DS ; 1e 15872 mov byte [0a21eh], AL ; a2 1e a2 15873 and byte [bp+si-05ddbh], ah ; 20 a2 25 a2 15874 daa ; 27 15909 15875 db 0a2h 15910 apm_worker: ; 0xfa 23a LB 0x3a15876 apm_worker: ; 0xfa1fa LB 0x3a 15911 15877 sti ; fb 15912 15878 push ax ; 50 … … 15920 15886 pop ax ; 58 15921 15887 mov AH, strict byte 053h ; b4 53 15922 jnc short 0a2 70h ; 73 2515923 jmp word [cs:bp-05 de0h] ; 2e ff a6 20 a215924 jmp short 0a2 6eh ; eb 1c15888 jnc short 0a230h ; 73 25 15889 jmp word [cs:bp-05e20h] ; 2e ff a6 e0 a1 15890 jmp short 0a22eh ; eb 1c 15925 15891 sti ; fb 15926 15892 hlt ; f4 15927 jmp short 0a2 6eh ; eb 1815928 jmp short 0a2 6eh ; eb 1615929 jmp short 0a2 70h ; eb 1615893 jmp short 0a22eh ; eb 18 15894 jmp short 0a22eh ; eb 16 15895 jmp short 0a230h ; eb 16 15930 15896 mov AH, strict byte 080h ; b4 80 15931 jmp short 0a2 72h ; eb 1415932 jmp short 0a2 70h ; eb 1015897 jmp short 0a232h ; eb 14 15898 jmp short 0a230h ; eb 10 15933 15899 mov ax, 00102h ; b8 02 01 15934 jmp short 0a2 6eh ; eb 0915935 jmp short 0a2 6eh ; eb 0715900 jmp short 0a22eh ; eb 09 15901 jmp short 0a22eh ; eb 07 15936 15902 mov BL, strict byte 000h ; b3 00 15937 15903 mov cx, strict word 00000h ; b9 00 00 15938 jmp short 0a2 6eh ; eb 0015904 jmp short 0a22eh ; eb 00 15939 15905 clc ; f8 15940 15906 retn ; c3 … … 15942 15908 stc ; f9 15943 15909 retn ; c3 15944 apm_pm16_entry: ; 0xfa2 74 LB 0x1115910 apm_pm16_entry: ; 0xfa234 LB 0x11 15945 15911 mov AH, strict byte 002h ; b4 02 15946 15912 push DS ; 1e … … 15950 15916 add bp, strict byte 00008h ; 83 c5 08 15951 15917 mov ds, bp ; 8e dd 15952 call 0a 23ah ; e8 b8 ff15918 call 0a1fah ; e8 b8 ff 15953 15919 pop bp ; 5d 15954 15920 pop DS ; 1f 15955 15921 retf ; cb 15956 _DoUInt32Div: ; 0xfa2 85 LB 0x26b15922 _DoUInt32Div: ; 0xfa245 LB 0x26b 15957 15923 push bp ; 55 15958 15924 mov bp, sp ; 89 e5 … … 15972 15938 mov [bp-006h], ds ; 8c 5e fa 15973 15939 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15974 jne short 0a2 d5h ; 75 2215940 jne short 0a295h ; 75 22 15975 15941 mov ax, word [bx] ; 8b 07 15976 15942 test ax, ax ; 85 c0 15977 je short 0a2 d2h ; 74 1915943 je short 0a292h ; 74 19 15978 15944 cmp ax, strict word 00001h ; 3d 01 00 15979 jne short 0a2 d5h ; 75 1715945 jne short 0a295h ; 75 17 15980 15946 xor ax, ax ; 31 c0 15981 15947 mov word [bp+00ah], ax ; 89 46 0a … … 15985 15951 mov ax, word [bp-01ah] ; 8b 46 e6 15986 15952 mov word [bp+006h], ax ; 89 46 06 15987 jmp near 0a4 ddh ; e9 08 0215953 jmp near 0a49dh ; e9 08 02 15988 15954 lds bx, [bp-00ch] ; c5 5e f4 15989 15955 mov ax, word [bx+002h] ; 8b 47 02 15990 15956 mov ds, [bp-006h] ; 8e 5e fa 15991 15957 cmp ax, word [si+002h] ; 3b 44 02 15992 je short 0a2 fbh ; 74 1815958 je short 0a2bbh ; 74 18 15993 15959 mov ds, [bp-00ah] ; 8e 5e f6 15994 15960 mov ax, word [bx+002h] ; 8b 47 02 15995 15961 mov ds, [bp-006h] ; 8e 5e fa 15996 15962 cmp ax, word [si+002h] ; 3b 44 02 15997 jbe short 0a2 f6h ; 76 0515963 jbe short 0a2b6h ; 76 05 15998 15964 mov ax, strict word 00001h ; b8 01 00 15999 jmp short 0a 31ch ; eb 2615965 jmp short 0a2dch ; eb 26 16000 15966 mov ax, strict word 0ffffh ; b8 ff ff 16001 jmp short 0a 31ch ; eb 2115967 jmp short 0a2dch ; eb 21 16002 15968 mov ds, [bp-00ah] ; 8e 5e f6 16003 15969 mov ax, word [bx] ; 8b 07 16004 15970 mov ds, [bp-006h] ; 8e 5e fa 16005 15971 cmp ax, word [si] ; 3b 04 16006 je short 0a 31ah ; 74 1315972 je short 0a2dah ; 74 13 16007 15973 mov ds, [bp-00ah] ; 8e 5e f6 16008 15974 mov ax, word [bx] ; 8b 07 16009 15975 mov ds, [bp-006h] ; 8e 5e fa 16010 15976 cmp ax, word [si] ; 3b 04 16011 jbe short 0a 315h ; 76 0216012 jmp short 0a2 f1h ; eb dc15977 jbe short 0a2d5h ; 76 02 15978 jmp short 0a2b1h ; eb dc 16013 15979 mov ax, strict word 0ffffh ; b8 ff ff 16014 jmp short 0a 31ch ; eb 0215980 jmp short 0a2dch ; eb 02 16015 15981 xor ax, ax ; 31 c0 16016 15982 test ax, ax ; 85 c0 16017 jnl short 0a 33eh ; 7d 1e15983 jnl short 0a2feh ; 7d 1e 16018 15984 lds bx, [bp-00ch] ; c5 5e f4 16019 15985 mov ax, word [bx] ; 8b 07 … … 16025 15991 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 16026 15992 mov word [bx], strict word 00000h ; c7 07 00 00 16027 jmp short 0a2 d2h ; eb 9416028 jne short 0a3 55h ; 75 1515993 jmp short 0a292h ; eb 94 15994 jne short 0a315h ; 75 15 16029 15995 mov ds, [bp-008h] ; 8e 5e f8 16030 15996 mov word [di+002h], ax ; 89 45 02 … … 16033 15999 mov word [bx], strict word 00001h ; c7 07 01 00 16034 16000 mov word [bx+002h], ax ; 89 47 02 16035 jmp near 0a4 ddh ; e9 88 0116001 jmp near 0a49dh ; e9 88 01 16036 16002 lds bx, [bp-00ch] ; c5 5e f4 16037 16003 mov ax, word [bx+002h] ; 8b 47 02 16038 16004 test ax, ax ; 85 c0 16039 je short 0a3 70h ; 74 1116005 je short 0a330h ; 74 11 16040 16006 push ax ; 50 16041 16007 mov ax, 0f000h ; b8 00 f0 16042 16008 mov ds, ax ; 8e d8 16043 call 0a4 f0h ; e8 88 0116009 call 0a4b0h ; e8 88 01 16044 16010 add sp, strict byte 00002h ; 83 c4 02 16045 16011 add ax, strict word 00010h ; 05 10 00 16046 jmp short 0a3 7dh ; eb 0d16012 jmp short 0a33dh ; eb 0d 16047 16013 push word [bx] ; ff 37 16048 16014 mov ax, 0f000h ; b8 00 f0 16049 16015 mov ds, ax ; 8e d8 16050 call 0a4 f0h ; e8 76 0116016 call 0a4b0h ; e8 76 01 16051 16017 add sp, strict byte 00002h ; 83 c4 02 16052 16018 mov word [bp-014h], ax ; 89 46 ec … … 16054 16020 mov ax, word [si+002h] ; 8b 44 02 16055 16021 test ax, ax ; 85 c0 16056 je short 0a3 9bh ; 74 1116022 je short 0a35bh ; 74 11 16057 16023 push ax ; 50 16058 16024 mov ax, 0f000h ; b8 00 f0 16059 16025 mov ds, ax ; 8e d8 16060 call 0a4 f0h ; e8 5d 0116026 call 0a4b0h ; e8 5d 01 16061 16027 add sp, strict byte 00002h ; 83 c4 02 16062 16028 add ax, strict word 00010h ; 05 10 00 16063 jmp short 0a3 a8h ; eb 0d16029 jmp short 0a368h ; eb 0d 16064 16030 push word [si] ; ff 34 16065 16031 mov ax, 0f000h ; b8 00 f0 16066 16032 mov ds, ax ; 8e d8 16067 call 0a4 f0h ; e8 4b 0116033 call 0a4b0h ; e8 4b 01 16068 16034 add sp, strict byte 00002h ; 83 c4 02 16069 16035 mov dx, word [bp-014h] ; 8b 56 ec … … 16076 16042 mov word [bp-016h], ax ; 89 46 ea 16077 16043 test dx, dx ; 85 d2 16078 je short 0a 418h ; 74 5616044 je short 0a3d8h ; 74 56 16079 16045 mov cx, dx ; 89 d1 16080 16046 xor ch, dh ; 30 f5 … … 16082 16048 mov ax, word [si] ; 8b 04 16083 16049 mov dx, word [si+002h] ; 8b 54 02 16084 jcxz 0a3 d6h ; e3 0616050 jcxz 0a396h ; e3 06 16085 16051 sal ax, 1 ; d1 e0 16086 16052 rcl dx, 1 ; d1 d2 16087 loop 0a3 d0h ; e2 fa16053 loop 0a390h ; e2 fa 16088 16054 mov word [bp-018h], ax ; 89 46 e8 16089 16055 mov word [bp-016h], dx ; 89 56 ea … … 16091 16057 lds bx, [bp-00ch] ; c5 5e f4 16092 16058 cmp ax, word [bx+002h] ; 3b 47 02 16093 jnbe short 0a3 f6h ; 77 0f16059 jnbe short 0a3b6h ; 77 0f 16094 16060 mov ax, word [bp-016h] ; 8b 46 ea 16095 16061 cmp ax, word [bx+002h] ; 3b 47 02 16096 jne short 0a3 fah ; 75 0b16062 jne short 0a3bah ; 75 0b 16097 16063 mov ax, word [bp-018h] ; 8b 46 e8 16098 16064 cmp ax, word [bx] ; 3b 07 16099 jbe short 0a3 fah ; 76 0416065 jbe short 0a3bah ; 76 04 16100 16066 mov AL, strict byte 001h ; b0 01 16101 jmp short 0a3 fch ; eb 0216067 jmp short 0a3bch ; eb 02 16102 16068 xor al, al ; 30 c0 16103 16069 test al, al ; 84 c0 16104 je short 0a 423h ; 74 2316070 je short 0a3e3h ; 74 23 16105 16071 shr word [bp-016h], 1 ; d1 6e ea 16106 16072 rcr word [bp-018h], 1 ; d1 5e e8 16107 16073 dec word [bp-012h] ; ff 4e ee 16108 jmp short 0a 423h ; eb 1816074 jmp short 0a3e3h ; eb 18 16109 16075 mov cx, strict word 0001fh ; b9 1f 00 16110 16076 sal word [bp-018h], 1 ; d1 66 e8 16111 16077 rcl word [bp-016h], 1 ; d1 56 ea 16112 loop 0a 40eh ; e2 f816113 jmp short 0a 406h ; eb ee16078 loop 0a3ceh ; e2 f8 16079 jmp short 0a3c6h ; eb ee 16114 16080 mov ax, word [si] ; 8b 04 16115 16081 mov word [bp-018h], ax ; 89 46 e8 … … 16128 16094 mov ds, [bp-006h] ; 8e 5e fa 16129 16095 cmp ax, word [si+002h] ; 3b 44 02 16130 jnbe short 0a4 4fh ; 77 0616131 jne short 0a4 53h ; 75 0816096 jnbe short 0a40fh ; 77 06 16097 jne short 0a413h ; 75 08 16132 16098 cmp dx, word [si] ; 3b 14 16133 jc short 0a4 53h ; 72 0416099 jc short 0a413h ; 72 04 16134 16100 mov AL, strict byte 001h ; b0 01 16135 jmp short 0a4 55h ; eb 0216101 jmp short 0a415h ; eb 02 16136 16102 xor al, al ; 30 c0 16137 16103 test al, al ; 84 c0 16138 je short 0a4 bah ; 74 6116104 je short 0a47ah ; 74 61 16139 16105 mov ds, [bp-008h] ; 8e 5e f8 16140 16106 mov ax, word [di+002h] ; 8b 45 02 16141 16107 cmp ax, word [bp-016h] ; 3b 46 ea 16142 jnbe short 0a4 70h ; 77 0c16108 jnbe short 0a430h ; 77 0c 16143 16109 cmp ax, word [bp-016h] ; 3b 46 ea 16144 jne short 0a4 74h ; 75 0b16110 jne short 0a434h ; 75 0b 16145 16111 mov ax, word [di] ; 8b 05 16146 16112 cmp ax, word [bp-018h] ; 3b 46 e8 16147 jc short 0a4 74h ; 72 0416113 jc short 0a434h ; 72 04 16148 16114 mov AL, strict byte 001h ; b0 01 16149 jmp short 0a4 76h ; eb 0216115 jmp short 0a436h ; eb 02 16150 16116 xor al, al ; 30 c0 16151 16117 test al, al ; 84 c0 16152 je short 0a4 a0h ; 74 2616118 je short 0a460h ; 74 26 16153 16119 mov ax, word [bp-018h] ; 8b 46 e8 16154 16120 mov ds, [bp-008h] ; 8e 5e f8 … … 16159 16125 xor dx, dx ; 31 d2 16160 16126 mov cx, word [bp-012h] ; 8b 4e ee 16161 jcxz 0a4 98h ; e3 0616127 jcxz 0a458h ; e3 06 16162 16128 sal ax, 1 ; d1 e0 16163 16129 rcl dx, 1 ; d1 d2 16164 loop 0a4 92h ; e2 fa16130 loop 0a452h ; e2 fa 16165 16131 lds bx, [bp-010h] ; c5 5e f0 16166 16132 or word [bx], ax ; 09 07 … … 16171 16137 mov ds, [bp-006h] ; 8e 5e fa 16172 16138 cmp ax, word [si+002h] ; 3b 44 02 16173 jc short 0a4 b6h ; 72 0616174 jne short 0a4 bch ; 75 0a16139 jc short 0a476h ; 72 06 16140 jne short 0a47ch ; 75 0a 16175 16141 cmp dx, word [si] ; 3b 14 16176 jnc short 0a4 bch ; 73 0616142 jnc short 0a47ch ; 73 06 16177 16143 mov AL, strict byte 001h ; b0 01 16178 jmp short 0a4 beh ; eb 0416179 jmp short 0a4 ddh ; eb 2116144 jmp short 0a47eh ; eb 04 16145 jmp short 0a49dh ; eb 21 16180 16146 xor al, al ; 30 c0 16181 16147 test al, al ; 84 c0 16182 je short 0a4 d1h ; 74 0f16183 jmp short 0a4 ddh ; eb 1916148 je short 0a491h ; 74 0f 16149 jmp short 0a49dh ; eb 19 16184 16150 mov cx, strict word 0001fh ; b9 1f 00 16185 16151 sal word [bp-018h], 1 ; d1 66 e8 16186 16152 rcl word [bp-016h], 1 ; d1 56 ea 16187 loop 0a4 c7h ; e2 f816188 jmp short 0a4 d7h ; eb 0616153 loop 0a487h ; e2 f8 16154 jmp short 0a497h ; eb 06 16189 16155 shr word [bp-016h], 1 ; d1 6e ea 16190 16156 rcr word [bp-018h], 1 ; d1 5e e8 16191 16157 dec word [bp-012h] ; ff 4e ee 16192 jmp near 0a4 59h ; e9 7c ff16158 jmp near 0a419h ; e9 7c ff 16193 16159 mov ax, word [bp-01ch] ; 8b 46 e4 16194 16160 mov dx, word [bp-01ah] ; 8b 56 e6 … … 16199 16165 retn ; c3 16200 16166 times 0x6 db 0 16201 _ASMBitLastSetU16: ; 0xfa4 f0 LB 0x1816167 _ASMBitLastSetU16: ; 0xfa4b0 LB 0x18 16202 16168 push bp ; 55 16203 16169 db 08bh, 0ech … … 16205 16171 mov cx, word [bp+004h] ; 8b 4e 04 16206 16172 test cx, cx ; 85 c9 16207 je short 0a 504h ; 74 0a16173 je short 0a4c4h ; 74 0a 16208 16174 mov ax, strict word 00010h ; b8 10 00 16209 16175 sal cx, 1 ; d1 e1 16210 jc short 0a 506h ; 72 0516176 jc short 0a4c6h ; 72 05 16211 16177 dec ax ; 48 16212 jmp short 0a4 fdh ; eb f916178 jmp short 0a4bdh ; eb f9 16213 16179 db 033h, 0c0h 16214 16180 ; xor ax, ax ; 33 c0 … … 16216 16182 retn ; c3 16217 16183 16218 ; Padding 0x3 4f8 bytes at 0xfa50816219 times 13 560db 016184 ; Padding 0x3538 bytes at 0xfa4c8 16185 times 13624 db 0 16220 16186 16221 16187 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 16264 16230 add bp, strict byte 00008h ; 83 c5 08 16265 16231 push ebp ; 66 55 16266 mov bp, 0a2 76h ; bd 76 a216232 mov bp, 0a236h ; bd 36 a2 16267 16233 add byte [bx+si], al ; 00 00 16268 16234 push ebp ; 66 55 … … 16994 16960 call 01cc5h ; e8 89 39 16995 16961 call 02154h ; e8 15 3e 16996 call 09a 6eh ; e8 2c b716997 call 088 b8h ; e8 73a516962 call 09a27h ; e8 e5 b6 16963 call 08871h ; e8 2c a5 16998 16964 call 0ed4ch ; e8 04 0a 16999 16965 call 0e2d2h ; e8 87 ff … … 17171 17137 out strict byte 0a1h, AL ; e6 a1 17172 17138 retn ; c3 17173 ebda_post: ; 0xfe794 LB 0x 4517139 ebda_post: ; 0xfe794 LB 0x51 17174 17140 mov ax, 0e754h ; b8 54 e7 17175 17141 mov word [00034h], ax ; a3 34 00 … … 17185 17151 mov word [001cah], ax ; a3 ca 01 17186 17152 mov ax, 0e754h ; b8 54 e7 17153 mov word [001cch], ax ; a3 cc 01 17154 mov ax, 0f000h ; b8 00 f0 17155 mov word [001ceh], ax ; a3 ce 01 17156 mov ax, 0e754h ; b8 54 e7 17187 17157 mov word [001dch], ax ; a3 dc 01 17188 17158 mov ax, 0f000h ; b8 00 f0 … … 17196 17166 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 17197 17167 retn ; c3 17198 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 d9 LB 0x5517199 times 0x 53db 017168 biosorg_check_before_or_at_0E82Ch: ; 0xfe7e5 LB 0x49 17169 times 0x47 db 0 17200 17170 db 'XM' 17201 17171 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x52 … … 17950 17920 popfw ; 9d 17951 17921 jmp short 0f8afh ; eb 1f 17952 call 09b e0h ; e8 4da317922 call 09b99h ; e8 06 a3 17953 17923 jmp short 0f883h ; eb ee 17954 17924 int15_handler_mouse: ; 0xff895 LB 0x5 … … 18274 18244 cpu_reset: ; 0xffff0 LB 0x10 18275 18245 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 23h18246 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0f9h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
r67807 r68290 1 269f62de83976f5a734bb5219dc89ba4*VBoxPcBios8086.rom1 e5b242e719ad26ca22448575914e8257 *VBoxPcBios8086.rom -
trunk/src/VBox/Installer/linux/debian/control
r67067 r68290 1 Source: virtualbox-5. 11 Source: virtualbox-5.2 2 2 Section: contrib/misc 3 3 Priority: optional … … 14 14 XS-Python-Version: >= 2.4 15 15 16 Package: virtualbox-5. 116 Package: virtualbox-5.2 17 17 Architecture: i386 amd64 18 18 Pre-Depends: debconf (>= 1.1) | debconf-2.0 … … 33 33 XB-Python-Version: ${python:Versions} 34 34 35 Package: virtualbox-5. 1-dbg35 Package: virtualbox-5.2-dbg 36 36 Architecture: i386 amd64 37 Depends: virtualbox-5. 1(= ${binary:Version})37 Depends: virtualbox-5.2 (= ${binary:Version}) 38 38 Provides: virtualbox-dbg 39 39 Replaces: virtualbox-dbg -
trunk/src/VBox/Installer/linux/debian/rules
r68128 r68290 46 46 47 47 package := virtualbox 48 verpkg := virtualbox-5. 148 verpkg := virtualbox-5.2 49 49 current := $(shell pwd) 50 50 vboxroot := $(shell cd ../../../..; pwd) -
trunk/src/VBox/Installer/linux/rpm/rules
r68131 r68290 60 60 endif 61 61 62 verpkg := VirtualBox-5. 162 verpkg := VirtualBox-5.2 63 63 current := $(shell pwd) 64 64 vboxroot := $(shell while ! test -r configure && ! test "$PWD" = "/"; do cd ..; done; pwd) -
trunk/src/VBox/ValidationKit/testdriver/vbox.py
r68263 r68290 1295 1295 sVer = "4.0.0"; 1296 1296 reporter.log("sVer=%s" % (sVer,)); # Temporary - debugging hang somewhere after 'sys.path' log line above. 1297 if sVer.startswith("5.1"): 1297 if sVer.startswith("5.2"): 1298 self.fpApiVer = 5.2; 1299 elif sVer.startswith("5.1"): 1298 1300 self.fpApiVer = 5.1; 1299 1301 elif sVer.startswith("5.0") or (sVer.startswith("4.3.5") and len(sVer) == 6):
Note:
See TracChangeset
for help on using the changeset viewer.