Changeset 51255 in vbox for trunk/src/VBox/Devices/Graphics/BIOS
- Timestamp:
- May 15, 2014 8:21:54 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93713
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
r51062 r51255 254 254 mov bx, 0c000h ; bb 00 c0 255 255 mov ds, bx ; 8e db 256 call 0 2ffdh ; e8 0d2f256 call 03007h ; e8 17 2f 257 257 popaw ; 61 258 258 pop DS ; 1f … … 1507 1507 times 194 db 0 1508 1508 1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f 3dclass=CODE group=AUTO1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f47 class=CODE group=AUTO 1510 1510 set_int_vector_: ; 0xc0a00 LB 0x1a 1511 1511 push bx ; 53 … … 1561 1561 call 00a1ah ; e8 ac ff 1562 1562 call 00a36h ; e8 c5 ff 1563 call 034 6ch ; e8 f8 291563 call 03476h ; e8 02 2a 1564 1564 mov dx, strict word 00022h ; ba 22 00 1565 1565 mov ax, strict word 00010h ; b8 10 00 … … 1588 1588 mov dx, strict word 00060h ; ba 60 00 1589 1589 mov ax, strict word 00040h ; b8 40 00 1590 call 02f5 0h ; e8 a4241590 call 02f5ah ; e8 ae 24 1591 1591 push SS ; 16 1592 1592 pop ES ; 07 … … 1596 1596 add dx, strict byte 00050h ; 83 c2 50 1597 1597 mov ax, strict word 00040h ; b8 40 00 1598 call 02f5 0h ; e8 91241598 call 02f5ah ; e8 9b 24 1599 1599 push SS ; 16 1600 1600 pop ES ; 07 … … 1617 1617 mov dx, strict word 00049h ; ba 49 00 1618 1618 mov ax, strict word 00040h ; b8 40 00 1619 call 02f3 4h ; e8 52241619 call 02f3eh ; e8 5c 24 1620 1620 xor ah, ah ; 30 e4 1621 call 02f 0dh ; e8 26241621 call 02f17h ; e8 30 24 1622 1622 mov ch, al ; 88 c5 1623 1623 cmp AL, strict byte 0ffh ; 3c ff … … 1635 1635 mov dx, 00084h ; ba 84 00 1636 1636 mov ax, strict word 00040h ; b8 40 00 1637 call 02f3 4h ; e8 21241637 call 02f3eh ; e8 2b 24 1638 1638 movzx di, al ; 0f b6 f8 1639 1639 inc di ; 47 1640 1640 mov dx, strict word 0004ah ; ba 4a 00 1641 1641 mov ax, strict word 00040h ; b8 40 00 1642 call 02f5 0h ; e8 30241642 call 02f5ah ; e8 3a 24 1643 1643 movzx bx, ch ; 0f b6 dd 1644 1644 sal bx, 003h ; c1 e3 03 … … 1660 1660 add dx, ax ; 01 c2 1661 1661 mov ax, word [bx+04833h] ; 8b 87 33 48 1662 call 02f5 0h ; e8 f9 231662 call 02f5ah ; e8 03 24 1663 1663 mov word [ss:si], ax ; 36 89 04 1664 1664 lea sp, [bp-008h] ; 8d 66 f8 … … 1697 1697 mov dx, strict word 0007ch ; ba 7c 00 1698 1698 xor ax, ax ; 31 c0 1699 call 02f 6ch ; e8 d6231699 call 02f76h ; e8 e0 23 1700 1700 push SS ; 16 1701 1701 pop ES ; 07 … … 1705 1705 mov dx, 00085h ; ba 85 00 1706 1706 mov ax, strict word 00040h ; b8 40 00 1707 call 02f3 4h ; e8 8a231707 call 02f3eh ; e8 94 23 1708 1708 xor ah, ah ; 30 e4 1709 1709 push SS ; 16 … … 1712 1712 mov dx, 00084h ; ba 84 00 1713 1713 mov ax, strict word 00040h ; b8 40 00 1714 call 02f3 4h ; e8 7a231714 call 02f3eh ; e8 84 23 1715 1715 xor ah, ah ; 30 e4 1716 1716 push SS ; 16 … … 1750 1750 mov dx, strict word 00049h ; ba 49 00 1751 1751 mov ax, strict word 00040h ; b8 40 00 1752 call 02f3 4h ; e8 27231752 call 02f3eh ; e8 31 23 1753 1753 xor ah, ah ; 30 e4 1754 call 02f 0dh ; e8 fb 221754 call 02f17h ; e8 05 23 1755 1755 mov cl, al ; 88 c1 1756 1756 cmp AL, strict byte 0ffh ; 3c ff … … 1774 1774 mov dx, strict word 0004ah ; ba 4a 00 1775 1775 mov ax, strict word 00040h ; b8 40 00 1776 call 02f5 0h ; e8 fc 221776 call 02f5ah ; e8 06 23 1777 1777 imul ax, word [bp-00ah] ; 0f af 46 f6 1778 1778 mov bx, si ; 89 f3 … … 1795 1795 mov dx, bx ; 89 da 1796 1796 mov ax, 0a000h ; b8 00 a0 1797 call 02f3 4h ; e8 a6221797 call 02f3eh ; e8 b0 22 1798 1798 and al, byte [bp-008h] ; 22 46 f8 1799 1799 test al, al ; 84 c0 … … 1816 1816 mov dx, bx ; 89 da 1817 1817 mov ax, 0b800h ; b8 00 b8 1818 call 02f3 4h ; e8 71221818 call 02f3eh ; e8 7b 22 1819 1819 movzx bx, cl ; 0f b6 d9 1820 1820 sal bx, 003h ; c1 e3 03 … … 1846 1846 mov dx, strict word 0004ah ; ba 4a 00 1847 1847 mov ax, strict word 00040h ; b8 40 00 1848 call 02f5 0h ; e8 43221848 call 02f5ah ; e8 4d 22 1849 1849 sal ax, 003h ; c1 e0 03 1850 1850 imul ax, word [bp-00ah] ; 0f af 46 f6 … … 1852 1852 add dx, ax ; 01 c2 1853 1853 mov ax, 0a000h ; b8 00 a0 1854 call 02f3 4h ; e8 16221854 call 02f3eh ; e8 20 22 1855 1855 mov ch, al ; 88 c5 1856 1856 jmp short 00d24h ; eb 02 … … 1959 1959 mov dx, strict word 00060h ; ba 60 00 1960 1960 mov ax, strict word 00040h ; b8 40 00 1961 call 02f 5eh ; e8 7d211961 call 02f68h ; e8 87 21 1962 1962 mov dx, 00089h ; ba 89 00 1963 1963 mov ax, strict word 00040h ; b8 40 00 1964 call 02f3 4h ; e8 4a211964 call 02f3eh ; e8 54 21 1965 1965 mov bl, al ; 88 c3 1966 1966 mov dx, 00085h ; ba 85 00 1967 1967 mov ax, strict word 00040h ; b8 40 00 1968 call 02f5 0h ; e8 5b211968 call 02f5ah ; e8 65 21 1969 1969 mov dx, ax ; 89 c2 1970 1970 test bl, 001h ; f6 c3 01 … … 1997 1997 mov dx, strict word 00063h ; ba 63 00 1998 1998 mov ax, strict word 00040h ; b8 40 00 1999 call 02f5 0h ; e8 14211999 call 02f5ah ; e8 1e 21 2000 2000 mov bx, ax ; 89 c3 2001 2001 mov AL, strict byte 00ah ; b0 0a … … 2036 2036 mov bx, cx ; 89 cb 2037 2037 mov ax, strict word 00040h ; b8 40 00 2038 call 02f 5eh ; e8 dd202038 call 02f68h ; e8 e7 20 2039 2039 mov dx, strict word 00062h ; ba 62 00 2040 2040 mov ax, strict word 00040h ; b8 40 00 2041 call 02f3 4h ; e8 aa202041 call 02f3eh ; e8 b4 20 2042 2042 cmp al, byte [bp-008h] ; 3a 46 f8 2043 2043 jne short 00ef8h ; 75 69 2044 2044 mov dx, strict word 0004ah ; ba 4a 00 2045 2045 mov ax, strict word 00040h ; b8 40 00 2046 call 02f5 0h ; e8 b8202046 call 02f5ah ; e8 c2 20 2047 2047 mov bx, ax ; 89 c3 2048 2048 mov dx, 00084h ; ba 84 00 2049 2049 mov ax, strict word 00040h ; b8 40 00 2050 call 02f3 4h ; e8 91202050 call 02f3eh ; e8 9b 20 2051 2051 xor ah, ah ; 30 e4 2052 2052 mov dx, ax ; 89 c2 … … 2068 2068 mov dx, strict word 00063h ; ba 63 00 2069 2069 mov ax, strict word 00040h ; b8 40 00 2070 call 02f5 0h ; e8 7a202070 call 02f5ah ; e8 84 20 2071 2071 mov bx, ax ; 89 c3 2072 2072 mov AL, strict byte 00eh ; b0 0e … … 2107 2107 mov dx, strict word 00049h ; ba 49 00 2108 2108 mov ax, strict word 00040h ; b8 40 00 2109 call 02f3 4h ; e8 19202109 call 02f3eh ; e8 23 20 2110 2110 xor ah, ah ; 30 e4 2111 call 02f 0dh ; e8 ed1f2111 call 02f17h ; e8 f7 1f 2112 2112 mov ch, al ; 88 c5 2113 2113 cmp AL, strict byte 0ffh ; 3c ff … … 2124 2124 mov dx, strict word 0004ah ; ba 4a 00 2125 2125 mov ax, strict word 00040h ; b8 40 00 2126 call 02f5 0h ; e8 04202126 call 02f5ah ; e8 0e 20 2127 2127 mov bx, ax ; 89 c3 2128 2128 mov dx, 00084h ; ba 84 00 2129 2129 mov ax, strict word 00040h ; b8 40 00 2130 call 02f3 4h ; e8 dd1f2130 call 02f3eh ; e8 e7 1f 2131 2131 xor ah, ah ; 30 e4 2132 2132 inc ax ; 40 … … 2142 2142 mov dx, strict word 0004eh ; ba 4e 00 2143 2143 mov ax, strict word 00040h ; b8 40 00 2144 call 02f 5eh ; e8 e71f2144 call 02f68h ; e8 f1 1f 2145 2145 or si, 000ffh ; 81 ce ff 00 2146 2146 lea bx, [si+001h] ; 8d 5c 01 … … 2154 2154 mov dx, strict word 00063h ; ba 63 00 2155 2155 mov ax, strict word 00040h ; b8 40 00 2156 call 02f5 0h ; e8 b21f2156 call 02f5ah ; e8 bc 1f 2157 2157 mov si, ax ; 89 c6 2158 2158 mov AL, strict byte 00ch ; b0 0c … … 2175 2175 mov dx, strict word 00062h ; ba 62 00 2176 2176 mov ax, strict word 00040h ; b8 40 00 2177 call 02f4 2h ; e8 781f2177 call 02f4ch ; e8 82 1f 2178 2178 mov dx, word [bp-00eh] ; 8b 56 f2 2179 2179 mov ax, si ; 89 f0 … … 2187 2187 pop bp ; 5d 2188 2188 retn ; c3 2189 biosfn_set_video_mode_: ; 0xc0fdc LB 0x3 872189 biosfn_set_video_mode_: ; 0xc0fdc LB 0x391 2190 2190 push bp ; 55 2191 2191 mov bp, sp ; 89 e5 … … 2196 2196 push di ; 57 2197 2197 sub sp, strict byte 00010h ; 83 ec 10 2198 mov byte [bp-00 eh], al ; 88 46 f22198 mov byte [bp-00ch], al ; 88 46 f4 2199 2199 and AL, strict byte 080h ; 24 80 2200 2200 mov byte [bp-010h], al ; 88 46 f0 … … 2208 2208 mov dx, 003c5h ; ba c5 03 2209 2209 out DX, AL ; ee 2210 and byte [bp-00eh], 07fh ; 80 66 f2 7f 2211 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 2212 call 02f0dh ; e8 00 1f 2210 and byte [bp-00ch], 07fh ; 80 66 f4 7f 2211 cmp byte [bp-00ch], 007h ; 80 7e f4 07 2212 jne short 01010h ; 75 04 2213 mov byte [bp-00ch], 000h ; c6 46 f4 00 2214 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2215 call 02f17h ; e8 00 1f 2213 2216 mov byte [bp-012h], al ; 88 46 ee 2214 2217 cmp AL, strict byte 0ffh ; 3c ff 2215 je near 013 59h ; 0f 84 43 032218 je near 01363h ; 0f 84 43 03 2216 2219 movzx si, al ; 0f b6 f0 2217 2220 mov al, byte [si+048afh] ; 8a 84 af 48 2218 mov byte [bp-00 ch], al ; 88 46 f42221 mov byte [bp-00eh], al ; 88 46 f2 2219 2222 movzx bx, al ; 0f b6 d8 2220 2223 sal bx, 006h ; c1 e3 06 … … 2227 2230 mov dx, 00087h ; ba 87 00 2228 2231 mov ax, strict word 00040h ; b8 40 00 2229 call 02f3 4h ; e8 ed 1e2232 call 02f3eh ; e8 ed 1e 2230 2233 mov dx, 00088h ; ba 88 00 2231 2234 mov ax, strict word 00040h ; b8 40 00 2232 call 02f3 4h ; e8 e4 1e2235 call 02f3eh ; e8 e4 1e 2233 2236 mov dx, 00089h ; ba 89 00 2234 2237 mov ax, strict word 00040h ; b8 40 00 2235 call 02f3 4h ; e8 db 1e2238 call 02f3eh ; e8 db 1e 2236 2239 mov ah, al ; 88 c4 2237 2240 test AL, strict byte 008h ; a8 08 2238 jne near 010 ebh ; 0f 85 8a 002241 jne near 010f5h ; 0f 85 8a 00 2239 2242 mov bx, si ; 89 f3 2240 2243 sal bx, 003h ; c1 e3 03 … … 2247 2250 mov bl, byte [bx+04836h] ; 8a 9f 36 48 2248 2251 cmp bl, 001h ; 80 fb 01 2249 jc short 010 8bh ; 72 0e2250 jbe short 0109 4h ; 76 152252 jc short 01095h ; 72 0e 2253 jbe short 0109eh ; 76 15 2251 2254 cmp bl, 003h ; 80 fb 03 2252 je short 010 9eh ; 74 1a2255 je short 010a8h ; 74 1a 2253 2256 cmp bl, 002h ; 80 fb 02 2254 je short 010 99h ; 74 102255 jmp short 010a 1h ; eb 162257 je short 010a3h ; 74 10 2258 jmp short 010abh ; eb 16 2256 2259 test bl, bl ; 84 db 2257 jne short 010a 1h ; 75 122260 jne short 010abh ; 75 12 2258 2261 mov di, 05043h ; bf 43 50 2259 jmp short 010a 1h ; eb 0d2262 jmp short 010abh ; eb 0d 2260 2263 mov di, 05103h ; bf 03 51 2261 jmp short 010a 1h ; eb 082264 jmp short 010abh ; eb 08 2262 2265 mov di, 051c3h ; bf c3 51 2263 jmp short 010a 1h ; eb 032266 jmp short 010abh ; eb 03 2264 2267 mov di, 05283h ; bf 83 52 2265 2268 xor bx, bx ; 31 db 2266 jmp short 010b 4h ; eb 0f2269 jmp short 010beh ; eb 0f 2267 2270 xor al, al ; 30 c0 2268 2271 mov dx, 003c9h ; ba c9 03 … … 2272 2275 inc bx ; 43 2273 2276 cmp bx, 00100h ; 81 fb 00 01 2274 jnc short 010 deh ; 73 2a2277 jnc short 010e8h ; 73 2a 2275 2278 movzx si, byte [bp-012h] ; 0f b6 76 ee 2276 2279 sal si, 003h ; c1 e6 03 … … 2278 2281 movzx dx, byte [si+048bfh] ; 0f b6 94 bf 48 2279 2282 cmp bx, dx ; 39 d3 2280 jnbe short 010a 5h ; 77 dc2283 jnbe short 010afh ; 77 dc 2281 2284 imul si, bx, strict byte 00003h ; 6b f3 03 2282 2285 add si, di ; 01 fe … … 2288 2291 mov al, byte [si+002h] ; 8a 44 02 2289 2292 out DX, AL ; ee 2290 jmp short 010 adh ; eb cf2293 jmp short 010b7h ; eb cf 2291 2294 test ah, 002h ; f6 c4 02 2292 je short 010 ebh ; 74 082295 je short 010f5h ; 74 08 2293 2296 mov dx, 00100h ; ba 00 01 2294 2297 xor ax, ax ; 31 c0 2295 call 00d2eh ; e8 43fc2298 call 00d2eh ; e8 39 fc 2296 2299 mov dx, 003dah ; ba da 03 2297 2300 in AL, DX ; ec … … 2299 2302 ; sub ah, ah ; 2a e4 2300 2303 xor bx, bx ; 31 db 2301 jmp short 01 0fah ; eb 052304 jmp short 01104h ; eb 05 2302 2305 cmp bx, strict byte 00013h ; 83 fb 13 2303 jnbe short 0111 1h ; 77 172306 jnbe short 0111bh ; 77 17 2304 2307 mov al, bl ; 88 d8 2305 2308 mov dx, 003c0h ; ba c0 03 2306 2309 out DX, AL ; ee 2307 movzx si, byte [bp-00 ch] ; 0f b6 76 f42310 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2308 2311 sal si, 006h ; c1 e6 06 2309 2312 add si, bx ; 01 de … … 2311 2314 out DX, AL ; ee 2312 2315 inc bx ; 43 2313 jmp short 010f 5h ; eb e42316 jmp short 010ffh ; eb e4 2314 2317 mov AL, strict byte 014h ; b0 14 2315 2318 mov dx, 003c0h ; ba c0 03 … … 2323 2326 out DX, AL ; ee 2324 2327 mov bx, strict word 00001h ; bb 01 00 2325 jmp short 011 2eh ; eb 052328 jmp short 01138h ; eb 05 2326 2329 cmp bx, strict byte 00004h ; 83 fb 04 2327 jnbe short 011 48h ; 77 1a2330 jnbe short 01152h ; 77 1a 2328 2331 mov al, bl ; 88 d8 2329 2332 mov dx, 003c4h ; ba c4 03 2330 2333 out DX, AL ; ee 2331 movzx si, byte [bp-00 ch] ; 0f b6 76 f42334 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2332 2335 sal si, 006h ; c1 e6 06 2333 2336 add si, bx ; 01 de … … 2336 2339 out DX, AL ; ee 2337 2340 inc bx ; 43 2338 jmp short 011 29h ; eb e12341 jmp short 01133h ; eb e1 2339 2342 xor bx, bx ; 31 db 2340 jmp short 0115 1h ; eb 052343 jmp short 0115bh ; eb 05 2341 2344 cmp bx, strict byte 00008h ; 83 fb 08 2342 jnbe short 011 6bh ; 77 1a2345 jnbe short 01175h ; 77 1a 2343 2346 mov al, bl ; 88 d8 2344 2347 mov dx, 003ceh ; ba ce 03 2345 2348 out DX, AL ; ee 2346 movzx si, byte [bp-00 ch] ; 0f b6 76 f42349 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2347 2350 sal si, 006h ; c1 e6 06 2348 2351 add si, bx ; 01 de … … 2351 2354 out DX, AL ; ee 2352 2355 inc bx ; 43 2353 jmp short 011 4ch ; eb e12356 jmp short 01156h ; eb e1 2354 2357 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2355 2358 sal bx, 003h ; c1 e3 03 2356 2359 cmp byte [bx+04831h], 001h ; 80 bf 31 48 01 2357 jne short 011 7eh ; 75 052360 jne short 01188h ; 75 05 2358 2361 mov dx, 003b4h ; ba b4 03 2359 jmp short 0118 1h ; eb 032362 jmp short 0118bh ; eb 03 2360 2363 mov dx, 003d4h ; ba d4 03 2361 2364 mov si, dx ; 89 d6 … … 2363 2366 out DX, ax ; ef 2364 2367 xor bx, bx ; 31 db 2365 jmp short 0119 0h ; eb 052368 jmp short 0119ah ; eb 05 2366 2369 cmp bx, strict byte 00018h ; 83 fb 18 2367 jnbe short 011 abh ; 77 1b2370 jnbe short 011b5h ; 77 1b 2368 2371 mov al, bl ; 88 d8 2369 2372 mov dx, si ; 89 f2 2370 2373 out DX, AL ; ee 2371 movzx cx, byte [bp-00 ch] ; 0f b6 4e f42374 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2372 2375 sal cx, 006h ; c1 e1 06 2373 2376 mov di, cx ; 89 cf … … 2377 2380 out DX, AL ; ee 2378 2381 inc bx ; 43 2379 jmp short 011 8bh ; eb e02382 jmp short 01195h ; eb e0 2380 2383 mov bx, cx ; 89 cb 2381 2384 mov al, byte [bx+048cch] ; 8a 87 cc 48 … … 2390 2393 ; sub ah, ah ; 2a e4 2391 2394 cmp byte [bp-010h], 000h ; 80 7e f0 00 2392 jne short 012 26h ; 75 5f2395 jne short 01230h ; 75 5f 2393 2396 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2394 2397 sal bx, 003h ; c1 e3 03 2395 2398 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2396 jne short 011 e8h ; 75 132399 jne short 011f2h ; 75 13 2397 2400 mov es, [bx+04833h] ; 8e 87 33 48 2398 2401 mov cx, 04000h ; b9 00 40 … … 2400 2403 xor di, di ; 31 ff 2401 2404 cld ; fc 2402 jcxz 011 e6h ; e3 022405 jcxz 011f0h ; e3 02 2403 2406 rep stosw ; f3 ab 2404 jmp short 012 26h ; eb 3e2405 cmp byte [bp-00 eh], 00dh ; 80 7e f20d2406 jnc short 0120 0h ; 73 122407 jmp short 01230h ; eb 3e 2408 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2409 jnc short 0120ah ; 73 12 2407 2410 mov es, [bx+04833h] ; 8e 87 33 48 2408 2411 mov cx, 04000h ; b9 00 40 … … 2410 2413 xor di, di ; 31 ff 2411 2414 cld ; fc 2412 jcxz 01 1feh ; e3 022415 jcxz 01208h ; e3 02 2413 2416 rep stosw ; f3 ab 2414 jmp short 012 26h ; eb 262417 jmp short 01230h ; eb 26 2415 2418 mov AL, strict byte 002h ; b0 02 2416 2419 mov dx, 003c4h ; ba c4 03 … … 2428 2431 xor di, di ; 31 ff 2429 2432 cld ; fc 2430 jcxz 0122 2h ; e3 022433 jcxz 0122ch ; e3 02 2431 2434 rep stosw ; f3 ab 2432 2435 mov al, byte [bp-01ah] ; 8a 46 e6 2433 2436 out DX, AL ; ee 2434 movzx bx, byte [bp-00 eh] ; 0f b6 5e f22437 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2435 2438 mov dx, strict word 00049h ; ba 49 00 2436 2439 mov ax, strict word 00040h ; b8 40 00 2437 call 02f4 2h ; e8 0f 1d2440 call 02f4ch ; e8 0f 1d 2438 2441 mov bx, word [bp-018h] ; 8b 5e e8 2439 2442 mov dx, strict word 0004ah ; ba 4a 00 2440 2443 mov ax, strict word 00040h ; b8 40 00 2441 call 02f 5eh ; e8 1f 1d2442 movzx bx, byte [bp-00 ch] ; 0f b6 5e f42444 call 02f68h ; e8 1f 1d 2445 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2443 2446 sal bx, 006h ; c1 e3 06 2444 2447 mov bx, word [bx+048c6h] ; 8b 9f c6 48 2445 2448 mov dx, strict word 0004ch ; ba 4c 00 2446 2449 mov ax, strict word 00040h ; b8 40 00 2447 call 02f 5eh ; e8 0b 1d2450 call 02f68h ; e8 0b 1d 2448 2451 mov bx, si ; 89 f3 2449 2452 mov dx, strict word 00063h ; ba 63 00 2450 2453 mov ax, strict word 00040h ; b8 40 00 2451 call 02f 5eh ; e8 00 1d2454 call 02f68h ; e8 00 1d 2452 2455 movzx bx, byte [bp-016h] ; 0f b6 5e ea 2453 2456 mov dx, 00084h ; ba 84 00 2454 2457 mov ax, strict word 00040h ; b8 40 00 2455 call 02f4 2h ; e8 d7 1c2458 call 02f4ch ; e8 d7 1c 2456 2459 mov bx, word [bp-014h] ; 8b 5e ec 2457 2460 mov dx, 00085h ; ba 85 00 2458 2461 mov ax, strict word 00040h ; b8 40 00 2459 call 02f 5eh ; e8 e7 1c2462 call 02f68h ; e8 e7 1c 2460 2463 mov al, byte [bp-010h] ; 8a 46 f0 2461 2464 or AL, strict byte 060h ; 0c 60 … … 2463 2466 mov dx, 00087h ; ba 87 00 2464 2467 mov ax, strict word 00040h ; b8 40 00 2465 call 02f4 2h ; e8 ba 1c2468 call 02f4ch ; e8 ba 1c 2466 2469 mov bx, 000f9h ; bb f9 00 2467 2470 mov dx, 00088h ; ba 88 00 2468 2471 mov ax, strict word 00040h ; b8 40 00 2469 call 02f4 2h ; e8 ae 1c2472 call 02f4ch ; e8 ae 1c 2470 2473 mov dx, 00089h ; ba 89 00 2471 2474 mov ax, strict word 00040h ; b8 40 00 2472 call 02f3 4h ; e8 97 1c2475 call 02f3eh ; e8 97 1c 2473 2476 and AL, strict byte 07fh ; 24 7f 2474 2477 movzx bx, al ; 0f b6 d8 2475 2478 mov dx, 00089h ; ba 89 00 2476 2479 mov ax, strict word 00040h ; b8 40 00 2477 call 02f4 2h ; e8 97 1c2480 call 02f4ch ; e8 97 1c 2478 2481 mov bx, strict word 00008h ; bb 08 00 2479 2482 mov dx, 0008ah ; ba 8a 00 2480 2483 mov ax, strict word 00040h ; b8 40 00 2481 call 02f4 2h ; e8 8b 1c2484 call 02f4ch ; e8 8b 1c 2482 2485 mov cx, ds ; 8c d9 2483 2486 mov bx, 05593h ; bb 93 55 2484 2487 mov dx, 000a8h ; ba a8 00 2485 2488 mov ax, strict word 00040h ; b8 40 00 2486 call 02f 7eh ; e8 b9 1c2489 call 02f88h ; e8 b9 1c 2487 2490 xor bx, bx ; 31 db 2488 2491 mov dx, strict word 00065h ; ba 65 00 2489 2492 mov ax, strict word 00040h ; b8 40 00 2490 call 02f4 2h ; e8 72 1c2493 call 02f4ch ; e8 72 1c 2491 2494 xor bx, bx ; 31 db 2492 2495 mov dx, strict word 00066h ; ba 66 00 2493 2496 mov ax, strict word 00040h ; b8 40 00 2494 call 02f4 2h ; e8 67 1c2497 call 02f4ch ; e8 67 1c 2495 2498 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2496 2499 sal bx, 003h ; c1 e3 03 2497 2500 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2498 jne short 012f 2h ; 75 092501 jne short 012fch ; 75 09 2499 2502 mov dx, strict word 00007h ; ba 07 00 2500 2503 mov ax, strict word 00006h ; b8 06 00 2501 call 00dbah ; e8 c8fa2504 call 00dbah ; e8 be fa 2502 2505 xor bx, bx ; 31 db 2503 jmp short 01 2fbh ; eb 052506 jmp short 01305h ; eb 05 2504 2507 cmp bx, strict byte 00008h ; 83 fb 08 2505 jnc short 013 06h ; 73 0b2508 jnc short 01310h ; 73 0b 2506 2509 movzx ax, bl ; 0f b6 c3 2507 2510 xor dx, dx ; 31 d2 2508 call 00e5eh ; e8 5 bfb2511 call 00e5eh ; e8 51 fb 2509 2512 inc bx ; 43 2510 jmp short 01 2f6h ; eb f02513 jmp short 01300h ; eb f0 2511 2514 xor ax, ax ; 31 c0 2512 call 00f00h ; e8 f5fb2515 call 00f00h ; e8 eb fb 2513 2516 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2514 2517 sal bx, 003h ; c1 e3 03 2515 2518 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 2516 jne short 013 29h ; 75 102519 jne short 01333h ; 75 10 2517 2520 xor bl, bl ; 30 db 2518 2521 mov AL, strict byte 004h ; b0 04 … … 2525 2528 mov dx, 059afh ; ba af 59 2526 2529 mov ax, strict word 0001fh ; b8 1f 00 2527 call 00a00h ; e8 c ef62530 call 00a00h ; e8 c4 f6 2528 2531 mov ax, word [bp-014h] ; 8b 46 ec 2529 2532 cmp ax, strict word 00010h ; 3d 10 00 2530 je short 0135 4h ; 74 1a2533 je short 0135eh ; 74 1a 2531 2534 cmp ax, strict word 0000eh ; 3d 0e 00 2532 je short 013 4fh ; 74 102535 je short 01359h ; 74 10 2533 2536 cmp ax, strict word 00008h ; 3d 08 00 2534 jne short 013 59h ; 75 152537 jne short 01363h ; 75 15 2535 2538 mov dx, 055afh ; ba af 55 2536 2539 mov ax, strict word 00043h ; b8 43 00 2537 call 00a00h ; e8 b3f62538 jmp short 013 59h ; eb 0a2540 call 00a00h ; e8 a9 f6 2541 jmp short 01363h ; eb 0a 2539 2542 mov dx, 05dafh ; ba af 5d 2540 jmp short 013 47h ; eb f32543 jmp short 01351h ; eb f3 2541 2544 mov dx, 06bafh ; ba af 6b 2542 jmp short 013 47h ; eb ee2545 jmp short 01351h ; eb ee 2543 2546 lea sp, [bp-00ah] ; 8d 66 f6 2544 2547 pop di ; 5f … … 2549 2552 pop bp ; 5d 2550 2553 retn ; c3 2551 vgamem_copy_pl4_: ; 0xc136 3LB 0x762554 vgamem_copy_pl4_: ; 0xc136d LB 0x76 2552 2555 push bp ; 55 2553 2556 mov bp, sp ; 89 e5 … … 2575 2578 xor bl, bl ; 30 db 2576 2579 cmp bl, byte [bp+006h] ; 3a 5e 06 2577 jnc short 013 c9h ; 73 292580 jnc short 013d3h ; 73 29 2578 2581 movzx cx, bh ; 0f b6 cf 2579 2582 movzx si, bl ; 0f b6 f3 … … 2587 2590 mov es, dx ; 8e c2 2588 2591 cld ; fc 2589 jcxz 013c 5h ; e3 062592 jcxz 013cfh ; e3 06 2590 2593 push DS ; 1e 2591 2594 mov ds, dx ; 8e da … … 2594 2597 db 0feh, 0c3h 2595 2598 ; inc bl ; fe c3 2596 jmp short 013 9bh ; eb d22599 jmp short 013a5h ; eb d2 2597 2600 mov ax, strict word 00005h ; b8 05 00 2598 2601 mov dx, 003ceh ; ba ce 03 … … 2603 2606 pop bp ; 5d 2604 2607 retn 00004h ; c2 04 00 2605 vgamem_fill_pl4_: ; 0xc13 d9LB 0x612608 vgamem_fill_pl4_: ; 0xc13e3 LB 0x61 2606 2609 push bp ; 55 2607 2610 mov bp, sp ; 89 e5 … … 2624 2627 xor bl, bl ; 30 db 2625 2628 cmp bl, byte [bp+004h] ; 3a 5e 04 2626 jnc short 014 2bh ; 73 222629 jnc short 01435h ; 73 22 2627 2630 movzx cx, byte [bp-004h] ; 0f b6 4e fc 2628 2631 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2634 2637 mov es, dx ; 8e c2 2635 2638 cld ; fc 2636 jcxz 014 27h ; e3 022639 jcxz 01431h ; e3 02 2637 2640 rep stosb ; f3 aa 2638 2641 db 0feh, 0c3h 2639 2642 ; inc bl ; fe c3 2640 jmp short 0140 4h ; eb d92643 jmp short 0140eh ; eb d9 2641 2644 mov ax, strict word 00005h ; b8 05 00 2642 2645 mov dx, 003ceh ; ba ce 03 … … 2646 2649 pop bp ; 5d 2647 2650 retn 00004h ; c2 04 00 2648 vgamem_copy_cga_: ; 0xc14 3aLB 0xa42651 vgamem_copy_cga_: ; 0xc1444 LB 0xa4 2649 2652 push bp ; 55 2650 2653 mov bp, sp ; 89 e5 … … 2671 2674 xor bl, bl ; 30 db 2672 2675 cmp bl, byte [bp+006h] ; 3a 5e 06 2673 jnc short 014d 5h ; 73 612676 jnc short 014dfh ; 73 61 2674 2677 test bl, 001h ; f6 c3 01 2675 je short 014 aah ; 74 312678 je short 014b4h ; 74 31 2676 2679 movzx cx, bh ; 0f b6 cf 2677 2680 movzx si, bl ; 0f b6 f3 … … 2688 2691 mov es, dx ; 8e c2 2689 2692 cld ; fc 2690 jcxz 014 a8h ; e3 062693 jcxz 014b2h ; e3 06 2691 2694 push DS ; 1e 2692 2695 mov ds, dx ; 8e da 2693 2696 rep movsb ; f3 a4 2694 2697 pop DS ; 1f 2695 jmp short 014d 1h ; eb 272698 jmp short 014dbh ; eb 27 2696 2699 movzx cx, bh ; 0f b6 cf 2697 2700 movzx ax, bl ; 0f b6 c3 … … 2706 2709 mov es, dx ; 8e c2 2707 2710 cld ; fc 2708 jcxz 014d 1h ; e3 062711 jcxz 014dbh ; e3 06 2709 2712 push DS ; 1e 2710 2713 mov ds, dx ; 8e da … … 2713 2716 db 0feh, 0c3h 2714 2717 ; inc bl ; fe c3 2715 jmp short 014 6fh ; eb 9a2718 jmp short 01479h ; eb 9a 2716 2719 lea sp, [bp-004h] ; 8d 66 fc 2717 2720 pop di ; 5f … … 2719 2722 pop bp ; 5d 2720 2723 retn 00004h ; c2 04 00 2721 vgamem_fill_cga_: ; 0xc14 deLB 0x8a2724 vgamem_fill_cga_: ; 0xc14e8 LB 0x8a 2722 2725 push bp ; 55 2723 2726 mov bp, sp ; 89 e5 … … 2738 2741 xor bl, bl ; 30 db 2739 2742 cmp bl, byte [bp+004h] ; 3a 5e 04 2740 jnc short 015 5fh ; 73 572743 jnc short 01569h ; 73 57 2741 2744 test bl, 001h ; f6 c3 01 2742 je short 015 3ch ; 74 2f2745 je short 01546h ; 74 2f 2743 2746 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2744 2747 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2755 2758 mov es, dx ; 8e c2 2756 2759 cld ; fc 2757 jcxz 015 3ah ; e3 022760 jcxz 01544h ; e3 02 2758 2761 rep stosb ; f3 aa 2759 jmp short 015 5bh ; eb 1f2762 jmp short 01565h ; eb 1f 2760 2763 movzx cx, byte [bp-006h] ; 0f b6 4e fa 2761 2764 movzx ax, byte [bp+006h] ; 0f b6 46 06 … … 2768 2771 mov es, dx ; 8e c2 2769 2772 cld ; fc 2770 jcxz 015 5bh ; e3 022773 jcxz 01565h ; e3 02 2771 2774 rep stosb ; f3 aa 2772 2775 db 0feh, 0c3h 2773 2776 ; inc bl ; fe c3 2774 jmp short 0150 3h ; eb a42777 jmp short 0150dh ; eb a4 2775 2778 lea sp, [bp-004h] ; 8d 66 fc 2776 2779 pop di ; 5f … … 2778 2781 pop bp ; 5d 2779 2782 retn 00004h ; c2 04 00 2780 biosfn_scroll_: ; 0xc15 68LB 0x5062783 biosfn_scroll_: ; 0xc1572 LB 0x506 2781 2784 push bp ; 55 2782 2785 mov bp, sp ; 89 e5 … … 2789 2792 mov byte [bp-006h], cl ; 88 4e fa 2790 2793 cmp bl, byte [bp+004h] ; 3a 5e 04 2791 jnbe near 01a6 5h ; 0f 87 e2 042794 jnbe near 01a6fh ; 0f 87 e2 04 2792 2795 cmp cl, byte [bp+006h] ; 3a 4e 06 2793 jnbe near 01a6 5h ; 0f 87 db 042796 jnbe near 01a6fh ; 0f 87 db 04 2794 2797 mov dx, strict word 00049h ; ba 49 00 2795 2798 mov ax, strict word 00040h ; b8 40 00 2796 call 02f3 4h ; e8 a1 192799 call 02f3eh ; e8 a1 19 2797 2800 xor ah, ah ; 30 e4 2798 call 02f 0dh ; e8 75 192801 call 02f17h ; e8 75 19 2799 2802 mov byte [bp-00eh], al ; 88 46 f2 2800 2803 cmp AL, strict byte 0ffh ; 3c ff 2801 je near 01a6 5h ; 0f 84 c4 042804 je near 01a6fh ; 0f 84 c4 04 2802 2805 mov dx, 00084h ; ba 84 00 2803 2806 mov ax, strict word 00040h ; b8 40 00 2804 call 02f3 4h ; e8 8a 192807 call 02f3eh ; e8 8a 19 2805 2808 movzx cx, al ; 0f b6 c8 2806 2809 inc cx ; 41 2807 2810 mov dx, strict word 0004ah ; ba 4a 00 2808 2811 mov ax, strict word 00040h ; b8 40 00 2809 call 02f5 0h ; e8 99 192812 call 02f5ah ; e8 99 19 2810 2813 mov word [bp-016h], ax ; 89 46 ea 2811 2814 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 2812 jne short 015 cch ; 75 0c2815 jne short 015d6h ; 75 0c 2813 2816 mov dx, strict word 00062h ; ba 62 00 2814 2817 mov ax, strict word 00040h ; b8 40 00 2815 call 02f3 4h ; e8 6b 192818 call 02f3eh ; e8 6b 19 2816 2819 mov byte [bp+008h], al ; 88 46 08 2817 2820 movzx ax, byte [bp+004h] ; 0f b6 46 04 2818 2821 cmp ax, cx ; 39 c8 2819 jc short 015 dbh ; 72 072822 jc short 015e5h ; 72 07 2820 2823 mov al, cl ; 88 c8 2821 2824 db 0feh, 0c8h … … 2824 2827 movzx ax, byte [bp+006h] ; 0f b6 46 06 2825 2828 cmp ax, word [bp-016h] ; 3b 46 ea 2826 jc short 015 ech ; 72 082829 jc short 015f6h ; 72 08 2827 2830 mov al, byte [bp-016h] ; 8a 46 ea 2828 2831 db 0feh, 0c8h … … 2831 2834 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2832 2835 cmp ax, cx ; 39 c8 2833 jbe short 01 5f8h ; 76 042836 jbe short 01602h ; 76 04 2834 2837 mov byte [bp-010h], 000h ; c6 46 f0 00 2835 2838 mov al, byte [bp+006h] ; 8a 46 06 … … 2850 2853 imul ax, cx ; 0f af c1 2851 2854 cmp byte [di+04830h], 000h ; 80 bd 30 48 00 2852 jne near 017 c7h ; 0f 85 9f 012855 jne near 017d1h ; 0f 85 9f 01 2853 2856 mov dx, ax ; 89 c2 2854 2857 add dx, ax ; 01 c2 … … 2858 2861 imul bx, dx ; 0f af da 2859 2862 cmp byte [bp-010h], 000h ; 80 7e f0 00 2860 jne short 016 77h ; 75 3a2863 jne short 01681h ; 75 3a 2861 2864 cmp byte [bp-008h], 000h ; 80 7e f8 00 2862 jne short 016 77h ; 75 342865 jne short 01681h ; 75 34 2863 2866 cmp byte [bp-006h], 000h ; 80 7e fa 00 2864 jne short 016 77h ; 75 2e2867 jne short 01681h ; 75 2e 2865 2868 movzx dx, byte [bp+004h] ; 0f b6 56 04 2866 2869 cmp dx, word [bp-01ah] ; 3b 56 e6 2867 jne short 016 77h ; 75 252870 jne short 01681h ; 75 25 2868 2871 movzx dx, byte [bp+006h] ; 0f b6 56 06 2869 2872 cmp dx, word [bp-018h] ; 3b 56 e8 2870 jne short 016 77h ; 75 1c2873 jne short 01681h ; 75 1c 2871 2874 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 2872 2875 sal dx, 008h ; c1 e2 08 … … 2877 2880 mov di, bx ; 89 df 2878 2881 cld ; fc 2879 jcxz 0167 4h ; e3 022882 jcxz 0167eh ; e3 02 2880 2883 rep stosw ; f3 ab 2881 jmp near 01a6 5h ; e9 ee 032884 jmp near 01a6fh ; e9 ee 03 2882 2885 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 2883 jne near 017 1ch ; 0f 85 9d 002886 jne near 01726h ; 0f 85 9d 00 2884 2887 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2885 2888 mov word [bp-014h], ax ; 89 46 ec 2886 2889 movzx dx, byte [bp+004h] ; 0f b6 56 04 2887 2890 cmp dx, word [bp-014h] ; 3b 56 ec 2888 jc near 01a6 5h ; 0f 82 d4 032891 jc near 01a6fh ; 0f 82 d4 03 2889 2892 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2890 2893 add ax, word [bp-014h] ; 03 46 ec 2891 2894 cmp ax, dx ; 39 d0 2892 jnbe short 016a 2h ; 77 062895 jnbe short 016ach ; 77 06 2893 2896 cmp byte [bp-010h], 000h ; 80 7e f0 00 2894 jne short 016d 5h ; 75 332897 jne short 016dfh ; 75 33 2895 2898 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2896 2899 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2908 2911 mov es, [si+04833h] ; 8e 84 33 48 2909 2912 cld ; fc 2910 jcxz 016d 3h ; e3 022913 jcxz 016ddh ; e3 02 2911 2914 rep stosw ; f3 ab 2912 jmp short 017 16h ; eb 412915 jmp short 01720h ; eb 41 2913 2916 movzx dx, byte [bp-012h] ; 0f b6 56 ee 2914 2917 mov word [bp-01ch], dx ; 89 56 e4 … … 2932 2935 mov es, ax ; 8e c0 2933 2936 cld ; fc 2934 jcxz 017 16h ; e3 062937 jcxz 01720h ; e3 06 2935 2938 push DS ; 1e 2936 2939 mov ds, dx ; 8e da … … 2938 2941 pop DS ; 1f 2939 2942 inc word [bp-014h] ; ff 46 ec 2940 jmp near 016 86h ; e9 6a ff2943 jmp near 01690h ; e9 6a ff 2941 2944 movzx ax, byte [bp+004h] ; 0f b6 46 04 2942 2945 mov word [bp-014h], ax ; 89 46 ec 2943 2946 movzx ax, byte [bp-008h] ; 0f b6 46 f8 2944 2947 cmp ax, word [bp-014h] ; 3b 46 ec 2945 jnbe near 01a6 5h ; 0f 87 37 032948 jnbe near 01a6fh ; 0f 87 37 03 2946 2949 movzx dx, byte [bp-008h] ; 0f b6 56 f8 2947 2950 movzx ax, byte [bp-010h] ; 0f b6 46 f0 2948 2951 add ax, dx ; 01 d0 2949 2952 cmp ax, word [bp-014h] ; 3b 46 ec 2950 jnbe short 0174 3h ; 77 062953 jnbe short 0174dh ; 77 06 2951 2954 cmp byte [bp-010h], 000h ; 80 7e f0 00 2952 jne short 017 76h ; 75 332955 jne short 01780h ; 75 33 2953 2956 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2954 2957 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2966 2969 mov es, [si+04833h] ; 8e 84 33 48 2967 2970 cld ; fc 2968 jcxz 0177 4h ; e3 022971 jcxz 0177eh ; e3 02 2969 2972 rep stosw ; f3 ab 2970 jmp short 017 b6h ; eb 402973 jmp short 017c0h ; eb 40 2971 2974 movzx cx, byte [bp-012h] ; 0f b6 4e ee 2972 2975 movzx ax, byte [bp-010h] ; 0f b6 46 f0 … … 2989 2992 mov es, ax ; 8e c0 2990 2993 cld ; fc 2991 jcxz 017 b6h ; e3 062994 jcxz 017c0h ; e3 06 2992 2995 push DS ; 1e 2993 2996 mov ds, dx ; 8e da … … 2996 2999 movzx ax, byte [bp+004h] ; 0f b6 46 04 2997 3000 cmp ax, word [bp-014h] ; 3b 46 ec 2998 jc near 01a6 5h ; 0f 82 a4 023001 jc near 01a6fh ; 0f 82 a4 02 2999 3002 dec word [bp-014h] ; ff 4e ec 3000 jmp near 0172 3h ; e9 5c ff3003 jmp near 0172dh ; e9 5c ff 3001 3004 movzx bx, byte [si+048afh] ; 0f b6 9c af 48 3002 3005 sal bx, 006h ; c1 e3 06 … … 3005 3008 mov bl, byte [di+04831h] ; 8a 9d 31 48 3006 3009 cmp bl, 004h ; 80 fb 04 3007 je short 017 eeh ; 74 0f3010 je short 017f8h ; 74 0f 3008 3011 cmp bl, 003h ; 80 fb 03 3009 je short 017 eeh ; 74 0a3012 je short 017f8h ; 74 0a 3010 3013 cmp bl, 002h ; 80 fb 02 3011 je near 019 2dh ; 0f 84 42 013012 jmp near 01a6 5h ; e9 77 023014 je near 01937h ; 0f 84 42 01 3015 jmp near 01a6fh ; e9 77 02 3013 3016 cmp byte [bp-010h], 000h ; 80 7e f0 00 3014 jne short 018 46h ; 75 523017 jne short 01850h ; 75 52 3015 3018 cmp byte [bp-008h], 000h ; 80 7e f8 00 3016 jne short 018 46h ; 75 4c3019 jne short 01850h ; 75 4c 3017 3020 cmp byte [bp-006h], 000h ; 80 7e fa 00 3018 jne short 018 46h ; 75 463021 jne short 01850h ; 75 46 3019 3022 movzx dx, byte [bp+004h] ; 0f b6 56 04 3020 3023 mov ax, cx ; 89 c8 3021 3024 dec ax ; 48 3022 3025 cmp dx, ax ; 39 c2 3023 jne short 018 46h ; 75 3b3026 jne short 01850h ; 75 3b 3024 3027 movzx dx, byte [bp+006h] ; 0f b6 56 06 3025 3028 mov ax, word [bp-016h] ; 8b 46 ea 3026 3029 dec ax ; 48 3027 3030 cmp dx, ax ; 39 c2 3028 jne short 018 46h ; 75 2f3031 jne short 01850h ; 75 2f 3029 3032 mov ax, 00205h ; b8 05 02 3030 3033 mov dx, 003ceh ; ba ce 03 … … 3039 3042 xor di, di ; 31 ff 3040 3043 cld ; fc 3041 jcxz 018 3fh ; e3 023044 jcxz 01849h ; e3 02 3042 3045 rep stosb ; f3 aa 3043 3046 mov ax, strict word 00005h ; b8 05 00 3044 3047 out DX, ax ; ef 3045 jmp near 01a6 5h ; e9 1f 023048 jmp near 01a6fh ; e9 1f 02 3046 3049 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3047 jne short 018b 5h ; 75 693050 jne short 018bfh ; 75 69 3048 3051 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3049 3052 mov word [bp-014h], ax ; 89 46 ec 3050 3053 movzx ax, byte [bp+004h] ; 0f b6 46 04 3051 3054 cmp ax, word [bp-014h] ; 3b 46 ec 3052 jc near 01a6 5h ; 0f 82 07 023055 jc near 01a6fh ; 0f 82 07 02 3053 3056 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3054 3057 add dx, word [bp-014h] ; 03 56 ec 3055 3058 cmp dx, ax ; 39 c2 3056 jnbe short 018 6fh ; 77 063059 jnbe short 01879h ; 77 06 3057 3060 cmp byte [bp-010h], 000h ; 80 7e f0 00 3058 jne short 018 8eh ; 75 1f3061 jne short 01898h ; 75 1f 3059 3062 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3060 3063 push ax ; 50 … … 3065 3068 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3066 3069 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3067 call 013 d9h ; e8 4d fb3068 jmp short 018b 0h ; eb 223070 call 013e3h ; e8 4d fb 3071 jmp short 018bah ; eb 22 3069 3072 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3070 3073 push ax ; 50 … … 3077 3080 movzx dx, al ; 0f b6 d0 3078 3081 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3079 call 0136 3h ; e8 b3 fa3082 call 0136dh ; e8 b3 fa 3080 3083 inc word [bp-014h] ; ff 46 ec 3081 jmp short 0185 3h ; eb 9e3084 jmp short 0185dh ; eb 9e 3082 3085 movzx ax, byte [bp+004h] ; 0f b6 46 04 3083 3086 mov word [bp-014h], ax ; 89 46 ec 3084 3087 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3085 3088 cmp ax, word [bp-014h] ; 3b 46 ec 3086 jnbe near 01a6 5h ; 0f 87 9e 013089 jnbe near 01a6fh ; 0f 87 9e 01 3087 3090 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3088 3091 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3089 3092 add ax, dx ; 01 d0 3090 3093 cmp ax, word [bp-014h] ; 3b 46 ec 3091 jnbe short 018 dch ; 77 063094 jnbe short 018e6h ; 77 06 3092 3095 cmp byte [bp-010h], 000h ; 80 7e f0 00 3093 jne short 01 8fbh ; 75 1f3096 jne short 01905h ; 75 1f 3094 3097 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3095 3098 push ax ; 50 … … 3100 3103 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3101 3104 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3102 call 013 d9h ; e8 e0 fa3103 jmp short 019 1dh ; eb 223105 call 013e3h ; e8 e0 fa 3106 jmp short 01927h ; eb 22 3104 3107 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3105 3108 push ax ; 50 … … 3112 3115 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3113 3116 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3114 call 0136 3h ; e8 46 fa3117 call 0136dh ; e8 46 fa 3115 3118 movzx ax, byte [bp+004h] ; 0f b6 46 04 3116 3119 cmp ax, word [bp-014h] ; 3b 46 ec 3117 jc near 01a6 5h ; 0f 82 3d 013120 jc near 01a6fh ; 0f 82 3d 01 3118 3121 dec word [bp-014h] ; ff 4e ec 3119 jmp short 018 bch ; eb 8f3122 jmp short 018c6h ; eb 8f 3120 3123 mov dl, byte [di+04832h] ; 8a 95 32 48 3121 3124 cmp byte [bp-010h], 000h ; 80 7e f0 00 3122 jne short 0197 4h ; 75 3d3125 jne short 0197eh ; 75 3d 3123 3126 cmp byte [bp-008h], 000h ; 80 7e f8 00 3124 jne short 0197 4h ; 75 373127 jne short 0197eh ; 75 37 3125 3128 cmp byte [bp-006h], 000h ; 80 7e fa 00 3126 jne short 0197 4h ; 75 313129 jne short 0197eh ; 75 31 3127 3130 movzx bx, byte [bp+004h] ; 0f b6 5e 04 3128 3131 cmp bx, word [bp-01ah] ; 3b 5e e6 3129 jne short 0197 4h ; 75 283132 jne short 0197eh ; 75 28 3130 3133 movzx bx, byte [bp+006h] ; 0f b6 5e 06 3131 3134 cmp bx, word [bp-018h] ; 3b 5e e8 3132 jne short 0197 4h ; 75 1f3135 jne short 0197eh ; 75 1f 3133 3136 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3134 3137 imul ax, bx ; 0f af c3 … … 3139 3142 xor di, di ; 31 ff 3140 3143 cld ; fc 3141 jcxz 0197 1h ; e3 023144 jcxz 0197bh ; e3 02 3142 3145 rep stosb ; f3 aa 3143 jmp near 01a6 5h ; e9 f1 003146 jmp near 01a6fh ; e9 f1 00 3144 3147 cmp dl, 002h ; 80 fa 02 3145 jne short 0198 2h ; 75 093148 jne short 0198ch ; 75 09 3146 3149 sal byte [bp-006h], 1 ; d0 66 fa 3147 3150 sal byte [bp-012h], 1 ; d0 66 ee 3148 3151 sal word [bp-016h], 1 ; d1 66 ea 3149 3152 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3150 jne short 019f 1h ; 75 693153 jne short 019fbh ; 75 69 3151 3154 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3152 3155 mov word [bp-014h], ax ; 89 46 ec 3153 3156 movzx ax, byte [bp+004h] ; 0f b6 46 04 3154 3157 cmp ax, word [bp-014h] ; 3b 46 ec 3155 jc near 01a6 5h ; 0f 82 cb 003158 jc near 01a6fh ; 0f 82 cb 00 3156 3159 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3157 3160 add dx, word [bp-014h] ; 03 56 ec 3158 3161 cmp dx, ax ; 39 c2 3159 jnbe short 019 abh ; 77 063162 jnbe short 019b5h ; 77 06 3160 3163 cmp byte [bp-010h], 000h ; 80 7e f0 00 3161 jne short 019 cah ; 75 1f3164 jne short 019d4h ; 75 1f 3162 3165 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3163 3166 push ax ; 50 … … 3168 3171 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3169 3172 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3170 call 014 deh ; e8 16 fb3171 jmp short 019 ech ; eb 223173 call 014e8h ; e8 16 fb 3174 jmp short 019f6h ; eb 22 3172 3175 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3173 3176 push ax ; 50 … … 3180 3183 movzx dx, al ; 0f b6 d0 3181 3184 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3182 call 014 3ah ; e8 4e fa3185 call 01444h ; e8 4e fa 3183 3186 inc word [bp-014h] ; ff 46 ec 3184 jmp short 019 8fh ; eb 9e3187 jmp short 01999h ; eb 9e 3185 3188 movzx ax, byte [bp+004h] ; 0f b6 46 04 3186 3189 mov word [bp-014h], ax ; 89 46 ec 3187 3190 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3188 3191 cmp ax, word [bp-014h] ; 3b 46 ec 3189 jnbe short 01a6 5h ; 77 643192 jnbe short 01a6fh ; 77 64 3190 3193 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3191 3194 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3192 3195 add ax, dx ; 01 d0 3193 3196 cmp ax, word [bp-014h] ; 3b 46 ec 3194 jnbe short 01a 16h ; 77 063197 jnbe short 01a20h ; 77 06 3195 3198 cmp byte [bp-010h], 000h ; 80 7e f0 00 3196 jne short 01a3 5h ; 75 1f3199 jne short 01a3fh ; 75 1f 3197 3200 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3198 3201 push ax ; 50 … … 3203 3206 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3204 3207 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3205 call 014 deh ; e8 ab fa3206 jmp short 01a 57h ; eb 223208 call 014e8h ; e8 ab fa 3209 jmp short 01a61h ; eb 22 3207 3210 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3208 3211 push ax ; 50 … … 3215 3218 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3216 3219 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3217 call 014 3ah ; e8 e3 f93220 call 01444h ; e8 e3 f9 3218 3221 movzx ax, byte [bp+004h] ; 0f b6 46 04 3219 3222 cmp ax, word [bp-014h] ; 3b 46 ec 3220 jc short 01a6 5h ; 72 053223 jc short 01a6fh ; 72 05 3221 3224 dec word [bp-014h] ; ff 4e ec 3222 jmp short 01 9f8h ; eb 933225 jmp short 01a02h ; eb 93 3223 3226 lea sp, [bp-004h] ; 8d 66 fc 3224 3227 pop di ; 5f … … 3226 3229 pop bp ; 5d 3227 3230 retn 00008h ; c2 08 00 3228 write_gfx_char_pl4_: ; 0xc1a 6eLB 0xeb3231 write_gfx_char_pl4_: ; 0xc1a78 LB 0xeb 3229 3232 push bp ; 55 3230 3233 mov bp, sp ; 89 e5 … … 3235 3238 mov ah, bl ; 88 dc 3236 3239 cmp byte [bp+006h], 010h ; 80 7e 06 10 3237 je short 01a 8ch ; 74 0b3240 je short 01a96h ; 74 0b 3238 3241 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3239 jne short 01a9 1h ; 75 0a3242 jne short 01a9bh ; 75 0a 3240 3243 mov di, 05dafh ; bf af 5d 3241 jmp short 01a9 4h ; eb 083244 jmp short 01a9eh ; eb 08 3242 3245 mov di, 06bafh ; bf af 6b 3243 jmp short 01a9 4h ; eb 033246 jmp short 01a9eh ; eb 03 3244 3247 mov di, 055afh ; bf af 55 3245 3248 movzx si, cl ; 0f b6 f1 … … 3261 3264 out DX, ax ; ef 3262 3265 test byte [bp-006h], 080h ; f6 46 fa 80 3263 je short 01a cfh ; 74 063266 je short 01ad9h ; 74 06 3264 3267 mov ax, 01803h ; b8 03 18 3265 3268 out DX, ax ; ef 3266 jmp short 01ad 3h ; eb 043269 jmp short 01addh ; eb 04 3267 3270 mov ax, strict word 00003h ; b8 03 00 3268 3271 out DX, ax ; ef 3269 3272 xor ch, ch ; 30 ed 3270 3273 cmp ch, byte [bp+006h] ; 3a 6e 06 3271 jnc short 01b4 1h ; 73 673274 jnc short 01b4bh ; 73 67 3272 3275 movzx si, ch ; 0f b6 f5 3273 3276 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 3275 3278 add si, word [bp-00eh] ; 03 76 f2 3276 3279 mov byte [bp-008h], 000h ; c6 46 f8 00 3277 jmp short 01b0 0h ; eb 133280 jmp short 01b0ah ; eb 13 3278 3281 xor bx, bx ; 31 db 3279 3282 mov dx, si ; 89 f2 3280 3283 mov ax, 0a000h ; b8 00 a0 3281 call 02f4 2h ; e8 4b 143284 call 02f4ch ; e8 4b 14 3282 3285 inc byte [bp-008h] ; fe 46 f8 3283 3286 cmp byte [bp-008h], 008h ; 80 7e f8 08 3284 jnc short 01b 3dh ; 73 3d3287 jnc short 01b47h ; 73 3d 3285 3288 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3286 3289 mov cl, al ; 88 c1 … … 3295 3298 mov dx, si ; 89 f2 3296 3299 mov ax, 0a000h ; b8 00 a0 3297 call 02f3 4h ; e8 13 143300 call 02f3eh ; e8 13 14 3298 3301 movzx ax, ch ; 0f b6 c5 3299 3302 add ax, word [bp-00ah] ; 03 46 f6 … … 3302 3305 movzx ax, byte [bx] ; 0f b6 07 3303 3306 test word [bp-00ch], ax ; 85 46 f4 3304 je short 01a edh ; 74 ba3307 je short 01af7h ; 74 ba 3305 3308 mov al, byte [bp-006h] ; 8a 46 fa 3306 3309 and AL, strict byte 00fh ; 24 0f 3307 3310 movzx bx, al ; 0f b6 d8 3308 jmp short 01a efh ; eb b23311 jmp short 01af9h ; eb b2 3309 3312 db 0feh, 0c5h 3310 3313 ; inc ch ; fe c5 3311 jmp short 01ad 5h ; eb 943314 jmp short 01adfh ; eb 94 3312 3315 mov ax, 0ff08h ; b8 08 ff 3313 3316 mov dx, 003ceh ; ba ce 03 … … 3322 3325 pop bp ; 5d 3323 3326 retn 00004h ; c2 04 00 3324 write_gfx_char_cga_: ; 0xc1b 59LB 0x11e3327 write_gfx_char_cga_: ; 0xc1b63 LB 0x11e 3325 3328 push bp ; 55 3326 3329 mov bp, sp ; 89 e5 … … 3340 3343 sal di, 003h ; c1 e7 03 3341 3344 mov byte [bp-006h], 000h ; c6 46 fa 00 3342 jmp near 01b d9h ; e9 50 003345 jmp near 01be3h ; e9 50 00 3343 3346 xor al, al ; 30 c0 3344 3347 xor ah, ah ; 30 e4 3345 jmp short 01b 9ah ; eb 0b3348 jmp short 01ba4h ; eb 0b 3346 3349 or al, bl ; 08 d8 3347 3350 shr ch, 1 ; d0 ed … … 3349 3352 ; inc ah ; fe c4 3350 3353 cmp ah, 008h ; 80 fc 08 3351 jnc short 01bc 2h ; 73 283354 jnc short 01bcch ; 73 28 3352 3355 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3353 3356 add bx, di ; 01 fb … … 3356 3359 movzx dx, ch ; 0f b6 d5 3357 3360 test bx, dx ; 85 d3 3358 je short 01b9 1h ; 74 e53361 je short 01b9bh ; 74 e5 3359 3362 mov CL, strict byte 007h ; b1 07 3360 3363 sub cl, ah ; 28 e1 … … 3363 3366 sal bl, CL ; d2 e3 3364 3367 test byte [bp-008h], 080h ; f6 46 f8 80 3365 je short 01b 8fh ; 74 d13368 je short 01b99h ; 74 d1 3366 3369 xor al, bl ; 30 d8 3367 jmp short 01b9 1h ; eb cf3370 jmp short 01b9bh ; eb cf 3368 3371 movzx bx, al ; 0f b6 d8 3369 3372 mov dx, word [bp-00ah] ; 8b 56 f6 3370 3373 mov ax, 0b800h ; b8 00 b8 3371 call 02f4 2h ; e8 74 133374 call 02f4ch ; e8 74 13 3372 3375 inc byte [bp-006h] ; fe 46 fa 3373 3376 cmp byte [bp-006h], 008h ; 80 7e fa 08 3374 jnc near 01c 6eh ; 0f 83 95 003377 jnc near 01c78h ; 0f 83 95 00 3375 3378 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3376 3379 sar ax, 1 ; d1 f8 … … 3380 3383 mov word [bp-00ah], bx ; 89 5e f6 3381 3384 test byte [bp-006h], 001h ; f6 46 fa 01 3382 je short 01bf 4h ; 74 043385 je short 01bfeh ; 74 04 3383 3386 add byte [bp-009h], 020h ; 80 46 f7 20 3384 3387 mov CH, strict byte 080h ; b5 80 3385 3388 cmp byte [bp+006h], 001h ; 80 7e 06 01 3386 jne short 01c 0dh ; 75 113389 jne short 01c17h ; 75 11 3387 3390 test byte [bp-008h], ch ; 84 6e f8 3388 je short 01b 89h ; 74 883391 je short 01b93h ; 74 88 3389 3392 mov dx, word [bp-00ah] ; 8b 56 f6 3390 3393 mov ax, 0b800h ; b8 00 b8 3391 call 02f3 4h ; e8 2a 133392 jmp near 01b 8bh ; e9 7e ff3394 call 02f3eh ; e8 2a 13 3395 jmp near 01b95h ; e9 7e ff 3393 3396 test ch, ch ; 84 ed 3394 jbe short 01b ceh ; 76 bd3397 jbe short 01bd8h ; 76 bd 3395 3398 test byte [bp-008h], 080h ; f6 46 f8 80 3396 je short 01c2 2h ; 74 0b3399 je short 01c2ch ; 74 0b 3397 3400 mov dx, word [bp-00ah] ; 8b 56 f6 3398 3401 mov ax, 0b800h ; b8 00 b8 3399 call 02f3 4h ; e8 14 133400 jmp short 01c2 4h ; eb 023402 call 02f3eh ; e8 14 13 3403 jmp short 01c2eh ; eb 02 3401 3404 xor al, al ; 30 c0 3402 3405 xor ah, ah ; 30 e4 3403 jmp short 01c3 3h ; eb 0b3406 jmp short 01c3dh ; eb 0b 3404 3407 or al, bl ; 08 d8 3405 3408 shr ch, 1 ; d0 ed … … 3407 3410 ; inc ah ; fe c4 3408 3411 cmp ah, 004h ; 80 fc 04 3409 jnc short 01c 5dh ; 73 2a3412 jnc short 01c67h ; 73 2a 3410 3413 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3411 3414 add bx, di ; 01 fb … … 3414 3417 movzx bx, ch ; 0f b6 dd 3415 3418 test bx, dx ; 85 d3 3416 je short 01c 2ah ; 74 e53419 je short 01c34h ; 74 e5 3417 3420 mov CL, strict byte 003h ; b1 03 3418 3421 sub cl, ah ; 28 e1 … … 3422 3425 sal bl, CL ; d2 e3 3423 3426 test byte [bp-008h], 080h ; f6 46 f8 80 3424 je short 01c 28h ; 74 cf3427 je short 01c32h ; 74 cf 3425 3428 xor al, bl ; 30 d8 3426 jmp short 01c 2ah ; eb cd3429 jmp short 01c34h ; eb cd 3427 3430 movzx bx, al ; 0f b6 d8 3428 3431 mov dx, word [bp-00ah] ; 8b 56 f6 3429 3432 mov ax, 0b800h ; b8 00 b8 3430 call 02f4 2h ; e8 d9 123433 call 02f4ch ; e8 d9 12 3431 3434 inc word [bp-00ah] ; ff 46 f6 3432 jmp short 01c 0dh ; eb 9f3435 jmp short 01c17h ; eb 9f 3433 3436 lea sp, [bp-004h] ; 8d 66 fc 3434 3437 pop di ; 5f … … 3436 3439 pop bp ; 5d 3437 3440 retn 00004h ; c2 04 00 3438 write_gfx_char_lin_: ; 0xc1c 77LB 0x913441 write_gfx_char_lin_: ; 0xc1c81 LB 0x91 3439 3442 push bp ; 55 3440 3443 mov bp, sp ; 89 e5 … … 3455 3458 sal si, 003h ; c1 e6 03 3456 3459 xor cl, cl ; 30 c9 3457 jmp short 01ce 2h ; eb 3b3460 jmp short 01cech ; eb 3b 3458 3461 cmp ch, 008h ; 80 fd 08 3459 jnc short 01c dbh ; 73 2f3462 jnc short 01ce5h ; 73 2f 3460 3463 xor al, al ; 30 c0 3461 3464 movzx dx, cl ; 0f b6 d1 … … 3466 3469 movzx bx, byte [bp-008h] ; 0f b6 5e f8 3467 3470 test dx, bx ; 85 da 3468 je short 01cc 5h ; 74 033471 je short 01ccfh ; 74 03 3469 3472 mov al, byte [bp-006h] ; 8a 46 fa 3470 3473 movzx bx, al ; 0f b6 d8 … … 3472 3475 add dx, word [bp-00ah] ; 03 56 f6 3473 3476 mov ax, 0a000h ; b8 00 a0 3474 call 02f4 2h ; e8 6e 123477 call 02f4ch ; e8 6e 12 3475 3478 shr byte [bp-008h], 1 ; d0 6e f8 3476 3479 db 0feh, 0c5h 3477 3480 ; inc ch ; fe c5 3478 jmp short 01c a7h ; eb cc3481 jmp short 01cb1h ; eb cc 3479 3482 db 0feh, 0c1h 3480 3483 ; inc cl ; fe c1 3481 3484 cmp cl, 008h ; 80 f9 08 3482 jnc short 01 cffh ; 73 1d3485 jnc short 01d09h ; 73 1d 3483 3486 movzx bx, cl ; 0f b6 d9 3484 3487 movzx dx, byte [bp+004h] ; 0f b6 56 04 … … 3490 3493 mov byte [bp-008h], 080h ; c6 46 f8 80 3491 3494 xor ch, ch ; 30 ed 3492 jmp short 01c ach ; eb ad3495 jmp short 01cb6h ; eb ad 3493 3496 lea sp, [bp-004h] ; 8d 66 fc 3494 3497 pop di ; 5f … … 3496 3499 pop bp ; 5d 3497 3500 retn 00002h ; c2 02 00 3498 biosfn_write_char_attr_: ; 0xc1d 08LB 0x1683501 biosfn_write_char_attr_: ; 0xc1d12 LB 0x168 3499 3502 push bp ; 55 3500 3503 mov bp, sp ; 89 e5 … … 3508 3511 mov dx, strict word 00049h ; ba 49 00 3509 3512 mov ax, strict word 00040h ; b8 40 00 3510 call 02f3 4h ; e8 10 123513 call 02f3eh ; e8 10 12 3511 3514 xor ah, ah ; 30 e4 3512 call 02f 0dh ; e8 e4 113515 call 02f17h ; e8 e4 11 3513 3516 mov cl, al ; 88 c1 3514 3517 mov byte [bp-006h], al ; 88 46 fa 3515 3518 cmp AL, strict byte 0ffh ; 3c ff 3516 je near 01e 69h ; 0f 84 35 013519 je near 01e73h ; 0f 84 35 01 3517 3520 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3518 3521 lea bx, [bp-01ch] ; 8d 5e e4 3519 3522 lea dx, [bp-01ah] ; 8d 56 e6 3520 call 00a88h ; e8 47ed3523 call 00a88h ; e8 3d ed 3521 3524 mov al, byte [bp-01ch] ; 8a 46 e4 3522 3525 mov byte [bp-00ch], al ; 88 46 f4 … … 3527 3530 mov dx, 00084h ; ba 84 00 3528 3531 mov ax, strict word 00040h ; b8 40 00 3529 call 02f3 4h ; e8 d9 113532 call 02f3eh ; e8 d9 11 3530 3533 xor ah, ah ; 30 e4 3531 3534 inc ax ; 40 … … 3533 3536 mov dx, strict word 0004ah ; ba 4a 00 3534 3537 mov ax, strict word 00040h ; b8 40 00 3535 call 02f5 0h ; e8 e6 113538 call 02f5ah ; e8 e6 11 3536 3539 mov word [bp-016h], ax ; 89 46 ea 3537 3540 movzx bx, cl ; 0f b6 d9 … … 3539 3542 sal di, 003h ; c1 e7 03 3540 3543 cmp byte [di+04830h], 000h ; 80 bd 30 48 00 3541 jne short 01dc 3h ; 75 473544 jne short 01dcdh ; 75 47 3542 3545 mov bx, word [bp-018h] ; 8b 5e e8 3543 3546 imul bx, ax ; 0f af d8 … … 3563 3566 mov di, dx ; 89 d7 3564 3567 cld ; fc 3565 jcxz 01dc 0h ; e3 023568 jcxz 01dcah ; e3 02 3566 3569 rep stosw ; f3 ab 3567 jmp near 01e 69h ; e9 a6 003570 jmp near 01e73h ; e9 a6 00 3568 3571 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 3569 3572 sal bx, 006h ; c1 e3 06 … … 3574 3577 dec si ; 4e 3575 3578 cmp si, strict byte 0ffffh ; 83 fe ff 3576 je near 01e 69h ; 0f 84 88 003579 je near 01e73h ; 0f 84 88 00 3577 3580 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3578 3581 cmp ax, word [bp-016h] ; 3b 46 ea 3579 jnc near 01e 69h ; 0f 83 7d 003582 jnc near 01e73h ; 0f 83 7d 00 3580 3583 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3581 3584 sal bx, 003h ; c1 e3 03 3582 3585 mov al, byte [bx+04831h] ; 8a 87 31 48 3583 3586 cmp AL, strict byte 003h ; 3c 03 3584 jc short 01e 07h ; 72 0c3585 jbe short 01e 0dh ; 76 103587 jc short 01e11h ; 72 0c 3588 jbe short 01e17h ; 76 10 3586 3589 cmp AL, strict byte 005h ; 3c 05 3587 je short 01e 4bh ; 74 4a3590 je short 01e55h ; 74 4a 3588 3591 cmp AL, strict byte 004h ; 3c 04 3589 je short 01e 0dh ; 74 083590 jmp short 01e6 3h ; eb 5c3592 je short 01e17h ; 74 08 3593 jmp short 01e6dh ; eb 5c 3591 3594 cmp AL, strict byte 002h ; 3c 02 3592 je short 01e 2ch ; 74 213593 jmp short 01e6 3h ; eb 563595 je short 01e36h ; 74 21 3596 jmp short 01e6dh ; eb 56 3594 3597 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3595 3598 push ax ; 50 … … 3600 3603 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3601 3604 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3602 call 01a 6eh ; e8 44 fc3603 jmp short 01e6 3h ; eb 373605 call 01a78h ; e8 44 fc 3606 jmp short 01e6dh ; eb 37 3604 3607 movzx ax, byte [bp-014h] ; 0f b6 46 ec 3605 3608 push ax ; 50 … … 3610 3613 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3611 3614 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3612 call 01b 59h ; e8 10 fd3613 jmp short 01e6 3h ; eb 183615 call 01b63h ; e8 10 fd 3616 jmp short 01e6dh ; eb 18 3614 3617 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3615 3618 push ax ; 50 … … 3618 3621 movzx dx, byte [bp-012h] ; 0f b6 56 ee 3619 3622 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3620 call 01c 77h ; e8 14 fe3623 call 01c81h ; e8 14 fe 3621 3624 inc byte [bp-00ch] ; fe 46 f4 3622 jmp near 01d d9h ; e9 70 ff3625 jmp near 01de3h ; e9 70 ff 3623 3626 lea sp, [bp-004h] ; 8d 66 fc 3624 3627 pop di ; 5f … … 3626 3629 pop bp ; 5d 3627 3630 retn ; c3 3628 biosfn_write_char_only_: ; 0xc1e7 0LB 0x16f3631 biosfn_write_char_only_: ; 0xc1e7a LB 0x16f 3629 3632 push bp ; 55 3630 3633 mov bp, sp ; 89 e5 … … 3638 3641 mov dx, strict word 00049h ; ba 49 00 3639 3642 mov ax, strict word 00040h ; b8 40 00 3640 call 02f3 4h ; e8 a8 103643 call 02f3eh ; e8 a8 10 3641 3644 xor ah, ah ; 30 e4 3642 call 02f 0dh ; e8 7c 103645 call 02f17h ; e8 7c 10 3643 3646 mov cl, al ; 88 c1 3644 3647 mov byte [bp-00eh], al ; 88 46 f2 3645 3648 cmp AL, strict byte 0ffh ; 3c ff 3646 je near 01f d8h ; 0f 84 3c 013649 je near 01fe2h ; 0f 84 3c 01 3647 3650 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3648 3651 lea bx, [bp-01ch] ; 8d 5e e4 3649 3652 lea dx, [bp-01ah] ; 8d 56 e6 3650 call 00a88h ; e8 d feb3653 call 00a88h ; e8 d5 eb 3651 3654 mov al, byte [bp-01ch] ; 8a 46 e4 3652 3655 mov byte [bp-00ch], al ; 88 46 f4 … … 3657 3660 mov dx, 00084h ; ba 84 00 3658 3661 mov ax, strict word 00040h ; b8 40 00 3659 call 02f3 4h ; e8 71 103662 call 02f3eh ; e8 71 10 3660 3663 xor ah, ah ; 30 e4 3661 3664 inc ax ; 40 … … 3663 3666 mov dx, strict word 0004ah ; ba 4a 00 3664 3667 mov ax, strict word 00040h ; b8 40 00 3665 call 02f5 0h ; e8 7e 103668 call 02f5ah ; e8 7e 10 3666 3669 mov word [bp-016h], ax ; 89 46 ea 3667 3670 movzx di, cl ; 0f b6 f9 … … 3669 3672 sal bx, 003h ; c1 e3 03 3670 3673 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3671 jne short 01f 2eh ; 75 4a3674 jne short 01f38h ; 75 4a 3672 3675 mov dx, word [bp-018h] ; 8b 56 e8 3673 3676 imul dx, ax ; 0f af d0 … … 3686 3689 dec si ; 4e 3687 3690 cmp si, strict byte 0ffffh ; 83 fe ff 3688 je near 01f d8h ; 0f 84 c6 003691 je near 01fe2h ; 0f 84 c6 00 3689 3692 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3690 3693 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 … … 3694 3697 mov dx, cx ; 89 ca 3695 3698 mov ax, di ; 89 f8 3696 call 02f4 2h ; e8 18 103697 inc cx ; 41 3698 inc cx ; 41 3699 jmp short 01f 0ah ; eb dc3699 call 02f4ch ; e8 18 10 3700 inc cx ; 41 3701 inc cx ; 41 3702 jmp short 01f14h ; eb dc 3700 3703 movzx di, byte [di+048afh] ; 0f b6 bd af 48 3701 3704 sal di, 006h ; c1 e7 06 … … 3706 3709 dec si ; 4e 3707 3710 cmp si, strict byte 0ffffh ; 83 fe ff 3708 je near 01f d8h ; 0f 84 8c 003711 je near 01fe2h ; 0f 84 8c 00 3709 3712 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3710 3713 cmp ax, word [bp-016h] ; 3b 46 ea 3711 jnc near 01f d8h ; 0f 83 81 003714 jnc near 01fe2h ; 0f 83 81 00 3712 3715 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3713 3716 sal bx, 003h ; c1 e3 03 3714 3717 mov bl, byte [bx+04831h] ; 8a 9f 31 48 3715 3718 cmp bl, 003h ; 80 fb 03 3716 jc short 01f7 5h ; 72 0e3717 jbe short 01f 7ch ; 76 133719 jc short 01f7fh ; 72 0e 3720 jbe short 01f86h ; 76 13 3718 3721 cmp bl, 005h ; 80 fb 05 3719 je short 01f bah ; 74 4c3722 je short 01fc4h ; 74 4c 3720 3723 cmp bl, 004h ; 80 fb 04 3721 je short 01f 7ch ; 74 093722 jmp short 01fd 2h ; eb 5d3724 je short 01f86h ; 74 09 3725 jmp short 01fdch ; eb 5d 3723 3726 cmp bl, 002h ; 80 fb 02 3724 je short 01f 9bh ; 74 213725 jmp short 01fd 2h ; eb 563727 je short 01fa5h ; 74 21 3728 jmp short 01fdch ; eb 56 3726 3729 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3727 3730 push ax ; 50 … … 3732 3735 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3733 3736 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3734 call 01a 6eh ; e8 d5 fa3735 jmp short 01fd 2h ; eb 373737 call 01a78h ; e8 d5 fa 3738 jmp short 01fdch ; eb 37 3736 3739 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3737 3740 push ax ; 50 … … 3742 3745 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3743 3746 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3744 call 01b 59h ; e8 a1 fb3745 jmp short 01fd 2h ; eb 183747 call 01b63h ; e8 a1 fb 3748 jmp short 01fdch ; eb 18 3746 3749 movzx ax, byte [bp-016h] ; 0f b6 46 ea 3747 3750 push ax ; 50 … … 3750 3753 movzx dx, byte [bp-014h] ; 0f b6 56 ec 3751 3754 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3752 call 01c 77h ; e8 a5 fc3755 call 01c81h ; e8 a5 fc 3753 3756 inc byte [bp-00ch] ; fe 46 f4 3754 jmp near 01f4 4h ; e9 6c ff3757 jmp near 01f4eh ; e9 6c ff 3755 3758 lea sp, [bp-004h] ; 8d 66 fc 3756 3759 pop di ; 5f … … 3758 3761 pop bp ; 5d 3759 3762 retn ; c3 3760 biosfn_write_pixel_: ; 0xc1f dfLB 0x16a3763 biosfn_write_pixel_: ; 0xc1fe9 LB 0x16a 3761 3764 push bp ; 55 3762 3765 mov bp, sp ; 89 e5 … … 3767 3770 mov dx, strict word 00049h ; ba 49 00 3768 3771 mov ax, strict word 00040h ; b8 40 00 3769 call 02f3 4h ; e8 3f 0f3772 call 02f3eh ; e8 3f 0f 3770 3773 xor ah, ah ; 30 e4 3771 call 02f 0dh ; e8 13 0f3774 call 02f17h ; e8 13 0f 3772 3775 mov byte [bp-004h], al ; 88 46 fc 3773 3776 cmp AL, strict byte 0ffh ; 3c ff 3774 je near 0212 1h ; 0f 84 1e 013777 je near 0212bh ; 0f 84 1e 01 3775 3778 movzx bx, al ; 0f b6 d8 3776 3779 sal bx, 003h ; c1 e3 03 3777 3780 cmp byte [bx+04830h], 000h ; 80 bf 30 48 00 3778 je near 0212 1h ; 0f 84 0f 013781 je near 0212bh ; 0f 84 0f 01 3779 3782 mov al, byte [bx+04831h] ; 8a 87 31 48 3780 3783 cmp AL, strict byte 003h ; 3c 03 3781 jc short 020 29h ; 72 0f3782 jbe short 0203 0h ; 76 143784 jc short 02033h ; 72 0f 3785 jbe short 0203ah ; 76 14 3783 3786 cmp AL, strict byte 005h ; 3c 05 3784 je near 021 27h ; 0f 84 05 013787 je near 02131h ; 0f 84 05 01 3785 3788 cmp AL, strict byte 004h ; 3c 04 3786 je short 0203 0h ; 74 0a3787 jmp near 0212 1h ; e9 f8 003789 je short 0203ah ; 74 0a 3790 jmp near 0212bh ; e9 f8 00 3788 3791 cmp AL, strict byte 002h ; 3c 02 3789 je short 0209 5h ; 74 683790 jmp near 0212 1h ; e9 f1 003792 je short 0209fh ; 74 68 3793 jmp near 0212bh ; e9 f1 00 3791 3794 mov dx, strict word 0004ah ; ba 4a 00 3792 3795 mov ax, strict word 00040h ; b8 40 00 3793 call 02f5 0h ; e8 17 0f3796 call 02f5ah ; e8 17 0f 3794 3797 imul ax, cx ; 0f af c1 3795 3798 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3810 3813 mov dx, bx ; 89 da 3811 3814 mov ax, 0a000h ; b8 00 a0 3812 call 02f3 4h ; e8 cb 0e3815 call 02f3eh ; e8 cb 0e 3813 3816 test byte [bp-006h], 080h ; f6 46 fa 80 3814 je short 020 76h ; 74 073817 je short 02080h ; 74 07 3815 3818 mov ax, 01803h ; b8 03 18 3816 3819 mov dx, 003ceh ; ba ce 03 … … 3819 3822 mov dx, word [bp-008h] ; 8b 56 f8 3820 3823 mov ax, 0a000h ; b8 00 a0 3821 call 02f4 2h ; e8 bf 0e3824 call 02f4ch ; e8 bf 0e 3822 3825 mov ax, 0ff08h ; b8 08 ff 3823 3826 mov dx, 003ceh ; ba ce 03 … … 3827 3830 mov ax, strict word 00003h ; b8 03 00 3828 3831 out DX, ax ; ef 3829 jmp near 0212 1h ; e9 8c 003832 jmp near 0212bh ; e9 8c 00 3830 3833 mov ax, cx ; 89 c8 3831 3834 shr ax, 1 ; d1 e8 3832 3835 imul ax, ax, strict byte 00050h ; 6b c0 50 3833 3836 cmp byte [bx+04832h], 002h ; 80 bf 32 48 02 3834 jne short 020 abh ; 75 083837 jne short 020b5h ; 75 08 3835 3838 mov bx, word [bp-00ah] ; 8b 5e f6 3836 3839 shr bx, 002h ; c1 eb 02 3837 jmp short 020b 1h ; eb 063840 jmp short 020bbh ; eb 06 3838 3841 mov bx, word [bp-00ah] ; 8b 5e f6 3839 3842 shr bx, 003h ; c1 eb 03 … … 3841 3844 mov word [bp-008h], bx ; 89 5e f8 3842 3845 test cl, 001h ; f6 c1 01 3843 je short 020 bfh ; 74 043846 je short 020c9h ; 74 04 3844 3847 add byte [bp-007h], 020h ; 80 46 f9 20 3845 3848 mov dx, word [bp-008h] ; 8b 56 f8 3846 3849 mov ax, 0b800h ; b8 00 b8 3847 call 02f3 4h ; e8 6c 0e3850 call 02f3eh ; e8 6c 0e 3848 3851 mov bl, al ; 88 c3 3849 3852 movzx si, byte [bp-004h] ; 0f b6 76 fc 3850 3853 sal si, 003h ; c1 e6 03 3851 3854 cmp byte [si+04832h], 002h ; 80 bc 32 48 02 3852 jne short 020f 1h ; 75 193855 jne short 020fbh ; 75 19 3853 3856 mov al, byte [bp-00ah] ; 8a 46 f6 3854 3857 and AL, strict byte 003h ; 24 03 … … 3861 3864 sal bh, CL ; d2 e7 3862 3865 mov AL, strict byte 003h ; b0 03 3863 jmp short 0210 4h ; eb 133866 jmp short 0210eh ; eb 13 3864 3867 mov al, byte [bp-00ah] ; 8a 46 f6 3865 3868 and AL, strict byte 007h ; 24 07 … … 3872 3875 sal al, CL ; d2 e0 3873 3876 test byte [bp-006h], 080h ; f6 46 fa 80 3874 je short 0211 0h ; 74 043877 je short 0211ah ; 74 04 3875 3878 xor bl, bh ; 30 fb 3876 jmp short 021 16h ; eb 063879 jmp short 02120h ; eb 06 3877 3880 not al ; f6 d0 3878 3881 and bl, al ; 20 c3 … … 3881 3884 mov dx, word [bp-008h] ; 8b 56 f8 3882 3885 mov ax, 0b800h ; b8 00 b8 3883 call 02f4 2h ; e8 21 0e3886 call 02f4ch ; e8 21 0e 3884 3887 lea sp, [bp-002h] ; 8d 66 fe 3885 3888 pop si ; 5e … … 3888 3891 mov dx, strict word 0004ah ; ba 4a 00 3889 3892 mov ax, strict word 00040h ; b8 40 00 3890 call 02f5 0h ; e8 20 0e3893 call 02f5ah ; e8 20 0e 3891 3894 sal ax, 003h ; c1 e0 03 3892 3895 imul cx, ax ; 0f af c8 … … 3897 3900 mov dx, ax ; 89 c2 3898 3901 mov ax, 0a000h ; b8 00 a0 3899 jmp short 021 1eh ; eb d53900 biosfn_write_teletype_: ; 0xc21 49LB 0x2413902 jmp short 02128h ; eb d5 3903 biosfn_write_teletype_: ; 0xc2153 LB 0x241 3901 3904 push bp ; 55 3902 3905 mov bp, sp ; 89 e5 … … 3908 3911 mov byte [bp-00eh], cl ; 88 4e f2 3909 3912 cmp dl, 0ffh ; 80 fa ff 3910 jne short 021 6dh ; 75 0c3913 jne short 02177h ; 75 0c 3911 3914 mov dx, strict word 00062h ; ba 62 00 3912 3915 mov ax, strict word 00040h ; b8 40 00 3913 call 02f3 4h ; e8 ca 0d3916 call 02f3eh ; e8 ca 0d 3914 3917 mov byte [bp-006h], al ; 88 46 fa 3915 3918 mov dx, strict word 00049h ; ba 49 00 3916 3919 mov ax, strict word 00040h ; b8 40 00 3917 call 02f3 4h ; e8 be 0d3920 call 02f3eh ; e8 be 0d 3918 3921 xor ah, ah ; 30 e4 3919 call 02f 0dh ; e8 92 0d3922 call 02f17h ; e8 92 0d 3920 3923 mov byte [bp-010h], al ; 88 46 f0 3921 3924 cmp AL, strict byte 0ffh ; 3c ff 3922 je near 0238 4h ; 0f 84 00 023925 je near 0238eh ; 0f 84 00 02 3923 3926 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3924 3927 lea bx, [bp-018h] ; 8d 5e e8 3925 3928 lea dx, [bp-016h] ; 8d 56 ea 3926 call 00a88h ; e8 f7e83929 call 00a88h ; e8 ed e8 3927 3930 mov al, byte [bp-018h] ; 8a 46 e8 3928 3931 mov byte [bp-008h], al ; 88 46 f8 … … 3933 3936 mov dx, 00084h ; ba 84 00 3934 3937 mov ax, strict word 00040h ; b8 40 00 3935 call 02f3 4h ; e8 89 0d3938 call 02f3eh ; e8 89 0d 3936 3939 xor ah, ah ; 30 e4 3937 3940 inc ax ; 40 … … 3939 3942 mov dx, strict word 0004ah ; ba 4a 00 3940 3943 mov ax, strict word 00040h ; b8 40 00 3941 call 02f5 0h ; e8 96 0d3944 call 02f5ah ; e8 96 0d 3942 3945 mov word [bp-012h], ax ; 89 46 ee 3943 3946 mov al, byte [bp-00ch] ; 8a 46 f4 3944 3947 cmp AL, strict byte 008h ; 3c 08 3945 jc short 021d 2h ; 72 0e3946 jbe short 021 dah ; 76 143948 jc short 021dch ; 72 0e 3949 jbe short 021e4h ; 76 14 3947 3950 cmp AL, strict byte 00dh ; 3c 0d 3948 je short 021 e8h ; 74 1e3951 je short 021f2h ; 74 1e 3949 3952 cmp AL, strict byte 00ah ; 3c 0a 3950 je near 022 dah ; 0f 84 0a 013951 jmp short 021 efh ; eb 1d3953 je near 022e4h ; 0f 84 0a 01 3954 jmp short 021f9h ; eb 1d 3952 3955 cmp AL, strict byte 007h ; 3c 07 3953 je near 022 ddh ; 0f 84 05 013954 jmp short 021 efh ; eb 153956 je near 022e7h ; 0f 84 05 01 3957 jmp short 021f9h ; eb 15 3955 3958 cmp byte [bp-008h], 000h ; 80 7e f8 00 3956 jbe near 022 ddh ; 0f 86 fb 003959 jbe near 022e7h ; 0f 86 fb 00 3957 3960 dec byte [bp-008h] ; fe 4e f8 3958 jmp near 022 ddh ; e9 f5 003961 jmp near 022e7h ; e9 f5 00 3959 3962 mov byte [bp-008h], 000h ; c6 46 f8 00 3960 jmp near 022 ddh ; e9 ee 003963 jmp near 022e7h ; e9 ee 00 3961 3964 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3962 3965 mov si, bx ; 89 de 3963 3966 sal si, 003h ; c1 e6 03 3964 3967 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 3965 jne short 022 4ch ; 75 4d3968 jne short 02256h ; 75 4d 3966 3969 mov ax, word [bp-012h] ; 8b 46 ee 3967 3970 imul ax, word [bp-014h] ; 0f af 46 ec … … 3981 3984 mov ax, word [si+04833h] ; 8b 84 33 48 3982 3985 mov dx, cx ; 89 ca 3983 call 02f4 2h ; e8 0f 0d3986 call 02f4ch ; e8 0f 0d 3984 3987 cmp byte [bp-00eh], 003h ; 80 7e f2 03 3985 jne near 022 cah ; 0f 85 8f 003988 jne near 022d4h ; 0f 85 8f 00 3986 3989 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3987 3990 mov dx, cx ; 89 ca 3988 3991 inc dx ; 42 3989 3992 mov ax, word [si+04833h] ; 8b 84 33 48 3990 call 02f4 2h ; e8 f9 0c3991 jmp near 022 cah ; e9 7e 003993 call 02f4ch ; e8 f9 0c 3994 jmp near 022d4h ; e9 7e 00 3992 3995 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 3993 3996 sal bx, 006h ; c1 e3 06 … … 3996 3999 mov al, byte [si+04831h] ; 8a 84 31 48 3997 4000 cmp AL, strict byte 003h ; 3c 03 3998 jc short 0227 0h ; 72 0c3999 jbe short 022 76h ; 76 104001 jc short 0227ah ; 72 0c 4002 jbe short 02280h ; 76 10 4000 4003 cmp AL, strict byte 005h ; 3c 05 4001 je short 022b 2h ; 74 484004 je short 022bch ; 74 48 4002 4005 cmp AL, strict byte 004h ; 3c 04 4003 je short 022 76h ; 74 084004 jmp short 022 cah ; eb 5a4006 je short 02280h ; 74 08 4007 jmp short 022d4h ; eb 5a 4005 4008 cmp AL, strict byte 002h ; 3c 02 4006 je short 0229 4h ; 74 204007 jmp short 022 cah ; eb 544009 je short 0229eh ; 74 20 4010 jmp short 022d4h ; eb 54 4008 4011 movzx ax, ah ; 0f b6 c4 4009 4012 push ax ; 50 … … 4014 4017 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4015 4018 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4016 call 01a 6eh ; e8 dc f74017 jmp short 022 cah ; eb 364019 call 01a78h ; e8 dc f7 4020 jmp short 022d4h ; eb 36 4018 4021 movzx ax, dl ; 0f b6 c2 4019 4022 push ax ; 50 … … 4024 4027 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4025 4028 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4026 call 01b 59h ; e8 a9 f84027 jmp short 022 cah ; eb 184029 call 01b63h ; e8 a9 f8 4030 jmp short 022d4h ; eb 18 4028 4031 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4029 4032 push ax ; 50 … … 4032 4035 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4033 4036 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4034 call 01c 77h ; e8 ad f94037 call 01c81h ; e8 ad f9 4035 4038 inc byte [bp-008h] ; fe 46 f8 4036 4039 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4037 4040 cmp ax, word [bp-012h] ; 3b 46 ee 4038 jne short 022 ddh ; 75 074041 jne short 022e7h ; 75 07 4039 4042 mov byte [bp-008h], 000h ; c6 46 f8 00 4040 4043 inc byte [bp-00ah] ; fe 46 f6 4041 4044 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4042 4045 cmp ax, word [bp-014h] ; 3b 46 ec 4043 jne near 023 68h ; 0f 85 80 004046 jne near 02372h ; 0f 85 80 00 4044 4047 movzx si, byte [bp-010h] ; 0f b6 76 f0 4045 4048 sal si, 003h ; c1 e6 03 … … 4051 4054 ; dec bl ; fe cb 4052 4055 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 4053 jne short 023 4ah ; 75 4a4056 jne short 02354h ; 75 4a 4054 4057 mov ax, word [bp-012h] ; 8b 46 ee 4055 4058 imul ax, word [bp-014h] ; 0f af 46 ec … … 4070 4073 inc dx ; 42 4071 4074 mov ax, word [si+04833h] ; 8b 84 33 48 4072 call 02f3 4h ; e8 02 0c4075 call 02f3eh ; e8 02 0c 4073 4076 push strict byte 00001h ; 6a 01 4074 4077 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 4081 4084 xor cx, cx ; 31 c9 4082 4085 xor bx, bx ; 31 db 4083 jmp short 023 5fh ; eb 154086 jmp short 02369h ; eb 15 4084 4087 push strict byte 00001h ; 6a 01 4085 4088 movzx ax, byte [bp-006h] ; 0f b6 46 fa … … 4093 4096 xor dx, dx ; 31 d2 4094 4097 mov ax, strict word 00001h ; b8 01 00 4095 call 015 68h ; e8 03 f24098 call 01572h ; e8 03 f2 4096 4099 dec byte [bp-00ah] ; fe 4e f6 4097 4100 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 4102 4105 mov dx, word [bp-018h] ; 8b 56 e8 4103 4106 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4104 call 00e5eh ; e8 d aea4107 call 00e5eh ; e8 d0 ea 4105 4108 lea sp, [bp-002h] ; 8d 66 fe 4106 4109 pop si ; 5e 4107 4110 pop bp ; 5d 4108 4111 retn ; c3 4109 get_font_access_: ; 0xc23 8aLB 0x2c4112 get_font_access_: ; 0xc2394 LB 0x2c 4110 4113 push bp ; 55 4111 4114 mov bp, sp ; 89 e5 … … 4131 4134 pop bp ; 5d 4132 4135 retn ; c3 4133 release_font_access_: ; 0xc23 b6LB 0x3c4136 release_font_access_: ; 0xc23c0 LB 0x3c 4134 4137 push bp ; 55 4135 4138 mov bp, sp ; 89 e5 … … 4163 4166 pop bp ; 5d 4164 4167 retn ; c3 4165 set_scan_lines_: ; 0xc23f 2LB 0xbf4168 set_scan_lines_: ; 0xc23fc LB 0xbf 4166 4169 push bp ; 55 4167 4170 mov bp, sp ; 89 e5 … … 4174 4177 mov dx, strict word 00063h ; ba 63 00 4175 4178 mov ax, strict word 00040h ; b8 40 00 4176 call 02f5 0h ; e8 4b 0b4179 call 02f5ah ; e8 4b 0b 4177 4180 mov dx, ax ; 89 c2 4178 4181 mov si, ax ; 89 c6 … … 4191 4194 out DX, AL ; ee 4192 4195 cmp bl, 008h ; 80 fb 08 4193 jne short 024 29h ; 75 084196 jne short 02433h ; 75 08 4194 4197 mov dx, strict word 00007h ; ba 07 00 4195 4198 mov ax, strict word 00006h ; b8 06 00 4196 jmp short 024 36h ; eb 0d4199 jmp short 02440h ; eb 0d 4197 4200 mov al, bl ; 88 d8 4198 4201 sub AL, strict byte 003h ; 2c 03 … … 4201 4204 sub AL, strict byte 004h ; 2c 04 4202 4205 xor ah, ah ; 30 e4 4203 call 00dbah ; e8 81e94206 call 00dbah ; e8 77 e9 4204 4207 movzx di, bl ; 0f b6 fb 4205 4208 mov bx, di ; 89 fb 4206 4209 mov dx, 00085h ; ba 85 00 4207 4210 mov ax, strict word 00040h ; b8 40 00 4208 call 02f 5eh ; e8 17 0b4211 call 02f68h ; e8 17 0b 4209 4212 mov AL, strict byte 012h ; b0 12 4210 4213 mov dx, si ; 89 f2 … … 4241 4244 mov dx, 00084h ; ba 84 00 4242 4245 mov ax, strict word 00040h ; b8 40 00 4243 call 02f4 2h ; e8 b7 0a4246 call 02f4ch ; e8 b7 0a 4244 4247 mov dx, strict word 0004ah ; ba 4a 00 4245 4248 mov ax, strict word 00040h ; b8 40 00 4246 call 02f5 0h ; e8 bc 0a4249 call 02f5ah ; e8 bc 0a 4247 4250 movzx dx, cl ; 0f b6 d1 4248 4251 mov bx, ax ; 89 c3 … … 4251 4254 mov dx, strict word 0004ch ; ba 4c 00 4252 4255 mov ax, strict word 00040h ; b8 40 00 4253 call 02f 5eh ; e8 b7 0a4256 call 02f68h ; e8 b7 0a 4254 4257 lea sp, [bp-00ah] ; 8d 66 f6 4255 4258 pop di ; 5f … … 4260 4263 pop bp ; 5d 4261 4264 retn ; c3 4262 biosfn_load_text_user_pat_: ; 0xc24b 1LB 0x7d4265 biosfn_load_text_user_pat_: ; 0xc24bb LB 0x7d 4263 4266 push bp ; 55 4264 4267 mov bp, sp ; 89 e5 … … 4270 4273 mov word [bp-008h], bx ; 89 5e f8 4271 4274 mov word [bp-00ah], cx ; 89 4e f6 4272 call 023 8ah ; e8 c2 fe4275 call 02394h ; e8 c2 fe 4273 4276 mov al, byte [bp+006h] ; 8a 46 06 4274 4277 and AL, strict byte 003h ; 24 03 … … 4284 4287 xor bx, bx ; 31 db 4285 4288 cmp bx, word [bp-00ah] ; 3b 5e f6 4286 jnc short 0251 5h ; 73 2b4289 jnc short 0251fh ; 73 2b 4287 4290 movzx cx, byte [bp+008h] ; 0f b6 4e 08 4288 4291 mov si, bx ; 89 de … … 4297 4300 mov es, ax ; 8e c0 4298 4301 cld ; fc 4299 jcxz 0251 2h ; e3 064302 jcxz 0251ch ; e3 06 4300 4303 push DS ; 1e 4301 4304 mov ds, dx ; 8e da … … 4303 4306 pop DS ; 1f 4304 4307 inc bx ; 43 4305 jmp short 024e 5h ; eb d04306 call 023 b6h ; e8 9e fe4308 jmp short 024efh ; eb d0 4309 call 023c0h ; e8 9e fe 4307 4310 cmp byte [bp-006h], 010h ; 80 7e fa 10 4308 jc short 0252 5h ; 72 074311 jc short 0252fh ; 72 07 4309 4312 movzx ax, byte [bp+008h] ; 0f b6 46 08 4310 call 023f 2h ; e8 cd fe4313 call 023fch ; e8 cd fe 4311 4314 lea sp, [bp-004h] ; 8d 66 fc 4312 4315 pop di ; 5f … … 4314 4317 pop bp ; 5d 4315 4318 retn 00006h ; c2 06 00 4316 biosfn_load_text_8_14_pat_: ; 0xc25 2eLB 0x704319 biosfn_load_text_8_14_pat_: ; 0xc2538 LB 0x70 4317 4320 push bp ; 55 4318 4321 mov bp, sp ; 89 e5 … … 4324 4327 push ax ; 50 4325 4328 mov byte [bp-00ah], al ; 88 46 f6 4326 call 023 8ah ; e8 4d fe4329 call 02394h ; e8 4d fe 4327 4330 mov al, dl ; 88 d0 4328 4331 and AL, strict byte 003h ; 24 03 … … 4337 4340 mov word [bp-00ch], bx ; 89 5e f4 4338 4341 xor bx, bx ; 31 db 4339 jmp short 0256 0h ; eb 064342 jmp short 0256ah ; eb 06 4340 4343 cmp bx, 00100h ; 81 fb 00 01 4341 jnc short 025 86h ; 73 264344 jnc short 02590h ; 73 26 4342 4345 imul si, bx, strict byte 0000eh ; 6b f3 0e 4343 4346 mov di, bx ; 89 df … … 4350 4353 mov es, ax ; 8e c0 4351 4354 cld ; fc 4352 jcxz 0258 3h ; e3 064355 jcxz 0258dh ; e3 06 4353 4356 push DS ; 1e 4354 4357 mov ds, dx ; 8e da … … 4356 4359 pop DS ; 1f 4357 4360 inc bx ; 43 4358 jmp short 025 5ah ; eb d44359 call 023 b6h ; e8 2d fe4361 jmp short 02564h ; eb d4 4362 call 023c0h ; e8 2d fe 4360 4363 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4361 jc short 0259 5h ; 72 064364 jc short 0259fh ; 72 06 4362 4365 mov ax, strict word 0000eh ; b8 0e 00 4363 call 023f 2h ; e8 5d fe4366 call 023fch ; e8 5d fe 4364 4367 lea sp, [bp-008h] ; 8d 66 f8 4365 4368 pop di ; 5f … … 4369 4372 pop bp ; 5d 4370 4373 retn ; c3 4371 biosfn_load_text_8_8_pat_: ; 0xc25 9eLB 0x724374 biosfn_load_text_8_8_pat_: ; 0xc25a8 LB 0x72 4372 4375 push bp ; 55 4373 4376 mov bp, sp ; 89 e5 … … 4379 4382 push ax ; 50 4380 4383 mov byte [bp-00ah], al ; 88 46 f6 4381 call 023 8ah ; e8 dd fd4384 call 02394h ; e8 dd fd 4382 4385 mov al, dl ; 88 d0 4383 4386 and AL, strict byte 003h ; 24 03 … … 4392 4395 mov word [bp-00ch], bx ; 89 5e f4 4393 4396 xor bx, bx ; 31 db 4394 jmp short 025d 0h ; eb 064397 jmp short 025dah ; eb 06 4395 4398 cmp bx, 00100h ; 81 fb 00 01 4396 jnc short 02 5f8h ; 73 284399 jnc short 02602h ; 73 28 4397 4400 mov si, bx ; 89 de 4398 4401 sal si, 003h ; c1 e6 03 … … 4406 4409 mov es, ax ; 8e c0 4407 4410 cld ; fc 4408 jcxz 025f 5h ; e3 064411 jcxz 025ffh ; e3 06 4409 4412 push DS ; 1e 4410 4413 mov ds, dx ; 8e da … … 4412 4415 pop DS ; 1f 4413 4416 inc bx ; 43 4414 jmp short 025 cah ; eb d24415 call 023 b6h ; e8 bb fd4417 jmp short 025d4h ; eb d2 4418 call 023c0h ; e8 bb fd 4416 4419 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4417 jc short 026 07h ; 72 064420 jc short 02611h ; 72 06 4418 4421 mov ax, strict word 00008h ; b8 08 00 4419 call 023f 2h ; e8 eb fd4422 call 023fch ; e8 eb fd 4420 4423 lea sp, [bp-008h] ; 8d 66 f8 4421 4424 pop di ; 5f … … 4425 4428 pop bp ; 5d 4426 4429 retn ; c3 4427 biosfn_load_text_8_16_pat_: ; 0xc261 0LB 0x724430 biosfn_load_text_8_16_pat_: ; 0xc261a LB 0x72 4428 4431 push bp ; 55 4429 4432 mov bp, sp ; 89 e5 … … 4435 4438 push ax ; 50 4436 4439 mov byte [bp-00ah], al ; 88 46 f6 4437 call 023 8ah ; e8 6b fd4440 call 02394h ; e8 6b fd 4438 4441 mov al, dl ; 88 d0 4439 4442 and AL, strict byte 003h ; 24 03 … … 4448 4451 mov word [bp-00ch], bx ; 89 5e f4 4449 4452 xor bx, bx ; 31 db 4450 jmp short 0264 2h ; eb 064453 jmp short 0264ch ; eb 06 4451 4454 cmp bx, 00100h ; 81 fb 00 01 4452 jnc short 026 6ah ; 73 284455 jnc short 02674h ; 73 28 4453 4456 mov si, bx ; 89 de 4454 4457 sal si, 004h ; c1 e6 04 … … 4462 4465 mov es, ax ; 8e c0 4463 4466 cld ; fc 4464 jcxz 026 67h ; e3 064467 jcxz 02671h ; e3 06 4465 4468 push DS ; 1e 4466 4469 mov ds, dx ; 8e da … … 4468 4471 pop DS ; 1f 4469 4472 inc bx ; 43 4470 jmp short 026 3ch ; eb d24471 call 023 b6h ; e8 49 fd4473 jmp short 02646h ; eb d2 4474 call 023c0h ; e8 49 fd 4472 4475 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4473 jc short 026 79h ; 72 064476 jc short 02683h ; 72 06 4474 4477 mov ax, strict word 00010h ; b8 10 00 4475 call 023f 2h ; e8 79 fd4478 call 023fch ; e8 79 fd 4476 4479 lea sp, [bp-008h] ; 8d 66 f8 4477 4480 pop di ; 5f … … 4481 4484 pop bp ; 5d 4482 4485 retn ; c3 4483 biosfn_load_gfx_8_8_chars_: ; 0xc268 2LB 0x54486 biosfn_load_gfx_8_8_chars_: ; 0xc268c LB 0x5 4484 4487 push bp ; 55 4485 4488 mov bp, sp ; 89 e5 4486 4489 pop bp ; 5d 4487 4490 retn ; c3 4488 biosfn_load_gfx_user_chars_: ; 0xc26 87LB 0x74491 biosfn_load_gfx_user_chars_: ; 0xc2691 LB 0x7 4489 4492 push bp ; 55 4490 4493 mov bp, sp ; 89 e5 4491 4494 pop bp ; 5d 4492 4495 retn 00002h ; c2 02 00 4493 biosfn_load_gfx_8_14_chars_: ; 0xc26 8eLB 0x54496 biosfn_load_gfx_8_14_chars_: ; 0xc2698 LB 0x5 4494 4497 push bp ; 55 4495 4498 mov bp, sp ; 89 e5 4496 4499 pop bp ; 5d 4497 4500 retn ; c3 4498 biosfn_load_gfx_8_8_dd_chars_: ; 0xc269 3LB 0x54501 biosfn_load_gfx_8_8_dd_chars_: ; 0xc269d LB 0x5 4499 4502 push bp ; 55 4500 4503 mov bp, sp ; 89 e5 4501 4504 pop bp ; 5d 4502 4505 retn ; c3 4503 biosfn_load_gfx_8_16_chars_: ; 0xc26 98LB 0x54506 biosfn_load_gfx_8_16_chars_: ; 0xc26a2 LB 0x5 4504 4507 push bp ; 55 4505 4508 mov bp, sp ; 89 e5 4506 4509 pop bp ; 5d 4507 4510 retn ; c3 4508 biosfn_alternate_prtsc_: ; 0xc26 9dLB 0x54511 biosfn_alternate_prtsc_: ; 0xc26a7 LB 0x5 4509 4512 push bp ; 55 4510 4513 mov bp, sp ; 89 e5 4511 4514 pop bp ; 5d 4512 4515 retn ; c3 4513 biosfn_switch_video_interface_: ; 0xc26a 2LB 0x54516 biosfn_switch_video_interface_: ; 0xc26ac LB 0x5 4514 4517 push bp ; 55 4515 4518 mov bp, sp ; 89 e5 4516 4519 pop bp ; 5d 4517 4520 retn ; c3 4518 biosfn_enable_video_refresh_control_: ; 0xc26 a7LB 0x54521 biosfn_enable_video_refresh_control_: ; 0xc26b1 LB 0x5 4519 4522 push bp ; 55 4520 4523 mov bp, sp ; 89 e5 4521 4524 pop bp ; 5d 4522 4525 retn ; c3 4523 biosfn_write_string_: ; 0xc26 acLB 0x9c4526 biosfn_write_string_: ; 0xc26b6 LB 0x9c 4524 4527 push bp ; 55 4525 4528 mov bp, sp ; 89 e5 … … 4535 4538 lea bx, [bp-00eh] ; 8d 5e f2 4536 4539 lea dx, [bp-00ch] ; 8d 56 f4 4537 call 00a88h ; e8 b ae34540 call 00a88h ; e8 b0 e3 4538 4541 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4539 jne short 026e 5h ; 75 114542 jne short 026efh ; 75 11 4540 4543 mov al, byte [bp-00eh] ; 8a 46 f2 4541 4544 mov byte [bp+006h], al ; 88 46 06 … … 4549 4552 add dx, ax ; 01 c2 4550 4553 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4551 call 00e5eh ; e8 65e74554 call 00e5eh ; e8 5b e7 4552 4555 dec si ; 4e 4553 4556 cmp si, strict byte 0ffffh ; 83 fe ff 4554 je short 027 2fh ; 74 304557 je short 02739h ; 74 30 4555 4558 mov dx, di ; 89 fa 4556 4559 inc di ; 47 4557 4560 mov ax, word [bp+008h] ; 8b 46 08 4558 call 02f3 4h ; e8 2c 084561 call 02f3eh ; e8 2c 08 4559 4562 mov cl, al ; 88 c1 4560 4563 test byte [bp-00ah], 002h ; f6 46 f6 02 4561 je short 027 1ch ; 74 0c4564 je short 02726h ; 74 0c 4562 4565 mov dx, di ; 89 fa 4563 4566 inc di ; 47 4564 4567 mov ax, word [bp+008h] ; 8b 46 08 4565 call 02f3 4h ; e8 1b 084568 call 02f3eh ; e8 1b 08 4566 4569 mov byte [bp-006h], al ; 88 46 fa 4567 4570 movzx bx, byte [bp-006h] ; 0f b6 5e fa … … 4569 4572 movzx ax, cl ; 0f b6 c1 4570 4573 mov cx, strict word 00003h ; b9 03 00 4571 call 021 49h ; e8 1c fa4572 jmp short 02 6f9h ; eb ca4574 call 02153h ; e8 1c fa 4575 jmp short 02703h ; eb ca 4573 4576 test byte [bp-00ah], 001h ; f6 46 f6 01 4574 jne short 027 3fh ; 75 0a4577 jne short 02749h ; 75 0a 4575 4578 mov dx, word [bp-00eh] ; 8b 56 f2 4576 4579 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4577 call 00e5eh ; e8 1 fe74580 call 00e5eh ; e8 15 e7 4578 4581 lea sp, [bp-004h] ; 8d 66 fc 4579 4582 pop di ; 5f … … 4581 4584 pop bp ; 5d 4582 4585 retn 00008h ; c2 08 00 4583 biosfn_read_state_info_: ; 0xc27 48LB 0x1014586 biosfn_read_state_info_: ; 0xc2752 LB 0x101 4584 4587 push bp ; 55 4585 4588 mov bp, sp ; 89 e5 … … 4593 4596 mov dx, word [bp-00ah] ; 8b 56 f6 4594 4597 mov ax, word [bp-008h] ; 8b 46 f8 4595 call 02f 7eh ; e8 20 084598 call 02f88h ; e8 20 08 4596 4599 mov di, word [bp-00ah] ; 8b 7e f6 4597 4600 add di, strict byte 00004h ; 83 c7 04 … … 4601 4604 mov es, [bp-008h] ; 8e 46 f8 4602 4605 cld ; fc 4603 jcxz 027 79h ; e3 064606 jcxz 02783h ; e3 06 4604 4607 push DS ; 1e 4605 4608 mov ds, dx ; 8e da … … 4613 4616 mov es, [bp-008h] ; 8e 46 f8 4614 4617 cld ; fc 4615 jcxz 0279 4h ; e3 064618 jcxz 0279eh ; e3 06 4616 4619 push DS ; 1e 4617 4620 mov ds, dx ; 8e da … … 4620 4623 mov dx, 0008ah ; ba 8a 00 4621 4624 mov ax, strict word 00040h ; b8 40 00 4622 call 02f3 4h ; e8 97 074625 call 02f3eh ; e8 97 07 4623 4626 movzx bx, al ; 0f b6 d8 4624 4627 mov dx, word [bp-00ah] ; 8b 56 f6 4625 4628 add dx, strict byte 00025h ; 83 c2 25 4626 4629 mov ax, word [bp-008h] ; 8b 46 f8 4627 call 02f4 2h ; e8 96 074630 call 02f4ch ; e8 96 07 4628 4631 mov dx, word [bp-00ah] ; 8b 56 f6 4629 4632 add dx, strict byte 00026h ; 83 c2 26 4630 4633 xor bx, bx ; 31 db 4631 4634 mov ax, word [bp-008h] ; 8b 46 f8 4632 call 02f4 2h ; e8 88 074635 call 02f4ch ; e8 88 07 4633 4636 mov dx, word [bp-00ah] ; 8b 56 f6 4634 4637 add dx, strict byte 00027h ; 83 c2 27 4635 4638 mov bx, strict word 00010h ; bb 10 00 4636 4639 mov ax, word [bp-008h] ; 8b 46 f8 4637 call 02f4 2h ; e8 79 074640 call 02f4ch ; e8 79 07 4638 4641 mov dx, word [bp-00ah] ; 8b 56 f6 4639 4642 add dx, strict byte 00028h ; 83 c2 28 4640 4643 xor bx, bx ; 31 db 4641 4644 mov ax, word [bp-008h] ; 8b 46 f8 4642 call 02f4 2h ; e8 6b 074645 call 02f4ch ; e8 6b 07 4643 4646 mov dx, word [bp-00ah] ; 8b 56 f6 4644 4647 add dx, strict byte 00029h ; 83 c2 29 4645 4648 mov bx, strict word 00008h ; bb 08 00 4646 4649 mov ax, word [bp-008h] ; 8b 46 f8 4647 call 02f4 2h ; e8 5c 074650 call 02f4ch ; e8 5c 07 4648 4651 mov dx, word [bp-00ah] ; 8b 56 f6 4649 4652 add dx, strict byte 0002ah ; 83 c2 2a 4650 4653 mov bx, strict word 00002h ; bb 02 00 4651 4654 mov ax, word [bp-008h] ; 8b 46 f8 4652 call 02f4 2h ; e8 4d 074655 call 02f4ch ; e8 4d 07 4653 4656 mov dx, word [bp-00ah] ; 8b 56 f6 4654 4657 add dx, strict byte 0002bh ; 83 c2 2b 4655 4658 xor bx, bx ; 31 db 4656 4659 mov ax, word [bp-008h] ; 8b 46 f8 4657 call 02f4 2h ; e8 3f 074660 call 02f4ch ; e8 3f 07 4658 4661 mov dx, word [bp-00ah] ; 8b 56 f6 4659 4662 add dx, strict byte 0002ch ; 83 c2 2c 4660 4663 xor bx, bx ; 31 db 4661 4664 mov ax, word [bp-008h] ; 8b 46 f8 4662 call 02f4 2h ; e8 31 074665 call 02f4ch ; e8 31 07 4663 4666 mov dx, word [bp-00ah] ; 8b 56 f6 4664 4667 add dx, strict byte 00031h ; 83 c2 31 4665 4668 mov bx, strict word 00003h ; bb 03 00 4666 4669 mov ax, word [bp-008h] ; 8b 46 f8 4667 call 02f4 2h ; e8 22 074670 call 02f4ch ; e8 22 07 4668 4671 mov dx, word [bp-00ah] ; 8b 56 f6 4669 4672 add dx, strict byte 00032h ; 83 c2 32 4670 4673 xor bx, bx ; 31 db 4671 4674 mov ax, word [bp-008h] ; 8b 46 f8 4672 call 02f4 2h ; e8 14 074675 call 02f4ch ; e8 14 07 4673 4676 mov di, word [bp-00ah] ; 8b 7e f6 4674 4677 add di, strict byte 00033h ; 83 c7 33 … … 4677 4680 mov es, [bp-008h] ; 8e 46 f8 4678 4681 cld ; fc 4679 jcxz 0284 1h ; e3 024682 jcxz 0284bh ; e3 02 4680 4683 rep stosb ; f3 aa 4681 4684 lea sp, [bp-006h] ; 8d 66 fa … … 4685 4688 pop bp ; 5d 4686 4689 retn ; c3 4687 biosfn_read_video_state_size2_: ; 0xc28 49LB 0x234690 biosfn_read_video_state_size2_: ; 0xc2853 LB 0x23 4688 4691 push dx ; 52 4689 4692 push bp ; 55 … … 4692 4695 xor ax, ax ; 31 c0 4693 4696 test dl, 001h ; f6 c2 01 4694 je short 028 59h ; 74 034697 je short 02863h ; 74 03 4695 4698 mov ax, strict word 00046h ; b8 46 00 4696 4699 test dl, 002h ; f6 c2 02 4697 je short 0286 1h ; 74 034700 je short 0286bh ; 74 03 4698 4701 add ax, strict word 0002ah ; 05 2a 00 4699 4702 test dl, 004h ; f6 c2 04 4700 je short 028 69h ; 74 034703 je short 02873h ; 74 03 4701 4704 add ax, 00304h ; 05 04 03 4702 4705 pop bp ; 5d 4703 4706 pop dx ; 5a 4704 4707 retn ; c3 4705 vga_get_video_state_size_: ; 0xc28 6cLB 0x124708 vga_get_video_state_size_: ; 0xc2876 LB 0x12 4706 4709 push bp ; 55 4707 4710 mov bp, sp ; 89 e5 4708 4711 push bx ; 53 4709 4712 mov bx, dx ; 89 d3 4710 call 028 49h ; e8 d4 ff4713 call 02853h ; e8 d4 ff 4711 4714 mov word [ss:bx], ax ; 36 89 07 4712 4715 lea sp, [bp-002h] ; 8d 66 fe … … 4714 4717 pop bp ; 5d 4715 4718 retn ; c3 4716 biosfn_save_video_state_: ; 0xc28 7eLB 0x3694719 biosfn_save_video_state_: ; 0xc2888 LB 0x369 4717 4720 push bp ; 55 4718 4721 mov bp, sp ; 89 e5 … … 4727 4730 mov dx, strict word 00063h ; ba 63 00 4728 4731 mov ax, strict word 00040h ; b8 40 00 4729 call 02f5 0h ; e8 bc 064732 call 02f5ah ; e8 bc 06 4730 4733 mov di, ax ; 89 c7 4731 4734 test byte [bp-00ch], 001h ; f6 46 f4 01 4732 je near 02a0 1h ; 0f 84 63 014735 je near 02a0bh ; 0f 84 63 01 4733 4736 mov dx, 003c4h ; ba c4 03 4734 4737 in AL, DX ; ec … … 4738 4741 mov dx, cx ; 89 ca 4739 4742 mov ax, si ; 89 f0 4740 call 02f4 2h ; e8 94 064743 call 02f4ch ; e8 94 06 4741 4744 inc cx ; 41 4742 4745 mov dx, di ; 89 fa … … 4747 4750 mov dx, cx ; 89 ca 4748 4751 mov ax, si ; 89 f0 4749 call 02f4 2h ; e8 84 064752 call 02f4ch ; e8 84 06 4750 4753 inc cx ; 41 4751 4754 mov dx, 003ceh ; ba ce 03 … … 4756 4759 mov dx, cx ; 89 ca 4757 4760 mov ax, si ; 89 f0 4758 call 02f4 2h ; e8 73 064761 call 02f4ch ; e8 73 06 4759 4762 inc cx ; 41 4760 4763 mov dx, 003dah ; ba da 03 … … 4770 4773 mov dx, cx ; 89 ca 4771 4774 mov ax, si ; 89 f0 4772 call 02f4 2h ; e8 58 064775 call 02f4ch ; e8 58 06 4773 4776 inc cx ; 41 4774 4777 mov dx, 003cah ; ba ca 03 … … 4779 4782 mov dx, cx ; 89 ca 4780 4783 mov ax, si ; 89 f0 4781 call 02f4 2h ; e8 47 064784 call 02f4ch ; e8 47 06 4782 4785 mov ax, strict word 00001h ; b8 01 00 4783 4786 mov word [bp-00ah], ax ; 89 46 f6 4784 4787 add cx, ax ; 01 c1 4785 jmp short 029 0bh ; eb 064788 jmp short 02915h ; eb 06 4786 4789 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 4787 jnbe short 029 28h ; 77 1d4790 jnbe short 02932h ; 77 1d 4788 4791 mov al, byte [bp-00ah] ; 8a 46 f6 4789 4792 mov dx, 003c4h ; ba c4 03 … … 4796 4799 mov dx, cx ; 89 ca 4797 4800 mov ax, si ; 89 f0 4798 call 02f4 2h ; e8 20 064801 call 02f4ch ; e8 20 06 4799 4802 inc cx ; 41 4800 4803 inc word [bp-00ah] ; ff 46 f6 4801 jmp short 0290 5h ; eb dd4804 jmp short 0290fh ; eb dd 4802 4805 xor al, al ; 30 c0 4803 4806 mov dx, 003c4h ; ba c4 03 … … 4810 4813 mov dx, cx ; 89 ca 4811 4814 mov ax, si ; 89 f0 4812 call 02f4 2h ; e8 04 064815 call 02f4ch ; e8 04 06 4813 4816 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4814 4817 inc cx ; 41 4815 jmp short 029 4ch ; eb 064818 jmp short 02956h ; eb 06 4816 4819 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 4817 jnbe short 029 68h ; 77 1c4820 jnbe short 02972h ; 77 1c 4818 4821 mov al, byte [bp-00ah] ; 8a 46 f6 4819 4822 mov dx, di ; 89 fa … … 4826 4829 mov dx, cx ; 89 ca 4827 4830 mov ax, si ; 89 f0 4828 call 02f4 2h ; e8 e0 054831 call 02f4ch ; e8 e0 05 4829 4832 inc cx ; 41 4830 4833 inc word [bp-00ah] ; ff 46 f6 4831 jmp short 029 46h ; eb de4834 jmp short 02950h ; eb de 4832 4835 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4833 jmp short 0297 5h ; eb 064836 jmp short 0297fh ; eb 06 4834 4837 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 4835 jnbe short 029 9eh ; 77 294838 jnbe short 029a8h ; 77 29 4836 4839 mov dx, 003dah ; ba da 03 4837 4840 in AL, DX ; ec … … 4850 4853 mov dx, cx ; 89 ca 4851 4854 mov ax, si ; 89 f0 4852 call 02f4 2h ; e8 aa 054855 call 02f4ch ; e8 aa 05 4853 4856 inc cx ; 41 4854 4857 inc word [bp-00ah] ; ff 46 f6 4855 jmp short 029 6fh ; eb d14858 jmp short 02979h ; eb d1 4856 4859 mov dx, 003dah ; ba da 03 4857 4860 in AL, DX ; ec … … 4859 4862 ; sub ah, ah ; 2a e4 4860 4863 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4861 jmp short 029b 1h ; eb 064864 jmp short 029bbh ; eb 06 4862 4865 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4863 jnbe short 029 ceh ; 77 1d4866 jnbe short 029d8h ; 77 1d 4864 4867 mov al, byte [bp-00ah] ; 8a 46 f6 4865 4868 mov dx, 003ceh ; ba ce 03 … … 4872 4875 mov dx, cx ; 89 ca 4873 4876 mov ax, si ; 89 f0 4874 call 02f4 2h ; e8 7a 054877 call 02f4ch ; e8 7a 05 4875 4878 inc cx ; 41 4876 4879 inc word [bp-00ah] ; ff 46 f6 4877 jmp short 029 abh ; eb dd4880 jmp short 029b5h ; eb dd 4878 4881 mov bx, di ; 89 fb 4879 4882 mov dx, cx ; 89 ca 4880 4883 mov ax, si ; 89 f0 4881 call 02f 5eh ; e8 87 054884 call 02f68h ; e8 87 05 4882 4885 inc cx ; 41 4883 4886 inc cx ; 41 … … 4885 4888 mov dx, cx ; 89 ca 4886 4889 mov ax, si ; 89 f0 4887 call 02f4 2h ; e8 60 054890 call 02f4ch ; e8 60 05 4888 4891 inc cx ; 41 4889 4892 xor bx, bx ; 31 db 4890 4893 mov dx, cx ; 89 ca 4891 4894 mov ax, si ; 89 f0 4892 call 02f4 2h ; e8 56 054895 call 02f4ch ; e8 56 05 4893 4896 inc cx ; 41 4894 4897 xor bx, bx ; 31 db 4895 4898 mov dx, cx ; 89 ca 4896 4899 mov ax, si ; 89 f0 4897 call 02f4 2h ; e8 4c 054900 call 02f4ch ; e8 4c 05 4898 4901 inc cx ; 41 4899 4902 xor bx, bx ; 31 db 4900 4903 mov dx, cx ; 89 ca 4901 4904 mov ax, si ; 89 f0 4902 call 02f4 2h ; e8 42 054905 call 02f4ch ; e8 42 05 4903 4906 inc cx ; 41 4904 4907 test byte [bp-00ch], 002h ; f6 46 f4 02 4905 je near 02b7 0h ; 0f 84 67 014908 je near 02b7ah ; 0f 84 67 01 4906 4909 mov dx, strict word 00049h ; ba 49 00 4907 4910 mov ax, strict word 00040h ; b8 40 00 4908 call 02f3 4h ; e8 22 054911 call 02f3eh ; e8 22 05 4909 4912 movzx bx, al ; 0f b6 d8 4910 4913 mov dx, cx ; 89 ca 4911 4914 mov ax, si ; 89 f0 4912 call 02f4 2h ; e8 26 054915 call 02f4ch ; e8 26 05 4913 4916 inc cx ; 41 4914 4917 mov dx, strict word 0004ah ; ba 4a 00 4915 4918 mov ax, strict word 00040h ; b8 40 00 4916 call 02f5 0h ; e8 2a 054919 call 02f5ah ; e8 2a 05 4917 4920 mov bx, ax ; 89 c3 4918 4921 mov dx, cx ; 89 ca 4919 4922 mov ax, si ; 89 f0 4920 call 02f 5eh ; e8 2f 054923 call 02f68h ; e8 2f 05 4921 4924 inc cx ; 41 4922 4925 inc cx ; 41 4923 4926 mov dx, strict word 0004ch ; ba 4c 00 4924 4927 mov ax, strict word 00040h ; b8 40 00 4925 call 02f5 0h ; e8 16 054928 call 02f5ah ; e8 16 05 4926 4929 mov bx, ax ; 89 c3 4927 4930 mov dx, cx ; 89 ca 4928 4931 mov ax, si ; 89 f0 4929 call 02f 5eh ; e8 1b 054932 call 02f68h ; e8 1b 05 4930 4933 inc cx ; 41 4931 4934 inc cx ; 41 4932 4935 mov dx, strict word 00063h ; ba 63 00 4933 4936 mov ax, strict word 00040h ; b8 40 00 4934 call 02f5 0h ; e8 02 054937 call 02f5ah ; e8 02 05 4935 4938 mov bx, ax ; 89 c3 4936 4939 mov dx, cx ; 89 ca 4937 4940 mov ax, si ; 89 f0 4938 call 02f 5eh ; e8 07 054941 call 02f68h ; e8 07 05 4939 4942 inc cx ; 41 4940 4943 inc cx ; 41 4941 4944 mov dx, 00084h ; ba 84 00 4942 4945 mov ax, strict word 00040h ; b8 40 00 4943 call 02f3 4h ; e8 d2 044946 call 02f3eh ; e8 d2 04 4944 4947 movzx bx, al ; 0f b6 d8 4945 4948 mov dx, cx ; 89 ca 4946 4949 mov ax, si ; 89 f0 4947 call 02f4 2h ; e8 d6 044950 call 02f4ch ; e8 d6 04 4948 4951 inc cx ; 41 4949 4952 mov dx, 00085h ; ba 85 00 4950 4953 mov ax, strict word 00040h ; b8 40 00 4951 call 02f5 0h ; e8 da 044954 call 02f5ah ; e8 da 04 4952 4955 mov bx, ax ; 89 c3 4953 4956 mov dx, cx ; 89 ca 4954 4957 mov ax, si ; 89 f0 4955 call 02f 5eh ; e8 df 044958 call 02f68h ; e8 df 04 4956 4959 inc cx ; 41 4957 4960 inc cx ; 41 4958 4961 mov dx, 00087h ; ba 87 00 4959 4962 mov ax, strict word 00040h ; b8 40 00 4960 call 02f3 4h ; e8 aa 044963 call 02f3eh ; e8 aa 04 4961 4964 movzx bx, al ; 0f b6 d8 4962 4965 mov dx, cx ; 89 ca 4963 4966 mov ax, si ; 89 f0 4964 call 02f4 2h ; e8 ae 044967 call 02f4ch ; e8 ae 04 4965 4968 inc cx ; 41 4966 4969 mov dx, 00088h ; ba 88 00 4967 4970 mov ax, strict word 00040h ; b8 40 00 4968 call 02f3 4h ; e8 96 044971 call 02f3eh ; e8 96 04 4969 4972 movzx bx, al ; 0f b6 d8 4970 4973 mov dx, cx ; 89 ca 4971 4974 mov ax, si ; 89 f0 4972 call 02f4 2h ; e8 9a 044975 call 02f4ch ; e8 9a 04 4973 4976 inc cx ; 41 4974 4977 mov dx, 00089h ; ba 89 00 4975 4978 mov ax, strict word 00040h ; b8 40 00 4976 call 02f3 4h ; e8 82 044979 call 02f3eh ; e8 82 04 4977 4980 movzx bx, al ; 0f b6 d8 4978 4981 mov dx, cx ; 89 ca 4979 4982 mov ax, si ; 89 f0 4980 call 02f4 2h ; e8 86 044983 call 02f4ch ; e8 86 04 4981 4984 inc cx ; 41 4982 4985 mov dx, strict word 00060h ; ba 60 00 4983 4986 mov ax, strict word 00040h ; b8 40 00 4984 call 02f5 0h ; e8 8a 044987 call 02f5ah ; e8 8a 04 4985 4988 mov bx, ax ; 89 c3 4986 4989 mov dx, cx ; 89 ca 4987 4990 mov ax, si ; 89 f0 4988 call 02f 5eh ; e8 8f 044991 call 02f68h ; e8 8f 04 4989 4992 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4990 4993 inc cx ; 41 4991 4994 inc cx ; 41 4992 jmp short 02a deh ; eb 064995 jmp short 02ae8h ; eb 06 4993 4996 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4994 jnc short 02 afch ; 73 1e4997 jnc short 02b06h ; 73 1e 4995 4998 mov dx, word [bp-00ah] ; 8b 56 f6 4996 4999 add dx, dx ; 01 d2 4997 5000 add dx, strict byte 00050h ; 83 c2 50 4998 5001 mov ax, strict word 00040h ; b8 40 00 4999 call 02f5 0h ; e8 64 045002 call 02f5ah ; e8 64 04 5000 5003 mov bx, ax ; 89 c3 5001 5004 mov dx, cx ; 89 ca 5002 5005 mov ax, si ; 89 f0 5003 call 02f 5eh ; e8 69 045006 call 02f68h ; e8 69 04 5004 5007 inc cx ; 41 5005 5008 inc cx ; 41 5006 5009 inc word [bp-00ah] ; ff 46 f6 5007 jmp short 02a d8h ; eb dc5010 jmp short 02ae2h ; eb dc 5008 5011 mov dx, strict word 0004eh ; ba 4e 00 5009 5012 mov ax, strict word 00040h ; b8 40 00 5010 call 02f5 0h ; e8 4b 045013 call 02f5ah ; e8 4b 04 5011 5014 mov bx, ax ; 89 c3 5012 5015 mov dx, cx ; 89 ca 5013 5016 mov ax, si ; 89 f0 5014 call 02f 5eh ; e8 50 045017 call 02f68h ; e8 50 04 5015 5018 inc cx ; 41 5016 5019 inc cx ; 41 5017 5020 mov dx, strict word 00062h ; ba 62 00 5018 5021 mov ax, strict word 00040h ; b8 40 00 5019 call 02f3 4h ; e8 1b 045022 call 02f3eh ; e8 1b 04 5020 5023 movzx bx, al ; 0f b6 d8 5021 5024 mov dx, cx ; 89 ca 5022 5025 mov ax, si ; 89 f0 5023 call 02f4 2h ; e8 1f 045026 call 02f4ch ; e8 1f 04 5024 5027 inc cx ; 41 5025 5028 mov dx, strict word 0007ch ; ba 7c 00 5026 5029 xor ax, ax ; 31 c0 5027 call 02f5 0h ; e8 24 045030 call 02f5ah ; e8 24 04 5028 5031 mov bx, ax ; 89 c3 5029 5032 mov dx, cx ; 89 ca 5030 5033 mov ax, si ; 89 f0 5031 call 02f 5eh ; e8 29 045034 call 02f68h ; e8 29 04 5032 5035 inc cx ; 41 5033 5036 inc cx ; 41 5034 5037 mov dx, strict word 0007eh ; ba 7e 00 5035 5038 xor ax, ax ; 31 c0 5036 call 02f5 0h ; e8 11 045039 call 02f5ah ; e8 11 04 5037 5040 mov bx, ax ; 89 c3 5038 5041 mov dx, cx ; 89 ca 5039 5042 mov ax, si ; 89 f0 5040 call 02f 5eh ; e8 16 045043 call 02f68h ; e8 16 04 5041 5044 inc cx ; 41 5042 5045 inc cx ; 41 5043 5046 mov dx, 0010ch ; ba 0c 01 5044 5047 xor ax, ax ; 31 c0 5045 call 02f5 0h ; e8 fe 035048 call 02f5ah ; e8 fe 03 5046 5049 mov bx, ax ; 89 c3 5047 5050 mov dx, cx ; 89 ca 5048 5051 mov ax, si ; 89 f0 5049 call 02f 5eh ; e8 03 045052 call 02f68h ; e8 03 04 5050 5053 inc cx ; 41 5051 5054 inc cx ; 41 5052 5055 mov dx, 0010eh ; ba 0e 01 5053 5056 xor ax, ax ; 31 c0 5054 call 02f5 0h ; e8 eb 035057 call 02f5ah ; e8 eb 03 5055 5058 mov bx, ax ; 89 c3 5056 5059 mov dx, cx ; 89 ca 5057 5060 mov ax, si ; 89 f0 5058 call 02f 5eh ; e8 f0 035061 call 02f68h ; e8 f0 03 5059 5062 inc cx ; 41 5060 5063 inc cx ; 41 5061 5064 test byte [bp-00ch], 004h ; f6 46 f4 04 5062 je short 02b ddh ; 74 675065 je short 02be7h ; 74 67 5063 5066 mov dx, 003c7h ; ba c7 03 5064 5067 in AL, DX ; ec … … 5068 5071 mov dx, cx ; 89 ca 5069 5072 mov ax, si ; 89 f0 5070 call 02f4 2h ; e8 bc 035073 call 02f4ch ; e8 bc 03 5071 5074 inc cx ; 41 5072 5075 mov dx, 003c8h ; ba c8 03 … … 5077 5080 mov dx, cx ; 89 ca 5078 5081 mov ax, si ; 89 f0 5079 call 02f4 2h ; e8 ab 035082 call 02f4ch ; e8 ab 03 5080 5083 inc cx ; 41 5081 5084 mov dx, 003c6h ; ba c6 03 … … 5086 5089 mov dx, cx ; 89 ca 5087 5090 mov ax, si ; 89 f0 5088 call 02f4 2h ; e8 9a 035091 call 02f4ch ; e8 9a 03 5089 5092 inc cx ; 41 5090 5093 xor al, al ; 30 c0 … … 5093 5096 xor ah, ah ; 30 e4 5094 5097 mov word [bp-00ah], ax ; 89 46 f6 5095 jmp short 02b bdh ; eb 075098 jmp short 02bc7h ; eb 07 5096 5099 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5097 jnc short 02bd 3h ; 73 165100 jnc short 02bddh ; 73 16 5098 5101 mov dx, 003c9h ; ba c9 03 5099 5102 in AL, DX ; ec … … 5103 5106 mov dx, cx ; 89 ca 5104 5107 mov ax, si ; 89 f0 5105 call 02f4 2h ; e8 75 035108 call 02f4ch ; e8 75 03 5106 5109 inc cx ; 41 5107 5110 inc word [bp-00ah] ; ff 46 f6 5108 jmp short 02b b6h ; eb e35111 jmp short 02bc0h ; eb e3 5109 5112 xor bx, bx ; 31 db 5110 5113 mov dx, cx ; 89 ca 5111 5114 mov ax, si ; 89 f0 5112 call 02f4 2h ; e8 66 035115 call 02f4ch ; e8 66 03 5113 5116 inc cx ; 41 5114 5117 mov ax, cx ; 89 c8 … … 5119 5122 pop bp ; 5d 5120 5123 retn ; c3 5121 biosfn_restore_video_state_: ; 0xc2b e7LB 0x3265124 biosfn_restore_video_state_: ; 0xc2bf1 LB 0x326 5122 5125 push bp ; 55 5123 5126 mov bp, sp ; 89 e5 … … 5130 5133 mov cx, bx ; 89 d9 5131 5134 test byte [bp-00eh], 001h ; f6 46 f2 01 5132 je near 02d 47h ; 0f 84 4a 015135 je near 02d51h ; 0f 84 4a 01 5133 5136 mov dx, 003dah ; ba da 03 5134 5137 in AL, DX ; ec … … 5137 5140 lea dx, [bx+040h] ; 8d 57 40 5138 5141 mov ax, si ; 89 f0 5139 call 02f5 0h ; e8 45 035142 call 02f5ah ; e8 45 03 5140 5143 mov di, ax ; 89 c7 5141 5144 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 5142 5145 lea cx, [bx+005h] ; 8d 4f 05 5143 jmp short 02c 1dh ; eb 065146 jmp short 02c27h ; eb 06 5144 5147 cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 5145 jnbe short 02c3 5h ; 77 185148 jnbe short 02c3fh ; 77 18 5146 5149 mov al, byte [bp-008h] ; 8a 46 f8 5147 5150 mov dx, 003c4h ; ba c4 03 … … 5149 5152 mov dx, cx ; 89 ca 5150 5153 mov ax, si ; 89 f0 5151 call 02f3 4h ; e8 09 035154 call 02f3eh ; e8 09 03 5152 5155 mov dx, 003c5h ; ba c5 03 5153 5156 out DX, AL ; ee 5154 5157 inc cx ; 41 5155 5158 inc word [bp-008h] ; ff 46 f8 5156 jmp short 02c 17h ; eb e25159 jmp short 02c21h ; eb e2 5157 5160 xor al, al ; 30 c0 5158 5161 mov dx, 003c4h ; ba c4 03 … … 5160 5163 mov dx, cx ; 89 ca 5161 5164 mov ax, si ; 89 f0 5162 call 02f3 4h ; e8 f2 025165 call 02f3eh ; e8 f2 02 5163 5166 mov dx, 003c5h ; ba c5 03 5164 5167 out DX, AL ; ee … … 5168 5171 out DX, ax ; ef 5169 5172 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5170 jmp short 02c 5ah ; eb 065173 jmp short 02c64h ; eb 06 5171 5174 cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 5172 jnbe short 02c 77h ; 77 1d5175 jnbe short 02c81h ; 77 1d 5173 5176 cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 5174 je short 02c7 1h ; 74 115177 je short 02c7bh ; 74 11 5175 5178 mov al, byte [bp-008h] ; 8a 46 f8 5176 5179 mov dx, di ; 89 fa … … 5178 5181 mov dx, cx ; 89 ca 5179 5182 mov ax, si ; 89 f0 5180 call 02f3 4h ; e8 c7 025183 call 02f3eh ; e8 c7 02 5181 5184 lea dx, [di+001h] ; 8d 55 01 5182 5185 out DX, AL ; ee 5183 5186 inc cx ; 41 5184 5187 inc word [bp-008h] ; ff 46 f8 5185 jmp short 02c5 4h ; eb dd5188 jmp short 02c5eh ; eb dd 5186 5189 mov dx, 003cch ; ba cc 03 5187 5190 in AL, DX ; ec … … 5191 5194 mov word [bp-00ah], ax ; 89 46 f6 5192 5195 cmp di, 003d4h ; 81 ff d4 03 5193 jne short 02c 8ch ; 75 045196 jne short 02c96h ; 75 04 5194 5197 or byte [bp-00ah], 001h ; 80 4e f6 01 5195 5198 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5202 5205 add dx, strict byte 0fff9h ; 83 c2 f9 5203 5206 mov ax, si ; 89 f0 5204 call 02f3 4h ; e8 92 025207 call 02f3eh ; e8 92 02 5205 5208 lea dx, [di+001h] ; 8d 55 01 5206 5209 out DX, AL ; ee 5207 5210 lea dx, [bx+003h] ; 8d 57 03 5208 5211 mov ax, si ; 89 f0 5209 call 02f3 4h ; e8 86 025212 call 02f3eh ; e8 86 02 5210 5213 xor ah, ah ; 30 e4 5211 5214 mov word [bp-00ch], ax ; 89 46 f4 … … 5215 5218 ; sub ah, ah ; 2a e4 5216 5219 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5217 jmp short 02c c6h ; eb 065220 jmp short 02cd0h ; eb 06 5218 5221 cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 5219 jnbe short 02ce 4h ; 77 1e5222 jnbe short 02ceeh ; 77 1e 5220 5223 mov ax, word [bp-00ch] ; 8b 46 f4 5221 5224 and ax, strict word 00020h ; 25 20 00 … … 5225 5228 mov dx, cx ; 89 ca 5226 5229 mov ax, si ; 89 f0 5227 call 02f3 4h ; e8 5a 025230 call 02f3eh ; e8 5a 02 5228 5231 mov dx, 003c0h ; ba c0 03 5229 5232 out DX, AL ; ee 5230 5233 inc cx ; 41 5231 5234 inc word [bp-008h] ; ff 46 f8 5232 jmp short 02cc 0h ; eb dc5235 jmp short 02ccah ; eb dc 5233 5236 mov al, byte [bp-00ch] ; 8a 46 f4 5234 5237 mov dx, 003c0h ; ba c0 03 … … 5239 5242 ; sub ah, ah ; 2a e4 5240 5243 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5241 jmp short 02 cfeh ; eb 065244 jmp short 02d08h ; eb 06 5242 5245 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5243 jnbe short 02d 16h ; 77 185246 jnbe short 02d20h ; 77 18 5244 5247 mov al, byte [bp-008h] ; 8a 46 f8 5245 5248 mov dx, 003ceh ; ba ce 03 … … 5247 5250 mov dx, cx ; 89 ca 5248 5251 mov ax, si ; 89 f0 5249 call 02f3 4h ; e8 28 025252 call 02f3eh ; e8 28 02 5250 5253 mov dx, 003cfh ; ba cf 03 5251 5254 out DX, AL ; ee 5252 5255 inc cx ; 41 5253 5256 inc word [bp-008h] ; ff 46 f8 5254 jmp short 02 cf8h ; eb e25257 jmp short 02d02h ; eb e2 5255 5258 add cx, strict byte 00006h ; 83 c1 06 5256 5259 mov dx, bx ; 89 da 5257 5260 mov ax, si ; 89 f0 5258 call 02f3 4h ; e8 14 025261 call 02f3eh ; e8 14 02 5259 5262 mov dx, 003c4h ; ba c4 03 5260 5263 out DX, AL ; ee … … 5262 5265 mov dx, bx ; 89 da 5263 5266 mov ax, si ; 89 f0 5264 call 02f3 4h ; e8 08 025267 call 02f3eh ; e8 08 02 5265 5268 mov dx, di ; 89 fa 5266 5269 out DX, AL ; ee … … 5268 5271 mov dx, bx ; 89 da 5269 5272 mov ax, si ; 89 f0 5270 call 02f3 4h ; e8 fd 015273 call 02f3eh ; e8 fd 01 5271 5274 mov dx, 003ceh ; ba ce 03 5272 5275 out DX, AL ; ee 5273 5276 lea dx, [bx+002h] ; 8d 57 02 5274 5277 mov ax, si ; 89 f0 5275 call 02f3 4h ; e8 f1 015278 call 02f3eh ; e8 f1 01 5276 5279 lea dx, [di+006h] ; 8d 55 06 5277 5280 out DX, AL ; ee 5278 5281 test byte [bp-00eh], 002h ; f6 46 f2 02 5279 je near 02e b6h ; 0f 84 67 015280 mov dx, cx ; 89 ca 5281 mov ax, si ; 89 f0 5282 call 02f3 4h ; e8 de 015282 je near 02ec0h ; 0f 84 67 01 5283 mov dx, cx ; 89 ca 5284 mov ax, si ; 89 f0 5285 call 02f3eh ; e8 de 01 5283 5286 movzx bx, al ; 0f b6 d8 5284 5287 mov dx, strict word 00049h ; ba 49 00 5285 5288 mov ax, strict word 00040h ; b8 40 00 5286 call 02f4 2h ; e8 e0 015287 inc cx ; 41 5288 mov dx, cx ; 89 ca 5289 mov ax, si ; 89 f0 5290 call 02f5 0h ; e8 e6 015289 call 02f4ch ; e8 e0 01 5290 inc cx ; 41 5291 mov dx, cx ; 89 ca 5292 mov ax, si ; 89 f0 5293 call 02f5ah ; e8 e6 01 5291 5294 mov bx, ax ; 89 c3 5292 5295 mov dx, strict word 0004ah ; ba 4a 00 5293 5296 mov ax, strict word 00040h ; b8 40 00 5294 call 02f 5eh ; e8 e9 015295 inc cx ; 41 5296 inc cx ; 41 5297 mov dx, cx ; 89 ca 5298 mov ax, si ; 89 f0 5299 call 02f5 0h ; e8 d2 015297 call 02f68h ; e8 e9 01 5298 inc cx ; 41 5299 inc cx ; 41 5300 mov dx, cx ; 89 ca 5301 mov ax, si ; 89 f0 5302 call 02f5ah ; e8 d2 01 5300 5303 mov bx, ax ; 89 c3 5301 5304 mov dx, strict word 0004ch ; ba 4c 00 5302 5305 mov ax, strict word 00040h ; b8 40 00 5303 call 02f 5eh ; e8 d5 015304 inc cx ; 41 5305 inc cx ; 41 5306 mov dx, cx ; 89 ca 5307 mov ax, si ; 89 f0 5308 call 02f5 0h ; e8 be 015306 call 02f68h ; e8 d5 01 5307 inc cx ; 41 5308 inc cx ; 41 5309 mov dx, cx ; 89 ca 5310 mov ax, si ; 89 f0 5311 call 02f5ah ; e8 be 01 5309 5312 mov bx, ax ; 89 c3 5310 5313 mov dx, strict word 00063h ; ba 63 00 5311 5314 mov ax, strict word 00040h ; b8 40 00 5312 call 02f 5eh ; e8 c1 015313 inc cx ; 41 5314 inc cx ; 41 5315 mov dx, cx ; 89 ca 5316 mov ax, si ; 89 f0 5317 call 02f3 4h ; e8 8e 015315 call 02f68h ; e8 c1 01 5316 inc cx ; 41 5317 inc cx ; 41 5318 mov dx, cx ; 89 ca 5319 mov ax, si ; 89 f0 5320 call 02f3eh ; e8 8e 01 5318 5321 movzx bx, al ; 0f b6 d8 5319 5322 mov dx, 00084h ; ba 84 00 5320 5323 mov ax, strict word 00040h ; b8 40 00 5321 call 02f4 2h ; e8 90 015322 inc cx ; 41 5323 mov dx, cx ; 89 ca 5324 mov ax, si ; 89 f0 5325 call 02f5 0h ; e8 96 015324 call 02f4ch ; e8 90 01 5325 inc cx ; 41 5326 mov dx, cx ; 89 ca 5327 mov ax, si ; 89 f0 5328 call 02f5ah ; e8 96 01 5326 5329 mov bx, ax ; 89 c3 5327 5330 mov dx, 00085h ; ba 85 00 5328 5331 mov ax, strict word 00040h ; b8 40 00 5329 call 02f 5eh ; e8 99 015330 inc cx ; 41 5331 inc cx ; 41 5332 mov dx, cx ; 89 ca 5333 mov ax, si ; 89 f0 5334 call 02f3 4h ; e8 66 015332 call 02f68h ; e8 99 01 5333 inc cx ; 41 5334 inc cx ; 41 5335 mov dx, cx ; 89 ca 5336 mov ax, si ; 89 f0 5337 call 02f3eh ; e8 66 01 5335 5338 movzx bx, al ; 0f b6 d8 5336 5339 mov dx, 00087h ; ba 87 00 5337 5340 mov ax, strict word 00040h ; b8 40 00 5338 call 02f4 2h ; e8 68 015339 inc cx ; 41 5340 mov dx, cx ; 89 ca 5341 mov ax, si ; 89 f0 5342 call 02f3 4h ; e8 52 015341 call 02f4ch ; e8 68 01 5342 inc cx ; 41 5343 mov dx, cx ; 89 ca 5344 mov ax, si ; 89 f0 5345 call 02f3eh ; e8 52 01 5343 5346 movzx bx, al ; 0f b6 d8 5344 5347 mov dx, 00088h ; ba 88 00 5345 5348 mov ax, strict word 00040h ; b8 40 00 5346 call 02f4 2h ; e8 54 015347 inc cx ; 41 5348 mov dx, cx ; 89 ca 5349 mov ax, si ; 89 f0 5350 call 02f3 4h ; e8 3e 015349 call 02f4ch ; e8 54 01 5350 inc cx ; 41 5351 mov dx, cx ; 89 ca 5352 mov ax, si ; 89 f0 5353 call 02f3eh ; e8 3e 01 5351 5354 movzx bx, al ; 0f b6 d8 5352 5355 mov dx, 00089h ; ba 89 00 5353 5356 mov ax, strict word 00040h ; b8 40 00 5354 call 02f4 2h ; e8 40 015355 inc cx ; 41 5356 mov dx, cx ; 89 ca 5357 mov ax, si ; 89 f0 5358 call 02f5 0h ; e8 46 015357 call 02f4ch ; e8 40 01 5358 inc cx ; 41 5359 mov dx, cx ; 89 ca 5360 mov ax, si ; 89 f0 5361 call 02f5ah ; e8 46 01 5359 5362 mov bx, ax ; 89 c3 5360 5363 mov dx, strict word 00060h ; ba 60 00 5361 5364 mov ax, strict word 00040h ; b8 40 00 5362 call 02f 5eh ; e8 49 015365 call 02f68h ; e8 49 01 5363 5366 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5364 5367 inc cx ; 41 5365 5368 inc cx ; 41 5366 jmp short 02e2 4h ; eb 065369 jmp short 02e2eh ; eb 06 5367 5370 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5368 jnc short 02e4 2h ; 73 1e5369 mov dx, cx ; 89 ca 5370 mov ax, si ; 89 f0 5371 call 02f5 0h ; e8 25 015371 jnc short 02e4ch ; 73 1e 5372 mov dx, cx ; 89 ca 5373 mov ax, si ; 89 f0 5374 call 02f5ah ; e8 25 01 5372 5375 mov bx, ax ; 89 c3 5373 5376 mov dx, word [bp-008h] ; 8b 56 f8 … … 5375 5378 add dx, strict byte 00050h ; 83 c2 50 5376 5379 mov ax, strict word 00040h ; b8 40 00 5377 call 02f 5eh ; e8 23 015380 call 02f68h ; e8 23 01 5378 5381 inc cx ; 41 5379 5382 inc cx ; 41 5380 5383 inc word [bp-008h] ; ff 46 f8 5381 jmp short 02e 1eh ; eb dc5382 mov dx, cx ; 89 ca 5383 mov ax, si ; 89 f0 5384 call 02f5 0h ; e8 07 015384 jmp short 02e28h ; eb dc 5385 mov dx, cx ; 89 ca 5386 mov ax, si ; 89 f0 5387 call 02f5ah ; e8 07 01 5385 5388 mov bx, ax ; 89 c3 5386 5389 mov dx, strict word 0004eh ; ba 4e 00 5387 5390 mov ax, strict word 00040h ; b8 40 00 5388 call 02f 5eh ; e8 0a 015389 inc cx ; 41 5390 inc cx ; 41 5391 mov dx, cx ; 89 ca 5392 mov ax, si ; 89 f0 5393 call 02f3 4h ; e8 d7 005391 call 02f68h ; e8 0a 01 5392 inc cx ; 41 5393 inc cx ; 41 5394 mov dx, cx ; 89 ca 5395 mov ax, si ; 89 f0 5396 call 02f3eh ; e8 d7 00 5394 5397 movzx bx, al ; 0f b6 d8 5395 5398 mov dx, strict word 00062h ; ba 62 00 5396 5399 mov ax, strict word 00040h ; b8 40 00 5397 call 02f4 2h ; e8 d9 005398 inc cx ; 41 5399 mov dx, cx ; 89 ca 5400 mov ax, si ; 89 f0 5401 call 02f5 0h ; e8 df 005400 call 02f4ch ; e8 d9 00 5401 inc cx ; 41 5402 mov dx, cx ; 89 ca 5403 mov ax, si ; 89 f0 5404 call 02f5ah ; e8 df 00 5402 5405 mov bx, ax ; 89 c3 5403 5406 mov dx, strict word 0007ch ; ba 7c 00 5404 5407 xor ax, ax ; 31 c0 5405 call 02f 5eh ; e8 e3 005406 inc cx ; 41 5407 inc cx ; 41 5408 mov dx, cx ; 89 ca 5409 mov ax, si ; 89 f0 5410 call 02f5 0h ; e8 cc 005408 call 02f68h ; e8 e3 00 5409 inc cx ; 41 5410 inc cx ; 41 5411 mov dx, cx ; 89 ca 5412 mov ax, si ; 89 f0 5413 call 02f5ah ; e8 cc 00 5411 5414 mov bx, ax ; 89 c3 5412 5415 mov dx, strict word 0007eh ; ba 7e 00 5413 5416 xor ax, ax ; 31 c0 5414 call 02f 5eh ; e8 d0 005415 inc cx ; 41 5416 inc cx ; 41 5417 mov dx, cx ; 89 ca 5418 mov ax, si ; 89 f0 5419 call 02f5 0h ; e8 b9 005417 call 02f68h ; e8 d0 00 5418 inc cx ; 41 5419 inc cx ; 41 5420 mov dx, cx ; 89 ca 5421 mov ax, si ; 89 f0 5422 call 02f5ah ; e8 b9 00 5420 5423 mov bx, ax ; 89 c3 5421 5424 mov dx, 0010ch ; ba 0c 01 5422 5425 xor ax, ax ; 31 c0 5423 call 02f 5eh ; e8 bd 005424 inc cx ; 41 5425 inc cx ; 41 5426 mov dx, cx ; 89 ca 5427 mov ax, si ; 89 f0 5428 call 02f5 0h ; e8 a6 005426 call 02f68h ; e8 bd 00 5427 inc cx ; 41 5428 inc cx ; 41 5429 mov dx, cx ; 89 ca 5430 mov ax, si ; 89 f0 5431 call 02f5ah ; e8 a6 00 5429 5432 mov bx, ax ; 89 c3 5430 5433 mov dx, 0010eh ; ba 0e 01 5431 5434 xor ax, ax ; 31 c0 5432 call 02f 5eh ; e8 aa 005435 call 02f68h ; e8 aa 00 5433 5436 inc cx ; 41 5434 5437 inc cx ; 41 5435 5438 test byte [bp-00eh], 004h ; f6 46 f2 04 5436 je short 02f0 3h ; 74 475437 inc cx ; 41 5438 mov dx, cx ; 89 ca 5439 mov ax, si ; 89 f0 5440 call 02f3 4h ; e8 70 005439 je short 02f0dh ; 74 47 5440 inc cx ; 41 5441 mov dx, cx ; 89 ca 5442 mov ax, si ; 89 f0 5443 call 02f3eh ; e8 70 00 5441 5444 xor ah, ah ; 30 e4 5442 5445 mov word [bp-00ah], ax ; 89 46 f6 … … 5444 5447 mov dx, cx ; 89 ca 5445 5448 mov ax, si ; 89 f0 5446 call 02f3 4h ; e8 63 005449 call 02f3eh ; e8 63 00 5447 5450 mov dx, 003c6h ; ba c6 03 5448 5451 out DX, AL ; ee … … 5453 5456 xor ah, ah ; 30 e4 5454 5457 mov word [bp-008h], ax ; 89 46 f8 5455 jmp short 02e eah ; eb 075458 jmp short 02ef4h ; eb 07 5456 5459 cmp word [bp-008h], 00300h ; 81 7e f8 00 03 5457 jnc short 02 efbh ; 73 115458 mov dx, cx ; 89 ca 5459 mov ax, si ; 89 f0 5460 call 02f3 4h ; e8 43 005460 jnc short 02f05h ; 73 11 5461 mov dx, cx ; 89 ca 5462 mov ax, si ; 89 f0 5463 call 02f3eh ; e8 43 00 5461 5464 mov dx, 003c9h ; ba c9 03 5462 5465 out DX, AL ; ee 5463 5466 inc cx ; 41 5464 5467 inc word [bp-008h] ; ff 46 f8 5465 jmp short 02ee 3h ; eb e85468 jmp short 02eedh ; eb e8 5466 5469 inc cx ; 41 5467 5470 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5475 5478 pop bp ; 5d 5476 5479 retn ; c3 5477 find_vga_entry_: ; 0xc2f 0dLB 0x275480 find_vga_entry_: ; 0xc2f17 LB 0x27 5478 5481 push bx ; 53 5479 5482 push dx ; 52 … … 5483 5486 mov AH, strict byte 0ffh ; b4 ff 5484 5487 xor al, al ; 30 c0 5485 jmp short 02f2 0h ; eb 065488 jmp short 02f2ah ; eb 06 5486 5489 db 0feh, 0c0h 5487 5490 ; inc al ; fe c0 5488 5491 cmp AL, strict byte 00fh ; 3c 0f 5489 jnbe short 02f 2eh ; 77 0e5492 jnbe short 02f38h ; 77 0e 5490 5493 movzx bx, al ; 0f b6 d8 5491 5494 sal bx, 003h ; c1 e3 03 5492 5495 cmp dl, byte [bx+0482fh] ; 3a 97 2f 48 5493 jne short 02f 1ah ; 75 ee5496 jne short 02f24h ; 75 ee 5494 5497 mov ah, al ; 88 c4 5495 5498 mov al, ah ; 88 e0 … … 5498 5501 pop bx ; 5b 5499 5502 retn ; c3 5500 read_byte_: ; 0xc2f3 4LB 0xe5503 read_byte_: ; 0xc2f3e LB 0xe 5501 5504 push bx ; 53 5502 5505 push bp ; 55 … … 5508 5511 pop bx ; 5b 5509 5512 retn ; c3 5510 write_byte_: ; 0xc2f4 2LB 0xe5513 write_byte_: ; 0xc2f4c LB 0xe 5511 5514 push si ; 56 5512 5515 push bp ; 55 … … 5518 5521 pop si ; 5e 5519 5522 retn ; c3 5520 read_word_: ; 0xc2f5 0LB 0xe5523 read_word_: ; 0xc2f5a LB 0xe 5521 5524 push bx ; 53 5522 5525 push bp ; 55 … … 5528 5531 pop bx ; 5b 5529 5532 retn ; c3 5530 write_word_: ; 0xc2f 5eLB 0xe5533 write_word_: ; 0xc2f68 LB 0xe 5531 5534 push si ; 56 5532 5535 push bp ; 55 … … 5538 5541 pop si ; 5e 5539 5542 retn ; c3 5540 read_dword_: ; 0xc2f 6cLB 0x125543 read_dword_: ; 0xc2f76 LB 0x12 5541 5544 push bx ; 53 5542 5545 push bp ; 55 … … 5549 5552 pop bx ; 5b 5550 5553 retn ; c3 5551 write_dword_: ; 0xc2f 7eLB 0x7f5554 write_dword_: ; 0xc2f88 LB 0x7f 5552 5555 push si ; 56 5553 5556 push bp ; 55 … … 5571 5574 add ax, 00304h ; 05 04 03 5572 5575 add al, byte [bx+di] ; 02 01 5573 add al, al ; 00 c0 5574 xor bp, word [bp+di] ; 33 2b 5575 xor byte [bx+di+030h], ch ; 30 69 30 5576 jnl short 02fddh ; 7d 30 5577 db 08eh 5578 xor byte [bp+si-04cd0h], ah ; 30 a2 30 b3 5579 xor byte [di-008d0h], bh ; 30 bd 30 f7 5580 xor bl, bh ; 30 fb 5581 xor byte [si], cl ; 30 0c 5582 xor word [bx+di], bp ; 31 29 5583 xor word [bp+031h], ax ; 31 46 31 5584 xor dword [bp+di-065cfh], eax ; 66 31 83 31 9a 5585 xor word [bp-07ecfh], sp ; 31 a6 31 81 5586 xor bh, byte [si-013ceh] ; 32 bc 32 ec 5587 xor al, byte [bx+di] ; 32 01 5588 xor ax, word [bp+di+033h] ; 33 43 33 5576 add dl, cl ; 00 ca 5577 xor si, word [di] ; 33 35 5578 xor byte [bp+di+030h], dh ; 30 73 30 5579 xchg word [bx+si], si ; 87 30 5580 cbw ; 98 5581 xor byte [si-042d0h], ch ; 30 ac 30 bd 5582 xor bh, al ; 30 c7 5583 xor byte [bx+di], al ; 30 01 5584 xor word [di], ax ; 31 05 5585 xor word [03331h], dx ; 31 16 31 33 5586 xor word [bx+si+031h], dx ; 31 50 31 5587 jo short 02ffch ; 70 31 5588 lea si, [bx+di] ; 8d 31 5589 movsb ; a4 5590 xor word [bx+si-074cfh], si ; 31 b0 31 8b 5591 db 032h, 0c6h 5592 ; xor al, dh ; 32 c6 5593 db 032h, 0f6h 5594 ; xor dh, dh ; 32 f6 5595 xor cl, byte [bp+di] ; 32 0b 5596 xor cx, word [di+033h] ; 33 4d 33 5589 5597 xor byte [si], ah ; 30 24 5590 5598 and sp, word [bp+si] ; 23 22 … … 5594 5602 add AL, strict byte 002h ; 04 02 5595 5603 add word [bx+si], ax ; 01 00 5596 db 0c0h, 033h, 0c7h 5597 ; sal byte [bp+di], 0c7h ; c0 33 c7 5598 xor bp, bp ; 31 ed 5599 xor si, di ; 31 fe 5600 xor word [bx], cx ; 31 0f 5601 db 032h, 0c7h 5602 ; xor al, bh ; 32 c7 5603 xor bp, bp ; 31 ed 5604 xor si, di ; 31 fe 5605 xor word [bx], cx ; 31 0f 5606 xor ah, byte [bx+si] ; 32 20 5607 xor ch, byte [si] ; 32 2c 5608 xor al, byte [bx+032h] ; 32 47 32 5609 push dx ; 52 5610 xor bl, byte [di+032h] ; 32 5d 32 5611 db 068h 5612 db 032h 5613 _int10_func: ; 0xc2ffd LB 0x3ca 5604 retf 0d133h ; ca 33 d1 5605 xor di, si ; 31 f7 5606 xor word [bx+si], cx ; 31 08 5607 xor bl, byte [bx+di] ; 32 19 5608 db 032h, 0d1h 5609 ; xor dl, cl ; 32 d1 5610 xor di, si ; 31 f7 5611 xor word [bx+si], cx ; 31 08 5612 xor bl, byte [bx+di] ; 32 19 5613 xor ch, byte [bp+si] ; 32 2a 5614 xor dh, byte [05132h] ; 32 36 32 51 5615 xor bl, byte [si+032h] ; 32 5c 32 5616 xor dh, byte [edx+032h] ; 67 32 72 32 5617 _int10_func: ; 0xc3007 LB 0x3ca 5614 5618 push bp ; 55 5615 5619 mov bp, sp ; 89 e5 … … 5621 5625 shr ax, 008h ; c1 e8 08 5622 5626 cmp ax, strict word 0004fh ; 3d 4f 00 5623 jnbe near 033c 0h ; 0f 87 ad 035627 jnbe near 033cah ; 0f 87 ad 03 5624 5628 push CS ; 0e 5625 5629 pop ES ; 07 5626 5630 mov cx, strict word 00016h ; b9 16 00 5627 mov di, 02f9 0h ; bf 902f5631 mov di, 02f9ah ; bf 9a 2f 5628 5632 repne scasb ; f2 ae 5629 5633 sal cx, 1 ; d1 e1 5630 5634 mov di, cx ; 89 cf 5631 mov ax, word [cs:di+02fa 5h] ; 2e 8b 85 a52f5635 mov ax, word [cs:di+02fafh] ; 2e 8b 85 af 2f 5632 5636 mov cl, byte [bp+012h] ; 8a 4e 12 5633 5637 jmp ax ; ff e0 5634 5638 mov al, byte [bp+012h] ; 8a 46 12 5635 5639 xor ah, ah ; 30 e4 5636 call 00fdch ; e8 a9df5640 call 00fdch ; e8 9f df 5637 5641 mov ax, word [bp+012h] ; 8b 46 12 5638 5642 and ax, strict word 0007fh ; 25 7f 00 5639 5643 cmp ax, strict word 00007h ; 3d 07 00 5640 je short 0305 3h ; 74 155644 je short 0305dh ; 74 15 5641 5645 cmp ax, strict word 00006h ; 3d 06 00 5642 je short 030 4ah ; 74 075646 je short 03054h ; 74 07 5643 5647 cmp ax, strict word 00005h ; 3d 05 00 5644 jbe short 0305 3h ; 76 0b5645 jmp short 030 5ch ; eb 125648 jbe short 0305dh ; 76 0b 5649 jmp short 03066h ; eb 12 5646 5650 mov ax, word [bp+012h] ; 8b 46 12 5647 5651 xor al, al ; 30 c0 5648 5652 or AL, strict byte 03fh ; 0c 3f 5649 jmp short 0306 3h ; eb 105653 jmp short 0306dh ; eb 10 5650 5654 mov ax, word [bp+012h] ; 8b 46 12 5651 5655 xor al, al ; 30 c0 5652 5656 or AL, strict byte 030h ; 0c 30 5653 jmp short 0306 3h ; eb 075657 jmp short 0306dh ; eb 07 5654 5658 mov ax, word [bp+012h] ; 8b 46 12 5655 5659 xor al, al ; 30 c0 5656 5660 or AL, strict byte 020h ; 0c 20 5657 5661 mov word [bp+012h], ax ; 89 46 12 5658 jmp near 033c 0h ; e9 57 035662 jmp near 033cah ; e9 57 03 5659 5663 mov al, byte [bp+010h] ; 8a 46 10 5660 5664 movzx dx, al ; 0f b6 d0 … … 5662 5666 shr ax, 008h ; c1 e8 08 5663 5667 xor ah, ah ; 30 e4 5664 call 00dbah ; e8 40dd5665 jmp near 033c 0h ; e9 43 035668 call 00dbah ; e8 36 dd 5669 jmp near 033cah ; e9 43 03 5666 5670 mov dx, word [bp+00eh] ; 8b 56 0e 5667 5671 mov ax, word [bp+00ch] ; 8b 46 0c 5668 5672 shr ax, 008h ; c1 e8 08 5669 5673 xor ah, ah ; 30 e4 5670 call 00e5eh ; e8 d3dd5671 jmp near 033c 0h ; e9 32 035674 call 00e5eh ; e8 c9 dd 5675 jmp near 033cah ; e9 32 03 5672 5676 lea bx, [bp+00eh] ; 8d 5e 0e 5673 5677 lea dx, [bp+010h] ; 8d 56 10 … … 5675 5679 shr ax, 008h ; c1 e8 08 5676 5680 xor ah, ah ; 30 e4 5677 call 00a88h ; e8 e9d95678 jmp near 033c 0h ; e9 1e 035681 call 00a88h ; e8 df d9 5682 jmp near 033cah ; e9 1e 03 5679 5683 xor ax, ax ; 31 c0 5680 5684 mov word [bp+012h], ax ; 89 46 12 … … 5682 5686 mov word [bp+010h], ax ; 89 46 10 5683 5687 mov word [bp+00eh], ax ; 89 46 0e 5684 jmp near 033c 0h ; e9 0d 035688 jmp near 033cah ; e9 0d 03 5685 5689 mov al, cl ; 88 c8 5686 5690 xor ah, ah ; 30 e4 5687 call 00f00h ; e8 46de5688 jmp near 033c 0h ; e9 03 035691 call 00f00h ; e8 3c de 5692 jmp near 033cah ; e9 03 03 5689 5693 mov ax, strict word 00001h ; b8 01 00 5690 5694 push ax ; 50 … … 5708 5712 mov al, byte [bp+012h] ; 8a 46 12 5709 5713 xor ah, ah ; 30 e4 5710 call 015 68h ; e8 74 e45711 jmp near 033c 0h ; e9 c9 025714 call 01572h ; e8 74 e4 5715 jmp near 033cah ; e9 c9 02 5712 5716 xor ax, ax ; 31 c0 5713 jmp short 030c 0h ; eb c55717 jmp short 030cah ; eb c5 5714 5718 lea dx, [bp+012h] ; 8d 56 12 5715 5719 mov ax, word [bp+00ch] ; 8b 46 0c 5716 5720 shr ax, 008h ; c1 e8 08 5717 5721 xor ah, ah ; 30 e4 5718 call 00acbh ; e8 c2d95719 jmp near 033c 0h ; e9 b4 025722 call 00acbh ; e8 b8 d9 5723 jmp near 033cah ; e9 b4 02 5720 5724 mov cx, word [bp+010h] ; 8b 4e 10 5721 5725 mov al, byte [bp+00ch] ; 8a 46 0c … … 5726 5730 mov al, byte [bp+012h] ; 8a 46 12 5727 5731 xor ah, ah ; 30 e4 5728 call 01d 08h ; e8 e2 eb5729 jmp near 033c 0h ; e9 97 025732 call 01d12h ; e8 e2 eb 5733 jmp near 033cah ; e9 97 02 5730 5734 mov cx, word [bp+010h] ; 8b 4e 10 5731 5735 mov al, byte [bp+00ch] ; 8a 46 0c … … 5736 5740 mov al, byte [bp+012h] ; 8a 46 12 5737 5741 xor ah, ah ; 30 e4 5738 call 01e7 0h ; e8 2d ed5739 jmp near 033c 0h ; e9 7a 025742 call 01e7ah ; e8 2d ed 5743 jmp near 033cah ; e9 7a 02 5740 5744 mov cx, word [bp+00eh] ; 8b 4e 0e 5741 5745 mov bx, word [bp+010h] ; 8b 5e 10 … … 5747 5751 mov al, byte [bp-006h] ; 8a 46 fa 5748 5752 xor ah, ah ; 30 e4 5749 call 01f dfh ; e8 7c ee5750 jmp near 033c 0h ; e9 5a 025753 call 01fe9h ; e8 7c ee 5754 jmp near 033cah ; e9 5a 02 5751 5755 lea cx, [bp+012h] ; 8d 4e 12 5752 5756 mov bx, word [bp+00eh] ; 8b 5e 0e … … 5757 5761 mov al, byte [bp-006h] ; 8a 46 fa 5758 5762 xor ah, ah ; 30 e4 5759 call 00bf5h ; e8 75da5760 jmp near 033c 0h ; e9 3d 025763 call 00bf5h ; e8 6b da 5764 jmp near 033cah ; e9 3d 02 5761 5765 mov cx, strict word 00002h ; b9 02 00 5762 5766 mov al, byte [bp+00ch] ; 8a 46 0c … … 5765 5769 mov al, byte [bp+012h] ; 8a 46 12 5766 5770 xor ah, ah ; 30 e4 5767 call 021 49h ; e8 b2 ef5768 jmp near 033c 0h ; e9 26 025771 call 02153h ; e8 b2 ef 5772 jmp near 033cah ; e9 26 02 5769 5773 mov dx, word [bp+010h] ; 8b 56 10 5770 5774 mov ax, word [bp+00ch] ; 8b 46 0c 5771 call 00d2eh ; e8 8 bdb5772 jmp near 033c 0h ; e9 1a 025775 call 00d2eh ; e8 81 db 5776 jmp near 033cah ; e9 1a 02 5773 5777 mov ax, word [bp+012h] ; 8b 46 12 5774 5778 xor ah, ah ; 30 e4 5775 5779 cmp ax, strict word 00030h ; 3d 30 00 5776 jnbe near 033c 0h ; 0f 87 0e 025780 jnbe near 033cah ; 0f 87 0e 02 5777 5781 push CS ; 0e 5778 5782 pop ES ; 07 5779 5783 mov cx, strict word 0000fh ; b9 0f 00 5780 mov di, 02fd 1h ; bf d12f5784 mov di, 02fdbh ; bf db 2f 5781 5785 repne scasb ; f2 ae 5782 5786 sal cx, 1 ; d1 e1 5783 5787 mov di, cx ; 89 cf 5784 mov ax, word [cs:di+02f dfh] ; 2e 8b 85 df2f5788 mov ax, word [cs:di+02fe9h] ; 2e 8b 85 e9 2f 5785 5789 jmp ax ; ff e0 5786 5790 mov ax, word [bp+00ch] ; 8b 46 0c … … 5797 5801 mov bx, word [bp+008h] ; 8b 5e 08 5798 5802 mov dx, word [bp+016h] ; 8b 56 16 5799 call 024b 1h ; e8 c7 f25800 jmp near 033c 0h ; e9 d3 015803 call 024bbh ; e8 c7 f2 5804 jmp near 033cah ; e9 d3 01 5801 5805 mov al, byte [bp+00ch] ; 8a 46 0c 5802 5806 movzx dx, al ; 0f b6 d0 5803 5807 mov al, byte [bp+012h] ; 8a 46 12 5804 5808 xor ah, ah ; 30 e4 5805 call 025 2eh ; e8 33 f35806 jmp near 033c 0h ; e9 c2 015809 call 02538h ; e8 33 f3 5810 jmp near 033cah ; e9 c2 01 5807 5811 mov al, byte [bp+00ch] ; 8a 46 0c 5808 5812 movzx dx, al ; 0f b6 d0 5809 5813 mov al, byte [bp+012h] ; 8a 46 12 5810 5814 xor ah, ah ; 30 e4 5811 call 025 9eh ; e8 92 f35812 jmp near 033c 0h ; e9 b1 015815 call 025a8h ; e8 92 f3 5816 jmp near 033cah ; e9 b1 01 5813 5817 mov al, byte [bp+00ch] ; 8a 46 0c 5814 5818 movzx dx, al ; 0f b6 d0 5815 5819 mov al, byte [bp+012h] ; 8a 46 12 5816 5820 xor ah, ah ; 30 e4 5817 call 0261 0h ; e8 f3 f35818 jmp near 033c 0h ; e9 a0 015821 call 0261ah ; e8 f3 f3 5822 jmp near 033cah ; e9 a0 01 5819 5823 mov dx, word [bp+008h] ; 8b 56 08 5820 5824 mov ax, word [bp+016h] ; 8b 46 16 5821 call 0268 2h ; e8 59 f45822 jmp near 033c 0h ; e9 94 015825 call 0268ch ; e8 59 f4 5826 jmp near 033cah ; e9 94 01 5823 5827 mov al, byte [bp+00eh] ; 8a 46 0e 5824 5828 xor ah, ah ; 30 e4 … … 5829 5833 mov dx, word [bp+008h] ; 8b 56 08 5830 5834 mov ax, word [bp+016h] ; 8b 46 16 5831 call 026 87h ; e8 43 f45832 jmp near 033c 0h ; e9 79 015835 call 02691h ; e8 43 f4 5836 jmp near 033cah ; e9 79 01 5833 5837 mov al, byte [bp+00ch] ; 8a 46 0c 5834 5838 xor ah, ah ; 30 e4 5835 call 026 8eh ; e8 3f f45836 jmp near 033c 0h ; e9 6e 015839 call 02698h ; e8 3f f4 5840 jmp near 033cah ; e9 6e 01 5837 5841 mov al, byte [bp+00ch] ; 8a 46 0c 5838 5842 xor ah, ah ; 30 e4 5839 call 0269 3h ; e8 39 f45840 jmp near 033c 0h ; e9 63 015843 call 0269dh ; e8 39 f4 5844 jmp near 033cah ; e9 63 01 5841 5845 mov al, byte [bp+00ch] ; 8a 46 0c 5842 5846 xor ah, ah ; 30 e4 5843 call 026 98h ; e8 33 f45844 jmp near 033c 0h ; e9 58 015847 call 026a2h ; e8 33 f4 5848 jmp near 033cah ; e9 58 01 5845 5849 lea ax, [bp+00eh] ; 8d 46 0e 5846 5850 push ax ; 50 … … 5850 5854 mov ax, word [bp+00ch] ; 8b 46 0c 5851 5855 shr ax, 008h ; c1 e8 08 5852 call 00b73h ; e8 f5d85853 jmp near 033c 0h ; e9 3f 015856 call 00b73h ; e8 eb d8 5857 jmp near 033cah ; e9 3f 01 5854 5858 mov ax, word [bp+00ch] ; 8b 46 0c 5855 5859 xor ah, ah ; 30 e4 5856 5860 cmp ax, strict word 00036h ; 3d 36 00 5857 je short 032b 3h ; 74 285861 je short 032bdh ; 74 28 5858 5862 cmp ax, strict word 00035h ; 3d 35 00 5859 je short 032 9dh ; 74 0d5863 je short 032a7h ; 74 0d 5860 5864 cmp ax, strict word 00020h ; 3d 20 00 5861 jne near 033c 0h ; 0f 85 29 015862 call 026 9dh ; e8 03 f45863 jmp near 033c 0h ; e9 23 015865 jne near 033cah ; 0f 85 29 01 5866 call 026a7h ; e8 03 f4 5867 jmp near 033cah ; e9 23 01 5864 5868 movzx ax, cl ; 0f b6 c1 5865 5869 mov bx, word [bp+00eh] ; 8b 5e 0e 5866 5870 mov dx, word [bp+016h] ; 8b 56 16 5867 call 026a 2h ; e8 f9 f35871 call 026ach ; e8 f9 f3 5868 5872 mov ax, word [bp+012h] ; 8b 46 12 5869 5873 xor al, al ; 30 c0 5870 5874 or AL, strict byte 012h ; 0c 12 5871 jmp near 0306 3h ; e9 b0 fd5875 jmp near 0306dh ; e9 b0 fd 5872 5876 mov al, cl ; 88 c8 5873 5877 xor ah, ah ; 30 e4 5874 call 026 a7h ; e8 ed f35875 jmp short 032 a9h ; eb ed5878 call 026b1h ; e8 ed f3 5879 jmp short 032b3h ; eb ed 5876 5880 push word [bp+008h] ; ff 76 08 5877 5881 push word [bp+016h] ; ff 76 16 … … 5890 5894 movzx ax, cl ; 0f b6 c1 5891 5895 mov cx, word [bp+010h] ; 8b 4e 10 5892 call 026 ach ; e8 c3 f35893 jmp near 033c 0h ; e9 d4 005896 call 026b6h ; e8 c3 f3 5897 jmp near 033cah ; e9 d4 00 5894 5898 mov bx, si ; 89 f3 5895 5899 mov dx, word [bp+016h] ; 8b 56 16 5896 5900 mov ax, word [bp+00ch] ; 8b 46 0c 5897 call 027 48h ; e8 51 f45901 call 02752h ; e8 51 f4 5898 5902 mov ax, word [bp+012h] ; 8b 46 12 5899 5903 xor al, al ; 30 c0 5900 5904 or AL, strict byte 01bh ; 0c 1b 5901 jmp near 0306 3h ; e9 62 fd5905 jmp near 0306dh ; e9 62 fd 5902 5906 mov ax, word [bp+012h] ; 8b 46 12 5903 5907 xor ah, ah ; 30 e4 5904 5908 cmp ax, strict word 00002h ; 3d 02 00 5905 je short 033 2dh ; 74 225909 je short 03337h ; 74 22 5906 5910 cmp ax, strict word 00001h ; 3d 01 00 5907 je short 033 1fh ; 74 0f5911 je short 03329h ; 74 0f 5908 5912 test ax, ax ; 85 c0 5909 jne short 033 39h ; 75 255913 jne short 03343h ; 75 25 5910 5914 lea dx, [bp+00ch] ; 8d 56 0c 5911 5915 mov ax, word [bp+010h] ; 8b 46 10 5912 call 028 6ch ; e8 4f f55913 jmp short 033 39h ; eb 1a5916 call 02876h ; e8 4f f5 5917 jmp short 03343h ; eb 1a 5914 5918 mov bx, word [bp+00ch] ; 8b 5e 0c 5915 5919 mov dx, word [bp+016h] ; 8b 56 16 5916 5920 mov ax, word [bp+010h] ; 8b 46 10 5917 call 028 7eh ; e8 53 f55918 jmp short 033 39h ; eb 0c5921 call 02888h ; e8 53 f5 5922 jmp short 03343h ; eb 0c 5919 5923 mov bx, word [bp+00ch] ; 8b 5e 0c 5920 5924 mov dx, word [bp+016h] ; 8b 56 16 5921 5925 mov ax, word [bp+010h] ; 8b 46 10 5922 call 02b e7h ; e8 ae f85926 call 02bf1h ; e8 ae f8 5923 5927 mov ax, word [bp+012h] ; 8b 46 12 5924 5928 xor al, al ; 30 c0 5925 5929 or AL, strict byte 01ch ; 0c 1c 5926 jmp near 0306 3h ; e9 20 fd5927 call 007a4h ; e8 5 ed45930 jmp near 0306dh ; e9 20 fd 5931 call 007a4h ; e8 54 d4 5928 5932 test ax, ax ; 85 c0 5929 je near 033 bbh ; 0f 84 6f 005933 je near 033c5h ; 0f 84 6f 00 5930 5934 mov ax, word [bp+012h] ; 8b 46 12 5931 5935 xor ah, ah ; 30 e4 5932 5936 cmp ax, strict word 00002h ; 3d 02 00 5933 jc short 033 69h ; 72 135934 jbe short 033 8fh ; 76 375937 jc short 03373h ; 72 13 5938 jbe short 03399h ; 76 37 5935 5939 cmp ax, strict word 0000ah ; 3d 0a 00 5936 je short 033b 4h ; 74 575940 je short 033beh ; 74 57 5937 5941 cmp ax, strict word 00009h ; 3d 09 00 5938 je short 033b 4h ; 74 525942 je short 033beh ; 74 52 5939 5943 cmp ax, strict word 00004h ; 3d 04 00 5940 je short 033 9fh ; 74 385941 jmp short 033b 4h ; eb 4b5944 je short 033a9h ; 74 38 5945 jmp short 033beh ; eb 4b 5942 5946 cmp ax, strict word 00001h ; 3d 01 00 5943 je short 033 7fh ; 74 115947 je short 03389h ; 74 11 5944 5948 test ax, ax ; 85 c0 5945 jne short 033b 4h ; 75 425949 jne short 033beh ; 75 42 5946 5950 mov bx, si ; 89 f3 5947 5951 mov dx, word [bp+016h] ; 8b 56 16 5948 5952 lea ax, [bp+012h] ; 8d 46 12 5949 call 034 edh ; e8 70 015950 jmp short 033c 0h ; eb 415953 call 034f7h ; e8 70 01 5954 jmp short 033cah ; eb 41 5951 5955 mov cx, si ; 89 f1 5952 5956 mov bx, word [bp+016h] ; 8b 5e 16 5953 5957 mov dx, word [bp+010h] ; 8b 56 10 5954 5958 lea ax, [bp+012h] ; 8d 46 12 5955 call 036 16h ; e8 89 025956 jmp short 033c 0h ; eb 315959 call 03620h ; e8 89 02 5960 jmp short 033cah ; eb 31 5957 5961 mov cx, si ; 89 f1 5958 5962 mov bx, word [bp+016h] ; 8b 5e 16 5959 5963 mov dx, word [bp+00ch] ; 8b 56 0c 5960 5964 lea ax, [bp+012h] ; 8d 46 12 5961 call 036 cah ; e8 2d 035962 jmp short 033c 0h ; eb 215965 call 036d4h ; e8 2d 03 5966 jmp short 033cah ; eb 21 5963 5967 lea ax, [bp+00ch] ; 8d 46 0c 5964 5968 push ax ; 50 … … 5967 5971 mov dx, word [bp+010h] ; 8b 56 10 5968 5972 lea ax, [bp+012h] ; 8d 46 12 5969 call 038b 1h ; e8 ff 045970 jmp short 033c 0h ; eb 0c5973 call 038bbh ; e8 ff 04 5974 jmp short 033cah ; eb 0c 5971 5975 mov word [bp+012h], 00100h ; c7 46 12 00 01 5972 jmp short 033c 0h ; eb 055976 jmp short 033cah ; eb 05 5973 5977 mov word [bp+012h], 00100h ; c7 46 12 00 01 5974 5978 lea sp, [bp-004h] ; 8d 66 fc … … 5977 5981 pop bp ; 5d 5978 5982 retn ; c3 5979 dispi_set_xres_: ; 0xc33 c7LB 0x1b5983 dispi_set_xres_: ; 0xc33d1 LB 0x1b 5980 5984 push bp ; 55 5981 5985 mov bp, sp ; 89 e5 … … 5994 5998 pop bp ; 5d 5995 5999 retn ; c3 5996 dispi_set_yres_: ; 0xc33e 2LB 0x1b6000 dispi_set_yres_: ; 0xc33ec LB 0x1b 5997 6001 push bp ; 55 5998 6002 mov bp, sp ; 89 e5 … … 6011 6015 pop bp ; 5d 6012 6016 retn ; c3 6013 dispi_set_bpp_: ; 0xc3 3fdLB 0x1b6017 dispi_set_bpp_: ; 0xc3407 LB 0x1b 6014 6018 push bp ; 55 6015 6019 mov bp, sp ; 89 e5 … … 6028 6032 pop bp ; 5d 6029 6033 retn ; c3 6030 in_word_: ; 0xc34 18LB 0x126034 in_word_: ; 0xc3422 LB 0x12 6031 6035 push bp ; 55 6032 6036 mov bp, sp ; 89 e5 … … 6041 6045 pop bp ; 5d 6042 6046 retn ; c3 6043 in_byte_: ; 0xc34 2aLB 0x146047 in_byte_: ; 0xc3434 LB 0x14 6044 6048 push bp ; 55 6045 6049 mov bp, sp ; 89 e5 … … 6056 6060 pop bp ; 5d 6057 6061 retn ; c3 6058 dispi_get_id_: ; 0xc34 3eLB 0x146062 dispi_get_id_: ; 0xc3448 LB 0x14 6059 6063 push bp ; 55 6060 6064 mov bp, sp ; 89 e5 … … 6069 6073 pop bp ; 5d 6070 6074 retn ; c3 6071 dispi_set_id_: ; 0xc345 2LB 0x1a6075 dispi_set_id_: ; 0xc345c LB 0x1a 6072 6076 push bp ; 55 6073 6077 mov bp, sp ; 89 e5 … … 6086 6090 pop bp ; 5d 6087 6091 retn ; c3 6088 vbe_init_: ; 0xc34 6cLB 0x2c6092 vbe_init_: ; 0xc3476 LB 0x2c 6089 6093 push bp ; 55 6090 6094 mov bp, sp ; 89 e5 … … 6092 6096 push dx ; 52 6093 6097 mov ax, 0b0c0h ; b8 c0 b0 6094 call 0345 2h ; e8 db ff6095 call 034 3eh ; e8 c4 ff6098 call 0345ch ; e8 db ff 6099 call 03448h ; e8 c4 ff 6096 6100 cmp ax, 0b0c0h ; 3d c0 b0 6097 jne short 0349 1h ; 75 126101 jne short 0349bh ; 75 12 6098 6102 mov bx, strict word 00001h ; bb 01 00 6099 6103 mov dx, 000b9h ; ba b9 00 6100 6104 mov ax, strict word 00040h ; b8 40 00 6101 call 02f4 2h ; e8 b7 fa6105 call 02f4ch ; e8 b7 fa 6102 6106 mov ax, 0b0c4h ; b8 c4 b0 6103 call 0345 2h ; e8 c1 ff6107 call 0345ch ; e8 c1 ff 6104 6108 lea sp, [bp-004h] ; 8d 66 fc 6105 6109 pop dx ; 5a … … 6107 6111 pop bp ; 5d 6108 6112 retn ; c3 6109 mode_info_find_mode_: ; 0xc34 98LB 0x556113 mode_info_find_mode_: ; 0xc34a2 LB 0x55 6110 6114 push bp ; 55 6111 6115 mov bp, sp ; 89 e5 … … 6118 6122 xor dx, dx ; 31 d2 6119 6123 mov ax, 003b6h ; b8 b6 03 6120 call 034 18h ; e8 6d ff6124 call 03422h ; e8 6d ff 6121 6125 cmp ax, 077cch ; 3d cc 77 6122 jne short 034e 2h ; 75 326126 jne short 034ech ; 75 32 6123 6127 mov bx, strict word 00004h ; bb 04 00 6124 6128 mov dx, bx ; 89 da 6125 6129 mov ax, 003b6h ; b8 b6 03 6126 call 034 18h ; e8 5d ff6130 call 03422h ; e8 5d ff 6127 6131 mov cx, ax ; 89 c1 6128 6132 cmp cx, strict byte 0ffffh ; 83 f9 ff 6129 je short 034e 2h ; 74 206133 je short 034ech ; 74 20 6130 6134 lea dx, [bx+002h] ; 8d 57 02 6131 6135 mov ax, 003b6h ; b8 b6 03 6132 call 034 18h ; e8 4d ff6136 call 03422h ; e8 4d ff 6133 6137 lea dx, [bx+044h] ; 8d 57 44 6134 6138 cmp cx, di ; 39 f9 6135 jne short 034 deh ; 75 0c6139 jne short 034e8h ; 75 0c 6136 6140 test si, si ; 85 f6 6137 jne short 034 dah ; 75 046141 jne short 034e4h ; 75 04 6138 6142 mov ax, bx ; 89 d8 6139 jmp short 034e 4h ; eb 0a6143 jmp short 034eeh ; eb 0a 6140 6144 test AL, strict byte 080h ; a8 80 6141 jne short 034 d6h ; 75 f86145 jne short 034e0h ; 75 f8 6142 6146 mov bx, dx ; 89 d3 6143 jmp short 034b 5h ; eb d36147 jmp short 034bfh ; eb d3 6144 6148 xor ax, ax ; 31 c0 6145 6149 lea sp, [bp-008h] ; 8d 66 f8 … … 6150 6154 pop bp ; 5d 6151 6155 retn ; c3 6152 vbe_biosfn_return_controller_information_: ; 0xc34 edLB 0x1296156 vbe_biosfn_return_controller_information_: ; 0xc34f7 LB 0x129 6153 6157 push bp ; 55 6154 6158 mov bp, sp ; 89 e5 … … 6161 6165 mov word [bp-00ah], bx ; 89 5e f6 6162 6166 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6163 call 005a7h ; e8 a2d06167 call 005a7h ; e8 98 d0 6164 6168 mov word [bp-010h], ax ; 89 46 f0 6165 6169 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6167 6171 xor dx, dx ; 31 d2 6168 6172 mov ax, 003b6h ; b8 b6 03 6169 call 034 18h ; e8 02 ff6173 call 03422h ; e8 02 ff 6170 6174 cmp ax, 077cch ; 3d cc 77 6171 je short 0352 5h ; 74 0a6175 je short 0352fh ; 74 0a 6172 6176 push SS ; 16 6173 6177 pop ES ; 07 6174 6178 mov word [es:si], 00100h ; 26 c7 04 00 01 6175 jmp near 036 0eh ; e9 e9 006179 jmp near 03618h ; e9 e9 00 6176 6180 mov cx, strict word 00004h ; b9 04 00 6177 6181 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6178 6182 mov es, [bp-008h] ; 8e 46 f8 6179 6183 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6180 jne short 035 3fh ; 75 076184 jne short 03549h ; 75 07 6181 6185 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6182 je short 035 4eh ; 74 0f6186 je short 03558h ; 74 0f 6183 6187 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6184 jne short 0355 3h ; 75 0c6188 jne short 0355dh ; 75 0c 6185 6189 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6186 jne short 0355 3h ; 75 056190 jne short 0355dh ; 75 05 6187 6191 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6188 6192 mov es, [bp-008h] ; 8e 46 f8 … … 6200 6204 mov dx, strict word 0ffffh ; ba ff ff 6201 6205 mov ax, 003b6h ; b8 b6 03 6202 call 034 18h ; e8 8a fe6206 call 03422h ; e8 8a fe 6203 6207 mov es, [bp-008h] ; 8e 46 f8 6204 6208 mov word [es:bx+012h], ax ; 26 89 47 12 6205 6209 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6206 je short 035 bfh ; 74 246210 je short 035c9h ; 74 24 6207 6211 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6208 6212 mov word [es:bx+016h], 07e35h ; 26 c7 47 16 35 7e … … 6215 6219 add dx, strict byte 0001bh ; 83 c2 1b 6216 6220 mov ax, 003b6h ; b8 b6 03 6217 call 034 2ah ; e8 60 fe6221 call 03434h ; e8 60 fe 6218 6222 xor ah, ah ; 30 e4 6219 6223 cmp ax, word [bp-010h] ; 3b 46 f0 6220 jnbe short 035 eah ; 77 196224 jnbe short 035f4h ; 77 19 6221 6225 mov dx, cx ; 89 ca 6222 6226 mov ax, 003b6h ; b8 b6 03 6223 call 034 18h ; e8 3f fe6227 call 03422h ; e8 3f fe 6224 6228 mov bx, ax ; 89 c3 6225 6229 mov dx, word [bp-00ah] ; 8b 56 f6 6226 6230 add dx, word [bp-00ch] ; 03 56 f4 6227 6231 mov ax, di ; 89 f8 6228 call 02f 5eh ; e8 78 f96232 call 02f68h ; e8 78 f9 6229 6233 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6230 6234 add cx, strict byte 00044h ; 83 c1 44 6231 6235 mov dx, cx ; 89 ca 6232 6236 mov ax, 003b6h ; b8 b6 03 6233 call 034 18h ; e8 23 fe6237 call 03422h ; e8 23 fe 6234 6238 mov bx, ax ; 89 c3 6235 6239 cmp ax, strict word 0ffffh ; 3d ff ff 6236 jne short 035 bfh ; 75 c36240 jne short 035c9h ; 75 c3 6237 6241 mov dx, word [bp-00ah] ; 8b 56 f6 6238 6242 add dx, word [bp-00ch] ; 03 56 f4 6239 6243 mov ax, di ; 89 f8 6240 call 02f 5eh ; e8 57 f96244 call 02f68h ; e8 57 f9 6241 6245 push SS ; 16 6242 6246 pop ES ; 07 … … 6248 6252 pop bp ; 5d 6249 6253 retn ; c3 6250 vbe_biosfn_return_mode_information_: ; 0xc36 16LB 0xb46254 vbe_biosfn_return_mode_information_: ; 0xc3620 LB 0xb4 6251 6255 push bp ; 55 6252 6256 mov bp, sp ; 89 e5 … … 6264 6268 xor dh, dh ; 30 f6 6265 6269 and ah, 001h ; 80 e4 01 6266 call 034 98h ; e8 65 fe6270 call 034a2h ; e8 65 fe 6267 6271 mov word [bp-008h], ax ; 89 46 f8 6268 6272 test ax, ax ; 85 c0 6269 je near 036 b8h ; 0f 84 7c 006273 je near 036c2h ; 0f 84 7c 00 6270 6274 mov cx, 00100h ; b9 00 01 6271 6275 xor ax, ax ; 31 c0 … … 6273 6277 mov es, bx ; 8e c3 6274 6278 cld ; fc 6275 jcxz 036 4bh ; e3 026279 jcxz 03655h ; e3 02 6276 6280 rep stosb ; f3 aa 6277 6281 xor cx, cx ; 31 c9 6278 jmp short 0365 4h ; eb 056282 jmp short 0365eh ; eb 05 6279 6283 cmp cx, strict byte 00042h ; 83 f9 42 6280 jnc short 0367 1h ; 73 1d6284 jnc short 0367bh ; 73 1d 6281 6285 mov dx, word [bp-008h] ; 8b 56 f8 6282 6286 inc dx ; 42 … … 6284 6288 add dx, cx ; 01 ca 6285 6289 mov ax, 003b6h ; b8 b6 03 6286 call 034 2ah ; e8 c9 fd6290 call 03434h ; e8 c9 fd 6287 6291 movzx bx, al ; 0f b6 d8 6288 6292 mov dx, word [bp-006h] ; 8b 56 fa 6289 6293 add dx, cx ; 01 ca 6290 6294 mov ax, si ; 89 f0 6291 call 02f4 2h ; e8 d4 f86292 inc cx ; 41 6293 jmp short 036 4fh ; eb de6295 call 02f4ch ; e8 d4 f8 6296 inc cx ; 41 6297 jmp short 03659h ; eb de 6294 6298 mov dx, word [bp-006h] ; 8b 56 fa 6295 6299 inc dx ; 42 6296 6300 inc dx ; 42 6297 6301 mov ax, si ; 89 f0 6298 call 02f3 4h ; e8 b9 f86302 call 02f3eh ; e8 b9 f8 6299 6303 test AL, strict byte 001h ; a8 01 6300 je short 036 9bh ; 74 1c6304 je short 036a5h ; 74 1c 6301 6305 mov dx, word [bp-006h] ; 8b 56 fa 6302 6306 add dx, strict byte 0000ch ; 83 c2 0c 6303 6307 mov bx, 00605h ; bb 05 06 6304 6308 mov ax, si ; 89 f0 6305 call 02f 5eh ; e8 d1 f86309 call 02f68h ; e8 d1 f8 6306 6310 mov dx, word [bp-006h] ; 8b 56 fa 6307 6311 add dx, strict byte 0000eh ; 83 c2 0e 6308 6312 mov bx, 0c000h ; bb 00 c0 6309 6313 mov ax, si ; 89 f0 6310 call 02f 5eh ; e8 c3 f86314 call 02f68h ; e8 c3 f8 6311 6315 mov ax, strict word 0000bh ; b8 0b 00 6312 6316 mov dx, 001ceh ; ba ce 01 … … 6318 6322 mov bx, ax ; 89 c3 6319 6323 mov ax, si ; 89 f0 6320 call 02f 5eh ; e8 ab f86324 call 02f68h ; e8 ab f8 6321 6325 mov ax, strict word 0004fh ; b8 4f 00 6322 jmp short 036 bbh ; eb 036326 jmp short 036c5h ; eb 03 6323 6327 mov ax, 00100h ; b8 00 01 6324 6328 push SS ; 16 … … 6331 6335 pop bp ; 5d 6332 6336 retn ; c3 6333 vbe_biosfn_set_mode_: ; 0xc36 caLB 0xe96337 vbe_biosfn_set_mode_: ; 0xc36d4 LB 0xe9 6334 6338 push bp ; 55 6335 6339 mov bp, sp ; 89 e5 … … 6345 6349 mov ax, dx ; 89 d0 6346 6350 test dx, dx ; 85 d2 6347 je short 036 eah ; 74 036351 je short 036f4h ; 74 03 6348 6352 mov dx, strict word 00040h ; ba 40 00 6349 6353 mov byte [bp-006h], dl ; 88 56 fa 6350 6354 test byte [bp-009h], 080h ; f6 46 f7 80 6351 je short 03 6f8h ; 74 056355 je short 03702h ; 74 05 6352 6356 mov dx, 00080h ; ba 80 00 6353 jmp short 03 6fah ; eb 026357 jmp short 03704h ; eb 02 6354 6358 xor dx, dx ; 31 d2 6355 6359 mov byte [bp-008h], dl ; 88 56 f8 6356 6360 and byte [bp-009h], 001h ; 80 66 f7 01 6357 6361 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6358 jnc short 037 1ah ; 73 126362 jnc short 03724h ; 73 12 6359 6363 xor ax, ax ; 31 c0 6360 call 005c9h ; e8 b cce6364 call 005c9h ; e8 b2 ce 6361 6365 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6362 call 00fdch ; e8 c8d86366 call 00fdch ; e8 be d8 6363 6367 mov ax, strict word 0004fh ; b8 4f 00 6364 jmp near 037 a9h ; e9 8f 006368 jmp near 037b3h ; e9 8f 00 6365 6369 mov dx, ax ; 89 c2 6366 6370 mov ax, word [bp-00ah] ; 8b 46 f6 6367 call 034 98h ; e8 76 fd6371 call 034a2h ; e8 76 fd 6368 6372 mov bx, ax ; 89 c3 6369 6373 test ax, ax ; 85 c0 6370 je near 037 a6h ; 0f 84 7c 006374 je near 037b0h ; 0f 84 7c 00 6371 6375 lea dx, [bx+014h] ; 8d 57 14 6372 6376 mov ax, 003b6h ; b8 b6 03 6373 call 034 18h ; e8 e5 fc6377 call 03422h ; e8 e5 fc 6374 6378 mov cx, ax ; 89 c1 6375 6379 lea dx, [bx+016h] ; 8d 57 16 6376 6380 mov ax, 003b6h ; b8 b6 03 6377 call 034 18h ; e8 da fc6381 call 03422h ; e8 da fc 6378 6382 mov di, ax ; 89 c7 6379 6383 lea dx, [bx+01bh] ; 8d 57 1b 6380 6384 mov ax, 003b6h ; b8 b6 03 6381 call 034 2ah ; e8 e1 fc6385 call 03434h ; e8 e1 fc 6382 6386 mov bl, al ; 88 c3 6383 6387 mov dl, al ; 88 c2 6384 6388 xor ax, ax ; 31 c0 6385 call 005c9h ; e8 77ce6389 call 005c9h ; e8 6d ce 6386 6390 cmp bl, 004h ; 80 fb 04 6387 jne short 037 5dh ; 75 066391 jne short 03767h ; 75 06 6388 6392 mov ax, strict word 0006ah ; b8 6a 00 6389 call 00fdch ; e8 7 fd86393 call 00fdch ; e8 75 d8 6390 6394 movzx ax, dl ; 0f b6 c2 6391 call 03 3fdh ; e8 9a fc6395 call 03407h ; e8 9a fc 6392 6396 mov ax, cx ; 89 c8 6393 call 033 c7h ; e8 5f fc6397 call 033d1h ; e8 5f fc 6394 6398 mov ax, di ; 89 f8 6395 call 033e 2h ; e8 75 fc6399 call 033ech ; e8 75 fc 6396 6400 xor ax, ax ; 31 c0 6397 call 005e7h ; e8 75ce6401 call 005e7h ; e8 6b ce 6398 6402 mov al, byte [bp-008h] ; 8a 46 f8 6399 6403 or AL, strict byte 001h ; 0c 01 … … 6401 6405 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6402 6406 or ax, dx ; 09 d0 6403 call 005c9h ; e8 46ce6404 call 006c3h ; e8 3 dcf6407 call 005c9h ; e8 3c ce 6408 call 006c3h ; e8 33 cf 6405 6409 mov bx, word [bp-00ah] ; 8b 5e f6 6406 6410 mov dx, 000bah ; ba ba 00 6407 6411 mov ax, strict word 00040h ; b8 40 00 6408 call 02f 5eh ; e8 cc f76412 call 02f68h ; e8 cc f7 6409 6413 mov al, byte [bp-008h] ; 8a 46 f8 6410 6414 or AL, strict byte 060h ; 0c 60 … … 6412 6416 mov dx, 00087h ; ba 87 00 6413 6417 mov ax, strict word 00040h ; b8 40 00 6414 call 02f4 2h ; e8 9f f76415 jmp near 0371 4h ; e9 6e ff6418 call 02f4ch ; e8 9f f7 6419 jmp near 0371eh ; e9 6e ff 6416 6420 mov ax, 00100h ; b8 00 01 6417 6421 mov word [ss:si], ax ; 36 89 04 … … 6421 6425 pop bp ; 5d 6422 6426 retn ; c3 6423 vbe_biosfn_read_video_state_size_: ; 0xc37b 3LB 0x86427 vbe_biosfn_read_video_state_size_: ; 0xc37bd LB 0x8 6424 6428 push bp ; 55 6425 6429 mov bp, sp ; 89 e5 … … 6427 6431 pop bp ; 5d 6428 6432 retn ; c3 6429 vbe_biosfn_save_video_state_: ; 0xc37 bbLB 0x5b6433 vbe_biosfn_save_video_state_: ; 0xc37c5 LB 0x5b 6430 6434 push bp ; 55 6431 6435 mov bp, sp ; 89 e5 … … 6446 6450 mov dx, cx ; 89 ca 6447 6451 mov ax, di ; 89 f8 6448 call 02f 5eh ; e8 80 f76452 call 02f68h ; e8 80 f7 6449 6453 inc cx ; 41 6450 6454 inc cx ; 41 6451 6455 test byte [bp-00ah], 001h ; f6 46 f6 01 6452 je short 038 0dh ; 74 276456 je short 03817h ; 74 27 6453 6457 mov si, strict word 00001h ; be 01 00 6454 jmp short 037f 0h ; eb 056458 jmp short 037fah ; eb 05 6455 6459 cmp si, strict byte 00009h ; 83 fe 09 6456 jnbe short 038 0dh ; 77 1d6460 jnbe short 03817h ; 77 1d 6457 6461 cmp si, strict byte 00004h ; 83 fe 04 6458 je short 038 0ah ; 74 156462 je short 03814h ; 74 15 6459 6463 mov ax, si ; 89 f0 6460 6464 mov dx, 001ceh ; ba ce 01 … … 6465 6469 mov dx, cx ; 89 ca 6466 6470 mov ax, di ; 89 f8 6467 call 02f 5eh ; e8 56 f76471 call 02f68h ; e8 56 f7 6468 6472 inc cx ; 41 6469 6473 inc cx ; 41 6470 6474 inc si ; 46 6471 jmp short 037 ebh ; eb de6475 jmp short 037f5h ; eb de 6472 6476 lea sp, [bp-008h] ; 8d 66 f8 6473 6477 pop di ; 5f … … 6477 6481 pop bp ; 5d 6478 6482 retn ; c3 6479 vbe_biosfn_restore_video_state_: ; 0xc38 16LB 0x9b6483 vbe_biosfn_restore_video_state_: ; 0xc3820 LB 0x9b 6480 6484 push bp ; 55 6481 6485 mov bp, sp ; 89 e5 … … 6486 6490 mov cx, ax ; 89 c1 6487 6491 mov bx, dx ; 89 d3 6488 call 02f5 0h ; e8 2c f76492 call 02f5ah ; e8 2c f7 6489 6493 mov word [bp-008h], ax ; 89 46 f8 6490 6494 inc bx ; 43 6491 6495 inc bx ; 43 6492 6496 test byte [bp-008h], 001h ; f6 46 f8 01 6493 jne short 038 3fh ; 75 106497 jne short 03849h ; 75 10 6494 6498 mov ax, strict word 00004h ; b8 04 00 6495 6499 mov dx, 001ceh ; ba ce 01 … … 6498 6502 mov dx, 001cfh ; ba cf 01 6499 6503 out DX, ax ; ef 6500 jmp short 038 a9h ; eb 6a6504 jmp short 038b3h ; eb 6a 6501 6505 mov ax, strict word 00001h ; b8 01 00 6502 6506 mov dx, 001ceh ; ba ce 01 … … 6504 6508 mov dx, bx ; 89 da 6505 6509 mov ax, cx ; 89 c8 6506 call 02f5 0h ; e8 03 f76510 call 02f5ah ; e8 03 f7 6507 6511 mov dx, 001cfh ; ba cf 01 6508 6512 out DX, ax ; ef … … 6514 6518 mov dx, bx ; 89 da 6515 6519 mov ax, cx ; 89 c8 6516 call 02f5 0h ; e8 ef f66520 call 02f5ah ; e8 ef f6 6517 6521 mov dx, 001cfh ; ba cf 01 6518 6522 out DX, ax ; ef … … 6524 6528 mov dx, bx ; 89 da 6525 6529 mov ax, cx ; 89 c8 6526 call 02f5 0h ; e8 db f66530 call 02f5ah ; e8 db f6 6527 6531 mov dx, 001cfh ; ba cf 01 6528 6532 out DX, ax ; ef … … 6536 6540 out DX, ax ; ef 6537 6541 mov si, strict word 00005h ; be 05 00 6538 jmp short 0389 3h ; eb 056542 jmp short 0389dh ; eb 05 6539 6543 cmp si, strict byte 00009h ; 83 fe 09 6540 jnbe short 038 a9h ; 77 166544 jnbe short 038b3h ; 77 16 6541 6545 mov ax, si ; 89 f0 6542 6546 mov dx, 001ceh ; ba ce 01 … … 6544 6548 mov dx, bx ; 89 da 6545 6549 mov ax, cx ; 89 c8 6546 call 02f5 0h ; e8 b0 f66550 call 02f5ah ; e8 b0 f6 6547 6551 mov dx, 001cfh ; ba cf 01 6548 6552 out DX, ax ; ef … … 6550 6554 inc bx ; 43 6551 6555 inc si ; 46 6552 jmp short 038 8eh ; eb e56556 jmp short 03898h ; eb e5 6553 6557 lea sp, [bp-006h] ; 8d 66 fa 6554 6558 pop si ; 5e … … 6557 6561 pop bp ; 5d 6558 6562 retn ; c3 6559 vbe_biosfn_save_restore_state_: ; 0xc38b 1LB 0x8c6563 vbe_biosfn_save_restore_state_: ; 0xc38bb LB 0x8c 6560 6564 push bp ; 55 6561 6565 mov bp, sp ; 89 e5 … … 6570 6574 xor ah, ah ; 30 e4 6571 6575 cmp ax, strict word 00002h ; 3d 02 00 6572 je short 0391 0h ; 74 456576 je short 0391ah ; 74 45 6573 6577 cmp ax, strict word 00001h ; 3d 01 00 6574 je short 038f 4h ; 74 246578 je short 038feh ; 74 24 6575 6579 test ax, ax ; 85 c0 6576 jne short 039 2ch ; 75 586580 jne short 03936h ; 75 58 6577 6581 mov ax, word [bp-006h] ; 8b 46 fa 6578 call 028 49h ; e8 6f ef6582 call 02853h ; e8 6f ef 6579 6583 mov cx, ax ; 89 c1 6580 6584 test byte [bp-006h], 008h ; f6 46 fa 08 6581 je short 038 e7h ; 74 056582 call 037b 3h ; e8 ce fe6585 je short 038f1h ; 74 05 6586 call 037bdh ; e8 ce fe 6583 6587 add ax, cx ; 01 c8 6584 6588 add ax, strict word 0003fh ; 05 3f 00 … … 6587 6591 pop ES ; 07 6588 6592 mov word [es:bx], ax ; 26 89 07 6589 jmp short 039 2fh ; eb 3b6593 jmp short 03939h ; eb 3b 6590 6594 push SS ; 16 6591 6595 pop ES ; 07 … … 6593 6597 mov dx, cx ; 89 ca 6594 6598 mov ax, word [bp-006h] ; 8b 46 fa 6595 call 028 7eh ; e8 7d ef6599 call 02888h ; e8 7d ef 6596 6600 test byte [bp-006h], 008h ; f6 46 fa 08 6597 je short 039 2fh ; 74 286601 je short 03939h ; 74 28 6598 6602 mov dx, ax ; 89 c2 6599 6603 mov ax, cx ; 89 c8 6600 call 037 bbh ; e8 ad fe6601 jmp short 039 2fh ; eb 1f6604 call 037c5h ; e8 ad fe 6605 jmp short 03939h ; eb 1f 6602 6606 push SS ; 16 6603 6607 pop ES ; 07 … … 6605 6609 mov dx, cx ; 89 ca 6606 6610 mov ax, word [bp-006h] ; 8b 46 fa 6607 call 02b e7h ; e8 ca f26611 call 02bf1h ; e8 ca f2 6608 6612 test byte [bp-006h], 008h ; f6 46 fa 08 6609 je short 039 2fh ; 74 0c6613 je short 03939h ; 74 0c 6610 6614 mov dx, ax ; 89 c2 6611 6615 mov ax, cx ; 89 c8 6612 call 038 16h ; e8 ec fe6613 jmp short 039 2fh ; eb 036616 call 03820h ; e8 ec fe 6617 jmp short 03939h ; eb 03 6614 6618 mov di, 00100h ; bf 00 01 6615 6619 push SS ; 16 … … 6622 6626 retn 00002h ; c2 02 00 6623 6627 6624 ; Padding 0xc c3 bytes at 0xc393d6625 times 32 67 db 06628 ; Padding 0xcb9 bytes at 0xc3947 6629 times 3257 db 0 6626 6630 6627 6631 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO … … 7676 7680 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7677 7681 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7678 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 85h7682 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 055h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
r51062 r51255 1 be05e86993fbde08237d26cfc61fb370*VBoxVgaBios.rom1 2abf7b9050be07a06bb5f956042ff4df *VBoxVgaBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.