Changeset 43078 in vbox for trunk/src/VBox/Devices/Graphics
- Timestamp:
- Aug 29, 2012 2:34:43 PM (12 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS-new
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.asm
r42454 r43078 118 118 ; // 119 119 ; // ============================================================================================ 120 ; #include <inttypes.h> 120 121 ; #include "vgabios.h" 121 ; #include <inttypes.h>122 122 123 123 ; … … 157 157 158 158 159 section VGAROM progbits vstart=0x0 align=1 ; size=0x9 93class=CODE group=AUTO159 section VGAROM progbits vstart=0x0 align=1 ; size=0x971 class=CODE group=AUTO 160 160 db 055h, 0aah, 040h, 0e9h, 068h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 161 161 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h 162 162 db 04dh, 000h 163 vgabios_int10_handler: ; 0xc0022 LB 0x5 b5163 vgabios_int10_handler: ; 0xc0022 LB 0x593 164 164 pushfw ; 9c 165 165 cmp ah, 00fh ; 80 fc 0f … … 215 215 cmp AL, strict byte 003h ; 3c 03 216 216 jne short 000afh ; 75 05 217 call 00 80ch ; e8 5f07217 call 007eah ; e8 3d 07 218 218 jmp short 000f3h ; eb 44 219 219 cmp AL, strict byte 005h ; 3c 05 220 220 jne short 000b8h ; 75 05 221 call 008 31h ; e8 7b07221 call 0080fh ; e8 59 07 222 222 jmp short 000f3h ; eb 3b 223 223 cmp AL, strict byte 006h ; 3c 06 224 224 jne short 000c1h ; 75 05 225 call 008 5eh ; e8 9f07225 call 0083ch ; e8 7d 07 226 226 jmp short 000f3h ; eb 32 227 227 cmp AL, strict byte 007h ; 3c 07 228 228 jne short 000cah ; 75 05 229 call 008 abh ; e8 e307229 call 00889h ; e8 c1 07 230 230 jmp short 000f3h ; eb 29 231 231 cmp AL, strict byte 008h ; 3c 08 232 232 jne short 000d3h ; 75 05 233 call 008 dfh ; e8 0e 08233 call 008bdh ; e8 ec 07 234 234 jmp short 000f3h ; eb 20 235 235 cmp AL, strict byte 009h ; 3c 09 236 236 jne short 000dch ; 75 05 237 call 00 916h ; e8 3c08237 call 008f4h ; e8 1a 08 238 238 jmp short 000f3h ; eb 17 239 239 cmp AL, strict byte 00ah ; 3c 0a 240 240 jne short 000e5h ; 75 05 241 call 009 7ah ; e8 9708241 call 00958h ; e8 75 08 242 242 jmp short 000f3h ; eb 0e 243 243 push ES ; 06 … … 246 246 mov bx, 0c000h ; bb 00 c0 247 247 mov ds, bx ; 8e db 248 call 0305 ch ; e8 6c2f248 call 03058h ; e8 68 2f 249 249 popaw ; 61 250 250 pop DS ; 1f … … 987 987 pop dx ; 5a 988 988 retn ; c3 989 _dispi_get_max_bpp: ; 0xc05b5 LB 0x22 989 990 push dx ; 52 990 991 push bx ; 53 991 call 00 609h ; e8 4f00992 call 005e7h ; e8 2d 00 992 993 db 08bh, 0d8h 993 994 ; mov bx, ax ; 8b d8 994 995 or ax, strict byte 00002h ; 83 c8 02 995 call 005 f9h ; e8 3700996 call 005d7h ; e8 15 00 996 997 mov dx, 001ceh ; ba ce 01 997 mov ax, strict word 0000 1h ; b8 0100998 mov ax, strict word 00003h ; b8 03 00 998 999 out DX, ax ; ef 999 1000 mov dx, 001cfh ; ba cf 01 … … 1002 1003 db 08bh, 0c3h 1003 1004 ; mov ax, bx ; 8b c3 1004 call 005 f9h ; e8 26001005 call 005d7h ; e8 04 00 1005 1006 pop ax ; 58 1006 1007 pop bx ; 5b 1007 1008 pop dx ; 5a 1008 1009 retn ; c3 1009 _dispi_get_max_bpp: ; 0xc05d7 LB 0x22 1010 push dx ; 52 1011 push bx ; 53 1012 call 00609h ; e8 2d 00 1013 db 08bh, 0d8h 1014 ; mov bx, ax ; 8b d8 1015 or ax, strict byte 00002h ; 83 c8 02 1016 call 005f9h ; e8 15 00 1017 mov dx, 001ceh ; ba ce 01 1018 mov ax, strict word 00003h ; b8 03 00 1019 out DX, ax ; ef 1020 mov dx, 001cfh ; ba cf 01 1021 in ax, DX ; ed 1022 push ax ; 50 1023 db 08bh, 0c3h 1024 ; mov ax, bx ; 8b c3 1025 call 005f9h ; e8 04 00 1026 pop ax ; 58 1027 pop bx ; 5b 1028 pop dx ; 5a 1029 retn ; c3 1030 dispi_set_enable_: ; 0xc05f9 LB 0x1e 1010 dispi_set_enable_: ; 0xc05d7 LB 0x1e 1031 1011 push dx ; 52 1032 1012 push ax ; 50 … … 1047 1027 pop dx ; 5a 1048 1028 retn ; c3 1049 dispi_set_bank_: ; 0xc0 617LB 0x1e1029 dispi_set_bank_: ; 0xc05f5 LB 0x1e 1050 1030 push dx ; 52 1051 1031 push ax ; 50 … … 1066 1046 pop dx ; 5a 1067 1047 retn ; c3 1068 _dispi_set_bank_farcall: ; 0xc06 35LB 0xbe1048 _dispi_set_bank_farcall: ; 0xc0613 LB 0xbe 1069 1049 cmp bx, 00100h ; 81 fb 00 01 1070 je short 006 59h ; 74 1e1050 je short 00637h ; 74 1e 1071 1051 db 00bh, 0dbh 1072 1052 ; or bx, bx ; 0b db 1073 jne short 006 67h ; 75 281053 jne short 00645h ; 75 28 1074 1054 db 08bh, 0c2h 1075 1055 ; mov ax, dx ; 8b c2 … … 1086 1066 db 03bh, 0d0h 1087 1067 ; cmp dx, ax ; 3b d0 1088 jne short 006 67h ; 75 121068 jne short 00645h ; 75 12 1089 1069 mov ax, strict word 0004fh ; b8 4f 00 1090 1070 retf ; cb … … 1140 1120 db 08bh, 0d8h 1141 1121 ; mov bx, ax ; 8b d8 1142 call 00598h ; e8 e9 fe1122 call 00598h ; e8 0b ff 1143 1123 cmp AL, strict byte 004h ; 3c 04 1144 jnbe short 006 b5h ; 77 021124 jnbe short 00693h ; 77 02 1145 1125 shr bx, 1 ; d1 eb 1146 1126 shr bx, 003h ; c1 eb 03 … … 1154 1134 pop ax ; 58 1155 1135 retn ; c3 1156 call 006 a7h ; e8 e0 ff1136 call 00685h ; e8 e0 ff 1157 1137 push dx ; 52 1158 1138 push ax ; 50 … … 1181 1161 pop dx ; 5a 1182 1162 retn ; c3 1183 _vga_compat_setup: ; 0xc06 f3LB 0xe11163 _vga_compat_setup: ; 0xc06d1 LB 0xe1 1184 1164 push ax ; 50 1185 1165 push dx ; 52 … … 1202 1182 out DX, ax ; ef 1203 1183 pop ax ; 58 1204 call 006 a7h ; e8 90 ff1184 call 00685h ; e8 90 ff 1205 1185 mov dx, 001ceh ; ba ce 01 1206 1186 mov ax, strict word 00002h ; b8 02 00 … … 1222 1202 and AL, strict byte 0bdh ; 24 bd 1223 1203 test ah, 001h ; f6 c4 01 1224 je short 007 3bh ; 74 021204 je short 00719h ; 74 02 1225 1205 or AL, strict byte 002h ; 0c 02 1226 1206 test ah, 002h ; f6 c4 02 1227 je short 007 42h ; 74 021207 je short 00720h ; 74 02 1228 1208 or AL, strict byte 040h ; 0c 40 1229 1209 out DX, AL ; ee … … 1266 1246 in ax, DX ; ed 1267 1247 cmp AL, strict byte 008h ; 3c 08 1268 jc short 007 d2h ; 72 401248 jc short 007b0h ; 72 40 1269 1249 mov dx, 003d4h ; ba d4 03 1270 1250 mov AL, strict byte 014h ; b0 14 … … 1303 1283 pop dx ; 5a 1304 1284 pop ax ; 58 1305 _vbe_has_vbe_display: ; 0xc07 d4LB 0x131285 _vbe_has_vbe_display: ; 0xc07b2 LB 0x13 1306 1286 push DS ; 1e 1307 1287 push bx ; 53 … … 1316 1296 pop DS ; 1f 1317 1297 retn ; c3 1318 _vbe_init: ; 0xc07 e7LB 0x251298 _vbe_init: ; 0xc07c5 LB 0x25 1319 1299 mov ax, 0b0c0h ; b8 c0 b0 1320 call 00588h ; e8 9bfd1321 call 0057ah ; e8 8afd1300 call 00588h ; e8 bd fd 1301 call 0057ah ; e8 ac fd 1322 1302 cmp ax, 0b0c0h ; 3d c0 b0 1323 jne short 00 80bh ; 75 161303 jne short 007e9h ; 75 16 1324 1304 push DS ; 1e 1325 1305 push bx ; 53 … … 1332 1312 pop DS ; 1f 1333 1313 mov ax, 0b0c4h ; b8 c4 b0 1334 call 00588h ; e8 7dfd1335 retn ; c3 1336 vbe_biosfn_return_current_mode: ; 0xc0 80cLB 0x251314 call 00588h ; e8 9f fd 1315 retn ; c3 1316 vbe_biosfn_return_current_mode: ; 0xc07ea LB 0x25 1337 1317 push DS ; 1e 1338 1318 mov ax, strict word 00040h ; b8 40 00 1339 1319 mov ds, ax ; 8e d8 1340 call 00 609h ; e8 f4 fd1320 call 005e7h ; e8 f4 fd 1341 1321 and ax, strict byte 00001h ; 83 e0 01 1342 je short 008 23h ; 74 091322 je short 00801h ; 74 09 1343 1323 mov bx, 000bah ; bb ba 00 1344 1324 mov ax, word [bx] ; 8b 07 1345 1325 db 08bh, 0d8h 1346 1326 ; mov bx, ax ; 8b d8 1347 jne short 008 2ch ; 75 091327 jne short 0080ah ; 75 09 1348 1328 mov bx, strict word 00049h ; bb 49 00 1349 1329 mov al, byte [bx] ; 8a 07 … … 1355 1335 pop DS ; 1f 1356 1336 retn ; c3 1357 vbe_biosfn_display_window_control: ; 0xc08 31LB 0x2d1337 vbe_biosfn_display_window_control: ; 0xc080f LB 0x2d 1358 1338 cmp bl, 000h ; 80 fb 00 1359 jne short 008 5ah ; 75 241339 jne short 00838h ; 75 24 1360 1340 cmp bh, 001h ; 80 ff 01 1361 je short 008 51h ; 74 161362 jc short 008 41h ; 72 041341 je short 0082fh ; 74 16 1342 jc short 0081fh ; 72 04 1363 1343 mov ax, 00100h ; b8 00 01 1364 1344 retn ; c3 1365 1345 db 08bh, 0c2h 1366 1346 ; mov ax, dx ; 8b c2 1367 call 00 617h ; e8 d1 fd1368 call 006 27h ; e8 de fd1347 call 005f5h ; e8 d1 fd 1348 call 00605h ; e8 de fd 1369 1349 db 03bh, 0c2h 1370 1350 ; cmp ax, dx ; 3b c2 1371 jne short 008 5ah ; 75 0d1351 jne short 00838h ; 75 0d 1372 1352 mov ax, strict word 0004fh ; b8 4f 00 1373 1353 retn ; c3 1374 call 006 27h ; e8 d3 fd1354 call 00605h ; e8 d3 fd 1375 1355 db 08bh, 0d0h 1376 1356 ; mov dx, ax ; 8b d0 … … 1379 1359 mov ax, 0014fh ; b8 4f 01 1380 1360 retn ; c3 1381 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc08 5eLB 0x4d1361 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc083c LB 0x4d 1382 1362 db 08bh, 0c1h 1383 1363 ; mov ax, cx ; 8b c1 1384 1364 cmp bl, 001h ; 80 fb 01 1385 je short 008 89h ; 74 241365 je short 00867h ; 74 24 1386 1366 cmp bl, 002h ; 80 fb 02 1387 je short 008 70h ; 74 061388 jc short 008 86h ; 72 1a1367 je short 0084eh ; 74 06 1368 jc short 00864h ; 72 1a 1389 1369 mov ax, 00100h ; b8 00 01 1390 1370 retn ; c3 1391 1371 push ax ; 50 1392 call 00598h ; e8 24fd1372 call 00598h ; e8 46 fd 1393 1373 db 032h, 0ffh 1394 1374 ; xor bh, bh ; 32 ff … … 1397 1377 db 00ah, 0dbh 1398 1378 ; or bl, bl ; 0a db 1399 jne short 008 81h ; 75 051379 jne short 0085fh ; 75 05 1400 1380 sal ax, 003h ; c1 e0 03 1401 1381 mov BL, strict byte 001h ; b3 01 … … 1404 1384 pop ax ; 58 1405 1385 div bx ; f7 f3 1406 call 006 c4h ; e8 3b fe1407 call 00598h ; e8 0cfd1386 call 006a2h ; e8 3b fe 1387 call 00598h ; e8 2e fd 1408 1388 db 032h, 0ffh 1409 1389 ; xor bh, bh ; 32 ff 1410 1390 db 08ah, 0dch 1411 1391 ; mov bl, ah ; 8a dc 1412 call 006 d7h ; e8 44 fe1392 call 006b5h ; e8 44 fe 1413 1393 db 08bh, 0c8h 1414 1394 ; mov cx, ax ; 8b c8 1415 1395 db 00ah, 0dbh 1416 1396 ; or bl, bl ; 0a db 1417 jne short 008 9eh ; 75 051397 jne short 0087ch ; 75 05 1418 1398 shr ax, 003h ; c1 e8 03 1419 1399 mov BL, strict byte 001h ; b3 01 … … 1421 1401 db 08bh, 0d8h 1422 1402 ; mov bx, ax ; 8b d8 1423 call 006 e5h ; e8 40 fe1403 call 006c3h ; e8 40 fe 1424 1404 db 08bh, 0d0h 1425 1405 ; mov dx, ax ; 8b d0 1426 1406 mov ax, strict word 0004fh ; b8 4f 00 1427 1407 retn ; c3 1428 vbe_biosfn_set_get_display_start: ; 0xc08 abLB 0x341408 vbe_biosfn_set_get_display_start: ; 0xc0889 LB 0x34 1429 1409 cmp bl, 080h ; 80 fb 80 1430 je short 008 bbh ; 74 0b1410 je short 00899h ; 74 0b 1431 1411 cmp bl, 001h ; 80 fb 01 1432 je short 008 cfh ; 74 1a1433 jc short 008 c1h ; 72 0a1412 je short 008adh ; 74 1a 1413 jc short 0089fh ; 72 0a 1434 1414 mov ax, 00100h ; b8 00 01 1435 1415 retn ; c3 1436 call 0056dh ; e8 affc1437 call 00560h ; e8 9ffc1416 call 0056dh ; e8 d1 fc 1417 call 00560h ; e8 c1 fc 1438 1418 db 08bh, 0c1h 1439 1419 ; mov ax, cx ; 8b c1 1440 call 006 6bh ; e8 a5 fd1420 call 00649h ; e8 a5 fd 1441 1421 db 08bh, 0c2h 1442 1422 ; mov ax, dx ; 8b c2 1443 call 006 89h ; e8 be fd1423 call 00667h ; e8 be fd 1444 1424 mov ax, strict word 0004fh ; b8 4f 00 1445 1425 retn ; c3 1446 call 006 7bh ; e8 a9 fd1426 call 00659h ; e8 a9 fd 1447 1427 db 08bh, 0c8h 1448 1428 ; mov cx, ax ; 8b c8 1449 call 006 99h ; e8 c2 fd1429 call 00677h ; e8 c2 fd 1450 1430 db 08bh, 0d0h 1451 1431 ; mov dx, ax ; 8b d0 … … 1454 1434 mov ax, strict word 0004fh ; b8 4f 00 1455 1435 retn ; c3 1456 vbe_biosfn_set_get_dac_palette_format: ; 0xc08 dfLB 0x371436 vbe_biosfn_set_get_dac_palette_format: ; 0xc08bd LB 0x37 1457 1437 cmp bl, 001h ; 80 fb 01 1458 je short 00 902h ; 74 1e1459 jc short 008 eah ; 72 041438 je short 008e0h ; 74 1e 1439 jc short 008c8h ; 72 04 1460 1440 mov ax, 00100h ; b8 00 01 1461 1441 retn ; c3 1462 call 00 609h ; e8 1c fd1442 call 005e7h ; e8 1c fd 1463 1443 cmp bh, 006h ; 80 ff 06 1464 je short 008 fch ; 74 0a1444 je short 008dah ; 74 0a 1465 1445 cmp bh, 008h ; 80 ff 08 1466 jne short 00 912h ; 75 1b1446 jne short 008f0h ; 75 1b 1467 1447 or ax, strict byte 00020h ; 83 c8 20 1468 jne short 008 ffh ; 75 031448 jne short 008ddh ; 75 03 1469 1449 and ax, strict byte 0ffdfh ; 83 e0 df 1470 call 005 f9h ; e8 f7 fc1450 call 005d7h ; e8 f7 fc 1471 1451 mov BH, strict byte 006h ; b7 06 1472 call 00 609h ; e8 02 fd1452 call 005e7h ; e8 02 fd 1473 1453 and ax, strict byte 00020h ; 83 e0 20 1474 je short 00 90eh ; 74 021454 je short 008ech ; 74 02 1475 1455 mov BH, strict byte 008h ; b7 08 1476 1456 mov ax, strict word 0004fh ; b8 4f 00 … … 1478 1458 mov ax, 0014fh ; b8 4f 01 1479 1459 retn ; c3 1480 vbe_biosfn_set_get_palette_data: ; 0xc0 916LB 0x641460 vbe_biosfn_set_get_palette_data: ; 0xc08f4 LB 0x64 1481 1461 test bl, bl ; 84 db 1482 je short 009 29h ; 74 0f1462 je short 00907h ; 74 0f 1483 1463 cmp bl, 001h ; 80 fb 01 1484 je short 009 51h ; 74 321464 je short 0092fh ; 74 32 1485 1465 cmp bl, 003h ; 80 fb 03 1486 jbe short 009 76h ; 76 521466 jbe short 00954h ; 76 52 1487 1467 cmp bl, 080h ; 80 fb 80 1488 jne short 009 72h ; 75 491468 jne short 00950h ; 75 49 1489 1469 pushad ; 66 60 1490 1470 push DS ; 1e … … 1505 1485 rol eax, 008h ; 66 c1 c0 08 1506 1486 out DX, AL ; ee 1507 loop 009 37h ; e2 ed1487 loop 00915h ; e2 ed 1508 1488 pop DS ; 1f 1509 1489 popad ; 66 61 … … 1524 1504 in AL, DX ; ec 1525 1505 stosd ; 66 ab 1526 loop 009 5ch ; e2 ee1506 loop 0093ah ; e2 ee 1527 1507 popad ; 66 61 1528 jmp short 009 4dh ; eb db1508 jmp short 0092bh ; eb db 1529 1509 mov ax, 0014fh ; b8 4f 01 1530 1510 retn ; c3 1531 1511 mov ax, 0024fh ; b8 4f 02 1532 1512 retn ; c3 1533 vbe_biosfn_return_protected_mode_interface: ; 0xc09 7aLB 0x191513 vbe_biosfn_return_protected_mode_interface: ; 0xc0958 LB 0x19 1534 1514 test bl, bl ; 84 db 1535 jne short 009 8fh ; 75 111515 jne short 0096dh ; 75 11 1536 1516 mov di, 0c000h ; bf 00 c0 1537 1517 mov es, di ; 8e c7 1538 1518 mov di, 04600h ; bf 00 46 1539 mov cx, 0 4711h ; b9 11 471519 mov cx, 00115h ; b9 15 01 1540 1520 db 02bh, 0cfh 1541 1521 ; sub cx, di ; 2b cf … … 1545 1525 retn ; c3 1546 1526 1547 ; Padding 0x 6d bytes at 0xc09931548 times 1 09db 01527 ; Padding 0x8f bytes at 0xc0971 1528 times 143 db 0 1549 1529 1550 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f f9class=CODE group=AUTO1530 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f27 class=CODE group=AUTO 1551 1531 set_int_vector_: ; 0xc0a00 LB 0x1a 1552 1532 push bx ; 53 … … 1576 1556 out DX, AL ; ee 1577 1557 push 04800h ; 68 00 48 1578 call 02f5 4h ; e8 1e251558 call 02f50h ; e8 1a 25 1579 1559 add sp, strict byte 00002h ; 83 c4 02 1580 1560 pop bp ; 5d … … 1604 1584 call 00a1ah ; e8 a6 ff 1605 1585 call 00a3ch ; e8 c5 ff 1606 call 007 e7h ; e8 6dfd1586 call 007c5h ; e8 4b fd 1607 1587 mov dx, strict word 00022h ; ba 22 00 1608 1588 mov ax, strict word 00010h ; b8 10 00 … … 1630 1610 mov dx, strict word 00060h ; ba 60 00 1631 1611 mov ax, strict word 00040h ; b8 40 00 1632 call 02f 26h ; e8 76241612 call 02f10h ; e8 60 24 1633 1613 push SS ; 16 1634 1614 pop ES ; 07 … … 1638 1618 add dx, strict byte 00050h ; 83 c2 50 1639 1619 mov ax, strict word 00040h ; b8 40 00 1640 call 02f 26h ; e8 63241620 call 02f10h ; e8 4d 24 1641 1621 push SS ; 16 1642 1622 pop ES ; 07 … … 1656 1636 mov dx, strict word 00049h ; ba 49 00 1657 1637 mov ax, strict word 00040h ; b8 40 00 1658 call 02 f0ah ; e8 29241638 call 02ef4h ; e8 13 24 1659 1639 xor ah, ah ; 30 e4 1660 call 02e e3h ; e8 fd231640 call 02ecdh ; e8 e7 23 1661 1641 mov ch, al ; 88 c5 1662 1642 cmp AL, strict byte 0ffh ; 3c ff … … 1674 1654 mov dx, 00084h ; ba 84 00 1675 1655 mov ax, strict word 00040h ; b8 40 00 1676 call 02 f0ah ; e8 f8231656 call 02ef4h ; e8 e2 23 1677 1657 movzx di, al ; 0f b6 f8 1678 1658 inc di ; 47 1679 1659 mov dx, strict word 0004ah ; ba 4a 00 1680 1660 mov ax, strict word 00040h ; b8 40 00 1681 call 02f 26h ; e8 07 241661 call 02f10h ; e8 f1 23 1682 1662 movzx bx, ch ; 0f b6 dd 1683 1663 sal bx, 003h ; c1 e3 03 1684 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 001664 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 1685 1665 jne short 00b59h ; 75 2d 1686 1666 mov dx, ax ; 89 c2 … … 1698 1678 mov dx, cx ; 89 ca 1699 1679 add dx, ax ; 01 c2 1700 mov ax, word [bx+0483 3h] ; 8b 87 33481701 call 02f 26h ; e8 d0231680 mov ax, word [bx+04836h] ; 8b 87 36 48 1681 call 02f10h ; e8 ba 23 1702 1682 mov word [ss:si], ax ; 36 89 04 1703 1683 leave ; c9 … … 1735 1715 mov dx, strict word 0007ch ; ba 7c 00 1736 1716 xor ax, ax ; 31 c0 1737 call 02f 42h ; e8 b0231717 call 02f2ch ; e8 9a 23 1738 1718 push SS ; 16 1739 1719 pop ES ; 07 … … 1743 1723 mov dx, 00085h ; ba 85 00 1744 1724 mov ax, strict word 00040h ; b8 40 00 1745 call 02 f0ah ; e8 64231725 call 02ef4h ; e8 4e 23 1746 1726 xor ah, ah ; 30 e4 1747 1727 push SS ; 16 … … 1750 1730 mov dx, 00084h ; ba 84 00 1751 1731 mov ax, strict word 00040h ; b8 40 00 1752 call 02 f0ah ; e8 54231732 call 02ef4h ; e8 3e 23 1753 1733 xor ah, ah ; 30 e4 1754 1734 push SS ; 16 … … 1762 1742 mov dx, 0010ch ; ba 0c 01 1763 1743 jmp short 00b8dh ; eb c2 1764 mov ax, 05d afh ; b8 af5d1744 mov ax, 05db2h ; b8 b2 5d 1765 1745 mov dx, 0c000h ; ba 00 c0 1766 1746 jmp short 00b92h ; eb bf 1767 mov ax, 055 afh ; b8 af551747 mov ax, 055b2h ; b8 b2 55 1768 1748 jmp short 00bceh ; eb f6 1769 mov ax, 059 afh ; b8 af591749 mov ax, 059b2h ; b8 b2 59 1770 1750 jmp short 00bceh ; eb f1 1771 mov ax, 07b afh ; b8 af7b1751 mov ax, 07bb2h ; b8 b2 7b 1772 1752 jmp short 00bceh ; eb ec 1773 mov ax, 06b afh ; b8 af6b1753 mov ax, 06bb2h ; b8 b2 6b 1774 1754 jmp short 00bceh ; eb e7 1775 mov ax, 07cd ch ; b8 dc7c1755 mov ax, 07cdfh ; b8 df 7c 1776 1756 jmp short 00bceh ; eb e2 1777 1757 jmp short 00bc0h ; eb d2 … … 1785 1765 mov dx, strict word 00049h ; ba 49 00 1786 1766 mov ax, strict word 00040h ; b8 40 00 1787 call 02 f0ah ; e8 06 231767 call 02ef4h ; e8 f0 22 1788 1768 xor ah, ah ; 30 e4 1789 call 02e e3h ; e8 da221769 call 02ecdh ; e8 c4 22 1790 1770 mov cl, al ; 88 c1 1791 1771 cmp AL, strict byte 0ffh ; 3c ff … … 1793 1773 movzx bx, al ; 0f b6 d8 1794 1774 sal bx, 003h ; c1 e3 03 1795 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 001775 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 1796 1776 je near 00d1eh ; 0f 84 fe 00 1797 mov bl, byte [bx+0483 1h] ; 8a 9f 31481777 mov bl, byte [bx+04834h] ; 8a 9f 34 48 1798 1778 cmp bl, 003h ; 80 fb 03 1799 1779 jc short 00c3ah ; 72 11 … … 1809 1789 mov dx, strict word 0004ah ; ba 4a 00 1810 1790 mov ax, strict word 00040h ; b8 40 00 1811 call 02f 26h ; e8 db221791 call 02f10h ; e8 c5 22 1812 1792 imul ax, word [bp-006h] ; 0f af 46 fa 1813 1793 mov bx, si ; 89 f3 … … 1830 1810 mov dx, bx ; 89 da 1831 1811 mov ax, 0a000h ; b8 00 a0 1832 call 02 f0ah ; e8 85221812 call 02ef4h ; e8 6f 22 1833 1813 and al, byte [bp-004h] ; 22 46 fc 1834 1814 test al, al ; 84 c0 … … 1851 1831 mov dx, bx ; 89 da 1852 1832 mov ax, 0b800h ; b8 00 b8 1853 call 02 f0ah ; e8 50221833 call 02ef4h ; e8 3a 22 1854 1834 movzx bx, cl ; 0f b6 d9 1855 1835 sal bx, 003h ; c1 e3 03 1856 cmp byte [bx+0483 2h], 002h ; 80 bf 3248 021836 cmp byte [bx+04835h], 002h ; 80 bf 35 48 02 1857 1837 jne short 00ce2h ; 75 1b 1858 1838 mov cx, si ; 89 f1 … … 1881 1861 mov dx, strict word 0004ah ; ba 4a 00 1882 1862 mov ax, strict word 00040h ; b8 40 00 1883 call 02f 26h ; e8 22221863 call 02f10h ; e8 0c 22 1884 1864 sal ax, 003h ; c1 e0 03 1885 1865 imul ax, word [bp-006h] ; 0f af 46 fa … … 1887 1867 add dx, ax ; 01 c2 1888 1868 mov ax, 0a000h ; b8 00 a0 1889 call 02 f0ah ; e8 f5211869 call 02ef4h ; e8 df 21 1890 1870 mov ch, al ; 88 c5 1891 1871 jmp short 00d1bh ; eb 02 … … 1989 1969 mov dx, strict word 00060h ; ba 60 00 1990 1970 mov ax, strict word 00040h ; b8 40 00 1991 call 02f 34h ; e8 63211971 call 02f1eh ; e8 4d 21 1992 1972 mov dx, 00089h ; ba 89 00 1993 1973 mov ax, strict word 00040h ; b8 40 00 1994 call 02 f0ah ; e8 30211974 call 02ef4h ; e8 1a 21 1995 1975 mov bl, al ; 88 c3 1996 1976 mov dx, 00085h ; ba 85 00 1997 1977 mov ax, strict word 00040h ; b8 40 00 1998 call 02f 26h ; e8 41211978 call 02f10h ; e8 2b 21 1999 1979 mov dx, ax ; 89 c2 2000 1980 test bl, 001h ; f6 c3 01 … … 2027 2007 mov dx, strict word 00063h ; ba 63 00 2028 2008 mov ax, strict word 00040h ; b8 40 00 2029 call 02f 26h ; e8 fa202009 call 02f10h ; e8 e4 20 2030 2010 mov bx, ax ; 89 c3 2031 2011 mov AL, strict byte 00ah ; b0 0a … … 2062 2042 mov bx, cx ; 89 cb 2063 2043 mov ax, strict word 00040h ; b8 40 00 2064 call 02f 34h ; e8 c7202044 call 02f1eh ; e8 b1 20 2065 2045 mov dx, strict word 00062h ; ba 62 00 2066 2046 mov ax, strict word 00040h ; b8 40 00 2067 call 02 f0ah ; e8 94202047 call 02ef4h ; e8 7e 20 2068 2048 cmp al, byte [bp-002h] ; 3a 46 fe 2069 2049 jne short 00ee4h ; 75 69 2070 2050 mov dx, strict word 0004ah ; ba 4a 00 2071 2051 mov ax, strict word 00040h ; b8 40 00 2072 call 02f 26h ; e8 a2202052 call 02f10h ; e8 8c 20 2073 2053 mov bx, ax ; 89 c3 2074 2054 mov dx, 00084h ; ba 84 00 2075 2055 mov ax, strict word 00040h ; b8 40 00 2076 call 02 f0ah ; e8 7b202056 call 02ef4h ; e8 65 20 2077 2057 xor ah, ah ; 30 e4 2078 2058 mov dx, ax ; 89 c2 … … 2094 2074 mov dx, strict word 00063h ; ba 63 00 2095 2075 mov ax, strict word 00040h ; b8 40 00 2096 call 02f 26h ; e8 64202076 call 02f10h ; e8 4e 20 2097 2077 mov bx, ax ; 89 c3 2098 2078 mov AL, strict byte 00eh ; b0 0e … … 2129 2109 mov dx, strict word 00049h ; ba 49 00 2130 2110 mov ax, strict word 00040h ; b8 40 00 2131 call 02 f0ah ; e8 07 202111 call 02ef4h ; e8 f1 1f 2132 2112 xor ah, ah ; 30 e4 2133 call 02e e3h ; e8 db1f2113 call 02ecdh ; e8 c5 1f 2134 2114 mov ch, al ; 88 c5 2135 2115 cmp AL, strict byte 0ffh ; 3c ff … … 2142 2122 mov si, bx ; 89 de 2143 2123 sal si, 003h ; c1 e6 03 2144 cmp byte [si+0483 0h], 000h ; 80 bc 3048 002124 cmp byte [si+04833h], 000h ; 80 bc 33 48 00 2145 2125 jne short 00f6bh ; 75 40 2146 2126 mov dx, strict word 0004ah ; ba 4a 00 2147 2127 mov ax, strict word 00040h ; b8 40 00 2148 call 02f 26h ; e8 f21f2128 call 02f10h ; e8 dc 1f 2149 2129 mov bx, ax ; 89 c3 2150 2130 mov dx, 00084h ; ba 84 00 2151 2131 mov ax, strict word 00040h ; b8 40 00 2152 call 02 f0ah ; e8 cb1f2132 call 02ef4h ; e8 b5 1f 2153 2133 xor ah, ah ; 30 e4 2154 2134 inc ax ; 40 … … 2164 2144 mov dx, strict word 0004eh ; ba 4e 00 2165 2145 mov ax, strict word 00040h ; b8 40 00 2166 call 02f 34h ; e8 d51f2146 call 02f1eh ; e8 bf 1f 2167 2147 or si, 000ffh ; 81 ce ff 00 2168 2148 lea bx, [si+001h] ; 8d 5c 01 2169 2149 imul bx, di ; 0f af df 2170 2150 jmp short 00f7dh ; eb 12 2171 movzx bx, byte [bx+048 afh] ; 0f b6 9f af482151 movzx bx, byte [bx+048b2h] ; 0f b6 9f b2 48 2172 2152 sal bx, 006h ; c1 e3 06 2173 2153 movzx ax, cl ; 0f b6 c1 2174 mov bx, word [bx+048c 6h] ; 8b 9f c6482154 mov bx, word [bx+048c9h] ; 8b 9f c9 48 2175 2155 imul bx, ax ; 0f af d8 2176 2156 mov dx, strict word 00063h ; ba 63 00 2177 2157 mov ax, strict word 00040h ; b8 40 00 2178 call 02f 26h ; e8 a01f2158 call 02f10h ; e8 8a 1f 2179 2159 mov si, ax ; 89 c6 2180 2160 mov AL, strict byte 00ch ; b0 0c … … 2197 2177 mov dx, strict word 00062h ; ba 62 00 2198 2178 mov ax, strict word 00040h ; b8 40 00 2199 call 02f 18h ; e8 661f2179 call 02f02h ; e8 50 1f 2200 2180 mov dx, word [bp-004h] ; 8b 56 fc 2201 2181 mov ax, si ; 89 f0 … … 2208 2188 pop bx ; 5b 2209 2189 retn ; c3 2210 biosfn_set_video_mode_: ; 0xc0fc1 LB 0x38 c2190 biosfn_set_video_mode_: ; 0xc0fc1 LB 0x382 2211 2191 push bx ; 53 2212 2192 push cx ; 51 … … 2215 2195 push di ; 57 2216 2196 enter 00010h, 000h ; c8 10 00 00 2217 mov byte [bp-00 8h], al ; 88 46 f82197 mov byte [bp-004h], al ; 88 46 fc 2218 2198 and AL, strict byte 080h ; 24 80 2219 mov byte [bp-00 2h], al ; 88 46 fe2220 call 007 d4h ; e8 fff72199 mov byte [bp-006h], al ; 88 46 fa 2200 call 007b2h ; e8 dd f7 2221 2201 test ax, ax ; 85 c0 2222 2202 je short 00fe5h ; 74 0c … … 2227 2207 mov dx, 003c5h ; ba c5 03 2228 2208 out DX, AL ; ee 2229 and byte [bp-00 8h], 07fh ; 80 66 f87f2230 movzx ax, byte [bp-00 8h] ; 0f b6 46 f82231 call 02e e3h ; e8 f31e2232 mov byte [bp-00 4h], al ; 88 46 fc2209 and byte [bp-004h], 07fh ; 80 66 fc 7f 2210 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2211 call 02ecdh ; e8 dd 1e 2212 mov byte [bp-008h], al ; 88 46 f8 2233 2213 cmp AL, strict byte 0ffh ; 3c ff 2234 je near 013 46h ; 0f 84 4d032214 je near 0133ch ; 0f 84 43 03 2235 2215 movzx si, al ; 0f b6 f0 2236 mov al, byte [si+048 afh] ; 8a 84 af482237 mov byte [bp-00 6h], al ; 88 46 fa2216 mov al, byte [si+048b2h] ; 8a 84 b2 48 2217 mov byte [bp-002h], al ; 88 46 fe 2238 2218 movzx bx, al ; 0f b6 d8 2239 2219 sal bx, 006h ; c1 e3 06 2240 movzx ax, byte [bx+048c3h] ; 0f b6 87 c3 48 2220 movzx ax, byte [bx+048c6h] ; 0f b6 87 c6 48 2221 mov word [bp-00eh], ax ; 89 46 f2 2222 movzx ax, byte [bx+048c7h] ; 0f b6 87 c7 48 2241 2223 mov word [bp-00ch], ax ; 89 46 f4 2242 movzx ax, byte [bx+048c 4h] ; 0f b6 87 c4482224 movzx ax, byte [bx+048c8h] ; 0f b6 87 c8 48 2243 2225 mov word [bp-00ah], ax ; 89 46 f6 2244 movzx ax, byte [bx+048c5h] ; 0f b6 87 c5 482245 mov word [bp-00eh], ax ; 89 46 f22246 2226 mov dx, 00087h ; ba 87 00 2247 2227 mov ax, strict word 00040h ; b8 40 00 2248 call 02 f0ah ; e8 e01e2228 call 02ef4h ; e8 ca 1e 2249 2229 mov dx, 00088h ; ba 88 00 2250 2230 mov ax, strict word 00040h ; b8 40 00 2251 call 02 f0ah ; e8 d71e2231 call 02ef4h ; e8 c1 1e 2252 2232 mov dx, 00089h ; ba 89 00 2253 2233 mov ax, strict word 00040h ; b8 40 00 2254 call 02 f0ah ; e8 ce1e2234 call 02ef4h ; e8 b8 1e 2255 2235 mov ah, al ; 88 c4 2256 2236 test AL, strict byte 008h ; a8 08 … … 2258 2238 mov bx, si ; 89 f3 2259 2239 sal bx, 003h ; c1 e3 03 2260 mov al, byte [bx+0483 5h] ; 8a 87 35482240 mov al, byte [bx+04838h] ; 8a 87 38 48 2261 2241 mov dx, 003c6h ; ba c6 03 2262 2242 out DX, AL ; ee … … 2264 2244 mov dx, 003c8h ; ba c8 03 2265 2245 out DX, AL ; ee 2266 mov bl, byte [bx+0483 6h] ; 8a 9f 36482246 mov bl, byte [bx+04839h] ; 8a 9f 39 48 2267 2247 cmp bl, 001h ; 80 fb 01 2268 2248 jc short 0106eh ; 72 0e … … 2275 2255 test bl, bl ; 84 db 2276 2256 jne short 01084h ; 75 12 2277 mov di, 0504 3h ; bf 43502257 mov di, 05046h ; bf 46 50 2278 2258 jmp short 01084h ; eb 0d 2279 mov di, 0510 3h ; bf 03512259 mov di, 05106h ; bf 06 51 2280 2260 jmp short 01084h ; eb 08 2281 mov di, 051c 3h ; bf c3512261 mov di, 051c6h ; bf c6 51 2282 2262 jmp short 01084h ; eb 03 2283 mov di, 0528 3h ; bf 83522263 mov di, 05286h ; bf 86 52 2284 2264 xor bx, bx ; 31 db 2285 2265 jmp short 01097h ; eb 0f … … 2292 2272 cmp bx, 00100h ; 81 fb 00 01 2293 2273 jnc short 010c1h ; 73 2a 2294 movzx si, byte [bp-00 4h] ; 0f b6 76 fc2274 movzx si, byte [bp-008h] ; 0f b6 76 f8 2295 2275 sal si, 003h ; c1 e6 03 2296 movzx si, byte [si+0483 6h] ; 0f b6 b4 36482297 movzx dx, byte [si+048 bfh] ; 0f b6 94 bf482276 movzx si, byte [si+04839h] ; 0f b6 b4 39 48 2277 movzx dx, byte [si+048c2h] ; 0f b6 94 c2 48 2298 2278 cmp bx, dx ; 39 d3 2299 2279 jnbe short 01088h ; 77 dc … … 2324 2304 mov dx, 003c0h ; ba c0 03 2325 2305 out DX, AL ; ee 2326 movzx si, byte [bp-00 6h] ; 0f b6 76 fa2306 movzx si, byte [bp-002h] ; 0f b6 76 fe 2327 2307 sal si, 006h ; c1 e6 06 2328 2308 add si, bx ; 01 de 2329 mov al, byte [si+048e 6h] ; 8a 84 e6482309 mov al, byte [si+048e9h] ; 8a 84 e9 48 2330 2310 out DX, AL ; ee 2331 2311 inc bx ; 43 … … 2348 2328 mov dx, 003c4h ; ba c4 03 2349 2329 out DX, AL ; ee 2350 movzx si, byte [bp-00 6h] ; 0f b6 76 fa2330 movzx si, byte [bp-002h] ; 0f b6 76 fe 2351 2331 sal si, 006h ; c1 e6 06 2352 2332 add si, bx ; 01 de 2353 mov al, byte [si+048c 7h] ; 8a 84 c7482333 mov al, byte [si+048cah] ; 8a 84 ca 48 2354 2334 mov dx, 003c5h ; ba c5 03 2355 2335 out DX, AL ; ee … … 2363 2343 mov dx, 003ceh ; ba ce 03 2364 2344 out DX, AL ; ee 2365 movzx si, byte [bp-00 6h] ; 0f b6 76 fa2345 movzx si, byte [bp-002h] ; 0f b6 76 fe 2366 2346 sal si, 006h ; c1 e6 06 2367 2347 add si, bx ; 01 de 2368 mov al, byte [si+048f ah] ; 8a 84 fa482348 mov al, byte [si+048fdh] ; 8a 84 fd 48 2369 2349 mov dx, 003cfh ; ba cf 03 2370 2350 out DX, AL ; ee 2371 2351 inc bx ; 43 2372 2352 jmp short 0112fh ; eb e1 2373 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc2353 movzx bx, byte [bp-008h] ; 0f b6 5e f8 2374 2354 sal bx, 003h ; c1 e3 03 2375 cmp byte [bx+0483 1h], 001h ; 80 bf 3148 012355 cmp byte [bx+04834h], 001h ; 80 bf 34 48 01 2376 2356 jne short 01161h ; 75 05 2377 2357 mov dx, 003b4h ; ba b4 03 … … 2388 2368 mov dx, si ; 89 f2 2389 2369 out DX, AL ; ee 2390 movzx cx, byte [bp-00 6h] ; 0f b6 4e fa2370 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2391 2371 sal cx, 006h ; c1 e1 06 2392 2372 mov di, cx ; 89 cf 2393 2373 add di, bx ; 01 df 2394 2374 lea dx, [si+001h] ; 8d 54 01 2395 mov al, byte [di+048 cdh] ; 8a 85 cd482375 mov al, byte [di+048d0h] ; 8a 85 d0 48 2396 2376 out DX, AL ; ee 2397 2377 inc bx ; 43 2398 2378 jmp short 0116eh ; eb e0 2399 2379 mov bx, cx ; 89 cb 2400 mov al, byte [bx+048c ch] ; 8a 87 cc482380 mov al, byte [bx+048cfh] ; 8a 87 cf 48 2401 2381 mov dx, 003c2h ; ba c2 03 2402 2382 out DX, AL ; ee … … 2408 2388 db 02ah, 0e4h 2409 2389 ; sub ah, ah ; 2a e4 2410 cmp byte [bp-00 2h], 000h ; 80 7e fe002390 cmp byte [bp-006h], 000h ; 80 7e fa 00 2411 2391 jne short 01209h ; 75 5f 2412 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc2392 movzx bx, byte [bp-008h] ; 0f b6 5e f8 2413 2393 sal bx, 003h ; c1 e3 03 2414 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002394 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 2415 2395 jne short 011cbh ; 75 13 2416 mov es, [bx+0483 3h] ; 8e 87 33482396 mov es, [bx+04836h] ; 8e 87 36 48 2417 2397 mov cx, 04000h ; b9 00 40 2418 2398 mov ax, 00720h ; b8 20 07 … … 2422 2402 rep stosw ; f3 ab 2423 2403 jmp short 01209h ; eb 3e 2424 cmp byte [bp-00 8h], 00dh ; 80 7e f80d2404 cmp byte [bp-004h], 00dh ; 80 7e fc 0d 2425 2405 jnc short 011e3h ; 73 12 2426 mov es, [bx+0483 3h] ; 8e 87 33482406 mov es, [bx+04836h] ; 8e 87 36 48 2427 2407 mov cx, 04000h ; b9 00 40 2428 2408 xor ax, ax ; 31 c0 … … 2442 2422 mov AL, strict byte 00fh ; b0 0f 2443 2423 out DX, AL ; ee 2444 mov es, [bx+0483 3h] ; 8e 87 33482424 mov es, [bx+04836h] ; 8e 87 36 48 2445 2425 mov cx, 08000h ; b9 00 80 2446 2426 xor ax, ax ; 31 c0 … … 2451 2431 mov al, byte [bp-010h] ; 8a 46 f0 2452 2432 out DX, AL ; ee 2453 movzx bx, byte [bp-00 8h] ; 0f b6 5e f82433 movzx bx, byte [bp-004h] ; 0f b6 5e fc 2454 2434 mov dx, strict word 00049h ; ba 49 00 2455 2435 mov ax, strict word 00040h ; b8 40 00 2456 call 02f 18h ; e8 02 1d2457 mov bx, word [bp-00 ch] ; 8b 5e f42436 call 02f02h ; e8 ec 1c 2437 mov bx, word [bp-00eh] ; 8b 5e f2 2458 2438 mov dx, strict word 0004ah ; ba 4a 00 2459 2439 mov ax, strict word 00040h ; b8 40 00 2460 call 02f 34h ; e8 12 1d2461 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa2440 call 02f1eh ; e8 fc 1c 2441 movzx bx, byte [bp-002h] ; 0f b6 5e fe 2462 2442 sal bx, 006h ; c1 e3 06 2463 mov bx, word [bx+048c 6h] ; 8b 9f c6482443 mov bx, word [bx+048c9h] ; 8b 9f c9 48 2464 2444 mov dx, strict word 0004ch ; ba 4c 00 2465 2445 mov ax, strict word 00040h ; b8 40 00 2466 call 02f 34h ; e8 fe1c2446 call 02f1eh ; e8 e8 1c 2467 2447 mov bx, si ; 89 f3 2468 2448 mov dx, strict word 00063h ; ba 63 00 2469 2449 mov ax, strict word 00040h ; b8 40 00 2470 call 02f 34h ; e8 f31c2471 movzx bx, byte [bp-00 ah] ; 0f b6 5e f62450 call 02f1eh ; e8 dd 1c 2451 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2472 2452 mov dx, 00084h ; ba 84 00 2473 2453 mov ax, strict word 00040h ; b8 40 00 2474 call 02f 18h ; e8 ca1c2475 mov bx, word [bp-00 eh] ; 8b 5e f22454 call 02f02h ; e8 b4 1c 2455 mov bx, word [bp-00ah] ; 8b 5e f6 2476 2456 mov dx, 00085h ; ba 85 00 2477 2457 mov ax, strict word 00040h ; b8 40 00 2478 call 02f 34h ; e8 da1c2479 mov al, byte [bp-00 2h] ; 8a 46 fe2458 call 02f1eh ; e8 c4 1c 2459 mov al, byte [bp-006h] ; 8a 46 fa 2480 2460 or AL, strict byte 060h ; 0c 60 2481 2461 movzx bx, al ; 0f b6 d8 2482 2462 mov dx, 00087h ; ba 87 00 2483 2463 mov ax, strict word 00040h ; b8 40 00 2484 call 02f 18h ; e8 ad1c2464 call 02f02h ; e8 97 1c 2485 2465 mov bx, 000f9h ; bb f9 00 2486 2466 mov dx, 00088h ; ba 88 00 2487 2467 mov ax, strict word 00040h ; b8 40 00 2488 call 02f 18h ; e8 a11c2468 call 02f02h ; e8 8b 1c 2489 2469 mov dx, 00089h ; ba 89 00 2490 2470 mov ax, strict word 00040h ; b8 40 00 2491 call 02 f0ah ; e8 8a1c2471 call 02ef4h ; e8 74 1c 2492 2472 and AL, strict byte 07fh ; 24 7f 2493 2473 movzx bx, al ; 0f b6 d8 2494 2474 mov dx, 00089h ; ba 89 00 2495 2475 mov ax, strict word 00040h ; b8 40 00 2496 call 02f 18h ; e8 8a1c2476 call 02f02h ; e8 74 1c 2497 2477 mov bx, strict word 00008h ; bb 08 00 2498 2478 mov dx, 0008ah ; ba 8a 00 2499 2479 mov ax, strict word 00040h ; b8 40 00 2500 call 02f18h ; e8 7e 1c 2501 mov bx, 05593h ; bb 93 55 2480 call 02f02h ; e8 68 1c 2481 mov cx, ds ; 8c d9 2482 mov bx, 05596h ; bb 96 55 2502 2483 mov dx, 000a8h ; ba a8 00 2503 2484 mov ax, strict word 00040h ; b8 40 00 2504 call 02f34h ; e8 8e 1c 2505 mov bx, 0c000h ; bb 00 c0 2506 mov dx, 000aah ; ba aa 00 2507 mov ax, strict word 00040h ; b8 40 00 2508 call 02f34h ; e8 82 1c 2485 call 02f3eh ; e8 96 1c 2509 2486 xor bx, bx ; 31 db 2510 2487 mov dx, strict word 00065h ; ba 65 00 2511 2488 mov ax, strict word 00040h ; b8 40 00 2512 call 02f 18h ; e8 5b1c2489 call 02f02h ; e8 4f 1c 2513 2490 xor bx, bx ; 31 db 2514 2491 mov dx, strict word 00066h ; ba 66 00 2515 2492 mov ax, strict word 00040h ; b8 40 00 2516 call 02f 18h ; e8 501c2517 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc2493 call 02f02h ; e8 44 1c 2494 movzx bx, byte [bp-008h] ; 0f b6 5e f8 2518 2495 sal bx, 003h ; c1 e3 03 2519 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002520 jne short 012d fh ; 75 092496 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 2497 jne short 012d5h ; 75 09 2521 2498 mov dx, strict word 00007h ; ba 07 00 2522 2499 mov ax, strict word 00006h ; b8 06 00 2523 call 00daah ; e8 cbfa2500 call 00daah ; e8 d5 fa 2524 2501 xor bx, bx ; 31 db 2525 jmp short 012 e8h ; eb 052502 jmp short 012deh ; eb 05 2526 2503 cmp bx, strict byte 00008h ; 83 fb 08 2527 jnc short 012 f3h ; 73 0b2504 jnc short 012e9h ; 73 0b 2528 2505 movzx ax, bl ; 0f b6 c3 2529 2506 xor dx, dx ; 31 d2 2530 call 00e4bh ; e8 5bfb2507 call 00e4bh ; e8 65 fb 2531 2508 inc bx ; 43 2532 jmp short 012 e3h ; eb f02509 jmp short 012d9h ; eb f0 2533 2510 xor ax, ax ; 31 c0 2534 call 00ee9h ; e8 f 1fb2535 movzx bx, byte [bp-00 4h] ; 0f b6 5e fc2511 call 00ee9h ; e8 fb fb 2512 movzx bx, byte [bp-008h] ; 0f b6 5e f8 2536 2513 sal bx, 003h ; c1 e3 03 2537 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 002538 jne short 013 16h ; 75 102514 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 2515 jne short 0130ch ; 75 10 2539 2516 xor bl, bl ; 30 db 2540 2517 mov AL, strict byte 004h ; b0 04 … … 2545 2522 mov AH, strict byte 011h ; b4 11 2546 2523 int 010h ; cd 10 2547 mov dx, 059 afh ; ba af592524 mov dx, 059b2h ; ba b2 59 2548 2525 mov ax, strict word 0001fh ; b8 1f 00 2549 call 00a00h ; e8 e 1f62550 mov ax, word [bp-00 eh] ; 8b 46 f22526 call 00a00h ; e8 eb f6 2527 mov ax, word [bp-00ah] ; 8b 46 f6 2551 2528 cmp ax, strict word 00010h ; 3d 10 00 2552 je short 013 41h ; 74 1a2529 je short 01337h ; 74 1a 2553 2530 cmp ax, strict word 0000eh ; 3d 0e 00 2554 je short 0133 ch ; 74 102531 je short 01332h ; 74 10 2555 2532 cmp ax, strict word 00008h ; 3d 08 00 2556 jne short 013 46h ; 75 152557 mov dx, 055 afh ; ba af552533 jne short 0133ch ; 75 15 2534 mov dx, 055b2h ; ba b2 55 2558 2535 mov ax, strict word 00043h ; b8 43 00 2559 call 00a00h ; e8 c6f62560 jmp short 013 46h ; eb 0a2561 mov dx, 05d afh ; ba af5d2562 jmp short 013 34h ; eb f32563 mov dx, 06b afh ; ba af6b2564 jmp short 013 34h ; eb ee2536 call 00a00h ; e8 d0 f6 2537 jmp short 0133ch ; eb 0a 2538 mov dx, 05db2h ; ba b2 5d 2539 jmp short 0132ah ; eb f3 2540 mov dx, 06bb2h ; ba b2 6b 2541 jmp short 0132ah ; eb ee 2565 2542 leave ; c9 2566 2543 pop di ; 5f … … 2570 2547 pop bx ; 5b 2571 2548 retn ; c3 2572 vgamem_copy_pl4_: ; 0xc134 dLB 0x722549 vgamem_copy_pl4_: ; 0xc1343 LB 0x72 2573 2550 push si ; 56 2574 2551 push di ; 57 … … 2593 2570 xor bl, bl ; 30 db 2594 2571 cmp bl, byte [bp+00ah] ; 3a 5e 0a 2595 jnc short 013 b2h ; 73 292572 jnc short 013a8h ; 73 29 2596 2573 movzx cx, bh ; 0f b6 cf 2597 2574 movzx si, bl ; 0f b6 f3 … … 2605 2582 mov es, dx ; 8e c2 2606 2583 cld ; fc 2607 jcxz 013a eh ; e3 062584 jcxz 013a4h ; e3 06 2608 2585 push DS ; 1e 2609 2586 mov ds, dx ; 8e da … … 2612 2589 db 0feh, 0c3h 2613 2590 ; inc bl ; fe c3 2614 jmp short 013 84h ; eb d22591 jmp short 0137ah ; eb d2 2615 2592 mov ax, strict word 00005h ; b8 05 00 2616 2593 mov dx, 003ceh ; ba ce 03 … … 2620 2597 pop si ; 5e 2621 2598 retn 00004h ; c2 04 00 2622 vgamem_fill_pl4_: ; 0xc13b fLB 0x5d2599 vgamem_fill_pl4_: ; 0xc13b5 LB 0x5d 2623 2600 push di ; 57 2624 2601 enter 00004h, 000h ; c8 04 00 00 … … 2638 2615 xor bl, bl ; 30 db 2639 2616 cmp bl, byte [bp+006h] ; 3a 5e 06 2640 jnc short 014 10h ; 73 222617 jnc short 01406h ; 73 22 2641 2618 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2642 2619 movzx ax, byte [bp+008h] ; 0f b6 46 08 … … 2648 2625 mov es, dx ; 8e c2 2649 2626 cld ; fc 2650 jcxz 0140 ch ; e3 022627 jcxz 01402h ; e3 02 2651 2628 rep stosb ; f3 aa 2652 2629 db 0feh, 0c3h 2653 2630 ; inc bl ; fe c3 2654 jmp short 013 e9h ; eb d92631 jmp short 013dfh ; eb d9 2655 2632 mov ax, strict word 00005h ; b8 05 00 2656 2633 mov dx, 003ceh ; ba ce 03 … … 2659 2636 pop di ; 5f 2660 2637 retn 00004h ; c2 04 00 2661 vgamem_copy_cga_: ; 0xc141 cLB 0xa02638 vgamem_copy_cga_: ; 0xc1412 LB 0xa0 2662 2639 push si ; 56 2663 2640 push di ; 57 … … 2681 2658 xor bl, bl ; 30 db 2682 2659 cmp bl, byte [bp+00ah] ; 3a 5e 0a 2683 jnc short 014 b6h ; 73 612660 jnc short 014ach ; 73 61 2684 2661 test bl, 001h ; f6 c3 01 2685 je short 0148 bh ; 74 312662 je short 01481h ; 74 31 2686 2663 movzx cx, bh ; 0f b6 cf 2687 2664 movzx si, bl ; 0f b6 f3 … … 2698 2675 mov es, dx ; 8e c2 2699 2676 cld ; fc 2700 jcxz 014 89h ; e3 062677 jcxz 0147fh ; e3 06 2701 2678 push DS ; 1e 2702 2679 mov ds, dx ; 8e da 2703 2680 rep movsb ; f3 a4 2704 2681 pop DS ; 1f 2705 jmp short 014 b2h ; eb 272682 jmp short 014a8h ; eb 27 2706 2683 movzx cx, bh ; 0f b6 cf 2707 2684 movzx ax, bl ; 0f b6 c3 … … 2716 2693 mov es, dx ; 8e c2 2717 2694 cld ; fc 2718 jcxz 014 b2h ; e3 062695 jcxz 014a8h ; e3 06 2719 2696 push DS ; 1e 2720 2697 mov ds, dx ; 8e da … … 2723 2700 db 0feh, 0c3h 2724 2701 ; inc bl ; fe c3 2725 jmp short 014 50h ; eb 9a2702 jmp short 01446h ; eb 9a 2726 2703 leave ; c9 2727 2704 pop di ; 5f 2728 2705 pop si ; 5e 2729 2706 retn 00004h ; c2 04 00 2730 vgamem_fill_cga_: ; 0xc14b cLB 0x862707 vgamem_fill_cga_: ; 0xc14b2 LB 0x86 2731 2708 push si ; 56 2732 2709 push di ; 57 … … 2744 2721 xor bl, bl ; 30 db 2745 2722 cmp bl, byte [bp+008h] ; 3a 5e 08 2746 jnc short 0153 ch ; 73 572723 jnc short 01532h ; 73 57 2747 2724 test bl, 001h ; f6 c3 01 2748 je short 015 19h ; 74 2f2725 je short 0150fh ; 74 2f 2749 2726 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2750 2727 movzx ax, byte [bp+00ah] ; 0f b6 46 0a … … 2761 2738 mov es, dx ; 8e c2 2762 2739 cld ; fc 2763 jcxz 015 17h ; e3 022740 jcxz 0150dh ; e3 02 2764 2741 rep stosb ; f3 aa 2765 jmp short 015 38h ; eb 1f2742 jmp short 0152eh ; eb 1f 2766 2743 movzx cx, byte [bp-002h] ; 0f b6 4e fe 2767 2744 movzx ax, byte [bp+00ah] ; 0f b6 46 0a … … 2774 2751 mov es, dx ; 8e c2 2775 2752 cld ; fc 2776 jcxz 015 38h ; e3 022753 jcxz 0152eh ; e3 02 2777 2754 rep stosb ; f3 aa 2778 2755 db 0feh, 0c3h 2779 2756 ; inc bl ; fe c3 2780 jmp short 014 e0h ; eb a42757 jmp short 014d6h ; eb a4 2781 2758 leave ; c9 2782 2759 pop di ; 5f 2783 2760 pop si ; 5e 2784 2761 retn 00004h ; c2 04 00 2785 biosfn_scroll_: ; 0xc15 42LB 0x5012762 biosfn_scroll_: ; 0xc1538 LB 0x501 2786 2763 push si ; 56 2787 2764 push di ; 57 … … 2792 2769 mov byte [bp-002h], cl ; 88 4e fe 2793 2770 cmp bl, byte [bp+008h] ; 3a 5e 08 2794 jnbe near 01a3 dh ; 0f 87 e2 042771 jnbe near 01a33h ; 0f 87 e2 04 2795 2772 cmp cl, byte [bp+00ah] ; 3a 4e 0a 2796 jnbe near 01a3 dh ; 0f 87 db 042773 jnbe near 01a33h ; 0f 87 db 04 2797 2774 mov dx, strict word 00049h ; ba 49 00 2798 2775 mov ax, strict word 00040h ; b8 40 00 2799 call 02 f0ah ; e8 9f192776 call 02ef4h ; e8 93 19 2800 2777 xor ah, ah ; 30 e4 2801 call 02e e3h ; e8 73192778 call 02ecdh ; e8 67 19 2802 2779 mov byte [bp-00ah], al ; 88 46 f6 2803 2780 cmp AL, strict byte 0ffh ; 3c ff 2804 je near 01a3 dh ; 0f 84 c4 042781 je near 01a33h ; 0f 84 c4 04 2805 2782 mov dx, 00084h ; ba 84 00 2806 2783 mov ax, strict word 00040h ; b8 40 00 2807 call 02 f0ah ; e8 88192784 call 02ef4h ; e8 7c 19 2808 2785 movzx cx, al ; 0f b6 c8 2809 2786 inc cx ; 41 2810 2787 mov dx, strict word 0004ah ; ba 4a 00 2811 2788 mov ax, strict word 00040h ; b8 40 00 2812 call 02f 26h ; e8 97192789 call 02f10h ; e8 8b 19 2813 2790 mov word [bp-012h], ax ; 89 46 ee 2814 2791 cmp byte [bp+00ch], 0ffh ; 80 7e 0c ff 2815 jne short 015 a4h ; 75 0c2792 jne short 0159ah ; 75 0c 2816 2793 mov dx, strict word 00062h ; ba 62 00 2817 2794 mov ax, strict word 00040h ; b8 40 00 2818 call 02 f0ah ; e8 69192795 call 02ef4h ; e8 5d 19 2819 2796 mov byte [bp+00ch], al ; 88 46 0c 2820 2797 movzx ax, byte [bp+008h] ; 0f b6 46 08 2821 2798 cmp ax, cx ; 39 c8 2822 jc short 015 b3h ; 72 072799 jc short 015a9h ; 72 07 2823 2800 mov al, cl ; 88 c8 2824 2801 db 0feh, 0c8h … … 2827 2804 movzx ax, byte [bp+00ah] ; 0f b6 46 0a 2828 2805 cmp ax, word [bp-012h] ; 3b 46 ee 2829 jc short 015 c4h ; 72 082806 jc short 015bah ; 72 08 2830 2807 mov al, byte [bp-012h] ; 8a 46 ee 2831 2808 db 0feh, 0c8h … … 2834 2811 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2835 2812 cmp ax, cx ; 39 c8 2836 jbe short 015 d0h ; 76 042813 jbe short 015c6h ; 76 04 2837 2814 mov byte [bp-00ch], 000h ; c6 46 f4 00 2838 2815 mov al, byte [bp+00ah] ; 8a 46 0a … … 2852 2829 mov ax, word [bp-012h] ; 8b 46 ee 2853 2830 imul ax, cx ; 0f af c1 2854 cmp byte [di+0483 0h], 000h ; 80 bd 3048 002855 jne near 0179 fh ; 0f 85 9f 012831 cmp byte [di+04833h], 000h ; 80 bd 33 48 00 2832 jne near 01795h ; 0f 85 9f 01 2856 2833 mov dx, ax ; 89 c2 2857 2834 add dx, ax ; 01 c2 … … 2861 2838 imul bx, dx ; 0f af da 2862 2839 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2863 jne short 0164 fh ; 75 3a2840 jne short 01645h ; 75 3a 2864 2841 cmp byte [bp-004h], 000h ; 80 7e fc 00 2865 jne short 0164 fh ; 75 342842 jne short 01645h ; 75 34 2866 2843 cmp byte [bp-002h], 000h ; 80 7e fe 00 2867 jne short 0164 fh ; 75 2e2844 jne short 01645h ; 75 2e 2868 2845 movzx dx, byte [bp+008h] ; 0f b6 56 08 2869 2846 cmp dx, word [bp-016h] ; 3b 56 ea 2870 jne short 0164 fh ; 75 252847 jne short 01645h ; 75 25 2871 2848 movzx dx, byte [bp+00ah] ; 0f b6 56 0a 2872 2849 cmp dx, word [bp-014h] ; 3b 56 ec 2873 jne short 0164 fh ; 75 1c2850 jne short 01645h ; 75 1c 2874 2851 movzx dx, byte [bp-008h] ; 0f b6 56 f8 2875 2852 sal dx, 008h ; c1 e2 08 2876 2853 add dx, strict byte 00020h ; 83 c2 20 2877 mov es, [di+0483 3h] ; 8e 85 33482854 mov es, [di+04836h] ; 8e 85 36 48 2878 2855 mov cx, ax ; 89 c1 2879 2856 mov ax, dx ; 89 d0 2880 2857 mov di, bx ; 89 df 2881 2858 cld ; fc 2882 jcxz 0164 ch ; e3 022859 jcxz 01642h ; e3 02 2883 2860 rep stosw ; f3 ab 2884 jmp near 01a3 dh ; e9 ee 032861 jmp near 01a33h ; e9 ee 03 2885 2862 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 2886 jne near 016 f4h ; 0f 85 9d 002863 jne near 016eah ; 0f 85 9d 00 2887 2864 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2888 2865 mov word [bp-010h], ax ; 89 46 f0 2889 2866 movzx dx, byte [bp+008h] ; 0f b6 56 08 2890 2867 cmp dx, word [bp-010h] ; 3b 56 f0 2891 jc near 01a3 dh ; 0f 82 d4 032868 jc near 01a33h ; 0f 82 d4 03 2892 2869 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2893 2870 add ax, word [bp-010h] ; 03 46 f0 2894 2871 cmp ax, dx ; 39 d0 2895 jnbe short 0167 ah ; 77 062872 jnbe short 01670h ; 77 06 2896 2873 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2897 jne short 016a dh ; 75 332874 jne short 016a3h ; 75 33 2898 2875 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2899 2876 movzx ax, byte [bp-008h] ; 0f b6 46 f8 … … 2909 2886 movzx si, byte [bp-00ah] ; 0f b6 76 f6 2910 2887 sal si, 003h ; c1 e6 03 2911 mov es, [si+0483 3h] ; 8e 84 33482888 mov es, [si+04836h] ; 8e 84 36 48 2912 2889 cld ; fc 2913 jcxz 016a bh ; e3 022890 jcxz 016a1h ; e3 02 2914 2891 rep stosw ; f3 ab 2915 jmp short 016e eh ; eb 412892 jmp short 016e4h ; eb 41 2916 2893 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 2917 2894 mov word [bp-018h], dx ; 89 56 e8 … … 2923 2900 movzx si, byte [bp-00ah] ; 0f b6 76 f6 2924 2901 sal si, 003h ; c1 e6 03 2925 mov ax, word [si+0483 3h] ; 8b 84 33482902 mov ax, word [si+04836h] ; 8b 84 36 48 2926 2903 mov si, word [bp-010h] ; 8b 76 f0 2927 2904 imul si, word [bp-012h] ; 0f af 76 ee … … 2935 2912 mov es, ax ; 8e c0 2936 2913 cld ; fc 2937 jcxz 016e eh ; e3 062914 jcxz 016e4h ; e3 06 2938 2915 push DS ; 1e 2939 2916 mov ds, dx ; 8e da … … 2941 2918 pop DS ; 1f 2942 2919 inc word [bp-010h] ; ff 46 f0 2943 jmp near 0165 eh ; e9 6a ff2920 jmp near 01654h ; e9 6a ff 2944 2921 movzx ax, byte [bp+008h] ; 0f b6 46 08 2945 2922 mov word [bp-010h], ax ; 89 46 f0 2946 2923 movzx ax, byte [bp-004h] ; 0f b6 46 fc 2947 2924 cmp ax, word [bp-010h] ; 3b 46 f0 2948 jnbe near 01a3 dh ; 0f 87 37 032925 jnbe near 01a33h ; 0f 87 37 03 2949 2926 movzx dx, byte [bp-004h] ; 0f b6 56 fc 2950 2927 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 2951 2928 add ax, dx ; 01 d0 2952 2929 cmp ax, word [bp-010h] ; 3b 46 f0 2953 jnbe short 0171 bh ; 77 062930 jnbe short 01711h ; 77 06 2954 2931 cmp byte [bp-00ch], 000h ; 80 7e f4 00 2955 jne short 0174 eh ; 75 332932 jne short 01744h ; 75 33 2956 2933 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2957 2934 movzx ax, byte [bp-008h] ; 0f b6 46 f8 … … 2967 2944 movzx si, byte [bp-00ah] ; 0f b6 76 f6 2968 2945 sal si, 003h ; c1 e6 03 2969 mov es, [si+0483 3h] ; 8e 84 33482946 mov es, [si+04836h] ; 8e 84 36 48 2970 2947 cld ; fc 2971 jcxz 0174 ch ; e3 022948 jcxz 01742h ; e3 02 2972 2949 rep stosw ; f3 ab 2973 jmp short 0178 eh ; eb 402950 jmp short 01784h ; eb 40 2974 2951 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 2975 2952 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 2982 2959 movzx si, byte [bp-00ah] ; 0f b6 76 f6 2983 2960 sal si, 003h ; c1 e6 03 2984 mov ax, word [si+0483 3h] ; 8b 84 33482961 mov ax, word [si+04836h] ; 8b 84 36 48 2985 2962 mov si, word [bp-010h] ; 8b 76 f0 2986 2963 imul si, word [bp-012h] ; 0f af 76 ee … … 2992 2969 mov es, ax ; 8e c0 2993 2970 cld ; fc 2994 jcxz 0178 eh ; e3 062971 jcxz 01784h ; e3 06 2995 2972 push DS ; 1e 2996 2973 mov ds, dx ; 8e da … … 2999 2976 movzx ax, byte [bp+008h] ; 0f b6 46 08 3000 2977 cmp ax, word [bp-010h] ; 3b 46 f0 3001 jc near 01a3 dh ; 0f 82 a4 022978 jc near 01a33h ; 0f 82 a4 02 3002 2979 dec word [bp-010h] ; ff 4e f0 3003 jmp near 016f bh ; e9 5c ff3004 movzx bx, byte [si+048 afh] ; 0f b6 9c af482980 jmp near 016f1h ; e9 5c ff 2981 movzx bx, byte [si+048b2h] ; 0f b6 9c b2 48 3005 2982 sal bx, 006h ; c1 e3 06 3006 mov dl, byte [bx+048c 5h] ; 8a 97 c5482983 mov dl, byte [bx+048c8h] ; 8a 97 c8 48 3007 2984 mov byte [bp-006h], dl ; 88 56 fa 3008 mov bl, byte [di+0483 1h] ; 8a 9d 31482985 mov bl, byte [di+04834h] ; 8a 9d 34 48 3009 2986 cmp bl, 004h ; 80 fb 04 3010 je short 017 c6h ; 74 0f2987 je short 017bch ; 74 0f 3011 2988 cmp bl, 003h ; 80 fb 03 3012 je short 017 c6h ; 74 0a2989 je short 017bch ; 74 0a 3013 2990 cmp bl, 002h ; 80 fb 02 3014 je near 01 905h ; 0f 84 42 013015 jmp near 01a3 dh ; e9 77 022991 je near 018fbh ; 0f 84 42 01 2992 jmp near 01a33h ; e9 77 02 3016 2993 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3017 jne short 0181 eh ; 75 522994 jne short 01814h ; 75 52 3018 2995 cmp byte [bp-004h], 000h ; 80 7e fc 00 3019 jne short 0181 eh ; 75 4c2996 jne short 01814h ; 75 4c 3020 2997 cmp byte [bp-002h], 000h ; 80 7e fe 00 3021 jne short 0181 eh ; 75 462998 jne short 01814h ; 75 46 3022 2999 movzx dx, byte [bp+008h] ; 0f b6 56 08 3023 3000 mov ax, cx ; 89 c8 3024 3001 dec ax ; 48 3025 3002 cmp dx, ax ; 39 c2 3026 jne short 0181 eh ; 75 3b3003 jne short 01814h ; 75 3b 3027 3004 movzx dx, byte [bp+00ah] ; 0f b6 56 0a 3028 3005 mov ax, word [bp-012h] ; 8b 46 ee 3029 3006 dec ax ; 48 3030 3007 cmp dx, ax ; 39 c2 3031 jne short 0181 eh ; 75 2f3008 jne short 01814h ; 75 2f 3032 3009 mov ax, 00205h ; b8 05 02 3033 3010 mov dx, 003ceh ; ba ce 03 … … 3039 3016 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3040 3017 sal bx, 003h ; c1 e3 03 3041 mov es, [bx+0483 3h] ; 8e 87 33483018 mov es, [bx+04836h] ; 8e 87 36 48 3042 3019 xor di, di ; 31 ff 3043 3020 cld ; fc 3044 jcxz 018 17h ; e3 023021 jcxz 0180dh ; e3 02 3045 3022 rep stosb ; f3 aa 3046 3023 mov ax, strict word 00005h ; b8 05 00 3047 3024 out DX, ax ; ef 3048 jmp near 01a3 dh ; e9 1f 023025 jmp near 01a33h ; e9 1f 02 3049 3026 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 3050 jne short 0188 dh ; 75 693027 jne short 01883h ; 75 69 3051 3028 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3052 3029 mov word [bp-010h], ax ; 89 46 f0 3053 3030 movzx ax, byte [bp+008h] ; 0f b6 46 08 3054 3031 cmp ax, word [bp-010h] ; 3b 46 f0 3055 jc near 01a3 dh ; 0f 82 07 023032 jc near 01a33h ; 0f 82 07 02 3056 3033 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3057 3034 add dx, word [bp-010h] ; 03 56 f0 3058 3035 cmp dx, ax ; 39 c2 3059 jnbe short 018 47h ; 77 063036 jnbe short 0183dh ; 77 06 3060 3037 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3061 jne short 018 66h ; 75 1f3038 jne short 0185ch ; 75 1f 3062 3039 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3063 3040 push ax ; 50 … … 3068 3045 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3069 3046 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3070 call 013b fh ; e8 5b fb3071 jmp short 018 88h ; eb 223047 call 013b5h ; e8 5b fb 3048 jmp short 0187eh ; eb 22 3072 3049 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3073 3050 push ax ; 50 … … 3080 3057 movzx dx, al ; 0f b6 d0 3081 3058 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3082 call 0134 dh ; e8 c5 fa3059 call 01343h ; e8 c5 fa 3083 3060 inc word [bp-010h] ; ff 46 f0 3084 jmp short 0182 bh ; eb 9e3061 jmp short 01821h ; eb 9e 3085 3062 movzx ax, byte [bp+008h] ; 0f b6 46 08 3086 3063 mov word [bp-010h], ax ; 89 46 f0 3087 3064 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3088 3065 cmp ax, word [bp-010h] ; 3b 46 f0 3089 jnbe near 01a3 dh ; 0f 87 9e 013066 jnbe near 01a33h ; 0f 87 9e 01 3090 3067 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3091 3068 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3092 3069 add ax, dx ; 01 d0 3093 3070 cmp ax, word [bp-010h] ; 3b 46 f0 3094 jnbe short 018 b4h ; 77 063071 jnbe short 018aah ; 77 06 3095 3072 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3096 jne short 018 d3h ; 75 1f3073 jne short 018c9h ; 75 1f 3097 3074 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3098 3075 push ax ; 50 … … 3103 3080 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3104 3081 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3105 call 013b fh ; e8 ee fa3106 jmp short 018 f5h ; eb 223082 call 013b5h ; e8 ee fa 3083 jmp short 018ebh ; eb 22 3107 3084 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3108 3085 push ax ; 50 … … 3115 3092 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3116 3093 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3117 call 0134 dh ; e8 58 fa3094 call 01343h ; e8 58 fa 3118 3095 movzx ax, byte [bp+008h] ; 0f b6 46 08 3119 3096 cmp ax, word [bp-010h] ; 3b 46 f0 3120 jc near 01a3 dh ; 0f 82 3d 013097 jc near 01a33h ; 0f 82 3d 01 3121 3098 dec word [bp-010h] ; ff 4e f0 3122 jmp short 018 94h ; eb 8f3123 mov dl, byte [di+0483 2h] ; 8a 95 32483099 jmp short 0188ah ; eb 8f 3100 mov dl, byte [di+04835h] ; 8a 95 35 48 3124 3101 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3125 jne short 0194 ch ; 75 3d3102 jne short 01942h ; 75 3d 3126 3103 cmp byte [bp-004h], 000h ; 80 7e fc 00 3127 jne short 0194 ch ; 75 373104 jne short 01942h ; 75 37 3128 3105 cmp byte [bp-002h], 000h ; 80 7e fe 00 3129 jne short 0194 ch ; 75 313106 jne short 01942h ; 75 31 3130 3107 movzx bx, byte [bp+008h] ; 0f b6 5e 08 3131 3108 cmp bx, word [bp-016h] ; 3b 5e ea 3132 jne short 0194 ch ; 75 283109 jne short 01942h ; 75 28 3133 3110 movzx bx, byte [bp+00ah] ; 0f b6 5e 0a 3134 3111 cmp bx, word [bp-014h] ; 3b 5e ec 3135 jne short 0194 ch ; 75 1f3112 jne short 01942h ; 75 1f 3136 3113 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3137 3114 imul ax, bx ; 0f af c3 … … 3139 3116 imul cx, ax ; 0f af c8 3140 3117 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3141 mov es, [di+0483 3h] ; 8e 85 33483118 mov es, [di+04836h] ; 8e 85 36 48 3142 3119 xor di, di ; 31 ff 3143 3120 cld ; fc 3144 jcxz 019 49h ; e3 023121 jcxz 0193fh ; e3 02 3145 3122 rep stosb ; f3 aa 3146 jmp near 01a3 dh ; e9 f1 003123 jmp near 01a33h ; e9 f1 00 3147 3124 cmp dl, 002h ; 80 fa 02 3148 jne short 0195 ah ; 75 093125 jne short 01950h ; 75 09 3149 3126 sal byte [bp-002h], 1 ; d0 66 fe 3150 3127 sal byte [bp-00eh], 1 ; d0 66 f2 3151 3128 sal word [bp-012h], 1 ; d1 66 ee 3152 3129 cmp byte [bp+00eh], 001h ; 80 7e 0e 01 3153 jne short 019 c9h ; 75 693130 jne short 019bfh ; 75 69 3154 3131 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3155 3132 mov word [bp-010h], ax ; 89 46 f0 3156 3133 movzx ax, byte [bp+008h] ; 0f b6 46 08 3157 3134 cmp ax, word [bp-010h] ; 3b 46 f0 3158 jc near 01a3 dh ; 0f 82 cb 003135 jc near 01a33h ; 0f 82 cb 00 3159 3136 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3160 3137 add dx, word [bp-010h] ; 03 56 f0 3161 3138 cmp dx, ax ; 39 c2 3162 jnbe short 019 83h ; 77 063139 jnbe short 01979h ; 77 06 3163 3140 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3164 jne short 019 a2h ; 75 1f3141 jne short 01998h ; 75 1f 3165 3142 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3166 3143 push ax ; 50 … … 3171 3148 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3172 3149 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3173 call 014b ch ; e8 1c fb3174 jmp short 019 c4h ; eb 223150 call 014b2h ; e8 1c fb 3151 jmp short 019bah ; eb 22 3175 3152 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3176 3153 push ax ; 50 … … 3183 3160 movzx dx, al ; 0f b6 d0 3184 3161 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3185 call 0141 ch ; e8 58 fa3162 call 01412h ; e8 58 fa 3186 3163 inc word [bp-010h] ; ff 46 f0 3187 jmp short 019 67h ; eb 9e3164 jmp short 0195dh ; eb 9e 3188 3165 movzx ax, byte [bp+008h] ; 0f b6 46 08 3189 3166 mov word [bp-010h], ax ; 89 46 f0 3190 3167 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3191 3168 cmp ax, word [bp-010h] ; 3b 46 f0 3192 jnbe short 01a3 dh ; 77 643169 jnbe short 01a33h ; 77 64 3193 3170 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3194 3171 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 3195 3172 add ax, dx ; 01 d0 3196 3173 cmp ax, word [bp-010h] ; 3b 46 f0 3197 jnbe short 019e eh ; 77 063174 jnbe short 019e4h ; 77 06 3198 3175 cmp byte [bp-00ch], 000h ; 80 7e f4 00 3199 jne short 01a0 dh ; 75 1f3176 jne short 01a03h ; 75 1f 3200 3177 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3201 3178 push ax ; 50 … … 3206 3183 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3207 3184 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3208 call 014b ch ; e8 b1 fa3209 jmp short 01a2 fh ; eb 223185 call 014b2h ; e8 b1 fa 3186 jmp short 01a25h ; eb 22 3210 3187 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3211 3188 push ax ; 50 … … 3218 3195 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3219 3196 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3220 call 0141 ch ; e8 ed f93197 call 01412h ; e8 ed f9 3221 3198 movzx ax, byte [bp+008h] ; 0f b6 46 08 3222 3199 cmp ax, word [bp-010h] ; 3b 46 f0 3223 jc short 01a3 dh ; 72 053200 jc short 01a33h ; 72 05 3224 3201 dec word [bp-010h] ; ff 4e f0 3225 jmp short 019 d0h ; eb 933202 jmp short 019c6h ; eb 93 3226 3203 leave ; c9 3227 3204 pop di ; 5f 3228 3205 pop si ; 5e 3229 3206 retn 00008h ; c2 08 00 3230 write_gfx_char_pl4_: ; 0xc1a 43LB 0xe63207 write_gfx_char_pl4_: ; 0xc1a39 LB 0xe6 3231 3208 push si ; 56 3232 3209 push di ; 57 … … 3235 3212 mov ah, bl ; 88 dc 3236 3213 cmp byte [bp+00ah], 010h ; 80 7e 0a 10 3237 je short 01a5 fh ; 74 0b3214 je short 01a55h ; 74 0b 3238 3215 cmp byte [bp+00ah], 00eh ; 80 7e 0a 0e 3239 jne short 01a 64h ; 75 0a3240 mov di, 05d afh ; bf af5d3241 jmp short 01a 67h ; eb 083242 mov di, 06b afh ; bf af6b3243 jmp short 01a 67h ; eb 033244 mov di, 055 afh ; bf af553216 jne short 01a5ah ; 75 0a 3217 mov di, 05db2h ; bf b2 5d 3218 jmp short 01a5dh ; eb 08 3219 mov di, 06bb2h ; bf b2 6b 3220 jmp short 01a5dh ; eb 03 3221 mov di, 055b2h ; bf b2 55 3245 3222 movzx si, cl ; 0f b6 f1 3246 3223 movzx bx, byte [bp+00ah] ; 0f b6 5e 0a … … 3261 3238 out DX, ax ; ef 3262 3239 test byte [bp-002h], 080h ; f6 46 fe 80 3263 je short 01a a2h ; 74 063240 je short 01a98h ; 74 06 3264 3241 mov ax, 01803h ; b8 03 18 3265 3242 out DX, ax ; ef 3266 jmp short 01a a6h ; eb 043243 jmp short 01a9ch ; eb 04 3267 3244 mov ax, strict word 00003h ; b8 03 00 3268 3245 out DX, ax ; ef 3269 3246 xor ch, ch ; 30 ed 3270 3247 cmp ch, byte [bp+00ah] ; 3a 6e 0a 3271 jnc short 01b 14h ; 73 673248 jnc short 01b0ah ; 73 67 3272 3249 movzx si, ch ; 0f b6 f5 3273 3250 movzx ax, byte [bp+008h] ; 0f b6 46 08 … … 3275 3252 add si, word [bp-00ah] ; 03 76 f6 3276 3253 mov byte [bp-004h], 000h ; c6 46 fc 00 3277 jmp short 01a d3h ; eb 133254 jmp short 01ac9h ; eb 13 3278 3255 xor bx, bx ; 31 db 3279 3256 mov dx, si ; 89 f2 3280 3257 mov ax, 0a000h ; b8 00 a0 3281 call 02f 18h ; e8 4e143258 call 02f02h ; e8 42 14 3282 3259 inc byte [bp-004h] ; fe 46 fc 3283 3260 cmp byte [bp-004h], 008h ; 80 7e fc 08 3284 jnc short 01b 10h ; 73 3d3261 jnc short 01b06h ; 73 3d 3285 3262 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3286 3263 mov cl, al ; 88 c1 … … 3295 3272 mov dx, si ; 89 f2 3296 3273 mov ax, 0a000h ; b8 00 a0 3297 call 02 f0ah ; e8 16143274 call 02ef4h ; e8 0a 14 3298 3275 movzx ax, ch ; 0f b6 c5 3299 3276 add ax, word [bp-006h] ; 03 46 fa … … 3302 3279 movzx ax, byte [bx] ; 0f b6 07 3303 3280 test word [bp-008h], ax ; 85 46 f8 3304 je short 01a c0h ; 74 ba3281 je short 01ab6h ; 74 ba 3305 3282 mov al, byte [bp-002h] ; 8a 46 fe 3306 3283 and AL, strict byte 00fh ; 24 0f 3307 3284 movzx bx, al ; 0f b6 d8 3308 jmp short 01a c2h ; eb b23285 jmp short 01ab8h ; eb b2 3309 3286 db 0feh, 0c5h 3310 3287 ; inc ch ; fe c5 3311 jmp short 01a a8h ; eb 943288 jmp short 01a9eh ; eb 94 3312 3289 mov ax, 0ff08h ; b8 08 ff 3313 3290 mov dx, 003ceh ; ba ce 03 … … 3321 3298 pop si ; 5e 3322 3299 retn 00004h ; c2 04 00 3323 write_gfx_char_cga_: ; 0xc1b 29LB 0x1193300 write_gfx_char_cga_: ; 0xc1b1f LB 0x119 3324 3301 push si ; 56 3325 3302 push di ; 57 3326 3303 enter 00008h, 000h ; c8 08 00 00 3327 3304 mov byte [bp-004h], dl ; 88 56 fc 3328 mov si, 055 afh ; be af553305 mov si, 055b2h ; be b2 55 3329 3306 xor bh, bh ; 30 ff 3330 3307 movzx di, byte [bp+00ah] ; 0f b6 7e 0a … … 3337 3314 sal di, 003h ; c1 e7 03 3338 3315 mov byte [bp-002h], 000h ; c6 46 fe 00 3339 jmp near 01b a7h ; e9 50 003316 jmp near 01b9dh ; e9 50 00 3340 3317 xor al, al ; 30 c0 3341 3318 xor ah, ah ; 30 e4 3342 jmp short 01b 68h ; eb 0b3319 jmp short 01b5eh ; eb 0b 3343 3320 or al, bl ; 08 d8 3344 3321 shr ch, 1 ; d0 ed … … 3346 3323 ; inc ah ; fe c4 3347 3324 cmp ah, 008h ; 80 fc 08 3348 jnc short 01b 90h ; 73 283325 jnc short 01b86h ; 73 28 3349 3326 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3350 3327 add bx, di ; 01 fb … … 3353 3330 movzx dx, ch ; 0f b6 d5 3354 3331 test bx, dx ; 85 d3 3355 je short 01b5 fh ; 74 e53332 je short 01b55h ; 74 e5 3356 3333 mov CL, strict byte 007h ; b1 07 3357 3334 sub cl, ah ; 28 e1 … … 3360 3337 sal bl, CL ; d2 e3 3361 3338 test byte [bp-004h], 080h ; f6 46 fc 80 3362 je short 01b5 dh ; 74 d13339 je short 01b53h ; 74 d1 3363 3340 xor al, bl ; 30 d8 3364 jmp short 01b5 fh ; eb cf3341 jmp short 01b55h ; eb cf 3365 3342 movzx bx, al ; 0f b6 d8 3366 3343 mov dx, word [bp-006h] ; 8b 56 fa 3367 3344 mov ax, 0b800h ; b8 00 b8 3368 call 02f 18h ; e8 7c133345 call 02f02h ; e8 70 13 3369 3346 inc byte [bp-002h] ; fe 46 fe 3370 3347 cmp byte [bp-002h], 008h ; 80 7e fe 08 3371 jnc near 01c3 ch ; 0f 83 95 003348 jnc near 01c32h ; 0f 83 95 00 3372 3349 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3373 3350 sar ax, 1 ; d1 f8 … … 3377 3354 mov word [bp-006h], bx ; 89 5e fa 3378 3355 test byte [bp-002h], 001h ; f6 46 fe 01 3379 je short 01b c2h ; 74 043356 je short 01bb8h ; 74 04 3380 3357 add byte [bp-005h], 020h ; 80 46 fb 20 3381 3358 mov CH, strict byte 080h ; b5 80 3382 3359 cmp byte [bp+00ah], 001h ; 80 7e 0a 01 3383 jne short 01bd bh ; 75 113360 jne short 01bd1h ; 75 11 3384 3361 test byte [bp-004h], ch ; 84 6e fc 3385 je short 01b 57h ; 74 883362 je short 01b4dh ; 74 88 3386 3363 mov dx, word [bp-006h] ; 8b 56 fa 3387 3364 mov ax, 0b800h ; b8 00 b8 3388 call 02 f0ah ; e8 32133389 jmp near 01b 59h ; e9 7e ff3365 call 02ef4h ; e8 26 13 3366 jmp near 01b4fh ; e9 7e ff 3390 3367 test ch, ch ; 84 ed 3391 jbe short 01b9 ch ; 76 bd3368 jbe short 01b92h ; 76 bd 3392 3369 test byte [bp-004h], 080h ; f6 46 fc 80 3393 je short 01b f0h ; 74 0b3370 je short 01be6h ; 74 0b 3394 3371 mov dx, word [bp-006h] ; 8b 56 fa 3395 3372 mov ax, 0b800h ; b8 00 b8 3396 call 02 f0ah ; e8 1c133397 jmp short 01b f2h ; eb 023373 call 02ef4h ; e8 10 13 3374 jmp short 01be8h ; eb 02 3398 3375 xor al, al ; 30 c0 3399 3376 xor ah, ah ; 30 e4 3400 jmp short 01 c01h ; eb 0b3377 jmp short 01bf7h ; eb 0b 3401 3378 or al, bl ; 08 d8 3402 3379 shr ch, 1 ; d0 ed … … 3404 3381 ; inc ah ; fe c4 3405 3382 cmp ah, 004h ; 80 fc 04 3406 jnc short 01c2 bh ; 73 2a3383 jnc short 01c21h ; 73 2a 3407 3384 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3408 3385 add bx, di ; 01 fb … … 3411 3388 movzx bx, ch ; 0f b6 dd 3412 3389 test bx, dx ; 85 d3 3413 je short 01b f8h ; 74 e53390 je short 01beeh ; 74 e5 3414 3391 mov CL, strict byte 003h ; b1 03 3415 3392 sub cl, ah ; 28 e1 … … 3419 3396 sal bl, CL ; d2 e3 3420 3397 test byte [bp-004h], 080h ; f6 46 fc 80 3421 je short 01b f6h ; 74 cf3398 je short 01bech ; 74 cf 3422 3399 xor al, bl ; 30 d8 3423 jmp short 01b f8h ; eb cd3400 jmp short 01beeh ; eb cd 3424 3401 movzx bx, al ; 0f b6 d8 3425 3402 mov dx, word [bp-006h] ; 8b 56 fa 3426 3403 mov ax, 0b800h ; b8 00 b8 3427 call 02f 18h ; e8 e1123404 call 02f02h ; e8 d5 12 3428 3405 inc word [bp-006h] ; ff 46 fa 3429 jmp short 01bd bh ; eb 9f3406 jmp short 01bd1h ; eb 9f 3430 3407 leave ; c9 3431 3408 pop di ; 5f 3432 3409 pop si ; 5e 3433 3410 retn 00004h ; c2 04 00 3434 write_gfx_char_lin_: ; 0xc1c 42LB 0x8c3411 write_gfx_char_lin_: ; 0xc1c38 LB 0x8c 3435 3412 push si ; 56 3436 3413 push di ; 57 3437 3414 enter 00008h, 000h ; c8 08 00 00 3438 3415 mov byte [bp-002h], dl ; 88 56 fe 3439 mov di, 055 afh ; bf af553416 mov di, 055b2h ; bf b2 55 3440 3417 movzx dx, cl ; 0f b6 d1 3441 3418 movzx cx, byte [bp+008h] ; 0f b6 4e 08 … … 3449 3426 sal si, 003h ; c1 e6 03 3450 3427 xor cl, cl ; 30 c9 3451 jmp short 01ca bh ; eb 3b3428 jmp short 01ca1h ; eb 3b 3452 3429 cmp ch, 008h ; 80 fd 08 3453 jnc short 01c a4h ; 73 2f3430 jnc short 01c9ah ; 73 2f 3454 3431 xor al, al ; 30 c0 3455 3432 movzx dx, cl ; 0f b6 d1 … … 3460 3437 movzx bx, byte [bp-004h] ; 0f b6 5e fc 3461 3438 test dx, bx ; 85 da 3462 je short 01c8 eh ; 74 033439 je short 01c84h ; 74 03 3463 3440 mov al, byte [bp-002h] ; 8a 46 fe 3464 3441 movzx bx, al ; 0f b6 d8 … … 3466 3443 add dx, word [bp-006h] ; 03 56 fa 3467 3444 mov ax, 0a000h ; b8 00 a0 3468 call 02f 18h ; e8 7b123445 call 02f02h ; e8 6f 12 3469 3446 shr byte [bp-004h], 1 ; d0 6e fc 3470 3447 db 0feh, 0c5h 3471 3448 ; inc ch ; fe c5 3472 jmp short 01c 70h ; eb cc3449 jmp short 01c66h ; eb cc 3473 3450 db 0feh, 0c1h 3474 3451 ; inc cl ; fe c1 3475 3452 cmp cl, 008h ; 80 f9 08 3476 jnc short 01c c8h ; 73 1d3453 jnc short 01cbeh ; 73 1d 3477 3454 movzx bx, cl ; 0f b6 d9 3478 3455 movzx dx, byte [bp+008h] ; 0f b6 56 08 … … 3484 3461 mov byte [bp-004h], 080h ; c6 46 fc 80 3485 3462 xor ch, ch ; 30 ed 3486 jmp short 01c 75h ; eb ad3463 jmp short 01c6bh ; eb ad 3487 3464 leave ; c9 3488 3465 pop di ; 5f 3489 3466 pop si ; 5e 3490 3467 retn 00002h ; c2 02 00 3491 biosfn_write_char_attr_: ; 0xc1cc eLB 0x1633468 biosfn_write_char_attr_: ; 0xc1cc4 LB 0x163 3492 3469 push si ; 56 3493 3470 push di ; 57 … … 3499 3476 mov dx, strict word 00049h ; ba 49 00 3500 3477 mov ax, strict word 00040h ; b8 40 00 3501 call 02 f0ah ; e8 22123478 call 02ef4h ; e8 16 12 3502 3479 xor ah, ah ; 30 e4 3503 call 02e e3h ; e8 f6113480 call 02ecdh ; e8 ea 11 3504 3481 mov cl, al ; 88 c1 3505 3482 mov byte [bp-002h], al ; 88 46 fe 3506 3483 cmp AL, strict byte 0ffh ; 3c ff 3507 je near 01e2 dh ; 0f 84 35 013484 je near 01e23h ; 0f 84 35 01 3508 3485 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3509 3486 lea bx, [bp-018h] ; 8d 5e e8 3510 3487 lea dx, [bp-016h] ; 8d 56 ea 3511 call 00a8ch ; e8 87ed3488 call 00a8ch ; e8 91 ed 3512 3489 mov al, byte [bp-018h] ; 8a 46 e8 3513 3490 mov byte [bp-008h], al ; 88 46 f8 … … 3518 3495 mov dx, 00084h ; ba 84 00 3519 3496 mov ax, strict word 00040h ; b8 40 00 3520 call 02 f0ah ; e8 eb113497 call 02ef4h ; e8 df 11 3521 3498 xor ah, ah ; 30 e4 3522 3499 inc ax ; 40 … … 3524 3501 mov dx, strict word 0004ah ; ba 4a 00 3525 3502 mov ax, strict word 00040h ; b8 40 00 3526 call 02f 26h ; e8 f8113503 call 02f10h ; e8 ec 11 3527 3504 mov word [bp-012h], ax ; 89 46 ee 3528 3505 movzx bx, cl ; 0f b6 d9 3529 3506 mov di, bx ; 89 df 3530 3507 sal di, 003h ; c1 e7 03 3531 cmp byte [di+0483 0h], 000h ; 80 bd 3048 003532 jne short 01d 87h ; 75 473508 cmp byte [di+04833h], 000h ; 80 bd 33 48 00 3509 jne short 01d7dh ; 75 47 3533 3510 mov bx, word [bp-014h] ; 8b 5e ec 3534 3511 imul bx, ax ; 0f af d8 … … 3550 3527 mov word [bp-016h], ax ; 89 46 ea 3551 3528 mov ax, word [bp-016h] ; 8b 46 ea 3552 mov es, [di+0483 3h] ; 8e 85 33483529 mov es, [di+04836h] ; 8e 85 36 48 3553 3530 mov cx, si ; 89 f1 3554 3531 mov di, dx ; 89 d7 3555 3532 cld ; fc 3556 jcxz 01d 84h ; e3 023533 jcxz 01d7ah ; e3 02 3557 3534 rep stosw ; f3 ab 3558 jmp near 01e2 dh ; e9 a6 003559 movzx bx, byte [bx+048 afh] ; 0f b6 9f af483535 jmp near 01e23h ; e9 a6 00 3536 movzx bx, byte [bx+048b2h] ; 0f b6 9f b2 48 3560 3537 sal bx, 006h ; c1 e3 06 3561 mov al, byte [bx+048c 5h] ; 8a 87 c5483538 mov al, byte [bx+048c8h] ; 8a 87 c8 48 3562 3539 mov byte [bp-004h], al ; 88 46 fc 3563 mov al, byte [di+0483 2h] ; 8a 85 32483540 mov al, byte [di+04835h] ; 8a 85 35 48 3564 3541 mov byte [bp-010h], al ; 88 46 f0 3565 3542 dec si ; 4e 3566 3543 cmp si, strict byte 0ffffh ; 83 fe ff 3567 je near 01e2 dh ; 0f 84 88 003544 je near 01e23h ; 0f 84 88 00 3568 3545 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3569 3546 cmp ax, word [bp-012h] ; 3b 46 ee 3570 jnc near 01e2 dh ; 0f 83 7d 003547 jnc near 01e23h ; 0f 83 7d 00 3571 3548 movzx bx, byte [bp-002h] ; 0f b6 5e fe 3572 3549 sal bx, 003h ; c1 e3 03 3573 mov al, byte [bx+0483 1h] ; 8a 87 31483550 mov al, byte [bx+04834h] ; 8a 87 34 48 3574 3551 cmp AL, strict byte 003h ; 3c 03 3575 jc short 01dc bh ; 72 0c3576 jbe short 01d d1h ; 76 103552 jc short 01dc1h ; 72 0c 3553 jbe short 01dc7h ; 76 10 3577 3554 cmp AL, strict byte 005h ; 3c 05 3578 je short 01e0 fh ; 74 4a3555 je short 01e05h ; 74 4a 3579 3556 cmp AL, strict byte 004h ; 3c 04 3580 je short 01d d1h ; 74 083581 jmp short 01e 27h ; eb 5c3557 je short 01dc7h ; 74 08 3558 jmp short 01e1dh ; eb 5c 3582 3559 cmp AL, strict byte 002h ; 3c 02 3583 je short 01d f0h ; 74 213584 jmp short 01e 27h ; eb 563560 je short 01de6h ; 74 21 3561 jmp short 01e1dh ; eb 56 3585 3562 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3586 3563 push ax ; 50 … … 3591 3568 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3592 3569 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3593 call 01a 43h ; e8 55 fc3594 jmp short 01e 27h ; eb 373570 call 01a39h ; e8 55 fc 3571 jmp short 01e1dh ; eb 37 3595 3572 movzx ax, byte [bp-010h] ; 0f b6 46 f0 3596 3573 push ax ; 50 … … 3601 3578 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3602 3579 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3603 call 01b 29h ; e8 1c fd3604 jmp short 01e 27h ; eb 183580 call 01b1fh ; e8 1c fd 3581 jmp short 01e1dh ; eb 18 3605 3582 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3606 3583 push ax ; 50 … … 3609 3586 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 3610 3587 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3611 call 01c 42h ; e8 1b fe3588 call 01c38h ; e8 1b fe 3612 3589 inc byte [bp-008h] ; fe 46 f8 3613 jmp near 01d9 dh ; e9 70 ff3590 jmp near 01d93h ; e9 70 ff 3614 3591 leave ; c9 3615 3592 pop di ; 5f 3616 3593 pop si ; 5e 3617 3594 retn ; c3 3618 biosfn_write_char_only_: ; 0xc1e 31LB 0x16a3595 biosfn_write_char_only_: ; 0xc1e27 LB 0x16a 3619 3596 push si ; 56 3620 3597 push di ; 57 … … 3626 3603 mov dx, strict word 00049h ; ba 49 00 3627 3604 mov ax, strict word 00040h ; b8 40 00 3628 call 02 f0ah ; e8 bf103605 call 02ef4h ; e8 b3 10 3629 3606 xor ah, ah ; 30 e4 3630 call 02e e3h ; e8 93103607 call 02ecdh ; e8 87 10 3631 3608 mov cl, al ; 88 c1 3632 3609 mov byte [bp-00ah], al ; 88 46 f6 3633 3610 cmp AL, strict byte 0ffh ; 3c ff 3634 je near 01f 97h ; 0f 84 3c 013611 je near 01f8dh ; 0f 84 3c 01 3635 3612 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3636 3613 lea bx, [bp-018h] ; 8d 5e e8 3637 3614 lea dx, [bp-016h] ; 8d 56 ea 3638 call 00a8ch ; e8 2 4ec3615 call 00a8ch ; e8 2e ec 3639 3616 mov al, byte [bp-018h] ; 8a 46 e8 3640 3617 mov byte [bp-008h], al ; 88 46 f8 … … 3645 3622 mov dx, 00084h ; ba 84 00 3646 3623 mov ax, strict word 00040h ; b8 40 00 3647 call 02 f0ah ; e8 88103624 call 02ef4h ; e8 7c 10 3648 3625 xor ah, ah ; 30 e4 3649 3626 inc ax ; 40 … … 3651 3628 mov dx, strict word 0004ah ; ba 4a 00 3652 3629 mov ax, strict word 00040h ; b8 40 00 3653 call 02f 26h ; e8 95103630 call 02f10h ; e8 89 10 3654 3631 mov word [bp-012h], ax ; 89 46 ee 3655 3632 movzx di, cl ; 0f b6 f9 3656 3633 mov bx, di ; 89 fb 3657 3634 sal bx, 003h ; c1 e3 03 3658 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 003659 jne short 01ee dh ; 75 4a3635 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 3636 jne short 01ee3h ; 75 4a 3660 3637 mov dx, word [bp-014h] ; 8b 56 ec 3661 3638 imul dx, ax ; 0f af d0 … … 3674 3651 dec si ; 4e 3675 3652 cmp si, strict byte 0ffffh ; 83 fe ff 3676 je near 01f 97h ; 0f 84 c6 003653 je near 01f8dh ; 0f 84 c6 00 3677 3654 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3678 3655 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3679 3656 sal bx, 003h ; c1 e3 03 3680 mov di, word [bx+0483 3h] ; 8b bf 33483657 mov di, word [bx+04836h] ; 8b bf 36 48 3681 3658 mov bx, ax ; 89 c3 3682 3659 mov dx, cx ; 89 ca 3683 3660 mov ax, di ; 89 f8 3684 call 02f 18h ; e8 2f103685 inc cx ; 41 3686 inc cx ; 41 3687 jmp short 01e c9h ; eb dc3688 movzx di, byte [di+048 afh] ; 0f b6 bd af483661 call 02f02h ; e8 23 10 3662 inc cx ; 41 3663 inc cx ; 41 3664 jmp short 01ebfh ; eb dc 3665 movzx di, byte [di+048b2h] ; 0f b6 bd b2 48 3689 3666 sal di, 006h ; c1 e7 06 3690 mov al, byte [di+048c 5h] ; 8a 85 c5483667 mov al, byte [di+048c8h] ; 8a 85 c8 48 3691 3668 mov byte [bp-006h], al ; 88 46 fa 3692 mov al, byte [bx+0483 2h] ; 8a 87 32483669 mov al, byte [bx+04835h] ; 8a 87 35 48 3693 3670 mov byte [bp-004h], al ; 88 46 fc 3694 3671 dec si ; 4e 3695 3672 cmp si, strict byte 0ffffh ; 83 fe ff 3696 je near 01f 97h ; 0f 84 8c 003673 je near 01f8dh ; 0f 84 8c 00 3697 3674 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3698 3675 cmp ax, word [bp-012h] ; 3b 46 ee 3699 jnc near 01f 97h ; 0f 83 81 003676 jnc near 01f8dh ; 0f 83 81 00 3700 3677 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3701 3678 sal bx, 003h ; c1 e3 03 3702 mov bl, byte [bx+0483 1h] ; 8a 9f 31483679 mov bl, byte [bx+04834h] ; 8a 9f 34 48 3703 3680 cmp bl, 003h ; 80 fb 03 3704 jc short 01f 34h ; 72 0e3705 jbe short 01f3 bh ; 76 133681 jc short 01f2ah ; 72 0e 3682 jbe short 01f31h ; 76 13 3706 3683 cmp bl, 005h ; 80 fb 05 3707 je short 01f 79h ; 74 4c3684 je short 01f6fh ; 74 4c 3708 3685 cmp bl, 004h ; 80 fb 04 3709 je short 01f3 bh ; 74 093710 jmp short 01f 91h ; eb 5d3686 je short 01f31h ; 74 09 3687 jmp short 01f87h ; eb 5d 3711 3688 cmp bl, 002h ; 80 fb 02 3712 je short 01f5 ah ; 74 213713 jmp short 01f 91h ; eb 563689 je short 01f50h ; 74 21 3690 jmp short 01f87h ; eb 56 3714 3691 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3715 3692 push ax ; 50 … … 3720 3697 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3721 3698 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3722 call 01a 43h ; e8 eb fa3723 jmp short 01f 91h ; eb 373699 call 01a39h ; e8 eb fa 3700 jmp short 01f87h ; eb 37 3724 3701 movzx ax, byte [bp-004h] ; 0f b6 46 fc 3725 3702 push ax ; 50 … … 3730 3707 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3731 3708 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3732 call 01b 29h ; e8 b2 fb3733 jmp short 01f 91h ; eb 183709 call 01b1fh ; e8 b2 fb 3710 jmp short 01f87h ; eb 18 3734 3711 movzx ax, byte [bp-012h] ; 0f b6 46 ee 3735 3712 push ax ; 50 … … 3738 3715 movzx dx, byte [bp-010h] ; 0f b6 56 f0 3739 3716 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 3740 call 01c 42h ; e8 b1 fc3717 call 01c38h ; e8 b1 fc 3741 3718 inc byte [bp-008h] ; fe 46 f8 3742 jmp near 01 f03h ; e9 6c ff3719 jmp near 01ef9h ; e9 6c ff 3743 3720 leave ; c9 3744 3721 pop di ; 5f 3745 3722 pop si ; 5e 3746 3723 retn ; c3 3747 biosfn_write_pixel_: ; 0xc1f9 bLB 0x1683724 biosfn_write_pixel_: ; 0xc1f91 LB 0x168 3748 3725 push si ; 56 3749 3726 enter 00008h, 000h ; c8 08 00 00 … … 3752 3729 mov dx, strict word 00049h ; ba 49 00 3753 3730 mov ax, strict word 00040h ; b8 40 00 3754 call 02 f0ah ; e8 5b0f3731 call 02ef4h ; e8 4f 0f 3755 3732 xor ah, ah ; 30 e4 3756 call 02e e3h ; e8 2f0f3733 call 02ecdh ; e8 23 0f 3757 3734 mov byte [bp-002h], al ; 88 46 fe 3758 3735 cmp AL, strict byte 0ffh ; 3c ff 3759 je near 02 100h ; 0f 84 43 013736 je near 020f6h ; 0f 84 43 01 3760 3737 movzx bx, al ; 0f b6 d8 3761 3738 sal bx, 003h ; c1 e3 03 3762 cmp byte [bx+0483 0h], 000h ; 80 bf 3048 003763 je near 02 100h ; 0f 84 34 013764 mov al, byte [bx+0483 1h] ; 8a 87 31483739 cmp byte [bx+04833h], 000h ; 80 bf 33 48 00 3740 je near 020f6h ; 0f 84 34 01 3741 mov al, byte [bx+04834h] ; 8a 87 34 48 3765 3742 cmp AL, strict byte 003h ; 3c 03 3766 jc short 01f e3h ; 72 0f3767 jbe short 01fe ah ; 76 143743 jc short 01fd9h ; 72 0f 3744 jbe short 01fe0h ; 76 14 3768 3745 cmp AL, strict byte 005h ; 3c 05 3769 je near 020d eh ; 0f 84 02 013746 je near 020d4h ; 0f 84 02 01 3770 3747 cmp AL, strict byte 004h ; 3c 04 3771 je short 01fe ah ; 74 0a3748 je short 01fe0h ; 74 0a 3772 3749 leave ; c9 3773 3750 pop si ; 5e 3774 3751 retn ; c3 3775 3752 cmp AL, strict byte 002h ; 3c 02 3776 je short 0204 fh ; 74 683753 je short 02045h ; 74 68 3777 3754 leave ; c9 3778 3755 pop si ; 5e … … 3780 3757 mov dx, strict word 0004ah ; ba 4a 00 3781 3758 mov ax, strict word 00040h ; b8 40 00 3782 call 02f 26h ; e8 330f3759 call 02f10h ; e8 27 0f 3783 3760 imul ax, cx ; 0f af c1 3784 3761 mov bx, word [bp-008h] ; 8b 5e f8 … … 3799 3776 mov dx, bx ; 89 da 3800 3777 mov ax, 0a000h ; b8 00 a0 3801 call 02 f0ah ; e8 e70e3778 call 02ef4h ; e8 db 0e 3802 3779 test byte [bp-004h], 080h ; f6 46 fc 80 3803 je short 020 30h ; 74 073780 je short 02026h ; 74 07 3804 3781 mov ax, 01803h ; b8 03 18 3805 3782 mov dx, 003ceh ; ba ce 03 … … 3808 3785 mov dx, word [bp-006h] ; 8b 56 fa 3809 3786 mov ax, 0a000h ; b8 00 a0 3810 call 02f 18h ; e8 db0e3787 call 02f02h ; e8 cf 0e 3811 3788 mov ax, 0ff08h ; b8 08 ff 3812 3789 mov dx, 003ceh ; ba ce 03 … … 3822 3799 shr ax, 1 ; d1 e8 3823 3800 imul ax, ax, strict byte 00050h ; 6b c0 50 3824 cmp byte [bx+0483 2h], 002h ; 80 bf 3248 023825 jne short 020 65h ; 75 083801 cmp byte [bx+04835h], 002h ; 80 bf 35 48 02 3802 jne short 0205bh ; 75 08 3826 3803 mov bx, word [bp-008h] ; 8b 5e f8 3827 3804 shr bx, 002h ; c1 eb 02 3828 jmp short 0206 bh ; eb 063805 jmp short 02061h ; eb 06 3829 3806 mov bx, word [bp-008h] ; 8b 5e f8 3830 3807 shr bx, 003h ; c1 eb 03 … … 3832 3809 mov word [bp-006h], bx ; 89 5e fa 3833 3810 test cl, 001h ; f6 c1 01 3834 je short 020 79h ; 74 043811 je short 0206fh ; 74 04 3835 3812 add byte [bp-005h], 020h ; 80 46 fb 20 3836 3813 mov dx, word [bp-006h] ; 8b 56 fa 3837 3814 mov ax, 0b800h ; b8 00 b8 3838 call 02 f0ah ; e8 880e3815 call 02ef4h ; e8 7c 0e 3839 3816 mov bl, al ; 88 c3 3840 3817 movzx si, byte [bp-002h] ; 0f b6 76 fe 3841 3818 sal si, 003h ; c1 e6 03 3842 cmp byte [si+0483 2h], 002h ; 80 bc 3248 023843 jne short 020a bh ; 75 193819 cmp byte [si+04835h], 002h ; 80 bc 35 48 02 3820 jne short 020a1h ; 75 19 3844 3821 mov al, byte [bp-008h] ; 8a 46 f8 3845 3822 and AL, strict byte 003h ; 24 03 … … 3852 3829 sal bh, CL ; d2 e7 3853 3830 mov AL, strict byte 003h ; b0 03 3854 jmp short 020b eh ; eb 133831 jmp short 020b4h ; eb 13 3855 3832 mov al, byte [bp-008h] ; 8a 46 f8 3856 3833 and AL, strict byte 007h ; 24 07 … … 3863 3840 sal al, CL ; d2 e0 3864 3841 test byte [bp-004h], 080h ; f6 46 fc 80 3865 je short 020c ah ; 74 043842 je short 020c0h ; 74 04 3866 3843 xor bl, bh ; 30 fb 3867 jmp short 020 d0h ; eb 063844 jmp short 020c6h ; eb 06 3868 3845 not al ; f6 d0 3869 3846 and bl, al ; 20 c3 … … 3872 3849 mov dx, word [bp-006h] ; 8b 56 fa 3873 3850 mov ax, 0b800h ; b8 00 b8 3874 call 02f 18h ; e8 3d0e3851 call 02f02h ; e8 31 0e 3875 3852 leave ; c9 3876 3853 pop si ; 5e … … 3878 3855 mov dx, strict word 0004ah ; ba 4a 00 3879 3856 mov ax, strict word 00040h ; b8 40 00 3880 call 02f 26h ; e8 3f0e3857 call 02f10h ; e8 33 0e 3881 3858 sal ax, 003h ; c1 e0 03 3882 3859 imul cx, ax ; 0f af c8 … … 3887 3864 mov dx, ax ; 89 c2 3888 3865 mov ax, 0a000h ; b8 00 a0 3889 jmp short 020 d8h ; eb d83866 jmp short 020ceh ; eb d8 3890 3867 leave ; c9 3891 3868 pop si ; 5e 3892 3869 retn ; c3 3893 biosfn_write_teletype_: ; 0xc2 103LB 0x27f3870 biosfn_write_teletype_: ; 0xc20f9 LB 0x27f 3894 3871 push si ; 56 3895 3872 enter 00016h, 000h ; c8 16 00 00 … … 3899 3876 mov byte [bp-00eh], cl ; 88 4e f2 3900 3877 cmp dl, 0ffh ; 80 fa ff 3901 jne short 021 25h ; 75 0c3878 jne short 0211bh ; 75 0c 3902 3879 mov dx, strict word 00062h ; ba 62 00 3903 3880 mov ax, strict word 00040h ; b8 40 00 3904 call 02 f0ah ; e8 e80d3881 call 02ef4h ; e8 dc 0d 3905 3882 mov byte [bp-002h], al ; 88 46 fe 3906 3883 mov dx, strict word 00049h ; ba 49 00 3907 3884 mov ax, strict word 00040h ; b8 40 00 3908 call 02 f0ah ; e8 dc0d3885 call 02ef4h ; e8 d0 0d 3909 3886 xor ah, ah ; 30 e4 3910 call 02e e3h ; e8 b00d3887 call 02ecdh ; e8 a4 0d 3911 3888 mov byte [bp-00ch], al ; 88 46 f4 3912 3889 cmp AL, strict byte 0ffh ; 3c ff 3913 je near 0237 fh ; 0f 84 43 023890 je near 02375h ; 0f 84 43 02 3914 3891 movzx ax, byte [bp-002h] ; 0f b6 46 fe 3915 3892 lea bx, [bp-016h] ; 8d 5e ea 3916 3893 lea dx, [bp-014h] ; 8d 56 ec 3917 call 00a8ch ; e8 4 3e93894 call 00a8ch ; e8 4d e9 3918 3895 mov al, byte [bp-016h] ; 8a 46 ea 3919 3896 mov byte [bp-006h], al ; 88 46 fa … … 3924 3901 mov dx, 00084h ; ba 84 00 3925 3902 mov ax, strict word 00040h ; b8 40 00 3926 call 02 f0ah ; e8 a70d3903 call 02ef4h ; e8 9b 0d 3927 3904 xor ah, ah ; 30 e4 3928 3905 inc ax ; 40 … … 3930 3907 mov dx, strict word 0004ah ; ba 4a 00 3931 3908 mov ax, strict word 00040h ; b8 40 00 3932 call 02f 26h ; e8 b40d3909 call 02f10h ; e8 a8 0d 3933 3910 mov word [bp-010h], ax ; 89 46 f0 3934 3911 mov al, byte [bp-00ah] ; 8a 46 f6 3935 3912 cmp AL, strict byte 009h ; 3c 09 3936 jc short 021 88h ; 72 0c3937 jbe short 021a fh ; 76 313913 jc short 0217eh ; 72 0c 3914 jbe short 021a5h ; 76 31 3938 3915 cmp AL, strict byte 00dh ; 3c 0d 3939 je short 021 a2h ; 74 203916 je short 02198h ; 74 20 3940 3917 cmp AL, strict byte 00ah ; 3c 0a 3941 je short 021 a9h ; 74 233942 jmp short 021 f0h ; eb 683918 je short 0219fh ; 74 23 3919 jmp short 021e6h ; eb 68 3943 3920 cmp AL, strict byte 008h ; 3c 08 3944 je short 021 94h ; 74 083921 je short 0218ah ; 74 08 3945 3922 cmp AL, strict byte 007h ; 3c 07 3946 je near 022c ch ; 0f 84 3a 013947 jmp short 021 f0h ; eb 5c3923 je near 022c2h ; 0f 84 3a 01 3924 jmp short 021e6h ; eb 5c 3948 3925 cmp byte [bp-006h], 000h ; 80 7e fa 00 3949 jbe near 022c ch ; 0f 86 30 013926 jbe near 022c2h ; 0f 86 30 01 3950 3927 dec byte [bp-006h] ; fe 4e fa 3951 jmp near 022c ch ; e9 2a 013928 jmp near 022c2h ; e9 2a 01 3952 3929 mov byte [bp-006h], 000h ; c6 46 fa 00 3953 jmp near 022c ch ; e9 23 013930 jmp near 022c2h ; e9 23 01 3954 3931 inc byte [bp-008h] ; fe 46 f8 3955 jmp near 022c ch ; e9 1d 013932 jmp near 022c2h ; e9 1d 01 3956 3933 movzx cx, byte [bp-00eh] ; 0f b6 4e f2 3957 3934 movzx bx, byte [bp-004h] ; 0f b6 5e fc … … 3959 3936 mov dx, si ; 89 f2 3960 3937 mov ax, strict word 00020h ; b8 20 00 3961 call 02 103h ; e8 40 ff3938 call 020f9h ; e8 40 ff 3962 3939 lea bx, [bp-016h] ; 8d 5e ea 3963 3940 lea dx, [bp-014h] ; 8d 56 ec 3964 3941 mov ax, si ; 89 f0 3965 call 00a8ch ; e8 bee83942 call 00a8ch ; e8 c8 e8 3966 3943 mov al, byte [bp-016h] ; 8a 46 ea 3967 3944 mov byte [bp-006h], al ; 88 46 fa … … 3975 3952 idiv bx ; f7 fb 3976 3953 test dx, dx ; 85 d2 3977 je short 021a fh ; 74 c23978 jmp near 022c ch ; e9 dc 003954 je short 021a5h ; 74 c2 3955 jmp near 022c2h ; e9 dc 00 3979 3956 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3980 3957 mov si, bx ; 89 de 3981 3958 sal si, 003h ; c1 e6 03 3982 cmp byte [si+0483 0h], 000h ; 80 bc 3048 003983 jne short 0224 bh ; 75 4b3959 cmp byte [si+04833h], 000h ; 80 bc 33 48 00 3960 jne short 02241h ; 75 4b 3984 3961 mov ax, word [bp-010h] ; 8b 46 f0 3985 3962 imul ax, word [bp-012h] ; 0f af 46 ee … … 3996 3973 add cx, dx ; 01 d1 3997 3974 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 3998 mov ax, word [si+0483 3h] ; 8b 84 33483999 mov dx, cx ; 89 ca 4000 call 02f 18h ; e8 e60c3975 mov ax, word [si+04836h] ; 8b 84 36 48 3976 mov dx, cx ; 89 ca 3977 call 02f02h ; e8 da 0c 4001 3978 cmp byte [bp-00eh], 003h ; 80 7e f2 03 4002 jne near 022 c9h ; 0f 85 8f 003979 jne near 022bfh ; 0f 85 8f 00 4003 3980 movzx bx, byte [bp-004h] ; 0f b6 5e fc 4004 3981 mov dx, cx ; 89 ca 4005 3982 inc dx ; 42 4006 mov ax, word [si+0483 3h] ; 8b 84 33484007 call 02f 18h ; e8 d00c4008 jmp near 022 c9h ; e9 7e 004009 movzx bx, byte [bx+048 afh] ; 0f b6 9f af483983 mov ax, word [si+04836h] ; 8b 84 36 48 3984 call 02f02h ; e8 c4 0c 3985 jmp near 022bfh ; e9 7e 00 3986 movzx bx, byte [bx+048b2h] ; 0f b6 9f b2 48 4010 3987 sal bx, 006h ; c1 e3 06 4011 mov ah, byte [bx+048c 5h] ; 8a a7 c5484012 mov dl, byte [si+0483 2h] ; 8a 94 32484013 mov al, byte [si+0483 1h] ; 8a 84 31483988 mov ah, byte [bx+048c8h] ; 8a a7 c8 48 3989 mov dl, byte [si+04835h] ; 8a 94 35 48 3990 mov al, byte [si+04834h] ; 8a 84 34 48 4014 3991 cmp AL, strict byte 003h ; 3c 03 4015 jc short 0226 fh ; 72 0c4016 jbe short 022 75h ; 76 103992 jc short 02265h ; 72 0c 3993 jbe short 0226bh ; 76 10 4017 3994 cmp AL, strict byte 005h ; 3c 05 4018 je short 022 b1h ; 74 483995 je short 022a7h ; 74 48 4019 3996 cmp AL, strict byte 004h ; 3c 04 4020 je short 022 75h ; 74 084021 jmp short 022 c9h ; eb 5a3997 je short 0226bh ; 74 08 3998 jmp short 022bfh ; eb 5a 4022 3999 cmp AL, strict byte 002h ; 3c 02 4023 je short 022 93h ; 74 204024 jmp short 022 c9h ; eb 544000 je short 02289h ; 74 20 4001 jmp short 022bfh ; eb 54 4025 4002 movzx ax, ah ; 0f b6 c4 4026 4003 push ax ; 50 … … 4031 4008 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4032 4009 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4033 call 01a 43h ; e8 b2 f74034 jmp short 022 c9h ; eb 364010 call 01a39h ; e8 b2 f7 4011 jmp short 022bfh ; eb 36 4035 4012 movzx ax, dl ; 0f b6 c2 4036 4013 push ax ; 50 … … 4041 4018 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4042 4019 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4043 call 01b 29h ; e8 7a f84044 jmp short 022 c9h ; eb 184020 call 01b1fh ; e8 7a f8 4021 jmp short 022bfh ; eb 18 4045 4022 movzx ax, byte [bp-010h] ; 0f b6 46 f0 4046 4023 push ax ; 50 … … 4049 4026 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4050 4027 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4051 call 01c 42h ; e8 79 f94028 call 01c38h ; e8 79 f9 4052 4029 inc byte [bp-006h] ; fe 46 fa 4053 4030 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4054 4031 cmp ax, word [bp-010h] ; 3b 46 f0 4055 jne short 022d ch ; 75 074032 jne short 022d2h ; 75 07 4056 4033 mov byte [bp-006h], 000h ; c6 46 fa 00 4057 4034 inc byte [bp-008h] ; fe 46 f8 4058 4035 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4059 4036 cmp ax, word [bp-012h] ; 3b 46 ee 4060 jne near 023 63h ; 0f 85 7c 004037 jne near 02359h ; 0f 85 7c 00 4061 4038 movzx si, byte [bp-00ch] ; 0f b6 76 f4 4062 4039 sal si, 003h ; c1 e6 03 … … 4067 4044 db 0feh, 0cfh 4068 4045 ; dec bh ; fe cf 4069 cmp byte [si+0483 0h], 000h ; 80 bc 3048 004070 jne short 023 45h ; 75 464046 cmp byte [si+04833h], 000h ; 80 bc 33 48 00 4047 jne short 0233bh ; 75 46 4071 4048 mov ax, word [bp-010h] ; 8b 46 f0 4072 4049 imul ax, word [bp-012h] ; 0f af 46 ee … … 4084 4061 add dx, cx ; 01 ca 4085 4062 inc dx ; 42 4086 mov ax, word [si+0483 3h] ; 8b 84 33484087 call 02 f0ah ; e8 dd0b4063 mov ax, word [si+04836h] ; 8b 84 36 48 4064 call 02ef4h ; e8 d1 0b 4088 4065 push strict byte 00001h ; 6a 01 4089 4066 movzx dx, byte [bp-002h] ; 0f b6 56 fe … … 4096 4073 xor cx, cx ; 31 c9 4097 4074 xor bx, bx ; 31 db 4098 jmp short 0235 ah ; eb 154075 jmp short 02350h ; eb 15 4099 4076 push strict byte 00001h ; 6a 01 4100 4077 movzx ax, byte [bp-002h] ; 0f b6 46 fe … … 4108 4085 xor dx, dx ; 31 d2 4109 4086 mov ax, strict word 00001h ; b8 01 00 4110 call 015 42h ; e8 e2 f14087 call 01538h ; e8 e2 f1 4111 4088 dec byte [bp-008h] ; fe 4e f8 4112 4089 movzx ax, byte [bp-008h] ; 0f b6 46 f8 … … 4117 4094 mov dx, word [bp-016h] ; 8b 56 ea 4118 4095 movzx ax, byte [bp-002h] ; 0f b6 46 fe 4119 call 00e4bh ; e8 ccea4096 call 00e4bh ; e8 d6 ea 4120 4097 leave ; c9 4121 4098 pop si ; 5e 4122 4099 retn ; c3 4123 get_font_access_: ; 0xc23 82LB 0x294100 get_font_access_: ; 0xc2378 LB 0x29 4124 4101 push dx ; 52 4125 4102 push bp ; 55 … … 4144 4121 pop dx ; 5a 4145 4122 retn ; c3 4146 release_font_access_: ; 0xc23a bLB 0x394123 release_font_access_: ; 0xc23a1 LB 0x39 4147 4124 push dx ; 52 4148 4125 push bp ; 55 … … 4175 4152 pop dx ; 5a 4176 4153 retn ; c3 4177 set_scan_lines_: ; 0xc23 e4LB 0xbc4154 set_scan_lines_: ; 0xc23da LB 0xbc 4178 4155 push bx ; 53 4179 4156 push cx ; 51 … … 4186 4163 mov dx, strict word 00063h ; ba 63 00 4187 4164 mov ax, strict word 00040h ; b8 40 00 4188 call 02f 26h ; e8 2f0b4165 call 02f10h ; e8 23 0b 4189 4166 mov dx, ax ; 89 c2 4190 4167 mov si, ax ; 89 c6 … … 4203 4180 out DX, AL ; ee 4204 4181 cmp bl, 008h ; 80 fb 08 4205 jne short 0241 bh ; 75 084182 jne short 02411h ; 75 08 4206 4183 mov dx, strict word 00007h ; ba 07 00 4207 4184 mov ax, strict word 00006h ; b8 06 00 4208 jmp short 024 28h ; eb 0d4185 jmp short 0241eh ; eb 0d 4209 4186 mov al, bl ; 88 d8 4210 4187 sub AL, strict byte 003h ; 2c 03 … … 4213 4190 sub AL, strict byte 004h ; 2c 04 4214 4191 xor ah, ah ; 30 e4 4215 call 00daah ; e8 7fe94192 call 00daah ; e8 89 e9 4216 4193 movzx di, bl ; 0f b6 fb 4217 4194 mov bx, di ; 89 fb 4218 4195 mov dx, 00085h ; ba 85 00 4219 4196 mov ax, strict word 00040h ; b8 40 00 4220 call 02f 34h ; e8 fb0a4197 call 02f1eh ; e8 ef 0a 4221 4198 mov AL, strict byte 012h ; b0 12 4222 4199 mov dx, si ; 89 f2 … … 4253 4230 mov dx, 00084h ; ba 84 00 4254 4231 mov ax, strict word 00040h ; b8 40 00 4255 call 02f 18h ; e8 9b0a4232 call 02f02h ; e8 8f 0a 4256 4233 mov dx, strict word 0004ah ; ba 4a 00 4257 4234 mov ax, strict word 00040h ; b8 40 00 4258 call 02f 26h ; e8 a00a4235 call 02f10h ; e8 94 0a 4259 4236 movzx dx, cl ; 0f b6 d1 4260 4237 mov bx, ax ; 89 c3 … … 4263 4240 mov dx, strict word 0004ch ; ba 4c 00 4264 4241 mov ax, strict word 00040h ; b8 40 00 4265 call 02f 34h ; e8 9b0a4242 call 02f1eh ; e8 8f 0a 4266 4243 pop bp ; 5d 4267 4244 pop di ; 5f … … 4271 4248 pop bx ; 5b 4272 4249 retn ; c3 4273 biosfn_load_text_user_pat_: ; 0xc24 a0LB 0x784250 biosfn_load_text_user_pat_: ; 0xc2496 LB 0x78 4274 4251 push si ; 56 4275 4252 push di ; 57 … … 4279 4256 mov word [bp-004h], bx ; 89 5e fc 4280 4257 mov word [bp-006h], cx ; 89 4e fa 4281 call 023 82h ; e8 cd fe4258 call 02378h ; e8 cd fe 4282 4259 mov al, byte [bp+00ah] ; 8a 46 0a 4283 4260 and AL, strict byte 003h ; 24 03 … … 4293 4270 xor bx, bx ; 31 db 4294 4271 cmp bx, word [bp-006h] ; 3b 5e fa 4295 jnc short 02 502h ; 73 2b4272 jnc short 024f8h ; 73 2b 4296 4273 movzx cx, byte [bp+00ch] ; 0f b6 4e 0c 4297 4274 mov si, bx ; 89 de … … 4306 4283 mov es, ax ; 8e c0 4307 4284 cld ; fc 4308 jcxz 024f fh ; e3 064285 jcxz 024f5h ; e3 06 4309 4286 push DS ; 1e 4310 4287 mov ds, dx ; 8e da … … 4312 4289 pop DS ; 1f 4313 4290 inc bx ; 43 4314 jmp short 024 d2h ; eb d04315 call 023a bh ; e8 a6 fe4291 jmp short 024c8h ; eb d0 4292 call 023a1h ; e8 a6 fe 4316 4293 cmp byte [bp-002h], 010h ; 80 7e fe 10 4317 jc short 025 12h ; 72 074294 jc short 02508h ; 72 07 4318 4295 movzx ax, byte [bp+00ch] ; 0f b6 46 0c 4319 call 023 e4h ; e8 d2 fe4296 call 023dah ; e8 d2 fe 4320 4297 leave ; c9 4321 4298 pop di ; 5f 4322 4299 pop si ; 5e 4323 4300 retn 00006h ; c2 06 00 4324 biosfn_load_text_8_14_pat_: ; 0xc25 18LB 0x6c4301 biosfn_load_text_8_14_pat_: ; 0xc250e LB 0x6c 4325 4302 push bx ; 53 4326 4303 push cx ; 51 … … 4329 4306 enter 00004h, 000h ; c8 04 00 00 4330 4307 mov byte [bp-002h], al ; 88 46 fe 4331 call 023 82h ; e8 5c fe4308 call 02378h ; e8 5c fe 4332 4309 mov al, dl ; 88 d0 4333 4310 and AL, strict byte 003h ; 24 03 … … 4342 4319 mov word [bp-004h], bx ; 89 5e fc 4343 4320 xor bx, bx ; 31 db 4344 jmp short 025 49h ; eb 064321 jmp short 0253fh ; eb 06 4345 4322 cmp bx, 00100h ; 81 fb 00 01 4346 jnc short 0256 fh ; 73 264323 jnc short 02565h ; 73 26 4347 4324 imul si, bx, strict byte 0000eh ; 6b f3 0e 4348 4325 mov di, bx ; 89 df 4349 4326 sal di, 005h ; c1 e7 05 4350 4327 add di, word [bp-004h] ; 03 7e fc 4351 add si, 05d afh ; 81 c6 af5d4328 add si, 05db2h ; 81 c6 b2 5d 4352 4329 mov cx, strict word 0000eh ; b9 0e 00 4353 4330 mov dx, 0c000h ; ba 00 c0 … … 4355 4332 mov es, ax ; 8e c0 4356 4333 cld ; fc 4357 jcxz 0256 ch ; e3 064334 jcxz 02562h ; e3 06 4358 4335 push DS ; 1e 4359 4336 mov ds, dx ; 8e da … … 4361 4338 pop DS ; 1f 4362 4339 inc bx ; 43 4363 jmp short 025 43h ; eb d44364 call 023a bh ; e8 39 fe4340 jmp short 02539h ; eb d4 4341 call 023a1h ; e8 39 fe 4365 4342 cmp byte [bp-002h], 010h ; 80 7e fe 10 4366 jc short 0257 eh ; 72 064343 jc short 02574h ; 72 06 4367 4344 mov ax, strict word 0000eh ; b8 0e 00 4368 call 023 e4h ; e8 66 fe4345 call 023dah ; e8 66 fe 4369 4346 leave ; c9 4370 4347 pop di ; 5f … … 4373 4350 pop bx ; 5b 4374 4351 retn ; c3 4375 biosfn_load_text_8_8_pat_: ; 0xc25 84LB 0x6e4352 biosfn_load_text_8_8_pat_: ; 0xc257a LB 0x6e 4376 4353 push bx ; 53 4377 4354 push cx ; 51 … … 4380 4357 enter 00004h, 000h ; c8 04 00 00 4381 4358 mov byte [bp-002h], al ; 88 46 fe 4382 call 023 82h ; e8 f0 fd4359 call 02378h ; e8 f0 fd 4383 4360 mov al, dl ; 88 d0 4384 4361 and AL, strict byte 003h ; 24 03 … … 4393 4370 mov word [bp-004h], bx ; 89 5e fc 4394 4371 xor bx, bx ; 31 db 4395 jmp short 025 b5h ; eb 064372 jmp short 025abh ; eb 06 4396 4373 cmp bx, 00100h ; 81 fb 00 01 4397 jnc short 025d dh ; 73 284374 jnc short 025d3h ; 73 28 4398 4375 mov si, bx ; 89 de 4399 4376 sal si, 003h ; c1 e6 03 … … 4401 4378 sal di, 005h ; c1 e7 05 4402 4379 add di, word [bp-004h] ; 03 7e fc 4403 add si, 055 afh ; 81 c6 af554380 add si, 055b2h ; 81 c6 b2 55 4404 4381 mov cx, strict word 00008h ; b9 08 00 4405 4382 mov dx, 0c000h ; ba 00 c0 … … 4407 4384 mov es, ax ; 8e c0 4408 4385 cld ; fc 4409 jcxz 025d ah ; e3 064386 jcxz 025d0h ; e3 06 4410 4387 push DS ; 1e 4411 4388 mov ds, dx ; 8e da … … 4413 4390 pop DS ; 1f 4414 4391 inc bx ; 43 4415 jmp short 025a fh ; eb d24416 call 023a bh ; e8 cb fd4392 jmp short 025a5h ; eb d2 4393 call 023a1h ; e8 cb fd 4417 4394 cmp byte [bp-002h], 010h ; 80 7e fe 10 4418 jc short 025e ch ; 72 064395 jc short 025e2h ; 72 06 4419 4396 mov ax, strict word 00008h ; b8 08 00 4420 call 023 e4h ; e8 f8 fd4397 call 023dah ; e8 f8 fd 4421 4398 leave ; c9 4422 4399 pop di ; 5f … … 4425 4402 pop bx ; 5b 4426 4403 retn ; c3 4427 biosfn_load_text_8_16_pat_: ; 0xc25 f2LB 0x6e4404 biosfn_load_text_8_16_pat_: ; 0xc25e8 LB 0x6e 4428 4405 push bx ; 53 4429 4406 push cx ; 51 … … 4432 4409 enter 00004h, 000h ; c8 04 00 00 4433 4410 mov byte [bp-002h], al ; 88 46 fe 4434 call 023 82h ; e8 82 fd4411 call 02378h ; e8 82 fd 4435 4412 mov al, dl ; 88 d0 4436 4413 and AL, strict byte 003h ; 24 03 … … 4445 4422 mov word [bp-004h], bx ; 89 5e fc 4446 4423 xor bx, bx ; 31 db 4447 jmp short 026 23h ; eb 064424 jmp short 02619h ; eb 06 4448 4425 cmp bx, 00100h ; 81 fb 00 01 4449 jnc short 0264 bh ; 73 284426 jnc short 02641h ; 73 28 4450 4427 mov si, bx ; 89 de 4451 4428 sal si, 004h ; c1 e6 04 … … 4453 4430 sal di, 005h ; c1 e7 05 4454 4431 add di, word [bp-004h] ; 03 7e fc 4455 add si, 06b afh ; 81 c6 af6b4432 add si, 06bb2h ; 81 c6 b2 6b 4456 4433 mov cx, strict word 00010h ; b9 10 00 4457 4434 mov dx, 0c000h ; ba 00 c0 … … 4459 4436 mov es, ax ; 8e c0 4460 4437 cld ; fc 4461 jcxz 026 48h ; e3 064438 jcxz 0263eh ; e3 06 4462 4439 push DS ; 1e 4463 4440 mov ds, dx ; 8e da … … 4465 4442 pop DS ; 1f 4466 4443 inc bx ; 43 4467 jmp short 0261 dh ; eb d24468 call 023a bh ; e8 5d fd4444 jmp short 02613h ; eb d2 4445 call 023a1h ; e8 5d fd 4469 4446 cmp byte [bp-002h], 010h ; 80 7e fe 10 4470 jc short 0265 ah ; 72 064447 jc short 02650h ; 72 06 4471 4448 mov ax, strict word 00010h ; b8 10 00 4472 call 023 e4h ; e8 8a fd4449 call 023dah ; e8 8a fd 4473 4450 leave ; c9 4474 4451 pop di ; 5f … … 4477 4454 pop bx ; 5b 4478 4455 retn ; c3 4479 biosfn_load_gfx_8_8_chars_: ; 0xc26 60LB 0x54456 biosfn_load_gfx_8_8_chars_: ; 0xc2656 LB 0x5 4480 4457 push bp ; 55 4481 4458 mov bp, sp ; 89 e5 4482 4459 pop bp ; 5d 4483 4460 retn ; c3 4484 biosfn_load_gfx_user_chars_: ; 0xc26 65LB 0x74461 biosfn_load_gfx_user_chars_: ; 0xc265b LB 0x7 4485 4462 push bp ; 55 4486 4463 mov bp, sp ; 89 e5 4487 4464 pop bp ; 5d 4488 4465 retn 00002h ; c2 02 00 4489 biosfn_load_gfx_8_14_chars_: ; 0xc266 cLB 0x54466 biosfn_load_gfx_8_14_chars_: ; 0xc2662 LB 0x5 4490 4467 push bp ; 55 4491 4468 mov bp, sp ; 89 e5 4492 4469 pop bp ; 5d 4493 4470 retn ; c3 4494 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 71LB 0x54471 biosfn_load_gfx_8_8_dd_chars_: ; 0xc2667 LB 0x5 4495 4472 push bp ; 55 4496 4473 mov bp, sp ; 89 e5 4497 4474 pop bp ; 5d 4498 4475 retn ; c3 4499 biosfn_load_gfx_8_16_chars_: ; 0xc26 76LB 0x54476 biosfn_load_gfx_8_16_chars_: ; 0xc266c LB 0x5 4500 4477 push bp ; 55 4501 4478 mov bp, sp ; 89 e5 4502 4479 pop bp ; 5d 4503 4480 retn ; c3 4504 biosfn_alternate_prtsc_: ; 0xc267 bLB 0x54481 biosfn_alternate_prtsc_: ; 0xc2671 LB 0x5 4505 4482 push bp ; 55 4506 4483 mov bp, sp ; 89 e5 4507 4484 pop bp ; 5d 4508 4485 retn ; c3 4509 biosfn_switch_video_interface_: ; 0xc26 80LB 0x54486 biosfn_switch_video_interface_: ; 0xc2676 LB 0x5 4510 4487 push bp ; 55 4511 4488 mov bp, sp ; 89 e5 4512 4489 pop bp ; 5d 4513 4490 retn ; c3 4514 biosfn_enable_video_refresh_control_: ; 0xc26 85LB 0x54491 biosfn_enable_video_refresh_control_: ; 0xc267b LB 0x5 4515 4492 push bp ; 55 4516 4493 mov bp, sp ; 89 e5 4517 4494 pop bp ; 5d 4518 4495 retn ; c3 4519 biosfn_write_string_: ; 0xc268 aLB 0x974496 biosfn_write_string_: ; 0xc2680 LB 0x97 4520 4497 push si ; 56 4521 4498 push di ; 57 … … 4529 4506 lea bx, [bp-00ah] ; 8d 5e f6 4530 4507 lea dx, [bp-008h] ; 8d 56 f8 4531 call 00a8ch ; e8 e 2e34508 call 00a8ch ; e8 ec e3 4532 4509 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff 4533 jne short 026 c1h ; 75 114510 jne short 026b7h ; 75 11 4534 4511 mov al, byte [bp-00ah] ; 8a 46 f6 4535 4512 mov byte [bp+00ah], al ; 88 46 0a … … 4543 4520 add dx, ax ; 01 c2 4544 4521 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4545 call 00e4bh ; e8 76e74522 call 00e4bh ; e8 80 e7 4546 4523 dec si ; 4e 4547 4524 cmp si, strict byte 0ffffh ; 83 fe ff 4548 je short 0270 bh ; 74 304525 je short 02701h ; 74 30 4549 4526 mov dx, di ; 89 fa 4550 4527 inc di ; 47 4551 4528 mov ax, word [bp+00ch] ; 8b 46 0c 4552 call 02 f0ah ; e8 26084529 call 02ef4h ; e8 1a 08 4553 4530 mov cl, al ; 88 c1 4554 4531 test byte [bp-006h], 002h ; f6 46 fa 02 4555 je short 026 f8h ; 74 0c4532 je short 026eeh ; 74 0c 4556 4533 mov dx, di ; 89 fa 4557 4534 inc di ; 47 4558 4535 mov ax, word [bp+00ch] ; 8b 46 0c 4559 call 02 f0ah ; e8 15084536 call 02ef4h ; e8 09 08 4560 4537 mov byte [bp-002h], al ; 88 46 fe 4561 4538 movzx bx, byte [bp-002h] ; 0f b6 5e fe … … 4563 4540 movzx ax, cl ; 0f b6 c1 4564 4541 mov cx, strict word 00003h ; b9 03 00 4565 call 02 103h ; e8 fa f94566 jmp short 026 d5h ; eb ca4542 call 020f9h ; e8 fa f9 4543 jmp short 026cbh ; eb ca 4567 4544 test byte [bp-006h], 001h ; f6 46 fa 01 4568 jne short 0271 bh ; 75 0a4545 jne short 02711h ; 75 0a 4569 4546 mov dx, word [bp-00ah] ; 8b 56 f6 4570 4547 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4571 call 00e4bh ; e8 3 0e74548 call 00e4bh ; e8 3a e7 4572 4549 leave ; c9 4573 4550 pop di ; 5f 4574 4551 pop si ; 5e 4575 4552 retn 00008h ; c2 08 00 4576 biosfn_read_state_info_: ; 0xc27 21 LB 0x10a4553 biosfn_read_state_info_: ; 0xc2717 LB 0xfe 4577 4554 push cx ; 51 4578 4555 push si ; 56 … … 4582 4559 push dx ; 52 4583 4560 push bx ; 53 4584 mov bx, 05583h ; bb 83 55 4561 mov cx, ds ; 8c d9 4562 mov bx, 05586h ; bb 86 55 4585 4563 mov dx, word [bp-004h] ; 8b 56 fc 4586 4564 mov ax, word [bp-002h] ; 8b 46 fe 4587 call 02f34h ; e8 ff 07 4588 mov dx, word [bp-004h] ; 8b 56 fc 4589 inc dx ; 42 4590 inc dx ; 42 4591 mov bx, 0c000h ; bb 00 c0 4592 mov ax, word [bp-002h] ; 8b 46 fe 4593 call 02f34h ; e8 f1 07 4565 call 02f3eh ; e8 11 08 4594 4566 mov di, word [bp-004h] ; 8b 7e fc 4595 4567 add di, strict byte 00004h ; 83 c7 04 … … 4599 4571 mov es, [bp-002h] ; 8e 46 fe 4600 4572 cld ; fc 4601 jcxz 027 5eh ; e3 064573 jcxz 02748h ; e3 06 4602 4574 push DS ; 1e 4603 4575 mov ds, dx ; 8e da … … 4611 4583 mov es, [bp-002h] ; 8e 46 fe 4612 4584 cld ; fc 4613 jcxz 027 79h ; e3 064585 jcxz 02763h ; e3 06 4614 4586 push DS ; 1e 4615 4587 mov ds, dx ; 8e da … … 4618 4590 mov dx, 0008ah ; ba 8a 00 4619 4591 mov ax, strict word 00040h ; b8 40 00 4620 call 02 f0ah ; e8 88 074592 call 02ef4h ; e8 88 07 4621 4593 movzx bx, al ; 0f b6 d8 4622 4594 mov dx, word [bp-004h] ; 8b 56 fc 4623 4595 add dx, strict byte 00025h ; 83 c2 25 4624 4596 mov ax, word [bp-002h] ; 8b 46 fe 4625 call 02f 18h ; e8 87 074597 call 02f02h ; e8 87 07 4626 4598 mov dx, word [bp-004h] ; 8b 56 fc 4627 4599 add dx, strict byte 00026h ; 83 c2 26 4628 4600 xor bx, bx ; 31 db 4629 4601 mov ax, word [bp-002h] ; 8b 46 fe 4630 call 02f 18h ; e8 79 074602 call 02f02h ; e8 79 07 4631 4603 mov dx, word [bp-004h] ; 8b 56 fc 4632 4604 add dx, strict byte 00027h ; 83 c2 27 4633 4605 mov bx, strict word 00010h ; bb 10 00 4634 4606 mov ax, word [bp-002h] ; 8b 46 fe 4635 call 02f 18h ; e8 6a 074607 call 02f02h ; e8 6a 07 4636 4608 mov dx, word [bp-004h] ; 8b 56 fc 4637 4609 add dx, strict byte 00028h ; 83 c2 28 4638 4610 xor bx, bx ; 31 db 4639 4611 mov ax, word [bp-002h] ; 8b 46 fe 4640 call 02f 18h ; e8 5c 074612 call 02f02h ; e8 5c 07 4641 4613 mov dx, word [bp-004h] ; 8b 56 fc 4642 4614 add dx, strict byte 00029h ; 83 c2 29 4643 4615 mov bx, strict word 00008h ; bb 08 00 4644 4616 mov ax, word [bp-002h] ; 8b 46 fe 4645 call 02f 18h ; e8 4d 074617 call 02f02h ; e8 4d 07 4646 4618 mov dx, word [bp-004h] ; 8b 56 fc 4647 4619 add dx, strict byte 0002ah ; 83 c2 2a 4648 4620 mov bx, strict word 00002h ; bb 02 00 4649 4621 mov ax, word [bp-002h] ; 8b 46 fe 4650 call 02f 18h ; e8 3e 074622 call 02f02h ; e8 3e 07 4651 4623 mov dx, word [bp-004h] ; 8b 56 fc 4652 4624 add dx, strict byte 0002bh ; 83 c2 2b 4653 4625 xor bx, bx ; 31 db 4654 4626 mov ax, word [bp-002h] ; 8b 46 fe 4655 call 02f 18h ; e8 30 074627 call 02f02h ; e8 30 07 4656 4628 mov dx, word [bp-004h] ; 8b 56 fc 4657 4629 add dx, strict byte 0002ch ; 83 c2 2c 4658 4630 xor bx, bx ; 31 db 4659 4631 mov ax, word [bp-002h] ; 8b 46 fe 4660 call 02f 18h ; e8 22 074632 call 02f02h ; e8 22 07 4661 4633 mov dx, word [bp-004h] ; 8b 56 fc 4662 4634 add dx, strict byte 00031h ; 83 c2 31 4663 4635 mov bx, strict word 00003h ; bb 03 00 4664 4636 mov ax, word [bp-002h] ; 8b 46 fe 4665 call 02f 18h ; e8 13 074637 call 02f02h ; e8 13 07 4666 4638 mov dx, word [bp-004h] ; 8b 56 fc 4667 4639 add dx, strict byte 00032h ; 83 c2 32 4668 4640 xor bx, bx ; 31 db 4669 4641 mov ax, word [bp-002h] ; 8b 46 fe 4670 call 02f 18h ; e8 05 074642 call 02f02h ; e8 05 07 4671 4643 mov di, word [bp-004h] ; 8b 7e fc 4672 4644 add di, strict byte 00033h ; 83 c7 33 … … 4675 4647 mov es, [bp-002h] ; 8e 46 fe 4676 4648 cld ; fc 4677 jcxz 028 26h ; e3 024649 jcxz 02810h ; e3 02 4678 4650 rep stosb ; f3 aa 4679 4651 leave ; c9 … … 4682 4654 pop cx ; 59 4683 4655 retn ; c3 4684 biosfn_read_video_state_size2_: ; 0xc28 2bLB 0x234656 biosfn_read_video_state_size2_: ; 0xc2815 LB 0x23 4685 4657 push dx ; 52 4686 4658 push bp ; 55 … … 4689 4661 xor ax, ax ; 31 c0 4690 4662 test dl, 001h ; f6 c2 01 4691 je short 028 3bh ; 74 034663 je short 02825h ; 74 03 4692 4664 mov ax, strict word 00046h ; b8 46 00 4693 4665 test dl, 002h ; f6 c2 02 4694 je short 028 43h ; 74 034666 je short 0282dh ; 74 03 4695 4667 add ax, strict word 0002ah ; 05 2a 00 4696 4668 test dl, 004h ; f6 c2 04 4697 je short 028 4bh ; 74 034669 je short 02835h ; 74 03 4698 4670 add ax, 00304h ; 05 04 03 4699 4671 pop bp ; 5d 4700 4672 pop dx ; 5a 4701 4673 retn ; c3 4702 vga_get_video_state_size_: ; 0xc28 4eLB 0xf4674 vga_get_video_state_size_: ; 0xc2838 LB 0xf 4703 4675 push bx ; 53 4704 4676 push bp ; 55 4705 4677 mov bp, sp ; 89 e5 4706 4678 mov bx, dx ; 89 d3 4707 call 028 2bh ; e8 d4 ff4679 call 02815h ; e8 d4 ff 4708 4680 mov word [ss:bx], ax ; 36 89 07 4709 4681 pop bp ; 5d 4710 4682 pop bx ; 5b 4711 4683 retn ; c3 4712 biosfn_save_video_state_: ; 0xc28 5dLB 0x3654684 biosfn_save_video_state_: ; 0xc2847 LB 0x365 4713 4685 push cx ; 51 4714 4686 push si ; 56 … … 4720 4692 mov dx, strict word 00063h ; ba 63 00 4721 4693 mov ax, strict word 00040h ; b8 40 00 4722 call 02f 26h ; e8 b4 064694 call 02f10h ; e8 b4 06 4723 4695 mov di, ax ; 89 c7 4724 4696 test byte [bp-006h], 001h ; f6 46 fa 01 4725 je near 029 dfh ; 0f 84 63 014697 je near 029c9h ; 0f 84 63 01 4726 4698 mov dx, 003c4h ; ba c4 03 4727 4699 in AL, DX ; ec … … 4731 4703 mov dx, cx ; 89 ca 4732 4704 mov ax, si ; 89 f0 4733 call 02f 18h ; e8 8c 064705 call 02f02h ; e8 8c 06 4734 4706 inc cx ; 41 4735 4707 mov dx, di ; 89 fa … … 4740 4712 mov dx, cx ; 89 ca 4741 4713 mov ax, si ; 89 f0 4742 call 02f 18h ; e8 7c 064714 call 02f02h ; e8 7c 06 4743 4715 inc cx ; 41 4744 4716 mov dx, 003ceh ; ba ce 03 … … 4749 4721 mov dx, cx ; 89 ca 4750 4722 mov ax, si ; 89 f0 4751 call 02f 18h ; e8 6b 064723 call 02f02h ; e8 6b 06 4752 4724 inc cx ; 41 4753 4725 mov dx, 003dah ; ba da 03 … … 4763 4735 mov dx, cx ; 89 ca 4764 4736 mov ax, si ; 89 f0 4765 call 02f 18h ; e8 50 064737 call 02f02h ; e8 50 06 4766 4738 inc cx ; 41 4767 4739 mov dx, 003cah ; ba ca 03 … … 4772 4744 mov dx, cx ; 89 ca 4773 4745 mov ax, si ; 89 f0 4774 call 02f 18h ; e8 3f 064746 call 02f02h ; e8 3f 06 4775 4747 mov ax, strict word 00001h ; b8 01 00 4776 4748 mov word [bp-004h], ax ; 89 46 fc 4777 4749 add cx, ax ; 01 c1 4778 jmp short 028 e9h ; eb 064750 jmp short 028d3h ; eb 06 4779 4751 cmp word [bp-004h], strict byte 00004h ; 83 7e fc 04 4780 jnbe short 02 906h ; 77 1d4752 jnbe short 028f0h ; 77 1d 4781 4753 mov al, byte [bp-004h] ; 8a 46 fc 4782 4754 mov dx, 003c4h ; ba c4 03 … … 4789 4761 mov dx, cx ; 89 ca 4790 4762 mov ax, si ; 89 f0 4791 call 02f 18h ; e8 18 064763 call 02f02h ; e8 18 06 4792 4764 inc cx ; 41 4793 4765 inc word [bp-004h] ; ff 46 fc 4794 jmp short 028 e3h ; eb dd4766 jmp short 028cdh ; eb dd 4795 4767 xor al, al ; 30 c0 4796 4768 mov dx, 003c4h ; ba c4 03 … … 4803 4775 mov dx, cx ; 89 ca 4804 4776 mov ax, si ; 89 f0 4805 call 02f 18h ; e8 fc 054777 call 02f02h ; e8 fc 05 4806 4778 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4807 4779 inc cx ; 41 4808 jmp short 029 2ah ; eb 064780 jmp short 02914h ; eb 06 4809 4781 cmp word [bp-004h], strict byte 00018h ; 83 7e fc 18 4810 jnbe short 029 46h ; 77 1c4782 jnbe short 02930h ; 77 1c 4811 4783 mov al, byte [bp-004h] ; 8a 46 fc 4812 4784 mov dx, di ; 89 fa … … 4819 4791 mov dx, cx ; 89 ca 4820 4792 mov ax, si ; 89 f0 4821 call 02f 18h ; e8 d8 054793 call 02f02h ; e8 d8 05 4822 4794 inc cx ; 41 4823 4795 inc word [bp-004h] ; ff 46 fc 4824 jmp short 029 24h ; eb de4796 jmp short 0290eh ; eb de 4825 4797 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4826 jmp short 029 53h ; eb 064798 jmp short 0293dh ; eb 06 4827 4799 cmp word [bp-004h], strict byte 00013h ; 83 7e fc 13 4828 jnbe short 029 7ch ; 77 294800 jnbe short 02966h ; 77 29 4829 4801 mov dx, 003dah ; ba da 03 4830 4802 in AL, DX ; ec … … 4843 4815 mov dx, cx ; 89 ca 4844 4816 mov ax, si ; 89 f0 4845 call 02f 18h ; e8 a2 054817 call 02f02h ; e8 a2 05 4846 4818 inc cx ; 41 4847 4819 inc word [bp-004h] ; ff 46 fc 4848 jmp short 029 4dh ; eb d14820 jmp short 02937h ; eb d1 4849 4821 mov dx, 003dah ; ba da 03 4850 4822 in AL, DX ; ec … … 4852 4824 ; sub ah, ah ; 2a e4 4853 4825 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4854 jmp short 029 8fh ; eb 064826 jmp short 02979h ; eb 06 4855 4827 cmp word [bp-004h], strict byte 00008h ; 83 7e fc 08 4856 jnbe short 029 ach ; 77 1d4828 jnbe short 02996h ; 77 1d 4857 4829 mov al, byte [bp-004h] ; 8a 46 fc 4858 4830 mov dx, 003ceh ; ba ce 03 … … 4865 4837 mov dx, cx ; 89 ca 4866 4838 mov ax, si ; 89 f0 4867 call 02f 18h ; e8 72 054839 call 02f02h ; e8 72 05 4868 4840 inc cx ; 41 4869 4841 inc word [bp-004h] ; ff 46 fc 4870 jmp short 029 89h ; eb dd4842 jmp short 02973h ; eb dd 4871 4843 mov bx, di ; 89 fb 4872 4844 mov dx, cx ; 89 ca 4873 4845 mov ax, si ; 89 f0 4874 call 02f 34h ; e8 7f 054846 call 02f1eh ; e8 7f 05 4875 4847 inc cx ; 41 4876 4848 inc cx ; 41 … … 4878 4850 mov dx, cx ; 89 ca 4879 4851 mov ax, si ; 89 f0 4880 call 02f 18h ; e8 58 054852 call 02f02h ; e8 58 05 4881 4853 inc cx ; 41 4882 4854 xor bx, bx ; 31 db 4883 4855 mov dx, cx ; 89 ca 4884 4856 mov ax, si ; 89 f0 4885 call 02f 18h ; e8 4e 054857 call 02f02h ; e8 4e 05 4886 4858 inc cx ; 41 4887 4859 xor bx, bx ; 31 db 4888 4860 mov dx, cx ; 89 ca 4889 4861 mov ax, si ; 89 f0 4890 call 02f 18h ; e8 44 054862 call 02f02h ; e8 44 05 4891 4863 inc cx ; 41 4892 4864 xor bx, bx ; 31 db 4893 4865 mov dx, cx ; 89 ca 4894 4866 mov ax, si ; 89 f0 4895 call 02f 18h ; e8 3a 054867 call 02f02h ; e8 3a 05 4896 4868 inc cx ; 41 4897 4869 test byte [bp-006h], 002h ; f6 46 fa 02 4898 je near 02b 4eh ; 0f 84 67 014870 je near 02b38h ; 0f 84 67 01 4899 4871 mov dx, strict word 00049h ; ba 49 00 4900 4872 mov ax, strict word 00040h ; b8 40 00 4901 call 02 f0ah ; e8 1a 054873 call 02ef4h ; e8 1a 05 4902 4874 movzx bx, al ; 0f b6 d8 4903 4875 mov dx, cx ; 89 ca 4904 4876 mov ax, si ; 89 f0 4905 call 02f 18h ; e8 1e 054877 call 02f02h ; e8 1e 05 4906 4878 inc cx ; 41 4907 4879 mov dx, strict word 0004ah ; ba 4a 00 4908 4880 mov ax, strict word 00040h ; b8 40 00 4909 call 02f 26h ; e8 22 054881 call 02f10h ; e8 22 05 4910 4882 mov bx, ax ; 89 c3 4911 4883 mov dx, cx ; 89 ca 4912 4884 mov ax, si ; 89 f0 4913 call 02f 34h ; e8 27 054885 call 02f1eh ; e8 27 05 4914 4886 inc cx ; 41 4915 4887 inc cx ; 41 4916 4888 mov dx, strict word 0004ch ; ba 4c 00 4917 4889 mov ax, strict word 00040h ; b8 40 00 4918 call 02f 26h ; e8 0e 054890 call 02f10h ; e8 0e 05 4919 4891 mov bx, ax ; 89 c3 4920 4892 mov dx, cx ; 89 ca 4921 4893 mov ax, si ; 89 f0 4922 call 02f 34h ; e8 13 054894 call 02f1eh ; e8 13 05 4923 4895 inc cx ; 41 4924 4896 inc cx ; 41 4925 4897 mov dx, strict word 00063h ; ba 63 00 4926 4898 mov ax, strict word 00040h ; b8 40 00 4927 call 02f 26h ; e8 fa 044899 call 02f10h ; e8 fa 04 4928 4900 mov bx, ax ; 89 c3 4929 4901 mov dx, cx ; 89 ca 4930 4902 mov ax, si ; 89 f0 4931 call 02f 34h ; e8 ff 044903 call 02f1eh ; e8 ff 04 4932 4904 inc cx ; 41 4933 4905 inc cx ; 41 4934 4906 mov dx, 00084h ; ba 84 00 4935 4907 mov ax, strict word 00040h ; b8 40 00 4936 call 02 f0ah ; e8 ca 044908 call 02ef4h ; e8 ca 04 4937 4909 movzx bx, al ; 0f b6 d8 4938 4910 mov dx, cx ; 89 ca 4939 4911 mov ax, si ; 89 f0 4940 call 02f 18h ; e8 ce 044912 call 02f02h ; e8 ce 04 4941 4913 inc cx ; 41 4942 4914 mov dx, 00085h ; ba 85 00 4943 4915 mov ax, strict word 00040h ; b8 40 00 4944 call 02f 26h ; e8 d2 044916 call 02f10h ; e8 d2 04 4945 4917 mov bx, ax ; 89 c3 4946 4918 mov dx, cx ; 89 ca 4947 4919 mov ax, si ; 89 f0 4948 call 02f 34h ; e8 d7 044920 call 02f1eh ; e8 d7 04 4949 4921 inc cx ; 41 4950 4922 inc cx ; 41 4951 4923 mov dx, 00087h ; ba 87 00 4952 4924 mov ax, strict word 00040h ; b8 40 00 4953 call 02 f0ah ; e8 a2 044925 call 02ef4h ; e8 a2 04 4954 4926 movzx bx, al ; 0f b6 d8 4955 4927 mov dx, cx ; 89 ca 4956 4928 mov ax, si ; 89 f0 4957 call 02f 18h ; e8 a6 044929 call 02f02h ; e8 a6 04 4958 4930 inc cx ; 41 4959 4931 mov dx, 00088h ; ba 88 00 4960 4932 mov ax, strict word 00040h ; b8 40 00 4961 call 02 f0ah ; e8 8e 044933 call 02ef4h ; e8 8e 04 4962 4934 movzx bx, al ; 0f b6 d8 4963 4935 mov dx, cx ; 89 ca 4964 4936 mov ax, si ; 89 f0 4965 call 02f 18h ; e8 92 044937 call 02f02h ; e8 92 04 4966 4938 inc cx ; 41 4967 4939 mov dx, 00089h ; ba 89 00 4968 4940 mov ax, strict word 00040h ; b8 40 00 4969 call 02 f0ah ; e8 7a 044941 call 02ef4h ; e8 7a 04 4970 4942 movzx bx, al ; 0f b6 d8 4971 4943 mov dx, cx ; 89 ca 4972 4944 mov ax, si ; 89 f0 4973 call 02f 18h ; e8 7e 044945 call 02f02h ; e8 7e 04 4974 4946 inc cx ; 41 4975 4947 mov dx, strict word 00060h ; ba 60 00 4976 4948 mov ax, strict word 00040h ; b8 40 00 4977 call 02f 26h ; e8 82 044949 call 02f10h ; e8 82 04 4978 4950 mov bx, ax ; 89 c3 4979 4951 mov dx, cx ; 89 ca 4980 4952 mov ax, si ; 89 f0 4981 call 02f 34h ; e8 87 044953 call 02f1eh ; e8 87 04 4982 4954 mov word [bp-004h], strict word 00000h ; c7 46 fc 00 00 4983 4955 inc cx ; 41 4984 4956 inc cx ; 41 4985 jmp short 02a bch ; eb 064957 jmp short 02aa6h ; eb 06 4986 4958 cmp word [bp-004h], strict byte 00008h ; 83 7e fc 08 4987 jnc short 02a dah ; 73 1e4959 jnc short 02ac4h ; 73 1e 4988 4960 mov dx, word [bp-004h] ; 8b 56 fc 4989 4961 add dx, dx ; 01 d2 4990 4962 add dx, strict byte 00050h ; 83 c2 50 4991 4963 mov ax, strict word 00040h ; b8 40 00 4992 call 02f 26h ; e8 5c 044964 call 02f10h ; e8 5c 04 4993 4965 mov bx, ax ; 89 c3 4994 4966 mov dx, cx ; 89 ca 4995 4967 mov ax, si ; 89 f0 4996 call 02f 34h ; e8 61 044968 call 02f1eh ; e8 61 04 4997 4969 inc cx ; 41 4998 4970 inc cx ; 41 4999 4971 inc word [bp-004h] ; ff 46 fc 5000 jmp short 02a b6h ; eb dc4972 jmp short 02aa0h ; eb dc 5001 4973 mov dx, strict word 0004eh ; ba 4e 00 5002 4974 mov ax, strict word 00040h ; b8 40 00 5003 call 02f 26h ; e8 43 044975 call 02f10h ; e8 43 04 5004 4976 mov bx, ax ; 89 c3 5005 4977 mov dx, cx ; 89 ca 5006 4978 mov ax, si ; 89 f0 5007 call 02f 34h ; e8 48 044979 call 02f1eh ; e8 48 04 5008 4980 inc cx ; 41 5009 4981 inc cx ; 41 5010 4982 mov dx, strict word 00062h ; ba 62 00 5011 4983 mov ax, strict word 00040h ; b8 40 00 5012 call 02 f0ah ; e8 13 044984 call 02ef4h ; e8 13 04 5013 4985 movzx bx, al ; 0f b6 d8 5014 4986 mov dx, cx ; 89 ca 5015 4987 mov ax, si ; 89 f0 5016 call 02f 18h ; e8 17 044988 call 02f02h ; e8 17 04 5017 4989 inc cx ; 41 5018 4990 mov dx, strict word 0007ch ; ba 7c 00 5019 4991 xor ax, ax ; 31 c0 5020 call 02f 26h ; e8 1c 044992 call 02f10h ; e8 1c 04 5021 4993 mov bx, ax ; 89 c3 5022 4994 mov dx, cx ; 89 ca 5023 4995 mov ax, si ; 89 f0 5024 call 02f 34h ; e8 21 044996 call 02f1eh ; e8 21 04 5025 4997 inc cx ; 41 5026 4998 inc cx ; 41 5027 4999 mov dx, strict word 0007eh ; ba 7e 00 5028 5000 xor ax, ax ; 31 c0 5029 call 02f 26h ; e8 09 045001 call 02f10h ; e8 09 04 5030 5002 mov bx, ax ; 89 c3 5031 5003 mov dx, cx ; 89 ca 5032 5004 mov ax, si ; 89 f0 5033 call 02f 34h ; e8 0e 045005 call 02f1eh ; e8 0e 04 5034 5006 inc cx ; 41 5035 5007 inc cx ; 41 5036 5008 mov dx, 0010ch ; ba 0c 01 5037 5009 xor ax, ax ; 31 c0 5038 call 02f 26h ; e8 f6 035010 call 02f10h ; e8 f6 03 5039 5011 mov bx, ax ; 89 c3 5040 5012 mov dx, cx ; 89 ca 5041 5013 mov ax, si ; 89 f0 5042 call 02f 34h ; e8 fb 035014 call 02f1eh ; e8 fb 03 5043 5015 inc cx ; 41 5044 5016 inc cx ; 41 5045 5017 mov dx, 0010eh ; ba 0e 01 5046 5018 xor ax, ax ; 31 c0 5047 call 02f 26h ; e8 e3 035019 call 02f10h ; e8 e3 03 5048 5020 mov bx, ax ; 89 c3 5049 5021 mov dx, cx ; 89 ca 5050 5022 mov ax, si ; 89 f0 5051 call 02f 34h ; e8 e8 035023 call 02f1eh ; e8 e8 03 5052 5024 inc cx ; 41 5053 5025 inc cx ; 41 5054 5026 test byte [bp-006h], 004h ; f6 46 fa 04 5055 je short 02b bbh ; 74 675027 je short 02ba5h ; 74 67 5056 5028 mov dx, 003c7h ; ba c7 03 5057 5029 in AL, DX ; ec … … 5061 5033 mov dx, cx ; 89 ca 5062 5034 mov ax, si ; 89 f0 5063 call 02f 18h ; e8 b4 035035 call 02f02h ; e8 b4 03 5064 5036 inc cx ; 41 5065 5037 mov dx, 003c8h ; ba c8 03 … … 5070 5042 mov dx, cx ; 89 ca 5071 5043 mov ax, si ; 89 f0 5072 call 02f 18h ; e8 a3 035044 call 02f02h ; e8 a3 03 5073 5045 inc cx ; 41 5074 5046 mov dx, 003c6h ; ba c6 03 … … 5079 5051 mov dx, cx ; 89 ca 5080 5052 mov ax, si ; 89 f0 5081 call 02f 18h ; e8 92 035053 call 02f02h ; e8 92 03 5082 5054 inc cx ; 41 5083 5055 xor al, al ; 30 c0 … … 5086 5058 xor ah, ah ; 30 e4 5087 5059 mov word [bp-004h], ax ; 89 46 fc 5088 jmp short 02b 9bh ; eb 075060 jmp short 02b85h ; eb 07 5089 5061 cmp word [bp-004h], 00300h ; 81 7e fc 00 03 5090 jnc short 02b b1h ; 73 165062 jnc short 02b9bh ; 73 16 5091 5063 mov dx, 003c9h ; ba c9 03 5092 5064 in AL, DX ; ec … … 5096 5068 mov dx, cx ; 89 ca 5097 5069 mov ax, si ; 89 f0 5098 call 02f 18h ; e8 6d 035070 call 02f02h ; e8 6d 03 5099 5071 inc cx ; 41 5100 5072 inc word [bp-004h] ; ff 46 fc 5101 jmp short 02b 94h ; eb e35073 jmp short 02b7eh ; eb e3 5102 5074 xor bx, bx ; 31 db 5103 5075 mov dx, cx ; 89 ca 5104 5076 mov ax, si ; 89 f0 5105 call 02f 18h ; e8 5e 035077 call 02f02h ; e8 5e 03 5106 5078 inc cx ; 41 5107 5079 mov ax, cx ; 89 c8 … … 5111 5083 pop cx ; 59 5112 5084 retn ; c3 5113 biosfn_restore_video_state_: ; 0xc2b c2LB 0x3215085 biosfn_restore_video_state_: ; 0xc2bac LB 0x321 5114 5086 push cx ; 51 5115 5087 push si ; 56 … … 5120 5092 mov cx, bx ; 89 d9 5121 5093 test byte [bp-008h], 001h ; f6 46 f8 01 5122 je near 02d 20h ; 0f 84 4a 015094 je near 02d0ah ; 0f 84 4a 01 5123 5095 mov dx, 003dah ; ba da 03 5124 5096 in AL, DX ; ec … … 5127 5099 lea dx, [bx+040h] ; 8d 57 40 5128 5100 mov ax, si ; 89 f0 5129 call 02f 26h ; e8 42 035101 call 02f10h ; e8 42 03 5130 5102 mov di, ax ; 89 c7 5131 5103 mov word [bp-002h], strict word 00001h ; c7 46 fe 01 00 5132 5104 lea cx, [bx+005h] ; 8d 4f 05 5133 jmp short 02b f6h ; eb 065105 jmp short 02be0h ; eb 06 5134 5106 cmp word [bp-002h], strict byte 00004h ; 83 7e fe 04 5135 jnbe short 02 c0eh ; 77 185107 jnbe short 02bf8h ; 77 18 5136 5108 mov al, byte [bp-002h] ; 8a 46 fe 5137 5109 mov dx, 003c4h ; ba c4 03 … … 5139 5111 mov dx, cx ; 89 ca 5140 5112 mov ax, si ; 89 f0 5141 call 02 f0ah ; e8 06 035113 call 02ef4h ; e8 06 03 5142 5114 mov dx, 003c5h ; ba c5 03 5143 5115 out DX, AL ; ee 5144 5116 inc cx ; 41 5145 5117 inc word [bp-002h] ; ff 46 fe 5146 jmp short 02b f0h ; eb e25118 jmp short 02bdah ; eb e2 5147 5119 xor al, al ; 30 c0 5148 5120 mov dx, 003c4h ; ba c4 03 … … 5150 5122 mov dx, cx ; 89 ca 5151 5123 mov ax, si ; 89 f0 5152 call 02 f0ah ; e8 ef 025124 call 02ef4h ; e8 ef 02 5153 5125 mov dx, 003c5h ; ba c5 03 5154 5126 out DX, AL ; ee … … 5158 5130 out DX, ax ; ef 5159 5131 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5160 jmp short 02c 33h ; eb 065132 jmp short 02c1dh ; eb 06 5161 5133 cmp word [bp-002h], strict byte 00018h ; 83 7e fe 18 5162 jnbe short 02c 50h ; 77 1d5134 jnbe short 02c3ah ; 77 1d 5163 5135 cmp word [bp-002h], strict byte 00011h ; 83 7e fe 11 5164 je short 02c 4ah ; 74 115136 je short 02c34h ; 74 11 5165 5137 mov al, byte [bp-002h] ; 8a 46 fe 5166 5138 mov dx, di ; 89 fa … … 5168 5140 mov dx, cx ; 89 ca 5169 5141 mov ax, si ; 89 f0 5170 call 02 f0ah ; e8 c4 025142 call 02ef4h ; e8 c4 02 5171 5143 lea dx, [di+001h] ; 8d 55 01 5172 5144 out DX, AL ; ee 5173 5145 inc cx ; 41 5174 5146 inc word [bp-002h] ; ff 46 fe 5175 jmp short 02c 2dh ; eb dd5147 jmp short 02c17h ; eb dd 5176 5148 mov dx, 003cch ; ba cc 03 5177 5149 in AL, DX ; ec … … 5181 5153 mov word [bp-004h], ax ; 89 46 fc 5182 5154 cmp di, 003d4h ; 81 ff d4 03 5183 jne short 02c 65h ; 75 045155 jne short 02c4fh ; 75 04 5184 5156 or byte [bp-004h], 001h ; 80 4e fc 01 5185 5157 mov al, byte [bp-004h] ; 8a 46 fc … … 5192 5164 add dx, strict byte 0fff9h ; 83 c2 f9 5193 5165 mov ax, si ; 89 f0 5194 call 02 f0ah ; e8 8f 025166 call 02ef4h ; e8 8f 02 5195 5167 lea dx, [di+001h] ; 8d 55 01 5196 5168 out DX, AL ; ee 5197 5169 lea dx, [bx+003h] ; 8d 57 03 5198 5170 mov ax, si ; 89 f0 5199 call 02 f0ah ; e8 83 025171 call 02ef4h ; e8 83 02 5200 5172 xor ah, ah ; 30 e4 5201 5173 mov word [bp-006h], ax ; 89 46 fa … … 5205 5177 ; sub ah, ah ; 2a e4 5206 5178 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5207 jmp short 02c 9fh ; eb 065179 jmp short 02c89h ; eb 06 5208 5180 cmp word [bp-002h], strict byte 00013h ; 83 7e fe 13 5209 jnbe short 02c bdh ; 77 1e5181 jnbe short 02ca7h ; 77 1e 5210 5182 mov ax, word [bp-006h] ; 8b 46 fa 5211 5183 and ax, strict word 00020h ; 25 20 00 … … 5215 5187 mov dx, cx ; 89 ca 5216 5188 mov ax, si ; 89 f0 5217 call 02 f0ah ; e8 57 025189 call 02ef4h ; e8 57 02 5218 5190 mov dx, 003c0h ; ba c0 03 5219 5191 out DX, AL ; ee 5220 5192 inc cx ; 41 5221 5193 inc word [bp-002h] ; ff 46 fe 5222 jmp short 02c 99h ; eb dc5194 jmp short 02c83h ; eb dc 5223 5195 mov al, byte [bp-006h] ; 8a 46 fa 5224 5196 mov dx, 003c0h ; ba c0 03 … … 5229 5201 ; sub ah, ah ; 2a e4 5230 5202 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5231 jmp short 02c d7h ; eb 065203 jmp short 02cc1h ; eb 06 5232 5204 cmp word [bp-002h], strict byte 00008h ; 83 7e fe 08 5233 jnbe short 02c efh ; 77 185205 jnbe short 02cd9h ; 77 18 5234 5206 mov al, byte [bp-002h] ; 8a 46 fe 5235 5207 mov dx, 003ceh ; ba ce 03 … … 5237 5209 mov dx, cx ; 89 ca 5238 5210 mov ax, si ; 89 f0 5239 call 02 f0ah ; e8 25 025211 call 02ef4h ; e8 25 02 5240 5212 mov dx, 003cfh ; ba cf 03 5241 5213 out DX, AL ; ee 5242 5214 inc cx ; 41 5243 5215 inc word [bp-002h] ; ff 46 fe 5244 jmp short 02c d1h ; eb e25216 jmp short 02cbbh ; eb e2 5245 5217 add cx, strict byte 00006h ; 83 c1 06 5246 5218 mov dx, bx ; 89 da 5247 5219 mov ax, si ; 89 f0 5248 call 02 f0ah ; e8 11 025220 call 02ef4h ; e8 11 02 5249 5221 mov dx, 003c4h ; ba c4 03 5250 5222 out DX, AL ; ee … … 5252 5224 mov dx, bx ; 89 da 5253 5225 mov ax, si ; 89 f0 5254 call 02 f0ah ; e8 05 025226 call 02ef4h ; e8 05 02 5255 5227 mov dx, di ; 89 fa 5256 5228 out DX, AL ; ee … … 5258 5230 mov dx, bx ; 89 da 5259 5231 mov ax, si ; 89 f0 5260 call 02 f0ah ; e8 fa 015232 call 02ef4h ; e8 fa 01 5261 5233 mov dx, 003ceh ; ba ce 03 5262 5234 out DX, AL ; ee 5263 5235 lea dx, [bx+002h] ; 8d 57 02 5264 5236 mov ax, si ; 89 f0 5265 call 02 f0ah ; e8 ee 015237 call 02ef4h ; e8 ee 01 5266 5238 lea dx, [di+006h] ; 8d 55 06 5267 5239 out DX, AL ; ee 5268 5240 test byte [bp-008h], 002h ; f6 46 f8 02 5269 je near 02e 8fh ; 0f 84 67 015270 mov dx, cx ; 89 ca 5271 mov ax, si ; 89 f0 5272 call 02 f0ah ; e8 db 015241 je near 02e79h ; 0f 84 67 01 5242 mov dx, cx ; 89 ca 5243 mov ax, si ; 89 f0 5244 call 02ef4h ; e8 db 01 5273 5245 movzx bx, al ; 0f b6 d8 5274 5246 mov dx, strict word 00049h ; ba 49 00 5275 5247 mov ax, strict word 00040h ; b8 40 00 5276 call 02f 18h ; e8 dd 015277 inc cx ; 41 5278 mov dx, cx ; 89 ca 5279 mov ax, si ; 89 f0 5280 call 02f 26h ; e8 e3 015248 call 02f02h ; e8 dd 01 5249 inc cx ; 41 5250 mov dx, cx ; 89 ca 5251 mov ax, si ; 89 f0 5252 call 02f10h ; e8 e3 01 5281 5253 mov bx, ax ; 89 c3 5282 5254 mov dx, strict word 0004ah ; ba 4a 00 5283 5255 mov ax, strict word 00040h ; b8 40 00 5284 call 02f 34h ; e8 e6 015285 inc cx ; 41 5286 inc cx ; 41 5287 mov dx, cx ; 89 ca 5288 mov ax, si ; 89 f0 5289 call 02f 26h ; e8 cf 015256 call 02f1eh ; e8 e6 01 5257 inc cx ; 41 5258 inc cx ; 41 5259 mov dx, cx ; 89 ca 5260 mov ax, si ; 89 f0 5261 call 02f10h ; e8 cf 01 5290 5262 mov bx, ax ; 89 c3 5291 5263 mov dx, strict word 0004ch ; ba 4c 00 5292 5264 mov ax, strict word 00040h ; b8 40 00 5293 call 02f 34h ; e8 d2 015294 inc cx ; 41 5295 inc cx ; 41 5296 mov dx, cx ; 89 ca 5297 mov ax, si ; 89 f0 5298 call 02f 26h ; e8 bb 015265 call 02f1eh ; e8 d2 01 5266 inc cx ; 41 5267 inc cx ; 41 5268 mov dx, cx ; 89 ca 5269 mov ax, si ; 89 f0 5270 call 02f10h ; e8 bb 01 5299 5271 mov bx, ax ; 89 c3 5300 5272 mov dx, strict word 00063h ; ba 63 00 5301 5273 mov ax, strict word 00040h ; b8 40 00 5302 call 02f 34h ; e8 be 015303 inc cx ; 41 5304 inc cx ; 41 5305 mov dx, cx ; 89 ca 5306 mov ax, si ; 89 f0 5307 call 02 f0ah ; e8 8b 015274 call 02f1eh ; e8 be 01 5275 inc cx ; 41 5276 inc cx ; 41 5277 mov dx, cx ; 89 ca 5278 mov ax, si ; 89 f0 5279 call 02ef4h ; e8 8b 01 5308 5280 movzx bx, al ; 0f b6 d8 5309 5281 mov dx, 00084h ; ba 84 00 5310 5282 mov ax, strict word 00040h ; b8 40 00 5311 call 02f 18h ; e8 8d 015312 inc cx ; 41 5313 mov dx, cx ; 89 ca 5314 mov ax, si ; 89 f0 5315 call 02f 26h ; e8 93 015283 call 02f02h ; e8 8d 01 5284 inc cx ; 41 5285 mov dx, cx ; 89 ca 5286 mov ax, si ; 89 f0 5287 call 02f10h ; e8 93 01 5316 5288 mov bx, ax ; 89 c3 5317 5289 mov dx, 00085h ; ba 85 00 5318 5290 mov ax, strict word 00040h ; b8 40 00 5319 call 02f 34h ; e8 96 015320 inc cx ; 41 5321 inc cx ; 41 5322 mov dx, cx ; 89 ca 5323 mov ax, si ; 89 f0 5324 call 02 f0ah ; e8 63 015291 call 02f1eh ; e8 96 01 5292 inc cx ; 41 5293 inc cx ; 41 5294 mov dx, cx ; 89 ca 5295 mov ax, si ; 89 f0 5296 call 02ef4h ; e8 63 01 5325 5297 movzx bx, al ; 0f b6 d8 5326 5298 mov dx, 00087h ; ba 87 00 5327 5299 mov ax, strict word 00040h ; b8 40 00 5328 call 02f 18h ; e8 65 015329 inc cx ; 41 5330 mov dx, cx ; 89 ca 5331 mov ax, si ; 89 f0 5332 call 02 f0ah ; e8 4f 015300 call 02f02h ; e8 65 01 5301 inc cx ; 41 5302 mov dx, cx ; 89 ca 5303 mov ax, si ; 89 f0 5304 call 02ef4h ; e8 4f 01 5333 5305 movzx bx, al ; 0f b6 d8 5334 5306 mov dx, 00088h ; ba 88 00 5335 5307 mov ax, strict word 00040h ; b8 40 00 5336 call 02f 18h ; e8 51 015337 inc cx ; 41 5338 mov dx, cx ; 89 ca 5339 mov ax, si ; 89 f0 5340 call 02 f0ah ; e8 3b 015308 call 02f02h ; e8 51 01 5309 inc cx ; 41 5310 mov dx, cx ; 89 ca 5311 mov ax, si ; 89 f0 5312 call 02ef4h ; e8 3b 01 5341 5313 movzx bx, al ; 0f b6 d8 5342 5314 mov dx, 00089h ; ba 89 00 5343 5315 mov ax, strict word 00040h ; b8 40 00 5344 call 02f 18h ; e8 3d 015345 inc cx ; 41 5346 mov dx, cx ; 89 ca 5347 mov ax, si ; 89 f0 5348 call 02f 26h ; e8 43 015316 call 02f02h ; e8 3d 01 5317 inc cx ; 41 5318 mov dx, cx ; 89 ca 5319 mov ax, si ; 89 f0 5320 call 02f10h ; e8 43 01 5349 5321 mov bx, ax ; 89 c3 5350 5322 mov dx, strict word 00060h ; ba 60 00 5351 5323 mov ax, strict word 00040h ; b8 40 00 5352 call 02f 34h ; e8 46 015324 call 02f1eh ; e8 46 01 5353 5325 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5354 5326 inc cx ; 41 5355 5327 inc cx ; 41 5356 jmp short 02d fdh ; eb 065328 jmp short 02de7h ; eb 06 5357 5329 cmp word [bp-002h], strict byte 00008h ; 83 7e fe 08 5358 jnc short 02e 1bh ; 73 1e5359 mov dx, cx ; 89 ca 5360 mov ax, si ; 89 f0 5361 call 02f 26h ; e8 22 015330 jnc short 02e05h ; 73 1e 5331 mov dx, cx ; 89 ca 5332 mov ax, si ; 89 f0 5333 call 02f10h ; e8 22 01 5362 5334 mov bx, ax ; 89 c3 5363 5335 mov dx, word [bp-002h] ; 8b 56 fe … … 5365 5337 add dx, strict byte 00050h ; 83 c2 50 5366 5338 mov ax, strict word 00040h ; b8 40 00 5367 call 02f 34h ; e8 20 015339 call 02f1eh ; e8 20 01 5368 5340 inc cx ; 41 5369 5341 inc cx ; 41 5370 5342 inc word [bp-002h] ; ff 46 fe 5371 jmp short 02d f7h ; eb dc5372 mov dx, cx ; 89 ca 5373 mov ax, si ; 89 f0 5374 call 02f 26h ; e8 04 015343 jmp short 02de1h ; eb dc 5344 mov dx, cx ; 89 ca 5345 mov ax, si ; 89 f0 5346 call 02f10h ; e8 04 01 5375 5347 mov bx, ax ; 89 c3 5376 5348 mov dx, strict word 0004eh ; ba 4e 00 5377 5349 mov ax, strict word 00040h ; b8 40 00 5378 call 02f 34h ; e8 07 015379 inc cx ; 41 5380 inc cx ; 41 5381 mov dx, cx ; 89 ca 5382 mov ax, si ; 89 f0 5383 call 02 f0ah ; e8 d4 005350 call 02f1eh ; e8 07 01 5351 inc cx ; 41 5352 inc cx ; 41 5353 mov dx, cx ; 89 ca 5354 mov ax, si ; 89 f0 5355 call 02ef4h ; e8 d4 00 5384 5356 movzx bx, al ; 0f b6 d8 5385 5357 mov dx, strict word 00062h ; ba 62 00 5386 5358 mov ax, strict word 00040h ; b8 40 00 5387 call 02f 18h ; e8 d6 005388 inc cx ; 41 5389 mov dx, cx ; 89 ca 5390 mov ax, si ; 89 f0 5391 call 02f 26h ; e8 dc 005359 call 02f02h ; e8 d6 00 5360 inc cx ; 41 5361 mov dx, cx ; 89 ca 5362 mov ax, si ; 89 f0 5363 call 02f10h ; e8 dc 00 5392 5364 mov bx, ax ; 89 c3 5393 5365 mov dx, strict word 0007ch ; ba 7c 00 5394 5366 xor ax, ax ; 31 c0 5395 call 02f 34h ; e8 e0 005396 inc cx ; 41 5397 inc cx ; 41 5398 mov dx, cx ; 89 ca 5399 mov ax, si ; 89 f0 5400 call 02f 26h ; e8 c9 005367 call 02f1eh ; e8 e0 00 5368 inc cx ; 41 5369 inc cx ; 41 5370 mov dx, cx ; 89 ca 5371 mov ax, si ; 89 f0 5372 call 02f10h ; e8 c9 00 5401 5373 mov bx, ax ; 89 c3 5402 5374 mov dx, strict word 0007eh ; ba 7e 00 5403 5375 xor ax, ax ; 31 c0 5404 call 02f 34h ; e8 cd 005405 inc cx ; 41 5406 inc cx ; 41 5407 mov dx, cx ; 89 ca 5408 mov ax, si ; 89 f0 5409 call 02f 26h ; e8 b6 005376 call 02f1eh ; e8 cd 00 5377 inc cx ; 41 5378 inc cx ; 41 5379 mov dx, cx ; 89 ca 5380 mov ax, si ; 89 f0 5381 call 02f10h ; e8 b6 00 5410 5382 mov bx, ax ; 89 c3 5411 5383 mov dx, 0010ch ; ba 0c 01 5412 5384 xor ax, ax ; 31 c0 5413 call 02f 34h ; e8 ba 005414 inc cx ; 41 5415 inc cx ; 41 5416 mov dx, cx ; 89 ca 5417 mov ax, si ; 89 f0 5418 call 02f 26h ; e8 a3 005385 call 02f1eh ; e8 ba 00 5386 inc cx ; 41 5387 inc cx ; 41 5388 mov dx, cx ; 89 ca 5389 mov ax, si ; 89 f0 5390 call 02f10h ; e8 a3 00 5419 5391 mov bx, ax ; 89 c3 5420 5392 mov dx, 0010eh ; ba 0e 01 5421 5393 xor ax, ax ; 31 c0 5422 call 02f 34h ; e8 a7 005394 call 02f1eh ; e8 a7 00 5423 5395 inc cx ; 41 5424 5396 inc cx ; 41 5425 5397 test byte [bp-008h], 004h ; f6 46 f8 04 5426 je short 02e dch ; 74 475427 inc cx ; 41 5428 mov dx, cx ; 89 ca 5429 mov ax, si ; 89 f0 5430 call 02 f0ah ; e8 6d 005398 je short 02ec6h ; 74 47 5399 inc cx ; 41 5400 mov dx, cx ; 89 ca 5401 mov ax, si ; 89 f0 5402 call 02ef4h ; e8 6d 00 5431 5403 xor ah, ah ; 30 e4 5432 5404 mov word [bp-004h], ax ; 89 46 fc … … 5434 5406 mov dx, cx ; 89 ca 5435 5407 mov ax, si ; 89 f0 5436 call 02 f0ah ; e8 60 005408 call 02ef4h ; e8 60 00 5437 5409 mov dx, 003c6h ; ba c6 03 5438 5410 out DX, AL ; ee … … 5443 5415 xor ah, ah ; 30 e4 5444 5416 mov word [bp-002h], ax ; 89 46 fe 5445 jmp short 02e c3h ; eb 075417 jmp short 02eadh ; eb 07 5446 5418 cmp word [bp-002h], 00300h ; 81 7e fe 00 03 5447 jnc short 02e d4h ; 73 115448 mov dx, cx ; 89 ca 5449 mov ax, si ; 89 f0 5450 call 02 f0ah ; e8 40 005419 jnc short 02ebeh ; 73 11 5420 mov dx, cx ; 89 ca 5421 mov ax, si ; 89 f0 5422 call 02ef4h ; e8 40 00 5451 5423 mov dx, 003c9h ; ba c9 03 5452 5424 out DX, AL ; ee 5453 5425 inc cx ; 41 5454 5426 inc word [bp-002h] ; ff 46 fe 5455 jmp short 02e bch ; eb e85427 jmp short 02ea6h ; eb e8 5456 5428 inc cx ; 41 5457 5429 mov al, byte [bp-004h] ; 8a 46 fc … … 5464 5436 pop cx ; 59 5465 5437 retn ; c3 5466 find_vga_entry_: ; 0xc2e e3LB 0x275438 find_vga_entry_: ; 0xc2ecd LB 0x27 5467 5439 push bx ; 53 5468 5440 push dx ; 52 … … 5472 5444 mov AH, strict byte 0ffh ; b4 ff 5473 5445 xor al, al ; 30 c0 5474 jmp short 02e f6h ; eb 065446 jmp short 02ee0h ; eb 06 5475 5447 db 0feh, 0c0h 5476 5448 ; inc al ; fe c0 5477 5449 cmp AL, strict byte 00fh ; 3c 0f 5478 jnbe short 02 f04h ; 77 0e5450 jnbe short 02eeeh ; 77 0e 5479 5451 movzx bx, al ; 0f b6 d8 5480 5452 sal bx, 003h ; c1 e3 03 5481 cmp dl, byte [bx+048 2fh] ; 3a 97 2f485482 jne short 02e f0h ; 75 ee5453 cmp dl, byte [bx+04832h] ; 3a 97 32 48 5454 jne short 02edah ; 75 ee 5483 5455 mov ah, al ; 88 c4 5484 5456 mov al, ah ; 88 e0 … … 5487 5459 pop bx ; 5b 5488 5460 retn ; c3 5489 read_byte_: ; 0xc2 f0aLB 0xe5461 read_byte_: ; 0xc2ef4 LB 0xe 5490 5462 push bx ; 53 5491 5463 push bp ; 55 … … 5497 5469 pop bx ; 5b 5498 5470 retn ; c3 5499 write_byte_: ; 0xc2f 18LB 0xe5471 write_byte_: ; 0xc2f02 LB 0xe 5500 5472 push si ; 56 5501 5473 push bp ; 55 … … 5507 5479 pop si ; 5e 5508 5480 retn ; c3 5509 read_word_: ; 0xc2f 26LB 0xe5481 read_word_: ; 0xc2f10 LB 0xe 5510 5482 push bx ; 53 5511 5483 push bp ; 55 … … 5517 5489 pop bx ; 5b 5518 5490 retn ; c3 5519 write_word_: ; 0xc2f 34LB 0xe5491 write_word_: ; 0xc2f1e LB 0xe 5520 5492 push si ; 56 5521 5493 push bp ; 55 … … 5527 5499 pop si ; 5e 5528 5500 retn ; c3 5529 read_dword_: ; 0xc2f 42LB 0x125501 read_dword_: ; 0xc2f2c LB 0x12 5530 5502 push bx ; 53 5531 5503 push bp ; 55 … … 5538 5510 pop bx ; 5b 5539 5511 retn ; c3 5540 printf_: ; 0xc2f54 LB 0x108 5512 write_dword_: ; 0xc2f3e LB 0x12 5513 push si ; 56 5514 push bp ; 55 5515 mov bp, sp ; 89 e5 5516 mov si, dx ; 89 d6 5517 mov es, ax ; 8e c0 5518 mov word [es:si], bx ; 26 89 1c 5519 mov word [es:si+002h], cx ; 26 89 4c 02 5520 pop bp ; 5d 5521 pop si ; 5e 5522 retn ; c3 5523 printf_: ; 0xc2f50 LB 0x108 5541 5524 push bx ; 53 5542 5525 push cx ; 51 … … 5551 5534 mov al, byte [di] ; 8a 05 5552 5535 test al, al ; 84 c0 5553 je near 02fe 8h ; 0f 84 79 005536 je near 02fe4h ; 0f 84 79 00 5554 5537 cmp AL, strict byte 025h ; 3c 25 5555 jne short 02f7 ah ; 75 075538 jne short 02f76h ; 75 07 5556 5539 mov cx, strict word 00001h ; b9 01 00 5557 5540 xor bx, bx ; 31 db 5558 jmp short 02f e2h ; eb 685541 jmp short 02fdeh ; eb 68 5559 5542 test cx, cx ; 85 c9 5560 je short 02fd eh ; 74 605543 je short 02fdah ; 74 60 5561 5544 cmp AL, strict byte 030h ; 3c 30 5562 jc short 02f 92h ; 72 105545 jc short 02f8eh ; 72 10 5563 5546 cmp AL, strict byte 039h ; 3c 39 5564 jnbe short 02f 92h ; 77 0c5547 jnbe short 02f8eh ; 77 0c 5565 5548 xor ah, ah ; 30 e4 5566 5549 imul bx, bx, strict byte 0000ah ; 6b db 0a 5567 5550 sub ax, strict word 00030h ; 2d 30 00 5568 5551 add bx, ax ; 01 c3 5569 jmp short 02f e2h ; eb 505552 jmp short 02fdeh ; eb 50 5570 5553 cmp AL, strict byte 078h ; 3c 78 5571 jne short 02f e2h ; 75 4c5554 jne short 02fdeh ; 75 4c 5572 5555 inc si ; 46 5573 5556 inc si ; 46 … … 5575 5558 mov word [bp-004h], ax ; 89 46 fc 5576 5559 test bx, bx ; 85 db 5577 jne short 02fa 5h ; 75 035560 jne short 02fa1h ; 75 03 5578 5561 mov bx, strict word 00004h ; bb 04 00 5579 5562 lea di, [bx-001h] ; 8d 7f ff 5580 5563 mov word [bp-002h], strict word 00000h ; c7 46 fe 00 00 5581 5564 cmp bx, word [bp-002h] ; 3b 5e fe 5582 jbe short 02fd ah ; 76 285565 jbe short 02fd6h ; 76 28 5583 5566 mov cx, di ; 89 f9 5584 5567 sal cx, 002h ; c1 e1 02 … … 5587 5570 and ax, strict word 0000fh ; 25 0f 00 5588 5571 cmp ax, strict word 00009h ; 3d 09 00 5589 jnbe short 02fc dh ; 77 095572 jnbe short 02fc9h ; 77 09 5590 5573 add ax, strict word 00030h ; 05 30 00 5591 5574 mov dx, 00504h ; ba 04 05 5592 5575 out DX, AL ; ee 5593 jmp short 02fd 4h ; eb 075576 jmp short 02fd0h ; eb 07 5594 5577 add ax, strict word 00037h ; 05 37 00 5595 5578 mov dx, 00504h ; ba 04 05 … … 5597 5580 dec di ; 4f 5598 5581 inc word [bp-002h] ; ff 46 fe 5599 jmp short 02fa dh ; eb d35582 jmp short 02fa9h ; eb d3 5600 5583 xor cx, cx ; 31 c9 5601 jmp short 02f e2h ; eb 045584 jmp short 02fdeh ; eb 04 5602 5585 mov dx, 00504h ; ba 04 05 5603 5586 out DX, AL ; ee 5604 5587 inc word [bp+00eh] ; ff 46 0e 5605 jmp near 02f6 4h ; e9 7c ff5588 jmp near 02f60h ; e9 7c ff 5606 5589 leave ; c9 5607 5590 pop di ; 5f … … 5622 5605 add ax, 00304h ; 05 04 03 5623 5606 add al, byte [bx+di] ; 02 01 5624 add byte [bx], bl ; 00 1f 5625 xor AL, strict byte 08ah ; 34 8a 5626 xor al, cl ; 30 c8 5627 xor ah, bl ; 30 dc 5628 xor ch, ch ; 30 ed 5629 xor byte [bx+di], al ; 30 01 5630 xor word [bp+si], dx ; 31 12 5631 xor word [si], bx ; 31 1c 5632 xor word [bp+031h], dx ; 31 56 31 5633 pop dx ; 5a 5634 xor word [bp+di+031h], bp ; 31 6b 31 5635 mov byte [bx+di], dh ; 88 31 5636 movsw ; a5 5637 xor bp, ax ; 31 c5 5638 xor dx, sp ; 31 e2 5639 xor cx, di ; 31 f9 5640 xor word [di], ax ; 31 05 5641 db 032h, 0e0h 5642 ; xor ah, al ; 32 e0 5643 xor bl, byte [bp+di] ; 32 1b 5644 xor cx, word [bp+di+033h] ; 33 4b 33 5645 pushaw ; 60 5646 xor sp, word [bp+si+03033h] ; 33 a2 33 30 5607 add byte [bp+di], bl ; 00 1b 5608 xor AL, strict byte 086h ; 34 86 5609 xor ah, al ; 30 c4 5610 xor al, bl ; 30 d8 5611 xor cl, ch ; 30 e9 5612 xor ch, bh ; 30 fd 5613 xor byte [01831h], cl ; 30 0e 31 18 5614 xor word [bp+si+031h], dx ; 31 52 31 5615 push si ; 56 5616 xor word [bx+031h], sp ; 31 67 31 5617 test byte [bx+di], dh ; 84 31 5618 mov ax, word [0c131h] ; a1 31 c1 5619 xor si, bx ; 31 de 5620 xor bp, si ; 31 f5 5621 xor word [bx+di], ax ; 31 01 5622 db 032h, 0dch 5623 ; xor bl, ah ; 32 dc 5624 xor dl, byte [bx] ; 32 17 5625 xor ax, word [bx+033h] ; 33 47 33 5626 pop sp ; 5c 5627 xor bx, word [bp+03033h] ; 33 9e 33 30 5647 5628 and AL, strict byte 023h ; 24 23 5648 5629 and ah, byte [bx+di] ; 22 21 … … 5651 5632 adc byte [si], al ; 10 04 5652 5633 add al, byte [bx+di] ; 02 01 5653 add byte [bx], bl ; 00 1f 5654 xor AL, strict byte 026h ; 34 26 5655 xor cl, byte [si+032h] ; 32 4c 32 5656 pop bp ; 5d 5657 xor ch, byte [bp+032h] ; 32 6e 32 5658 xor cl, byte [es:si+032h] ; 26 32 4c 32 5659 pop bp ; 5d 5660 xor ch, byte [bp+032h] ; 32 6e 32 5661 jnle short 03084h ; 7f 32 5662 mov si, word [bp+si] ; 8b 32 5663 cmpsb ; a6 5664 xor dh, byte [bx+di-043ceh] ; 32 b1 32 bc 5665 db 032h, 0c7h 5666 ; xor al, bh ; 32 c7 5634 add byte [bp+di], bl ; 00 1b 5635 xor AL, strict byte 022h ; 34 22 5636 xor cl, byte [bx+si+032h] ; 32 48 32 5637 pop cx ; 59 5638 xor ch, byte [bp+si+032h] ; 32 6a 32 5639 and dh, byte [bp+si] ; 22 32 5640 dec ax ; 48 5641 xor bl, byte [bx+di+032h] ; 32 59 32 5642 push strict byte 00032h ; 6a 32 5643 jnp short 03080h ; 7b 32 5644 xchg word [bp+si], si ; 87 32 5645 mov byte [0ad32h], AL ; a2 32 ad 5646 xor bh, byte [bx+si-03cceh] ; 32 b8 32 c3 5667 5647 db 032h 5668 _int10_func: ; 0xc305 cLB 0x3c75648 _int10_func: ; 0xc3058 LB 0x3c7 5669 5649 push si ; 56 5670 5650 push di ; 57 … … 5674 5654 shr ax, 008h ; c1 e8 08 5675 5655 cmp ax, strict word 0004fh ; 3d 4f 00 5676 jnbe near 0341 fh ; 0f 87 ad 035656 jnbe near 0341bh ; 0f 87 ad 03 5677 5657 push CS ; 0e 5678 5658 pop ES ; 07 5679 5659 mov cx, strict word 00016h ; b9 16 00 5680 mov di, 02fe fh ; bf ef2f5660 mov di, 02febh ; bf eb 2f 5681 5661 repne scasb ; f2 ae 5682 5662 sal cx, 1 ; d1 e1 5683 5663 mov di, cx ; 89 cf 5684 mov ax, word [cs:di+0300 4h] ; 2e 8b 85 04305664 mov ax, word [cs:di+03000h] ; 2e 8b 85 00 30 5685 5665 mov cl, byte [bp+016h] ; 8a 4e 16 5686 5666 jmp ax ; ff e0 5687 5667 mov al, byte [bp+016h] ; 8a 46 16 5688 5668 xor ah, ah ; 30 e4 5689 call 00fc1h ; e8 2fdf5669 call 00fc1h ; e8 33 df 5690 5670 mov ax, word [bp+016h] ; 8b 46 16 5691 5671 and ax, strict word 0007fh ; 25 7f 00 5692 5672 cmp ax, strict word 00007h ; 3d 07 00 5693 je short 030 b2h ; 74 155673 je short 030aeh ; 74 15 5694 5674 cmp ax, strict word 00006h ; 3d 06 00 5695 je short 030a 9h ; 74 075675 je short 030a5h ; 74 07 5696 5676 cmp ax, strict word 00005h ; 3d 05 00 5697 jbe short 030 b2h ; 76 0b5698 jmp short 030b bh ; eb 125677 jbe short 030aeh ; 76 0b 5678 jmp short 030b7h ; eb 12 5699 5679 mov ax, word [bp+016h] ; 8b 46 16 5700 5680 xor al, al ; 30 c0 5701 5681 or AL, strict byte 03fh ; 0c 3f 5702 jmp short 030 c2h ; eb 105682 jmp short 030beh ; eb 10 5703 5683 mov ax, word [bp+016h] ; 8b 46 16 5704 5684 xor al, al ; 30 c0 5705 5685 or AL, strict byte 030h ; 0c 30 5706 jmp short 030 c2h ; eb 075686 jmp short 030beh ; eb 07 5707 5687 mov ax, word [bp+016h] ; 8b 46 16 5708 5688 xor al, al ; 30 c0 5709 5689 or AL, strict byte 020h ; 0c 20 5710 5690 mov word [bp+016h], ax ; 89 46 16 5711 jmp near 0341 fh ; e9 57 035691 jmp near 0341bh ; e9 57 03 5712 5692 mov al, byte [bp+014h] ; 8a 46 14 5713 5693 movzx dx, al ; 0f b6 d0 … … 5715 5695 shr ax, 008h ; c1 e8 08 5716 5696 xor ah, ah ; 30 e4 5717 call 00daah ; e8 d 1dc5718 jmp near 0341 fh ; e9 43 035697 call 00daah ; e8 d5 dc 5698 jmp near 0341bh ; e9 43 03 5719 5699 mov dx, word [bp+012h] ; 8b 56 12 5720 5700 mov ax, word [bp+010h] ; 8b 46 10 5721 5701 shr ax, 008h ; c1 e8 08 5722 5702 xor ah, ah ; 30 e4 5723 call 00e4bh ; e8 6 1dd5724 jmp near 0341 fh ; e9 32 035703 call 00e4bh ; e8 65 dd 5704 jmp near 0341bh ; e9 32 03 5725 5705 lea bx, [bp+012h] ; 8d 5e 12 5726 5706 lea dx, [bp+014h] ; 8d 56 14 … … 5728 5708 shr ax, 008h ; c1 e8 08 5729 5709 xor ah, ah ; 30 e4 5730 call 00a8ch ; e8 8ed95731 jmp near 0341 fh ; e9 1e 035710 call 00a8ch ; e8 92 d9 5711 jmp near 0341bh ; e9 1e 03 5732 5712 xor ax, ax ; 31 c0 5733 5713 mov word [bp+016h], ax ; 89 46 16 … … 5735 5715 mov word [bp+014h], ax ; 89 46 14 5736 5716 mov word [bp+012h], ax ; 89 46 12 5737 jmp near 0341 fh ; e9 0d 035717 jmp near 0341bh ; e9 0d 03 5738 5718 mov al, cl ; 88 c8 5739 5719 xor ah, ah ; 30 e4 5740 call 00ee9h ; e8 d 0dd5741 jmp near 0341 fh ; e9 03 035720 call 00ee9h ; e8 d4 dd 5721 jmp near 0341bh ; e9 03 03 5742 5722 mov ax, strict word 00001h ; b8 01 00 5743 5723 push ax ; 50 … … 5761 5741 mov al, byte [bp+016h] ; 8a 46 16 5762 5742 xor ah, ah ; 30 e4 5763 call 015 42h ; e8 efe35764 jmp near 0341 fh ; e9 c9 025743 call 01538h ; e8 e9 e3 5744 jmp near 0341bh ; e9 c9 02 5765 5745 xor ax, ax ; 31 c0 5766 jmp short 0311 fh ; eb c55746 jmp short 0311bh ; eb c5 5767 5747 lea dx, [bp+016h] ; 8d 56 16 5768 5748 mov ax, word [bp+010h] ; 8b 46 10 5769 5749 shr ax, 008h ; c1 e8 08 5770 5750 xor ah, ah ; 30 e4 5771 call 00acch ; e8 6 4d95772 jmp near 0341 fh ; e9 b4 025751 call 00acch ; e8 68 d9 5752 jmp near 0341bh ; e9 b4 02 5773 5753 mov cx, word [bp+014h] ; 8b 4e 14 5774 5754 mov al, byte [bp+010h] ; 8a 46 10 … … 5779 5759 mov al, byte [bp+016h] ; 8a 46 16 5780 5760 xor ah, ah ; 30 e4 5781 call 01cc eh ; e8 49eb5782 jmp near 0341 fh ; e9 97 025761 call 01cc4h ; e8 43 eb 5762 jmp near 0341bh ; e9 97 02 5783 5763 mov cx, word [bp+014h] ; 8b 4e 14 5784 5764 mov al, byte [bp+010h] ; 8a 46 10 … … 5789 5769 mov al, byte [bp+016h] ; 8a 46 16 5790 5770 xor ah, ah ; 30 e4 5791 call 01e 31h ; e8 8fec5792 jmp near 0341 fh ; e9 7a 025771 call 01e27h ; e8 89 ec 5772 jmp near 0341bh ; e9 7a 02 5793 5773 mov cx, word [bp+012h] ; 8b 4e 12 5794 5774 mov bx, word [bp+014h] ; 8b 5e 14 … … 5800 5780 mov al, byte [bp-002h] ; 8a 46 fe 5801 5781 xor ah, ah ; 30 e4 5802 call 01f9 bh ; e8 d9ed5803 jmp near 0341 fh ; e9 5a 025782 call 01f91h ; e8 d3 ed 5783 jmp near 0341bh ; e9 5a 02 5804 5784 lea cx, [bp+016h] ; 8d 4e 16 5805 5785 mov bx, word [bp+012h] ; 8b 5e 12 … … 5810 5790 mov al, byte [bp-002h] ; 8a 46 fe 5811 5791 xor ah, ah ; 30 e4 5812 call 00beeh ; e8 0fda5813 jmp near 0341 fh ; e9 3d 025792 call 00beeh ; e8 13 da 5793 jmp near 0341bh ; e9 3d 02 5814 5794 mov cx, strict word 00002h ; b9 02 00 5815 5795 mov al, byte [bp+010h] ; 8a 46 10 … … 5818 5798 mov al, byte [bp+016h] ; 8a 46 16 5819 5799 xor ah, ah ; 30 e4 5820 call 02 103h ; e8 0def5821 jmp near 0341 fh ; e9 26 025800 call 020f9h ; e8 07 ef 5801 jmp near 0341bh ; e9 26 02 5822 5802 mov dx, word [bp+014h] ; 8b 56 14 5823 5803 mov ax, word [bp+010h] ; 8b 46 10 5824 call 00d22h ; e8 2 0db5825 jmp near 0341 fh ; e9 1a 025804 call 00d22h ; e8 24 db 5805 jmp near 0341bh ; e9 1a 02 5826 5806 mov ax, word [bp+016h] ; 8b 46 16 5827 5807 xor ah, ah ; 30 e4 5828 5808 cmp ax, strict word 00030h ; 3d 30 00 5829 jnbe near 0341 fh ; 0f 87 0e 025809 jnbe near 0341bh ; 0f 87 0e 02 5830 5810 push CS ; 0e 5831 5811 pop ES ; 07 5832 5812 mov cx, strict word 0000fh ; b9 0f 00 5833 mov di, 030 30h ; bf 30305813 mov di, 0302ch ; bf 2c 30 5834 5814 repne scasb ; f2 ae 5835 5815 sal cx, 1 ; d1 e1 5836 5816 mov di, cx ; 89 cf 5837 mov ax, word [cs:di+0303 eh] ; 2e 8b 85 3e305817 mov ax, word [cs:di+0303ah] ; 2e 8b 85 3a 30 5838 5818 jmp ax ; ff e0 5839 5819 mov ax, word [bp+010h] ; 8b 46 10 … … 5850 5830 mov bx, word [bp+00ch] ; 8b 5e 0c 5851 5831 mov dx, word [bp+01ah] ; 8b 56 1a 5852 call 024 a0h ; e8 57f25853 jmp near 0341 fh ; e9 d3 015832 call 02496h ; e8 51 f2 5833 jmp near 0341bh ; e9 d3 01 5854 5834 mov al, byte [bp+010h] ; 8a 46 10 5855 5835 movzx dx, al ; 0f b6 d0 5856 5836 mov al, byte [bp+016h] ; 8a 46 16 5857 5837 xor ah, ah ; 30 e4 5858 call 025 18h ; e8 bef25859 jmp near 0341 fh ; e9 c2 015838 call 0250eh ; e8 b8 f2 5839 jmp near 0341bh ; e9 c2 01 5860 5840 mov al, byte [bp+010h] ; 8a 46 10 5861 5841 movzx dx, al ; 0f b6 d0 5862 5842 mov al, byte [bp+016h] ; 8a 46 16 5863 5843 xor ah, ah ; 30 e4 5864 call 025 84h ; e8 19f35865 jmp near 0341 fh ; e9 b1 015844 call 0257ah ; e8 13 f3 5845 jmp near 0341bh ; e9 b1 01 5866 5846 mov al, byte [bp+010h] ; 8a 46 10 5867 5847 movzx dx, al ; 0f b6 d0 5868 5848 mov al, byte [bp+016h] ; 8a 46 16 5869 5849 xor ah, ah ; 30 e4 5870 call 025 f2h ; e8 76f35871 jmp near 0341 fh ; e9 a0 015850 call 025e8h ; e8 70 f3 5851 jmp near 0341bh ; e9 a0 01 5872 5852 mov dx, word [bp+00ch] ; 8b 56 0c 5873 5853 mov ax, word [bp+01ah] ; 8b 46 1a 5874 call 026 60h ; e8 d8f35875 jmp near 0341 fh ; e9 94 015854 call 02656h ; e8 d2 f3 5855 jmp near 0341bh ; e9 94 01 5876 5856 mov al, byte [bp+012h] ; 8a 46 12 5877 5857 xor ah, ah ; 30 e4 … … 5882 5862 mov dx, word [bp+00ch] ; 8b 56 0c 5883 5863 mov ax, word [bp+01ah] ; 8b 46 1a 5884 call 026 65h ; e8 c2f35885 jmp near 0341 fh ; e9 79 015864 call 0265bh ; e8 bc f3 5865 jmp near 0341bh ; e9 79 01 5886 5866 mov al, byte [bp+010h] ; 8a 46 10 5887 5867 xor ah, ah ; 30 e4 5888 call 0266 ch ; e8 bef35889 jmp near 0341 fh ; e9 6e 015868 call 02662h ; e8 b8 f3 5869 jmp near 0341bh ; e9 6e 01 5890 5870 mov al, byte [bp+010h] ; 8a 46 10 5891 5871 xor ah, ah ; 30 e4 5892 call 026 71h ; e8 b8f35893 jmp near 0341 fh ; e9 63 015872 call 02667h ; e8 b2 f3 5873 jmp near 0341bh ; e9 63 01 5894 5874 mov al, byte [bp+010h] ; 8a 46 10 5895 5875 xor ah, ah ; 30 e4 5896 call 026 76h ; e8 b2f35897 jmp near 0341 fh ; e9 58 015876 call 0266ch ; e8 ac f3 5877 jmp near 0341bh ; e9 58 01 5898 5878 lea ax, [bp+012h] ; 8d 46 12 5899 5879 push ax ; 50 … … 5903 5883 mov ax, word [bp+010h] ; 8b 46 10 5904 5884 shr ax, 008h ; c1 e8 08 5905 call 00b6fh ; e8 9 2d85906 jmp near 0341 fh ; e9 3f 015885 call 00b6fh ; e8 96 d8 5886 jmp near 0341bh ; e9 3f 01 5907 5887 mov ax, word [bp+010h] ; 8b 46 10 5908 5888 xor ah, ah ; 30 e4 5909 5889 cmp ax, strict word 00036h ; 3d 36 00 5910 je short 033 12h ; 74 285890 je short 0330eh ; 74 28 5911 5891 cmp ax, strict word 00035h ; 3d 35 00 5912 je short 032f ch ; 74 0d5892 je short 032f8h ; 74 0d 5913 5893 cmp ax, strict word 00020h ; 3d 20 00 5914 jne near 0341 fh ; 0f 85 29 015915 call 0267 bh ; e8 82f35916 jmp near 0341 fh ; e9 23 015894 jne near 0341bh ; 0f 85 29 01 5895 call 02671h ; e8 7c f3 5896 jmp near 0341bh ; e9 23 01 5917 5897 movzx ax, cl ; 0f b6 c1 5918 5898 mov bx, word [bp+012h] ; 8b 5e 12 5919 5899 mov dx, word [bp+01ah] ; 8b 56 1a 5920 call 026 80h ; e8 78f35900 call 02676h ; e8 72 f3 5921 5901 mov ax, word [bp+016h] ; 8b 46 16 5922 5902 xor al, al ; 30 c0 5923 5903 or AL, strict byte 012h ; 0c 12 5924 jmp near 030 c2h ; e9 b0 fd5904 jmp near 030beh ; e9 b0 fd 5925 5905 mov al, cl ; 88 c8 5926 5906 xor ah, ah ; 30 e4 5927 call 026 85h ; e8 6cf35928 jmp short 0330 8h ; eb ed5907 call 0267bh ; e8 66 f3 5908 jmp short 03304h ; eb ed 5929 5909 push word [bp+00ch] ; ff 76 0c 5930 5910 push word [bp+01ah] ; ff 76 1a … … 5943 5923 movzx ax, cl ; 0f b6 c1 5944 5924 mov cx, word [bp+014h] ; 8b 4e 14 5945 call 0268 ah ; e8 42f35946 jmp near 0341 fh ; e9 d4 005925 call 02680h ; e8 3c f3 5926 jmp near 0341bh ; e9 d4 00 5947 5927 mov bx, si ; 89 f3 5948 5928 mov dx, word [bp+01ah] ; 8b 56 1a 5949 5929 mov ax, word [bp+010h] ; 8b 46 10 5950 call 027 21h ; e8 cbf35930 call 02717h ; e8 c5 f3 5951 5931 mov ax, word [bp+016h] ; 8b 46 16 5952 5932 xor al, al ; 30 c0 5953 5933 or AL, strict byte 01bh ; 0c 1b 5954 jmp near 030 c2h ; e9 62 fd5934 jmp near 030beh ; e9 62 fd 5955 5935 mov ax, word [bp+016h] ; 8b 46 16 5956 5936 xor ah, ah ; 30 e4 5957 5937 cmp ax, strict word 00002h ; 3d 02 00 5958 je short 0338 ch ; 74 225938 je short 03388h ; 74 22 5959 5939 cmp ax, strict word 00001h ; 3d 01 00 5960 je short 0337 eh ; 74 0f5940 je short 0337ah ; 74 0f 5961 5941 test ax, ax ; 85 c0 5962 jne short 0339 8h ; 75 255942 jne short 03394h ; 75 25 5963 5943 lea dx, [bp+010h] ; 8d 56 10 5964 5944 mov ax, word [bp+014h] ; 8b 46 14 5965 call 028 4eh ; e8 d2f45966 jmp short 0339 8h ; eb 1a5945 call 02838h ; e8 c0 f4 5946 jmp short 03394h ; eb 1a 5967 5947 mov bx, word [bp+010h] ; 8b 5e 10 5968 5948 mov dx, word [bp+01ah] ; 8b 56 1a 5969 5949 mov ax, word [bp+014h] ; 8b 46 14 5970 call 028 5dh ; e8 d3f45971 jmp short 0339 8h ; eb 0c5950 call 02847h ; e8 c1 f4 5951 jmp short 03394h ; eb 0c 5972 5952 mov bx, word [bp+010h] ; 8b 5e 10 5973 5953 mov dx, word [bp+01ah] ; 8b 56 1a 5974 5954 mov ax, word [bp+014h] ; 8b 46 14 5975 call 02b c2h ; e8 2af85955 call 02bach ; e8 18 f8 5976 5956 mov ax, word [bp+016h] ; 8b 46 16 5977 5957 xor al, al ; 30 c0 5978 5958 or AL, strict byte 01ch ; 0c 1c 5979 jmp near 030 c2h ; e9 20 fd5980 call 007 d4h ; e8 2fd45959 jmp near 030beh ; e9 20 fd 5960 call 007b2h ; e8 11 d4 5981 5961 test ax, ax ; 85 c0 5982 je near 0341 ah ; 0f 84 6f 005962 je near 03416h ; 0f 84 6f 00 5983 5963 mov ax, word [bp+016h] ; 8b 46 16 5984 5964 xor ah, ah ; 30 e4 5985 5965 cmp ax, strict word 00002h ; 3d 02 00 5986 jc short 033c 8h ; 72 135987 jbe short 033e eh ; 76 375966 jc short 033c4h ; 72 13 5967 jbe short 033eah ; 76 37 5988 5968 cmp ax, strict word 0000ah ; 3d 0a 00 5989 je short 034 13h ; 74 575969 je short 0340fh ; 74 57 5990 5970 cmp ax, strict word 00009h ; 3d 09 00 5991 je short 034 13h ; 74 525971 je short 0340fh ; 74 52 5992 5972 cmp ax, strict word 00004h ; 3d 04 00 5993 je short 033f eh ; 74 385994 jmp short 034 13h ; eb 4b5973 je short 033fah ; 74 38 5974 jmp short 0340fh ; eb 4b 5995 5975 cmp ax, strict word 00001h ; 3d 01 00 5996 je short 033d eh ; 74 115976 je short 033dah ; 74 11 5997 5977 test ax, ax ; 85 c0 5998 jne short 034 13h ; 75 425978 jne short 0340fh ; 75 42 5999 5979 mov bx, si ; 89 f3 6000 5980 mov dx, word [bp+01ah] ; 8b 56 1a 6001 5981 lea ax, [bp+016h] ; 8d 46 16 6002 call 034e 7h ; e8 0b016003 jmp short 0341 fh ; eb 415982 call 034e5h ; e8 0d 01 5983 jmp short 0341bh ; eb 41 6004 5984 mov cx, si ; 89 f1 6005 5985 mov bx, word [bp+01ah] ; 8b 5e 1a 6006 5986 mov dx, word [bp+014h] ; 8b 56 14 6007 5987 lea ax, [bp+016h] ; 8d 46 16 6008 call 036 d1h ; e8 e5026009 jmp short 0341 fh ; eb 315988 call 03612h ; e8 2a 02 5989 jmp short 0341bh ; eb 31 6010 5990 mov cx, si ; 89 f1 6011 5991 mov bx, word [bp+01ah] ; 8b 5e 1a 6012 5992 mov dx, word [bp+010h] ; 8b 56 10 6013 5993 lea ax, [bp+016h] ; 8d 46 16 6014 call 03 781h ; e8 85 036015 jmp short 0341 fh ; eb 215994 call 036c2h ; e8 ca 02 5995 jmp short 0341bh ; eb 21 6016 5996 lea ax, [bp+010h] ; 8d 46 10 6017 5997 push ax ; 50 … … 6020 6000 mov dx, word [bp+014h] ; 8b 56 14 6021 6001 lea ax, [bp+016h] ; 8d 46 16 6022 call 03 970h ; e8 5f 056023 jmp short 0341 fh ; eb 0c6002 call 0389eh ; e8 91 04 6003 jmp short 0341bh ; eb 0c 6024 6004 mov word [bp+016h], 00100h ; c7 46 16 00 01 6025 jmp short 0341 fh ; eb 056005 jmp short 0341bh ; eb 05 6026 6006 mov word [bp+016h], 00100h ; c7 46 16 00 01 6027 6007 leave ; c9 … … 6029 6009 pop si ; 5e 6030 6010 retn ; c3 6031 dispi_set_xres_: ; 0xc34 23LB 0x186011 dispi_set_xres_: ; 0xc341f LB 0x18 6032 6012 push bx ; 53 6033 6013 push dx ; 52 … … 6045 6025 pop bx ; 5b 6046 6026 retn ; c3 6047 dispi_set_yres_: ; 0xc343 bLB 0x186027 dispi_set_yres_: ; 0xc3437 LB 0x18 6048 6028 push bx ; 53 6049 6029 push dx ; 52 … … 6061 6041 pop bx ; 5b 6062 6042 retn ; c3 6063 dispi_set_bpp_: ; 0xc34 53LB 0x186043 dispi_set_bpp_: ; 0xc344f LB 0x18 6064 6044 push bx ; 53 6065 6045 push dx ; 52 … … 6077 6057 pop bx ; 5b 6078 6058 retn ; c3 6079 in_word_: ; 0xc346 bLB 0xf6059 in_word_: ; 0xc3467 LB 0xf 6080 6060 push bx ; 53 6081 6061 push bp ; 55 … … 6089 6069 pop bx ; 5b 6090 6070 retn ; c3 6091 in_byte_: ; 0xc347 aLB 0x116071 in_byte_: ; 0xc3476 LB 0x11 6092 6072 push bx ; 53 6093 6073 push bp ; 55 … … 6103 6083 pop bx ; 5b 6104 6084 retn ; c3 6105 mode_info_find_mode_: ; 0xc348 b LB 0x5c6085 mode_info_find_mode_: ; 0xc3487 LB 0x5e 6106 6086 push bx ; 53 6107 6087 push cx ; 51 … … 6110 6090 push bp ; 55 6111 6091 mov bp, sp ; 89 e5 6112 mov di, ax ; 89 c76113 mov si, dx ; 89 d66092 mov si, ax ; 89 c6 6093 mov di, dx ; 89 d7 6114 6094 xor dx, dx ; 31 d2 6115 6095 mov ax, 003b6h ; b8 b6 03 6116 call 0346 bh ; e8 cd ff6096 call 03467h ; e8 cd ff 6117 6097 cmp ax, 077cch ; 3d cc 77 6118 je short 034a fh ; 74 0c6119 push ax ; 50 6120 push 07ee 2h ; 68 e27e6121 call 02f5 4h ; e8 aa fa6098 je short 034abh ; 74 0c 6099 push ax ; 50 6100 push 07ee8h ; 68 e8 7e 6101 call 02f50h ; e8 aa fa 6122 6102 add sp, strict byte 00004h ; 83 c4 04 6123 jmp short 034d fh ; eb 306103 jmp short 034ddh ; eb 32 6124 6104 mov bx, strict word 00004h ; bb 04 00 6125 6105 mov dx, bx ; 89 da 6126 6106 mov ax, 003b6h ; b8 b6 03 6127 call 0346 bh ; e8 b1 ff6107 call 03467h ; e8 b1 ff 6128 6108 mov cx, ax ; 89 c1 6129 6109 cmp cx, strict byte 0ffffh ; 83 f9 ff 6130 je short 034d fh ; 74 1e6110 je short 034ddh ; 74 20 6131 6111 lea dx, [bx+002h] ; 8d 57 02 6132 6112 mov ax, 003b6h ; b8 b6 03 6133 call 0346bh ; e8 a1 ff 6134 cmp cx, di ; 39 f9 6135 jne short 034dah ; 75 0c 6136 test si, si ; 85 f6 6137 jne short 034d6h ; 75 04 6113 call 03467h ; e8 a1 ff 6114 lea dx, [bx+044h] ; 8d 57 44 6115 cmp cx, si ; 39 f1 6116 jne short 034d9h ; 75 0c 6117 test di, di ; 85 ff 6118 jne short 034d5h ; 75 04 6138 6119 mov ax, bx ; 89 d8 6139 jmp short 034 e1h ; eb 0b6120 jmp short 034dfh ; eb 0a 6140 6121 test AL, strict byte 080h ; a8 80 6141 jne short 034d 2h ; 75 f86142 add bx, strict byte 00044h ; 83 c3 446143 jmp short 034b 2h ; eb d36122 jne short 034d1h ; 75 f8 6123 mov bx, dx ; 89 d3 6124 jmp short 034b0h ; eb d3 6144 6125 xor ax, ax ; 31 c0 6145 6126 pop bp ; 5d … … 6149 6130 pop bx ; 5b 6150 6131 retn ; c3 6151 vbe_biosfn_return_controller_information_: ; 0xc34e 7 LB 0x1ea6132 vbe_biosfn_return_controller_information_: ; 0xc34e5 LB 0x12d 6152 6133 push cx ; 51 6153 6134 push si ; 56 6154 6135 push di ; 57 6155 enter 00006h, 000h ; c8 06 00 00 6156 push ax ; 50 6157 mov si, dx ; 89 d6 6158 mov di, bx ; 89 df 6159 mov word [bp-004h], strict word 00022h ; c7 46 fc 22 00 6160 call 005d7h ; e8 dc d0 6161 mov word [bp-002h], ax ; 89 46 fe 6136 enter 0000ah, 000h ; c8 0a 00 00 6137 mov si, ax ; 89 c6 6138 mov di, dx ; 89 d7 6139 mov word [bp-004h], bx ; 89 5e fc 6140 mov word [bp-006h], strict word 00022h ; c7 46 fa 22 00 6141 call 005b5h ; e8 ba d0 6142 mov word [bp-00ah], ax ; 89 46 f6 6143 mov bx, word [bp-004h] ; 8b 5e fc 6144 mov word [bp-002h], di ; 89 7e fe 6162 6145 xor dx, dx ; 31 d2 6163 6146 mov ax, 003b6h ; b8 b6 03 6164 call 0346 bh ; e8 65ff6147 call 03467h ; e8 5b ff 6165 6148 cmp ax, 077cch ; 3d cc 77 6166 je short 0352 1h ; 74 166149 je short 03524h ; 74 13 6167 6150 push SS ; 16 6168 6151 pop ES ; 07 6169 mov bx, word [bp-008h] ; 8b 5e f8 6170 mov word [es:bx], 00100h ; 26 c7 07 00 01 6171 push 07efbh ; 68 fb 7e 6172 call 02f54h ; e8 39 fa 6152 mov word [es:si], 00100h ; 26 c7 04 00 01 6153 push 07f01h ; 68 01 7f 6154 call 02f50h ; e8 32 fa 6173 6155 add sp, strict byte 00002h ; 83 c4 02 6174 jmp near 036 cch ; e9 ab 016156 jmp near 0360dh ; e9 e9 00 6175 6157 mov cx, strict word 00004h ; b9 04 00 6176 mov word [bp-006h], strict word 00000h ; c7 46 fa 00 00 6177 mov dx, di ; 89 fa 6178 mov ax, si ; 89 f0 6179 call 02f0ah ; e8 da f9 6180 cmp AL, strict byte 056h ; 3c 56 6181 jne short 03558h ; 75 24 6182 lea dx, [di+001h] ; 8d 55 01 6183 mov ax, si ; 89 f0 6184 call 02f0ah ; e8 ce f9 6185 cmp AL, strict byte 042h ; 3c 42 6186 jne short 03558h ; 75 18 6187 lea dx, [di+002h] ; 8d 55 02 6188 mov ax, si ; 89 f0 6189 call 02f0ah ; e8 c2 f9 6190 cmp AL, strict byte 045h ; 3c 45 6191 jne short 03558h ; 75 0c 6192 lea dx, [di+003h] ; 8d 55 03 6193 mov ax, si ; 89 f0 6194 call 02f0ah ; e8 b6 f9 6195 cmp AL, strict byte 032h ; 3c 32 6196 je short 03587h ; 74 2f 6197 mov dx, di ; 89 fa 6198 mov ax, si ; 89 f0 6199 call 02f0ah ; e8 ab f9 6200 cmp AL, strict byte 056h ; 3c 56 6201 jne short 0358ch ; 75 29 6202 lea dx, [di+001h] ; 8d 55 01 6203 mov ax, si ; 89 f0 6204 call 02f0ah ; e8 9f f9 6205 cmp AL, strict byte 045h ; 3c 45 6206 jne short 0358ch ; 75 1d 6207 lea dx, [di+002h] ; 8d 55 02 6208 mov ax, si ; 89 f0 6209 call 02f0ah ; e8 93 f9 6210 cmp AL, strict byte 053h ; 3c 53 6211 jne short 0358ch ; 75 11 6212 lea dx, [di+003h] ; 8d 55 03 6213 mov ax, si ; 89 f0 6214 call 02f0ah ; e8 87 f9 6215 cmp AL, strict byte 041h ; 3c 41 6216 jne short 0358ch ; 75 05 6217 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 6218 mov bx, strict word 00056h ; bb 56 00 6219 mov dx, di ; 89 fa 6220 mov ax, si ; 89 f0 6221 call 02f18h ; e8 82 f9 6222 lea dx, [di+001h] ; 8d 55 01 6223 mov bx, strict word 00045h ; bb 45 00 6224 mov ax, si ; 89 f0 6225 call 02f18h ; e8 77 f9 6226 lea dx, [di+002h] ; 8d 55 02 6227 mov bx, strict word 00053h ; bb 53 00 6228 mov ax, si ; 89 f0 6229 call 02f18h ; e8 6c f9 6230 lea dx, [di+003h] ; 8d 55 03 6231 mov bx, strict word 00041h ; bb 41 00 6232 mov ax, si ; 89 f0 6233 call 02f18h ; e8 61 f9 6234 lea dx, [di+004h] ; 8d 55 04 6235 mov bx, 00200h ; bb 00 02 6236 mov ax, si ; 89 f0 6237 call 02f34h ; e8 72 f9 6238 lea dx, [di+008h] ; 8d 55 08 6239 mov bx, 0c000h ; bb 00 c0 6240 mov ax, si ; 89 f0 6241 call 02f34h ; e8 67 f9 6242 lea dx, [di+006h] ; 8d 55 06 6243 mov bx, 07e20h ; bb 20 7e 6244 mov ax, si ; 89 f0 6245 call 02f34h ; e8 5c f9 6246 lea dx, [di+00ah] ; 8d 55 0a 6247 mov bx, strict word 00001h ; bb 01 00 6248 mov ax, si ; 89 f0 6249 call 02f18h ; e8 35 f9 6250 lea dx, [di+00bh] ; 8d 55 0b 6251 xor bx, bx ; 31 db 6252 mov ax, si ; 89 f0 6253 call 02f18h ; e8 2b f9 6254 lea dx, [di+00ch] ; 8d 55 0c 6255 xor bx, bx ; 31 db 6256 mov ax, si ; 89 f0 6257 call 02f18h ; e8 21 f9 6258 lea dx, [di+00dh] ; 8d 55 0d 6259 xor bx, bx ; 31 db 6260 mov ax, si ; 89 f0 6261 call 02f18h ; e8 17 f9 6262 lea dx, [di+010h] ; 8d 55 10 6263 mov bx, si ; 89 f3 6264 mov ax, si ; 89 f0 6265 call 02f34h ; e8 29 f9 6266 lea bx, [di+022h] ; 8d 5d 22 6267 lea dx, [di+00eh] ; 8d 55 0e 6268 mov ax, si ; 89 f0 6269 call 02f34h ; e8 1e f9 6158 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 6159 mov es, [bp-002h] ; 8e 46 fe 6160 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6161 jne short 0353eh ; 75 07 6162 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6163 je short 0354dh ; 74 0f 6164 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6165 jne short 03552h ; 75 0c 6166 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6167 jne short 03552h ; 75 05 6168 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 6169 mov es, [bp-002h] ; 8e 46 fe 6170 db 066h, 026h, 0c7h, 007h, 056h, 045h, 053h, 041h 6171 ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 6172 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6173 mov word [es:bx+006h], 07e24h ; 26 c7 47 06 24 7e 6174 mov [es:bx+008h], ds ; 26 8c 5f 08 6175 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h 6176 ; mov dword [es:bx+00ah], strict dword 000000001h ; 66 26 c7 47 0a 01 00 00 00 6177 mov word [es:bx+010h], di ; 26 89 7f 10 6178 mov ax, word [bp-004h] ; 8b 46 fc 6179 add ax, strict word 00022h ; 05 22 00 6180 mov word [es:bx+00eh], ax ; 26 89 47 0e 6270 6181 mov dx, strict word 0ffffh ; ba ff ff 6271 6182 mov ax, 003b6h ; b8 b6 03 6272 call 0346bh ; e8 4c fe 6273 lea dx, [di+012h] ; 8d 55 12 6274 mov bx, ax ; 89 c3 6275 mov ax, si ; 89 f0 6276 call 02f34h ; e8 0b f9 6277 cmp word [bp-006h], strict byte 00000h ; 83 7e fa 00 6278 je short 0367ch ; 74 4d 6279 lea dx, [di+014h] ; 8d 55 14 6280 mov bx, strict word 00003h ; bb 03 00 6281 mov ax, si ; 89 f0 6282 call 02f34h ; e8 fa f8 6283 lea dx, [di+018h] ; 8d 55 18 6284 mov bx, 0c000h ; bb 00 c0 6285 mov ax, si ; 89 f0 6286 call 02f34h ; e8 ef f8 6287 lea dx, [di+016h] ; 8d 55 16 6288 mov bx, 07e35h ; bb 35 7e 6289 mov ax, si ; 89 f0 6290 call 02f34h ; e8 e4 f8 6291 lea dx, [di+01ch] ; 8d 55 1c 6292 mov bx, 0c000h ; bb 00 c0 6293 mov ax, si ; 89 f0 6294 call 02f34h ; e8 d9 f8 6295 lea dx, [di+01ah] ; 8d 55 1a 6296 mov bx, 07e48h ; bb 48 7e 6297 mov ax, si ; 89 f0 6298 call 02f34h ; e8 ce f8 6299 lea dx, [di+020h] ; 8d 55 20 6300 mov bx, 0c000h ; bb 00 c0 6301 mov ax, si ; 89 f0 6302 call 02f34h ; e8 c3 f8 6303 lea dx, [di+01eh] ; 8d 55 1e 6304 mov bx, 07e69h ; bb 69 7e 6305 mov ax, si ; 89 f0 6306 call 02f34h ; e8 b8 f8 6183 call 03467h ; e8 da fe 6184 mov es, [bp-002h] ; 8e 46 fe 6185 mov word [es:bx+012h], ax ; 26 89 47 12 6186 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 6187 je short 035beh ; 74 24 6188 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6189 mov word [es:bx+016h], 07e39h ; 26 c7 47 16 39 7e 6190 mov [es:bx+018h], ds ; 26 8c 5f 18 6191 mov word [es:bx+01ah], 07e4ch ; 26 c7 47 1a 4c 7e 6192 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6193 mov word [es:bx+01eh], 07e6dh ; 26 c7 47 1e 6d 7e 6194 mov [es:bx+020h], ds ; 26 8c 5f 20 6307 6195 mov dx, cx ; 89 ca 6308 6196 add dx, strict byte 0001bh ; 83 c2 1b 6309 6197 mov ax, 003b6h ; b8 b6 03 6310 call 0347 ah ; e8 f3 fd6198 call 03476h ; e8 ad fe 6311 6199 xor ah, ah ; 30 e4 6312 cmp ax, word [bp-00 2h] ; 3b 46 fe6313 jnbe short 03 6a6h ; 77 186200 cmp ax, word [bp-00ah] ; 3b 46 f6 6201 jnbe short 035e9h ; 77 19 6314 6202 mov dx, cx ; 89 ca 6315 6203 mov ax, 003b6h ; b8 b6 03 6316 call 0346bh ; e8 d5 fd 6204 call 03467h ; e8 8f fe 6205 mov bx, ax ; 89 c3 6317 6206 mov dx, word [bp-004h] ; 8b 56 fc 6318 add dx, di ; 01 fa 6207 add dx, word [bp-006h] ; 03 56 fa 6208 mov ax, di ; 89 f8 6209 call 02f1eh ; e8 39 f9 6210 add word [bp-006h], strict byte 00002h ; 83 46 fa 02 6211 add cx, strict byte 00044h ; 83 c1 44 6212 mov dx, cx ; 89 ca 6213 mov ax, 003b6h ; b8 b6 03 6214 call 03467h ; e8 73 fe 6319 6215 mov bx, ax ; 89 c3 6320 mov ax, si ; 89 f06321 call 02f34h ; e8 92 f86322 add word [bp-004h], strict byte 00002h ; 83 46 fc 026323 add cx, strict byte 00044h ; 83 c1 446324 mov dx, cx ; 89 ca6325 mov ax, 003b6h ; b8 b6 036326 call 0346bh ; e8 ba fd6327 6216 cmp ax, strict word 0ffffh ; 3d ff ff 6328 jne short 03 67ch ; 75 c66217 jne short 035beh ; 75 c3 6329 6218 mov dx, word [bp-004h] ; 8b 56 fc 6330 add dx, di ; 01 fa 6331 mov bx, ax ; 89 c3 6332 mov ax, si ; 89 f0 6333 call 02f34h ; e8 72 f8 6219 add dx, word [bp-006h] ; 03 56 fa 6220 mov ax, di ; 89 f8 6221 call 02f1eh ; e8 18 f9 6334 6222 push SS ; 16 6335 6223 pop ES ; 07 6336 mov bx, word [bp-008h] ; 8b 5e f8 6337 mov word [es:bx], strict word 0004fh ; 26 c7 07 4f 00 6224 mov word [es:si], strict word 0004fh ; 26 c7 04 4f 00 6338 6225 leave ; c9 6339 6226 pop di ; 5f … … 6341 6228 pop cx ; 59 6342 6229 retn ; c3 6343 vbe_biosfn_return_mode_information_: ; 0xc36 d1LB 0xb06230 vbe_biosfn_return_mode_information_: ; 0xc3612 LB 0xb0 6344 6231 push si ; 56 6345 6232 push di ; 57 … … 6354 6241 xor dh, dh ; 30 f6 6355 6242 and ah, 001h ; 80 e4 01 6356 call 0348 bh ; e8 9e fd6243 call 03487h ; e8 59 fe 6357 6244 mov word [bp-004h], ax ; 89 46 fc 6358 6245 test ax, ax ; 85 c0 6359 je near 03 772h ; 0f 84 7c 006246 je near 036b3h ; 0f 84 7c 00 6360 6247 mov cx, 00100h ; b9 00 01 6361 6248 xor ax, ax ; 31 c0 … … 6363 6250 mov es, bx ; 8e c3 6364 6251 cld ; fc 6365 jcxz 03 705h ; e3 026252 jcxz 03646h ; e3 02 6366 6253 rep stosb ; f3 aa 6367 6254 xor cx, cx ; 31 c9 6368 jmp short 03 70eh ; eb 056255 jmp short 0364fh ; eb 05 6369 6256 cmp cx, strict byte 00042h ; 83 f9 42 6370 jnc short 03 72bh ; 73 1d6257 jnc short 0366ch ; 73 1d 6371 6258 mov dx, word [bp-004h] ; 8b 56 fc 6372 6259 inc dx ; 42 … … 6374 6261 add dx, cx ; 01 ca 6375 6262 mov ax, 003b6h ; b8 b6 03 6376 call 0347 ah ; e8 5f fd6263 call 03476h ; e8 1a fe 6377 6264 movzx bx, al ; 0f b6 d8 6378 6265 mov dx, word [bp-002h] ; 8b 56 fe 6379 6266 add dx, cx ; 01 ca 6380 6267 mov ax, si ; 89 f0 6381 call 02f 18h ; e8 f0 f76382 inc cx ; 41 6383 jmp short 03 709h ; eb de6268 call 02f02h ; e8 99 f8 6269 inc cx ; 41 6270 jmp short 0364ah ; eb de 6384 6271 mov dx, word [bp-002h] ; 8b 56 fe 6385 6272 inc dx ; 42 6386 6273 inc dx ; 42 6387 6274 mov ax, si ; 89 f0 6388 call 02 f0ah ; e8 d5 f76275 call 02ef4h ; e8 7e f8 6389 6276 test AL, strict byte 001h ; a8 01 6390 je short 03 755h ; 74 1c6277 je short 03696h ; 74 1c 6391 6278 mov dx, word [bp-002h] ; 8b 56 fe 6392 6279 add dx, strict byte 0000ch ; 83 c2 0c 6393 mov bx, 006 35h ; bb 35066394 mov ax, si ; 89 f0 6395 call 02f 34h ; e8 ed f76280 mov bx, 00613h ; bb 13 06 6281 mov ax, si ; 89 f0 6282 call 02f1eh ; e8 96 f8 6396 6283 mov dx, word [bp-002h] ; 8b 56 fe 6397 6284 add dx, strict byte 0000eh ; 83 c2 0e 6398 6285 mov bx, 0c000h ; bb 00 c0 6399 6286 mov ax, si ; 89 f0 6400 call 02f 34h ; e8 df f76287 call 02f1eh ; e8 88 f8 6401 6288 mov ax, strict word 0000bh ; b8 0b 00 6402 6289 mov dx, 001ceh ; ba ce 01 … … 6408 6295 mov bx, ax ; 89 c3 6409 6296 mov ax, si ; 89 f0 6410 call 02f 34h ; e8 c7 f76297 call 02f1eh ; e8 70 f8 6411 6298 mov ax, strict word 0004fh ; b8 4f 00 6412 jmp short 03 775h ; eb 036299 jmp short 036b6h ; eb 03 6413 6300 mov ax, 00100h ; b8 00 01 6414 6301 push SS ; 16 … … 6420 6307 pop si ; 5e 6421 6308 retn ; c3 6422 vbe_biosfn_set_mode_: ; 0xc3 781 LB 0xf76309 vbe_biosfn_set_mode_: ; 0xc36c2 LB 0xe4 6423 6310 push si ; 56 6311 push di ; 57 6424 6312 enter 00006h, 000h ; c8 06 00 00 6425 6313 mov si, ax ; 89 c6 … … 6428 6316 db 00fh, 095h, 0c0h 6429 6317 ; setne al ; 0f 95 c0 6430 xor ah, ah ; 30 e46431 mov dx, ax ; 89 c26432 test ax, ax ; 85 c06433 je short 03 79dh ; 74 036434 mov ax, strict word 00040h ; b840 006435 mov byte [bp-002h], al ; 88 46 fe6318 movzx dx, al ; 0f b6 d0 6319 mov ax, dx ; 89 d0 6320 test dx, dx ; 85 d2 6321 je short 036e0h ; 74 03 6322 mov dx, strict word 00040h ; ba 40 00 6323 mov byte [bp-002h], dl ; 88 56 fe 6436 6324 test byte [bp-005h], 080h ; f6 46 fb 80 6437 je short 03 7abh ; 74 056438 mov ax, 00080h ; b880 006439 jmp short 03 7adh ; eb 026440 xor ax, ax ; 31 c06441 mov byte [bp-004h], al ; 88 46 fc6325 je short 036eeh ; 74 05 6326 mov dx, 00080h ; ba 80 00 6327 jmp short 036f0h ; eb 02 6328 xor dx, dx ; 31 d2 6329 mov byte [bp-004h], dl ; 88 56 fc 6442 6330 and byte [bp-005h], 001h ; 80 66 fb 01 6443 6331 cmp word [bp-006h], 00100h ; 81 7e fa 00 01 6444 jnc short 037 cdh ; 73 126332 jnc short 03710h ; 73 12 6445 6333 xor ax, ax ; 31 c0 6446 call 005 f9h ; e8 39ce6334 call 005d7h ; e8 d4 ce 6447 6335 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6448 call 00fc1h ; e8 fa d76336 call 00fc1h ; e8 b7 d8 6449 6337 mov ax, strict word 0004fh ; b8 4f 00 6450 jmp near 03872h ; e9 a5 00 6338 jmp near 0379fh ; e9 8f 00 6339 mov dx, ax ; 89 c2 6451 6340 mov ax, word [bp-006h] ; 8b 46 fa 6452 call 0348 bh ; e8 b8 fc6341 call 03487h ; e8 6f fd 6453 6342 mov bx, ax ; 89 c3 6454 mov cx, ax ; 89 c16455 6343 test ax, ax ; 85 c0 6456 je near 03 86fh ; 0f 84 92006344 je near 0379ch ; 0f 84 7c 00 6457 6345 lea dx, [bx+014h] ; 8d 57 14 6458 6346 mov ax, 003b6h ; b8 b6 03 6459 call 0346bh ; e8 85 fc 6347 call 03467h ; e8 3e fd 6348 mov cx, ax ; 89 c1 6460 6349 lea dx, [bx+016h] ; 8d 57 16 6461 6350 mov ax, 003b6h ; b8 b6 03 6462 call 0346bh ; e8 7c fc 6351 call 03467h ; e8 33 fd 6352 mov di, ax ; 89 c7 6463 6353 lea dx, [bx+01bh] ; 8d 57 1b 6464 6354 mov ax, 003b6h ; b8 b6 03 6465 call 0347ah ; e8 82 fc 6355 call 03476h ; e8 37 fd 6356 mov bl, al ; 88 c3 6466 6357 mov dl, al ; 88 c2 6467 6358 xor ax, ax ; 31 c0 6468 call 005 f9h ; e8 fa cd6469 cmp dl, 004h ; 80 fa046470 jne short 03 80ah ; 75 066359 call 005d7h ; e8 8f ce 6360 cmp bl, 004h ; 80 fb 04 6361 jne short 03753h ; 75 06 6471 6362 mov ax, strict word 0006ah ; b8 6a 00 6472 call 00fc1h ; e8 b7 d7 6473 mov dx, cx ; 89 ca 6474 add dx, strict byte 0001bh ; 83 c2 1b 6475 mov ax, 003b6h ; b8 b6 03 6476 call 0347ah ; e8 65 fc 6477 xor ah, ah ; 30 e4 6478 call 03453h ; e8 39 fc 6479 mov dx, cx ; 89 ca 6480 add dx, strict byte 00014h ; 83 c2 14 6481 mov ax, 003b6h ; b8 b6 03 6482 call 0346bh ; e8 46 fc 6483 call 03423h ; e8 fb fb 6484 mov dx, cx ; 89 ca 6485 add dx, strict byte 00016h ; 83 c2 16 6486 mov ax, 003b6h ; b8 b6 03 6487 call 0346bh ; e8 38 fc 6488 call 0343bh ; e8 05 fc 6363 call 00fc1h ; e8 6e d8 6364 movzx ax, dl ; 0f b6 c2 6365 call 0344fh ; e8 f6 fc 6366 mov ax, cx ; 89 c8 6367 call 0341fh ; e8 c1 fc 6368 mov ax, di ; 89 f8 6369 call 03437h ; e8 d4 fc 6489 6370 xor ax, ax ; 31 c0 6490 call 00 617h ; e8 dc cd6371 call 005f5h ; e8 8d ce 6491 6372 mov al, byte [bp-004h] ; 8a 46 fc 6492 6373 or AL, strict byte 001h ; 0c 01 … … 6494 6375 movzx ax, byte [bp-002h] ; 0f b6 46 fe 6495 6376 or ax, dx ; 09 d0 6496 call 005 f9h ; e8 ad cd6497 call 006 f3h ; e8 a4 ce6377 call 005d7h ; e8 5e ce 6378 call 006d1h ; e8 55 cf 6498 6379 mov bx, word [bp-006h] ; 8b 5e fa 6499 6380 mov dx, 000bah ; ba ba 00 6500 6381 mov ax, strict word 00040h ; b8 40 00 6501 call 02f 34h ; e8 d9 f66382 call 02f1eh ; e8 96 f7 6502 6383 mov al, byte [bp-004h] ; 8a 46 fc 6503 6384 or AL, strict byte 060h ; 0c 60 … … 6505 6386 mov dx, 00087h ; ba 87 00 6506 6387 mov ax, strict word 00040h ; b8 40 00 6507 call 02f 18h ; e8 ac f66508 jmp near 037 c7h ; e9 58ff6388 call 02f02h ; e8 69 f7 6389 jmp near 0370ah ; e9 6e ff 6509 6390 mov ax, 00100h ; b8 00 01 6510 6391 mov word [ss:si], ax ; 36 89 04 6511 6392 leave ; c9 6393 pop di ; 5f 6512 6394 pop si ; 5e 6513 6395 retn ; c3 6514 vbe_biosfn_read_video_state_size_: ; 0xc3 878LB 0x86396 vbe_biosfn_read_video_state_size_: ; 0xc37a6 LB 0x8 6515 6397 push bp ; 55 6516 6398 mov bp, sp ; 89 e5 … … 6518 6400 pop bp ; 5d 6519 6401 retn ; c3 6520 vbe_biosfn_save_video_state_: ; 0xc3 880LB 0x586402 vbe_biosfn_save_video_state_: ; 0xc37ae LB 0x58 6521 6403 push bx ; 53 6522 6404 push cx ; 51 … … 6535 6417 mov dx, cx ; 89 ca 6536 6418 mov ax, di ; 89 f8 6537 call 02f 34h ; e8 91 f66419 call 02f1eh ; e8 4d f7 6538 6420 inc cx ; 41 6539 6421 inc cx ; 41 6540 6422 test byte [bp-002h], 001h ; f6 46 fe 01 6541 je short 038 d2h ; 74 276423 je short 03800h ; 74 27 6542 6424 mov si, strict word 00001h ; be 01 00 6543 jmp short 03 8b5h ; eb 056425 jmp short 037e3h ; eb 05 6544 6426 cmp si, strict byte 00009h ; 83 fe 09 6545 jnbe short 038 d2h ; 77 1d6427 jnbe short 03800h ; 77 1d 6546 6428 cmp si, strict byte 00004h ; 83 fe 04 6547 je short 03 8cfh ; 74 156429 je short 037fdh ; 74 15 6548 6430 mov ax, si ; 89 f0 6549 6431 mov dx, 001ceh ; ba ce 01 … … 6554 6436 mov dx, cx ; 89 ca 6555 6437 mov ax, di ; 89 f8 6556 call 02f 34h ; e8 67 f66438 call 02f1eh ; e8 23 f7 6557 6439 inc cx ; 41 6558 6440 inc cx ; 41 6559 6441 inc si ; 46 6560 jmp short 03 8b0h ; eb de6442 jmp short 037deh ; eb de 6561 6443 leave ; c9 6562 6444 pop di ; 5f … … 6565 6447 pop bx ; 5b 6566 6448 retn ; c3 6567 vbe_biosfn_restore_video_state_: ; 0xc38 d8LB 0x986449 vbe_biosfn_restore_video_state_: ; 0xc3806 LB 0x98 6568 6450 push bx ; 53 6569 6451 push cx ; 51 … … 6572 6454 mov cx, ax ; 89 c1 6573 6455 mov bx, dx ; 89 d3 6574 call 02f 26h ; e8 40f66456 call 02f10h ; e8 fc f6 6575 6457 mov word [bp-002h], ax ; 89 46 fe 6576 6458 inc bx ; 43 6577 6459 inc bx ; 43 6578 6460 test byte [bp-002h], 001h ; f6 46 fe 01 6579 jne short 03 901h ; 75 106461 jne short 0382fh ; 75 10 6580 6462 mov ax, strict word 00004h ; b8 04 00 6581 6463 mov dx, 001ceh ; ba ce 01 … … 6584 6466 mov dx, 001cfh ; ba cf 01 6585 6467 out DX, ax ; ef 6586 jmp short 03 96bh ; eb 6a6468 jmp short 03899h ; eb 6a 6587 6469 mov ax, strict word 00001h ; b8 01 00 6588 6470 mov dx, 001ceh ; ba ce 01 … … 6590 6472 mov dx, bx ; 89 da 6591 6473 mov ax, cx ; 89 c8 6592 call 02f 26h ; e8 17f66474 call 02f10h ; e8 d3 f6 6593 6475 mov dx, 001cfh ; ba cf 01 6594 6476 out DX, ax ; ef … … 6600 6482 mov dx, bx ; 89 da 6601 6483 mov ax, cx ; 89 c8 6602 call 02f 26h ; e8 03f66484 call 02f10h ; e8 bf f6 6603 6485 mov dx, 001cfh ; ba cf 01 6604 6486 out DX, ax ; ef … … 6610 6492 mov dx, bx ; 89 da 6611 6493 mov ax, cx ; 89 c8 6612 call 02f 26h ; e8 ef f56494 call 02f10h ; e8 ab f6 6613 6495 mov dx, 001cfh ; ba cf 01 6614 6496 out DX, ax ; ef … … 6622 6504 out DX, ax ; ef 6623 6505 mov si, strict word 00005h ; be 05 00 6624 jmp short 03 955h ; eb 056506 jmp short 03883h ; eb 05 6625 6507 cmp si, strict byte 00009h ; 83 fe 09 6626 jnbe short 03 96bh ; 77 166508 jnbe short 03899h ; 77 16 6627 6509 mov ax, si ; 89 f0 6628 6510 mov dx, 001ceh ; ba ce 01 … … 6630 6512 mov dx, bx ; 89 da 6631 6513 mov ax, cx ; 89 c8 6632 call 02f 26h ; e8 c4 f56514 call 02f10h ; e8 80 f6 6633 6515 mov dx, 001cfh ; ba cf 01 6634 6516 out DX, ax ; ef … … 6636 6518 inc bx ; 43 6637 6519 inc si ; 46 6638 jmp short 03 950h ; eb e56520 jmp short 0387eh ; eb e5 6639 6521 leave ; c9 6640 6522 pop si ; 5e … … 6642 6524 pop bx ; 5b 6643 6525 retn ; c3 6644 vbe_biosfn_save_restore_state_: ; 0xc3 970LB 0x896526 vbe_biosfn_save_restore_state_: ; 0xc389e LB 0x89 6645 6527 push si ; 56 6646 6528 push di ; 57 … … 6653 6535 xor ah, ah ; 30 e4 6654 6536 cmp ax, strict word 00002h ; 3d 02 00 6655 je short 03 9cfh ; 74 456537 je short 038fdh ; 74 45 6656 6538 cmp ax, strict word 00001h ; 3d 01 00 6657 je short 03 9b3h ; 74 246539 je short 038e1h ; 74 24 6658 6540 test ax, ax ; 85 c0 6659 jne short 039 ebh ; 75 586541 jne short 03919h ; 75 58 6660 6542 mov ax, word [bp-002h] ; 8b 46 fe 6661 call 028 2bh ; e8 92 ee6543 call 02815h ; e8 4e ef 6662 6544 mov cx, ax ; 89 c1 6663 6545 test byte [bp-002h], 008h ; f6 46 fe 08 6664 je short 03 9a6h ; 74 056665 call 03 878h ; e8 d4 fe6546 je short 038d4h ; 74 05 6547 call 037a6h ; e8 d4 fe 6666 6548 add ax, cx ; 01 c8 6667 6549 add ax, strict word 0003fh ; 05 3f 00 … … 6670 6552 pop ES ; 07 6671 6553 mov word [es:bx], ax ; 26 89 07 6672 jmp short 039 eeh ; eb 3b6554 jmp short 0391ch ; eb 3b 6673 6555 push SS ; 16 6674 6556 pop ES ; 07 … … 6676 6558 mov dx, cx ; 89 ca 6677 6559 mov ax, word [bp-002h] ; 8b 46 fe 6678 call 028 5dh ; e8 9d ee6560 call 02847h ; e8 59 ef 6679 6561 test byte [bp-002h], 008h ; f6 46 fe 08 6680 je short 039 eeh ; 74 286562 je short 0391ch ; 74 28 6681 6563 mov dx, ax ; 89 c2 6682 6564 mov ax, cx ; 89 c8 6683 call 03 880h ; e8 b3 fe6684 jmp short 039 eeh ; eb 1f6565 call 037aeh ; e8 b3 fe 6566 jmp short 0391ch ; eb 1f 6685 6567 push SS ; 16 6686 6568 pop ES ; 07 … … 6688 6570 mov dx, cx ; 89 ca 6689 6571 mov ax, word [bp-002h] ; 8b 46 fe 6690 call 02b c2h ; e8 e6 f16572 call 02bach ; e8 a2 f2 6691 6573 test byte [bp-002h], 008h ; f6 46 fe 08 6692 je short 039 eeh ; 74 0c6574 je short 0391ch ; 74 0c 6693 6575 mov dx, ax ; 89 c2 6694 6576 mov ax, cx ; 89 c8 6695 call 038 d8h ; e8 ef fe6696 jmp short 039 eeh ; eb 036577 call 03806h ; e8 ef fe 6578 jmp short 0391ch ; eb 03 6697 6579 mov di, 00100h ; bf 00 01 6698 6580 push SS ; 16 … … 6704 6586 retn 00002h ; c2 02 00 6705 6587 6706 ; Padding 0xc 07 bytes at 0xc39f96707 times 3 079 db 06588 ; Padding 0xcd9 bytes at 0xc3927 6589 times 3289 db 0 6708 6590 6709 section VBE32 progbits vstart=0x4600 align=1 ; size=0x11 1class=CODE group=AUTO6710 vesa_pm_start: ; 0xc4600 LB 0x11 06711 adc AL, strict byte 000h ; 14006712 dec bx ; 4b6713 add byte [ si], cl ; 00 0c6591 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO 6592 vesa_pm_start: ; 0xc4600 LB 0x114 6593 sbb byte [bx+si], al ; 18 00 6594 dec di ; 4f 6595 add byte [bx+si], dl ; 00 10 6714 6596 add word [bx+si], cx ; 01 08 6715 6597 add dh, cl ; 00 ce 6716 6598 add di, cx ; 01 cf 6599 add di, cx ; 01 cf 6600 add ax, dx ; 01 d0 6717 6601 add word [bp-048fdh], si ; 01 b6 03 b7 6718 6602 db 003h, 0ffh … … 6737 6621 db 066h, 03bh, 0d0h 6738 6622 ; cmp edx, eax ; 66 3b d0 6739 jne short 0464 6h ; 75 056623 jne short 0464ah ; 75 05 6740 6624 mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 6741 6625 mov ax, 0014fh ; b8 4f 01 6742 6626 retn ; c3 6743 6627 cmp bl, 080h ; 80 fb 80 6744 je short 0465 ah ; 74 0a6628 je short 0465eh ; 74 0a 6745 6629 cmp bl, 000h ; 80 fb 00 6746 je short 0466 ah ; 74 156630 je short 0466eh ; 74 15 6747 6631 mov eax, strict dword 052c30100h ; 66 b8 00 01 c3 52 6748 6632 mov edx, strict dword 0a8ec03dah ; 66 ba da 03 ec a8 … … 6750 6634 in AL, DX ; ec 6751 6635 test AL, strict byte 008h ; a8 08 6752 je short 0466 4h ; 74 fb6636 je short 04668h ; 74 fb 6753 6637 pop dx ; 5a 6754 6638 push ax ; 50 … … 6780 6664 pop ax ; 58 6781 6665 cmp si, strict byte 00004h ; 83 fe 04 6782 je short 046c 3h ; 74 176666 je short 046c7h ; 74 17 6783 6667 add si, strict byte 00007h ; 83 c6 07 6784 6668 shr si, 003h ; c1 ee 03 … … 6794 6678 ; xor dx, dx ; 33 d2 6795 6679 div si ; f7 f6 6796 jmp short 046 cfh ; eb 0c6680 jmp short 046d3h ; eb 0c 6797 6681 shr cx, 1 ; d1 e9 6798 6682 db 033h, 0d2h … … 6829 6713 mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 6830 6714 mov ax, 0014fh ; b8 4f 01 6831 vesa_pm_end: ; 0xc471 0LB 0x16715 vesa_pm_end: ; 0xc4714 LB 0x1 6832 6716 retn ; c3 6833 6717 6834 ; Padding 0xe f bytes at 0xc47116835 times 23 9db 06718 ; Padding 0xeb bytes at 0xc4715 6719 times 235 db 0 6836 6720 6837 section _DATA progbits vstart=0x4800 align=1 ; size=0x36e 1class=DATA group=DGROUP6838 _msg_vga_init: ; 0xc4800 LB 0x 2f6839 db 'Oracle VM VirtualBox Version 4. 1.51VGA BIOS', 00dh, 00ah, 000h6840 _vga_modes: ; 0xc48 2fLB 0x806721 section _DATA progbits vstart=0x4800 align=1 ; size=0x36e8 class=DATA group=DGROUP 6722 _msg_vga_init: ; 0xc4800 LB 0x32 6723 db 'Oracle VM VirtualBox Version 4.2.0_RC2 VGA BIOS', 00dh, 00ah, 000h 6724 _vga_modes: ; 0xc4832 LB 0x80 6841 6725 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 6842 6726 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 6847 6731 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6848 6732 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6849 _line_to_vpti: ; 0xc48 afLB 0x106733 _line_to_vpti: ; 0xc48b2 LB 0x10 6850 6734 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 6851 _dac_regs: ; 0xc48 bfLB 0x46735 _dac_regs: ; 0xc48c2 LB 0x4 6852 6736 dd 0ff3f3f3fh 6853 _video_param_table: ; 0xc48c 3LB 0x7806737 _video_param_table: ; 0xc48c6 LB 0x780 6854 6738 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6855 6739 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 6972 6856 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 6973 6857 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 6974 _palette0: ; 0xc504 3LB 0xc06858 _palette0: ; 0xc5046 LB 0xc0 6975 6859 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6976 6860 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 6985 6869 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6986 6870 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6987 _palette1: ; 0xc510 3LB 0xc06871 _palette1: ; 0xc5106 LB 0xc0 6988 6872 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6989 6873 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 6998 6882 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6999 6883 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7000 _palette2: ; 0xc51c 3LB 0xc06884 _palette2: ; 0xc51c6 LB 0xc0 7001 6885 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7002 6886 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7011 6895 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7012 6896 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7013 _palette3: ; 0xc528 3LB 0x3006897 _palette3: ; 0xc5286 LB 0x300 7014 6898 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7015 6899 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7060 6944 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7061 6945 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7062 _static_functionality: ; 0xc558 3LB 0x106946 _static_functionality: ; 0xc5586 LB 0x10 7063 6947 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7064 _video_save_pointer_table: ; 0xc559 3LB 0x1c7065 db 0c 3h, 048h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h6948 _video_save_pointer_table: ; 0xc5596 LB 0x1c 6949 db 0c6h, 048h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7066 6950 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7067 _vgafont8: ; 0xc55 afLB 0x8006951 _vgafont8: ; 0xc55b2 LB 0x800 7068 6952 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7069 6953 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7194 7078 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7195 7079 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7196 _vgafont14: ; 0xc5d afLB 0xe007080 _vgafont14: ; 0xc5db2 LB 0xe00 7197 7081 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7198 7082 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7419 7303 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7420 7304 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7421 _vgafont16: ; 0xc6b afLB 0x10007305 _vgafont16: ; 0xc6bb2 LB 0x1000 7422 7306 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7423 7307 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 7676 7560 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 7677 7561 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7678 _vgafont14alt: ; 0xc7b afLB 0x12d7562 _vgafont14alt: ; 0xc7bb2 LB 0x12d 7679 7563 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 7680 7564 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 7696 7580 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 7697 7581 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 7698 _vgafont16alt: ; 0xc7cd c LB 0x1447582 _vgafont16alt: ; 0xc7cdf LB 0x145 7699 7583 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 7700 7584 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 7717 7601 db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh 7718 7602 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 7719 db 006h, 000h, 000h, 000h 7720 _vbebios_copyright: ; 0xc7e2 0LB 0x157603 db 006h, 000h, 000h, 000h, 000h 7604 _vbebios_copyright: ; 0xc7e24 LB 0x15 7721 7605 db 'VirtualBox VESA BIOS', 000h 7722 _vbebios_vendor_name: ; 0xc7e3 5LB 0x137606 _vbebios_vendor_name: ; 0xc7e39 LB 0x13 7723 7607 db 'Oracle Corporation', 000h 7724 _vbebios_product_name: ; 0xc7e4 8LB 0x217608 _vbebios_product_name: ; 0xc7e4c LB 0x21 7725 7609 db 'Oracle VM VirtualBox VBE Adapter', 000h 7726 _vbebios_product_revision: ; 0xc7e6 9 LB 0x247727 db 'Oracle VM VirtualBox Version 4. 1.51', 000h7728 _vbebios_info_string: ; 0xc7e 8dLB 0x2b7610 _vbebios_product_revision: ; 0xc7e6d LB 0x27 7611 db 'Oracle VM VirtualBox Version 4.2.0_RC2', 000h 7612 _vbebios_info_string: ; 0xc7e94 LB 0x2b 7729 7613 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 7730 _no_vbebios_info_string: ; 0xc7eb 8LB 0x297614 _no_vbebios_info_string: ; 0xc7ebf LB 0x29 7731 7615 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 7732 7616 7733 ; Padding 0x1 bytes at 0xc7ee1 7734 times 1 db 0 7735 7736 section CONST progbits vstart=0x7ee2 align=1 ; size=0x2e class=DATA group=DGROUP 7617 section CONST progbits vstart=0x7ee8 align=1 ; size=0x2e class=DATA group=DGROUP 7737 7618 db 'Signature NOT found! %x', 00ah, 000h 7738 7619 db 'Signature NOT found', 00ah, 000h 7739 7620 7740 section CONST2 progbits vstart=0x7f1 0align=1 ; size=0x0 class=DATA group=DGROUP7621 section CONST2 progbits vstart=0x7f16 align=1 ; size=0x0 class=DATA group=DGROUP 7741 7622 7742 ; Padding 0x f0 bytes at 0xc7f107743 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7744 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7745 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7746 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7747 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7748 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7749 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7750 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7751 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7752 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7753 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7754 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7755 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7756 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7757 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 00h, 000h, 000h, 000h, 000h, 000h, 041h7623 ; Padding 0xea bytes at 0xc7f16 7624 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7625 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7626 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7627 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7628 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7629 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7630 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7631 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7632 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7633 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7634 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7635 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7636 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7637 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7638 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh -
trunk/src/VBox/Devices/Graphics/BIOS-new/VBoxVgaBiosAlternative.md5sum
r42454 r43078 1 3cbb45d118bbb62f3fe41ea02ab546cd*VBoxVgaBios.rom1 54250906f009213dc80a23cc2201d899 *VBoxVgaBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.