Changeset 67771 in vbox for trunk/src/VBox/Devices/Graphics/BIOS
- Timestamp:
- Jul 4, 2017 11:02:25 AM (7 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics/BIOS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm
r63627 r67771 165 165 166 166 167 section VGAROM progbits vstart=0x0 align=1 ; size=0x 985class=CODE group=AUTO167 section VGAROM progbits vstart=0x0 align=1 ; size=0x8fd class=CODE group=AUTO 168 168 db 055h, 0aah, 040h, 0e9h, 063h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 169 169 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h … … 173 173 cmp ah, 00fh ; 80 fc 0f 174 174 jne short 0002eh ; 75 06 175 call 001 83h ; e8 5801176 jmp near 000 f3h ; e9 c500175 call 0017ah ; e8 4f 01 176 jmp near 000eah ; e9 bc 00 177 177 cmp ah, 01ah ; 80 fc 1a 178 178 jne short 00039h ; 75 06 179 call 005 38h ; e8 02 05180 jmp near 000 f3h ; e9 ba00179 call 0052fh ; e8 f9 04 180 jmp near 000eah ; e9 b1 00 181 181 cmp ah, 00bh ; 80 fc 0b 182 182 jne short 00044h ; 75 06 183 call 000 f5h ; e8 b400184 jmp near 000 f3h ; e9 af00183 call 000ech ; e8 ab 00 184 jmp near 000eah ; e9 a6 00 185 185 cmp ax, 01103h ; 3d 03 11 186 186 jne short 0004fh ; 75 06 187 call 0042 fh ; e8 e303188 jmp near 000 f3h ; e9 a400187 call 00426h ; e8 da 03 188 jmp near 000eah ; e9 9b 00 189 189 cmp ah, 012h ; 80 fc 12 190 190 jne short 00092h ; 75 3e 191 191 cmp bl, 010h ; 80 fb 10 192 192 jne short 0005fh ; 75 06 193 call 0043 ch ; e8 e003194 jmp near 000 f3h ; e9 9400193 call 00433h ; e8 d7 03 194 jmp near 000eah ; e9 8b 00 195 195 cmp bl, 030h ; 80 fb 30 196 196 jne short 0006ah ; 75 06 197 call 0045 fh ; e8 f803198 jmp near 000 f3h ; e9 8900197 call 00456h ; e8 ef 03 198 jmp near 000eah ; e9 80 00 199 199 cmp bl, 031h ; 80 fb 31 200 200 jne short 00074h ; 75 05 201 call 004 b2h ; e8 4004202 jmp short 000 f3h ; eb 7f201 call 004a9h ; e8 37 04 202 jmp short 000eah ; eb 76 203 203 cmp bl, 032h ; 80 fb 32 204 204 jne short 0007eh ; 75 05 205 call 004 d4h ; e8 5804206 jmp short 000 f3h ; eb 75205 call 004cbh ; e8 4f 04 206 jmp short 000eah ; eb 6c 207 207 cmp bl, 033h ; 80 fb 33 208 208 jne short 00088h ; 75 05 209 call 004 f2h ; e8 6c04210 jmp short 000 f3h ; eb 6b209 call 004e9h ; e8 63 04 210 jmp short 000eah ; eb 62 211 211 cmp bl, 034h ; 80 fb 34 212 jne short 000 e5h ; 75 58213 call 005 16h ; e8 8604214 jmp short 000 f3h ; eb 61212 jne short 000dch ; 75 4f 213 call 0050dh ; e8 7d 04 214 jmp short 000eah ; eb 58 215 215 cmp ax, 0101bh ; 3d 1b 10 216 je short 000 e5h ; 74 4e216 je short 000dch ; 74 45 217 217 cmp ah, 010h ; 80 fc 10 218 218 jne short 000a1h ; 75 05 219 call 001a ah ; e8 0b01220 jmp short 000 f3h ; eb 52219 call 001a1h ; e8 02 01 220 jmp short 000eah ; eb 49 221 221 cmp ah, 04fh ; 80 fc 4f 222 jne short 000 e5h ; 75 3f222 jne short 000dch ; 75 36 223 223 cmp AL, strict byte 003h ; 3c 03 224 224 jne short 000afh ; 75 05 225 call 00 80dh ; e8 6007226 jmp short 000 f3h ; eb 44225 call 007d2h ; e8 25 07 226 jmp short 000eah ; eb 3b 227 227 cmp AL, strict byte 005h ; 3c 05 228 228 jne short 000b8h ; 75 05 229 call 00 832h ; e8 7c07230 jmp short 000 f3h ; eb 3b231 cmp AL, strict byte 00 6h ; 3c 06229 call 007f7h ; e8 41 07 230 jmp short 000eah ; eb 32 231 cmp AL, strict byte 007h ; 3c 07 232 232 jne short 000c1h ; 75 05 233 call 008 5fh ; e8 a007234 jmp short 000 f3h ; eb 32235 cmp AL, strict byte 00 7h ; 3c 07233 call 00824h ; e8 65 07 234 jmp short 000eah ; eb 29 235 cmp AL, strict byte 008h ; 3c 08 236 236 jne short 000cah ; 75 05 237 call 008 ach ; e8 e407238 jmp short 000 f3h ; eb 29239 cmp AL, strict byte 00 8h ; 3c 08237 call 00858h ; e8 90 07 238 jmp short 000eah ; eb 20 239 cmp AL, strict byte 009h ; 3c 09 240 240 jne short 000d3h ; 75 05 241 call 008 e0h ; e8 0f 08242 jmp short 000 f3h ; eb 20243 cmp AL, strict byte 00 9h ; 3c 09241 call 0088fh ; e8 be 07 242 jmp short 000eah ; eb 17 243 cmp AL, strict byte 00ah ; 3c 0a 244 244 jne short 000dch ; 75 05 245 call 00917h ; e8 3d 08 246 jmp short 000f3h ; eb 17 247 cmp AL, strict byte 00ah ; 3c 0a 248 jne short 000e5h ; 75 05 249 call 0096eh ; e8 8b 08 250 jmp short 000f3h ; eb 0e 245 call 008e6h ; e8 0c 08 246 jmp short 000eah ; eb 0e 251 247 push ES ; 06 252 248 push DS ; 1e … … 254 250 mov bx, 0c000h ; bb 00 c0 255 251 mov ds, bx ; 8e db 256 call 032 2eh ; e8 3e 31252 call 03245h ; e8 5e 31 257 253 popaw ; 61 258 254 pop DS ; 1f … … 261 257 iret ; cf 262 258 cmp bh, 000h ; 80 ff 00 263 je short 00 100h ; 74 06259 je short 000f7h ; 74 06 264 260 cmp bh, 001h ; 80 ff 01 265 je short 001 51h ; 74 52261 je short 00148h ; 74 52 266 262 retn ; c3 267 263 push ax ; 50 … … 275 271 in AL, DX ; ec 276 272 cmp byte [word 00049h], 003h ; 80 3e 49 00 03 277 jbe short 001 44h ; 76 2f273 jbe short 0013bh ; 76 2f 278 274 mov dx, 003c0h ; ba c0 03 279 275 mov AL, strict byte 000h ; b0 00 … … 283 279 and AL, strict byte 00fh ; 24 0f 284 280 test AL, strict byte 008h ; a8 08 285 je short 001 25h ; 74 02281 je short 0011ch ; 74 02 286 282 add AL, strict byte 008h ; 04 08 287 283 out DX, AL ; ee … … 302 298 ; inc cl ; fe c1 303 299 cmp cl, 004h ; 80 f9 04 304 jne short 0012 bh ; 75 e7300 jne short 00122h ; 75 e7 305 301 mov AL, strict byte 020h ; b0 20 306 302 out DX, AL ; ee … … 335 331 ; inc cl ; fe c1 336 332 cmp cl, 004h ; 80 f9 04 337 jne short 0015 eh ; 75 e7333 jne short 00155h ; 75 e7 338 334 mov AL, strict byte 020h ; b0 20 339 335 out DX, AL ; ee … … 368 364 retn ; c3 369 365 cmp AL, strict byte 000h ; 3c 00 370 jne short 001 b0h ; 75 02371 jmp short 002 11h ; eb 61366 jne short 001a7h ; 75 02 367 jmp short 00208h ; eb 61 372 368 cmp AL, strict byte 001h ; 3c 01 373 jne short 001 b6h ; 75 02374 jmp short 0022 fh ; eb 79369 jne short 001adh ; 75 02 370 jmp short 00226h ; eb 79 375 371 cmp AL, strict byte 002h ; 3c 02 376 jne short 001b ch ; 75 02377 jmp short 002 37h ; eb 7b372 jne short 001b3h ; 75 02 373 jmp short 0022eh ; eb 7b 378 374 cmp AL, strict byte 003h ; 3c 03 379 jne short 001 c3h ; 75 03380 jmp near 002 68h ; e9 a5 00375 jne short 001bah ; 75 03 376 jmp near 0025fh ; e9 a5 00 381 377 cmp AL, strict byte 007h ; 3c 07 382 jne short 001c ah ; 75 03383 jmp near 002 92h ; e9 c8 00378 jne short 001c1h ; 75 03 379 jmp near 00289h ; e9 c8 00 384 380 cmp AL, strict byte 008h ; 3c 08 385 jne short 001 d1h ; 75 03386 jmp near 002b ah ; e9 e9 00381 jne short 001c8h ; 75 03 382 jmp near 002b1h ; e9 e9 00 387 383 cmp AL, strict byte 009h ; 3c 09 388 jne short 001 d8h ; 75 03389 jmp near 002 c8h ; e9 f0 00384 jne short 001cfh ; 75 03 385 jmp near 002bfh ; e9 f0 00 390 386 cmp AL, strict byte 010h ; 3c 10 391 jne short 001d fh ; 75 03392 jmp near 0030 dh ; e9 2e 01387 jne short 001d6h ; 75 03 388 jmp near 00304h ; e9 2e 01 393 389 cmp AL, strict byte 012h ; 3c 12 394 jne short 001 e6h ; 75 03395 jmp near 003 26h ; e9 40 01390 jne short 001ddh ; 75 03 391 jmp near 0031dh ; e9 40 01 396 392 cmp AL, strict byte 013h ; 3c 13 397 jne short 001e dh ; 75 03398 jmp near 0034 eh ; e9 61 01393 jne short 001e4h ; 75 03 394 jmp near 00345h ; e9 61 01 399 395 cmp AL, strict byte 015h ; 3c 15 400 jne short 001 f4h ; 75 03401 jmp near 003 95h ; e9 a1 01396 jne short 001ebh ; 75 03 397 jmp near 0038ch ; e9 a1 01 402 398 cmp AL, strict byte 017h ; 3c 17 403 jne short 001f bh ; 75 03404 jmp near 003 b0h ; e9 b5 01399 jne short 001f2h ; 75 03 400 jmp near 003a7h ; e9 b5 01 405 401 cmp AL, strict byte 018h ; 3c 18 406 jne short 00 202h ; 75 03407 jmp near 003 d8h ; e9 d6 01402 jne short 001f9h ; 75 03 403 jmp near 003cfh ; e9 d6 01 408 404 cmp AL, strict byte 019h ; 3c 19 409 jne short 0020 9h ; 75 03410 jmp near 003 e3h ; e9 da 01405 jne short 00200h ; 75 03 406 jmp near 003dah ; e9 da 01 411 407 cmp AL, strict byte 01ah ; 3c 1a 412 jne short 002 10h ; 75 03413 jmp near 003e eh ; e9 de 01408 jne short 00207h ; 75 03 409 jmp near 003e5h ; e9 de 01 414 410 retn ; c3 415 411 cmp bl, 014h ; 80 fb 14 416 jnbe short 0022 eh ; 77 18412 jnbe short 00225h ; 77 18 417 413 push ax ; 50 418 414 push dx ; 52 … … 435 431 push bx ; 53 436 432 mov BL, strict byte 011h ; b3 11 437 call 002 11h ; e8 dc ff433 call 00208h ; e8 dc ff 438 434 pop bx ; 5b 439 435 retn ; c3 … … 457 453 ; inc cl ; fe c1 458 454 cmp cl, 010h ; 80 f9 10 459 jne short 002 46h ; 75 f1455 jne short 0023dh ; 75 f1 460 456 mov AL, strict byte 011h ; b0 11 461 457 out DX, AL ; ee … … 497 493 retn ; c3 498 494 cmp bl, 014h ; 80 fb 14 499 jnbe short 002b 9h ; 77 22495 jnbe short 002b0h ; 77 22 500 496 push ax ; 50 501 497 push dx ; 52 … … 523 519 push bx ; 53 524 520 mov BL, strict byte 011h ; b3 11 525 call 002 92h ; e8 d1 ff521 call 00289h ; e8 d1 ff 526 522 db 08ah, 0c7h 527 523 ; mov al, bh ; 8a c7 … … 551 547 ; inc cl ; fe c1 552 548 cmp cl, 010h ; 80 f9 10 553 jne short 002 d0h ; 75 e7549 jne short 002c7h ; 75 e7 554 550 mov dx, 003dah ; ba da 03 555 551 in AL, DX ; ec … … 616 612 inc bx ; 43 617 613 dec cx ; 49 618 jne short 003 37h ; 75 ee614 jne short 0032eh ; 75 ee 619 615 pop dx ; 5a 620 616 pop cx ; 59 … … 633 629 in AL, DX ; ec 634 630 and bl, 001h ; 80 e3 01 635 jne short 003 71h ; 75 0d631 jne short 00368h ; 75 0d 636 632 and AL, strict byte 07fh ; 24 7f 637 633 sal bh, 007h ; c0 e7 07 … … 640 636 mov dx, 003c0h ; ba c0 03 641 637 out DX, AL ; ee 642 jmp short 0038 ah ; eb 19638 jmp short 00381h ; eb 19 643 639 push ax ; 50 644 640 mov dx, 003dah ; ba da 03 … … 649 645 pop ax ; 58 650 646 and AL, strict byte 080h ; 24 80 651 jne short 003 84h ; 75 03647 jne short 0037bh ; 75 03 652 648 sal bh, 002h ; c0 e7 02 653 649 and bh, 00fh ; 80 e7 0f … … 708 704 inc bx ; 43 709 705 dec cx ; 49 710 jne short 003 c1h ; 75 ee706 jne short 003b8h ; 75 ee 711 707 pop dx ; 5a 712 708 pop cx ; 59 … … 755 751 and bh, 00fh ; 80 e7 0f 756 752 test bl, 001h ; f6 c3 01 757 jne short 0041 eh ; 75 03753 jne short 00415h ; 75 03 758 754 shr bh, 002h ; c0 ef 02 759 755 mov dx, 003dah ; ba da 03 … … 790 786 mov bx, strict word 00003h ; bb 03 00 791 787 cmp ax, 003b4h ; 3d b4 03 792 jne short 0045 ch ; 75 02788 jne short 00453h ; 75 02 793 789 mov BH, strict byte 001h ; b7 01 794 790 pop ax ; 58 … … 807 803 mov ah, byte [bx] ; 8a 27 808 804 cmp dl, 001h ; 80 fa 01 809 je short 0048 dh ; 74 15810 jc short 004 97h ; 72 1d805 je short 00484h ; 74 15 806 jc short 0048eh ; 72 1d 811 807 cmp dl, 002h ; 80 fa 02 812 je short 004 81h ; 74 02813 jmp short 004a bh ; eb 2a808 je short 00478h ; 74 02 809 jmp short 004a2h ; eb 2a 814 810 and AL, strict byte 07fh ; 24 7f 815 811 or AL, strict byte 010h ; 0c 10 816 812 and ah, 0f0h ; 80 e4 f0 817 813 or ah, 009h ; 80 cc 09 818 jne short 004 a1h ; 75 14814 jne short 00498h ; 75 14 819 815 and AL, strict byte 06fh ; 24 6f 820 816 and ah, 0f0h ; 80 e4 f0 821 817 or ah, 009h ; 80 cc 09 822 jne short 004 a1h ; 75 0a818 jne short 00498h ; 75 0a 823 819 and AL, strict byte 0efh ; 24 ef 824 820 or AL, strict byte 080h ; 0c 80 … … 914 910 retn ; c3 915 911 cmp AL, strict byte 000h ; 3c 00 916 je short 005 41h ; 74 05912 je short 00538h ; 74 05 917 913 cmp AL, strict byte 001h ; 3c 01 918 je short 005 56h ; 74 16914 je short 0054dh ; 74 16 919 915 retn ; c3 920 916 push DS ; 1e … … 948 944 pop DS ; 1f 949 945 retn ; c3 950 times 0x 5db 0946 times 0xe db 0 951 947 do_out_dx_ax: ; 0xc0570 LB 0x7 952 948 xchg ah, al ; 86 c4 … … 1054 1050 pop dx ; 5a 1055 1051 retn ; c3 1056 _dispi_set_bank_farcall: ; 0xc0629 LB 0x e41052 _dispi_set_bank_farcall: ; 0xc0629 LB 0xa9 1057 1053 cmp bx, 00100h ; 81 fb 00 01 1058 1054 je short 00653h ; 74 24 … … 1142 1138 pop ax ; 58 1143 1139 retn ; c3 1144 call 006b5h ; e8 e0 ff 1145 push dx ; 52 1146 push ax ; 50 1147 mov dx, 001ceh ; ba ce 01 1148 mov ax, strict word 00006h ; b8 06 00 1149 call 00570h ; e8 90 fe 1150 pop ax ; 58 1151 mov dx, 001cfh ; ba cf 01 1152 call 00570h ; e8 89 fe 1153 pop dx ; 5a 1154 retn ; c3 1155 push dx ; 52 1156 mov dx, 001ceh ; ba ce 01 1157 mov ax, strict word 00006h ; b8 06 00 1158 call 00570h ; e8 7d fe 1159 mov dx, 001cfh ; ba cf 01 1160 call 00577h ; e8 7e fe 1161 pop dx ; 5a 1162 retn ; c3 1163 push dx ; 52 1164 mov dx, 001ceh ; ba ce 01 1165 mov ax, strict word 00007h ; b8 07 00 1166 call 00570h ; e8 6b fe 1167 mov dx, 001cfh ; ba cf 01 1168 call 00577h ; e8 6c fe 1169 pop dx ; 5a 1170 retn ; c3 1171 _vga_compat_setup: ; 0xc070d LB 0xed 1140 _vga_compat_setup: ; 0xc06d2 LB 0xed 1172 1141 push ax ; 50 1173 1142 push dx ; 52 1174 1143 mov dx, 001ceh ; ba ce 01 1175 1144 mov ax, strict word 00001h ; b8 01 00 1176 call 00570h ; e8 58fe1145 call 00570h ; e8 93 fe 1177 1146 mov dx, 001cfh ; ba cf 01 1178 call 00577h ; e8 59fe1147 call 00577h ; e8 94 fe 1179 1148 push ax ; 50 1180 1149 mov dx, 003d4h ; ba d4 03 … … 1190 1159 out DX, ax ; ef 1191 1160 pop ax ; 58 1192 call 006b5h ; e8 80ff1161 call 006b5h ; e8 bb ff 1193 1162 mov dx, 001ceh ; ba ce 01 1194 1163 mov ax, strict word 00002h ; b8 02 00 1195 call 00570h ; e8 32fe1164 call 00570h ; e8 6d fe 1196 1165 mov dx, 001cfh ; ba cf 01 1197 call 00577h ; e8 33fe1166 call 00577h ; e8 6e fe 1198 1167 dec ax ; 48 1199 1168 push ax ; 50 … … 1210 1179 and AL, strict byte 0bdh ; 24 bd 1211 1180 test ah, 001h ; f6 c4 01 1212 je short 007 5dh ; 74 021181 je short 00722h ; 74 02 1213 1182 or AL, strict byte 002h ; 0c 02 1214 1183 test ah, 002h ; f6 c4 02 1215 je short 007 64h ; 74 021184 je short 00729h ; 74 02 1216 1185 or AL, strict byte 040h ; 0c 40 1217 1186 out DX, AL ; ee … … 1250 1219 mov dx, 001ceh ; ba ce 01 1251 1220 mov ax, strict word 00003h ; b8 03 00 1252 call 00570h ; e8 c2fd1221 call 00570h ; e8 fd fd 1253 1222 mov dx, 001cfh ; ba cf 01 1254 call 00577h ; e8 c3fd1223 call 00577h ; e8 fe fd 1255 1224 cmp AL, strict byte 008h ; 3c 08 1256 jc short 007 f8h ; 72 401225 jc short 007bdh ; 72 40 1257 1226 mov dx, 003d4h ; ba d4 03 1258 1227 mov AL, strict byte 014h ; b0 14 … … 1291 1260 pop dx ; 5a 1292 1261 pop ax ; 58 1293 _vbe_has_vbe_display: ; 0xc07 faLB 0x131262 _vbe_has_vbe_display: ; 0xc07bf LB 0x13 1294 1263 push DS ; 1e 1295 1264 push bx ; 53 … … 1304 1273 pop DS ; 1f 1305 1274 retn ; c3 1306 vbe_biosfn_return_current_mode: ; 0xc0 80dLB 0x251275 vbe_biosfn_return_current_mode: ; 0xc07d2 LB 0x25 1307 1276 push DS ; 1e 1308 1277 mov ax, strict word 00040h ; b8 40 00 1309 1278 mov ds, ax ; 8e d8 1310 call 005f1h ; e8 db fd1279 call 005f1h ; e8 16 fe 1311 1280 and ax, strict byte 00001h ; 83 e0 01 1312 je short 00 824h ; 74 091281 je short 007e9h ; 74 09 1313 1282 mov bx, 000bah ; bb ba 00 1314 1283 mov ax, word [bx] ; 8b 07 1315 1284 db 08bh, 0d8h 1316 1285 ; mov bx, ax ; 8b d8 1317 jne short 00 82dh ; 75 091286 jne short 007f2h ; 75 09 1318 1287 mov bx, strict word 00049h ; bb 49 00 1319 1288 mov al, byte [bx] ; 8a 07 … … 1325 1294 pop DS ; 1f 1326 1295 retn ; c3 1327 vbe_biosfn_display_window_control: ; 0xc0 832LB 0x2d1296 vbe_biosfn_display_window_control: ; 0xc07f7 LB 0x2d 1328 1297 cmp bl, 000h ; 80 fb 00 1329 jne short 008 5bh ; 75 241298 jne short 00820h ; 75 24 1330 1299 cmp bh, 001h ; 80 ff 01 1331 je short 008 52h ; 74 161332 jc short 008 42h ; 72 041300 je short 00817h ; 74 16 1301 jc short 00807h ; 72 04 1333 1302 mov ax, 00100h ; b8 00 01 1334 1303 retn ; c3 1335 1304 db 08bh, 0c2h 1336 1305 ; mov ax, dx ; 8b c2 1337 call 00603h ; e8 bcfd1338 call 00617h ; e8 cd fd1306 call 00603h ; e8 f7 fd 1307 call 00617h ; e8 08 fe 1339 1308 db 03bh, 0c2h 1340 1309 ; cmp ax, dx ; 3b c2 1341 jne short 008 5bh ; 75 0d1310 jne short 00820h ; 75 0d 1342 1311 mov ax, strict word 0004fh ; b8 4f 00 1343 1312 retn ; c3 1344 call 00617h ; e8 c2fd1313 call 00617h ; e8 fd fd 1345 1314 db 08bh, 0d0h 1346 1315 ; mov dx, ax ; 8b d0 … … 1349 1318 mov ax, 0014fh ; b8 4f 01 1350 1319 retn ; c3 1351 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc085f LB 0x4d 1320 vbe_biosfn_set_get_display_start: ; 0xc0824 LB 0x34 1321 cmp bl, 080h ; 80 fb 80 1322 je short 00834h ; 74 0b 1323 cmp bl, 001h ; 80 fb 01 1324 je short 00848h ; 74 1a 1325 jc short 0083ah ; 72 0a 1326 mov ax, 00100h ; b8 00 01 1327 retn ; c3 1328 call 00589h ; e8 52 fd 1329 call 0057ch ; e8 42 fd 1352 1330 db 08bh, 0c1h 1353 1331 ; mov ax, cx ; 8b c1 1354 cmp bl, 001h ; 80 fb 01 1355 je short 0088ah ; 74 24 1356 cmp bl, 002h ; 80 fb 02 1357 je short 00871h ; 74 06 1358 jc short 00887h ; 72 1a 1359 mov ax, 00100h ; b8 00 01 1360 retn ; c3 1361 push ax ; 50 1362 call 00596h ; e8 21 fd 1363 db 032h, 0ffh 1364 ; xor bh, bh ; 32 ff 1365 db 08ah, 0dch 1366 ; mov bl, ah ; 8a dc 1367 db 00ah, 0dbh 1368 ; or bl, bl ; 0a db 1369 pop ax ; 58 1370 jne short 00883h ; 75 05 1371 sal ax, 003h ; c1 e0 03 1372 mov BL, strict byte 001h ; b3 01 1373 db 033h, 0d2h 1374 ; xor dx, dx ; 33 d2 1375 div bx ; f7 f3 1376 call 006d2h ; e8 48 fe 1377 call 00596h ; e8 09 fd 1378 db 032h, 0ffh 1379 ; xor bh, bh ; 32 ff 1380 db 08ah, 0dch 1381 ; mov bl, ah ; 8a dc 1382 call 006e9h ; e8 55 fe 1332 call 00669h ; e8 2a fe 1333 db 08bh, 0c2h 1334 ; mov ax, dx ; 8b c2 1335 call 0068fh ; e8 4b fe 1336 mov ax, strict word 0004fh ; b8 4f 00 1337 retn ; c3 1338 call 0067dh ; e8 32 fe 1383 1339 db 08bh, 0c8h 1384 1340 ; mov cx, ax ; 8b c8 1385 db 00ah, 0dbh 1386 ; or bl, bl ; 0a db 1387 jne short 0089fh ; 75 05 1388 shr ax, 003h ; c1 e8 03 1389 mov BL, strict byte 001h ; b3 01 1390 mul bx ; f7 e3 1391 db 08bh, 0d8h 1392 ; mov bx, ax ; 8b d8 1393 call 006fbh ; e8 55 fe 1394 db 08bh, 0d0h 1395 ; mov dx, ax ; 8b d0 1396 mov ax, strict word 0004fh ; b8 4f 00 1397 retn ; c3 1398 vbe_biosfn_set_get_display_start: ; 0xc08ac LB 0x34 1399 cmp bl, 080h ; 80 fb 80 1400 je short 008bch ; 74 0b 1401 cmp bl, 001h ; 80 fb 01 1402 je short 008d0h ; 74 1a 1403 jc short 008c2h ; 72 0a 1404 mov ax, 00100h ; b8 00 01 1405 retn ; c3 1406 call 00589h ; e8 ca fc 1407 call 0057ch ; e8 ba fc 1408 db 08bh, 0c1h 1409 ; mov ax, cx ; 8b c1 1410 call 00669h ; e8 a2 fd 1411 db 08bh, 0c2h 1412 ; mov ax, dx ; 8b c2 1413 call 0068fh ; e8 c3 fd 1414 mov ax, strict word 0004fh ; b8 4f 00 1415 retn ; c3 1416 call 0067dh ; e8 aa fd 1417 db 08bh, 0c8h 1418 ; mov cx, ax ; 8b c8 1419 call 006a3h ; e8 cb fd 1341 call 006a3h ; e8 53 fe 1420 1342 db 08bh, 0d0h 1421 1343 ; mov dx, ax ; 8b d0 … … 1424 1346 mov ax, strict word 0004fh ; b8 4f 00 1425 1347 retn ; c3 1426 vbe_biosfn_set_get_dac_palette_format: ; 0xc08 e0LB 0x371348 vbe_biosfn_set_get_dac_palette_format: ; 0xc0858 LB 0x37 1427 1349 cmp bl, 001h ; 80 fb 01 1428 je short 00 903h ; 74 1e1429 jc short 008 ebh ; 72 041350 je short 0087bh ; 74 1e 1351 jc short 00863h ; 72 04 1430 1352 mov ax, 00100h ; b8 00 01 1431 1353 retn ; c3 1432 call 005f1h ; e8 03fd1354 call 005f1h ; e8 8b fd 1433 1355 cmp bh, 006h ; 80 ff 06 1434 je short 008 fdh ; 74 0a1356 je short 00875h ; 74 0a 1435 1357 cmp bh, 008h ; 80 ff 08 1436 jne short 00 913h ; 75 1b1358 jne short 0088bh ; 75 1b 1437 1359 or ax, strict byte 00020h ; 83 c8 20 1438 jne short 00 900h ; 75 031360 jne short 00878h ; 75 03 1439 1361 and ax, strict byte 0ffdfh ; 83 e0 df 1440 call 005ddh ; e8 da fc1362 call 005ddh ; e8 62 fd 1441 1363 mov BH, strict byte 006h ; b7 06 1442 call 005f1h ; e8 e9 fc1364 call 005f1h ; e8 71 fd 1443 1365 and ax, strict byte 00020h ; 83 e0 20 1444 je short 00 90fh ; 74 021366 je short 00887h ; 74 02 1445 1367 mov BH, strict byte 008h ; b7 08 1446 1368 mov ax, strict word 0004fh ; b8 4f 00 … … 1448 1370 mov ax, 0014fh ; b8 4f 01 1449 1371 retn ; c3 1450 vbe_biosfn_set_get_palette_data: ; 0xc0 917LB 0x571372 vbe_biosfn_set_get_palette_data: ; 0xc088f LB 0x57 1451 1373 test bl, bl ; 84 db 1452 je short 00 92ah ; 74 0f1374 je short 008a2h ; 74 0f 1453 1375 cmp bl, 001h ; 80 fb 01 1454 je short 00 94ah ; 74 2a1376 je short 008c2h ; 74 2a 1455 1377 cmp bl, 003h ; 80 fb 03 1456 jbe short 00 96ah ; 76 451378 jbe short 008e2h ; 76 45 1457 1379 cmp bl, 080h ; 80 fb 80 1458 jne short 00 966h ; 75 3c1380 jne short 008deh ; 75 3c 1459 1381 pushaw ; 60 1460 1382 push DS ; 1e … … 1479 1401 ; mov al, bl ; 8a c3 1480 1402 out DX, AL ; ee 1481 loop 00 937h ; e2 f31403 loop 008afh ; e2 f3 1482 1404 pop DS ; 1f 1483 1405 popaw ; 61 … … 1503 1425 ; mov ax, bx ; 8b c3 1504 1426 stosw ; ab 1505 loop 00 956h ; e2 f31427 loop 008ceh ; e2 f3 1506 1428 popaw ; 61 1507 jmp short 00 946h ; eb e01429 jmp short 008beh ; eb e0 1508 1430 mov ax, 0014fh ; b8 4f 01 1509 1431 retn ; c3 1510 1432 mov ax, 0024fh ; b8 4f 02 1511 1433 retn ; c3 1512 vbe_biosfn_return_protected_mode_interface: ; 0xc0 96eLB 0x171434 vbe_biosfn_return_protected_mode_interface: ; 0xc08e6 LB 0x17 1513 1435 test bl, bl ; 84 db 1514 jne short 00 981h ; 75 0f1436 jne short 008f9h ; 75 0f 1515 1437 mov di, 0c000h ; bf 00 c0 1516 1438 mov es, di ; 8e c7 … … 1522 1444 retn ; c3 1523 1445 1524 ; Padding 0x 7b bytes at 0xc09851525 times 123db 01446 ; Padding 0x103 bytes at 0xc08fd 1447 times 259 db 0 1526 1448 1527 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3 16bclass=CODE group=AUTO1449 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3282 class=CODE group=AUTO 1528 1450 set_int_vector_: ; 0xc0a00 LB 0x1b 1529 1451 push bx ; 53 … … 1581 1503 call 00a1bh ; e8 ab ff 1582 1504 call 00a37h ; e8 c4 ff 1583 call 036 89h ; e8 132c1505 call 036f0h ; e8 7a 2c 1584 1506 mov dx, strict word 00022h ; ba 22 00 1585 1507 mov ax, strict word 00010h ; b8 10 00 … … 2272 2194 and AL, strict byte 080h ; 24 80 2273 2195 mov byte [bp-012h], al ; 88 46 ee 2274 call 007 fah ; e8 c8f72196 call 007bfh ; e8 8d f7 2275 2197 test ax, ax ; 85 c0 2276 2198 je short 01042h ; 74 0c … … 6067 5989 pop bx ; 5b 6068 5990 retn ; c3 6069 write_dword_: ; 0xc31af LB 0x 7f5991 write_dword_: ; 0xc31af LB 0x96 6070 5992 push si ; 56 6071 5993 push bp ; 55 … … 6089 6011 add ax, 00304h ; 05 04 03 6090 6012 add al, byte [bx+di] ; 02 01 6091 add cl, dl ; 00 d1 6092 xor ax, 0325ah ; 35 5a 32 6093 xchg di, ax ; 97 6094 xor ch, byte [si-043ceh] ; 32 ac 32 bc 6095 db 032h, 0cfh 6096 ; xor cl, bh ; 32 cf 6097 db 032h, 0dfh 6098 ; xor bl, bh ; 32 df 6099 db 032h, 0e8h 6100 ; xor ch, al ; 32 e8 6101 xor ah, byte [bx+si] ; 32 20 6102 xor sp, word [si] ; 33 24 6103 xor si, word [di] ; 33 35 6104 xor dx, word [bp+si+033h] ; 33 52 33 6105 outsw ; 6f 6106 xor dx, word [bx+si-052cdh] ; 33 90 33 ad 6107 db 033h, 0c3h 6108 ; xor ax, bx ; 33 c3 6109 db 033h, 0cfh 6110 ; xor cx, di ; 33 cf 6111 xor bx, word [bx+di-031cch] ; 33 99 34 ce 6112 xor AL, strict byte 0fdh ; 34 fd 6113 xor AL, strict byte 012h ; 34 12 6114 xor ax, 03554h ; 35 54 35 6013 add dh, cl ; 00 ce 6014 xor ax, 03276h ; 35 76 32 6015 mov BL, strict byte 032h ; b3 32 6016 db 0c6h, 032h, 0d6h 6017 ; mov byte [bp+si], 0d6h ; c6 32 d6 6018 db 032h, 0e9h 6019 ; xor ch, cl ; 32 e9 6020 db 032h, 0f9h 6021 ; xor bh, cl ; 32 f9 6022 xor al, byte [bx+si] ; 32 00 6023 xor di, word [bx+si] ; 33 38 6024 xor di, word [si] ; 33 3c 6025 xor cx, word [di+033h] ; 33 4d 33 6026 push 08333h ; 68 33 83 6027 xor bx, word [bp+di-047cdh] ; 33 9b 33 b8 6028 db 033h, 0cch 6029 ; xor cx, sp ; 33 cc 6030 db 033h, 0d8h 6031 ; xor bx, ax ; 33 d8 6032 xor cx, word [bx-03bcch] ; 33 8f 34 c4 6033 xor AL, strict byte 0f5h ; 34 f5 6034 xor AL, strict byte 00ah ; 34 0a 6035 xor ax, 03547h ; 35 47 35 6115 6036 xor byte [si], ah ; 30 24 6116 6037 and sp, word [bp+si] ; 23 22 … … 6120 6041 add AL, strict byte 002h ; 04 02 6121 6042 add word [bx+si], ax ; 01 00 6122 db 0d1h, 035h 6123 ; sal word [di], 1 ; d1 35 6124 out DX, AL ; ee 6125 xor cx, word [bx] ; 33 0f 6126 xor AL, strict byte 01eh ; 34 1e 6127 xor AL, strict byte 02dh ; 34 2d 6128 xor AL, strict byte 0eeh ; 34 ee 6129 xor cx, word [bx] ; 33 0f 6130 xor AL, strict byte 01eh ; 34 1e 6131 xor AL, strict byte 02dh ; 34 2d 6132 xor AL, strict byte 03ch ; 34 3c 6133 xor AL, strict byte 048h ; 34 48 6134 xor AL, strict byte 063h ; 34 63 6043 into ; ce 6044 xor ax, 033f5h ; 35 f5 33 6045 push SS ; 16 6046 xor AL, strict byte 025h ; 34 25 6047 xor AL, strict byte 034h ; 34 34 6048 xor AL, strict byte 0f5h ; 34 f5 6049 xor dx, word [02534h] ; 33 16 34 25 6050 xor AL, strict byte 034h ; 34 34 6051 xor AL, strict byte 043h ; 34 43 6052 xor AL, strict byte 04fh ; 34 4f 6053 xor AL, strict byte 068h ; 34 68 6135 6054 xor AL, strict byte 06dh ; 34 6d 6055 xor AL, strict byte 072h ; 34 72 6136 6056 xor AL, strict byte 077h ; 34 77 6137 xor AL, strict byte 081h ; 34 81 6138 db 034h 6139 _int10_func: ; 0xc322e LB 0x3aa 6057 xor AL, strict byte 00ah ; 34 0a 6058 or word [00204h], ax ; 09 06 04 02 6059 add word [bx+si], ax ; 01 00 6060 retn 06d35h ; c2 35 6d 6061 xor ax, 0357ah ; 35 7a 35 6062 mov dh, byte [di] ; 8a 35 6063 call far 0c235h:0af35h ; 9a 35 af 35 c2 6064 xor ax, 035c2h ; 35 c2 35 6065 _int10_func: ; 0xc3245 LB 0x390 6140 6066 push bp ; 55 6141 6067 mov bp, sp ; 89 e5 … … 6147 6073 shr ax, 008h ; c1 e8 08 6148 6074 cmp ax, strict word 0004fh ; 3d 4f 00 6149 jnbe short 032 a9h ; 77 676075 jnbe short 032c3h ; 77 6a 6150 6076 push CS ; 0e 6151 6077 pop ES ; 07 … … 6155 6081 sal cx, 1 ; d1 e1 6156 6082 mov di, cx ; 89 cf 6157 mov ax, word [cs:di+031d6h] ; 2e 8b 85 d6 31 6158 mov cl, byte [bp+012h] ; 8a 4e 12 6159 jmp ax ; ff e0 6083 mov bx, word [cs:di+031d6h] ; 2e 8b 9d d6 31 6084 mov ax, word [bp+012h] ; 8b 46 12 6085 xor ah, ah ; 30 e4 6086 mov dl, byte [bp+012h] ; 8a 56 12 6087 jmp bx ; ff e3 6160 6088 mov al, byte [bp+012h] ; 8a 46 12 6161 6089 xor ah, ah ; 30 e4 6162 call 0101ch ; e8 badd6090 call 0101ch ; e8 9e dd 6163 6091 mov ax, word [bp+012h] ; 8b 46 12 6164 6092 and ax, strict word 0007fh ; 25 7f 00 6165 6093 cmp ax, strict word 00007h ; 3d 07 00 6166 je short 032 82h ; 74 156094 je short 0329eh ; 74 15 6167 6095 cmp ax, strict word 00006h ; 3d 06 00 6168 je short 032 79h ; 74 076096 je short 03295h ; 74 07 6169 6097 cmp ax, strict word 00005h ; 3d 05 00 6170 jbe short 032 82h ; 76 0b6171 jmp short 032 8bh ; eb 126098 jbe short 0329eh ; 76 0b 6099 jmp short 032a7h ; eb 12 6172 6100 mov ax, word [bp+012h] ; 8b 46 12 6173 6101 xor al, al ; 30 c0 6174 6102 or AL, strict byte 03fh ; 0c 3f 6175 jmp short 032 92h ; eb 106103 jmp short 032aeh ; eb 10 6176 6104 mov ax, word [bp+012h] ; 8b 46 12 6177 6105 xor al, al ; 30 c0 6178 6106 or AL, strict byte 030h ; 0c 30 6179 jmp short 032 92h ; eb 076107 jmp short 032aeh ; eb 07 6180 6108 mov ax, word [bp+012h] ; 8b 46 12 6181 6109 xor al, al ; 30 c0 6182 6110 or AL, strict byte 020h ; 0c 20 6183 6111 mov word [bp+012h], ax ; 89 46 12 6184 jmp short 032 a9h ; eb 126112 jmp short 032c3h ; eb 10 6185 6113 mov al, byte [bp+010h] ; 8a 46 10 6186 xor ah, ah ; 30 e46187 6114 mov dx, ax ; 89 c2 6188 6115 mov ax, word [bp+010h] ; 8b 46 10 6189 6116 shr ax, 008h ; c1 e8 08 6190 6117 xor ah, ah ; 30 e4 6191 call 00dcbh ; e8 22db6192 jmp near 035 d1h ; e9 25036118 call 00dcbh ; e8 08 db 6119 jmp near 035ceh ; e9 08 03 6193 6120 mov dx, word [bp+00eh] ; 8b 56 0e 6194 6121 mov ax, word [bp+00ch] ; 8b 46 0c 6195 6122 shr ax, 008h ; c1 e8 08 6196 6123 xor ah, ah ; 30 e4 6197 call 00e79h ; e8 bfdb6198 jmp short 032 a9h ; eb ed6124 call 00e79h ; e8 a5 db 6125 jmp short 032c3h ; eb ed 6199 6126 lea bx, [bp+00eh] ; 8d 5e 0e 6200 6127 lea dx, [bp+010h] ; 8d 56 10 … … 6202 6129 shr ax, 008h ; c1 e8 08 6203 6130 xor ah, ah ; 30 e4 6204 call 00a8bh ; e8 bed76205 jmp short 032 a9h ; eb da6206 xor a x, ax ; 31c06131 call 00a8bh ; e8 a4 d7 6132 jmp short 032c3h ; eb da 6133 xor al, al ; 30 c0 6207 6134 mov word [bp+012h], ax ; 89 46 12 6208 6135 mov word [bp+00ch], ax ; 89 46 0c 6209 6136 mov word [bp+010h], ax ; 89 46 10 6210 6137 mov word [bp+00eh], ax ; 89 46 0e 6211 jmp short 032a9h ; eb ca 6212 mov al, cl ; 88 c8 6213 xor ah, ah ; 30 e4 6214 call 00f2eh ; e8 48 dc 6215 jmp short 032a9h ; eb c1 6138 jmp short 032c3h ; eb ca 6139 mov al, dl ; 88 d0 6140 call 00f2eh ; e8 30 dc 6141 jmp short 032c3h ; eb c3 6216 6142 mov ax, strict word 00001h ; b8 01 00 6217 6143 push ax ; 50 … … 6236 6162 mov dx, ax ; 89 c2 6237 6163 mov al, byte [bp+012h] ; 8a 46 12 6238 call 01647h ; e8 29e36239 jmp short 032 a9h ; eb 896240 xor a x, ax ; 31c06241 jmp short 03 2ebh ; eb c76164 call 01647h ; e8 11 e3 6165 jmp short 032c3h ; eb 8b 6166 xor al, al ; 30 c0 6167 jmp short 03303h ; eb c7 6242 6168 lea dx, [bp+012h] ; 8d 56 12 6243 6169 mov ax, word [bp+00ch] ; 8b 46 0c 6244 6170 shr ax, 008h ; c1 e8 08 6245 6171 xor ah, ah ; 30 e4 6246 call 00ad1h ; e8 9fd76247 jmp near 035 d1h ; e9 9c026172 call 00ad1h ; e8 87 d7 6173 jmp near 035ceh ; e9 81 02 6248 6174 mov cx, word [bp+010h] ; 8b 4e 10 6249 6175 mov al, byte [bp+00ch] ; 8a 46 0c 6250 xor ah, ah ; 30 e46251 6176 mov bx, ax ; 89 c3 6252 6177 mov ax, word [bp+00ch] ; 8b 46 0c … … 6255 6180 mov dx, ax ; 89 c2 6256 6181 mov al, byte [bp+012h] ; 8a 46 12 6257 call 01e7eh ; e8 2feb6258 jmp near 035 d1h ; e9 7f026182 call 01e7eh ; e8 19 eb 6183 jmp near 035ceh ; e9 66 02 6259 6184 mov cx, word [bp+010h] ; 8b 4e 10 6260 6185 mov al, byte [bp+00ch] ; 8a 46 0c 6261 xor ah, ah ; 30 e46262 6186 mov bx, ax ; 89 c3 6263 6187 mov ax, word [bp+00ch] ; 8b 46 0c … … 6266 6190 mov dx, ax ; 89 c2 6267 6191 mov al, byte [bp+012h] ; 8a 46 12 6268 call 0200bh ; e8 9fec6269 jmp near 035 d1h ; e9 62026192 call 0200bh ; e8 8b ec 6193 jmp near 035ceh ; e9 4b 02 6270 6194 mov cx, word [bp+00eh] ; 8b 4e 0e 6271 6195 mov bx, word [bp+010h] ; 8b 5e 10 6272 mov al, byte [bp+012h] ; 8a 46 12 6273 xor ah, ah ; 30 e4 6196 mov al, dl ; 88 d0 6274 6197 mov dx, ax ; 89 c2 6275 6198 mov ax, word [bp+00ch] ; 8b 46 0c 6276 6199 shr ax, 008h ; c1 e8 08 6277 mov word [bp-006h], ax ; 89 46 fa 6278 mov al, byte [bp-006h] ; 8a 46 fa 6279 xor ah, ah ; 30 e4 6280 call 021a1h ; e8 14 ee 6281 jmp near 035d1h ; e9 41 02 6200 xor ah, ah ; 30 e4 6201 call 021a1h ; e8 09 ee 6202 jmp near 035ceh ; e9 33 02 6282 6203 lea cx, [bp+012h] ; 8d 4e 12 6283 6204 mov bx, word [bp+00eh] ; 8b 5e 0e … … 6288 6209 mov al, byte [bp-006h] ; 8a 46 fa 6289 6210 xor ah, ah ; 30 e4 6290 call 00bfch ; e8 52d86291 jmp near 035 d1h ; e9 24026211 call 00bfch ; e8 47 d8 6212 jmp near 035ceh ; e9 16 02 6292 6213 mov cx, strict word 00002h ; b9 02 00 6293 6214 mov al, byte [bp+00ch] ; 8a 46 0c 6294 xor ah, ah ; 30 e46295 6215 mov bx, ax ; 89 c3 6296 6216 mov dx, 000ffh ; ba ff 00 6297 6217 mov al, byte [bp+012h] ; 8a 46 12 6298 call 0231ch ; e8 5 cef6299 jmp near 035 d1h ; e9 0e026218 call 0231ch ; e8 53 ef 6219 jmp near 035ceh ; e9 02 02 6300 6220 mov dx, word [bp+010h] ; 8b 56 10 6301 6221 mov ax, word [bp+00ch] ; 8b 46 0c 6302 call 00d3eh ; e8 72 d9 6303 jmp near 035d1h ; e9 02 02 6304 mov ax, word [bp+012h] ; 8b 46 12 6305 xor ah, ah ; 30 e4 6222 call 00d3eh ; e8 69 d9 6223 jmp near 035ceh ; e9 f6 01 6306 6224 cmp ax, strict word 00030h ; 3d 30 00 6307 jnbe short 0344 5h ; 77 6c6225 jnbe short 0344ch ; 77 6f 6308 6226 push CS ; 0e 6309 6227 pop ES ; 07 … … 6313 6231 sal cx, 1 ; d1 e1 6314 6232 mov di, cx ; 89 cf 6315 mov ax, word [cs:di+03210h] ; 2e 8b 85 10 32 6316 jmp ax ; ff e0 6233 mov dx, word [cs:di+03210h] ; 2e 8b 95 10 32 6234 mov al, byte [bp+00ch] ; 8a 46 0c 6235 jmp dx ; ff e2 6317 6236 mov ax, word [bp+00ch] ; 8b 46 0c 6318 6237 shr ax, 008h ; c1 e8 08 … … 6326 6245 mov bx, word [bp+008h] ; 8b 5e 08 6327 6246 mov dx, word [bp+016h] ; 8b 56 16 6328 call 026b5h ; e8 a 8f26329 jmp short 0344 5h ; eb 366247 call 026b5h ; e8 a1 f2 6248 jmp short 0344ch ; eb 36 6330 6249 mov al, byte [bp+00ch] ; 8a 46 0c 6331 6250 xor ah, ah ; 30 e4 6332 6251 mov dx, ax ; 89 c2 6333 6252 mov al, byte [bp+012h] ; 8a 46 12 6334 call 02735h ; e8 1 9f36335 jmp short 0344 5h ; eb 276253 call 02735h ; e8 12 f3 6254 jmp short 0344ch ; eb 27 6336 6255 mov al, byte [bp+00ch] ; 8a 46 0c 6337 6256 xor ah, ah ; 30 e4 6338 6257 mov dx, ax ; 89 c2 6339 6258 mov al, byte [bp+012h] ; 8a 46 12 6340 call 027a3h ; e8 7 8f36341 jmp short 0344 5h ; eb 186259 call 027a3h ; e8 71 f3 6260 jmp short 0344ch ; eb 18 6342 6261 mov al, byte [bp+00ch] ; 8a 46 0c 6343 6262 xor ah, ah ; 30 e4 6344 6263 mov dx, ax ; 89 c2 6345 6264 mov al, byte [bp+012h] ; 8a 46 12 6346 call 02813h ; e8 d 9f36347 jmp short 0344 5h ; eb 096265 call 02813h ; e8 d2 f3 6266 jmp short 0344ch ; eb 09 6348 6267 mov dx, word [bp+008h] ; 8b 56 08 6349 6268 mov ax, word [bp+016h] ; 8b 46 16 6350 call 02883h ; e8 3 ef46351 jmp near 035 d1h ; e9 89016269 call 02883h ; e8 37 f4 6270 jmp near 035ceh ; e9 7f 01 6352 6271 mov al, byte [bp+00eh] ; 8a 46 0e 6353 xor ah, ah ; 30 e46354 6272 push ax ; 50 6355 6273 mov al, byte [bp+00ch] ; 8a 46 0c … … 6359 6277 mov cx, ax ; 89 c1 6360 6278 mov ax, si ; 89 f0 6361 call 02888h ; e8 27 f4 6362 jmp short 03445h ; eb e2 6363 mov al, byte [bp+00ch] ; 8a 46 0c 6364 xor ah, ah ; 30 e4 6279 call 02888h ; e8 22 f4 6280 jmp short 0344ch ; eb e4 6365 6281 call 0288fh ; e8 24 f4 6366 jmp short 03445h ; eb d8 6367 mov al, byte [bp+00ch] ; 8a 46 0c 6368 xor ah, ah ; 30 e4 6369 call 02894h ; e8 1f f4 6370 jmp short 03445h ; eb ce 6371 mov al, byte [bp+00ch] ; 8a 46 0c 6372 xor ah, ah ; 30 e4 6373 call 02899h ; e8 1a f4 6374 jmp short 03445h ; eb c4 6282 jmp short 0344ch ; eb df 6283 call 02894h ; e8 24 f4 6284 jmp short 0344ch ; eb da 6285 call 02899h ; e8 24 f4 6286 jmp short 0344ch ; eb d5 6375 6287 lea ax, [bp+00eh] ; 8d 46 0e 6376 6288 push ax ; 50 6289 mov ax, word [bp+00ch] ; 8b 46 0c 6290 shr ax, 008h ; c1 e8 08 6377 6291 lea cx, [bp+010h] ; 8d 4e 10 6378 6292 lea bx, [bp+008h] ; 8d 5e 08 6379 6293 lea dx, [bp+016h] ; 8d 56 16 6294 call 00b81h ; e8 f4 d6 6295 jmp short 0344ch ; eb bd 6380 6296 mov ax, word [bp+00ch] ; 8b 46 0c 6381 shr ax, 008h ; c1 e8 086382 call 00b81h ; e8 ea d66383 jmp short 03445h ; eb ac6384 mov ax, word [bp+00ch] ; 8b 46 0c6385 6297 xor ah, ah ; 30 e4 6386 6298 cmp ax, strict word 00036h ; 3d 36 00 6387 je short 034 c7h ; 74 246299 je short 034bdh ; 74 24 6388 6300 cmp ax, strict word 00035h ; 3d 35 00 6389 je short 034 b2h ; 74 0a6301 je short 034a8h ; 74 0a 6390 6302 cmp ax, strict word 00020h ; 3d 20 00 6391 jne short 034f ah ; 75 4d6392 call 0289eh ; e8 eef36393 jmp short 034f ah ; eb 486394 mov al, cl ; 88 c86303 jne short 034f2h ; 75 4f 6304 call 0289eh ; e8 f8 f3 6305 jmp short 034f2h ; eb 4a 6306 mov al, dl ; 88 d0 6395 6307 mov bx, word [bp+00eh] ; 8b 5e 0e 6396 6308 mov dx, word [bp+016h] ; 8b 56 16 6397 call 028a3h ; e8 e6f36309 call 028a3h ; e8 f0 f3 6398 6310 mov ax, word [bp+012h] ; 8b 46 12 6399 6311 xor al, al ; 30 c0 6400 6312 or AL, strict byte 012h ; 0c 12 6401 jmp near 032 92h ; e9 cbfd6402 mov al, cl ; 88 c86403 call 028a8h ; e8 dcf36404 jmp short 034b dh ; eb ef6313 jmp near 032aeh ; e9 f1 fd 6314 mov al, dl ; 88 d0 6315 call 028a8h ; e8 e6 f3 6316 jmp short 034b3h ; eb ef 6405 6317 push word [bp+008h] ; ff 76 08 6406 6318 push word [bp+016h] ; ff 76 16 6407 6319 mov al, byte [bp+00eh] ; 8a 46 0e 6408 xor ah, ah ; 30 e46409 6320 push ax ; 50 6410 6321 mov ax, word [bp+00eh] ; 8b 46 0e … … 6417 6328 shr ax, 008h ; c1 e8 08 6418 6329 xor ah, ah ; 30 e4 6330 xor dh, dh ; 30 f6 6331 mov si, dx ; 89 d6 6332 mov cx, word [bp+010h] ; 8b 4e 10 6419 6333 mov dx, ax ; 89 c2 6420 mov al, cl ; 88 c8 6421 mov cx, word [bp+010h] ; 8b 4e 10 6422 call 028adh ; e8 b3 f3 6423 jmp near 035d1h ; e9 d4 00 6334 mov ax, si ; 89 f0 6335 call 028adh ; e8 bb f3 6336 jmp near 035ceh ; e9 d9 00 6424 6337 mov bx, si ; 89 f3 6425 6338 mov dx, word [bp+016h] ; 8b 56 16 6426 6339 mov ax, word [bp+00ch] ; 8b 46 0c 6427 call 0294fh ; e8 4 7f46340 call 0294fh ; e8 4f f4 6428 6341 mov ax, word [bp+012h] ; 8b 46 12 6429 6342 xor al, al ; 30 c0 6430 6343 or AL, strict byte 01bh ; 0c 1b 6431 jmp near 03292h ; e9 80 fd 6432 mov ax, word [bp+012h] ; 8b 46 12 6433 xor ah, ah ; 30 e4 6344 jmp near 032aeh ; e9 a4 fd 6434 6345 cmp ax, strict word 00002h ; 3d 02 00 6435 je short 0353 eh ; 74 226346 je short 03531h ; 74 22 6436 6347 cmp ax, strict word 00001h ; 3d 01 00 6437 je short 035 30h ; 74 0f6348 je short 03523h ; 74 0f 6438 6349 test ax, ax ; 85 c0 6439 jne short 035 4ah ; 75 256350 jne short 0353dh ; 75 25 6440 6351 lea dx, [bp+00ch] ; 8d 56 0c 6441 6352 mov ax, word [bp+010h] ; 8b 46 10 6442 call 02a74h ; e8 46f56443 jmp short 035 4ah ; eb 1a6353 call 02a74h ; e8 53 f5 6354 jmp short 0353dh ; eb 1a 6444 6355 mov bx, word [bp+00ch] ; 8b 5e 0c 6445 6356 mov dx, word [bp+016h] ; 8b 56 16 6446 6357 mov ax, word [bp+010h] ; 8b 46 10 6447 call 02a86h ; e8 4af56448 jmp short 035 4ah ; eb 0c6358 call 02a86h ; e8 57 f5 6359 jmp short 0353dh ; eb 0c 6449 6360 mov bx, word [bp+00ch] ; 8b 5e 0c 6450 6361 mov dx, word [bp+016h] ; 8b 56 16 6451 6362 mov ax, word [bp+010h] ; 8b 46 10 6452 call 02e07h ; e8 bdf86363 call 02e07h ; e8 ca f8 6453 6364 mov ax, word [bp+012h] ; 8b 46 12 6454 6365 xor al, al ; 30 c0 6455 6366 or AL, strict byte 01ch ; 0c 1c 6456 jmp near 032 92h ; e9 3efd6457 call 007 fah ; e8 a3d26367 jmp near 032aeh ; e9 67 fd 6368 call 007bfh ; e8 75 d2 6458 6369 test ax, ax ; 85 c0 6459 je short 035 aeh ; 74 536370 je short 035c0h ; 74 72 6460 6371 mov ax, word [bp+012h] ; 8b 46 12 6461 6372 xor ah, ah ; 30 e4 6462 cmp ax, strict word 00002h ; 3d 02 006463 jc short 03578h ; 72 136464 jbe short 0359eh ; 76 376465 6373 cmp ax, strict word 0000ah ; 3d 0a 00 6466 j e short 035c5h ; 74 596467 cmp ax, strict word 00009h ; 3d 09 006468 je short 035c5h ; 74 546469 cmp ax, strict word 00004h ; 3d 04006470 je short 035b0h ; 74 3a6471 jmp short 035c5h ; eb 4d6472 cmp ax, strict word 00001h ; 3d 01 006473 je short 0358eh ; 74 116474 test ax, ax ; 85 c06475 j ne short 035c5h ; 75 446374 jnbe short 035c2h ; 77 6a 6375 push CS ; 0e 6376 pop ES ; 07 6377 mov cx, strict word 00008h ; b9 08 00 6378 mov di, 0322eh ; bf 2e 32 6379 repne scasb ; f2 ae 6380 sal cx, 1 ; d1 e1 6381 mov di, cx ; 89 cf 6382 mov ax, word [cs:di+03235h] ; 2e 8b 85 35 32 6383 jmp ax ; ff e0 6476 6384 mov bx, si ; 89 f3 6477 6385 mov dx, word [bp+016h] ; 8b 56 16 6478 6386 lea ax, [bp+012h] ; 8d 46 12 6479 call 037 0ah ; e8 7e016480 jmp short 035 d1h ; eb 436387 call 03771h ; e8 f9 01 6388 jmp short 035ceh ; eb 54 6481 6389 mov cx, si ; 89 f1 6482 6390 mov bx, word [bp+016h] ; 8b 5e 16 6483 6391 mov dx, word [bp+010h] ; 8b 56 10 6484 6392 lea ax, [bp+012h] ; 8d 46 12 6485 call 038 39h ; e8 9d 026486 jmp short 035 d1h ; eb 336393 call 038a0h ; e8 18 03 6394 jmp short 035ceh ; eb 44 6487 6395 mov cx, si ; 89 f1 6488 6396 mov bx, word [bp+016h] ; 8b 5e 16 6489 6397 mov dx, word [bp+00ch] ; 8b 56 0c 6490 6398 lea ax, [bp+012h] ; 8d 46 12 6491 call 038f6h ; e8 4a 03 6492 jmp short 035d1h ; eb 23 6493 jmp short 035cch ; eb 1c 6399 call 0395dh ; e8 c5 03 6400 jmp short 035ceh ; eb 34 6494 6401 lea ax, [bp+00ch] ; 8d 46 0c 6495 6402 push ax ; 50 … … 6498 6405 mov dx, word [bp+010h] ; 8b 56 10 6499 6406 lea ax, [bp+012h] ; 8d 46 12 6500 call 03adfh ; e8 1c 05 6501 jmp short 035d1h ; eb 0c 6407 call 03b46h ; e8 99 05 6408 jmp short 035ceh ; eb 1f 6409 lea cx, [bp+00eh] ; 8d 4e 0e 6410 lea bx, [bp+010h] ; 8d 5e 10 6411 lea dx, [bp+00ch] ; 8d 56 0c 6412 lea ax, [bp+012h] ; 8d 46 12 6413 call 03bd2h ; e8 14 06 6414 jmp short 035ceh ; eb 0e 6415 jmp short 035c9h ; eb 07 6502 6416 mov word [bp+012h], 00100h ; c7 46 12 00 01 6503 jmp short 035 d1h ; eb 056417 jmp short 035ceh ; eb 05 6504 6418 mov word [bp+012h], 00100h ; c7 46 12 00 01 6505 6419 lea sp, [bp-004h] ; 8d 66 fc … … 6508 6422 pop bp ; 5d 6509 6423 retn ; c3 6510 dispi_set_xres_: ; 0xc35d 8LB 0x1f6424 dispi_set_xres_: ; 0xc35d5 LB 0x1f 6511 6425 push bp ; 55 6512 6426 mov bp, sp ; 89 e5 … … 6516 6430 mov ax, strict word 00001h ; b8 01 00 6517 6431 mov dx, 001ceh ; ba ce 01 6518 call 00570h ; e8 8 8cf6432 call 00570h ; e8 8b cf 6519 6433 mov ax, bx ; 89 d8 6520 6434 mov dx, 001cfh ; ba cf 01 6521 call 00570h ; e8 8 0cf6435 call 00570h ; e8 83 cf 6522 6436 lea sp, [bp-004h] ; 8d 66 fc 6523 6437 pop dx ; 5a … … 6525 6439 pop bp ; 5d 6526 6440 retn ; c3 6527 dispi_set_yres_: ; 0xc35f 7LB 0x1f6441 dispi_set_yres_: ; 0xc35f4 LB 0x1f 6528 6442 push bp ; 55 6529 6443 mov bp, sp ; 89 e5 … … 6533 6447 mov ax, strict word 00002h ; b8 02 00 6534 6448 mov dx, 001ceh ; ba ce 01 6535 call 00570h ; e8 6 9cf6449 call 00570h ; e8 6c cf 6536 6450 mov ax, bx ; 89 d8 6537 6451 mov dx, 001cfh ; ba cf 01 6538 call 00570h ; e8 6 1cf6452 call 00570h ; e8 64 cf 6539 6453 lea sp, [bp-004h] ; 8d 66 fc 6540 6454 pop dx ; 5a … … 6542 6456 pop bp ; 5d 6543 6457 retn ; c3 6544 dispi_set_bpp_: ; 0xc361 6LB 0x1f6458 dispi_set_bpp_: ; 0xc3613 LB 0x1f 6545 6459 push bp ; 55 6546 6460 mov bp, sp ; 89 e5 … … 6550 6464 mov ax, strict word 00003h ; b8 03 00 6551 6465 mov dx, 001ceh ; ba ce 01 6552 call 00570h ; e8 4 acf6466 call 00570h ; e8 4d cf 6553 6467 mov ax, bx ; 89 d8 6554 6468 mov dx, 001cfh ; ba cf 01 6555 call 00570h ; e8 4 2cf6469 call 00570h ; e8 45 cf 6556 6470 lea sp, [bp-004h] ; 8d 66 fc 6557 6471 pop dx ; 5a … … 6559 6473 pop bp ; 5d 6560 6474 retn ; c3 6561 in_word_: ; 0xc3635 LB 0x12 6475 dispi_get_bpp_: ; 0xc3632 LB 0x19 6476 push bp ; 55 6477 mov bp, sp ; 89 e5 6478 push dx ; 52 6479 mov ax, strict word 00003h ; b8 03 00 6480 mov dx, 001ceh ; ba ce 01 6481 call 00570h ; e8 31 cf 6482 mov dx, 001cfh ; ba cf 01 6483 call 00577h ; e8 32 cf 6484 lea sp, [bp-002h] ; 8d 66 fe 6485 pop dx ; 5a 6486 pop bp ; 5d 6487 retn ; c3 6488 dispi_set_virt_width_: ; 0xc364b LB 0x1f 6489 push bp ; 55 6490 mov bp, sp ; 89 e5 6491 push bx ; 53 6492 push dx ; 52 6493 mov bx, ax ; 89 c3 6494 mov ax, strict word 00006h ; b8 06 00 6495 mov dx, 001ceh ; ba ce 01 6496 call 00570h ; e8 15 cf 6497 mov ax, bx ; 89 d8 6498 mov dx, 001cfh ; ba cf 01 6499 call 00570h ; e8 0d cf 6500 lea sp, [bp-004h] ; 8d 66 fc 6501 pop dx ; 5a 6502 pop bx ; 5b 6503 pop bp ; 5d 6504 retn ; c3 6505 dispi_get_virt_width_: ; 0xc366a LB 0x19 6506 push bp ; 55 6507 mov bp, sp ; 89 e5 6508 push dx ; 52 6509 mov ax, strict word 00006h ; b8 06 00 6510 mov dx, 001ceh ; ba ce 01 6511 call 00570h ; e8 f9 ce 6512 mov dx, 001cfh ; ba cf 01 6513 call 00577h ; e8 fa ce 6514 lea sp, [bp-002h] ; 8d 66 fe 6515 pop dx ; 5a 6516 pop bp ; 5d 6517 retn ; c3 6518 dispi_get_virt_height_: ; 0xc3683 LB 0x19 6519 push bp ; 55 6520 mov bp, sp ; 89 e5 6521 push dx ; 52 6522 mov ax, strict word 00007h ; b8 07 00 6523 mov dx, 001ceh ; ba ce 01 6524 call 00570h ; e8 e0 ce 6525 mov dx, 001cfh ; ba cf 01 6526 call 00577h ; e8 e1 ce 6527 lea sp, [bp-002h] ; 8d 66 fe 6528 pop dx ; 5a 6529 pop bp ; 5d 6530 retn ; c3 6531 in_word_: ; 0xc369c LB 0x12 6562 6532 push bp ; 55 6563 6533 mov bp, sp ; 89 e5 … … 6572 6542 pop bp ; 5d 6573 6543 retn ; c3 6574 in_byte_: ; 0xc36 47LB 0x146544 in_byte_: ; 0xc36ae LB 0x14 6575 6545 push bp ; 55 6576 6546 mov bp, sp ; 89 e5 … … 6587 6557 pop bp ; 5d 6588 6558 retn ; c3 6589 dispi_get_id_: ; 0xc36 5bLB 0x146559 dispi_get_id_: ; 0xc36c2 LB 0x14 6590 6560 push bp ; 55 6591 6561 mov bp, sp ; 89 e5 … … 6600 6570 pop bp ; 5d 6601 6571 retn ; c3 6602 dispi_set_id_: ; 0xc36 6fLB 0x1a6572 dispi_set_id_: ; 0xc36d6 LB 0x1a 6603 6573 push bp ; 55 6604 6574 mov bp, sp ; 89 e5 … … 6617 6587 pop bp ; 5d 6618 6588 retn ; c3 6619 vbe_init_: ; 0xc36 89LB 0x2c6589 vbe_init_: ; 0xc36f0 LB 0x2c 6620 6590 push bp ; 55 6621 6591 mov bp, sp ; 89 e5 … … 6623 6593 push dx ; 52 6624 6594 mov ax, 0b0c0h ; b8 c0 b0 6625 call 036 6fh ; e8 db ff6626 call 036 5bh ; e8 c4 ff6595 call 036d6h ; e8 db ff 6596 call 036c2h ; e8 c4 ff 6627 6597 cmp ax, 0b0c0h ; 3d c0 b0 6628 jne short 03 6aeh ; 75 126598 jne short 03715h ; 75 12 6629 6599 mov bx, strict word 00001h ; bb 01 00 6630 6600 mov dx, 000b9h ; ba b9 00 6631 6601 mov ax, strict word 00040h ; b8 40 00 6632 call 03173h ; e8 cbfa6602 call 03173h ; e8 64 fa 6633 6603 mov ax, 0b0c4h ; b8 c4 b0 6634 call 036 6fh ; e8 c1 ff6604 call 036d6h ; e8 c1 ff 6635 6605 lea sp, [bp-004h] ; 8d 66 fc 6636 6606 pop dx ; 5a … … 6638 6608 pop bp ; 5d 6639 6609 retn ; c3 6640 mode_info_find_mode_: ; 0xc3 6b5LB 0x556610 mode_info_find_mode_: ; 0xc371c LB 0x55 6641 6611 push bp ; 55 6642 6612 mov bp, sp ; 89 e5 … … 6649 6619 xor dx, dx ; 31 d2 6650 6620 mov ax, 003b6h ; b8 b6 03 6651 call 036 35h ; e8 6d ff6621 call 0369ch ; e8 6d ff 6652 6622 cmp ax, 077cch ; 3d cc 77 6653 jne short 03 6ffh ; 75 326623 jne short 03766h ; 75 32 6654 6624 mov bx, strict word 00004h ; bb 04 00 6655 6625 mov dx, bx ; 89 da 6656 6626 mov ax, 003b6h ; b8 b6 03 6657 call 036 35h ; e8 5d ff6627 call 0369ch ; e8 5d ff 6658 6628 mov cx, ax ; 89 c1 6659 6629 cmp cx, strict byte 0ffffh ; 83 f9 ff 6660 je short 03 6ffh ; 74 206630 je short 03766h ; 74 20 6661 6631 lea dx, [bx+002h] ; 8d 57 02 6662 6632 mov ax, 003b6h ; b8 b6 03 6663 call 036 35h ; e8 4d ff6633 call 0369ch ; e8 4d ff 6664 6634 lea dx, [bx+044h] ; 8d 57 44 6665 6635 cmp cx, di ; 39 f9 6666 jne short 03 6fbh ; 75 0c6636 jne short 03762h ; 75 0c 6667 6637 test si, si ; 85 f6 6668 jne short 03 6f7h ; 75 046638 jne short 0375eh ; 75 04 6669 6639 mov ax, bx ; 89 d8 6670 jmp short 037 01h ; eb 0a6640 jmp short 03768h ; eb 0a 6671 6641 test AL, strict byte 080h ; a8 80 6672 jne short 03 6f3h ; 75 f86642 jne short 0375ah ; 75 f8 6673 6643 mov bx, dx ; 89 d3 6674 jmp short 03 6d2h ; eb d36644 jmp short 03739h ; eb d3 6675 6645 xor ax, ax ; 31 c0 6676 6646 lea sp, [bp-008h] ; 8d 66 f8 … … 6681 6651 pop bp ; 5d 6682 6652 retn ; c3 6683 vbe_biosfn_return_controller_information_: ; 0xc37 0aLB 0x12f6653 vbe_biosfn_return_controller_information_: ; 0xc3771 LB 0x12f 6684 6654 push bp ; 55 6685 6655 mov bp, sp ; 89 e5 … … 6692 6662 mov word [bp-00ah], bx ; 89 5e f6 6693 6663 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6694 call 005b7h ; e8 95ce6664 call 005b7h ; e8 2e ce 6695 6665 mov word [bp-010h], ax ; 89 46 f0 6696 6666 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6698 6668 xor dx, dx ; 31 d2 6699 6669 mov ax, 003b6h ; b8 b6 03 6700 call 036 35h ; e8 02 ff6670 call 0369ch ; e8 02 ff 6701 6671 cmp ax, 077cch ; 3d cc 77 6702 je short 037 42h ; 74 0a6672 je short 037a9h ; 74 0a 6703 6673 push SS ; 16 6704 6674 pop ES ; 07 6705 6675 mov word [es:si], 00100h ; 26 c7 04 00 01 6706 jmp near 038 31h ; e9 ef 006676 jmp near 03898h ; e9 ef 00 6707 6677 mov cx, strict word 00004h ; b9 04 00 6708 6678 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6709 6679 mov es, [bp-008h] ; 8e 46 f8 6710 6680 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6711 jne short 037 5ch ; 75 076681 jne short 037c3h ; 75 07 6712 6682 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6713 je short 037 6bh ; 74 0f6683 je short 037d2h ; 74 0f 6714 6684 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6715 jne short 037 70h ; 75 0c6685 jne short 037d7h ; 75 0c 6716 6686 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6717 jne short 037 70h ; 75 056687 jne short 037d7h ; 75 05 6718 6688 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6719 6689 mov es, [bp-008h] ; 8e 46 f8 … … 6731 6701 mov dx, strict word 0ffffh ; ba ff ff 6732 6702 mov ax, 003b6h ; b8 b6 03 6733 call 036 35h ; e8 84 fe6703 call 0369ch ; e8 84 fe 6734 6704 mov es, [bp-008h] ; 8e 46 f8 6735 6705 mov word [es:bx+012h], ax ; 26 89 47 12 6736 6706 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6737 je short 03 7e2h ; 74 246707 je short 03849h ; 74 24 6738 6708 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6739 6709 mov word [es:bx+016h], 07c73h ; 26 c7 47 16 73 7c … … 6746 6716 add dx, strict byte 0001bh ; 83 c2 1b 6747 6717 mov ax, 003b6h ; b8 b6 03 6748 call 036 47h ; e8 5a fe6718 call 036aeh ; e8 5a fe 6749 6719 xor ah, ah ; 30 e4 6750 6720 cmp ax, word [bp-010h] ; 3b 46 f0 6751 jnbe short 038 0dh ; 77 196721 jnbe short 03874h ; 77 19 6752 6722 mov dx, cx ; 89 ca 6753 6723 mov ax, 003b6h ; b8 b6 03 6754 call 036 35h ; e8 39 fe6724 call 0369ch ; e8 39 fe 6755 6725 mov bx, ax ; 89 c3 6756 6726 mov dx, word [bp-00ah] ; 8b 56 f6 6757 6727 add dx, word [bp-00ch] ; 03 56 f4 6758 6728 mov ax, di ; 89 f8 6759 call 0318fh ; e8 86f96729 call 0318fh ; e8 1f f9 6760 6730 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6761 6731 add cx, strict byte 00044h ; 83 c1 44 6762 6732 mov dx, cx ; 89 ca 6763 6733 mov ax, 003b6h ; b8 b6 03 6764 call 036 35h ; e8 1d fe6734 call 0369ch ; e8 1d fe 6765 6735 mov bx, ax ; 89 c3 6766 6736 cmp ax, strict word 0ffffh ; 3d ff ff 6767 jne short 03 7e2h ; 75 c36737 jne short 03849h ; 75 c3 6768 6738 mov dx, word [bp-00ah] ; 8b 56 f6 6769 6739 add dx, word [bp-00ch] ; 03 56 f4 6770 6740 mov ax, di ; 89 f8 6771 call 0318fh ; e8 65 f96741 call 0318fh ; e8 fe f8 6772 6742 push SS ; 16 6773 6743 pop ES ; 07 … … 6779 6749 pop bp ; 5d 6780 6750 retn ; c3 6781 vbe_biosfn_return_mode_information_: ; 0xc38 39LB 0xbd6751 vbe_biosfn_return_mode_information_: ; 0xc38a0 LB 0xbd 6782 6752 push bp ; 55 6783 6753 mov bp, sp ; 89 e5 … … 6791 6761 mov word [bp-006h], cx ; 89 4e fa 6792 6762 test dh, 040h ; f6 c6 40 6793 je short 038 52h ; 74 056763 je short 038b9h ; 74 05 6794 6764 mov dx, strict word 00001h ; ba 01 00 6795 jmp short 038 54h ; eb 026765 jmp short 038bbh ; eb 02 6796 6766 xor dx, dx ; 31 d2 6797 6767 and ah, 001h ; 80 e4 01 6798 call 03 6b5h ; e8 5b fe6768 call 0371ch ; e8 5b fe 6799 6769 mov word [bp-008h], ax ; 89 46 f8 6800 6770 test ax, ax ; 85 c0 6801 je short 038 97h ; 74 366771 je short 038feh ; 74 36 6802 6772 mov cx, 00100h ; b9 00 01 6803 6773 xor ax, ax ; 31 c0 … … 6805 6775 mov es, si ; 8e c6 6806 6776 cld ; fc 6807 jcxz 038 70h ; e3 026777 jcxz 038d7h ; e3 02 6808 6778 rep stosb ; f3 aa 6809 6779 xor cx, cx ; 31 c9 6810 jmp short 038 79h ; eb 056780 jmp short 038e0h ; eb 05 6811 6781 cmp cx, strict byte 00042h ; 83 f9 42 6812 jnc short 03 899h ; 73 206782 jnc short 03900h ; 73 20 6813 6783 mov dx, word [bp-008h] ; 8b 56 f8 6814 6784 inc dx ; 42 … … 6816 6786 add dx, cx ; 01 ca 6817 6787 mov ax, 003b6h ; b8 b6 03 6818 call 036 47h ; e8 c1 fd6788 call 036aeh ; e8 c1 fd 6819 6789 mov bl, al ; 88 c3 6820 6790 xor bh, bh ; 30 ff … … 6822 6792 add dx, cx ; 01 ca 6823 6793 mov ax, si ; 89 f0 6824 call 03173h ; e8 dff86825 inc cx ; 41 6826 jmp short 038 74h ; eb dd6827 jmp short 03 8e4h ; eb 4b6794 call 03173h ; e8 78 f8 6795 inc cx ; 41 6796 jmp short 038dbh ; eb dd 6797 jmp short 0394bh ; eb 4b 6828 6798 mov dx, word [bp-006h] ; 8b 56 fa 6829 6799 inc dx ; 42 6830 6800 inc dx ; 42 6831 6801 mov ax, si ; 89 f0 6832 call 03165h ; e8 c2f86802 call 03165h ; e8 5b f8 6833 6803 test AL, strict byte 001h ; a8 01 6834 je short 03 8c3h ; 74 1c6804 je short 0392ah ; 74 1c 6835 6805 mov dx, word [bp-006h] ; 8b 56 fa 6836 6806 add dx, strict byte 0000ch ; 83 c2 0c 6837 6807 mov bx, 00629h ; bb 29 06 6838 6808 mov ax, si ; 89 f0 6839 call 0318fh ; e8 daf86809 call 0318fh ; e8 73 f8 6840 6810 mov dx, word [bp-006h] ; 8b 56 fa 6841 6811 add dx, strict byte 0000eh ; 83 c2 0e 6842 6812 mov bx, 0c000h ; bb 00 c0 6843 6813 mov ax, si ; 89 f0 6844 call 0318fh ; e8 ccf86814 call 0318fh ; e8 65 f8 6845 6815 mov ax, strict word 0000bh ; b8 0b 00 6846 6816 mov dx, 001ceh ; ba ce 01 6847 call 00570h ; e8 a4cc6817 call 00570h ; e8 3d cc 6848 6818 mov dx, 001cfh ; ba cf 01 6849 call 00577h ; e8 a5cc6819 call 00577h ; e8 3e cc 6850 6820 mov dx, word [bp-006h] ; 8b 56 fa 6851 6821 add dx, strict byte 0002ah ; 83 c2 2a 6852 6822 mov bx, ax ; 89 c3 6853 6823 mov ax, si ; 89 f0 6854 call 0318fh ; e8 b0f86824 call 0318fh ; e8 49 f8 6855 6825 mov ax, strict word 0004fh ; b8 4f 00 6856 jmp short 03 8e7h ; eb 036826 jmp short 0394eh ; eb 03 6857 6827 mov ax, 00100h ; b8 00 01 6858 6828 push SS ; 16 … … 6865 6835 pop bp ; 5d 6866 6836 retn ; c3 6867 vbe_biosfn_set_mode_: ; 0xc3 8f6LB 0xeb6837 vbe_biosfn_set_mode_: ; 0xc395d LB 0xeb 6868 6838 push bp ; 55 6869 6839 mov bp, sp ; 89 e5 … … 6874 6844 mov word [bp-00ah], dx ; 89 56 f6 6875 6845 test byte [bp-009h], 040h ; f6 46 f7 40 6876 je short 039 0eh ; 74 056846 je short 03975h ; 74 05 6877 6847 mov ax, strict word 00001h ; b8 01 00 6878 jmp short 039 10h ; eb 026848 jmp short 03977h ; eb 02 6879 6849 xor ax, ax ; 31 c0 6880 6850 mov dx, ax ; 89 c2 6881 6851 test ax, ax ; 85 c0 6882 je short 039 19h ; 74 036852 je short 03980h ; 74 03 6883 6853 mov ax, strict word 00040h ; b8 40 00 6884 6854 mov byte [bp-006h], al ; 88 46 fa 6885 6855 test byte [bp-009h], 080h ; f6 46 f7 80 6886 je short 039 27h ; 74 056856 je short 0398eh ; 74 05 6887 6857 mov ax, 00080h ; b8 80 00 6888 jmp short 039 29h ; eb 026858 jmp short 03990h ; eb 02 6889 6859 xor ax, ax ; 31 c0 6890 6860 mov byte [bp-008h], al ; 88 46 f8 6891 6861 and byte [bp-009h], 001h ; 80 66 f7 01 6892 6862 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6893 jnc short 039 4ah ; 73 136863 jnc short 039b1h ; 73 13 6894 6864 xor ax, ax ; 31 c0 6895 call 005ddh ; e8 a1cc6865 call 005ddh ; e8 3a cc 6896 6866 mov al, byte [bp-00ah] ; 8a 46 f6 6897 6867 xor ah, ah ; 30 e4 6898 call 0101ch ; e8 d8d66868 call 0101ch ; e8 71 d6 6899 6869 mov ax, strict word 0004fh ; b8 4f 00 6900 jmp near 03 9d7h ; e9 8d 006870 jmp near 03a3eh ; e9 8d 00 6901 6871 mov ax, word [bp-00ah] ; 8b 46 f6 6902 call 03 6b5h ; e8 65 fd6872 call 0371ch ; e8 65 fd 6903 6873 mov bx, ax ; 89 c3 6904 6874 test ax, ax ; 85 c0 6905 jne short 039 59h ; 75 036906 jmp near 03 9d4h ; e9 7b 006875 jne short 039c0h ; 75 03 6876 jmp near 03a3bh ; e9 7b 00 6907 6877 lea dx, [bx+014h] ; 8d 57 14 6908 6878 mov ax, 003b6h ; b8 b6 03 6909 call 036 35h ; e8 d3 fc6879 call 0369ch ; e8 d3 fc 6910 6880 mov cx, ax ; 89 c1 6911 6881 lea dx, [bx+016h] ; 8d 57 16 6912 6882 mov ax, 003b6h ; b8 b6 03 6913 call 036 35h ; e8 c8 fc6883 call 0369ch ; e8 c8 fc 6914 6884 mov di, ax ; 89 c7 6915 6885 lea dx, [bx+01bh] ; 8d 57 1b 6916 6886 mov ax, 003b6h ; b8 b6 03 6917 call 036 47h ; e8 cf fc6887 call 036aeh ; e8 cf fc 6918 6888 mov bl, al ; 88 c3 6919 6889 mov dl, al ; 88 c2 6920 6890 xor ax, ax ; 31 c0 6921 call 005ddh ; e8 5c cc6891 call 005ddh ; e8 f5 cb 6922 6892 cmp bl, 004h ; 80 fb 04 6923 jne short 039 8ch ; 75 066893 jne short 039f3h ; 75 06 6924 6894 mov ax, strict word 0006ah ; b8 6a 00 6925 call 0101ch ; e8 90d66895 call 0101ch ; e8 29 d6 6926 6896 mov al, dl ; 88 d0 6927 6897 xor ah, ah ; 30 e4 6928 call 0361 6h ; e8 83fc6898 call 03613h ; e8 19 fc 6929 6899 mov ax, cx ; 89 c8 6930 call 035d 8h ; e8 40 fc6900 call 035d5h ; e8 d6 fb 6931 6901 mov ax, di ; 89 f8 6932 call 035f 7h ; e8 5a fc6902 call 035f4h ; e8 f0 fb 6933 6903 xor ax, ax ; 31 c0 6934 call 00603h ; e8 61 cc6904 call 00603h ; e8 fa cb 6935 6905 mov al, byte [bp-008h] ; 8a 46 f8 6936 6906 or AL, strict byte 001h ; 0c 01 … … 6938 6908 mov dl, byte [bp-006h] ; 8a 56 fa 6939 6909 or al, dl ; 08 d0 6940 call 005ddh ; e8 2c cc6941 call 00 70dh ; e8 59 cd6910 call 005ddh ; e8 c5 cb 6911 call 006d2h ; e8 b7 cc 6942 6912 mov bx, word [bp-00ah] ; 8b 5e f6 6943 6913 mov dx, 000bah ; ba ba 00 6944 6914 mov ax, strict word 00040h ; b8 40 00 6945 call 0318fh ; e8 cff76915 call 0318fh ; e8 68 f7 6946 6916 mov bl, byte [bp-008h] ; 8a 5e f8 6947 6917 or bl, 060h ; 80 cb 60 … … 6949 6919 mov dx, 00087h ; ba 87 00 6950 6920 mov ax, strict word 00040h ; b8 40 00 6951 call 03173h ; e8 a2f76952 jmp near 039 44h ; e9 70 ff6921 call 03173h ; e8 3b f7 6922 jmp near 039abh ; e9 70 ff 6953 6923 mov ax, 00100h ; b8 00 01 6954 6924 mov word [ss:si], ax ; 36 89 04 … … 6958 6928 pop bp ; 5d 6959 6929 retn ; c3 6960 vbe_biosfn_read_video_state_size_: ; 0xc3 9e1LB 0x86930 vbe_biosfn_read_video_state_size_: ; 0xc3a48 LB 0x8 6961 6931 push bp ; 55 6962 6932 mov bp, sp ; 89 e5 … … 6964 6934 pop bp ; 5d 6965 6935 retn ; c3 6966 vbe_biosfn_save_video_state_: ; 0xc3 9e9LB 0x5b6936 vbe_biosfn_save_video_state_: ; 0xc3a50 LB 0x5b 6967 6937 push bp ; 55 6968 6938 mov bp, sp ; 89 e5 … … 6983 6953 mov dx, cx ; 89 ca 6984 6954 mov ax, di ; 89 f8 6985 call 0318fh ; e8 83f76955 call 0318fh ; e8 1c f7 6986 6956 inc cx ; 41 6987 6957 inc cx ; 41 6988 6958 test byte [bp-00ah], 001h ; f6 46 f6 01 6989 je short 03a 3bh ; 74 276959 je short 03aa2h ; 74 27 6990 6960 mov si, strict word 00001h ; be 01 00 6991 jmp short 03a 1eh ; eb 056961 jmp short 03a85h ; eb 05 6992 6962 cmp si, strict byte 00009h ; 83 fe 09 6993 jnbe short 03a 3bh ; 77 1d6963 jnbe short 03aa2h ; 77 1d 6994 6964 cmp si, strict byte 00004h ; 83 fe 04 6995 je short 03a 38h ; 74 156965 je short 03a9fh ; 74 15 6996 6966 mov ax, si ; 89 f0 6997 6967 mov dx, 001ceh ; ba ce 01 … … 7002 6972 mov dx, cx ; 89 ca 7003 6973 mov ax, di ; 89 f8 7004 call 0318fh ; e8 59 f76974 call 0318fh ; e8 f2 f6 7005 6975 inc cx ; 41 7006 6976 inc cx ; 41 7007 6977 inc si ; 46 7008 jmp short 03a 19h ; eb de6978 jmp short 03a80h ; eb de 7009 6979 lea sp, [bp-008h] ; 8d 66 f8 7010 6980 pop di ; 5f … … 7014 6984 pop bp ; 5d 7015 6985 retn ; c3 7016 vbe_biosfn_restore_video_state_: ; 0xc3a 44LB 0x9b6986 vbe_biosfn_restore_video_state_: ; 0xc3aab LB 0x9b 7017 6987 push bp ; 55 7018 6988 mov bp, sp ; 89 e5 … … 7023 6993 mov cx, ax ; 89 c1 7024 6994 mov bx, dx ; 89 d3 7025 call 03181h ; e8 2f f76995 call 03181h ; e8 c8 f6 7026 6996 mov word [bp-008h], ax ; 89 46 f8 7027 6997 inc bx ; 43 7028 6998 inc bx ; 43 7029 6999 test byte [bp-008h], 001h ; f6 46 f8 01 7030 jne short 03a 6dh ; 75 107000 jne short 03ad4h ; 75 10 7031 7001 mov ax, strict word 00004h ; b8 04 00 7032 7002 mov dx, 001ceh ; ba ce 01 … … 7035 7005 mov dx, 001cfh ; ba cf 01 7036 7006 out DX, ax ; ef 7037 jmp short 03 ad7h ; eb 6a7007 jmp short 03b3eh ; eb 6a 7038 7008 mov ax, strict word 00001h ; b8 01 00 7039 7009 mov dx, 001ceh ; ba ce 01 … … 7041 7011 mov dx, bx ; 89 da 7042 7012 mov ax, cx ; 89 c8 7043 call 03181h ; e8 06 f77013 call 03181h ; e8 9f f6 7044 7014 mov dx, 001cfh ; ba cf 01 7045 7015 out DX, ax ; ef … … 7051 7021 mov dx, bx ; 89 da 7052 7022 mov ax, cx ; 89 c8 7053 call 03181h ; e8 f2f67023 call 03181h ; e8 8b f6 7054 7024 mov dx, 001cfh ; ba cf 01 7055 7025 out DX, ax ; ef … … 7061 7031 mov dx, bx ; 89 da 7062 7032 mov ax, cx ; 89 c8 7063 call 03181h ; e8 def67033 call 03181h ; e8 77 f6 7064 7034 mov dx, 001cfh ; ba cf 01 7065 7035 out DX, ax ; ef … … 7073 7043 out DX, ax ; ef 7074 7044 mov si, strict word 00005h ; be 05 00 7075 jmp short 03 ac1h ; eb 057045 jmp short 03b28h ; eb 05 7076 7046 cmp si, strict byte 00009h ; 83 fe 09 7077 jnbe short 03 ad7h ; 77 167047 jnbe short 03b3eh ; 77 16 7078 7048 mov ax, si ; 89 f0 7079 7049 mov dx, 001ceh ; ba ce 01 … … 7081 7051 mov dx, bx ; 89 da 7082 7052 mov ax, cx ; 89 c8 7083 call 03181h ; e8 b3f67053 call 03181h ; e8 4c f6 7084 7054 mov dx, 001cfh ; ba cf 01 7085 7055 out DX, ax ; ef … … 7087 7057 inc bx ; 43 7088 7058 inc si ; 46 7089 jmp short 03 abch ; eb e57059 jmp short 03b23h ; eb e5 7090 7060 lea sp, [bp-006h] ; 8d 66 fa 7091 7061 pop si ; 5e … … 7094 7064 pop bp ; 5d 7095 7065 retn ; c3 7096 vbe_biosfn_save_restore_state_: ; 0xc3 adfLB 0x8c7066 vbe_biosfn_save_restore_state_: ; 0xc3b46 LB 0x8c 7097 7067 push bp ; 55 7098 7068 mov bp, sp ; 89 e5 … … 7107 7077 xor ah, ah ; 30 e4 7108 7078 cmp ax, strict word 00002h ; 3d 02 00 7109 je short 03b 3eh ; 74 457079 je short 03ba5h ; 74 45 7110 7080 cmp ax, strict word 00001h ; 3d 01 00 7111 je short 03b 22h ; 74 247081 je short 03b89h ; 74 24 7112 7082 test ax, ax ; 85 c0 7113 jne short 03b 5ah ; 75 587083 jne short 03bc1h ; 75 58 7114 7084 mov ax, word [bp-006h] ; 8b 46 fa 7115 call 02a51h ; e8 49 ef7085 call 02a51h ; e8 e2 ee 7116 7086 mov cx, ax ; 89 c1 7117 7087 test byte [bp-006h], 008h ; f6 46 fa 08 7118 je short 03b 15h ; 74 057119 call 03 9e1h ; e8 ce fe7088 je short 03b7ch ; 74 05 7089 call 03a48h ; e8 ce fe 7120 7090 add ax, cx ; 01 c8 7121 7091 add ax, strict word 0003fh ; 05 3f 00 … … 7124 7094 pop ES ; 07 7125 7095 mov word [es:bx], ax ; 26 89 07 7126 jmp short 03b 5dh ; eb 3b7096 jmp short 03bc4h ; eb 3b 7127 7097 push SS ; 16 7128 7098 pop ES ; 07 … … 7130 7100 mov dx, cx ; 89 ca 7131 7101 mov ax, word [bp-006h] ; 8b 46 fa 7132 call 02a86h ; e8 57 ef7102 call 02a86h ; e8 f0 ee 7133 7103 test byte [bp-006h], 008h ; f6 46 fa 08 7134 je short 03b 5dh ; 74 287104 je short 03bc4h ; 74 28 7135 7105 mov dx, ax ; 89 c2 7136 7106 mov ax, cx ; 89 c8 7137 call 03 9e9h ; e8 ad fe7138 jmp short 03b 5dh ; eb 1f7107 call 03a50h ; e8 ad fe 7108 jmp short 03bc4h ; eb 1f 7139 7109 push SS ; 16 7140 7110 pop ES ; 07 … … 7142 7112 mov dx, cx ; 89 ca 7143 7113 mov ax, word [bp-006h] ; 8b 46 fa 7144 call 02e07h ; e8 bcf27114 call 02e07h ; e8 55 f2 7145 7115 test byte [bp-006h], 008h ; f6 46 fa 08 7146 je short 03b 5dh ; 74 0c7116 je short 03bc4h ; 74 0c 7147 7117 mov dx, ax ; 89 c2 7148 7118 mov ax, cx ; 89 c8 7149 call 03a 44h ; e8 ec fe7150 jmp short 03b 5dh ; eb 037119 call 03aabh ; e8 ec fe 7120 jmp short 03bc4h ; eb 03 7151 7121 mov di, 00100h ; bf 00 01 7152 7122 push SS ; 16 … … 7158 7128 pop bp ; 5d 7159 7129 retn 00002h ; c2 02 00 7130 vbe_biosfn_get_set_scanline_length_: ; 0xc3bd2 LB 0xb0 7131 push bp ; 55 7132 mov bp, sp ; 89 e5 7133 push si ; 56 7134 push di ; 57 7135 sub sp, strict byte 00006h ; 83 ec 06 7136 push ax ; 50 7137 mov si, dx ; 89 d6 7138 mov di, bx ; 89 df 7139 mov word [bp-008h], cx ; 89 4e f8 7140 call 03632h ; e8 4d fa 7141 mov cl, al ; 88 c1 7142 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 7143 push SS ; 16 7144 pop ES ; 07 7145 mov bx, word [es:di] ; 26 8b 1d 7146 mov al, byte [es:si] ; 26 8a 04 7147 cmp AL, strict byte 002h ; 3c 02 7148 je short 03c02h ; 74 0a 7149 cmp AL, strict byte 001h ; 3c 01 7150 je short 03c2ah ; 74 2e 7151 test al, al ; 84 c0 7152 je short 03c25h ; 74 25 7153 jmp short 03c6bh ; eb 69 7154 cmp cl, 004h ; 80 f9 04 7155 jne short 03c0ch ; 75 05 7156 sal bx, 003h ; c1 e3 03 7157 jmp short 03c25h ; eb 19 7158 mov al, cl ; 88 c8 7159 xor ah, ah ; 30 e4 7160 cwd ; 99 7161 sal dx, 003h ; c1 e2 03 7162 db 01bh, 0c2h 7163 ; sbb ax, dx ; 1b c2 7164 sar ax, 003h ; c1 f8 03 7165 mov word [bp-00ah], ax ; 89 46 f6 7166 mov ax, bx ; 89 d8 7167 xor dx, dx ; 31 d2 7168 div word [bp-00ah] ; f7 76 f6 7169 mov bx, ax ; 89 c3 7170 mov ax, bx ; 89 d8 7171 call 0364bh ; e8 21 fa 7172 call 0366ah ; e8 3d fa 7173 mov bx, ax ; 89 c3 7174 push SS ; 16 7175 pop ES ; 07 7176 mov word [es:di], ax ; 26 89 05 7177 cmp cl, 004h ; 80 f9 04 7178 jne short 03c3eh ; 75 05 7179 shr bx, 003h ; c1 eb 03 7180 jmp short 03c53h ; eb 15 7181 mov al, cl ; 88 c8 7182 xor ah, ah ; 30 e4 7183 cwd ; 99 7184 sal dx, 003h ; c1 e2 03 7185 db 01bh, 0c2h 7186 ; sbb ax, dx ; 1b c2 7187 sar ax, 003h ; c1 f8 03 7188 mov di, ax ; 89 c7 7189 mov ax, bx ; 89 d8 7190 mul di ; f7 e7 7191 mov bx, ax ; 89 c3 7192 add bx, strict byte 00003h ; 83 c3 03 7193 and bl, 0fch ; 80 e3 fc 7194 push SS ; 16 7195 pop ES ; 07 7196 mov word [es:si], bx ; 26 89 1c 7197 call 03683h ; e8 22 fa 7198 push SS ; 16 7199 pop ES ; 07 7200 mov bx, word [bp-008h] ; 8b 5e f8 7201 mov word [es:bx], ax ; 26 89 07 7202 jmp short 03c70h ; eb 05 7203 mov word [bp-006h], 00100h ; c7 46 fa 00 01 7204 push SS ; 16 7205 pop ES ; 07 7206 mov ax, word [bp-006h] ; 8b 46 fa 7207 mov bx, word [bp-00ch] ; 8b 5e f4 7208 mov word [es:bx], ax ; 26 89 07 7209 lea sp, [bp-004h] ; 8d 66 fc 7210 pop di ; 5f 7211 pop si ; 5e 7212 pop bp ; 5d 7213 retn ; c3 7160 7214 7161 ; Padding 0x 895 bytes at 0xc3b6b7162 times 2197db 07215 ; Padding 0x77e bytes at 0xc3c82 7216 times 1918 db 0 7163 7217 7164 7218 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 8248 8302 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8249 8303 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8250 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 7fh8304 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 012h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum
r63627 r67771 1 8d91125af3fbd678849835b1667fb315*VBoxVgaBios286.rom1 c07f3ce46876cfd3480942a249080396 *VBoxVgaBios286.rom -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm
r63627 r67771 165 165 166 166 167 section VGAROM progbits vstart=0x0 align=1 ; size=0x9 92class=CODE group=AUTO167 section VGAROM progbits vstart=0x0 align=1 ; size=0x90a class=CODE group=AUTO 168 168 db 055h, 0aah, 040h, 0e9h, 062h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 169 169 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h … … 173 173 cmp ah, 00fh ; 80 fc 0f 174 174 jne short 0002eh ; 75 06 175 call 001 83h ; e8 5801176 jmp near 000 f3h ; e9 c500175 call 0017ah ; e8 4f 01 176 jmp near 000eah ; e9 bc 00 177 177 cmp ah, 01ah ; 80 fc 1a 178 178 jne short 00039h ; 75 06 179 call 005 38h ; e8 02 05180 jmp near 000 f3h ; e9 ba00179 call 0052fh ; e8 f9 04 180 jmp near 000eah ; e9 b1 00 181 181 cmp ah, 00bh ; 80 fc 0b 182 182 jne short 00044h ; 75 06 183 call 000 f5h ; e8 b400184 jmp near 000 f3h ; e9 af00183 call 000ech ; e8 ab 00 184 jmp near 000eah ; e9 a6 00 185 185 cmp ax, 01103h ; 3d 03 11 186 186 jne short 0004fh ; 75 06 187 call 0042 fh ; e8 e303188 jmp near 000 f3h ; e9 a400187 call 00426h ; e8 da 03 188 jmp near 000eah ; e9 9b 00 189 189 cmp ah, 012h ; 80 fc 12 190 190 jne short 00092h ; 75 3e 191 191 cmp bl, 010h ; 80 fb 10 192 192 jne short 0005fh ; 75 06 193 call 0043 ch ; e8 e003194 jmp near 000 f3h ; e9 9400193 call 00433h ; e8 d7 03 194 jmp near 000eah ; e9 8b 00 195 195 cmp bl, 030h ; 80 fb 30 196 196 jne short 0006ah ; 75 06 197 call 0045 fh ; e8 f803198 jmp near 000 f3h ; e9 8900197 call 00456h ; e8 ef 03 198 jmp near 000eah ; e9 80 00 199 199 cmp bl, 031h ; 80 fb 31 200 200 jne short 00074h ; 75 05 201 call 004 b2h ; e8 4004202 jmp short 000 f3h ; eb 7f201 call 004a9h ; e8 37 04 202 jmp short 000eah ; eb 76 203 203 cmp bl, 032h ; 80 fb 32 204 204 jne short 0007eh ; 75 05 205 call 004 d4h ; e8 5804206 jmp short 000 f3h ; eb 75205 call 004cbh ; e8 4f 04 206 jmp short 000eah ; eb 6c 207 207 cmp bl, 033h ; 80 fb 33 208 208 jne short 00088h ; 75 05 209 call 004 f2h ; e8 6c04210 jmp short 000 f3h ; eb 6b209 call 004e9h ; e8 63 04 210 jmp short 000eah ; eb 62 211 211 cmp bl, 034h ; 80 fb 34 212 jne short 000 e5h ; 75 58213 call 005 16h ; e8 8604214 jmp short 000 f3h ; eb 61212 jne short 000dch ; 75 4f 213 call 0050dh ; e8 7d 04 214 jmp short 000eah ; eb 58 215 215 cmp ax, 0101bh ; 3d 1b 10 216 je short 000 e5h ; 74 4e216 je short 000dch ; 74 45 217 217 cmp ah, 010h ; 80 fc 10 218 218 jne short 000a1h ; 75 05 219 call 001a ah ; e8 0b01220 jmp short 000 f3h ; eb 52219 call 001a1h ; e8 02 01 220 jmp short 000eah ; eb 49 221 221 cmp ah, 04fh ; 80 fc 4f 222 jne short 000 e5h ; 75 3f222 jne short 000dch ; 75 36 223 223 cmp AL, strict byte 003h ; 3c 03 224 224 jne short 000afh ; 75 05 225 call 00 80dh ; e8 6007226 jmp short 000 f3h ; eb 44225 call 007d2h ; e8 25 07 226 jmp short 000eah ; eb 3b 227 227 cmp AL, strict byte 005h ; 3c 05 228 228 jne short 000b8h ; 75 05 229 call 00 832h ; e8 7c07230 jmp short 000 f3h ; eb 3b231 cmp AL, strict byte 00 6h ; 3c 06229 call 007f7h ; e8 41 07 230 jmp short 000eah ; eb 32 231 cmp AL, strict byte 007h ; 3c 07 232 232 jne short 000c1h ; 75 05 233 call 008 5fh ; e8 a007234 jmp short 000 f3h ; eb 32235 cmp AL, strict byte 00 7h ; 3c 07233 call 00824h ; e8 65 07 234 jmp short 000eah ; eb 29 235 cmp AL, strict byte 008h ; 3c 08 236 236 jne short 000cah ; 75 05 237 call 008 ach ; e8 e407238 jmp short 000 f3h ; eb 29239 cmp AL, strict byte 00 8h ; 3c 08237 call 00858h ; e8 90 07 238 jmp short 000eah ; eb 20 239 cmp AL, strict byte 009h ; 3c 09 240 240 jne short 000d3h ; 75 05 241 call 008 e0h ; e8 0f 08242 jmp short 000 f3h ; eb 20243 cmp AL, strict byte 00 9h ; 3c 09241 call 0088fh ; e8 be 07 242 jmp short 000eah ; eb 17 243 cmp AL, strict byte 00ah ; 3c 0a 244 244 jne short 000dch ; 75 05 245 call 00917h ; e8 3d 08 246 jmp short 000f3h ; eb 17 247 cmp AL, strict byte 00ah ; 3c 0a 248 jne short 000e5h ; 75 05 249 call 0097bh ; e8 98 08 250 jmp short 000f3h ; eb 0e 245 call 008f3h ; e8 19 08 246 jmp short 000eah ; eb 0e 251 247 push ES ; 06 252 248 push DS ; 1e … … 254 250 mov bx, 0c000h ; bb 00 c0 255 251 mov ds, bx ; 8e db 256 call 030 07h ; e8 17 2f252 call 0301eh ; e8 37 2f 257 253 popaw ; 61 258 254 pop DS ; 1f … … 261 257 iret ; cf 262 258 cmp bh, 000h ; 80 ff 00 263 je short 00 100h ; 74 06259 je short 000f7h ; 74 06 264 260 cmp bh, 001h ; 80 ff 01 265 je short 001 51h ; 74 52261 je short 00148h ; 74 52 266 262 retn ; c3 267 263 push ax ; 50 … … 275 271 in AL, DX ; ec 276 272 cmp byte [word 00049h], 003h ; 80 3e 49 00 03 277 jbe short 001 44h ; 76 2f273 jbe short 0013bh ; 76 2f 278 274 mov dx, 003c0h ; ba c0 03 279 275 mov AL, strict byte 000h ; b0 00 … … 283 279 and AL, strict byte 00fh ; 24 0f 284 280 test AL, strict byte 008h ; a8 08 285 je short 001 25h ; 74 02281 je short 0011ch ; 74 02 286 282 add AL, strict byte 008h ; 04 08 287 283 out DX, AL ; ee … … 302 298 ; inc cl ; fe c1 303 299 cmp cl, 004h ; 80 f9 04 304 jne short 0012 bh ; 75 e7300 jne short 00122h ; 75 e7 305 301 mov AL, strict byte 020h ; b0 20 306 302 out DX, AL ; ee … … 335 331 ; inc cl ; fe c1 336 332 cmp cl, 004h ; 80 f9 04 337 jne short 0015 eh ; 75 e7333 jne short 00155h ; 75 e7 338 334 mov AL, strict byte 020h ; b0 20 339 335 out DX, AL ; ee … … 368 364 retn ; c3 369 365 cmp AL, strict byte 000h ; 3c 00 370 jne short 001 b0h ; 75 02371 jmp short 002 11h ; eb 61366 jne short 001a7h ; 75 02 367 jmp short 00208h ; eb 61 372 368 cmp AL, strict byte 001h ; 3c 01 373 jne short 001 b6h ; 75 02374 jmp short 0022 fh ; eb 79369 jne short 001adh ; 75 02 370 jmp short 00226h ; eb 79 375 371 cmp AL, strict byte 002h ; 3c 02 376 jne short 001b ch ; 75 02377 jmp short 002 37h ; eb 7b372 jne short 001b3h ; 75 02 373 jmp short 0022eh ; eb 7b 378 374 cmp AL, strict byte 003h ; 3c 03 379 jne short 001 c3h ; 75 03380 jmp near 002 68h ; e9 a5 00375 jne short 001bah ; 75 03 376 jmp near 0025fh ; e9 a5 00 381 377 cmp AL, strict byte 007h ; 3c 07 382 jne short 001c ah ; 75 03383 jmp near 002 92h ; e9 c8 00378 jne short 001c1h ; 75 03 379 jmp near 00289h ; e9 c8 00 384 380 cmp AL, strict byte 008h ; 3c 08 385 jne short 001 d1h ; 75 03386 jmp near 002b ah ; e9 e9 00381 jne short 001c8h ; 75 03 382 jmp near 002b1h ; e9 e9 00 387 383 cmp AL, strict byte 009h ; 3c 09 388 jne short 001 d8h ; 75 03389 jmp near 002 c8h ; e9 f0 00384 jne short 001cfh ; 75 03 385 jmp near 002bfh ; e9 f0 00 390 386 cmp AL, strict byte 010h ; 3c 10 391 jne short 001d fh ; 75 03392 jmp near 0030 dh ; e9 2e 01387 jne short 001d6h ; 75 03 388 jmp near 00304h ; e9 2e 01 393 389 cmp AL, strict byte 012h ; 3c 12 394 jne short 001 e6h ; 75 03395 jmp near 003 26h ; e9 40 01390 jne short 001ddh ; 75 03 391 jmp near 0031dh ; e9 40 01 396 392 cmp AL, strict byte 013h ; 3c 13 397 jne short 001e dh ; 75 03398 jmp near 0034 eh ; e9 61 01393 jne short 001e4h ; 75 03 394 jmp near 00345h ; e9 61 01 399 395 cmp AL, strict byte 015h ; 3c 15 400 jne short 001 f4h ; 75 03401 jmp near 003 95h ; e9 a1 01396 jne short 001ebh ; 75 03 397 jmp near 0038ch ; e9 a1 01 402 398 cmp AL, strict byte 017h ; 3c 17 403 jne short 001f bh ; 75 03404 jmp near 003 b0h ; e9 b5 01399 jne short 001f2h ; 75 03 400 jmp near 003a7h ; e9 b5 01 405 401 cmp AL, strict byte 018h ; 3c 18 406 jne short 00 202h ; 75 03407 jmp near 003 d8h ; e9 d6 01402 jne short 001f9h ; 75 03 403 jmp near 003cfh ; e9 d6 01 408 404 cmp AL, strict byte 019h ; 3c 19 409 jne short 0020 9h ; 75 03410 jmp near 003 e3h ; e9 da 01405 jne short 00200h ; 75 03 406 jmp near 003dah ; e9 da 01 411 407 cmp AL, strict byte 01ah ; 3c 1a 412 jne short 002 10h ; 75 03413 jmp near 003e eh ; e9 de 01408 jne short 00207h ; 75 03 409 jmp near 003e5h ; e9 de 01 414 410 retn ; c3 415 411 cmp bl, 014h ; 80 fb 14 416 jnbe short 0022 eh ; 77 18412 jnbe short 00225h ; 77 18 417 413 push ax ; 50 418 414 push dx ; 52 … … 435 431 push bx ; 53 436 432 mov BL, strict byte 011h ; b3 11 437 call 002 11h ; e8 dc ff433 call 00208h ; e8 dc ff 438 434 pop bx ; 5b 439 435 retn ; c3 … … 457 453 ; inc cl ; fe c1 458 454 cmp cl, 010h ; 80 f9 10 459 jne short 002 46h ; 75 f1455 jne short 0023dh ; 75 f1 460 456 mov AL, strict byte 011h ; b0 11 461 457 out DX, AL ; ee … … 497 493 retn ; c3 498 494 cmp bl, 014h ; 80 fb 14 499 jnbe short 002b 9h ; 77 22495 jnbe short 002b0h ; 77 22 500 496 push ax ; 50 501 497 push dx ; 52 … … 523 519 push bx ; 53 524 520 mov BL, strict byte 011h ; b3 11 525 call 002 92h ; e8 d1 ff521 call 00289h ; e8 d1 ff 526 522 db 08ah, 0c7h 527 523 ; mov al, bh ; 8a c7 … … 551 547 ; inc cl ; fe c1 552 548 cmp cl, 010h ; 80 f9 10 553 jne short 002 d0h ; 75 e7549 jne short 002c7h ; 75 e7 554 550 mov dx, 003dah ; ba da 03 555 551 in AL, DX ; ec … … 616 612 inc bx ; 43 617 613 dec cx ; 49 618 jne short 003 37h ; 75 ee614 jne short 0032eh ; 75 ee 619 615 pop dx ; 5a 620 616 pop cx ; 59 … … 633 629 in AL, DX ; ec 634 630 and bl, 001h ; 80 e3 01 635 jne short 003 71h ; 75 0d631 jne short 00368h ; 75 0d 636 632 and AL, strict byte 07fh ; 24 7f 637 633 sal bh, 007h ; c0 e7 07 … … 640 636 mov dx, 003c0h ; ba c0 03 641 637 out DX, AL ; ee 642 jmp short 0038 ah ; eb 19638 jmp short 00381h ; eb 19 643 639 push ax ; 50 644 640 mov dx, 003dah ; ba da 03 … … 649 645 pop ax ; 58 650 646 and AL, strict byte 080h ; 24 80 651 jne short 003 84h ; 75 03647 jne short 0037bh ; 75 03 652 648 sal bh, 002h ; c0 e7 02 653 649 and bh, 00fh ; 80 e7 0f … … 708 704 inc bx ; 43 709 705 dec cx ; 49 710 jne short 003 c1h ; 75 ee706 jne short 003b8h ; 75 ee 711 707 pop dx ; 5a 712 708 pop cx ; 59 … … 755 751 and bh, 00fh ; 80 e7 0f 756 752 test bl, 001h ; f6 c3 01 757 jne short 0041 eh ; 75 03753 jne short 00415h ; 75 03 758 754 shr bh, 002h ; c0 ef 02 759 755 mov dx, 003dah ; ba da 03 … … 790 786 mov bx, strict word 00003h ; bb 03 00 791 787 cmp ax, 003b4h ; 3d b4 03 792 jne short 0045 ch ; 75 02788 jne short 00453h ; 75 02 793 789 mov BH, strict byte 001h ; b7 01 794 790 pop ax ; 58 … … 807 803 mov ah, byte [bx] ; 8a 27 808 804 cmp dl, 001h ; 80 fa 01 809 je short 0048 dh ; 74 15810 jc short 004 97h ; 72 1d805 je short 00484h ; 74 15 806 jc short 0048eh ; 72 1d 811 807 cmp dl, 002h ; 80 fa 02 812 je short 004 81h ; 74 02813 jmp short 004a bh ; eb 2a808 je short 00478h ; 74 02 809 jmp short 004a2h ; eb 2a 814 810 and AL, strict byte 07fh ; 24 7f 815 811 or AL, strict byte 010h ; 0c 10 816 812 and ah, 0f0h ; 80 e4 f0 817 813 or ah, 009h ; 80 cc 09 818 jne short 004 a1h ; 75 14814 jne short 00498h ; 75 14 819 815 and AL, strict byte 06fh ; 24 6f 820 816 and ah, 0f0h ; 80 e4 f0 821 817 or ah, 009h ; 80 cc 09 822 jne short 004 a1h ; 75 0a818 jne short 00498h ; 75 0a 823 819 and AL, strict byte 0efh ; 24 ef 824 820 or AL, strict byte 080h ; 0c 80 … … 914 910 retn ; c3 915 911 cmp AL, strict byte 000h ; 3c 00 916 je short 005 41h ; 74 05912 je short 00538h ; 74 05 917 913 cmp AL, strict byte 001h ; 3c 01 918 je short 005 56h ; 74 16914 je short 0054dh ; 74 16 919 915 retn ; c3 920 916 push DS ; 1e … … 948 944 pop DS ; 1f 949 945 retn ; c3 950 times 0x 5db 0946 times 0xe db 0 951 947 do_out_dx_ax: ; 0xc0570 LB 0x7 952 948 xchg ah, al ; 86 c4 … … 1054 1050 pop dx ; 5a 1055 1051 retn ; c3 1056 _dispi_set_bank_farcall: ; 0xc0629 LB 0x e41052 _dispi_set_bank_farcall: ; 0xc0629 LB 0xa9 1057 1053 cmp bx, 00100h ; 81 fb 00 01 1058 1054 je short 00653h ; 74 24 … … 1142 1138 pop ax ; 58 1143 1139 retn ; c3 1144 call 006b5h ; e8 e0 ff 1145 push dx ; 52 1146 push ax ; 50 1147 mov dx, 001ceh ; ba ce 01 1148 mov ax, strict word 00006h ; b8 06 00 1149 call 00570h ; e8 90 fe 1150 pop ax ; 58 1151 mov dx, 001cfh ; ba cf 01 1152 call 00570h ; e8 89 fe 1153 pop dx ; 5a 1154 retn ; c3 1155 push dx ; 52 1156 mov dx, 001ceh ; ba ce 01 1157 mov ax, strict word 00006h ; b8 06 00 1158 call 00570h ; e8 7d fe 1159 mov dx, 001cfh ; ba cf 01 1160 call 00577h ; e8 7e fe 1161 pop dx ; 5a 1162 retn ; c3 1163 push dx ; 52 1164 mov dx, 001ceh ; ba ce 01 1165 mov ax, strict word 00007h ; b8 07 00 1166 call 00570h ; e8 6b fe 1167 mov dx, 001cfh ; ba cf 01 1168 call 00577h ; e8 6c fe 1169 pop dx ; 5a 1170 retn ; c3 1171 _vga_compat_setup: ; 0xc070d LB 0xed 1140 _vga_compat_setup: ; 0xc06d2 LB 0xed 1172 1141 push ax ; 50 1173 1142 push dx ; 52 1174 1143 mov dx, 001ceh ; ba ce 01 1175 1144 mov ax, strict word 00001h ; b8 01 00 1176 call 00570h ; e8 58fe1145 call 00570h ; e8 93 fe 1177 1146 mov dx, 001cfh ; ba cf 01 1178 call 00577h ; e8 59fe1147 call 00577h ; e8 94 fe 1179 1148 push ax ; 50 1180 1149 mov dx, 003d4h ; ba d4 03 … … 1190 1159 out DX, ax ; ef 1191 1160 pop ax ; 58 1192 call 006b5h ; e8 80ff1161 call 006b5h ; e8 bb ff 1193 1162 mov dx, 001ceh ; ba ce 01 1194 1163 mov ax, strict word 00002h ; b8 02 00 1195 call 00570h ; e8 32fe1164 call 00570h ; e8 6d fe 1196 1165 mov dx, 001cfh ; ba cf 01 1197 call 00577h ; e8 33fe1166 call 00577h ; e8 6e fe 1198 1167 dec ax ; 48 1199 1168 push ax ; 50 … … 1210 1179 and AL, strict byte 0bdh ; 24 bd 1211 1180 test ah, 001h ; f6 c4 01 1212 je short 007 5dh ; 74 021181 je short 00722h ; 74 02 1213 1182 or AL, strict byte 002h ; 0c 02 1214 1183 test ah, 002h ; f6 c4 02 1215 je short 007 64h ; 74 021184 je short 00729h ; 74 02 1216 1185 or AL, strict byte 040h ; 0c 40 1217 1186 out DX, AL ; ee … … 1250 1219 mov dx, 001ceh ; ba ce 01 1251 1220 mov ax, strict word 00003h ; b8 03 00 1252 call 00570h ; e8 c2fd1221 call 00570h ; e8 fd fd 1253 1222 mov dx, 001cfh ; ba cf 01 1254 call 00577h ; e8 c3fd1223 call 00577h ; e8 fe fd 1255 1224 cmp AL, strict byte 008h ; 3c 08 1256 jc short 007 f8h ; 72 401225 jc short 007bdh ; 72 40 1257 1226 mov dx, 003d4h ; ba d4 03 1258 1227 mov AL, strict byte 014h ; b0 14 … … 1291 1260 pop dx ; 5a 1292 1261 pop ax ; 58 1293 _vbe_has_vbe_display: ; 0xc07 faLB 0x131262 _vbe_has_vbe_display: ; 0xc07bf LB 0x13 1294 1263 push DS ; 1e 1295 1264 push bx ; 53 … … 1304 1273 pop DS ; 1f 1305 1274 retn ; c3 1306 vbe_biosfn_return_current_mode: ; 0xc0 80dLB 0x251275 vbe_biosfn_return_current_mode: ; 0xc07d2 LB 0x25 1307 1276 push DS ; 1e 1308 1277 mov ax, strict word 00040h ; b8 40 00 1309 1278 mov ds, ax ; 8e d8 1310 call 005f1h ; e8 db fd1279 call 005f1h ; e8 16 fe 1311 1280 and ax, strict byte 00001h ; 83 e0 01 1312 je short 00 824h ; 74 091281 je short 007e9h ; 74 09 1313 1282 mov bx, 000bah ; bb ba 00 1314 1283 mov ax, word [bx] ; 8b 07 1315 1284 db 08bh, 0d8h 1316 1285 ; mov bx, ax ; 8b d8 1317 jne short 00 82dh ; 75 091286 jne short 007f2h ; 75 09 1318 1287 mov bx, strict word 00049h ; bb 49 00 1319 1288 mov al, byte [bx] ; 8a 07 … … 1325 1294 pop DS ; 1f 1326 1295 retn ; c3 1327 vbe_biosfn_display_window_control: ; 0xc0 832LB 0x2d1296 vbe_biosfn_display_window_control: ; 0xc07f7 LB 0x2d 1328 1297 cmp bl, 000h ; 80 fb 00 1329 jne short 008 5bh ; 75 241298 jne short 00820h ; 75 24 1330 1299 cmp bh, 001h ; 80 ff 01 1331 je short 008 52h ; 74 161332 jc short 008 42h ; 72 041300 je short 00817h ; 74 16 1301 jc short 00807h ; 72 04 1333 1302 mov ax, 00100h ; b8 00 01 1334 1303 retn ; c3 1335 1304 db 08bh, 0c2h 1336 1305 ; mov ax, dx ; 8b c2 1337 call 00603h ; e8 bcfd1338 call 00617h ; e8 cd fd1306 call 00603h ; e8 f7 fd 1307 call 00617h ; e8 08 fe 1339 1308 db 03bh, 0c2h 1340 1309 ; cmp ax, dx ; 3b c2 1341 jne short 008 5bh ; 75 0d1310 jne short 00820h ; 75 0d 1342 1311 mov ax, strict word 0004fh ; b8 4f 00 1343 1312 retn ; c3 1344 call 00617h ; e8 c2fd1313 call 00617h ; e8 fd fd 1345 1314 db 08bh, 0d0h 1346 1315 ; mov dx, ax ; 8b d0 … … 1349 1318 mov ax, 0014fh ; b8 4f 01 1350 1319 retn ; c3 1351 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc085f LB 0x4d 1320 vbe_biosfn_set_get_display_start: ; 0xc0824 LB 0x34 1321 cmp bl, 080h ; 80 fb 80 1322 je short 00834h ; 74 0b 1323 cmp bl, 001h ; 80 fb 01 1324 je short 00848h ; 74 1a 1325 jc short 0083ah ; 72 0a 1326 mov ax, 00100h ; b8 00 01 1327 retn ; c3 1328 call 00589h ; e8 52 fd 1329 call 0057ch ; e8 42 fd 1352 1330 db 08bh, 0c1h 1353 1331 ; mov ax, cx ; 8b c1 1354 cmp bl, 001h ; 80 fb 01 1355 je short 0088ah ; 74 24 1356 cmp bl, 002h ; 80 fb 02 1357 je short 00871h ; 74 06 1358 jc short 00887h ; 72 1a 1359 mov ax, 00100h ; b8 00 01 1360 retn ; c3 1361 push ax ; 50 1362 call 00596h ; e8 21 fd 1363 db 032h, 0ffh 1364 ; xor bh, bh ; 32 ff 1365 db 08ah, 0dch 1366 ; mov bl, ah ; 8a dc 1367 db 00ah, 0dbh 1368 ; or bl, bl ; 0a db 1369 pop ax ; 58 1370 jne short 00883h ; 75 05 1371 sal ax, 003h ; c1 e0 03 1372 mov BL, strict byte 001h ; b3 01 1373 db 033h, 0d2h 1374 ; xor dx, dx ; 33 d2 1375 div bx ; f7 f3 1376 call 006d2h ; e8 48 fe 1377 call 00596h ; e8 09 fd 1378 db 032h, 0ffh 1379 ; xor bh, bh ; 32 ff 1380 db 08ah, 0dch 1381 ; mov bl, ah ; 8a dc 1382 call 006e9h ; e8 55 fe 1332 call 00669h ; e8 2a fe 1333 db 08bh, 0c2h 1334 ; mov ax, dx ; 8b c2 1335 call 0068fh ; e8 4b fe 1336 mov ax, strict word 0004fh ; b8 4f 00 1337 retn ; c3 1338 call 0067dh ; e8 32 fe 1383 1339 db 08bh, 0c8h 1384 1340 ; mov cx, ax ; 8b c8 1385 db 00ah, 0dbh 1386 ; or bl, bl ; 0a db 1387 jne short 0089fh ; 75 05 1388 shr ax, 003h ; c1 e8 03 1389 mov BL, strict byte 001h ; b3 01 1390 mul bx ; f7 e3 1391 db 08bh, 0d8h 1392 ; mov bx, ax ; 8b d8 1393 call 006fbh ; e8 55 fe 1394 db 08bh, 0d0h 1395 ; mov dx, ax ; 8b d0 1396 mov ax, strict word 0004fh ; b8 4f 00 1397 retn ; c3 1398 vbe_biosfn_set_get_display_start: ; 0xc08ac LB 0x34 1399 cmp bl, 080h ; 80 fb 80 1400 je short 008bch ; 74 0b 1401 cmp bl, 001h ; 80 fb 01 1402 je short 008d0h ; 74 1a 1403 jc short 008c2h ; 72 0a 1404 mov ax, 00100h ; b8 00 01 1405 retn ; c3 1406 call 00589h ; e8 ca fc 1407 call 0057ch ; e8 ba fc 1408 db 08bh, 0c1h 1409 ; mov ax, cx ; 8b c1 1410 call 00669h ; e8 a2 fd 1411 db 08bh, 0c2h 1412 ; mov ax, dx ; 8b c2 1413 call 0068fh ; e8 c3 fd 1414 mov ax, strict word 0004fh ; b8 4f 00 1415 retn ; c3 1416 call 0067dh ; e8 aa fd 1417 db 08bh, 0c8h 1418 ; mov cx, ax ; 8b c8 1419 call 006a3h ; e8 cb fd 1341 call 006a3h ; e8 53 fe 1420 1342 db 08bh, 0d0h 1421 1343 ; mov dx, ax ; 8b d0 … … 1424 1346 mov ax, strict word 0004fh ; b8 4f 00 1425 1347 retn ; c3 1426 vbe_biosfn_set_get_dac_palette_format: ; 0xc08 e0LB 0x371348 vbe_biosfn_set_get_dac_palette_format: ; 0xc0858 LB 0x37 1427 1349 cmp bl, 001h ; 80 fb 01 1428 je short 00 903h ; 74 1e1429 jc short 008 ebh ; 72 041350 je short 0087bh ; 74 1e 1351 jc short 00863h ; 72 04 1430 1352 mov ax, 00100h ; b8 00 01 1431 1353 retn ; c3 1432 call 005f1h ; e8 03fd1354 call 005f1h ; e8 8b fd 1433 1355 cmp bh, 006h ; 80 ff 06 1434 je short 008 fdh ; 74 0a1356 je short 00875h ; 74 0a 1435 1357 cmp bh, 008h ; 80 ff 08 1436 jne short 00 913h ; 75 1b1358 jne short 0088bh ; 75 1b 1437 1359 or ax, strict byte 00020h ; 83 c8 20 1438 jne short 00 900h ; 75 031360 jne short 00878h ; 75 03 1439 1361 and ax, strict byte 0ffdfh ; 83 e0 df 1440 call 005ddh ; e8 da fc1362 call 005ddh ; e8 62 fd 1441 1363 mov BH, strict byte 006h ; b7 06 1442 call 005f1h ; e8 e9 fc1364 call 005f1h ; e8 71 fd 1443 1365 and ax, strict byte 00020h ; 83 e0 20 1444 je short 00 90fh ; 74 021366 je short 00887h ; 74 02 1445 1367 mov BH, strict byte 008h ; b7 08 1446 1368 mov ax, strict word 0004fh ; b8 4f 00 … … 1448 1370 mov ax, 0014fh ; b8 4f 01 1449 1371 retn ; c3 1450 vbe_biosfn_set_get_palette_data: ; 0xc0 917LB 0x641372 vbe_biosfn_set_get_palette_data: ; 0xc088f LB 0x64 1451 1373 test bl, bl ; 84 db 1452 je short 00 92ah ; 74 0f1374 je short 008a2h ; 74 0f 1453 1375 cmp bl, 001h ; 80 fb 01 1454 je short 00 952h ; 74 321376 je short 008cah ; 74 32 1455 1377 cmp bl, 003h ; 80 fb 03 1456 jbe short 00 977h ; 76 521378 jbe short 008efh ; 76 52 1457 1379 cmp bl, 080h ; 80 fb 80 1458 jne short 00 973h ; 75 491380 jne short 008ebh ; 75 49 1459 1381 pushad ; 66 60 1460 1382 push DS ; 1e … … 1475 1397 rol eax, 008h ; 66 c1 c0 08 1476 1398 out DX, AL ; ee 1477 loop 00 938h ; e2 ed1399 loop 008b0h ; e2 ed 1478 1400 pop DS ; 1f 1479 1401 popad ; 66 61 … … 1494 1416 in AL, DX ; ec 1495 1417 stosd ; 66 ab 1496 loop 00 95dh ; e2 ee1418 loop 008d5h ; e2 ee 1497 1419 popad ; 66 61 1498 jmp short 00 94eh ; eb db1420 jmp short 008c6h ; eb db 1499 1421 mov ax, 0014fh ; b8 4f 01 1500 1422 retn ; c3 1501 1423 mov ax, 0024fh ; b8 4f 02 1502 1424 retn ; c3 1503 vbe_biosfn_return_protected_mode_interface: ; 0xc0 97bLB 0x171425 vbe_biosfn_return_protected_mode_interface: ; 0xc08f3 LB 0x17 1504 1426 test bl, bl ; 84 db 1505 jne short 009 8eh ; 75 0f1427 jne short 00906h ; 75 0f 1506 1428 mov di, 0c000h ; bf 00 c0 1507 1429 mov es, di ; 8e c7 … … 1513 1435 retn ; c3 1514 1436 1515 ; Padding 0x 6e bytes at 0xc09921516 times 110db 01437 ; Padding 0xf6 bytes at 0xc090a 1438 times 246 db 0 1517 1439 1518 section _TEXT progbits vstart=0xa00 align=1 ; size=0x 2f57class=CODE group=AUTO1440 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3081 class=CODE group=AUTO 1519 1441 set_int_vector_: ; 0xc0a00 LB 0x1a 1520 1442 push bx ; 53 … … 1570 1492 call 00a1ah ; e8 ac ff 1571 1493 call 00a36h ; e8 c5 ff 1572 call 03 482h ; e8 0e2a1494 call 03503h ; e8 8f 2a 1573 1495 mov dx, strict word 00022h ; ba 22 00 1574 1496 mov ax, strict word 00010h ; b8 10 00 … … 2208 2130 and AL, strict byte 080h ; 24 80 2209 2131 mov byte [bp-010h], al ; 88 46 f0 2210 call 007 fah ; e8 08 f82132 call 007bfh ; e8 cd f7 2211 2133 test ax, ax ; 85 c0 2212 2134 je short 01002h ; 74 0c … … 5561 5483 pop bx ; 5b 5562 5484 retn ; c3 5563 write_dword_: ; 0xc2f88 LB 0x 7f5485 write_dword_: ; 0xc2f88 LB 0x96 5564 5486 push si ; 56 5565 5487 push bp ; 55 … … 5583 5505 add ax, 00304h ; 05 04 03 5584 5506 add al, byte [bx+di] ; 02 01 5585 add dl, cl ; 00 ca 5586 xor si, word [di] ; 33 35 5587 xor byte [bp+di+030h], dh ; 30 73 30 5588 xchg word [bx+si], si ; 87 30 5589 cbw ; 98 5590 xor byte [si-042d0h], ch ; 30 ac 30 bd 5591 xor bh, al ; 30 c7 5592 xor byte [bx+di], al ; 30 01 5593 xor word [di], ax ; 31 05 5594 xor word [03331h], dx ; 31 16 31 33 5595 xor word [bx+si+031h], dx ; 31 50 31 5596 jo short 02ffch ; 70 31 5597 lea si, [bx+di] ; 8d 31 5598 movsb ; a4 5599 xor word [bx+si-074cfh], si ; 31 b0 31 8b 5600 db 032h, 0c6h 5601 ; xor al, dh ; 32 c6 5602 db 032h, 0f6h 5603 ; xor dh, dh ; 32 f6 5604 xor cl, byte [bp+di] ; 32 0b 5605 xor cx, word [di+033h] ; 33 4d 33 5507 add cl, ah ; 00 e1 5508 xor dx, word [bx+di+030h] ; 33 51 30 5509 db 08fh, 030h 5510 ; pop word [bx+si] ; 8f 30 5511 mov word [0b430h], ax ; a3 30 b4 5512 xor al, cl ; 30 c8 5513 xor cl, bl ; 30 d9 5514 xor bl, ah ; 30 e3 5515 xor byte [di], bl ; 30 1d 5516 xor word [bx+di], sp ; 31 21 5517 xor word [bp+si], si ; 31 32 5518 xor word [bx+031h], cx ; 31 4f 31 5519 insb ; 6c 5520 xor word [bp+di-057cfh], cx ; 31 8b 31 a8 5521 xor word [bx-034cfh], di ; 31 bf 31 cb 5522 xor word [bp+di-02aceh], bx ; 31 9b 32 d5 5523 xor cl, byte [bx+si] ; 32 08 5524 xor bx, word [di] ; 33 1d 5525 xor bx, word [bp+si+033h] ; 33 5a 33 5606 5526 xor byte [si], ah ; 30 24 5607 5527 and sp, word [bp+si] ; 23 22 … … 5611 5531 add AL, strict byte 002h ; 04 02 5612 5532 add word [bx+si], ax ; 01 00 5613 retf 0d133h ; ca 33 d1 5614 xor di, si ; 31 f7 5615 xor word [bx+si], cx ; 31 08 5616 xor bl, byte [bx+di] ; 32 19 5617 db 032h, 0d1h 5618 ; xor dl, cl ; 32 d1 5619 xor di, si ; 31 f7 5620 xor word [bx+si], cx ; 31 08 5621 xor bl, byte [bx+di] ; 32 19 5622 xor ch, byte [bp+si] ; 32 2a 5623 xor dh, byte [05132h] ; 32 36 32 51 5624 xor bl, byte [si+032h] ; 32 5c 32 5625 xor dh, byte [edx+032h] ; 67 32 72 32 5626 _int10_func: ; 0xc3007 LB 0x3ca 5533 loope 0301eh ; e1 33 5534 jmp far 02132h:01031h ; ea 31 10 32 21 5535 xor dh, byte [bp+si] ; 32 32 5536 db 032h, 0eah 5537 ; xor ch, dl ; 32 ea 5538 xor word [bx+si], dx ; 31 10 5539 xor ah, byte [bx+di] ; 32 21 5540 xor dh, byte [bp+si] ; 32 32 5541 xor al, byte [bp+di+032h] ; 32 43 32 5542 dec di ; 4f 5543 xor ch, byte [bp+si+032h] ; 32 6a 32 5544 jc short 03035h ; 72 32 5545 jp short 03037h ; 7a 32 5546 db 082h, 032h, 00ah 5547 ; xor byte [bp+si], 00ah ; 82 32 0a 5548 or word [00204h], ax ; 09 06 04 02 5549 add word [bx+si], ax ; 01 00 5550 aad 033h ; d5 33 5551 db 082h, 033h, 08fh 5552 ; xor byte [bp+di], 08fh ; 82 33 8f 5553 xor bx, word [bx-050cdh] ; 33 9f 33 af 5554 db 033h, 0c4h 5555 ; xor ax, sp ; 33 c4 5556 db 033h, 0d5h 5557 ; xor dx, bp ; 33 d5 5558 db 033h, 0d5h 5559 ; xor dx, bp ; 33 d5 5560 db 033h 5561 _int10_func: ; 0xc301e LB 0x3ca 5627 5562 push bp ; 55 5628 5563 mov bp, sp ; 89 e5 … … 5634 5569 shr ax, 008h ; c1 e8 08 5635 5570 cmp ax, strict word 0004fh ; 3d 4f 00 5636 jnbe near 033 cah ; 0f 87 ad 035571 jnbe near 033e1h ; 0f 87 ad 03 5637 5572 push CS ; 0e 5638 5573 pop ES ; 07 … … 5642 5577 sal cx, 1 ; d1 e1 5643 5578 mov di, cx ; 89 cf 5644 mov ax, word [cs:di+02fafh] ; 2e 8b 85 af 2f 5645 mov cl, byte [bp+012h] ; 8a 4e 12 5646 jmp ax ; ff e0 5579 mov bx, word [cs:di+02fafh] ; 2e 8b 9d af 2f 5580 mov ax, word [bp+012h] ; 8b 46 12 5581 xor ah, ah ; 30 e4 5582 mov dl, byte [bp+012h] ; 8a 56 12 5583 jmp bx ; ff e3 5647 5584 mov al, byte [bp+012h] ; 8a 46 12 5648 5585 xor ah, ah ; 30 e4 5649 call 00fdch ; e8 9fdf5586 call 00fdch ; e8 83 df 5650 5587 mov ax, word [bp+012h] ; 8b 46 12 5651 5588 and ax, strict word 0007fh ; 25 7f 00 5652 5589 cmp ax, strict word 00007h ; 3d 07 00 5653 je short 030 5dh ; 74 155590 je short 03079h ; 74 15 5654 5591 cmp ax, strict word 00006h ; 3d 06 00 5655 je short 030 54h ; 74 075592 je short 03070h ; 74 07 5656 5593 cmp ax, strict word 00005h ; 3d 05 00 5657 jbe short 030 5dh ; 76 0b5658 jmp short 030 66h ; eb 125594 jbe short 03079h ; 76 0b 5595 jmp short 03082h ; eb 12 5659 5596 mov ax, word [bp+012h] ; 8b 46 12 5660 5597 xor al, al ; 30 c0 5661 5598 or AL, strict byte 03fh ; 0c 3f 5662 jmp short 030 6dh ; eb 105599 jmp short 03089h ; eb 10 5663 5600 mov ax, word [bp+012h] ; 8b 46 12 5664 5601 xor al, al ; 30 c0 5665 5602 or AL, strict byte 030h ; 0c 30 5666 jmp short 030 6dh ; eb 075603 jmp short 03089h ; eb 07 5667 5604 mov ax, word [bp+012h] ; 8b 46 12 5668 5605 xor al, al ; 30 c0 5669 5606 or AL, strict byte 020h ; 0c 20 5670 5607 mov word [bp+012h], ax ; 89 46 12 5671 jmp near 033 cah ; e9 57035608 jmp near 033e1h ; e9 52 03 5672 5609 mov al, byte [bp+010h] ; 8a 46 10 5673 5610 movzx dx, al ; 0f b6 d0 … … 5675 5612 shr ax, 008h ; c1 e8 08 5676 5613 xor ah, ah ; 30 e4 5677 call 00dbah ; e8 36dd5678 jmp near 033 cah ; e9 43035614 call 00dbah ; e8 1a dd 5615 jmp near 033e1h ; e9 3e 03 5679 5616 mov dx, word [bp+00eh] ; 8b 56 0e 5680 5617 mov ax, word [bp+00ch] ; 8b 46 0c 5681 5618 shr ax, 008h ; c1 e8 08 5682 5619 xor ah, ah ; 30 e4 5683 call 00e5eh ; e8 c9dd5684 jmp near 033 cah ; e9 32035620 call 00e5eh ; e8 ad dd 5621 jmp near 033e1h ; e9 2d 03 5685 5622 lea bx, [bp+00eh] ; 8d 5e 0e 5686 5623 lea dx, [bp+010h] ; 8d 56 10 … … 5688 5625 shr ax, 008h ; c1 e8 08 5689 5626 xor ah, ah ; 30 e4 5690 call 00a88h ; e8 dfd95691 jmp near 033 cah ; e9 1e035692 xor a x, ax ; 31c05627 call 00a88h ; e8 c3 d9 5628 jmp near 033e1h ; e9 19 03 5629 xor al, al ; 30 c0 5693 5630 mov word [bp+012h], ax ; 89 46 12 5694 5631 mov word [bp+00ch], ax ; 89 46 0c 5695 5632 mov word [bp+010h], ax ; 89 46 10 5696 5633 mov word [bp+00eh], ax ; 89 46 0e 5697 jmp near 033 cah ; e9 0d035698 mov al, cl ; 88 c85634 jmp near 033e1h ; e9 08 03 5635 mov al, dl ; 88 d0 5699 5636 xor ah, ah ; 30 e4 5700 call 00f00h ; e8 3cde5701 jmp near 033 cah ; e9 03 035637 call 00f00h ; e8 20 de 5638 jmp near 033e1h ; e9 fe 02 5702 5639 mov ax, strict word 00001h ; b8 01 00 5703 5640 push ax ; 50 … … 5721 5658 mov al, byte [bp+012h] ; 8a 46 12 5722 5659 xor ah, ah ; 30 e4 5723 call 01572h ; e8 74e45724 jmp near 033 cah ; e9 c9025725 xor a x, ax ; 31c05726 jmp short 030 cah ; eb c55660 call 01572h ; e8 58 e4 5661 jmp near 033e1h ; e9 c4 02 5662 xor al, al ; 30 c0 5663 jmp short 030e6h ; eb c5 5727 5664 lea dx, [bp+012h] ; 8d 56 12 5728 5665 mov ax, word [bp+00ch] ; 8b 46 0c 5729 5666 shr ax, 008h ; c1 e8 08 5730 5667 xor ah, ah ; 30 e4 5731 call 00acbh ; e8 b8d95732 jmp near 033 cah ; e9 b4025668 call 00acbh ; e8 9c d9 5669 jmp near 033e1h ; e9 af 02 5733 5670 mov cx, word [bp+010h] ; 8b 4e 10 5734 5671 mov al, byte [bp+00ch] ; 8a 46 0c … … 5739 5676 mov al, byte [bp+012h] ; 8a 46 12 5740 5677 xor ah, ah ; 30 e4 5741 call 01d12h ; e8 e2eb5742 jmp near 033 cah ; e9 97025678 call 01d12h ; e8 c6 eb 5679 jmp near 033e1h ; e9 92 02 5743 5680 mov cx, word [bp+010h] ; 8b 4e 10 5744 5681 mov al, byte [bp+00ch] ; 8a 46 0c … … 5749 5686 mov al, byte [bp+012h] ; 8a 46 12 5750 5687 xor ah, ah ; 30 e4 5751 call 01e7ah ; e8 2ded5752 jmp near 033 cah ; e9 7a025688 call 01e7ah ; e8 11 ed 5689 jmp near 033e1h ; e9 75 02 5753 5690 mov cx, word [bp+00eh] ; 8b 4e 0e 5754 5691 mov bx, word [bp+010h] ; 8b 5e 10 5755 mov al, byte [bp+012h] ; 8a 46 125692 mov al, dl ; 88 d0 5756 5693 movzx dx, al ; 0f b6 d0 5757 5694 mov ax, word [bp+00ch] ; 8b 46 0c … … 5760 5697 mov al, byte [bp-006h] ; 8a 46 fa 5761 5698 xor ah, ah ; 30 e4 5762 call 01fe9h ; e8 7cee5763 jmp near 033 cah ; e9 5a025699 call 01fe9h ; e8 61 ee 5700 jmp near 033e1h ; e9 56 02 5764 5701 lea cx, [bp+012h] ; 8d 4e 12 5765 5702 mov bx, word [bp+00eh] ; 8b 5e 0e … … 5770 5707 mov al, byte [bp-006h] ; 8a 46 fa 5771 5708 xor ah, ah ; 30 e4 5772 call 00bf5h ; e8 6bda5773 jmp near 033 cah ; e9 3d025709 call 00bf5h ; e8 50 da 5710 jmp near 033e1h ; e9 39 02 5774 5711 mov cx, strict word 00002h ; b9 02 00 5775 5712 mov al, byte [bp+00ch] ; 8a 46 0c … … 5778 5715 mov al, byte [bp+012h] ; 8a 46 12 5779 5716 xor ah, ah ; 30 e4 5780 call 02153h ; e8 b2ef5781 jmp near 033 cah ; e9 26025717 call 02153h ; e8 97 ef 5718 jmp near 033e1h ; e9 22 02 5782 5719 mov dx, word [bp+010h] ; 8b 56 10 5783 5720 mov ax, word [bp+00ch] ; 8b 46 0c 5784 call 00d2eh ; e8 81 db 5785 jmp near 033cah ; e9 1a 02 5786 mov ax, word [bp+012h] ; 8b 46 12 5787 xor ah, ah ; 30 e4 5721 call 00d2eh ; e8 66 db 5722 jmp near 033e1h ; e9 16 02 5788 5723 cmp ax, strict word 00030h ; 3d 30 00 5789 jnbe near 033 cah ; 0f 87 0e025724 jnbe near 033e1h ; 0f 87 0f 02 5790 5725 push CS ; 0e 5791 5726 pop ES ; 07 … … 5795 5730 sal cx, 1 ; d1 e1 5796 5731 mov di, cx ; 89 cf 5797 mov ax, word [cs:di+02fe9h] ; 2e 8b 85 e9 2f 5798 jmp ax ; ff e0 5732 mov dx, word [cs:di+02fe9h] ; 2e 8b 95 e9 2f 5733 mov al, byte [bp+00ch] ; 8a 46 0c 5734 jmp dx ; ff e2 5799 5735 mov ax, word [bp+00ch] ; 8b 46 0c 5800 5736 shr ax, 008h ; c1 e8 08 … … 5810 5746 mov bx, word [bp+008h] ; 8b 5e 08 5811 5747 mov dx, word [bp+016h] ; 8b 56 16 5812 call 024bbh ; e8 c7f25813 jmp near 033 cah ; e9 d3015748 call 024bbh ; e8 ae f2 5749 jmp near 033e1h ; e9 d1 01 5814 5750 mov al, byte [bp+00ch] ; 8a 46 0c 5815 5751 movzx dx, al ; 0f b6 d0 5816 5752 mov al, byte [bp+012h] ; 8a 46 12 5817 5753 xor ah, ah ; 30 e4 5818 call 02538h ; e8 33f35819 jmp near 033 cah ; e9 c2015754 call 02538h ; e8 1a f3 5755 jmp near 033e1h ; e9 c0 01 5820 5756 mov al, byte [bp+00ch] ; 8a 46 0c 5821 5757 movzx dx, al ; 0f b6 d0 5822 5758 mov al, byte [bp+012h] ; 8a 46 12 5823 5759 xor ah, ah ; 30 e4 5824 call 025a8h ; e8 92f35825 jmp near 033 cah ; e9 b1015760 call 025a8h ; e8 79 f3 5761 jmp near 033e1h ; e9 af 01 5826 5762 mov al, byte [bp+00ch] ; 8a 46 0c 5827 5763 movzx dx, al ; 0f b6 d0 5828 5764 mov al, byte [bp+012h] ; 8a 46 12 5829 5765 xor ah, ah ; 30 e4 5830 call 0261ah ; e8 f3f35831 jmp near 033 cah ; e9 a0015766 call 0261ah ; e8 da f3 5767 jmp near 033e1h ; e9 9e 01 5832 5768 mov dx, word [bp+008h] ; 8b 56 08 5833 5769 mov ax, word [bp+016h] ; 8b 46 16 5834 call 0268ch ; e8 59f45835 jmp near 033 cah ; e9 94015770 call 0268ch ; e8 40 f4 5771 jmp near 033e1h ; e9 92 01 5836 5772 mov al, byte [bp+00eh] ; 8a 46 0e 5837 5773 xor ah, ah ; 30 e4 … … 5842 5778 mov dx, word [bp+008h] ; 8b 56 08 5843 5779 mov ax, word [bp+016h] ; 8b 46 16 5844 call 02691h ; e8 43 f4 5845 jmp near 033cah ; e9 79 01 5846 mov al, byte [bp+00ch] ; 8a 46 0c 5780 call 02691h ; e8 2a f4 5781 jmp near 033e1h ; e9 77 01 5847 5782 xor ah, ah ; 30 e4 5848 call 02698h ; e8 3f f4 5849 jmp near 033cah ; e9 6e 01 5850 mov al, byte [bp+00ch] ; 8a 46 0c 5783 call 02698h ; e8 29 f4 5784 jmp near 033e1h ; e9 6f 01 5851 5785 xor ah, ah ; 30 e4 5852 call 0269dh ; e8 39 f4 5853 jmp near 033cah ; e9 63 01 5854 mov al, byte [bp+00ch] ; 8a 46 0c 5786 call 0269dh ; e8 26 f4 5787 jmp near 033e1h ; e9 67 01 5855 5788 xor ah, ah ; 30 e4 5856 call 026a2h ; e8 33 f45857 jmp near 033 cah ; e9 58015789 call 026a2h ; e8 23 f4 5790 jmp near 033e1h ; e9 5f 01 5858 5791 lea ax, [bp+00eh] ; 8d 46 0e 5859 5792 push ax ; 50 5793 mov ax, word [bp+00ch] ; 8b 46 0c 5794 shr ax, 008h ; c1 e8 08 5860 5795 lea cx, [bp+010h] ; 8d 4e 10 5861 5796 lea bx, [bp+008h] ; 8d 5e 08 5862 5797 lea dx, [bp+016h] ; 8d 56 16 5863 mov ax, word [bp+00ch] ; 8b 46 0c 5864 shr ax, 008h ; c1 e8 08 5865 call 00b73h ; e8 eb d8 5866 jmp near 033cah ; e9 3f 01 5798 call 00b73h ; e8 db d8 5799 jmp near 033e1h ; e9 46 01 5867 5800 mov ax, word [bp+00ch] ; 8b 46 0c 5868 5801 xor ah, ah ; 30 e4 5869 5802 cmp ax, strict word 00036h ; 3d 36 00 5870 je short 032 bdh ; 74 285803 je short 032cdh ; 74 28 5871 5804 cmp ax, strict word 00035h ; 3d 35 00 5872 je short 032 a7h ; 74 0d5805 je short 032b7h ; 74 0d 5873 5806 cmp ax, strict word 00020h ; 3d 20 00 5874 jne near 033 cah ; 0f 85 29015875 call 026a7h ; e8 03 f45876 jmp near 033 cah ; e9 23015877 movzx ax, cl ; 0f b6 c15807 jne near 033e1h ; 0f 85 30 01 5808 call 026a7h ; e8 f3 f3 5809 jmp near 033e1h ; e9 2a 01 5810 movzx ax, dl ; 0f b6 c2 5878 5811 mov bx, word [bp+00eh] ; 8b 5e 0e 5879 5812 mov dx, word [bp+016h] ; 8b 56 16 5880 call 026ach ; e8 f9 f35813 call 026ach ; e8 e9 f3 5881 5814 mov ax, word [bp+012h] ; 8b 46 12 5882 5815 xor al, al ; 30 c0 5883 5816 or AL, strict byte 012h ; 0c 12 5884 jmp near 0306dh ; e9 b0 fd 5885 mov al, cl ; 88 c8 5886 xor ah, ah ; 30 e4 5887 call 026b1h ; e8 ed f3 5888 jmp short 032b3h ; eb ed 5817 jmp near 03089h ; e9 bc fd 5818 movzx ax, dl ; 0f b6 c2 5819 call 026b1h ; e8 de f3 5820 jmp short 032c3h ; eb ee 5889 5821 push word [bp+008h] ; ff 76 08 5890 5822 push word [bp+016h] ; ff 76 16 … … 5900 5832 mov ax, word [bp+00ch] ; 8b 46 0c 5901 5833 shr ax, 008h ; c1 e8 08 5902 movzx dx, al ; 0f b6 d05903 movzx ax, cl ; 0f b6 c15834 xor ah, ah ; 30 e4 5835 movzx si, dl ; 0f b6 f2 5904 5836 mov cx, word [bp+010h] ; 8b 4e 10 5905 call 026b6h ; e8 c3 f3 5906 jmp near 033cah ; e9 d4 00 5837 mov dx, ax ; 89 c2 5838 mov ax, si ; 89 f0 5839 call 026b6h ; e8 b1 f3 5840 jmp near 033e1h ; e9 d9 00 5907 5841 mov bx, si ; 89 f3 5908 5842 mov dx, word [bp+016h] ; 8b 56 16 5909 5843 mov ax, word [bp+00ch] ; 8b 46 0c 5910 call 02752h ; e8 51f45844 call 02752h ; e8 3f f4 5911 5845 mov ax, word [bp+012h] ; 8b 46 12 5912 5846 xor al, al ; 30 c0 5913 5847 or AL, strict byte 01bh ; 0c 1b 5914 jmp near 0306dh ; e9 62 fd 5915 mov ax, word [bp+012h] ; 8b 46 12 5916 xor ah, ah ; 30 e4 5848 jmp near 03089h ; e9 6c fd 5917 5849 cmp ax, strict word 00002h ; 3d 02 00 5918 je short 033 37h ; 74 225850 je short 03344h ; 74 22 5919 5851 cmp ax, strict word 00001h ; 3d 01 00 5920 je short 033 29h ; 74 0f5852 je short 03336h ; 74 0f 5921 5853 test ax, ax ; 85 c0 5922 jne short 033 43h ; 75 255854 jne short 03350h ; 75 25 5923 5855 lea dx, [bp+00ch] ; 8d 56 0c 5924 5856 mov ax, word [bp+010h] ; 8b 46 10 5925 call 02876h ; e8 4 ff55926 jmp short 033 43h ; eb 1a5857 call 02876h ; e8 42 f5 5858 jmp short 03350h ; eb 1a 5927 5859 mov bx, word [bp+00ch] ; 8b 5e 0c 5928 5860 mov dx, word [bp+016h] ; 8b 56 16 5929 5861 mov ax, word [bp+010h] ; 8b 46 10 5930 call 02888h ; e8 53f55931 jmp short 033 43h ; eb 0c5862 call 02888h ; e8 46 f5 5863 jmp short 03350h ; eb 0c 5932 5864 mov bx, word [bp+00ch] ; 8b 5e 0c 5933 5865 mov dx, word [bp+016h] ; 8b 56 16 5934 5866 mov ax, word [bp+010h] ; 8b 46 10 5935 call 02bf1h ; e8 a ef85867 call 02bf1h ; e8 a1 f8 5936 5868 mov ax, word [bp+012h] ; 8b 46 12 5937 5869 xor al, al ; 30 c0 5938 5870 or AL, strict byte 01ch ; 0c 1c 5939 jmp near 030 6dh ; e9 20fd5940 call 007 fah ; e8 aad45871 jmp near 03089h ; e9 2f fd 5872 call 007bfh ; e8 62 d4 5941 5873 test ax, ax ; 85 c0 5942 je near 033 c5h ; 0f 84 6f005874 je near 033dch ; 0f 84 79 00 5943 5875 mov ax, word [bp+012h] ; 8b 46 12 5944 5876 xor ah, ah ; 30 e4 5945 cmp ax, strict word 00002h ; 3d 02 005946 jc short 03373h ; 72 135947 jbe short 03399h ; 76 375948 5877 cmp ax, strict word 0000ah ; 3d 0a 00 5949 j e short 033beh ; 74 575950 cmp ax, strict word 00009h ; 3d 09 005951 je short 033beh ; 74 525952 cmp ax, strict word 00004h ; 3d 04005953 je short 033a9h ; 74 385954 jmp short 033beh ; eb 4b5955 cmp ax, strict word 00001h ; 3d 01 005956 je short 03389h ; 74 115957 test ax, ax ; 85 c05958 j ne short 033beh ; 75 425878 jnbe short 033d5h ; 77 68 5879 push CS ; 0e 5880 pop ES ; 07 5881 mov cx, strict word 00008h ; b9 08 00 5882 mov di, 03007h ; bf 07 30 5883 repne scasb ; f2 ae 5884 sal cx, 1 ; d1 e1 5885 mov di, cx ; 89 cf 5886 mov ax, word [cs:di+0300eh] ; 2e 8b 85 0e 30 5887 jmp ax ; ff e0 5959 5888 mov bx, si ; 89 f3 5960 5889 mov dx, word [bp+016h] ; 8b 56 16 5961 5890 lea ax, [bp+012h] ; 8d 46 12 5962 call 035 03h ; e8 7c015963 jmp short 033 cah ; eb 415891 call 03584h ; e8 f7 01 5892 jmp short 033e1h ; eb 52 5964 5893 mov cx, si ; 89 f1 5965 5894 mov bx, word [bp+016h] ; 8b 5e 16 5966 5895 mov dx, word [bp+010h] ; 8b 56 10 5967 5896 lea ax, [bp+012h] ; 8d 46 12 5968 call 036 2ch ; e8 95 025969 jmp short 033 cah ; eb 315897 call 036adh ; e8 10 03 5898 jmp short 033e1h ; eb 42 5970 5899 mov cx, si ; 89 f1 5971 5900 mov bx, word [bp+016h] ; 8b 5e 16 5972 5901 mov dx, word [bp+00ch] ; 8b 56 0c 5973 5902 lea ax, [bp+012h] ; 8d 46 12 5974 call 03 6e4h ; e8 3d035975 jmp short 033 cah ; eb 215903 call 03765h ; e8 b8 03 5904 jmp short 033e1h ; eb 32 5976 5905 lea ax, [bp+00ch] ; 8d 46 0c 5977 5906 push ax ; 50 … … 5980 5909 mov dx, word [bp+010h] ; 8b 56 10 5981 5910 lea ax, [bp+012h] ; 8d 46 12 5982 call 038cbh ; e8 0f 05 5983 jmp short 033cah ; eb 0c 5911 call 0394ch ; e8 8a 05 5912 jmp short 033e1h ; eb 1d 5913 lea cx, [bp+00eh] ; 8d 4e 0e 5914 lea bx, [bp+010h] ; 8d 5e 10 5915 lea dx, [bp+00ch] ; 8d 56 0c 5916 lea ax, [bp+012h] ; 8d 46 12 5917 call 039d8h ; e8 05 06 5918 jmp short 033e1h ; eb 0c 5984 5919 mov word [bp+012h], 00100h ; c7 46 12 00 01 5985 jmp short 033 cah ; eb 055920 jmp short 033e1h ; eb 05 5986 5921 mov word [bp+012h], 00100h ; c7 46 12 00 01 5987 5922 lea sp, [bp-004h] ; 8d 66 fc … … 5990 5925 pop bp ; 5d 5991 5926 retn ; c3 5992 dispi_set_xres_: ; 0xc33 d1LB 0x1f5927 dispi_set_xres_: ; 0xc33e8 LB 0x1f 5993 5928 push bp ; 55 5994 5929 mov bp, sp ; 89 e5 … … 5998 5933 mov ax, strict word 00001h ; b8 01 00 5999 5934 mov dx, 001ceh ; ba ce 01 6000 call 00570h ; e8 8fd15935 call 00570h ; e8 78 d1 6001 5936 mov ax, bx ; 89 d8 6002 5937 mov dx, 001cfh ; ba cf 01 6003 call 00570h ; e8 87d15938 call 00570h ; e8 70 d1 6004 5939 lea sp, [bp-004h] ; 8d 66 fc 6005 5940 pop dx ; 5a … … 6007 5942 pop bp ; 5d 6008 5943 retn ; c3 6009 dispi_set_yres_: ; 0xc3 3f0LB 0x1f5944 dispi_set_yres_: ; 0xc3407 LB 0x1f 6010 5945 push bp ; 55 6011 5946 mov bp, sp ; 89 e5 … … 6015 5950 mov ax, strict word 00002h ; b8 02 00 6016 5951 mov dx, 001ceh ; ba ce 01 6017 call 00570h ; e8 70d15952 call 00570h ; e8 59 d1 6018 5953 mov ax, bx ; 89 d8 6019 5954 mov dx, 001cfh ; ba cf 01 6020 call 00570h ; e8 68d15955 call 00570h ; e8 51 d1 6021 5956 lea sp, [bp-004h] ; 8d 66 fc 6022 5957 pop dx ; 5a … … 6024 5959 pop bp ; 5d 6025 5960 retn ; c3 6026 dispi_set_bpp_: ; 0xc34 0fLB 0x1f5961 dispi_set_bpp_: ; 0xc3426 LB 0x1f 6027 5962 push bp ; 55 6028 5963 mov bp, sp ; 89 e5 … … 6032 5967 mov ax, strict word 00003h ; b8 03 00 6033 5968 mov dx, 001ceh ; ba ce 01 6034 call 00570h ; e8 51d15969 call 00570h ; e8 3a d1 6035 5970 mov ax, bx ; 89 d8 6036 5971 mov dx, 001cfh ; ba cf 01 6037 call 00570h ; e8 49d15972 call 00570h ; e8 32 d1 6038 5973 lea sp, [bp-004h] ; 8d 66 fc 6039 5974 pop dx ; 5a … … 6041 5976 pop bp ; 5d 6042 5977 retn ; c3 6043 in_word_: ; 0xc342e LB 0x12 5978 dispi_get_bpp_: ; 0xc3445 LB 0x19 5979 push bp ; 55 5980 mov bp, sp ; 89 e5 5981 push dx ; 52 5982 mov ax, strict word 00003h ; b8 03 00 5983 mov dx, 001ceh ; ba ce 01 5984 call 00570h ; e8 1e d1 5985 mov dx, 001cfh ; ba cf 01 5986 call 00577h ; e8 1f d1 5987 lea sp, [bp-002h] ; 8d 66 fe 5988 pop dx ; 5a 5989 pop bp ; 5d 5990 retn ; c3 5991 dispi_set_virt_width_: ; 0xc345e LB 0x1f 5992 push bp ; 55 5993 mov bp, sp ; 89 e5 5994 push bx ; 53 5995 push dx ; 52 5996 mov bx, ax ; 89 c3 5997 mov ax, strict word 00006h ; b8 06 00 5998 mov dx, 001ceh ; ba ce 01 5999 call 00570h ; e8 02 d1 6000 mov ax, bx ; 89 d8 6001 mov dx, 001cfh ; ba cf 01 6002 call 00570h ; e8 fa d0 6003 lea sp, [bp-004h] ; 8d 66 fc 6004 pop dx ; 5a 6005 pop bx ; 5b 6006 pop bp ; 5d 6007 retn ; c3 6008 dispi_get_virt_width_: ; 0xc347d LB 0x19 6009 push bp ; 55 6010 mov bp, sp ; 89 e5 6011 push dx ; 52 6012 mov ax, strict word 00006h ; b8 06 00 6013 mov dx, 001ceh ; ba ce 01 6014 call 00570h ; e8 e6 d0 6015 mov dx, 001cfh ; ba cf 01 6016 call 00577h ; e8 e7 d0 6017 lea sp, [bp-002h] ; 8d 66 fe 6018 pop dx ; 5a 6019 pop bp ; 5d 6020 retn ; c3 6021 dispi_get_virt_height_: ; 0xc3496 LB 0x19 6022 push bp ; 55 6023 mov bp, sp ; 89 e5 6024 push dx ; 52 6025 mov ax, strict word 00007h ; b8 07 00 6026 mov dx, 001ceh ; ba ce 01 6027 call 00570h ; e8 cd d0 6028 mov dx, 001cfh ; ba cf 01 6029 call 00577h ; e8 ce d0 6030 lea sp, [bp-002h] ; 8d 66 fe 6031 pop dx ; 5a 6032 pop bp ; 5d 6033 retn ; c3 6034 in_word_: ; 0xc34af LB 0x12 6044 6035 push bp ; 55 6045 6036 mov bp, sp ; 89 e5 … … 6054 6045 pop bp ; 5d 6055 6046 retn ; c3 6056 in_byte_: ; 0xc34 40LB 0x146047 in_byte_: ; 0xc34c1 LB 0x14 6057 6048 push bp ; 55 6058 6049 mov bp, sp ; 89 e5 … … 6069 6060 pop bp ; 5d 6070 6061 retn ; c3 6071 dispi_get_id_: ; 0xc34 54LB 0x146062 dispi_get_id_: ; 0xc34d5 LB 0x14 6072 6063 push bp ; 55 6073 6064 mov bp, sp ; 89 e5 … … 6082 6073 pop bp ; 5d 6083 6074 retn ; c3 6084 dispi_set_id_: ; 0xc34 68LB 0x1a6075 dispi_set_id_: ; 0xc34e9 LB 0x1a 6085 6076 push bp ; 55 6086 6077 mov bp, sp ; 89 e5 … … 6099 6090 pop bp ; 5d 6100 6091 retn ; c3 6101 vbe_init_: ; 0xc3 482LB 0x2c6092 vbe_init_: ; 0xc3503 LB 0x2c 6102 6093 push bp ; 55 6103 6094 mov bp, sp ; 89 e5 … … 6105 6096 push dx ; 52 6106 6097 mov ax, 0b0c0h ; b8 c0 b0 6107 call 034 68h ; e8 db ff6108 call 034 54h ; e8 c4 ff6098 call 034e9h ; e8 db ff 6099 call 034d5h ; e8 c4 ff 6109 6100 cmp ax, 0b0c0h ; 3d c0 b0 6110 jne short 03 4a7h ; 75 126101 jne short 03528h ; 75 12 6111 6102 mov bx, strict word 00001h ; bb 01 00 6112 6103 mov dx, 000b9h ; ba b9 00 6113 6104 mov ax, strict word 00040h ; b8 40 00 6114 call 02f4ch ; e8 abfa6105 call 02f4ch ; e8 2a fa 6115 6106 mov ax, 0b0c4h ; b8 c4 b0 6116 call 034 68h ; e8 c1 ff6107 call 034e9h ; e8 c1 ff 6117 6108 lea sp, [bp-004h] ; 8d 66 fc 6118 6109 pop dx ; 5a … … 6120 6111 pop bp ; 5d 6121 6112 retn ; c3 6122 mode_info_find_mode_: ; 0xc3 4aeLB 0x556113 mode_info_find_mode_: ; 0xc352f LB 0x55 6123 6114 push bp ; 55 6124 6115 mov bp, sp ; 89 e5 … … 6131 6122 xor dx, dx ; 31 d2 6132 6123 mov ax, 003b6h ; b8 b6 03 6133 call 034 2eh ; e8 6d ff6124 call 034afh ; e8 6d ff 6134 6125 cmp ax, 077cch ; 3d cc 77 6135 jne short 03 4f8h ; 75 326126 jne short 03579h ; 75 32 6136 6127 mov bx, strict word 00004h ; bb 04 00 6137 6128 mov dx, bx ; 89 da 6138 6129 mov ax, 003b6h ; b8 b6 03 6139 call 034 2eh ; e8 5d ff6130 call 034afh ; e8 5d ff 6140 6131 mov cx, ax ; 89 c1 6141 6132 cmp cx, strict byte 0ffffh ; 83 f9 ff 6142 je short 03 4f8h ; 74 206133 je short 03579h ; 74 20 6143 6134 lea dx, [bx+002h] ; 8d 57 02 6144 6135 mov ax, 003b6h ; b8 b6 03 6145 call 034 2eh ; e8 4d ff6136 call 034afh ; e8 4d ff 6146 6137 lea dx, [bx+044h] ; 8d 57 44 6147 6138 cmp cx, di ; 39 f9 6148 jne short 03 4f4h ; 75 0c6139 jne short 03575h ; 75 0c 6149 6140 test si, si ; 85 f6 6150 jne short 03 4f0h ; 75 046141 jne short 03571h ; 75 04 6151 6142 mov ax, bx ; 89 d8 6152 jmp short 03 4fah ; eb 0a6143 jmp short 0357bh ; eb 0a 6153 6144 test AL, strict byte 080h ; a8 80 6154 jne short 03 4ech ; 75 f86145 jne short 0356dh ; 75 f8 6155 6146 mov bx, dx ; 89 d3 6156 jmp short 03 4cbh ; eb d36147 jmp short 0354ch ; eb d3 6157 6148 xor ax, ax ; 31 c0 6158 6149 lea sp, [bp-008h] ; 8d 66 f8 … … 6163 6154 pop bp ; 5d 6164 6155 retn ; c3 6165 vbe_biosfn_return_controller_information_: ; 0xc35 03LB 0x1296156 vbe_biosfn_return_controller_information_: ; 0xc3584 LB 0x129 6166 6157 push bp ; 55 6167 6158 mov bp, sp ; 89 e5 … … 6174 6165 mov word [bp-00ah], bx ; 89 5e f6 6175 6166 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6176 call 005b7h ; e8 9cd06167 call 005b7h ; e8 1b d0 6177 6168 mov word [bp-010h], ax ; 89 46 f0 6178 6169 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6180 6171 xor dx, dx ; 31 d2 6181 6172 mov ax, 003b6h ; b8 b6 03 6182 call 034 2eh ; e8 02 ff6173 call 034afh ; e8 02 ff 6183 6174 cmp ax, 077cch ; 3d cc 77 6184 je short 035 3bh ; 74 0a6175 je short 035bch ; 74 0a 6185 6176 push SS ; 16 6186 6177 pop ES ; 07 6187 6178 mov word [es:si], 00100h ; 26 c7 04 00 01 6188 jmp near 036 24h ; e9 e9 006179 jmp near 036a5h ; e9 e9 00 6189 6180 mov cx, strict word 00004h ; b9 04 00 6190 6181 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6191 6182 mov es, [bp-008h] ; 8e 46 f8 6192 6183 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6193 jne short 035 55h ; 75 076184 jne short 035d6h ; 75 07 6194 6185 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6195 je short 035 64h ; 74 0f6186 je short 035e5h ; 74 0f 6196 6187 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6197 jne short 035 69h ; 75 0c6188 jne short 035eah ; 75 0c 6198 6189 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6199 jne short 035 69h ; 75 056190 jne short 035eah ; 75 05 6200 6191 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6201 6192 mov es, [bp-008h] ; 8e 46 f8 … … 6213 6204 mov dx, strict word 0ffffh ; ba ff ff 6214 6205 mov ax, 003b6h ; b8 b6 03 6215 call 034 2eh ; e8 8a fe6206 call 034afh ; e8 8a fe 6216 6207 mov es, [bp-008h] ; 8e 46 f8 6217 6208 mov word [es:bx+012h], ax ; 26 89 47 12 6218 6209 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6219 je short 03 5d5h ; 74 246210 je short 03656h ; 74 24 6220 6211 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6221 6212 mov word [es:bx+016h], 07c73h ; 26 c7 47 16 73 7c … … 6228 6219 add dx, strict byte 0001bh ; 83 c2 1b 6229 6220 mov ax, 003b6h ; b8 b6 03 6230 call 034 40h ; e8 60 fe6221 call 034c1h ; e8 60 fe 6231 6222 xor ah, ah ; 30 e4 6232 6223 cmp ax, word [bp-010h] ; 3b 46 f0 6233 jnbe short 036 00h ; 77 196224 jnbe short 03681h ; 77 19 6234 6225 mov dx, cx ; 89 ca 6235 6226 mov ax, 003b6h ; b8 b6 03 6236 call 034 2eh ; e8 3f fe6227 call 034afh ; e8 3f fe 6237 6228 mov bx, ax ; 89 c3 6238 6229 mov dx, word [bp-00ah] ; 8b 56 f6 6239 6230 add dx, word [bp-00ch] ; 03 56 f4 6240 6231 mov ax, di ; 89 f8 6241 call 02f68h ; e8 6c f96232 call 02f68h ; e8 eb f8 6242 6233 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6243 6234 add cx, strict byte 00044h ; 83 c1 44 6244 6235 mov dx, cx ; 89 ca 6245 6236 mov ax, 003b6h ; b8 b6 03 6246 call 034 2eh ; e8 23 fe6237 call 034afh ; e8 23 fe 6247 6238 mov bx, ax ; 89 c3 6248 6239 cmp ax, strict word 0ffffh ; 3d ff ff 6249 jne short 03 5d5h ; 75 c36240 jne short 03656h ; 75 c3 6250 6241 mov dx, word [bp-00ah] ; 8b 56 f6 6251 6242 add dx, word [bp-00ch] ; 03 56 f4 6252 6243 mov ax, di ; 89 f8 6253 call 02f68h ; e8 4b f96244 call 02f68h ; e8 ca f8 6254 6245 push SS ; 16 6255 6246 pop ES ; 07 … … 6261 6252 pop bp ; 5d 6262 6253 retn ; c3 6263 vbe_biosfn_return_mode_information_: ; 0xc36 2cLB 0xb86254 vbe_biosfn_return_mode_information_: ; 0xc36ad LB 0xb8 6264 6255 push bp ; 55 6265 6256 mov bp, sp ; 89 e5 … … 6277 6268 xor dh, dh ; 30 f6 6278 6269 and ah, 001h ; 80 e4 01 6279 call 03 4aeh ; e8 65 fe6270 call 0352fh ; e8 65 fe 6280 6271 mov word [bp-008h], ax ; 89 46 f8 6281 6272 test ax, ax ; 85 c0 6282 je near 03 6d2h ; 0f 84 80 006273 je near 03753h ; 0f 84 80 00 6283 6274 mov cx, 00100h ; b9 00 01 6284 6275 xor ax, ax ; 31 c0 … … 6286 6277 mov es, bx ; 8e c3 6287 6278 cld ; fc 6288 jcxz 036 61h ; e3 026279 jcxz 036e2h ; e3 02 6289 6280 rep stosb ; f3 aa 6290 6281 xor cx, cx ; 31 c9 6291 jmp short 036 6ah ; eb 056282 jmp short 036ebh ; eb 05 6292 6283 cmp cx, strict byte 00042h ; 83 f9 42 6293 jnc short 03 687h ; 73 1d6284 jnc short 03708h ; 73 1d 6294 6285 mov dx, word [bp-008h] ; 8b 56 f8 6295 6286 inc dx ; 42 … … 6297 6288 add dx, cx ; 01 ca 6298 6289 mov ax, 003b6h ; b8 b6 03 6299 call 034 40h ; e8 c9 fd6290 call 034c1h ; e8 c9 fd 6300 6291 movzx bx, al ; 0f b6 d8 6301 6292 mov dx, word [bp-006h] ; 8b 56 fa 6302 6293 add dx, cx ; 01 ca 6303 6294 mov ax, si ; 89 f0 6304 call 02f4ch ; e8 c8f86305 inc cx ; 41 6306 jmp short 036 65h ; eb de6295 call 02f4ch ; e8 47 f8 6296 inc cx ; 41 6297 jmp short 036e6h ; eb de 6307 6298 mov dx, word [bp-006h] ; 8b 56 fa 6308 6299 inc dx ; 42 6309 6300 inc dx ; 42 6310 6301 mov ax, si ; 89 f0 6311 call 02f3eh ; e8 adf86302 call 02f3eh ; e8 2c f8 6312 6303 test AL, strict byte 001h ; a8 01 6313 je short 03 6b1h ; 74 1c6304 je short 03732h ; 74 1c 6314 6305 mov dx, word [bp-006h] ; 8b 56 fa 6315 6306 add dx, strict byte 0000ch ; 83 c2 0c 6316 6307 mov bx, 00629h ; bb 29 06 6317 6308 mov ax, si ; 89 f0 6318 call 02f68h ; e8 c5f86309 call 02f68h ; e8 44 f8 6319 6310 mov dx, word [bp-006h] ; 8b 56 fa 6320 6311 add dx, strict byte 0000eh ; 83 c2 0e 6321 6312 mov bx, 0c000h ; bb 00 c0 6322 6313 mov ax, si ; 89 f0 6323 call 02f68h ; e8 b7f86314 call 02f68h ; e8 36 f8 6324 6315 mov ax, strict word 0000bh ; b8 0b 00 6325 6316 mov dx, 001ceh ; ba ce 01 6326 call 00570h ; e8 b6ce6317 call 00570h ; e8 35 ce 6327 6318 mov dx, 001cfh ; ba cf 01 6328 call 00577h ; e8 b7ce6319 call 00577h ; e8 36 ce 6329 6320 mov dx, word [bp-006h] ; 8b 56 fa 6330 6321 add dx, strict byte 0002ah ; 83 c2 2a 6331 6322 mov bx, ax ; 89 c3 6332 6323 mov ax, si ; 89 f0 6333 call 02f68h ; e8 9bf86324 call 02f68h ; e8 1a f8 6334 6325 mov ax, strict word 0004fh ; b8 4f 00 6335 jmp short 03 6d5h ; eb 036326 jmp short 03756h ; eb 03 6336 6327 mov ax, 00100h ; b8 00 01 6337 6328 push SS ; 16 … … 6344 6335 pop bp ; 5d 6345 6336 retn ; c3 6346 vbe_biosfn_set_mode_: ; 0xc3 6e4LB 0xe96337 vbe_biosfn_set_mode_: ; 0xc3765 LB 0xe9 6347 6338 push bp ; 55 6348 6339 mov bp, sp ; 89 e5 … … 6358 6349 mov ax, dx ; 89 d0 6359 6350 test dx, dx ; 85 d2 6360 je short 037 04h ; 74 036351 je short 03785h ; 74 03 6361 6352 mov dx, strict word 00040h ; ba 40 00 6362 6353 mov byte [bp-006h], dl ; 88 56 fa 6363 6354 test byte [bp-009h], 080h ; f6 46 f7 80 6364 je short 037 12h ; 74 056355 je short 03793h ; 74 05 6365 6356 mov dx, 00080h ; ba 80 00 6366 jmp short 037 14h ; eb 026357 jmp short 03795h ; eb 02 6367 6358 xor dx, dx ; 31 d2 6368 6359 mov byte [bp-008h], dl ; 88 56 f8 6369 6360 and byte [bp-009h], 001h ; 80 66 f7 01 6370 6361 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6371 jnc short 037 34h ; 73 126362 jnc short 037b5h ; 73 12 6372 6363 xor ax, ax ; 31 c0 6373 call 005ddh ; e8 b6ce6364 call 005ddh ; e8 35 ce 6374 6365 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6375 call 00fdch ; e8 aed86366 call 00fdch ; e8 2d d8 6376 6367 mov ax, strict word 0004fh ; b8 4f 00 6377 jmp near 03 7c3h ; e9 8f 006368 jmp near 03844h ; e9 8f 00 6378 6369 mov dx, ax ; 89 c2 6379 6370 mov ax, word [bp-00ah] ; 8b 46 f6 6380 call 03 4aeh ; e8 72 fd6371 call 0352fh ; e8 72 fd 6381 6372 mov bx, ax ; 89 c3 6382 6373 test ax, ax ; 85 c0 6383 je near 03 7c0h ; 0f 84 7c 006374 je near 03841h ; 0f 84 7c 00 6384 6375 lea dx, [bx+014h] ; 8d 57 14 6385 6376 mov ax, 003b6h ; b8 b6 03 6386 call 034 2eh ; e8 e1 fc6377 call 034afh ; e8 e1 fc 6387 6378 mov cx, ax ; 89 c1 6388 6379 lea dx, [bx+016h] ; 8d 57 16 6389 6380 mov ax, 003b6h ; b8 b6 03 6390 call 034 2eh ; e8 d6 fc6381 call 034afh ; e8 d6 fc 6391 6382 mov di, ax ; 89 c7 6392 6383 lea dx, [bx+01bh] ; 8d 57 1b 6393 6384 mov ax, 003b6h ; b8 b6 03 6394 call 034 40h ; e8 dd fc6385 call 034c1h ; e8 dd fc 6395 6386 mov bl, al ; 88 c3 6396 6387 mov dl, al ; 88 c2 6397 6388 xor ax, ax ; 31 c0 6398 call 005ddh ; e8 71 ce6389 call 005ddh ; e8 f0 cd 6399 6390 cmp bl, 004h ; 80 fb 04 6400 jne short 037 77h ; 75 066391 jne short 037f8h ; 75 06 6401 6392 mov ax, strict word 0006ah ; b8 6a 00 6402 call 00fdch ; e8 65 d86393 call 00fdch ; e8 e4 d7 6403 6394 movzx ax, dl ; 0f b6 c2 6404 call 034 0fh ; e8 92fc6395 call 03426h ; e8 28 fc 6405 6396 mov ax, cx ; 89 c8 6406 call 033 d1h ; e8 4f fc6397 call 033e8h ; e8 e5 fb 6407 6398 mov ax, di ; 89 f8 6408 call 03 3f0h ; e8 69 fc6399 call 03407h ; e8 ff fb 6409 6400 xor ax, ax ; 31 c0 6410 call 00603h ; e8 77 ce6401 call 00603h ; e8 f6 cd 6411 6402 mov al, byte [bp-008h] ; 8a 46 f8 6412 6403 or AL, strict byte 001h ; 0c 01 … … 6414 6405 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6415 6406 or ax, dx ; 09 d0 6416 call 005ddh ; e8 40 ce6417 call 00 70dh ; e8 6d cf6407 call 005ddh ; e8 bf cd 6408 call 006d2h ; e8 b1 ce 6418 6409 mov bx, word [bp-00ah] ; 8b 5e f6 6419 6410 mov dx, 000bah ; ba ba 00 6420 6411 mov ax, strict word 00040h ; b8 40 00 6421 call 02f68h ; e8 bcf76412 call 02f68h ; e8 3b f7 6422 6413 mov al, byte [bp-008h] ; 8a 46 f8 6423 6414 or AL, strict byte 060h ; 0c 60 … … 6425 6416 mov dx, 00087h ; ba 87 00 6426 6417 mov ax, strict word 00040h ; b8 40 00 6427 call 02f4ch ; e8 8ff76428 jmp near 037 2eh ; e9 6e ff6418 call 02f4ch ; e8 0e f7 6419 jmp near 037afh ; e9 6e ff 6429 6420 mov ax, 00100h ; b8 00 01 6430 6421 mov word [ss:si], ax ; 36 89 04 … … 6434 6425 pop bp ; 5d 6435 6426 retn ; c3 6436 vbe_biosfn_read_video_state_size_: ; 0xc3 7cdLB 0x86427 vbe_biosfn_read_video_state_size_: ; 0xc384e LB 0x8 6437 6428 push bp ; 55 6438 6429 mov bp, sp ; 89 e5 … … 6440 6431 pop bp ; 5d 6441 6432 retn ; c3 6442 vbe_biosfn_save_video_state_: ; 0xc3 7d5LB 0x5b6433 vbe_biosfn_save_video_state_: ; 0xc3856 LB 0x5b 6443 6434 push bp ; 55 6444 6435 mov bp, sp ; 89 e5 … … 6459 6450 mov dx, cx ; 89 ca 6460 6451 mov ax, di ; 89 f8 6461 call 02f68h ; e8 70 f76452 call 02f68h ; e8 ef f6 6462 6453 inc cx ; 41 6463 6454 inc cx ; 41 6464 6455 test byte [bp-00ah], 001h ; f6 46 f6 01 6465 je short 038 27h ; 74 276456 je short 038a8h ; 74 27 6466 6457 mov si, strict word 00001h ; be 01 00 6467 jmp short 038 0ah ; eb 056458 jmp short 0388bh ; eb 05 6468 6459 cmp si, strict byte 00009h ; 83 fe 09 6469 jnbe short 038 27h ; 77 1d6460 jnbe short 038a8h ; 77 1d 6470 6461 cmp si, strict byte 00004h ; 83 fe 04 6471 je short 038 24h ; 74 156462 je short 038a5h ; 74 15 6472 6463 mov ax, si ; 89 f0 6473 6464 mov dx, 001ceh ; ba ce 01 … … 6478 6469 mov dx, cx ; 89 ca 6479 6470 mov ax, di ; 89 f8 6480 call 02f68h ; e8 46 f76471 call 02f68h ; e8 c5 f6 6481 6472 inc cx ; 41 6482 6473 inc cx ; 41 6483 6474 inc si ; 46 6484 jmp short 038 05h ; eb de6475 jmp short 03886h ; eb de 6485 6476 lea sp, [bp-008h] ; 8d 66 f8 6486 6477 pop di ; 5f … … 6490 6481 pop bp ; 5d 6491 6482 retn ; c3 6492 vbe_biosfn_restore_video_state_: ; 0xc38 30LB 0x9b6483 vbe_biosfn_restore_video_state_: ; 0xc38b1 LB 0x9b 6493 6484 push bp ; 55 6494 6485 mov bp, sp ; 89 e5 … … 6499 6490 mov cx, ax ; 89 c1 6500 6491 mov bx, dx ; 89 d3 6501 call 02f5ah ; e8 1c f76492 call 02f5ah ; e8 9b f6 6502 6493 mov word [bp-008h], ax ; 89 46 f8 6503 6494 inc bx ; 43 6504 6495 inc bx ; 43 6505 6496 test byte [bp-008h], 001h ; f6 46 f8 01 6506 jne short 038 59h ; 75 106497 jne short 038dah ; 75 10 6507 6498 mov ax, strict word 00004h ; b8 04 00 6508 6499 mov dx, 001ceh ; ba ce 01 … … 6511 6502 mov dx, 001cfh ; ba cf 01 6512 6503 out DX, ax ; ef 6513 jmp short 03 8c3h ; eb 6a6504 jmp short 03944h ; eb 6a 6514 6505 mov ax, strict word 00001h ; b8 01 00 6515 6506 mov dx, 001ceh ; ba ce 01 … … 6517 6508 mov dx, bx ; 89 da 6518 6509 mov ax, cx ; 89 c8 6519 call 02f5ah ; e8 f3f66510 call 02f5ah ; e8 72 f6 6520 6511 mov dx, 001cfh ; ba cf 01 6521 6512 out DX, ax ; ef … … 6527 6518 mov dx, bx ; 89 da 6528 6519 mov ax, cx ; 89 c8 6529 call 02f5ah ; e8 dff66520 call 02f5ah ; e8 5e f6 6530 6521 mov dx, 001cfh ; ba cf 01 6531 6522 out DX, ax ; ef … … 6537 6528 mov dx, bx ; 89 da 6538 6529 mov ax, cx ; 89 c8 6539 call 02f5ah ; e8 cbf66530 call 02f5ah ; e8 4a f6 6540 6531 mov dx, 001cfh ; ba cf 01 6541 6532 out DX, ax ; ef … … 6549 6540 out DX, ax ; ef 6550 6541 mov si, strict word 00005h ; be 05 00 6551 jmp short 03 8adh ; eb 056542 jmp short 0392eh ; eb 05 6552 6543 cmp si, strict byte 00009h ; 83 fe 09 6553 jnbe short 03 8c3h ; 77 166544 jnbe short 03944h ; 77 16 6554 6545 mov ax, si ; 89 f0 6555 6546 mov dx, 001ceh ; ba ce 01 … … 6557 6548 mov dx, bx ; 89 da 6558 6549 mov ax, cx ; 89 c8 6559 call 02f5ah ; e8 a0f66550 call 02f5ah ; e8 1f f6 6560 6551 mov dx, 001cfh ; ba cf 01 6561 6552 out DX, ax ; ef … … 6563 6554 inc bx ; 43 6564 6555 inc si ; 46 6565 jmp short 03 8a8h ; eb e56556 jmp short 03929h ; eb e5 6566 6557 lea sp, [bp-006h] ; 8d 66 fa 6567 6558 pop si ; 5e … … 6570 6561 pop bp ; 5d 6571 6562 retn ; c3 6572 vbe_biosfn_save_restore_state_: ; 0xc3 8cbLB 0x8c6563 vbe_biosfn_save_restore_state_: ; 0xc394c LB 0x8c 6573 6564 push bp ; 55 6574 6565 mov bp, sp ; 89 e5 … … 6583 6574 xor ah, ah ; 30 e4 6584 6575 cmp ax, strict word 00002h ; 3d 02 00 6585 je short 039 2ah ; 74 456576 je short 039abh ; 74 45 6586 6577 cmp ax, strict word 00001h ; 3d 01 00 6587 je short 039 0eh ; 74 246578 je short 0398fh ; 74 24 6588 6579 test ax, ax ; 85 c0 6589 jne short 039 46h ; 75 586580 jne short 039c7h ; 75 58 6590 6581 mov ax, word [bp-006h] ; 8b 46 fa 6591 call 02853h ; e8 5f ef6582 call 02853h ; e8 de ee 6592 6583 mov cx, ax ; 89 c1 6593 6584 test byte [bp-006h], 008h ; f6 46 fa 08 6594 je short 039 01h ; 74 056595 call 03 7cdh ; e8 ce fe6585 je short 03982h ; 74 05 6586 call 0384eh ; e8 ce fe 6596 6587 add ax, cx ; 01 c8 6597 6588 add ax, strict word 0003fh ; 05 3f 00 … … 6600 6591 pop ES ; 07 6601 6592 mov word [es:bx], ax ; 26 89 07 6602 jmp short 039 49h ; eb 3b6593 jmp short 039cah ; eb 3b 6603 6594 push SS ; 16 6604 6595 pop ES ; 07 … … 6606 6597 mov dx, cx ; 89 ca 6607 6598 mov ax, word [bp-006h] ; 8b 46 fa 6608 call 02888h ; e8 6d ef6599 call 02888h ; e8 ec ee 6609 6600 test byte [bp-006h], 008h ; f6 46 fa 08 6610 je short 039 49h ; 74 286601 je short 039cah ; 74 28 6611 6602 mov dx, ax ; 89 c2 6612 6603 mov ax, cx ; 89 c8 6613 call 03 7d5h ; e8 ad fe6614 jmp short 039 49h ; eb 1f6604 call 03856h ; e8 ad fe 6605 jmp short 039cah ; eb 1f 6615 6606 push SS ; 16 6616 6607 pop ES ; 07 … … 6618 6609 mov dx, cx ; 89 ca 6619 6610 mov ax, word [bp-006h] ; 8b 46 fa 6620 call 02bf1h ; e8 baf26611 call 02bf1h ; e8 39 f2 6621 6612 test byte [bp-006h], 008h ; f6 46 fa 08 6622 je short 039 49h ; 74 0c6613 je short 039cah ; 74 0c 6623 6614 mov dx, ax ; 89 c2 6624 6615 mov ax, cx ; 89 c8 6625 call 038 30h ; e8 ec fe6626 jmp short 039 49h ; eb 036616 call 038b1h ; e8 ec fe 6617 jmp short 039cah ; eb 03 6627 6618 mov di, 00100h ; bf 00 01 6628 6619 push SS ; 16 … … 6634 6625 pop bp ; 5d 6635 6626 retn 00002h ; c2 02 00 6627 vbe_biosfn_get_set_scanline_length_: ; 0xc39d8 LB 0xa9 6628 push bp ; 55 6629 mov bp, sp ; 89 e5 6630 push si ; 56 6631 push di ; 57 6632 sub sp, strict byte 00006h ; 83 ec 06 6633 push ax ; 50 6634 mov si, dx ; 89 d6 6635 mov di, bx ; 89 df 6636 mov word [bp-008h], cx ; 89 4e f8 6637 call 03445h ; e8 5a fa 6638 mov cl, al ; 88 c1 6639 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 6640 push SS ; 16 6641 pop ES ; 07 6642 mov bx, word [es:di] ; 26 8b 1d 6643 mov al, byte [es:si] ; 26 8a 04 6644 cmp AL, strict byte 002h ; 3c 02 6645 je short 03a08h ; 74 0a 6646 cmp AL, strict byte 001h ; 3c 01 6647 je short 03a2fh ; 74 2d 6648 test al, al ; 84 c0 6649 je short 03a2ah ; 74 24 6650 jmp short 03a6ah ; eb 62 6651 cmp cl, 004h ; 80 f9 04 6652 jne short 03a12h ; 75 05 6653 sal bx, 003h ; c1 e3 03 6654 jmp short 03a2ah ; eb 18 6655 movzx ax, cl ; 0f b6 c1 6656 cwd ; 99 6657 sal dx, 003h ; c1 e2 03 6658 db 01bh, 0c2h 6659 ; sbb ax, dx ; 1b c2 6660 sar ax, 003h ; c1 f8 03 6661 mov word [bp-00ah], ax ; 89 46 f6 6662 mov ax, bx ; 89 d8 6663 xor dx, dx ; 31 d2 6664 div word [bp-00ah] ; f7 76 f6 6665 mov bx, ax ; 89 c3 6666 mov ax, bx ; 89 d8 6667 call 0345eh ; e8 2f fa 6668 call 0347dh ; e8 4b fa 6669 mov bx, ax ; 89 c3 6670 push SS ; 16 6671 pop ES ; 07 6672 mov word [es:di], ax ; 26 89 05 6673 cmp cl, 004h ; 80 f9 04 6674 jne short 03a43h ; 75 05 6675 shr bx, 003h ; c1 eb 03 6676 jmp short 03a52h ; eb 0f 6677 movzx ax, cl ; 0f b6 c1 6678 cwd ; 99 6679 sal dx, 003h ; c1 e2 03 6680 db 01bh, 0c2h 6681 ; sbb ax, dx ; 1b c2 6682 sar ax, 003h ; c1 f8 03 6683 imul bx, ax ; 0f af d8 6684 add bx, strict byte 00003h ; 83 c3 03 6685 and bl, 0fch ; 80 e3 fc 6686 push SS ; 16 6687 pop ES ; 07 6688 mov word [es:si], bx ; 26 89 1c 6689 call 03496h ; e8 36 fa 6690 push SS ; 16 6691 pop ES ; 07 6692 mov bx, word [bp-008h] ; 8b 5e f8 6693 mov word [es:bx], ax ; 26 89 07 6694 jmp short 03a6fh ; eb 05 6695 mov word [bp-006h], 00100h ; c7 46 fa 00 01 6696 push SS ; 16 6697 pop ES ; 07 6698 mov ax, word [bp-006h] ; 8b 46 fa 6699 mov bx, word [bp-00ch] ; 8b 5e f4 6700 mov word [es:bx], ax ; 26 89 07 6701 lea sp, [bp-004h] ; 8d 66 fc 6702 pop di ; 5f 6703 pop si ; 5e 6704 pop bp ; 5d 6705 retn ; c3 6636 6706 6637 ; Padding 0x aa9 bytes at 0xc39576638 times 2 729db 06707 ; Padding 0x97f bytes at 0xc3a81 6708 times 2431 db 0 6639 6709 6640 6710 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 7724 7794 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7725 7795 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7726 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07 4h7796 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum
r63627 r67771 1 d85d3d2ccbf7d43eb62789921f0d3447*VBoxVgaBios386.rom1 899b6314ed620084b02c8bad14876d3b *VBoxVgaBios386.rom -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm
r63627 r67771 165 165 166 166 167 section VGAROM progbits vstart=0x0 align=1 ; size=0x9 e0class=CODE group=AUTO167 section VGAROM progbits vstart=0x0 align=1 ; size=0x942 class=CODE group=AUTO 168 168 db 055h, 0aah, 040h, 0e9h, 064h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 169 169 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h 170 170 db 04dh, 000h 171 vgabios_int10_handler: ; 0xc0022 LB 0x5 7e171 vgabios_int10_handler: ; 0xc0022 LB 0x56e 172 172 pushfw ; 9c 173 173 cmp ah, 00fh ; 80 fc 0f 174 174 jne short 0002eh ; 75 06 175 call 001 93h ; e8 6801176 jmp near 00 103h ; e9 d500175 call 00189h ; e8 5e 01 176 jmp near 000f9h ; e9 cb 00 177 177 cmp ah, 01ah ; 80 fc 1a 178 178 jne short 00039h ; 75 06 179 call 005 66h ; e8 3005180 jmp near 00 103h ; e9 ca00179 call 0055ch ; e8 26 05 180 jmp near 000f9h ; e9 c0 00 181 181 cmp ah, 00bh ; 80 fc 0b 182 182 jne short 00044h ; 75 06 183 call 00 105h ; e8 c400184 jmp near 00 103h ; e9 bf00183 call 000fbh ; e8 ba 00 184 jmp near 000f9h ; e9 b5 00 185 185 cmp ax, 01103h ; 3d 03 11 186 186 jne short 0004fh ; 75 06 187 call 0045 ah ; e8 0e04188 jmp near 00 103h ; e9 b400187 call 00450h ; e8 04 04 188 jmp near 000f9h ; e9 aa 00 189 189 cmp ah, 012h ; 80 fc 12 190 jne short 0009 4h ; 75 40190 jne short 00093h ; 75 3f 191 191 cmp bl, 010h ; 80 fb 10 192 192 jne short 0005fh ; 75 06 193 call 004 67h ; e8 0b04194 jmp near 00 103h ; e9 a400193 call 0045dh ; e8 01 04 194 jmp near 000f9h ; e9 9a 00 195 195 cmp bl, 030h ; 80 fb 30 196 196 jne short 0006ah ; 75 06 197 call 0048 ah ; e8 2304198 jmp near 00 103h ; e9 9900197 call 00480h ; e8 19 04 198 jmp near 000f9h ; e9 8f 00 199 199 cmp bl, 031h ; 80 fb 31 200 200 jne short 00075h ; 75 06 201 call 004d dh ; e8 6b04202 jmp near 00 103h ; e9 8e00201 call 004d3h ; e8 61 04 202 jmp near 000f9h ; e9 84 00 203 203 cmp bl, 032h ; 80 fb 32 204 jne short 000 80h ; 75 06205 call 00 502h ; e8 8504206 jmp near 00103h ; e9 83 00204 jne short 0007fh ; 75 05 205 call 004f8h ; e8 7b 04 206 jmp short 000f9h ; eb 7a 207 207 cmp bl, 033h ; 80 fb 33 208 jne short 0008 ah ; 75 05209 call 005 20h ; e8 9804210 jmp short 00 103h ; eb 79208 jne short 00089h ; 75 05 209 call 00516h ; e8 8f 04 210 jmp short 000f9h ; eb 70 211 211 cmp bl, 034h ; 80 fb 34 212 jne short 000 e7h ; 75 58213 call 005 44h ; e8 b204214 jmp short 00 103h ; eb 6f212 jne short 000ddh ; 75 4f 213 call 0053ah ; e8 a9 04 214 jmp short 000f9h ; eb 66 215 215 cmp ax, 0101bh ; 3d 1b 10 216 je short 000 e7h ; 74 4e216 je short 000ddh ; 74 45 217 217 cmp ah, 010h ; 80 fc 10 218 jne short 000a 3h ; 75 05219 call 001b ah ; e8 1901220 jmp short 00 103h ; eb 60218 jne short 000a2h ; 75 05 219 call 001b0h ; e8 10 01 220 jmp short 000f9h ; eb 57 221 221 cmp ah, 04fh ; 80 fc 4f 222 jne short 000 e7h ; 75 3f222 jne short 000ddh ; 75 36 223 223 cmp AL, strict byte 003h ; 3c 03 224 jne short 000b 1h ; 75 05225 call 00 846h ; e8 9707226 jmp short 00 103h ; eb 52224 jne short 000b0h ; 75 05 225 call 007fbh ; e8 4d 07 226 jmp short 000f9h ; eb 49 227 227 cmp AL, strict byte 005h ; 3c 05 228 jne short 000bah ; 75 05 229 call 0086bh ; e8 b3 07 230 jmp short 00103h ; eb 49 231 cmp AL, strict byte 006h ; 3c 06 232 jne short 000c3h ; 75 05 233 call 00898h ; e8 d7 07 234 jmp short 00103h ; eb 40 228 jne short 000b9h ; 75 05 229 call 00820h ; e8 69 07 230 jmp short 000f9h ; eb 40 235 231 cmp AL, strict byte 007h ; 3c 07 236 jne short 000c ch ; 75 05237 call 008 ebh ; e8 21 08238 jmp short 00 103h ; eb 37232 jne short 000c2h ; 75 05 233 call 0084dh ; e8 8d 07 234 jmp short 000f9h ; eb 37 239 235 cmp AL, strict byte 008h ; 3c 08 240 jne short 000 d5h ; 75 05241 call 00 91fh ; e8 4c 08242 jmp short 00 103h ; eb 2e236 jne short 000cbh ; 75 05 237 call 00881h ; e8 b8 07 238 jmp short 000f9h ; eb 2e 243 239 cmp AL, strict byte 009h ; 3c 09 244 jne short 000d eh ; 75 05245 call 00 956h ; e8 7a 08246 jmp short 00 103h ; eb 25240 jne short 000d4h ; 75 05 241 call 008b8h ; e8 e6 07 242 jmp short 000f9h ; eb 25 247 243 cmp AL, strict byte 00ah ; 3c 0a 248 jne short 000 e7h ; 75 05249 call 009 c9h ; e8 e408250 jmp short 00 103h ; eb 1c244 jne short 000ddh ; 75 05 245 call 0092bh ; e8 50 08 246 jmp short 000f9h ; eb 1c 251 247 push ES ; 06 252 248 push DS ; 1e … … 261 257 mov bx, 0c000h ; bb 00 c0 262 258 mov ds, bx ; 8e db 263 call 032 64h ; e8 6b31259 call 0327bh ; e8 8c 31 264 260 pop di ; 5f 265 261 pop si ; 5e … … 275 271 iret ; cf 276 272 cmp bh, 000h ; 80 ff 00 277 je short 001 10h ; 74 06273 je short 00106h ; 74 06 278 274 cmp bh, 001h ; 80 ff 01 279 je short 001 61h ; 74 52275 je short 00157h ; 74 52 280 276 retn ; c3 281 277 push ax ; 50 … … 289 285 in AL, DX ; ec 290 286 cmp byte [word 00049h], 003h ; 80 3e 49 00 03 291 jbe short 001 54h ; 76 2f287 jbe short 0014ah ; 76 2f 292 288 mov dx, 003c0h ; ba c0 03 293 289 mov AL, strict byte 000h ; b0 00 … … 297 293 and AL, strict byte 00fh ; 24 0f 298 294 test AL, strict byte 008h ; a8 08 299 je short 001 35h ; 74 02295 je short 0012bh ; 74 02 300 296 add AL, strict byte 008h ; 04 08 301 297 out DX, AL ; ee … … 316 312 ; inc cl ; fe c1 317 313 cmp cl, 004h ; 80 f9 04 318 jne short 0013 bh ; 75 e7314 jne short 00131h ; 75 e7 319 315 mov AL, strict byte 020h ; b0 20 320 316 out DX, AL ; ee … … 349 345 ; inc cl ; fe c1 350 346 cmp cl, 004h ; 80 f9 04 351 jne short 0016 eh ; 75 e7347 jne short 00164h ; 75 e7 352 348 mov AL, strict byte 020h ; b0 20 353 349 out DX, AL ; ee … … 382 378 retn ; c3 383 379 cmp AL, strict byte 000h ; 3c 00 384 jne short 001 c0h ; 75 02385 jmp short 002 21h ; eb 61380 jne short 001b6h ; 75 02 381 jmp short 00217h ; eb 61 386 382 cmp AL, strict byte 001h ; 3c 01 387 jne short 001 c6h ; 75 02388 jmp short 0023 fh ; eb 79383 jne short 001bch ; 75 02 384 jmp short 00235h ; eb 79 389 385 cmp AL, strict byte 002h ; 3c 02 390 jne short 001c ch ; 75 02391 jmp short 002 47h ; eb 7b386 jne short 001c2h ; 75 02 387 jmp short 0023dh ; eb 7b 392 388 cmp AL, strict byte 003h ; 3c 03 393 jne short 001 d3h ; 75 03394 jmp near 002 78h ; e9 a5 00389 jne short 001c9h ; 75 03 390 jmp near 0026eh ; e9 a5 00 395 391 cmp AL, strict byte 007h ; 3c 07 396 jne short 001d ah ; 75 03397 jmp near 002 a5h ; e9 cb 00392 jne short 001d0h ; 75 03 393 jmp near 0029bh ; e9 cb 00 398 394 cmp AL, strict byte 008h ; 3c 08 399 jne short 001 e1h ; 75 03400 jmp near 002c dh ; e9 ec 00395 jne short 001d7h ; 75 03 396 jmp near 002c3h ; e9 ec 00 401 397 cmp AL, strict byte 009h ; 3c 09 402 jne short 001 e8h ; 75 03403 jmp near 002d bh ; e9 f3 00398 jne short 001deh ; 75 03 399 jmp near 002d1h ; e9 f3 00 404 400 cmp AL, strict byte 010h ; 3c 10 405 jne short 001e fh ; 75 03406 jmp near 003 20h ; e9 31 01401 jne short 001e5h ; 75 03 402 jmp near 00316h ; e9 31 01 407 403 cmp AL, strict byte 012h ; 3c 12 408 jne short 001 f6h ; 75 03409 jmp near 003 39h ; e9 43 01404 jne short 001ech ; 75 03 405 jmp near 0032fh ; e9 43 01 410 406 cmp AL, strict byte 013h ; 3c 13 411 jne short 001f dh ; 75 03412 jmp near 003 61h ; e9 64 01407 jne short 001f3h ; 75 03 408 jmp near 00357h ; e9 64 01 413 409 cmp AL, strict byte 015h ; 3c 15 414 jne short 00 204h ; 75 03415 jmp near 003 b4h ; e9 b0 01410 jne short 001fah ; 75 03 411 jmp near 003aah ; e9 b0 01 416 412 cmp AL, strict byte 017h ; 3c 17 417 jne short 0020 bh ; 75 03418 jmp near 003c fh ; e9 c4 01413 jne short 00201h ; 75 03 414 jmp near 003c5h ; e9 c4 01 419 415 cmp AL, strict byte 018h ; 3c 18 420 jne short 002 12h ; 75 03421 jmp near 003 f7h ; e9 e5 01416 jne short 00208h ; 75 03 417 jmp near 003edh ; e9 e5 01 422 418 cmp AL, strict byte 019h ; 3c 19 423 jne short 002 19h ; 75 03424 jmp near 00 402h ; e9 e9 01419 jne short 0020fh ; 75 03 420 jmp near 003f8h ; e9 e9 01 425 421 cmp AL, strict byte 01ah ; 3c 1a 426 jne short 002 20h ; 75 03427 jmp near 0040 dh ; e9 ed 01422 jne short 00216h ; 75 03 423 jmp near 00403h ; e9 ed 01 428 424 retn ; c3 429 425 cmp bl, 014h ; 80 fb 14 430 jnbe short 0023 eh ; 77 18426 jnbe short 00234h ; 77 18 431 427 push ax ; 50 432 428 push dx ; 52 … … 449 445 push bx ; 53 450 446 mov BL, strict byte 011h ; b3 11 451 call 002 21h ; e8 dc ff447 call 00217h ; e8 dc ff 452 448 pop bx ; 5b 453 449 retn ; c3 … … 471 467 ; inc cl ; fe c1 472 468 cmp cl, 010h ; 80 f9 10 473 jne short 002 56h ; 75 f1469 jne short 0024ch ; 75 f1 474 470 mov AL, strict byte 011h ; b0 11 475 471 out DX, AL ; ee … … 513 509 retn ; c3 514 510 cmp bl, 014h ; 80 fb 14 515 jnbe short 002c ch ; 77 22511 jnbe short 002c2h ; 77 22 516 512 push ax ; 50 517 513 push dx ; 52 … … 539 535 push bx ; 53 540 536 mov BL, strict byte 011h ; b3 11 541 call 002 a5h ; e8 d1 ff537 call 0029bh ; e8 d1 ff 542 538 db 08ah, 0c7h 543 539 ; mov al, bh ; 8a c7 … … 567 563 ; inc cl ; fe c1 568 564 cmp cl, 010h ; 80 f9 10 569 jne short 002 e3h ; 75 e7565 jne short 002d9h ; 75 e7 570 566 mov dx, 003dah ; ba da 03 571 567 in AL, DX ; ec … … 632 628 inc bx ; 43 633 629 dec cx ; 49 634 jne short 0034 ah ; 75 ee630 jne short 00340h ; 75 ee 635 631 pop dx ; 5a 636 632 pop cx ; 59 … … 649 645 in AL, DX ; ec 650 646 and bl, 001h ; 80 e3 01 651 jne short 0038 fh ; 75 18647 jne short 00385h ; 75 18 652 648 and AL, strict byte 07fh ; 24 7f 653 649 sal bh, 1 ; d0 e7 … … 662 658 mov dx, 003c0h ; ba c0 03 663 659 out DX, AL ; ee 664 jmp short 003 a9h ; eb 1a660 jmp short 0039fh ; eb 1a 665 661 push ax ; 50 666 662 mov dx, 003dah ; ba da 03 … … 671 667 pop ax ; 58 672 668 and AL, strict byte 080h ; 24 80 673 jne short 003 a3h ; 75 04669 jne short 00399h ; 75 04 674 670 sal bh, 1 ; d0 e7 675 671 sal bh, 1 ; d0 e7 … … 731 727 inc bx ; 43 732 728 dec cx ; 49 733 jne short 003 e0h ; 75 ee729 jne short 003d6h ; 75 ee 734 730 pop dx ; 5a 735 731 pop cx ; 59 … … 784 780 and bh, 00fh ; 80 e7 0f 785 781 test bl, 001h ; f6 c3 01 786 jne short 004 49h ; 75 04782 jne short 0043fh ; 75 04 787 783 shr bh, 1 ; d0 ef 788 784 shr bh, 1 ; d0 ef … … 820 816 mov bx, strict word 00003h ; bb 03 00 821 817 cmp ax, 003b4h ; 3d b4 03 822 jne short 004 87h ; 75 02818 jne short 0047dh ; 75 02 823 819 mov BH, strict byte 001h ; b7 01 824 820 pop ax ; 58 … … 837 833 mov ah, byte [bx] ; 8a 27 838 834 cmp dl, 001h ; 80 fa 01 839 je short 004 b8h ; 74 15840 jc short 004 c2h ; 72 1d835 je short 004aeh ; 74 15 836 jc short 004b8h ; 72 1d 841 837 cmp dl, 002h ; 80 fa 02 842 je short 004a ch ; 74 02843 jmp short 004 d6h ; eb 2a838 je short 004a2h ; 74 02 839 jmp short 004cch ; eb 2a 844 840 and AL, strict byte 07fh ; 24 7f 845 841 or AL, strict byte 010h ; 0c 10 846 842 and ah, 0f0h ; 80 e4 f0 847 843 or ah, 009h ; 80 cc 09 848 jne short 004c ch ; 75 14844 jne short 004c2h ; 75 14 849 845 and AL, strict byte 06fh ; 24 6f 850 846 and ah, 0f0h ; 80 e4 f0 851 847 or ah, 009h ; 80 cc 09 852 jne short 004c ch ; 75 0a848 jne short 004c2h ; 75 0a 853 849 and AL, strict byte 0efh ; 24 ef 854 850 or AL, strict byte 080h ; 0c 80 … … 946 942 retn ; c3 947 943 cmp AL, strict byte 000h ; 3c 00 948 je short 0056 fh ; 74 05944 je short 00565h ; 74 05 949 945 cmp AL, strict byte 001h ; 3c 01 950 je short 005 84h ; 74 16946 je short 0057ah ; 74 16 951 947 retn ; c3 952 948 push DS ; 1e … … 980 976 pop DS ; 1f 981 977 retn ; c3 982 times 0x 7db 0983 do_out_dx_ax: ; 0xc05 a0 LB 0x7978 times 0x1 db 0 979 do_out_dx_ax: ; 0xc0590 LB 0x7 984 980 xchg ah, al ; 86 c4 985 981 out DX, AL ; ee … … 987 983 out DX, AL ; ee 988 984 retn ; c3 989 do_in_ax_dx: ; 0xc05 a7 LB 0x43985 do_in_ax_dx: ; 0xc0597 LB 0x43 990 986 in AL, DX ; ec 991 987 xchg ah, al ; 86 c4 … … 997 993 in AL, DX ; ec 998 994 test AL, strict byte 008h ; a8 08 999 je short 005 b1h ; 74 fb995 je short 005a1h ; 74 fb 1000 996 pop dx ; 5a 1001 997 pop ax ; 58 … … 1006 1002 in AL, DX ; ec 1007 1003 test AL, strict byte 008h ; a8 08 1008 jne short 005 beh ; 75 fb1004 jne short 005aeh ; 75 fb 1009 1005 pop dx ; 5a 1010 1006 pop ax ; 58 … … 1013 1009 mov dx, 001ceh ; ba ce 01 1014 1010 mov ax, strict word 00003h ; b8 03 00 1015 call 005 a0h ; e8 d0 ff1011 call 00590h ; e8 d0 ff 1016 1012 mov dx, 001cfh ; ba cf 01 1017 call 005 a7h ; e8 d1 ff1013 call 00597h ; e8 d1 ff 1018 1014 cmp AL, strict byte 004h ; 3c 04 1019 jbe short 005 e8h ; 76 0e1015 jbe short 005d8h ; 76 0e 1020 1016 db 08ah, 0e0h 1021 1017 ; mov ah, al ; 8a e0 … … 1024 1020 shr ah, 1 ; d0 ec 1025 1021 test AL, strict byte 007h ; a8 07 1026 je short 005 e8h ; 74 021022 je short 005d8h ; 74 02 1027 1023 db 0feh, 0c4h 1028 1024 ; inc ah ; fe c4 1029 1025 pop dx ; 5a 1030 1026 retn ; c3 1031 _dispi_get_max_bpp: ; 0xc05 ea LB 0x261027 _dispi_get_max_bpp: ; 0xc05da LB 0x26 1032 1028 push dx ; 52 1033 1029 push bx ; 53 1034 call 006 24h ; e8 35 001030 call 00614h ; e8 35 00 1035 1031 db 08bh, 0d8h 1036 1032 ; mov bx, ax ; 8b d8 1037 1033 or ax, strict byte 00002h ; 83 c8 02 1038 call 006 10h ; e8 19 001034 call 00600h ; e8 19 00 1039 1035 mov dx, 001ceh ; ba ce 01 1040 1036 mov ax, strict word 00003h ; b8 03 00 1041 call 005 a0h ; e8 a0 ff1037 call 00590h ; e8 a0 ff 1042 1038 mov dx, 001cfh ; ba cf 01 1043 call 005 a7h ; e8 a1 ff1039 call 00597h ; e8 a1 ff 1044 1040 push ax ; 50 1045 1041 db 08bh, 0c3h 1046 1042 ; mov ax, bx ; 8b c3 1047 call 006 10h ; e8 04 001043 call 00600h ; e8 04 00 1048 1044 pop ax ; 58 1049 1045 pop bx ; 5b 1050 1046 pop dx ; 5a 1051 1047 retn ; c3 1052 dispi_set_enable_: ; 0xc06 10 LB 0x261048 dispi_set_enable_: ; 0xc0600 LB 0x26 1053 1049 push dx ; 52 1054 1050 push ax ; 50 1055 1051 mov dx, 001ceh ; ba ce 01 1056 1052 mov ax, strict word 00004h ; b8 04 00 1057 call 005 a0h ; e8 85 ff1053 call 00590h ; e8 85 ff 1058 1054 pop ax ; 58 1059 1055 mov dx, 001cfh ; ba cf 01 1060 call 005 a0h ; e8 7e ff1056 call 00590h ; e8 7e ff 1061 1057 pop dx ; 5a 1062 1058 retn ; c3 … … 1064 1060 mov dx, 001ceh ; ba ce 01 1065 1061 mov ax, strict word 00004h ; b8 04 00 1066 call 005 a0h ; e8 72 ff1062 call 00590h ; e8 72 ff 1067 1063 mov dx, 001cfh ; ba cf 01 1068 call 005 a7h ; e8 73 ff1064 call 00597h ; e8 73 ff 1069 1065 pop dx ; 5a 1070 1066 retn ; c3 1071 dispi_set_bank_: ; 0xc06 36 LB 0x261067 dispi_set_bank_: ; 0xc0626 LB 0x26 1072 1068 push dx ; 52 1073 1069 push ax ; 50 1074 1070 mov dx, 001ceh ; ba ce 01 1075 1071 mov ax, strict word 00005h ; b8 05 00 1076 call 005 a0h ; e8 5f ff1072 call 00590h ; e8 5f ff 1077 1073 pop ax ; 58 1078 1074 mov dx, 001cfh ; ba cf 01 1079 call 005 a0h ; e8 58 ff1075 call 00590h ; e8 58 ff 1080 1076 pop dx ; 5a 1081 1077 retn ; c3 … … 1083 1079 mov dx, 001ceh ; ba ce 01 1084 1080 mov ax, strict word 00005h ; b8 05 00 1085 call 005 a0h ; e8 4c ff1081 call 00590h ; e8 4c ff 1086 1082 mov dx, 001cfh ; ba cf 01 1087 call 005 a7h ; e8 4d ff1083 call 00597h ; e8 4d ff 1088 1084 pop dx ; 5a 1089 1085 retn ; c3 1090 _dispi_set_bank_farcall: ; 0xc06 5c LB 0xe71086 _dispi_set_bank_farcall: ; 0xc064c LB 0xac 1091 1087 cmp bx, 00100h ; 81 fb 00 01 1092 je short 006 86h ; 74 241088 je short 00676h ; 74 24 1093 1089 db 00bh, 0dbh 1094 1090 ; or bx, bx ; 0b db 1095 jne short 006 98h ; 75 321091 jne short 00688h ; 75 32 1096 1092 db 08bh, 0c2h 1097 1093 ; mov ax, dx ; 8b c2 … … 1100 1096 mov ax, strict word 00005h ; b8 05 00 1101 1097 mov dx, 001ceh ; ba ce 01 1102 call 005 a0h ; e8 2d ff1098 call 00590h ; e8 2d ff 1103 1099 pop ax ; 58 1104 1100 mov dx, 001cfh ; ba cf 01 1105 call 005 a0h ; e8 26 ff1106 call 005 a7h ; e8 2a ff1101 call 00590h ; e8 26 ff 1102 call 00597h ; e8 2a ff 1107 1103 pop dx ; 5a 1108 1104 db 03bh, 0d0h 1109 1105 ; cmp dx, ax ; 3b d0 1110 jne short 006 98h ; 75 161106 jne short 00688h ; 75 16 1111 1107 mov ax, strict word 0004fh ; b8 4f 00 1112 1108 retf ; cb 1113 1109 mov ax, strict word 00005h ; b8 05 00 1114 1110 mov dx, 001ceh ; ba ce 01 1115 call 005 a0h ; e8 11 ff1111 call 00590h ; e8 11 ff 1116 1112 mov dx, 001cfh ; ba cf 01 1117 call 005 a7h ; e8 12 ff1113 call 00597h ; e8 12 ff 1118 1114 db 08bh, 0d0h 1119 1115 ; mov dx, ax ; 8b d0 … … 1125 1121 mov dx, 001ceh ; ba ce 01 1126 1122 mov ax, strict word 00008h ; b8 08 00 1127 call 005 a0h ; e8 f9 fe1123 call 00590h ; e8 f9 fe 1128 1124 pop ax ; 58 1129 1125 mov dx, 001cfh ; ba cf 01 1130 call 005 a0h ; e8 f2 fe1126 call 00590h ; e8 f2 fe 1131 1127 pop dx ; 5a 1132 1128 retn ; c3 … … 1134 1130 mov dx, 001ceh ; ba ce 01 1135 1131 mov ax, strict word 00008h ; b8 08 00 1136 call 005 a0h ; e8 e6 fe1132 call 00590h ; e8 e6 fe 1137 1133 mov dx, 001cfh ; ba cf 01 1138 call 005 a7h ; e8 e7 fe1134 call 00597h ; e8 e7 fe 1139 1135 pop dx ; 5a 1140 1136 retn ; c3 … … 1143 1139 mov dx, 001ceh ; ba ce 01 1144 1140 mov ax, strict word 00009h ; b8 09 00 1145 call 005 a0h ; e8 d3 fe1141 call 00590h ; e8 d3 fe 1146 1142 pop ax ; 58 1147 1143 mov dx, 001cfh ; ba cf 01 1148 call 005 a0h ; e8 cc fe1144 call 00590h ; e8 cc fe 1149 1145 pop dx ; 5a 1150 1146 retn ; c3 … … 1152 1148 mov dx, 001ceh ; ba ce 01 1153 1149 mov ax, strict word 00009h ; b8 09 00 1154 call 005 a0h ; e8 c0 fe1150 call 00590h ; e8 c0 fe 1155 1151 mov dx, 001cfh ; ba cf 01 1156 call 005 a7h ; e8 c1 fe1152 call 00597h ; e8 c1 fe 1157 1153 pop dx ; 5a 1158 1154 retn ; c3 … … 1162 1158 db 08bh, 0d8h 1163 1159 ; mov bx, ax ; 8b d8 1164 call 005 c6h ; e8 d6 fe1160 call 005b6h ; e8 d6 fe 1165 1161 cmp AL, strict byte 004h ; 3c 04 1166 jnbe short 006 f6h ; 77 021162 jnbe short 006e6h ; 77 02 1167 1163 shr bx, 1 ; d1 eb 1168 1164 shr bx, 1 ; d1 eb … … 1178 1174 pop ax ; 58 1179 1175 retn ; c3 1180 call 006e8h ; e8 dd ff 1181 push dx ; 52 1182 push ax ; 50 1183 mov dx, 001ceh ; ba ce 01 1184 mov ax, strict word 00006h ; b8 06 00 1185 call 005a0h ; e8 8a fe 1186 pop ax ; 58 1187 mov dx, 001cfh ; ba cf 01 1188 call 005a0h ; e8 83 fe 1189 pop dx ; 5a 1190 retn ; c3 1191 push dx ; 52 1192 mov dx, 001ceh ; ba ce 01 1193 mov ax, strict word 00006h ; b8 06 00 1194 call 005a0h ; e8 77 fe 1195 mov dx, 001cfh ; ba cf 01 1196 call 005a7h ; e8 78 fe 1197 pop dx ; 5a 1198 retn ; c3 1199 push dx ; 52 1200 mov dx, 001ceh ; ba ce 01 1201 mov ax, strict word 00007h ; b8 07 00 1202 call 005a0h ; e8 65 fe 1203 mov dx, 001cfh ; ba cf 01 1204 call 005a7h ; e8 66 fe 1205 pop dx ; 5a 1206 retn ; c3 1207 _vga_compat_setup: ; 0xc0743 LB 0xf0 1176 _vga_compat_setup: ; 0xc06f8 LB 0xf0 1208 1177 push ax ; 50 1209 1178 push dx ; 52 1210 1179 mov dx, 001ceh ; ba ce 01 1211 1180 mov ax, strict word 00001h ; b8 01 00 1212 call 005 a0h ; e8 52fe1181 call 00590h ; e8 8d fe 1213 1182 mov dx, 001cfh ; ba cf 01 1214 call 005 a7h ; e8 53fe1183 call 00597h ; e8 8e fe 1215 1184 push ax ; 50 1216 1185 mov dx, 003d4h ; ba d4 03 … … 1228 1197 out DX, ax ; ef 1229 1198 pop ax ; 58 1230 call 006 e8h ; e8 7aff1199 call 006d8h ; e8 b5 ff 1231 1200 mov dx, 001ceh ; ba ce 01 1232 1201 mov ax, strict word 00002h ; b8 02 00 1233 call 005 a0h ; e8 29fe1202 call 00590h ; e8 64 fe 1234 1203 mov dx, 001cfh ; ba cf 01 1235 call 005 a7h ; e8 2afe1204 call 00597h ; e8 65 fe 1236 1205 dec ax ; 48 1237 1206 push ax ; 50 … … 1248 1217 and AL, strict byte 0bdh ; 24 bd 1249 1218 test ah, 001h ; f6 c4 01 1250 je short 007 96h ; 74 021219 je short 0074bh ; 74 02 1251 1220 or AL, strict byte 002h ; 0c 02 1252 1221 test ah, 002h ; f6 c4 02 1253 je short 007 9dh ; 74 021222 je short 00752h ; 74 02 1254 1223 or AL, strict byte 040h ; 0c 40 1255 1224 out DX, AL ; ee … … 1288 1257 mov dx, 001ceh ; ba ce 01 1289 1258 mov ax, strict word 00003h ; b8 03 00 1290 call 005 a0h ; e8 b9fd1259 call 00590h ; e8 f4 fd 1291 1260 mov dx, 001cfh ; ba cf 01 1292 call 005 a7h ; e8 bafd1261 call 00597h ; e8 f5 fd 1293 1262 cmp AL, strict byte 008h ; 3c 08 1294 jc short 00 831h ; 72 401263 jc short 007e6h ; 72 40 1295 1264 mov dx, 003d4h ; ba d4 03 1296 1265 mov AL, strict byte 014h ; b0 14 … … 1329 1298 pop dx ; 5a 1330 1299 pop ax ; 58 1331 _vbe_has_vbe_display: ; 0xc0 833LB 0x131300 _vbe_has_vbe_display: ; 0xc07e8 LB 0x13 1332 1301 push DS ; 1e 1333 1302 push bx ; 53 … … 1342 1311 pop DS ; 1f 1343 1312 retn ; c3 1344 vbe_biosfn_return_current_mode: ; 0xc0 846LB 0x251313 vbe_biosfn_return_current_mode: ; 0xc07fb LB 0x25 1345 1314 push DS ; 1e 1346 1315 mov ax, strict word 00040h ; b8 40 00 1347 1316 mov ds, ax ; 8e d8 1348 call 006 24h ; e8 d5 fd1317 call 00614h ; e8 10 fe 1349 1318 and ax, strict byte 00001h ; 83 e0 01 1350 je short 008 5dh ; 74 091319 je short 00812h ; 74 09 1351 1320 mov bx, 000bah ; bb ba 00 1352 1321 mov ax, word [bx] ; 8b 07 1353 1322 db 08bh, 0d8h 1354 1323 ; mov bx, ax ; 8b d8 1355 jne short 008 66h ; 75 091324 jne short 0081bh ; 75 09 1356 1325 mov bx, strict word 00049h ; bb 49 00 1357 1326 mov al, byte [bx] ; 8a 07 … … 1363 1332 pop DS ; 1f 1364 1333 retn ; c3 1365 vbe_biosfn_display_window_control: ; 0xc08 6bLB 0x2d1334 vbe_biosfn_display_window_control: ; 0xc0820 LB 0x2d 1366 1335 cmp bl, 000h ; 80 fb 00 1367 jne short 008 94h ; 75 241336 jne short 00849h ; 75 24 1368 1337 cmp bh, 001h ; 80 ff 01 1369 je short 008 8bh ; 74 161370 jc short 008 7bh ; 72 041338 je short 00840h ; 74 16 1339 jc short 00830h ; 72 04 1371 1340 mov ax, 00100h ; b8 00 01 1372 1341 retn ; c3 1373 1342 db 08bh, 0c2h 1374 1343 ; mov ax, dx ; 8b c2 1375 call 006 36h ; e8 b6fd1376 call 006 4ah ; e8 c7 fd1344 call 00626h ; e8 f1 fd 1345 call 0063ah ; e8 02 fe 1377 1346 db 03bh, 0c2h 1378 1347 ; cmp ax, dx ; 3b c2 1379 jne short 008 94h ; 75 0d1348 jne short 00849h ; 75 0d 1380 1349 mov ax, strict word 0004fh ; b8 4f 00 1381 1350 retn ; c3 1382 call 006 4ah ; e8 bcfd1351 call 0063ah ; e8 f7 fd 1383 1352 db 08bh, 0d0h 1384 1353 ; mov dx, ax ; 8b d0 … … 1387 1356 mov ax, 0014fh ; b8 4f 01 1388 1357 retn ; c3 1389 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc0898 LB 0x53 1358 vbe_biosfn_set_get_display_start: ; 0xc084d LB 0x34 1359 cmp bl, 080h ; 80 fb 80 1360 je short 0085dh ; 74 0b 1361 cmp bl, 001h ; 80 fb 01 1362 je short 00871h ; 74 1a 1363 jc short 00863h ; 72 0a 1364 mov ax, 00100h ; b8 00 01 1365 retn ; c3 1366 call 005a9h ; e8 49 fd 1367 call 0059ch ; e8 39 fd 1390 1368 db 08bh, 0c1h 1391 1369 ; mov ax, cx ; 8b c1 1392 cmp bl, 001h ; 80 fb 01 1393 je short 008c6h ; 74 27 1394 cmp bl, 002h ; 80 fb 02 1395 je short 008aah ; 74 06 1396 jc short 008c3h ; 72 1d 1397 mov ax, 00100h ; b8 00 01 1398 retn ; c3 1399 push ax ; 50 1400 call 005c6h ; e8 18 fd 1401 db 032h, 0ffh 1402 ; xor bh, bh ; 32 ff 1403 db 08ah, 0dch 1404 ; mov bl, ah ; 8a dc 1405 db 00ah, 0dbh 1406 ; or bl, bl ; 0a db 1407 pop ax ; 58 1408 jne short 008bfh ; 75 08 1409 sal ax, 1 ; d1 e0 1410 sal ax, 1 ; d1 e0 1411 sal ax, 1 ; d1 e0 1412 mov BL, strict byte 001h ; b3 01 1413 db 033h, 0d2h 1414 ; xor dx, dx ; 33 d2 1415 div bx ; f7 f3 1416 call 00708h ; e8 42 fe 1417 call 005c6h ; e8 fd fc 1418 db 032h, 0ffh 1419 ; xor bh, bh ; 32 ff 1420 db 08ah, 0dch 1421 ; mov bl, ah ; 8a dc 1422 call 0071fh ; e8 4f fe 1370 call 0068ch ; e8 24 fe 1371 db 08bh, 0c2h 1372 ; mov ax, dx ; 8b c2 1373 call 006b2h ; e8 45 fe 1374 mov ax, strict word 0004fh ; b8 4f 00 1375 retn ; c3 1376 call 006a0h ; e8 2c fe 1423 1377 db 08bh, 0c8h 1424 1378 ; mov cx, ax ; 8b c8 1425 db 00ah, 0dbh 1426 ; or bl, bl ; 0a db 1427 jne short 008deh ; 75 08 1428 shr ax, 1 ; d1 e8 1429 shr ax, 1 ; d1 e8 1430 shr ax, 1 ; d1 e8 1431 mov BL, strict byte 001h ; b3 01 1432 mul bx ; f7 e3 1433 db 08bh, 0d8h 1434 ; mov bx, ax ; 8b d8 1435 call 00731h ; e8 4c fe 1436 db 08bh, 0d0h 1437 ; mov dx, ax ; 8b d0 1438 mov ax, strict word 0004fh ; b8 4f 00 1439 retn ; c3 1440 vbe_biosfn_set_get_display_start: ; 0xc08eb LB 0x34 1441 cmp bl, 080h ; 80 fb 80 1442 je short 008fbh ; 74 0b 1443 cmp bl, 001h ; 80 fb 01 1444 je short 0090fh ; 74 1a 1445 jc short 00901h ; 72 0a 1446 mov ax, 00100h ; b8 00 01 1447 retn ; c3 1448 call 005b9h ; e8 bb fc 1449 call 005ach ; e8 ab fc 1450 db 08bh, 0c1h 1451 ; mov ax, cx ; 8b c1 1452 call 0069ch ; e8 96 fd 1453 db 08bh, 0c2h 1454 ; mov ax, dx ; 8b c2 1455 call 006c2h ; e8 b7 fd 1456 mov ax, strict word 0004fh ; b8 4f 00 1457 retn ; c3 1458 call 006b0h ; e8 9e fd 1459 db 08bh, 0c8h 1460 ; mov cx, ax ; 8b c8 1461 call 006d6h ; e8 bf fd 1379 call 006c6h ; e8 4d fe 1462 1380 db 08bh, 0d0h 1463 1381 ; mov dx, ax ; 8b d0 … … 1466 1384 mov ax, strict word 0004fh ; b8 4f 00 1467 1385 retn ; c3 1468 vbe_biosfn_set_get_dac_palette_format: ; 0xc0 91fLB 0x371386 vbe_biosfn_set_get_dac_palette_format: ; 0xc0881 LB 0x37 1469 1387 cmp bl, 001h ; 80 fb 01 1470 je short 00 942h ; 74 1e1471 jc short 00 92ah ; 72 041388 je short 008a4h ; 74 1e 1389 jc short 0088ch ; 72 04 1472 1390 mov ax, 00100h ; b8 00 01 1473 1391 retn ; c3 1474 call 006 24h ; e8 f7 fc1392 call 00614h ; e8 85 fd 1475 1393 cmp bh, 006h ; 80 ff 06 1476 je short 00 93ch ; 74 0a1394 je short 0089eh ; 74 0a 1477 1395 cmp bh, 008h ; 80 ff 08 1478 jne short 00 952h ; 75 1b1396 jne short 008b4h ; 75 1b 1479 1397 or ax, strict byte 00020h ; 83 c8 20 1480 jne short 00 93fh ; 75 031398 jne short 008a1h ; 75 03 1481 1399 and ax, strict byte 0ffdfh ; 83 e0 df 1482 call 006 10h ; e8 ce fc1400 call 00600h ; e8 5c fd 1483 1401 mov BH, strict byte 006h ; b7 06 1484 call 006 24h ; e8 dd fc1402 call 00614h ; e8 6b fd 1485 1403 and ax, strict byte 00020h ; 83 e0 20 1486 je short 00 94eh ; 74 021404 je short 008b0h ; 74 02 1487 1405 mov BH, strict byte 008h ; b7 08 1488 1406 mov ax, strict word 0004fh ; b8 4f 00 … … 1490 1408 mov ax, 0014fh ; b8 4f 01 1491 1409 retn ; c3 1492 vbe_biosfn_set_get_palette_data: ; 0xc0 956LB 0x731410 vbe_biosfn_set_get_palette_data: ; 0xc08b8 LB 0x73 1493 1411 test bl, bl ; 84 db 1494 je short 00 969h ; 74 0f1412 je short 008cbh ; 74 0f 1495 1413 cmp bl, 001h ; 80 fb 01 1496 je short 00 997h ; 74 381414 je short 008f9h ; 74 38 1497 1415 cmp bl, 003h ; 80 fb 03 1498 jbe short 009 c5h ; 76 611416 jbe short 00927h ; 76 61 1499 1417 cmp bl, 080h ; 80 fb 80 1500 jne short 009 c1h ; 75 581418 jne short 00923h ; 75 58 1501 1419 push ax ; 50 1502 1420 push cx ; 51 … … 1528 1446 ; mov al, bl ; 8a c3 1529 1447 out DX, AL ; ee 1530 loop 00 97dh ; e2 f31448 loop 008dfh ; e2 f3 1531 1449 pop DS ; 1f 1532 1450 pop di ; 5f … … 1566 1484 ; mov ax, bx ; 8b c3 1567 1485 stosw ; ab 1568 loop 009 aah ; e2 f31486 loop 0090ch ; e2 f3 1569 1487 pop di ; 5f 1570 1488 pop si ; 5e … … 1575 1493 pop cx ; 59 1576 1494 pop ax ; 58 1577 jmp short 00 993h ; eb d21495 jmp short 008f5h ; eb d2 1578 1496 mov ax, 0014fh ; b8 4f 01 1579 1497 retn ; c3 1580 1498 mov ax, 0024fh ; b8 4f 02 1581 1499 retn ; c3 1582 vbe_biosfn_return_protected_mode_interface: ; 0xc09 c9LB 0x171500 vbe_biosfn_return_protected_mode_interface: ; 0xc092b LB 0x17 1583 1501 test bl, bl ; 84 db 1584 jne short 009 dch ; 75 0f1502 jne short 0093eh ; 75 0f 1585 1503 mov di, 0c000h ; bf 00 c0 1586 1504 mov es, di ; 8e c7 … … 1592 1510 retn ; c3 1593 1511 1594 ; Padding 0x 20 bytes at 0xc09e01595 times 32db 01512 ; Padding 0xbe bytes at 0xc0942 1513 times 190 db 0 1596 1514 1597 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3 186class=CODE group=AUTO1515 section _TEXT progbits vstart=0xa00 align=1 ; size=0x3273 class=CODE group=AUTO 1598 1516 set_int_vector_: ; 0xc0a00 LB 0x1c 1599 1517 push bx ; 53 … … 1652 1570 call 00a1ch ; e8 ab ff 1653 1571 call 00a38h ; e8 c4 ff 1654 call 036 a3h ; e8 2c2c1572 call 036deh ; e8 67 2c 1655 1573 mov dx, strict word 00022h ; ba 22 00 1656 1574 mov ax, strict word 00010h ; b8 10 00 … … 2355 2273 and AL, strict byte 080h ; 24 80 2356 2274 mov byte [bp-012h], al ; 88 46 ee 2357 call 00 833h ; e8 04 f82275 call 007e8h ; e8 b9 f7 2358 2276 test ax, ax ; 85 c0 2359 2277 je short 0103fh ; 74 0c … … 6212 6130 pop bx ; 5b 6213 6131 retn ; c3 6214 write_dword_: ; 0xc31e5 LB 0x 7f6132 write_dword_: ; 0xc31e5 LB 0x96 6215 6133 push si ; 56 6216 6134 push bp ; 55 … … 6234 6152 add ax, 00304h ; 05 04 03 6235 6153 add al, byte [bx+di] ; 02 01 6236 add bl, ch ; 00 eb 6237 xor ax, 0328fh ; 35 8f 32 6238 int3 ; cc 6239 db 032h, 0dch 6240 ; xor bl, ah ; 32 dc 6241 db 032h, 0e9h 6242 ; xor ch, cl ; 32 e9 6243 db 032h, 0f9h 6244 ; xor bh, cl ; 32 f9 6245 xor cl, byte [bx+di] ; 32 09 6246 xor dx, word [bp+si] ; 33 12 6247 xor ax, word [si+033h] ; 33 44 33 6248 imul si, word [bp+di], 03377h ; 69 33 77 33 6249 db 08fh, 033h 6250 ; pop word [bp+di] ; 8f 33 6251 cmpsw ; a7 6252 db 033h, 0c3h 6253 ; xor ax, bx ; 33 c3 6254 db 033h, 0d7h 6255 ; xor dx, di ; 33 d7 6256 db 033h, 0edh 6257 ; xor bp, bp ; 33 ed 6258 db 033h, 0f9h 6259 ; xor di, cx ; 33 f9 6260 xor di, word [di-00dcch] ; 33 bd 34 f2 6261 xor AL, strict byte 017h ; 34 17 6262 xor ax, 0352ch ; 35 2c 35 6263 outsb ; 6e 6154 add byte [si-054cbh], bh ; 00 bc 35 ab 6155 db 032h, 0e8h 6156 ; xor ch, al ; 32 e8 6157 db 032h, 0f6h 6158 ; xor dh, dh ; 32 f6 6159 xor al, byte [bx+di] ; 32 01 6160 xor cx, word [bx] ; 33 0f 6161 xor bx, word [bx] ; 33 1f 6162 xor sp, word [04f33h] ; 33 26 33 4f 6163 xor dx, word [bp+di+033h] ; 33 53 33 6164 pop si ; 5e 6165 xor si, word [bp+di+033h] ; 33 73 33 6166 mov word [bp+di], si ; 89 33 6167 mov byte [0b433h], AL ; a2 33 b4 6168 db 033h, 0c8h 6169 ; xor cx, ax ; 33 c8 6170 db 033h, 0d4h 6171 ; xor dx, sp ; 33 d4 6172 xor ax, word [bx-043cch] ; 33 87 34 bc 6173 xor AL, strict byte 0e3h ; 34 e3 6174 xor AL, strict byte 0f8h ; 34 f8 6175 xor AL, strict byte 035h ; 34 35 6264 6176 xor ax, 02430h ; 35 30 24 6265 6177 and sp, word [bp+si] ; 23 22 … … 6269 6181 add AL, strict byte 002h ; 04 02 6270 6182 add word [bx+si], ax ; 01 00 6271 jmp short 0327dh ; eb 35 6272 sbb byte [si], dh ; 18 34 6273 db 036h, 034h, 045h 6274 ; ss xor AL, strict byte 045h ; 36 34 45 6275 xor AL, strict byte 054h ; 34 54 6276 xor AL, strict byte 018h ; 34 18 6277 xor AL, strict byte 036h ; 34 36 6278 xor AL, strict byte 045h ; 34 45 6279 xor AL, strict byte 054h ; 34 54 6280 xor AL, strict byte 063h ; 34 63 6281 xor AL, strict byte 06fh ; 34 6f 6282 xor AL, strict byte 088h ; 34 88 6283 xor AL, strict byte 092h ; 34 92 6284 xor AL, strict byte 09ch ; 34 9c 6285 xor AL, strict byte 0a6h ; 34 a6 6286 db 034h 6287 _int10_func: ; 0xc3264 LB 0x38e 6183 mov sp, 0f135h ; bc 35 f1 6184 xor cx, word [bx] ; 33 0f 6185 xor AL, strict byte 01eh ; 34 1e 6186 xor AL, strict byte 02dh ; 34 2d 6187 xor AL, strict byte 0f1h ; 34 f1 6188 xor cx, word [bx] ; 33 0f 6189 xor AL, strict byte 01eh ; 34 1e 6190 xor AL, strict byte 02dh ; 34 2d 6191 xor AL, strict byte 03ch ; 34 3c 6192 xor AL, strict byte 048h ; 34 48 6193 xor AL, strict byte 061h ; 34 61 6194 xor AL, strict byte 066h ; 34 66 6195 xor AL, strict byte 06bh ; 34 6b 6196 xor AL, strict byte 070h ; 34 70 6197 xor AL, strict byte 00ah ; 34 0a 6198 or word [00204h], ax ; 09 06 04 02 6199 add word [bx+si], ax ; 01 00 6200 mov AL, strict byte 035h ; b0 35 6201 pop bx ; 5b 6202 xor ax, 03568h ; 35 68 35 6203 js short 032a8h ; 78 35 6204 mov byte [di], dh ; 88 35 6205 popfw ; 9d 6206 xor ax, 035b0h ; 35 b0 35 6207 mov AL, strict byte 035h ; b0 35 6208 _int10_func: ; 0xc327b LB 0x348 6288 6209 push bp ; 55 6289 6210 mov bp, sp ; 89 e5 … … 6295 6216 xor ah, ah ; 30 e4 6296 6217 cmp ax, strict word 0004fh ; 3d 4f 00 6297 jnbe short 032 d9h ; 77 626218 jnbe short 032f3h ; 77 65 6298 6219 push CS ; 0e 6299 6220 pop ES ; 07 … … 6303 6224 sal cx, 1 ; d1 e1 6304 6225 mov di, cx ; 89 cf 6305 mov ax, word [cs:di+0320ch] ; 2e 8b 85 0c 32 6306 mov cl, byte [bp+012h] ; 8a 4e 12 6307 jmp ax ; ff e0 6226 mov bx, word [cs:di+0320ch] ; 2e 8b 9d 0c 32 6227 mov ax, word [bp+012h] ; 8b 46 12 6228 xor ah, ah ; 30 e4 6229 mov dl, byte [bp+012h] ; 8a 56 12 6230 jmp bx ; ff e3 6308 6231 mov al, byte [bp+012h] ; 8a 46 12 6309 6232 xor ah, ah ; 30 e4 6310 call 01019h ; e8 82dd6233 call 01019h ; e8 66 dd 6311 6234 mov ax, word [bp+012h] ; 8b 46 12 6312 6235 and ax, strict word 0007fh ; 25 7f 00 6313 6236 cmp ax, strict word 00007h ; 3d 07 00 6314 je short 032 b7h ; 74 156237 je short 032d3h ; 74 15 6315 6238 cmp ax, strict word 00006h ; 3d 06 00 6316 je short 032 aeh ; 74 076239 je short 032cah ; 74 07 6317 6240 cmp ax, strict word 00005h ; 3d 05 00 6318 jbe short 032 b7h ; 76 0b6319 jmp short 032 c0h ; eb 126241 jbe short 032d3h ; 76 0b 6242 jmp short 032dch ; eb 12 6320 6243 mov ax, word [bp+012h] ; 8b 46 12 6321 6244 xor al, al ; 30 c0 6322 6245 or AL, strict byte 03fh ; 0c 3f 6323 jmp short 032 c7h ; eb 106246 jmp short 032e3h ; eb 10 6324 6247 mov ax, word [bp+012h] ; 8b 46 12 6325 6248 xor al, al ; 30 c0 6326 6249 or AL, strict byte 030h ; 0c 30 6327 jmp short 032 c7h ; eb 076250 jmp short 032e3h ; eb 07 6328 6251 mov ax, word [bp+012h] ; 8b 46 12 6329 6252 xor al, al ; 30 c0 6330 6253 or AL, strict byte 020h ; 0c 20 6331 6254 mov word [bp+012h], ax ; 89 46 12 6332 jmp short 032 d9h ; eb 0d6255 jmp short 032f3h ; eb 0b 6333 6256 mov al, byte [bp+010h] ; 8a 46 10 6334 xor ah, ah ; 30 e46335 6257 mov dx, ax ; 89 c2 6336 6258 mov al, byte [bp+011h] ; 8a 46 11 6337 call 00ddeh ; e8 05 db6338 jmp near 035 ebh ; e9 0f 036259 call 00ddeh ; e8 eb da 6260 jmp near 035bch ; e9 c6 02 6339 6261 mov dx, word [bp+00eh] ; 8b 56 0e 6340 6262 mov al, byte [bp+00dh] ; 8a 46 0d 6341 xor ah, ah ; 30 e4 6342 call 00e91h ; e8 aa db 6343 jmp short 032d9h ; eb f0 6263 call 00e91h ; e8 92 db 6264 jmp short 032f3h ; eb f2 6344 6265 lea bx, [bp+00eh] ; 8d 5e 0e 6345 6266 lea dx, [bp+010h] ; 8d 56 10 6346 6267 mov al, byte [bp+00dh] ; 8a 46 0d 6347 xor ah, ah ; 30 e4 6348 call 00a8ch ; e8 95 d7 6349 jmp short 032d9h ; eb e0 6350 xor ax, ax ; 31 c0 6268 call 00a8ch ; e8 7f d7 6269 jmp short 032f3h ; eb e4 6270 xor al, al ; 30 c0 6351 6271 mov word [bp+012h], ax ; 89 46 12 6352 6272 mov word [bp+00ch], ax ; 89 46 0c 6353 6273 mov word [bp+010h], ax ; 89 46 10 6354 6274 mov word [bp+00eh], ax ; 89 46 0e 6355 jmp short 032d9h ; eb d0 6356 mov al, cl ; 88 c8 6357 xor ah, ah ; 30 e4 6358 call 00f34h ; e8 24 dc 6359 jmp short 032d9h ; eb c7 6275 jmp short 032f3h ; eb d4 6276 mov al, dl ; 88 d0 6277 call 00f34h ; e8 10 dc 6278 jmp short 032f3h ; eb cd 6360 6279 mov ax, strict word 00001h ; b8 01 00 6361 6280 push ax ; 50 … … 6369 6288 mov al, byte [bp+010h] ; 8a 46 10 6370 6289 mov cx, ax ; 89 c1 6371 mov bl, byte [bp+011h] ; 8a 5e 11 6372 xor bh, bh ; 30 ff 6373 mov dl, byte [bp+00dh] ; 8a 56 0d 6374 xor dh, dh ; 30 f6 6375 mov al, byte [bp+012h] ; 8a 46 12 6376 mov byte [bp-006h], al ; 88 46 fa 6377 mov byte [bp-005h], ah ; 88 66 fb 6378 mov ax, word [bp-006h] ; 8b 46 fa 6379 call 01655h ; e8 13 e3 6380 jmp short 032d9h ; eb 95 6381 xor ax, ax ; 31 c0 6382 push ax ; 50 6383 mov ax, 000ffh ; b8 ff 00 6384 push ax ; 50 6385 mov al, byte [bp+00eh] ; 8a 46 0e 6386 xor ah, ah ; 30 e4 6387 push ax ; 50 6388 mov al, byte [bp+00fh] ; 8a 46 0f 6389 push ax ; 50 6390 mov al, byte [bp+010h] ; 8a 46 10 6391 mov cx, ax ; 89 c1 6392 mov bl, byte [bp+011h] ; 8a 5e 11 6393 xor bh, bh ; 30 ff 6290 mov al, byte [bp+011h] ; 8a 46 11 6291 mov bx, ax ; 89 c3 6394 6292 mov al, byte [bp+00dh] ; 8a 46 0d 6395 6293 mov dx, ax ; 89 c2 6396 6294 mov al, byte [bp+012h] ; 8a 46 12 6397 jmp short 0333fh ; eb d6 6295 call 01655h ; e8 08 e3 6296 jmp short 032f3h ; eb a4 6297 xor al, al ; 30 c0 6298 jmp short 03329h ; eb d6 6398 6299 lea dx, [bp+012h] ; 8d 56 12 6399 6300 mov al, byte [bp+00dh] ; 8a 46 0d 6400 xor ah, ah ; 30 e4 6401 call 00ad2h ; e8 5e d7 6402 jmp near 035ebh ; e9 74 02 6301 call 00ad2h ; e8 76 d7 6302 jmp short 032f3h ; eb 95 6403 6303 mov cx, word [bp+010h] ; 8b 4e 10 6404 6304 mov al, byte [bp+00ch] ; 8a 46 0c 6405 xor ah, ah ; 30 e46406 6305 mov bx, ax ; 89 c3 6407 6306 mov al, byte [bp+00dh] ; 8a 46 0d 6408 6307 mov dx, ax ; 89 c2 6409 6308 mov al, byte [bp+012h] ; 8a 46 12 6410 call 01ea9h ; e8 1deb6411 jmp near 035ebh ; e9 5c 026309 call 01ea9h ; e8 38 eb 6310 jmp short 032f3h ; eb 80 6412 6311 mov cx, word [bp+010h] ; 8b 4e 10 6413 6312 mov al, byte [bp+00ch] ; 8a 46 0c 6414 xor ah, ah ; 30 e46415 6313 mov bx, ax ; 89 c3 6416 6314 mov al, byte [bp+00dh] ; 8a 46 0d 6417 6315 mov dx, ax ; 89 c2 6418 6316 mov al, byte [bp+012h] ; 8a 46 12 6419 call 0203bh ; e8 97ec6420 jmp near 035 ebh ; e9 44026317 call 0203bh ; e8 b5 ec 6318 jmp near 035bch ; e9 33 02 6421 6319 mov cx, word [bp+00eh] ; 8b 4e 0e 6422 6320 mov bx, word [bp+010h] ; 8b 5e 10 6423 mov dl, byte [bp+012h] ; 8a 56 126424 xor dh, dh ; 30 f66321 mov al, dl ; 88 d0 6322 mov dx, ax ; 89 c2 6425 6323 mov al, byte [bp+00dh] ; 8a 46 0d 6426 xor ah, ah ; 30 e46427 6324 mov word [bp-006h], ax ; 89 46 fa 6428 6325 mov al, byte [bp-006h] ; 8a 46 fa 6429 call 021ceh ; e8 0eee6430 jmp near 035 ebh ; e9 28026326 call 021ceh ; e8 2f ee 6327 jmp near 035bch ; e9 1a 02 6431 6328 lea cx, [bp+012h] ; 8d 4e 12 6432 6329 mov bx, word [bp+00eh] ; 8b 5e 0e 6433 6330 mov dx, word [bp+010h] ; 8b 56 10 6434 6331 mov al, byte [bp+00dh] ; 8a 46 0d 6435 xor ah, ah ; 30 e4 6436 call 00bfch ; e8 28 d8 6437 jmp near 035ebh ; e9 14 02 6332 call 00bfch ; e8 4b d8 6333 jmp near 035bch ; e9 08 02 6438 6334 mov cx, strict word 00002h ; b9 02 00 6439 6335 mov al, byte [bp+00ch] ; 8a 46 0c 6440 xor ah, ah ; 30 e46441 6336 mov bx, ax ; 89 c3 6442 6337 mov dx, 000ffh ; ba ff 00 6443 6338 mov al, byte [bp+012h] ; 8a 46 12 6444 call 0234dh ; e8 63ef6445 jmp near 035 ebh ; e9 fe016339 call 0234dh ; e8 88 ef 6340 jmp near 035bch ; e9 f4 01 6446 6341 mov dx, word [bp+010h] ; 8b 56 10 6447 6342 mov ax, word [bp+00ch] ; 8b 46 0c 6448 call 00d3fh ; e8 49 d9 6449 jmp near 035ebh ; e9 f2 01 6450 mov ax, word [bp+012h] ; 8b 46 12 6451 xor ah, ah ; 30 e4 6343 call 00d3fh ; e8 6e d9 6344 jmp near 035bch ; e9 e8 01 6452 6345 cmp ax, strict word 00030h ; 3d 30 00 6453 jnbe short 034 6ch ; 77 696346 jnbe short 03445h ; 77 6c 6454 6347 push CS ; 0e 6455 6348 pop ES ; 07 … … 6459 6352 sal cx, 1 ; d1 e1 6460 6353 mov di, cx ; 89 cf 6461 mov ax, word [cs:di+03246h] ; 2e 8b 85 46 32 6462 jmp ax ; ff e0 6354 mov dx, word [cs:di+03246h] ; 2e 8b 95 46 32 6355 mov al, byte [bp+00ch] ; 8a 46 0c 6356 jmp dx ; ff e2 6463 6357 mov al, byte [bp+00dh] ; 8a 46 0d 6464 6358 xor ah, ah ; 30 e4 … … 6471 6365 mov bx, word [bp+008h] ; 8b 5e 08 6472 6366 mov dx, word [bp+016h] ; 8b 56 16 6473 call 026dfh ; e8 ab f2 6474 jmp short 0346ch ; eb 36 6367 call 026dfh ; e8 d2 f2 6368 jmp short 03445h ; eb 36 6369 mov dl, byte [bp+00ch] ; 8a 56 0c 6370 xor dh, dh ; 30 f6 6371 mov al, byte [bp+012h] ; 8a 46 12 6372 xor ah, ah ; 30 e4 6373 call 02764h ; e8 48 f3 6374 jmp short 03445h ; eb 27 6475 6375 mov al, byte [bp+00ch] ; 8a 46 0c 6476 6376 xor ah, ah ; 30 e4 6477 6377 mov dx, ax ; 89 c2 6478 6378 mov al, byte [bp+012h] ; 8a 46 12 6479 call 027 64h ; e8 21f36480 jmp short 034 6ch ; eb 276379 call 027dah ; e8 af f3 6380 jmp short 03445h ; eb 18 6481 6381 mov al, byte [bp+00ch] ; 8a 46 0c 6482 6382 xor ah, ah ; 30 e4 6483 6383 mov dx, ax ; 89 c2 6484 6384 mov al, byte [bp+012h] ; 8a 46 12 6485 call 027dah ; e8 88 f3 6486 jmp short 0346ch ; eb 18 6487 mov al, byte [bp+00ch] ; 8a 46 0c 6488 xor ah, ah ; 30 e4 6489 mov dx, ax ; 89 c2 6490 mov al, byte [bp+012h] ; 8a 46 12 6491 call 0284eh ; e8 ed f3 6492 jmp short 0346ch ; eb 09 6385 call 0284eh ; e8 14 f4 6386 jmp short 03445h ; eb 09 6493 6387 mov dx, word [bp+008h] ; 8b 56 08 6494 6388 mov ax, word [bp+016h] ; 8b 46 16 6495 call 028c2h ; e8 56f46496 jmp near 035 ebh ; e9 7c016389 call 028c2h ; e8 7d f4 6390 jmp near 035bch ; e9 74 01 6497 6391 mov al, byte [bp+00eh] ; 8a 46 0e 6498 xor ah, ah ; 30 e46499 6392 push ax ; 50 6500 6393 mov al, byte [bp+00ch] ; 8a 46 0c 6501 mov cx, ax ; 89 c16502 6394 mov bx, word [bp+010h] ; 8b 5e 10 6503 6395 mov dx, word [bp+008h] ; 8b 56 08 6504 mov ax, word [bp+016h] ; 8b 46 16 6505 call 028c7h ; e8 41 f4 6506 jmp short 0346ch ; eb e4 6507 mov al, byte [bp+00ch] ; 8a 46 0c 6508 xor ah, ah ; 30 e4 6509 call 028ceh ; e8 3e f4 6510 jmp short 0346ch ; eb da 6511 mov al, byte [bp+00ch] ; 8a 46 0c 6512 xor ah, ah ; 30 e4 6513 call 028d3h ; e8 39 f4 6514 jmp short 0346ch ; eb d0 6515 mov al, byte [bp+00ch] ; 8a 46 0c 6516 xor ah, ah ; 30 e4 6517 call 028d8h ; e8 34 f4 6518 jmp short 0346ch ; eb c6 6396 mov si, word [bp+016h] ; 8b 76 16 6397 mov cx, ax ; 89 c1 6398 mov ax, si ; 89 f0 6399 call 028c7h ; e8 68 f4 6400 jmp short 03445h ; eb e4 6401 call 028ceh ; e8 6a f4 6402 jmp short 03445h ; eb df 6403 call 028d3h ; e8 6a f4 6404 jmp short 03445h ; eb da 6405 call 028d8h ; e8 6a f4 6406 jmp short 03445h ; eb d5 6519 6407 lea ax, [bp+00eh] ; 8d 46 0e 6520 6408 push ax ; 50 6409 mov al, byte [bp+00dh] ; 8a 46 0d 6410 xor ah, ah ; 30 e4 6521 6411 lea cx, [bp+010h] ; 8d 4e 10 6522 6412 lea bx, [bp+008h] ; 8d 5e 08 6523 6413 lea dx, [bp+016h] ; 8d 56 16 6524 mov al, byte [bp+00dh] ; 8a 46 0d 6525 xor ah, ah ; 30 e4 6526 call 00b81h ; e8 c6 d6 6527 jmp short 0346ch ; eb af 6414 call 00b81h ; e8 fc d6 6415 jmp short 03445h ; eb be 6528 6416 mov ax, word [bp+00ch] ; 8b 46 0c 6529 6417 xor ah, ah ; 30 e4 6530 6418 cmp ax, strict word 00036h ; 3d 36 00 6531 je short 034 ebh ; 74 246419 je short 034b5h ; 74 24 6532 6420 cmp ax, strict word 00035h ; 3d 35 00 6533 je short 034 d6h ; 74 0a6421 je short 034a0h ; 74 0a 6534 6422 cmp ax, strict word 00020h ; 3d 20 00 6535 jne short 03 514h ; 75 436536 call 028ddh ; e8 09f46537 jmp short 03 514h ; eb 3e6538 mov al, cl ; 88 c86423 jne short 034e0h ; 75 45 6424 call 028ddh ; e8 3f f4 6425 jmp short 034e0h ; eb 40 6426 mov al, dl ; 88 d0 6539 6427 mov bx, word [bp+00eh] ; 8b 5e 0e 6540 6428 mov dx, word [bp+016h] ; 8b 56 16 6541 call 028e2h ; e8 01f46429 call 028e2h ; e8 37 f4 6542 6430 mov ax, word [bp+012h] ; 8b 46 12 6543 6431 xor al, al ; 30 c0 6544 6432 or AL, strict byte 012h ; 0c 12 6545 jmp near 032 c7h ; e9 dc fd6546 mov al, cl ; 88 c86547 call 028e7h ; e8 f7 f36548 jmp short 034 e1h ; eb ef6433 jmp near 032e3h ; e9 2e fe 6434 mov al, dl ; 88 d0 6435 call 028e7h ; e8 2d f4 6436 jmp short 034abh ; eb ef 6549 6437 push word [bp+008h] ; ff 76 08 6550 6438 push word [bp+016h] ; ff 76 16 6551 6439 mov al, byte [bp+00eh] ; 8a 46 0e 6552 xor ah, ah ; 30 e46553 6440 push ax ; 50 6554 6441 mov al, byte [bp+00fh] ; 8a 46 0f … … 6557 6444 mov bx, ax ; 89 c3 6558 6445 mov al, byte [bp+00dh] ; 8a 46 0d 6446 xor dh, dh ; 30 f6 6447 mov si, dx ; 89 d6 6448 mov cx, word [bp+010h] ; 8b 4e 10 6559 6449 mov dx, ax ; 89 c2 6560 mov al, cl ; 88 c8 6561 mov cx, word [bp+010h] ; 8b 4e 10 6562 call 028ech ; e8 d8 f3 6563 jmp near 035ebh ; e9 d4 00 6450 mov ax, si ; 89 f0 6451 call 028ech ; e8 0c f4 6452 jmp near 035bch ; e9 d9 00 6564 6453 mov bx, si ; 89 f3 6565 6454 mov dx, word [bp+016h] ; 8b 56 16 6566 6455 mov ax, word [bp+00ch] ; 8b 46 0c 6567 call 02982h ; e8 60f46456 call 02982h ; e8 94 f4 6568 6457 mov ax, word [bp+012h] ; 8b 46 12 6569 6458 xor al, al ; 30 c0 6570 6459 or AL, strict byte 01bh ; 0c 1b 6571 jmp near 032c7h ; e9 9b fd 6572 mov ax, word [bp+012h] ; 8b 46 12 6573 xor ah, ah ; 30 e4 6460 jmp near 032e3h ; e9 eb fd 6574 6461 cmp ax, strict word 00002h ; 3d 02 00 6575 je short 035 58h ; 74 226462 je short 0351fh ; 74 22 6576 6463 cmp ax, strict word 00001h ; 3d 01 00 6577 je short 035 4ah ; 74 0f6464 je short 03511h ; 74 0f 6578 6465 test ax, ax ; 85 c0 6579 jne short 035 64h ; 75 256466 jne short 0352bh ; 75 25 6580 6467 lea dx, [bp+00ch] ; 8d 56 0c 6581 6468 mov ax, word [bp+010h] ; 8b 46 10 6582 call 02aa7h ; e8 5ff56583 jmp short 035 64h ; eb 1a6469 call 02aa7h ; e8 98 f5 6470 jmp short 0352bh ; eb 1a 6584 6471 mov bx, word [bp+00ch] ; 8b 5e 0c 6585 6472 mov dx, word [bp+016h] ; 8b 56 16 6586 6473 mov ax, word [bp+010h] ; 8b 46 10 6587 call 02ab9h ; e8 63f56588 jmp short 035 64h ; eb 0c6474 call 02ab9h ; e8 9c f5 6475 jmp short 0352bh ; eb 0c 6589 6476 mov bx, word [bp+00ch] ; 8b 5e 0c 6590 6477 mov dx, word [bp+016h] ; 8b 56 16 6591 6478 mov ax, word [bp+010h] ; 8b 46 10 6592 call 02e3ah ; e8 d6 f86479 call 02e3ah ; e8 0f f9 6593 6480 mov ax, word [bp+012h] ; 8b 46 12 6594 6481 xor al, al ; 30 c0 6595 6482 or AL, strict byte 01ch ; 0c 1c 6596 jmp near 032 c7h ; e9 59fd6597 call 00 833h ; e8 c2d26483 jmp near 032e3h ; e9 ae fd 6484 call 007e8h ; e8 b0 d2 6598 6485 test ax, ax ; 85 c0 6599 je short 035 c8h ; 74 536486 je short 035aeh ; 74 72 6600 6487 mov ax, word [bp+012h] ; 8b 46 12 6601 6488 xor ah, ah ; 30 e4 6602 cmp ax, strict word 00002h ; 3d 02 006603 jc short 03592h ; 72 136604 jbe short 035b8h ; 76 376605 6489 cmp ax, strict word 0000ah ; 3d 0a 00 6606 j e short 035dfh ; 74 596607 cmp ax, strict word 00009h ; 3d 09 006608 je short 035dfh ; 74 546609 cmp ax, strict word 00004h ; 3d 04006610 je short 035cah ; 74 3a6611 jmp short 035dfh ; eb 4d6612 cmp ax, strict word 00001h ; 3d 01 006613 je short 035a8h ; 74 116614 test ax, ax ; 85 c06615 j ne short 035dfh ; 75 446490 jnbe short 035b0h ; 77 6a 6491 push CS ; 0e 6492 pop ES ; 07 6493 mov cx, strict word 00008h ; b9 08 00 6494 mov di, 03264h ; bf 64 32 6495 repne scasb ; f2 ae 6496 sal cx, 1 ; d1 e1 6497 mov di, cx ; 89 cf 6498 mov ax, word [cs:di+0326bh] ; 2e 8b 85 6b 32 6499 jmp ax ; ff e0 6616 6500 mov bx, si ; 89 f3 6617 6501 mov dx, word [bp+016h] ; 8b 56 16 6618 6502 lea ax, [bp+012h] ; 8d 46 12 6619 call 037 24h ; e8 7e016620 jmp short 035 ebh ; eb 436503 call 0375fh ; e8 f9 01 6504 jmp short 035bch ; eb 54 6621 6505 mov cx, si ; 89 f1 6622 6506 mov bx, word [bp+016h] ; 8b 5e 16 6623 6507 mov dx, word [bp+010h] ; 8b 56 10 6624 6508 lea ax, [bp+012h] ; 8d 46 12 6625 call 038 53h ; e8 9d 026626 jmp short 035 ebh ; eb 336509 call 0388eh ; e8 18 03 6510 jmp short 035bch ; eb 44 6627 6511 mov cx, si ; 89 f1 6628 6512 mov bx, word [bp+016h] ; 8b 5e 16 6629 6513 mov dx, word [bp+00ch] ; 8b 56 0c 6630 6514 lea ax, [bp+012h] ; 8d 46 12 6631 call 03910h ; e8 4a 03 6632 jmp short 035ebh ; eb 23 6633 jmp short 035e6h ; eb 1c 6515 call 0394bh ; e8 c5 03 6516 jmp short 035bch ; eb 34 6634 6517 lea ax, [bp+00ch] ; 8d 46 0c 6635 6518 push ax ; 50 … … 6638 6521 mov dx, word [bp+010h] ; 8b 56 10 6639 6522 lea ax, [bp+012h] ; 8d 46 12 6640 call 03af9h ; e8 1c 05 6641 jmp short 035ebh ; eb 0c 6523 call 03b34h ; e8 99 05 6524 jmp short 035bch ; eb 1f 6525 lea cx, [bp+00eh] ; 8d 4e 0e 6526 lea bx, [bp+010h] ; 8d 5e 10 6527 lea dx, [bp+00ch] ; 8d 56 0c 6528 lea ax, [bp+012h] ; 8d 46 12 6529 call 03bc1h ; e8 15 06 6530 jmp short 035bch ; eb 0e 6531 jmp short 035b7h ; eb 07 6642 6532 mov word [bp+012h], 00100h ; c7 46 12 00 01 6643 jmp short 035 ebh ; eb 056533 jmp short 035bch ; eb 05 6644 6534 mov word [bp+012h], 00100h ; c7 46 12 00 01 6645 6535 lea sp, [bp-004h] ; 8d 66 fc … … 6648 6538 pop bp ; 5d 6649 6539 retn ; c3 6650 dispi_set_xres_: ; 0xc35 f2LB 0x1f6540 dispi_set_xres_: ; 0xc35c3 LB 0x1f 6651 6541 push bp ; 55 6652 6542 mov bp, sp ; 89 e5 … … 6656 6546 mov ax, strict word 00001h ; b8 01 00 6657 6547 mov dx, 001ceh ; ba ce 01 6658 call 005 a0h ; e8 9ecf6548 call 00590h ; e8 bd cf 6659 6549 mov ax, bx ; 89 d8 6660 6550 mov dx, 001cfh ; ba cf 01 6661 call 005 a0h ; e8 96cf6551 call 00590h ; e8 b5 cf 6662 6552 lea sp, [bp-004h] ; 8d 66 fc 6663 6553 pop dx ; 5a … … 6665 6555 pop bp ; 5d 6666 6556 retn ; c3 6667 dispi_set_yres_: ; 0xc3 611LB 0x1f6557 dispi_set_yres_: ; 0xc35e2 LB 0x1f 6668 6558 push bp ; 55 6669 6559 mov bp, sp ; 89 e5 … … 6673 6563 mov ax, strict word 00002h ; b8 02 00 6674 6564 mov dx, 001ceh ; ba ce 01 6675 call 005 a0h ; e8 7fcf6565 call 00590h ; e8 9e cf 6676 6566 mov ax, bx ; 89 d8 6677 6567 mov dx, 001cfh ; ba cf 01 6678 call 005 a0h ; e8 77cf6568 call 00590h ; e8 96 cf 6679 6569 lea sp, [bp-004h] ; 8d 66 fc 6680 6570 pop dx ; 5a … … 6682 6572 pop bp ; 5d 6683 6573 retn ; c3 6684 dispi_set_bpp_: ; 0xc36 30LB 0x1f6574 dispi_set_bpp_: ; 0xc3601 LB 0x1f 6685 6575 push bp ; 55 6686 6576 mov bp, sp ; 89 e5 … … 6690 6580 mov ax, strict word 00003h ; b8 03 00 6691 6581 mov dx, 001ceh ; ba ce 01 6692 call 005 a0h ; e8 60cf6582 call 00590h ; e8 7f cf 6693 6583 mov ax, bx ; 89 d8 6694 6584 mov dx, 001cfh ; ba cf 01 6695 call 005 a0h ; e8 58cf6585 call 00590h ; e8 77 cf 6696 6586 lea sp, [bp-004h] ; 8d 66 fc 6697 6587 pop dx ; 5a … … 6699 6589 pop bp ; 5d 6700 6590 retn ; c3 6701 in_word_: ; 0xc364f LB 0x12 6591 dispi_get_bpp_: ; 0xc3620 LB 0x19 6592 push bp ; 55 6593 mov bp, sp ; 89 e5 6594 push dx ; 52 6595 mov ax, strict word 00003h ; b8 03 00 6596 mov dx, 001ceh ; ba ce 01 6597 call 00590h ; e8 63 cf 6598 mov dx, 001cfh ; ba cf 01 6599 call 00597h ; e8 64 cf 6600 lea sp, [bp-002h] ; 8d 66 fe 6601 pop dx ; 5a 6602 pop bp ; 5d 6603 retn ; c3 6604 dispi_set_virt_width_: ; 0xc3639 LB 0x1f 6605 push bp ; 55 6606 mov bp, sp ; 89 e5 6607 push bx ; 53 6608 push dx ; 52 6609 mov bx, ax ; 89 c3 6610 mov ax, strict word 00006h ; b8 06 00 6611 mov dx, 001ceh ; ba ce 01 6612 call 00590h ; e8 47 cf 6613 mov ax, bx ; 89 d8 6614 mov dx, 001cfh ; ba cf 01 6615 call 00590h ; e8 3f cf 6616 lea sp, [bp-004h] ; 8d 66 fc 6617 pop dx ; 5a 6618 pop bx ; 5b 6619 pop bp ; 5d 6620 retn ; c3 6621 dispi_get_virt_width_: ; 0xc3658 LB 0x19 6622 push bp ; 55 6623 mov bp, sp ; 89 e5 6624 push dx ; 52 6625 mov ax, strict word 00006h ; b8 06 00 6626 mov dx, 001ceh ; ba ce 01 6627 call 00590h ; e8 2b cf 6628 mov dx, 001cfh ; ba cf 01 6629 call 00597h ; e8 2c cf 6630 lea sp, [bp-002h] ; 8d 66 fe 6631 pop dx ; 5a 6632 pop bp ; 5d 6633 retn ; c3 6634 dispi_get_virt_height_: ; 0xc3671 LB 0x19 6635 push bp ; 55 6636 mov bp, sp ; 89 e5 6637 push dx ; 52 6638 mov ax, strict word 00007h ; b8 07 00 6639 mov dx, 001ceh ; ba ce 01 6640 call 00590h ; e8 12 cf 6641 mov dx, 001cfh ; ba cf 01 6642 call 00597h ; e8 13 cf 6643 lea sp, [bp-002h] ; 8d 66 fe 6644 pop dx ; 5a 6645 pop bp ; 5d 6646 retn ; c3 6647 in_word_: ; 0xc368a LB 0x12 6702 6648 push bp ; 55 6703 6649 mov bp, sp ; 89 e5 … … 6712 6658 pop bp ; 5d 6713 6659 retn ; c3 6714 in_byte_: ; 0xc36 61LB 0x146660 in_byte_: ; 0xc369c LB 0x14 6715 6661 push bp ; 55 6716 6662 mov bp, sp ; 89 e5 … … 6727 6673 pop bp ; 5d 6728 6674 retn ; c3 6729 dispi_get_id_: ; 0xc36 75LB 0x146675 dispi_get_id_: ; 0xc36b0 LB 0x14 6730 6676 push bp ; 55 6731 6677 mov bp, sp ; 89 e5 … … 6740 6686 pop bp ; 5d 6741 6687 retn ; c3 6742 dispi_set_id_: ; 0xc36 89LB 0x1a6688 dispi_set_id_: ; 0xc36c4 LB 0x1a 6743 6689 push bp ; 55 6744 6690 mov bp, sp ; 89 e5 … … 6757 6703 pop bp ; 5d 6758 6704 retn ; c3 6759 vbe_init_: ; 0xc36 a3LB 0x2c6705 vbe_init_: ; 0xc36de LB 0x2c 6760 6706 push bp ; 55 6761 6707 mov bp, sp ; 89 e5 … … 6763 6709 push dx ; 52 6764 6710 mov ax, 0b0c0h ; b8 c0 b0 6765 call 036 89h ; e8 db ff6766 call 036 75h ; e8 c4 ff6711 call 036c4h ; e8 db ff 6712 call 036b0h ; e8 c4 ff 6767 6713 cmp ax, 0b0c0h ; 3d c0 b0 6768 jne short 03 6c8h ; 75 126714 jne short 03703h ; 75 12 6769 6715 mov bx, strict word 00001h ; bb 01 00 6770 6716 mov dx, 000b9h ; ba b9 00 6771 6717 mov ax, strict word 00040h ; b8 40 00 6772 call 031a9h ; e8 e7fa6718 call 031a9h ; e8 ac fa 6773 6719 mov ax, 0b0c4h ; b8 c4 b0 6774 call 036 89h ; e8 c1 ff6720 call 036c4h ; e8 c1 ff 6775 6721 lea sp, [bp-004h] ; 8d 66 fc 6776 6722 pop dx ; 5a … … 6778 6724 pop bp ; 5d 6779 6725 retn ; c3 6780 mode_info_find_mode_: ; 0xc3 6cfLB 0x556726 mode_info_find_mode_: ; 0xc370a LB 0x55 6781 6727 push bp ; 55 6782 6728 mov bp, sp ; 89 e5 … … 6789 6735 xor dx, dx ; 31 d2 6790 6736 mov ax, 003b6h ; b8 b6 03 6791 call 036 4fh ; e8 6d ff6737 call 0368ah ; e8 6d ff 6792 6738 cmp ax, 077cch ; 3d cc 77 6793 jne short 037 19h ; 75 326739 jne short 03754h ; 75 32 6794 6740 mov bx, strict word 00004h ; bb 04 00 6795 6741 mov dx, bx ; 89 da 6796 6742 mov ax, 003b6h ; b8 b6 03 6797 call 036 4fh ; e8 5d ff6743 call 0368ah ; e8 5d ff 6798 6744 mov cx, ax ; 89 c1 6799 6745 cmp cx, strict byte 0ffffh ; 83 f9 ff 6800 je short 037 19h ; 74 206746 je short 03754h ; 74 20 6801 6747 lea dx, [bx+002h] ; 8d 57 02 6802 6748 mov ax, 003b6h ; b8 b6 03 6803 call 036 4fh ; e8 4d ff6749 call 0368ah ; e8 4d ff 6804 6750 lea dx, [bx+044h] ; 8d 57 44 6805 6751 cmp cx, di ; 39 f9 6806 jne short 037 15h ; 75 0c6752 jne short 03750h ; 75 0c 6807 6753 test si, si ; 85 f6 6808 jne short 037 11h ; 75 046754 jne short 0374ch ; 75 04 6809 6755 mov ax, bx ; 89 d8 6810 jmp short 037 1bh ; eb 0a6756 jmp short 03756h ; eb 0a 6811 6757 test AL, strict byte 080h ; a8 80 6812 jne short 037 0dh ; 75 f86758 jne short 03748h ; 75 f8 6813 6759 mov bx, dx ; 89 d3 6814 jmp short 03 6ech ; eb d36760 jmp short 03727h ; eb d3 6815 6761 xor ax, ax ; 31 c0 6816 6762 lea sp, [bp-008h] ; 8d 66 f8 … … 6821 6767 pop bp ; 5d 6822 6768 retn ; c3 6823 vbe_biosfn_return_controller_information_: ; 0xc37 24LB 0x12f6769 vbe_biosfn_return_controller_information_: ; 0xc375f LB 0x12f 6824 6770 push bp ; 55 6825 6771 mov bp, sp ; 89 e5 … … 6832 6778 mov word [bp-00ah], bx ; 89 5e f6 6833 6779 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6834 call 005 eah ; e8 aece6780 call 005dah ; e8 63 ce 6835 6781 mov word [bp-010h], ax ; 89 46 f0 6836 6782 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6838 6784 xor dx, dx ; 31 d2 6839 6785 mov ax, 003b6h ; b8 b6 03 6840 call 036 4fh ; e8 02 ff6786 call 0368ah ; e8 02 ff 6841 6787 cmp ax, 077cch ; 3d cc 77 6842 je short 037 5ch ; 74 0a6788 je short 03797h ; 74 0a 6843 6789 push SS ; 16 6844 6790 pop ES ; 07 6845 6791 mov word [es:si], 00100h ; 26 c7 04 00 01 6846 jmp near 038 4bh ; e9 ef 006792 jmp near 03886h ; e9 ef 00 6847 6793 mov cx, strict word 00004h ; b9 04 00 6848 6794 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6849 6795 mov es, [bp-008h] ; 8e 46 f8 6850 6796 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6851 jne short 037 76h ; 75 076797 jne short 037b1h ; 75 07 6852 6798 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6853 je short 037 85h ; 74 0f6799 je short 037c0h ; 74 0f 6854 6800 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6855 jne short 037 8ah ; 75 0c6801 jne short 037c5h ; 75 0c 6856 6802 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6857 jne short 037 8ah ; 75 056803 jne short 037c5h ; 75 05 6858 6804 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6859 6805 mov es, [bp-008h] ; 8e 46 f8 … … 6871 6817 mov dx, strict word 0ffffh ; ba ff ff 6872 6818 mov ax, 003b6h ; b8 b6 03 6873 call 036 4fh ; e8 84 fe6819 call 0368ah ; e8 84 fe 6874 6820 mov es, [bp-008h] ; 8e 46 f8 6875 6821 mov word [es:bx+012h], ax ; 26 89 47 12 6876 6822 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6877 je short 03 7fch ; 74 246823 je short 03837h ; 74 24 6878 6824 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6879 6825 mov word [es:bx+016h], 07c73h ; 26 c7 47 16 73 7c … … 6886 6832 add dx, strict byte 0001bh ; 83 c2 1b 6887 6833 mov ax, 003b6h ; b8 b6 03 6888 call 036 61h ; e8 5a fe6834 call 0369ch ; e8 5a fe 6889 6835 xor ah, ah ; 30 e4 6890 6836 cmp ax, word [bp-010h] ; 3b 46 f0 6891 jnbe short 038 27h ; 77 196837 jnbe short 03862h ; 77 19 6892 6838 mov dx, cx ; 89 ca 6893 6839 mov ax, 003b6h ; b8 b6 03 6894 call 036 4fh ; e8 39 fe6840 call 0368ah ; e8 39 fe 6895 6841 mov bx, ax ; 89 c3 6896 6842 mov dx, word [bp-00ah] ; 8b 56 f6 6897 6843 add dx, word [bp-00ch] ; 03 56 f4 6898 6844 mov ax, di ; 89 f8 6899 call 031c5h ; e8 a2f96845 call 031c5h ; e8 67 f9 6900 6846 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6901 6847 add cx, strict byte 00044h ; 83 c1 44 6902 6848 mov dx, cx ; 89 ca 6903 6849 mov ax, 003b6h ; b8 b6 03 6904 call 036 4fh ; e8 1d fe6850 call 0368ah ; e8 1d fe 6905 6851 mov bx, ax ; 89 c3 6906 6852 cmp ax, strict word 0ffffh ; 3d ff ff 6907 jne short 03 7fch ; 75 c36853 jne short 03837h ; 75 c3 6908 6854 mov dx, word [bp-00ah] ; 8b 56 f6 6909 6855 add dx, word [bp-00ch] ; 03 56 f4 6910 6856 mov ax, di ; 89 f8 6911 call 031c5h ; e8 81f96857 call 031c5h ; e8 46 f9 6912 6858 push SS ; 16 6913 6859 pop ES ; 07 … … 6919 6865 pop bp ; 5d 6920 6866 retn ; c3 6921 vbe_biosfn_return_mode_information_: ; 0xc38 53LB 0xbd6867 vbe_biosfn_return_mode_information_: ; 0xc388e LB 0xbd 6922 6868 push bp ; 55 6923 6869 mov bp, sp ; 89 e5 … … 6931 6877 mov word [bp-006h], cx ; 89 4e fa 6932 6878 test dh, 040h ; f6 c6 40 6933 je short 038 6ch ; 74 056879 je short 038a7h ; 74 05 6934 6880 mov dx, strict word 00001h ; ba 01 00 6935 jmp short 038 6eh ; eb 026881 jmp short 038a9h ; eb 02 6936 6882 xor dx, dx ; 31 d2 6937 6883 and ah, 001h ; 80 e4 01 6938 call 03 6cfh ; e8 5b fe6884 call 0370ah ; e8 5b fe 6939 6885 mov word [bp-008h], ax ; 89 46 f8 6940 6886 test ax, ax ; 85 c0 6941 je short 038 b1h ; 74 366887 je short 038ech ; 74 36 6942 6888 mov cx, 00100h ; b9 00 01 6943 6889 xor ax, ax ; 31 c0 … … 6945 6891 mov es, si ; 8e c6 6946 6892 cld ; fc 6947 jcxz 038 8ah ; e3 026893 jcxz 038c5h ; e3 02 6948 6894 rep stosb ; f3 aa 6949 6895 xor cx, cx ; 31 c9 6950 jmp short 038 93h ; eb 056896 jmp short 038ceh ; eb 05 6951 6897 cmp cx, strict byte 00042h ; 83 f9 42 6952 jnc short 038 b3h ; 73 206898 jnc short 038eeh ; 73 20 6953 6899 mov dx, word [bp-008h] ; 8b 56 f8 6954 6900 inc dx ; 42 … … 6956 6902 add dx, cx ; 01 ca 6957 6903 mov ax, 003b6h ; b8 b6 03 6958 call 036 61h ; e8 c1 fd6904 call 0369ch ; e8 c1 fd 6959 6905 mov bl, al ; 88 c3 6960 6906 xor bh, bh ; 30 ff … … 6962 6908 add dx, cx ; 01 ca 6963 6909 mov ax, si ; 89 f0 6964 call 031a9h ; e8 fbf86965 inc cx ; 41 6966 jmp short 038 8eh ; eb dd6967 jmp short 03 8feh ; eb 4b6910 call 031a9h ; e8 c0 f8 6911 inc cx ; 41 6912 jmp short 038c9h ; eb dd 6913 jmp short 03939h ; eb 4b 6968 6914 mov dx, word [bp-006h] ; 8b 56 fa 6969 6915 inc dx ; 42 6970 6916 inc dx ; 42 6971 6917 mov ax, si ; 89 f0 6972 call 0319bh ; e8 def86918 call 0319bh ; e8 a3 f8 6973 6919 test AL, strict byte 001h ; a8 01 6974 je short 03 8ddh ; 74 1c6920 je short 03918h ; 74 1c 6975 6921 mov dx, word [bp-006h] ; 8b 56 fa 6976 6922 add dx, strict byte 0000ch ; 83 c2 0c 6977 mov bx, 006 5ch ; bb 5c 066923 mov bx, 0064ch ; bb 4c 06 6978 6924 mov ax, si ; 89 f0 6979 call 031c5h ; e8 f6f86925 call 031c5h ; e8 bb f8 6980 6926 mov dx, word [bp-006h] ; 8b 56 fa 6981 6927 add dx, strict byte 0000eh ; 83 c2 0e 6982 6928 mov bx, 0c000h ; bb 00 c0 6983 6929 mov ax, si ; 89 f0 6984 call 031c5h ; e8 e8f86930 call 031c5h ; e8 ad f8 6985 6931 mov ax, strict word 0000bh ; b8 0b 00 6986 6932 mov dx, 001ceh ; ba ce 01 6987 call 005 a0h ; e8 bacc6933 call 00590h ; e8 6f cc 6988 6934 mov dx, 001cfh ; ba cf 01 6989 call 005 a7h ; e8 bbcc6935 call 00597h ; e8 70 cc 6990 6936 mov dx, word [bp-006h] ; 8b 56 fa 6991 6937 add dx, strict byte 0002ah ; 83 c2 2a 6992 6938 mov bx, ax ; 89 c3 6993 6939 mov ax, si ; 89 f0 6994 call 031c5h ; e8 ccf86940 call 031c5h ; e8 91 f8 6995 6941 mov ax, strict word 0004fh ; b8 4f 00 6996 jmp short 039 01h ; eb 036942 jmp short 0393ch ; eb 03 6997 6943 mov ax, 00100h ; b8 00 01 6998 6944 push SS ; 16 … … 7005 6951 pop bp ; 5d 7006 6952 retn ; c3 7007 vbe_biosfn_set_mode_: ; 0xc39 10LB 0xeb6953 vbe_biosfn_set_mode_: ; 0xc394b LB 0xeb 7008 6954 push bp ; 55 7009 6955 mov bp, sp ; 89 e5 … … 7014 6960 mov word [bp-00ah], dx ; 89 56 f6 7015 6961 test byte [bp-009h], 040h ; f6 46 f7 40 7016 je short 039 28h ; 74 056962 je short 03963h ; 74 05 7017 6963 mov ax, strict word 00001h ; b8 01 00 7018 jmp short 039 2ah ; eb 026964 jmp short 03965h ; eb 02 7019 6965 xor ax, ax ; 31 c0 7020 6966 mov dx, ax ; 89 c2 7021 6967 test ax, ax ; 85 c0 7022 je short 039 33h ; 74 036968 je short 0396eh ; 74 03 7023 6969 mov ax, strict word 00040h ; b8 40 00 7024 6970 mov byte [bp-006h], al ; 88 46 fa 7025 6971 test byte [bp-009h], 080h ; f6 46 f7 80 7026 je short 039 41h ; 74 056972 je short 0397ch ; 74 05 7027 6973 mov ax, 00080h ; b8 80 00 7028 jmp short 039 43h ; eb 026974 jmp short 0397eh ; eb 02 7029 6975 xor ax, ax ; 31 c0 7030 6976 mov byte [bp-008h], al ; 88 46 f8 7031 6977 and byte [bp-009h], 001h ; 80 66 f7 01 7032 6978 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 7033 jnc short 039 64h ; 73 136979 jnc short 0399fh ; 73 13 7034 6980 xor ax, ax ; 31 c0 7035 call 006 10h ; e8 bacc6981 call 00600h ; e8 6f cc 7036 6982 mov al, byte [bp-00ah] ; 8a 46 f6 7037 6983 xor ah, ah ; 30 e4 7038 call 01019h ; e8 bbd66984 call 01019h ; e8 80 d6 7039 6985 mov ax, strict word 0004fh ; b8 4f 00 7040 jmp near 03 9f1h ; e9 8d 006986 jmp near 03a2ch ; e9 8d 00 7041 6987 mov ax, word [bp-00ah] ; 8b 46 f6 7042 call 03 6cfh ; e8 65 fd6988 call 0370ah ; e8 65 fd 7043 6989 mov bx, ax ; 89 c3 7044 6990 test ax, ax ; 85 c0 7045 jne short 039 73h ; 75 037046 jmp near 03 9eeh ; e9 7b 006991 jne short 039aeh ; 75 03 6992 jmp near 03a29h ; e9 7b 00 7047 6993 lea dx, [bx+014h] ; 8d 57 14 7048 6994 mov ax, 003b6h ; b8 b6 03 7049 call 036 4fh ; e8 d3 fc6995 call 0368ah ; e8 d3 fc 7050 6996 mov cx, ax ; 89 c1 7051 6997 lea dx, [bx+016h] ; 8d 57 16 7052 6998 mov ax, 003b6h ; b8 b6 03 7053 call 036 4fh ; e8 c8 fc6999 call 0368ah ; e8 c8 fc 7054 7000 mov di, ax ; 89 c7 7055 7001 lea dx, [bx+01bh] ; 8d 57 1b 7056 7002 mov ax, 003b6h ; b8 b6 03 7057 call 036 61h ; e8 cf fc7003 call 0369ch ; e8 cf fc 7058 7004 mov bl, al ; 88 c3 7059 7005 mov dl, al ; 88 c2 7060 7006 xor ax, ax ; 31 c0 7061 call 006 10h ; e8 75cc7007 call 00600h ; e8 2a cc 7062 7008 cmp bl, 004h ; 80 fb 04 7063 jne short 039 a6h ; 75 067009 jne short 039e1h ; 75 06 7064 7010 mov ax, strict word 0006ah ; b8 6a 00 7065 call 01019h ; e8 73d67011 call 01019h ; e8 38 d6 7066 7012 mov al, dl ; 88 d0 7067 7013 xor ah, ah ; 30 e4 7068 call 036 30h ; e8 83fc7014 call 03601h ; e8 19 fc 7069 7015 mov ax, cx ; 89 c8 7070 call 035 f2h ; e8 40 fc7016 call 035c3h ; e8 d6 fb 7071 7017 mov ax, di ; 89 f8 7072 call 03 611h ; e8 5a fc7018 call 035e2h ; e8 f0 fb 7073 7019 xor ax, ax ; 31 c0 7074 call 006 36h ; e8 7acc7020 call 00626h ; e8 2f cc 7075 7021 mov al, byte [bp-008h] ; 8a 46 f8 7076 7022 or AL, strict byte 001h ; 0c 01 … … 7078 7024 mov dl, byte [bp-006h] ; 8a 56 fa 7079 7025 or al, dl ; 08 d0 7080 call 006 10h ; e8 45 cc7081 call 00 743h ; e8 75 cd7026 call 00600h ; e8 fa cb 7027 call 006f8h ; e8 ef cc 7082 7028 mov bx, word [bp-00ah] ; 8b 5e f6 7083 7029 mov dx, 000bah ; ba ba 00 7084 7030 mov ax, strict word 00040h ; b8 40 00 7085 call 031c5h ; e8 ebf77031 call 031c5h ; e8 b0 f7 7086 7032 mov bl, byte [bp-008h] ; 8a 5e f8 7087 7033 or bl, 060h ; 80 cb 60 … … 7089 7035 mov dx, 00087h ; ba 87 00 7090 7036 mov ax, strict word 00040h ; b8 40 00 7091 call 031a9h ; e8 bef77092 jmp near 039 5eh ; e9 70 ff7037 call 031a9h ; e8 83 f7 7038 jmp near 03999h ; e9 70 ff 7093 7039 mov ax, 00100h ; b8 00 01 7094 7040 mov word [ss:si], ax ; 36 89 04 … … 7098 7044 pop bp ; 5d 7099 7045 retn ; c3 7100 vbe_biosfn_read_video_state_size_: ; 0xc3 9fbLB 0x87046 vbe_biosfn_read_video_state_size_: ; 0xc3a36 LB 0x8 7101 7047 push bp ; 55 7102 7048 mov bp, sp ; 89 e5 … … 7104 7050 pop bp ; 5d 7105 7051 retn ; c3 7106 vbe_biosfn_save_video_state_: ; 0xc3a 03LB 0x5b7052 vbe_biosfn_save_video_state_: ; 0xc3a3e LB 0x5b 7107 7053 push bp ; 55 7108 7054 mov bp, sp ; 89 e5 … … 7123 7069 mov dx, cx ; 89 ca 7124 7070 mov ax, di ; 89 f8 7125 call 031c5h ; e8 9ff77071 call 031c5h ; e8 64 f7 7126 7072 inc cx ; 41 7127 7073 inc cx ; 41 7128 7074 test byte [bp-00ah], 001h ; f6 46 f6 01 7129 je short 03a 55h ; 74 277075 je short 03a90h ; 74 27 7130 7076 mov si, strict word 00001h ; be 01 00 7131 jmp short 03a 38h ; eb 057077 jmp short 03a73h ; eb 05 7132 7078 cmp si, strict byte 00009h ; 83 fe 09 7133 jnbe short 03a 55h ; 77 1d7079 jnbe short 03a90h ; 77 1d 7134 7080 cmp si, strict byte 00004h ; 83 fe 04 7135 je short 03a 52h ; 74 157081 je short 03a8dh ; 74 15 7136 7082 mov ax, si ; 89 f0 7137 7083 mov dx, 001ceh ; ba ce 01 … … 7142 7088 mov dx, cx ; 89 ca 7143 7089 mov ax, di ; 89 f8 7144 call 031c5h ; e8 75f77090 call 031c5h ; e8 3a f7 7145 7091 inc cx ; 41 7146 7092 inc cx ; 41 7147 7093 inc si ; 46 7148 jmp short 03a 33h ; eb de7094 jmp short 03a6eh ; eb de 7149 7095 lea sp, [bp-008h] ; 8d 66 f8 7150 7096 pop di ; 5f … … 7154 7100 pop bp ; 5d 7155 7101 retn ; c3 7156 vbe_biosfn_restore_video_state_: ; 0xc3a 5eLB 0x9b7102 vbe_biosfn_restore_video_state_: ; 0xc3a99 LB 0x9b 7157 7103 push bp ; 55 7158 7104 mov bp, sp ; 89 e5 … … 7163 7109 mov cx, ax ; 89 c1 7164 7110 mov bx, dx ; 89 d3 7165 call 031b7h ; e8 4bf77111 call 031b7h ; e8 10 f7 7166 7112 mov word [bp-008h], ax ; 89 46 f8 7167 7113 inc bx ; 43 7168 7114 inc bx ; 43 7169 7115 test byte [bp-008h], 001h ; f6 46 f8 01 7170 jne short 03a 87h ; 75 107116 jne short 03ac2h ; 75 10 7171 7117 mov ax, strict word 00004h ; b8 04 00 7172 7118 mov dx, 001ceh ; ba ce 01 … … 7175 7121 mov dx, 001cfh ; ba cf 01 7176 7122 out DX, ax ; ef 7177 jmp short 03 af1h ; eb 6a7123 jmp short 03b2ch ; eb 6a 7178 7124 mov ax, strict word 00001h ; b8 01 00 7179 7125 mov dx, 001ceh ; ba ce 01 … … 7181 7127 mov dx, bx ; 89 da 7182 7128 mov ax, cx ; 89 c8 7183 call 031b7h ; e8 22 f77129 call 031b7h ; e8 e7 f6 7184 7130 mov dx, 001cfh ; ba cf 01 7185 7131 out DX, ax ; ef … … 7191 7137 mov dx, bx ; 89 da 7192 7138 mov ax, cx ; 89 c8 7193 call 031b7h ; e8 0e f77139 call 031b7h ; e8 d3 f6 7194 7140 mov dx, 001cfh ; ba cf 01 7195 7141 out DX, ax ; ef … … 7201 7147 mov dx, bx ; 89 da 7202 7148 mov ax, cx ; 89 c8 7203 call 031b7h ; e8 faf67149 call 031b7h ; e8 bf f6 7204 7150 mov dx, 001cfh ; ba cf 01 7205 7151 out DX, ax ; ef … … 7213 7159 out DX, ax ; ef 7214 7160 mov si, strict word 00005h ; be 05 00 7215 jmp short 03 adbh ; eb 057161 jmp short 03b16h ; eb 05 7216 7162 cmp si, strict byte 00009h ; 83 fe 09 7217 jnbe short 03 af1h ; 77 167163 jnbe short 03b2ch ; 77 16 7218 7164 mov ax, si ; 89 f0 7219 7165 mov dx, 001ceh ; ba ce 01 … … 7221 7167 mov dx, bx ; 89 da 7222 7168 mov ax, cx ; 89 c8 7223 call 031b7h ; e8 cff67169 call 031b7h ; e8 94 f6 7224 7170 mov dx, 001cfh ; ba cf 01 7225 7171 out DX, ax ; ef … … 7227 7173 inc bx ; 43 7228 7174 inc si ; 46 7229 jmp short 03 ad6h ; eb e57175 jmp short 03b11h ; eb e5 7230 7176 lea sp, [bp-006h] ; 8d 66 fa 7231 7177 pop si ; 5e … … 7234 7180 pop bp ; 5d 7235 7181 retn ; c3 7236 vbe_biosfn_save_restore_state_: ; 0xc3 af9LB 0x8d7182 vbe_biosfn_save_restore_state_: ; 0xc3b34 LB 0x8d 7237 7183 push bp ; 55 7238 7184 mov bp, sp ; 89 e5 … … 7247 7193 xor ah, ah ; 30 e4 7248 7194 cmp ax, strict word 00002h ; 3d 02 00 7249 je short 03b 59h ; 74 467195 je short 03b94h ; 74 46 7250 7196 cmp ax, strict word 00001h ; 3d 01 00 7251 je short 03b 3dh ; 74 257197 je short 03b78h ; 74 25 7252 7198 test ax, ax ; 85 c0 7253 jne short 03b 75h ; 75 597199 jne short 03bb0h ; 75 59 7254 7200 mov ax, word [bp-006h] ; 8b 46 fa 7255 call 02a84h ; e8 62ef7201 call 02a84h ; e8 27 ef 7256 7202 mov cx, ax ; 89 c1 7257 7203 test byte [bp-006h], 008h ; f6 46 fa 08 7258 je short 03b 2fh ; 74 057259 call 03 9fbh ; e8 ce fe7204 je short 03b6ah ; 74 05 7205 call 03a36h ; e8 ce fe 7260 7206 add ax, cx ; 01 c8 7261 7207 add ax, strict word 0003fh ; 05 3f 00 … … 7265 7211 pop ES ; 07 7266 7212 mov word [es:bx], ax ; 26 89 07 7267 jmp short 03b 78h ; eb 3b7213 jmp short 03bb3h ; eb 3b 7268 7214 push SS ; 16 7269 7215 pop ES ; 07 … … 7271 7217 mov dx, cx ; 89 ca 7272 7218 mov ax, word [bp-006h] ; 8b 46 fa 7273 call 02ab9h ; e8 6fef7219 call 02ab9h ; e8 34 ef 7274 7220 test byte [bp-006h], 008h ; f6 46 fa 08 7275 je short 03b 78h ; 74 287221 je short 03bb3h ; 74 28 7276 7222 mov dx, ax ; 89 c2 7277 7223 mov ax, cx ; 89 c8 7278 call 03a 03h ; e8 ac fe7279 jmp short 03b 78h ; eb 1f7224 call 03a3eh ; e8 ac fe 7225 jmp short 03bb3h ; eb 1f 7280 7226 push SS ; 16 7281 7227 pop ES ; 07 … … 7283 7229 mov dx, cx ; 89 ca 7284 7230 mov ax, word [bp-006h] ; 8b 46 fa 7285 call 02e3ah ; e8 d4f27231 call 02e3ah ; e8 99 f2 7286 7232 test byte [bp-006h], 008h ; f6 46 fa 08 7287 je short 03b 78h ; 74 0c7233 je short 03bb3h ; 74 0c 7288 7234 mov dx, ax ; 89 c2 7289 7235 mov ax, cx ; 89 c8 7290 call 03a 5eh ; e8 eb fe7291 jmp short 03b 78h ; eb 037236 call 03a99h ; e8 eb fe 7237 jmp short 03bb3h ; eb 03 7292 7238 mov di, 00100h ; bf 00 01 7293 7239 push SS ; 16 … … 7299 7245 pop bp ; 5d 7300 7246 retn 00002h ; c2 02 00 7247 vbe_biosfn_get_set_scanline_length_: ; 0xc3bc1 LB 0xb2 7248 push bp ; 55 7249 mov bp, sp ; 89 e5 7250 push si ; 56 7251 push di ; 57 7252 sub sp, strict byte 00006h ; 83 ec 06 7253 push ax ; 50 7254 mov si, dx ; 89 d6 7255 mov di, bx ; 89 df 7256 mov word [bp-008h], cx ; 89 4e f8 7257 call 03620h ; e8 4c fa 7258 mov ch, al ; 88 c5 7259 mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 7260 push SS ; 16 7261 pop ES ; 07 7262 mov bx, word [es:di] ; 26 8b 1d 7263 mov al, byte [es:si] ; 26 8a 04 7264 cmp AL, strict byte 002h ; 3c 02 7265 je short 03bf1h ; 74 0a 7266 cmp AL, strict byte 001h ; 3c 01 7267 je short 03c1ah ; 74 2f 7268 test al, al ; 84 c0 7269 je short 03c15h ; 74 26 7270 jmp short 03c5ch ; eb 6b 7271 cmp ch, 004h ; 80 fd 04 7272 jne short 03bfch ; 75 06 7273 mov CL, strict byte 003h ; b1 03 7274 sal bx, CL ; d3 e3 7275 jmp short 03c15h ; eb 19 7276 mov al, ch ; 88 e8 7277 xor ah, ah ; 30 e4 7278 cwd ; 99 7279 mov CL, strict byte 003h ; b1 03 7280 sal dx, CL ; d3 e2 7281 db 01bh, 0c2h 7282 ; sbb ax, dx ; 1b c2 7283 sar ax, CL ; d3 f8 7284 mov word [bp-00ah], ax ; 89 46 f6 7285 mov ax, bx ; 89 d8 7286 xor dx, dx ; 31 d2 7287 div word [bp-00ah] ; f7 76 f6 7288 mov bx, ax ; 89 c3 7289 mov ax, bx ; 89 d8 7290 call 03639h ; e8 1f fa 7291 call 03658h ; e8 3b fa 7292 mov bx, ax ; 89 c3 7293 push SS ; 16 7294 pop ES ; 07 7295 mov word [es:di], ax ; 26 89 05 7296 cmp ch, 004h ; 80 fd 04 7297 jne short 03c2fh ; 75 06 7298 mov CL, strict byte 003h ; b1 03 7299 shr bx, CL ; d3 eb 7300 jmp short 03c44h ; eb 15 7301 mov al, ch ; 88 e8 7302 xor ah, ah ; 30 e4 7303 cwd ; 99 7304 mov CL, strict byte 003h ; b1 03 7305 sal dx, CL ; d3 e2 7306 db 01bh, 0c2h 7307 ; sbb ax, dx ; 1b c2 7308 sar ax, CL ; d3 f8 7309 mov di, ax ; 89 c7 7310 mov ax, bx ; 89 d8 7311 mul di ; f7 e7 7312 mov bx, ax ; 89 c3 7313 add bx, strict byte 00003h ; 83 c3 03 7314 and bl, 0fch ; 80 e3 fc 7315 push SS ; 16 7316 pop ES ; 07 7317 mov word [es:si], bx ; 26 89 1c 7318 call 03671h ; e8 1f fa 7319 push SS ; 16 7320 pop ES ; 07 7321 mov bx, word [bp-008h] ; 8b 5e f8 7322 mov word [es:bx], ax ; 26 89 07 7323 jmp short 03c61h ; eb 05 7324 mov word [bp-006h], 00100h ; c7 46 fa 00 01 7325 push SS ; 16 7326 pop ES ; 07 7327 mov ax, word [bp-006h] ; 8b 46 fa 7328 mov bx, word [bp-00ch] ; 8b 5e f4 7329 mov word [es:bx], ax ; 26 89 07 7330 lea sp, [bp-004h] ; 8d 66 fc 7331 pop di ; 5f 7332 pop si ; 5e 7333 pop bp ; 5d 7334 retn ; c3 7301 7335 7302 ; Padding 0x 87a bytes at 0xc3b867303 times 2170db 07336 ; Padding 0x78d bytes at 0xc3c73 7337 times 1933 db 0 7304 7338 7305 7339 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO … … 8389 8423 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8390 8424 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8391 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 06h8425 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum
r63627 r67771 1 41bd9ff8fec56dfa8c80333c5502caff*VBoxVgaBios8086.rom1 098b8541e3fcf2071a9363b1fa83053d *VBoxVgaBios8086.rom
Note:
See TracChangeset
for help on using the changeset viewer.