Changeset 55260 in vbox
- Timestamp:
- Apr 14, 2015 6:21:00 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 99573
- Location:
- trunk
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r55128 r55260 221 221 # publisher so that RTStrVersionCompare have a chance of comparing 222 222 # prerelease from different publishers correctly. 223 VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_BETA 1$(VBOX_BUILD_PUBLISHER)223 VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_BETA2$(VBOX_BUILD_PUBLISHER) 224 224 225 225 # Force the additions.sh script to get an exact additions build when we're doing the release. -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
r51255 r55260 165 165 166 166 167 section VGAROM progbits vstart=0x0 align=1 ; size=0x9 3eclass=CODE group=AUTO167 section VGAROM progbits vstart=0x0 align=1 ; size=0x994 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 170 170 db 04dh, 000h 171 vgabios_int10_handler: ; 0xc0022 LB 0x5 85171 vgabios_int10_handler: ; 0xc0022 LB 0x54e 172 172 pushfw ; 9c 173 173 cmp ah, 00fh ; 80 fc 0f … … 223 223 cmp AL, strict byte 003h ; 3c 03 224 224 jne short 000afh ; 75 05 225 call 00 7b7h ; e8 0a07225 call 0080dh ; e8 60 07 226 226 jmp short 000f3h ; eb 44 227 227 cmp AL, strict byte 005h ; 3c 05 228 228 jne short 000b8h ; 75 05 229 call 00 7dch ; e8 2607229 call 00832h ; e8 7c 07 230 230 jmp short 000f3h ; eb 3b 231 231 cmp AL, strict byte 006h ; 3c 06 232 232 jne short 000c1h ; 75 05 233 call 008 09h ; e8 4a07233 call 0085fh ; e8 a0 07 234 234 jmp short 000f3h ; eb 32 235 235 cmp AL, strict byte 007h ; 3c 07 236 236 jne short 000cah ; 75 05 237 call 008 56h ; e8 8e07237 call 008ach ; e8 e4 07 238 238 jmp short 000f3h ; eb 29 239 239 cmp AL, strict byte 008h ; 3c 08 240 240 jne short 000d3h ; 75 05 241 call 008 8ah ; e8 b9 07241 call 008e0h ; e8 0f 08 242 242 jmp short 000f3h ; eb 20 243 243 cmp AL, strict byte 009h ; 3c 09 244 244 jne short 000dch ; 75 05 245 call 00 8c1h ; e8 e7 07245 call 00917h ; e8 3d 08 246 246 jmp short 000f3h ; eb 17 247 247 cmp AL, strict byte 00ah ; 3c 0a 248 248 jne short 000e5h ; 75 05 249 call 009 25h ; e8 4208249 call 0097bh ; e8 98 08 250 250 jmp short 000f3h ; eb 0e 251 251 push ES ; 06 … … 948 948 pop DS ; 1f 949 949 retn ; c3 950 add byte [bx+si], al ; 00 00 951 add byte [bx+si], al ; 00 00 952 add byte [bx+si+052h], dl ; 00 50 52 950 times 0x5 db 0 951 do_out_dx_ax: ; 0xc0570 LB 0x7 952 xchg ah, al ; 86 c4 953 out DX, AL ; ee 954 xchg ah, al ; 86 c4 955 out DX, AL ; ee 956 retn ; c3 957 do_in_ax_dx: ; 0xc0577 LB 0x40 958 in AL, DX ; ec 959 xchg ah, al ; 86 c4 960 in AL, DX ; ec 961 retn ; c3 962 push ax ; 50 963 push dx ; 52 953 964 mov dx, 003dah ; ba da 03 954 965 in AL, DX ; ec 955 966 test AL, strict byte 008h ; a8 08 956 je short 005 75h ; 74 fb967 je short 00581h ; 74 fb 957 968 pop dx ; 5a 958 969 pop ax ; 58 … … 963 974 in AL, DX ; ec 964 975 test AL, strict byte 008h ; a8 08 965 jne short 0058 2h ; 75 fb976 jne short 0058eh ; 75 fb 966 977 pop dx ; 5a 967 978 pop ax ; 58 … … 970 981 mov dx, 001ceh ; ba ce 01 971 982 mov ax, strict word 00003h ; b8 03 00 972 out DX, ax ; ef983 call 00570h ; e8 d0 ff 973 984 mov dx, 001cfh ; ba cf 01 974 in ax, DX ; ed985 call 00577h ; e8 d1 ff 975 986 cmp AL, strict byte 004h ; 3c 04 976 jbe short 005 a5h ; 76 0b987 jbe short 005b5h ; 76 0b 977 988 db 08ah, 0e0h 978 989 ; mov ah, al ; 8a e0 979 990 shr ah, 003h ; c0 ec 03 980 991 test AL, strict byte 007h ; a8 07 981 je short 005 a5h ; 74 02992 je short 005b5h ; 74 02 982 993 db 0feh, 0c4h 983 994 ; inc ah ; fe c4 984 995 pop dx ; 5a 985 996 retn ; c3 986 _dispi_get_max_bpp: ; 0xc05 a7 LB 0x22997 _dispi_get_max_bpp: ; 0xc05b7 LB 0x26 987 998 push dx ; 52 988 999 push bx ; 53 989 call 005 d9h ; e8 2d001000 call 005f1h ; e8 35 00 990 1001 db 08bh, 0d8h 991 1002 ; mov bx, ax ; 8b d8 992 1003 or ax, strict byte 00002h ; 83 c8 02 993 call 005 c9h ; e8 15001004 call 005ddh ; e8 19 00 994 1005 mov dx, 001ceh ; ba ce 01 995 1006 mov ax, strict word 00003h ; b8 03 00 996 out DX, ax ; ef1007 call 00570h ; e8 a3 ff 997 1008 mov dx, 001cfh ; ba cf 01 998 in ax, DX ; ed1009 call 00577h ; e8 a4 ff 999 1010 push ax ; 50 1000 1011 db 08bh, 0c3h 1001 1012 ; mov ax, bx ; 8b c3 1002 call 005 c9h ; e8 04 001013 call 005ddh ; e8 04 00 1003 1014 pop ax ; 58 1004 1015 pop bx ; 5b 1005 1016 pop dx ; 5a 1006 1017 retn ; c3 1007 dispi_set_enable_: ; 0xc05 c9 LB 0x1e1018 dispi_set_enable_: ; 0xc05dd LB 0x26 1008 1019 push dx ; 52 1009 1020 push ax ; 50 1010 1021 mov dx, 001ceh ; ba ce 01 1011 1022 mov ax, strict word 00004h ; b8 04 00 1012 out DX, ax ; ef1023 call 00570h ; e8 88 ff 1013 1024 pop ax ; 58 1014 1025 mov dx, 001cfh ; ba cf 01 1015 out DX, ax ; ef1026 call 00570h ; e8 81 ff 1016 1027 pop dx ; 5a 1017 1028 retn ; c3 … … 1019 1030 mov dx, 001ceh ; ba ce 01 1020 1031 mov ax, strict word 00004h ; b8 04 00 1021 out DX, ax ; ef1032 call 00570h ; e8 75 ff 1022 1033 mov dx, 001cfh ; ba cf 01 1023 in ax, DX ; ed1034 call 00577h ; e8 76 ff 1024 1035 pop dx ; 5a 1025 1036 retn ; c3 1026 dispi_set_bank_: ; 0xc0 5e7 LB 0x1e1037 dispi_set_bank_: ; 0xc0603 LB 0x26 1027 1038 push dx ; 52 1028 1039 push ax ; 50 1029 1040 mov dx, 001ceh ; ba ce 01 1030 1041 mov ax, strict word 00005h ; b8 05 00 1031 out DX, ax ; ef1042 call 00570h ; e8 62 ff 1032 1043 pop ax ; 58 1033 1044 mov dx, 001cfh ; ba cf 01 1034 out DX, ax ; ef1045 call 00570h ; e8 5b ff 1035 1046 pop dx ; 5a 1036 1047 retn ; c3 … … 1038 1049 mov dx, 001ceh ; ba ce 01 1039 1050 mov ax, strict word 00005h ; b8 05 00 1040 out DX, ax ; ef1051 call 00570h ; e8 4f ff 1041 1052 mov dx, 001cfh ; ba cf 01 1042 in ax, DX ; ed1053 call 00577h ; e8 50 ff 1043 1054 pop dx ; 5a 1044 1055 retn ; c3 1045 _dispi_set_bank_farcall: ; 0xc06 05 LB 0xbe1056 _dispi_set_bank_farcall: ; 0xc0629 LB 0xe4 1046 1057 cmp bx, 00100h ; 81 fb 00 01 1047 je short 006 29h ; 74 1e1058 je short 00653h ; 74 24 1048 1059 db 00bh, 0dbh 1049 1060 ; or bx, bx ; 0b db 1050 jne short 006 37h ; 75 281061 jne short 00665h ; 75 32 1051 1062 db 08bh, 0c2h 1052 1063 ; mov ax, dx ; 8b c2 … … 1055 1066 mov ax, strict word 00005h ; b8 05 00 1056 1067 mov dx, 001ceh ; ba ce 01 1057 out DX, ax ; ef1068 call 00570h ; e8 30 ff 1058 1069 pop ax ; 58 1059 1070 mov dx, 001cfh ; ba cf 01 1060 out DX, ax ; ef1061 in ax, DX ; ed1071 call 00570h ; e8 29 ff 1072 call 00577h ; e8 2d ff 1062 1073 pop dx ; 5a 1063 1074 db 03bh, 0d0h 1064 1075 ; cmp dx, ax ; 3b d0 1065 jne short 006 37h ; 75 121076 jne short 00665h ; 75 16 1066 1077 mov ax, strict word 0004fh ; b8 4f 00 1067 1078 retf ; cb 1068 1079 mov ax, strict word 00005h ; b8 05 00 1069 1080 mov dx, 001ceh ; ba ce 01 1070 out DX, ax ; ef1081 call 00570h ; e8 14 ff 1071 1082 mov dx, 001cfh ; ba cf 01 1072 in ax, DX ; ed1083 call 00577h ; e8 15 ff 1073 1084 db 08bh, 0d0h 1074 1085 ; mov dx, ax ; 8b d0 … … 1080 1091 mov dx, 001ceh ; ba ce 01 1081 1092 mov ax, strict word 00008h ; b8 08 00 1082 out DX, ax ; ef1093 call 00570h ; e8 fc fe 1083 1094 pop ax ; 58 1084 1095 mov dx, 001cfh ; ba cf 01 1085 out DX, ax ; ef1096 call 00570h ; e8 f5 fe 1086 1097 pop dx ; 5a 1087 1098 retn ; c3 … … 1089 1100 mov dx, 001ceh ; ba ce 01 1090 1101 mov ax, strict word 00008h ; b8 08 00 1091 out DX, ax ; ef1102 call 00570h ; e8 e9 fe 1092 1103 mov dx, 001cfh ; ba cf 01 1093 in ax, DX ; ed1104 call 00577h ; e8 ea fe 1094 1105 pop dx ; 5a 1095 1106 retn ; c3 … … 1098 1109 mov dx, 001ceh ; ba ce 01 1099 1110 mov ax, strict word 00009h ; b8 09 00 1100 out DX, ax ; ef1111 call 00570h ; e8 d6 fe 1101 1112 pop ax ; 58 1102 1113 mov dx, 001cfh ; ba cf 01 1103 out DX, ax ; ef1114 call 00570h ; e8 cf fe 1104 1115 pop dx ; 5a 1105 1116 retn ; c3 … … 1107 1118 mov dx, 001ceh ; ba ce 01 1108 1119 mov ax, strict word 00009h ; b8 09 00 1109 out DX, ax ; ef1120 call 00570h ; e8 c3 fe 1110 1121 mov dx, 001cfh ; ba cf 01 1111 in ax, DX ; ed1122 call 00577h ; e8 c4 fe 1112 1123 pop dx ; 5a 1113 1124 retn ; c3 … … 1117 1128 db 08bh, 0d8h 1118 1129 ; mov bx, ax ; 8b d8 1119 call 005 8ah ; e8 0b ff1130 call 00596h ; e8 d9 fe 1120 1131 cmp AL, strict byte 004h ; 3c 04 1121 jnbe short 006 85h ; 77 021132 jnbe short 006c3h ; 77 02 1122 1133 shr bx, 1 ; d1 eb 1123 1134 shr bx, 003h ; c1 eb 03 … … 1131 1142 pop ax ; 58 1132 1143 retn ; c3 1133 call 006 77h ; e8 e0 ff1144 call 006b5h ; e8 e0 ff 1134 1145 push dx ; 52 1135 1146 push ax ; 50 1136 1147 mov dx, 001ceh ; ba ce 01 1137 1148 mov ax, strict word 00006h ; b8 06 00 1138 out DX, ax ; ef1149 call 00570h ; e8 90 fe 1139 1150 pop ax ; 58 1140 1151 mov dx, 001cfh ; ba cf 01 1141 out DX, ax ; ef1152 call 00570h ; e8 89 fe 1142 1153 pop dx ; 5a 1143 1154 retn ; c3 … … 1145 1156 mov dx, 001ceh ; ba ce 01 1146 1157 mov ax, strict word 00006h ; b8 06 00 1147 out DX, ax ; ef1158 call 00570h ; e8 7d fe 1148 1159 mov dx, 001cfh ; ba cf 01 1149 in ax, DX ; ed1160 call 00577h ; e8 7e fe 1150 1161 pop dx ; 5a 1151 1162 retn ; c3 … … 1153 1164 mov dx, 001ceh ; ba ce 01 1154 1165 mov ax, strict word 00007h ; b8 07 00 1155 out DX, ax ; ef1166 call 00570h ; e8 6b fe 1156 1167 mov dx, 001cfh ; ba cf 01 1157 in ax, DX ; ed1168 call 00577h ; e8 6c fe 1158 1169 pop dx ; 5a 1159 1170 retn ; c3 1160 _vga_compat_setup: ; 0xc0 6c3 LB 0xe11171 _vga_compat_setup: ; 0xc070d LB 0xed 1161 1172 push ax ; 50 1162 1173 push dx ; 52 1163 1174 mov dx, 001ceh ; ba ce 01 1164 1175 mov ax, strict word 00001h ; b8 01 00 1165 out DX, ax ; ef1176 call 00570h ; e8 58 fe 1166 1177 mov dx, 001cfh ; ba cf 01 1167 in ax, DX ; ed1178 call 00577h ; e8 59 fe 1168 1179 push ax ; 50 1169 1180 mov dx, 003d4h ; ba d4 03 … … 1179 1190 out DX, ax ; ef 1180 1191 pop ax ; 58 1181 call 006 77h ; e8 90 ff1192 call 006b5h ; e8 80 ff 1182 1193 mov dx, 001ceh ; ba ce 01 1183 1194 mov ax, strict word 00002h ; b8 02 00 1184 out DX, ax ; ef1195 call 00570h ; e8 32 fe 1185 1196 mov dx, 001cfh ; ba cf 01 1186 in ax, DX ; ed1197 call 00577h ; e8 33 fe 1187 1198 dec ax ; 48 1188 1199 push ax ; 50 … … 1199 1210 and AL, strict byte 0bdh ; 24 bd 1200 1211 test ah, 001h ; f6 c4 01 1201 je short 007 0bh ; 74 021212 je short 0075dh ; 74 02 1202 1213 or AL, strict byte 002h ; 0c 02 1203 1214 test ah, 002h ; f6 c4 02 1204 je short 007 12h ; 74 021215 je short 00764h ; 74 02 1205 1216 or AL, strict byte 040h ; 0c 40 1206 1217 out DX, AL ; ee … … 1239 1250 mov dx, 001ceh ; ba ce 01 1240 1251 mov ax, strict word 00003h ; b8 03 00 1241 out DX, ax ; ef1252 call 00570h ; e8 c2 fd 1242 1253 mov dx, 001cfh ; ba cf 01 1243 in ax, DX ; ed1254 call 00577h ; e8 c3 fd 1244 1255 cmp AL, strict byte 008h ; 3c 08 1245 jc short 007 a2h ; 72 401256 jc short 007f8h ; 72 40 1246 1257 mov dx, 003d4h ; ba d4 03 1247 1258 mov AL, strict byte 014h ; b0 14 … … 1280 1291 pop dx ; 5a 1281 1292 pop ax ; 58 1282 _vbe_has_vbe_display: ; 0xc07 a4LB 0x131293 _vbe_has_vbe_display: ; 0xc07fa LB 0x13 1283 1294 push DS ; 1e 1284 1295 push bx ; 53 … … 1293 1304 pop DS ; 1f 1294 1305 retn ; c3 1295 vbe_biosfn_return_current_mode: ; 0xc0 7b7LB 0x251306 vbe_biosfn_return_current_mode: ; 0xc080d LB 0x25 1296 1307 push DS ; 1e 1297 1308 mov ax, strict word 00040h ; b8 40 00 1298 1309 mov ds, ax ; 8e d8 1299 call 005 d9h ; e8 19 fe1310 call 005f1h ; e8 db fd 1300 1311 and ax, strict byte 00001h ; 83 e0 01 1301 je short 00 7ceh ; 74 091312 je short 00824h ; 74 09 1302 1313 mov bx, 000bah ; bb ba 00 1303 1314 mov ax, word [bx] ; 8b 07 1304 1315 db 08bh, 0d8h 1305 1316 ; mov bx, ax ; 8b d8 1306 jne short 00 7d7h ; 75 091317 jne short 0082dh ; 75 09 1307 1318 mov bx, strict word 00049h ; bb 49 00 1308 1319 mov al, byte [bx] ; 8a 07 … … 1314 1325 pop DS ; 1f 1315 1326 retn ; c3 1316 vbe_biosfn_display_window_control: ; 0xc0 7dcLB 0x2d1327 vbe_biosfn_display_window_control: ; 0xc0832 LB 0x2d 1317 1328 cmp bl, 000h ; 80 fb 00 1318 jne short 008 05h ; 75 241329 jne short 0085bh ; 75 24 1319 1330 cmp bh, 001h ; 80 ff 01 1320 je short 00 7fch ; 74 161321 jc short 00 7ech ; 72 041331 je short 00852h ; 74 16 1332 jc short 00842h ; 72 04 1322 1333 mov ax, 00100h ; b8 00 01 1323 1334 retn ; c3 1324 1335 db 08bh, 0c2h 1325 1336 ; mov ax, dx ; 8b c2 1326 call 00 5e7h ; e8 f6fd1327 call 00 5f7h ; e8 03 fe1337 call 00603h ; e8 bc fd 1338 call 00617h ; e8 cd fd 1328 1339 db 03bh, 0c2h 1329 1340 ; cmp ax, dx ; 3b c2 1330 jne short 008 05h ; 75 0d1341 jne short 0085bh ; 75 0d 1331 1342 mov ax, strict word 0004fh ; b8 4f 00 1332 1343 retn ; c3 1333 call 00 5f7h ; e8 f8fd1344 call 00617h ; e8 c2 fd 1334 1345 db 08bh, 0d0h 1335 1346 ; mov dx, ax ; 8b d0 … … 1338 1349 mov ax, 0014fh ; b8 4f 01 1339 1350 retn ; c3 1340 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc08 09LB 0x4d1351 vbe_biosfn_set_get_logical_scan_line_length: ; 0xc085f LB 0x4d 1341 1352 db 08bh, 0c1h 1342 1353 ; mov ax, cx ; 8b c1 1343 1354 cmp bl, 001h ; 80 fb 01 1344 je short 008 34h ; 74 241355 je short 0088ah ; 74 24 1345 1356 cmp bl, 002h ; 80 fb 02 1346 je short 008 1bh ; 74 061347 jc short 008 31h ; 72 1a1357 je short 00871h ; 74 06 1358 jc short 00887h ; 72 1a 1348 1359 mov ax, 00100h ; b8 00 01 1349 1360 retn ; c3 1350 1361 push ax ; 50 1351 call 005 8ah ; e8 6bfd1362 call 00596h ; e8 21 fd 1352 1363 db 032h, 0ffh 1353 1364 ; xor bh, bh ; 32 ff … … 1356 1367 db 00ah, 0dbh 1357 1368 ; or bl, bl ; 0a db 1358 jne short 008 2ch ; 75 051369 jne short 00882h ; 75 05 1359 1370 sal ax, 003h ; c1 e0 03 1360 1371 mov BL, strict byte 001h ; b3 01 … … 1363 1374 pop ax ; 58 1364 1375 div bx ; f7 f3 1365 call 006 94h ; e8 60fe1366 call 005 8ah ; e8 53fd1376 call 006d2h ; e8 48 fe 1377 call 00596h ; e8 09 fd 1367 1378 db 032h, 0ffh 1368 1379 ; xor bh, bh ; 32 ff 1369 1380 db 08ah, 0dch 1370 1381 ; mov bl, ah ; 8a dc 1371 call 006 a7h ; e8 69fe1382 call 006e9h ; e8 55 fe 1372 1383 db 08bh, 0c8h 1373 1384 ; mov cx, ax ; 8b c8 1374 1385 db 00ah, 0dbh 1375 1386 ; or bl, bl ; 0a db 1376 jne short 008 49h ; 75 051387 jne short 0089fh ; 75 05 1377 1388 shr ax, 003h ; c1 e8 03 1378 1389 mov BL, strict byte 001h ; b3 01 … … 1380 1391 db 08bh, 0d8h 1381 1392 ; mov bx, ax ; 8b d8 1382 call 006 b5h ; e8 65 fe1393 call 006fbh ; e8 55 fe 1383 1394 db 08bh, 0d0h 1384 1395 ; mov dx, ax ; 8b d0 1385 1396 mov ax, strict word 0004fh ; b8 4f 00 1386 1397 retn ; c3 1387 vbe_biosfn_set_get_display_start: ; 0xc08 56LB 0x341398 vbe_biosfn_set_get_display_start: ; 0xc08ac LB 0x34 1388 1399 cmp bl, 080h ; 80 fb 80 1389 je short 008 66h ; 74 0b1400 je short 008bch ; 74 0b 1390 1401 cmp bl, 001h ; 80 fb 01 1391 je short 008 7ah ; 74 1a1392 jc short 008 6ch ; 72 0a1402 je short 008d0h ; 74 1a 1403 jc short 008c2h ; 72 0a 1393 1404 mov ax, 00100h ; b8 00 01 1394 1405 retn ; c3 1395 call 005 7dh ; e8 14 fd1396 call 0057 0h ; e8 04 fd1406 call 00589h ; e8 ca fc 1407 call 0057ch ; e8 ba fc 1397 1408 db 08bh, 0c1h 1398 1409 ; mov ax, cx ; 8b c1 1399 call 006 3bh ; e8 cafd1410 call 00669h ; e8 a2 fd 1400 1411 db 08bh, 0c2h 1401 1412 ; mov ax, dx ; 8b c2 1402 call 006 59h ; e8 e3 fd1413 call 0068fh ; e8 c3 fd 1403 1414 mov ax, strict word 0004fh ; b8 4f 00 1404 1415 retn ; c3 1405 call 006 4bh ; e8 cefd1416 call 0067dh ; e8 aa fd 1406 1417 db 08bh, 0c8h 1407 1418 ; mov cx, ax ; 8b c8 1408 call 006 69h ; e8 e7fd1419 call 006a3h ; e8 cb fd 1409 1420 db 08bh, 0d0h 1410 1421 ; mov dx, ax ; 8b d0 … … 1413 1424 mov ax, strict word 0004fh ; b8 4f 00 1414 1425 retn ; c3 1415 vbe_biosfn_set_get_dac_palette_format: ; 0xc08 8aLB 0x371426 vbe_biosfn_set_get_dac_palette_format: ; 0xc08e0 LB 0x37 1416 1427 cmp bl, 001h ; 80 fb 01 1417 je short 00 8adh ; 74 1e1418 jc short 008 95h ; 72 041428 je short 00903h ; 74 1e 1429 jc short 008ebh ; 72 04 1419 1430 mov ax, 00100h ; b8 00 01 1420 1431 retn ; c3 1421 call 005 d9h ; e8 41fd1432 call 005f1h ; e8 03 fd 1422 1433 cmp bh, 006h ; 80 ff 06 1423 je short 008 a7h ; 74 0a1434 je short 008fdh ; 74 0a 1424 1435 cmp bh, 008h ; 80 ff 08 1425 jne short 00 8bdh ; 75 1b1436 jne short 00913h ; 75 1b 1426 1437 or ax, strict byte 00020h ; 83 c8 20 1427 jne short 00 8aah ; 75 031438 jne short 00900h ; 75 03 1428 1439 and ax, strict byte 0ffdfh ; 83 e0 df 1429 call 005 c9h ; e8 1c fd1440 call 005ddh ; e8 da fc 1430 1441 mov BH, strict byte 006h ; b7 06 1431 call 005 d9h ; e8 27 fd1442 call 005f1h ; e8 e9 fc 1432 1443 and ax, strict byte 00020h ; 83 e0 20 1433 je short 00 8b9h ; 74 021444 je short 0090fh ; 74 02 1434 1445 mov BH, strict byte 008h ; b7 08 1435 1446 mov ax, strict word 0004fh ; b8 4f 00 … … 1437 1448 mov ax, 0014fh ; b8 4f 01 1438 1449 retn ; c3 1439 vbe_biosfn_set_get_palette_data: ; 0xc0 8c1LB 0x641450 vbe_biosfn_set_get_palette_data: ; 0xc0917 LB 0x64 1440 1451 test bl, bl ; 84 db 1441 je short 00 8d4h ; 74 0f1452 je short 0092ah ; 74 0f 1442 1453 cmp bl, 001h ; 80 fb 01 1443 je short 00 8fch ; 74 321454 je short 00952h ; 74 32 1444 1455 cmp bl, 003h ; 80 fb 03 1445 jbe short 009 21h ; 76 521456 jbe short 00977h ; 76 52 1446 1457 cmp bl, 080h ; 80 fb 80 1447 jne short 009 1dh ; 75 491458 jne short 00973h ; 75 49 1448 1459 pushad ; 66 60 1449 1460 push DS ; 1e … … 1464 1475 rol eax, 008h ; 66 c1 c0 08 1465 1476 out DX, AL ; ee 1466 loop 00 8e2h ; e2 ed1477 loop 00938h ; e2 ed 1467 1478 pop DS ; 1f 1468 1479 popad ; 66 61 … … 1483 1494 in AL, DX ; ec 1484 1495 stosd ; 66 ab 1485 loop 009 07h ; e2 ee1496 loop 0095dh ; e2 ee 1486 1497 popad ; 66 61 1487 jmp short 00 8f8h ; eb db1498 jmp short 0094eh ; eb db 1488 1499 mov ax, 0014fh ; b8 4f 01 1489 1500 retn ; c3 1490 1501 mov ax, 0024fh ; b8 4f 02 1491 1502 retn ; c3 1492 vbe_biosfn_return_protected_mode_interface: ; 0xc09 25LB 0x191503 vbe_biosfn_return_protected_mode_interface: ; 0xc097b LB 0x19 1493 1504 test bl, bl ; 84 db 1494 jne short 009 3ah ; 75 111505 jne short 00990h ; 75 11 1495 1506 mov di, 0c000h ; bf 00 c0 1496 1507 mov es, di ; 8e c7 1497 mov di, 04 600h ; bf 00 461508 mov di, 04400h ; bf 00 44 1498 1509 mov cx, 00115h ; b9 15 01 1499 1510 db 02bh, 0cfh … … 1504 1515 retn ; c3 1505 1516 1506 ; Padding 0x c2 bytes at 0xc093e1507 times 1 94db 01517 ; Padding 0x6c bytes at 0xc0994 1518 times 108 db 0 1508 1519 1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f 47 class=CODE group=AUTO1520 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f57 class=CODE group=AUTO 1510 1521 set_int_vector_: ; 0xc0a00 LB 0x1a 1511 1522 push bx ; 53 … … 1561 1572 call 00a1ah ; e8 ac ff 1562 1573 call 00a36h ; e8 c5 ff 1563 call 034 76h ; e8 022a1574 call 03482h ; e8 0e 2a 1564 1575 mov dx, strict word 00022h ; ba 22 00 1565 1576 mov ax, strict word 00010h ; b8 10 00 … … 1643 1654 movzx bx, ch ; 0f b6 dd 1644 1655 sal bx, 003h ; c1 e3 03 1645 cmp byte [bx+04 830h], 000h ; 80 bf 30 48001656 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1646 1657 jne short 00b5ah ; 75 2d 1647 1658 mov dx, ax ; 89 c2 … … 1659 1670 mov dx, cx ; 89 ca 1660 1671 add dx, ax ; 01 c2 1661 mov ax, word [bx+04 833h] ; 8b 87 33 481672 mov ax, word [bx+04638h] ; 8b 87 38 46 1662 1673 call 02f5ah ; e8 03 24 1663 1674 mov word [ss:si], ax ; 36 89 04 … … 1725 1736 mov dx, 0010ch ; ba 0c 01 1726 1737 jmp short 00b91h ; eb bf 1727 mov ax, 05 dafh ; b8 af 5d1738 mov ax, 05bf2h ; b8 f2 5b 1728 1739 mov dx, 0c000h ; ba 00 c0 1729 1740 jmp short 00b96h ; eb bc 1730 mov ax, 05 5afh ; b8 af 551741 mov ax, 053f2h ; b8 f2 53 1731 1742 jmp short 00bd5h ; eb f6 1732 mov ax, 05 9afh ; b8 af 591743 mov ax, 057f2h ; b8 f2 57 1733 1744 jmp short 00bd5h ; eb f1 1734 mov ax, 07 bafh ; b8 af 7b1745 mov ax, 079f2h ; b8 f2 79 1735 1746 jmp short 00bd5h ; eb ec 1736 mov ax, 06 bafh ; b8 af 6b1747 mov ax, 069f2h ; b8 f2 69 1737 1748 jmp short 00bd5h ; eb e7 1738 mov ax, 07 cdch ; b8 dc 7c1749 mov ax, 07b1fh ; b8 1f 7b 1739 1750 jmp short 00bd5h ; eb e2 1740 1751 jmp short 00bc4h ; eb cf … … 1758 1769 movzx bx, al ; 0f b6 d8 1759 1770 sal bx, 003h ; c1 e3 03 1760 cmp byte [bx+04 830h], 000h ; 80 bf 30 48001771 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 1761 1772 je near 00d27h ; 0f 84 fe 00 1762 mov bl, byte [bx+04 831h] ; 8a 9f 31 481773 mov bl, byte [bx+04636h] ; 8a 9f 36 46 1763 1774 cmp bl, 003h ; 80 fb 03 1764 1775 jc short 00c43h ; 72 11 … … 1819 1830 movzx bx, cl ; 0f b6 d9 1820 1831 sal bx, 003h ; c1 e3 03 1821 cmp byte [bx+04 832h], 002h ; 80 bf 32 48021832 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 1822 1833 jne short 00cebh ; 75 1b 1823 1834 mov cx, si ; 89 f1 … … 2120 2131 mov si, bx ; 89 de 2121 2132 sal si, 003h ; c1 e6 03 2122 cmp byte [si+04 830h], 000h ; 80 bc 30 48002133 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 2123 2134 jne short 00f83h ; 75 40 2124 2135 mov dx, strict word 0004ah ; ba 4a 00 … … 2147 2158 imul bx, di ; 0f af df 2148 2159 jmp short 00f95h ; eb 12 2149 movzx bx, byte [bx+04 8afh] ; 0f b6 9f af 482160 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 2150 2161 sal bx, 006h ; c1 e3 06 2151 2162 movzx ax, cl ; 0f b6 c1 2152 mov bx, word [bx+04 8c6h] ; 8b 9f c6 482163 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2153 2164 imul bx, ax ; 0f af d8 2154 2165 mov dx, strict word 00063h ; ba 63 00 … … 2199 2210 and AL, strict byte 080h ; 24 80 2200 2211 mov byte [bp-010h], al ; 88 46 f0 2201 call 007 a4h ; e8 b2 f72212 call 007fah ; e8 08 f8 2202 2213 test ax, ax ; 85 c0 2203 2214 je short 01002h ; 74 0c … … 2218 2229 je near 01363h ; 0f 84 43 03 2219 2230 movzx si, al ; 0f b6 f0 2220 mov al, byte [si+04 8afh] ; 8a 84 af 482231 mov al, byte [si+046b4h] ; 8a 84 b4 46 2221 2232 mov byte [bp-00eh], al ; 88 46 f2 2222 2233 movzx bx, al ; 0f b6 d8 2223 2234 sal bx, 006h ; c1 e3 06 2224 movzx ax, byte [bx+04 8c3h] ; 0f b6 87 c3 482235 movzx ax, byte [bx+046c8h] ; 0f b6 87 c8 46 2225 2236 mov word [bp-018h], ax ; 89 46 e8 2226 movzx ax, byte [bx+04 8c4h] ; 0f b6 87 c4 482237 movzx ax, byte [bx+046c9h] ; 0f b6 87 c9 46 2227 2238 mov word [bp-016h], ax ; 89 46 ea 2228 movzx ax, byte [bx+04 8c5h] ; 0f b6 87 c5 482239 movzx ax, byte [bx+046cah] ; 0f b6 87 ca 46 2229 2240 mov word [bp-014h], ax ; 89 46 ec 2230 2241 mov dx, 00087h ; ba 87 00 … … 2242 2253 mov bx, si ; 89 f3 2243 2254 sal bx, 003h ; c1 e3 03 2244 mov al, byte [bx+04 835h] ; 8a 87 35 482255 mov al, byte [bx+0463ah] ; 8a 87 3a 46 2245 2256 mov dx, 003c6h ; ba c6 03 2246 2257 out DX, AL ; ee … … 2248 2259 mov dx, 003c8h ; ba c8 03 2249 2260 out DX, AL ; ee 2250 mov bl, byte [bx+04 836h] ; 8a 9f 36 482261 mov bl, byte [bx+0463bh] ; 8a 9f 3b 46 2251 2262 cmp bl, 001h ; 80 fb 01 2252 2263 jc short 01095h ; 72 0e … … 2259 2270 test bl, bl ; 84 db 2260 2271 jne short 010abh ; 75 12 2261 mov di, 0 5043h ; bf 43 502272 mov di, 04e48h ; bf 48 4e 2262 2273 jmp short 010abh ; eb 0d 2263 mov di, 0 5103h ; bf 03 512274 mov di, 04f08h ; bf 08 4f 2264 2275 jmp short 010abh ; eb 08 2265 mov di, 0 51c3h ; bf c3 512276 mov di, 04fc8h ; bf c8 4f 2266 2277 jmp short 010abh ; eb 03 2267 mov di, 05 283h ; bf 83 522278 mov di, 05088h ; bf 88 50 2268 2279 xor bx, bx ; 31 db 2269 2280 jmp short 010beh ; eb 0f … … 2278 2289 movzx si, byte [bp-012h] ; 0f b6 76 ee 2279 2290 sal si, 003h ; c1 e6 03 2280 movzx si, byte [si+04 836h] ; 0f b6 b4 36 482281 movzx dx, byte [si+04 8bfh] ; 0f b6 94 bf 482291 movzx si, byte [si+0463bh] ; 0f b6 b4 3b 46 2292 movzx dx, byte [si+046c4h] ; 0f b6 94 c4 46 2282 2293 cmp bx, dx ; 39 d3 2283 2294 jnbe short 010afh ; 77 dc … … 2311 2322 sal si, 006h ; c1 e6 06 2312 2323 add si, bx ; 01 de 2313 mov al, byte [si+04 8e6h] ; 8a 84 e6 482324 mov al, byte [si+046ebh] ; 8a 84 eb 46 2314 2325 out DX, AL ; ee 2315 2326 inc bx ; 43 … … 2335 2346 sal si, 006h ; c1 e6 06 2336 2347 add si, bx ; 01 de 2337 mov al, byte [si+04 8c7h] ; 8a 84 c7 482348 mov al, byte [si+046cch] ; 8a 84 cc 46 2338 2349 mov dx, 003c5h ; ba c5 03 2339 2350 out DX, AL ; ee … … 2350 2361 sal si, 006h ; c1 e6 06 2351 2362 add si, bx ; 01 de 2352 mov al, byte [si+04 8fah] ; 8a 84 fa 482363 mov al, byte [si+046ffh] ; 8a 84 ff 46 2353 2364 mov dx, 003cfh ; ba cf 03 2354 2365 out DX, AL ; ee … … 2357 2368 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2358 2369 sal bx, 003h ; c1 e3 03 2359 cmp byte [bx+04 831h], 001h ; 80 bf 31 48012370 cmp byte [bx+04636h], 001h ; 80 bf 36 46 01 2360 2371 jne short 01188h ; 75 05 2361 2372 mov dx, 003b4h ; ba b4 03 … … 2377 2388 add di, bx ; 01 df 2378 2389 lea dx, [si+001h] ; 8d 54 01 2379 mov al, byte [di+04 8cdh] ; 8a 85 cd 482390 mov al, byte [di+046d2h] ; 8a 85 d2 46 2380 2391 out DX, AL ; ee 2381 2392 inc bx ; 43 2382 2393 jmp short 01195h ; eb e0 2383 2394 mov bx, cx ; 89 cb 2384 mov al, byte [bx+04 8cch] ; 8a 87 cc 482395 mov al, byte [bx+046d1h] ; 8a 87 d1 46 2385 2396 mov dx, 003c2h ; ba c2 03 2386 2397 out DX, AL ; ee … … 2396 2407 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2397 2408 sal bx, 003h ; c1 e3 03 2398 cmp byte [bx+04 830h], 000h ; 80 bf 30 48002409 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2399 2410 jne short 011f2h ; 75 13 2400 mov es, [bx+04 833h] ; 8e 87 33 482411 mov es, [bx+04638h] ; 8e 87 38 46 2401 2412 mov cx, 04000h ; b9 00 40 2402 2413 mov ax, 00720h ; b8 20 07 … … 2408 2419 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2409 2420 jnc short 0120ah ; 73 12 2410 mov es, [bx+04 833h] ; 8e 87 33 482421 mov es, [bx+04638h] ; 8e 87 38 46 2411 2422 mov cx, 04000h ; b9 00 40 2412 2423 xor ax, ax ; 31 c0 … … 2426 2437 mov AL, strict byte 00fh ; b0 0f 2427 2438 out DX, AL ; ee 2428 mov es, [bx+04 833h] ; 8e 87 33 482439 mov es, [bx+04638h] ; 8e 87 38 46 2429 2440 mov cx, 08000h ; b9 00 80 2430 2441 xor ax, ax ; 31 c0 … … 2445 2456 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2446 2457 sal bx, 006h ; c1 e3 06 2447 mov bx, word [bx+04 8c6h] ; 8b 9f c6 482458 mov bx, word [bx+046cbh] ; 8b 9f cb 46 2448 2459 mov dx, strict word 0004ch ; ba 4c 00 2449 2460 mov ax, strict word 00040h ; b8 40 00 … … 2484 2495 call 02f4ch ; e8 8b 1c 2485 2496 mov cx, ds ; 8c d9 2486 mov bx, 05 593h ; bb 93 552497 mov bx, 053d6h ; bb d6 53 2487 2498 mov dx, 000a8h ; ba a8 00 2488 2499 mov ax, strict word 00040h ; b8 40 00 … … 2498 2509 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2499 2510 sal bx, 003h ; c1 e3 03 2500 cmp byte [bx+04 830h], 000h ; 80 bf 30 48002511 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2501 2512 jne short 012fch ; 75 09 2502 2513 mov dx, strict word 00007h ; ba 07 00 … … 2516 2527 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2517 2528 sal bx, 003h ; c1 e3 03 2518 cmp byte [bx+04 830h], 000h ; 80 bf 30 48002529 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 2519 2530 jne short 01333h ; 75 10 2520 2531 xor bl, bl ; 30 db … … 2526 2537 mov AH, strict byte 011h ; b4 11 2527 2538 int 010h ; cd 10 2528 mov dx, 05 9afh ; ba af 592539 mov dx, 057f2h ; ba f2 57 2529 2540 mov ax, strict word 0001fh ; b8 1f 00 2530 2541 call 00a00h ; e8 c4 f6 … … 2536 2547 cmp ax, strict word 00008h ; 3d 08 00 2537 2548 jne short 01363h ; 75 15 2538 mov dx, 05 5afh ; ba af 552549 mov dx, 053f2h ; ba f2 53 2539 2550 mov ax, strict word 00043h ; b8 43 00 2540 2551 call 00a00h ; e8 a9 f6 2541 2552 jmp short 01363h ; eb 0a 2542 mov dx, 05 dafh ; ba af 5d2553 mov dx, 05bf2h ; ba f2 5b 2543 2554 jmp short 01351h ; eb f3 2544 mov dx, 06 bafh ; ba af 6b2555 mov dx, 069f2h ; ba f2 69 2545 2556 jmp short 01351h ; eb ee 2546 2557 lea sp, [bp-00ah] ; 8d 66 f6 … … 2852 2863 mov ax, word [bp-016h] ; 8b 46 ea 2853 2864 imul ax, cx ; 0f af c1 2854 cmp byte [di+04 830h], 000h ; 80 bd 30 48002865 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 2855 2866 jne near 017d1h ; 0f 85 9f 01 2856 2867 mov dx, ax ; 89 c2 … … 2875 2886 sal dx, 008h ; c1 e2 08 2876 2887 add dx, strict byte 00020h ; 83 c2 20 2877 mov es, [di+04 833h] ; 8e 85 33 482888 mov es, [di+04638h] ; 8e 85 38 46 2878 2889 mov cx, ax ; 89 c1 2879 2890 mov ax, dx ; 89 d0 … … 2909 2920 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2910 2921 sal si, 003h ; c1 e6 03 2911 mov es, [si+04 833h] ; 8e 84 33 482922 mov es, [si+04638h] ; 8e 84 38 46 2912 2923 cld ; fc 2913 2924 jcxz 016ddh ; e3 02 … … 2923 2934 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2924 2935 sal si, 003h ; c1 e6 03 2925 mov ax, word [si+04 833h] ; 8b 84 33 482936 mov ax, word [si+04638h] ; 8b 84 38 46 2926 2937 mov si, word [bp-014h] ; 8b 76 ec 2927 2938 imul si, word [bp-016h] ; 0f af 76 ea … … 2967 2978 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2968 2979 sal si, 003h ; c1 e6 03 2969 mov es, [si+04 833h] ; 8e 84 33 482980 mov es, [si+04638h] ; 8e 84 38 46 2970 2981 cld ; fc 2971 2982 jcxz 0177eh ; e3 02 … … 2982 2993 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2983 2994 sal si, 003h ; c1 e6 03 2984 mov ax, word [si+04 833h] ; 8b 84 33 482995 mov ax, word [si+04638h] ; 8b 84 38 46 2985 2996 mov si, word [bp-014h] ; 8b 76 ec 2986 2997 imul si, word [bp-016h] ; 0f af 76 ea … … 3002 3013 dec word [bp-014h] ; ff 4e ec 3003 3014 jmp near 0172dh ; e9 5c ff 3004 movzx bx, byte [si+04 8afh] ; 0f b6 9c af 483015 movzx bx, byte [si+046b4h] ; 0f b6 9c b4 46 3005 3016 sal bx, 006h ; c1 e3 06 3006 mov dl, byte [bx+04 8c5h] ; 8a 97 c5 483017 mov dl, byte [bx+046cah] ; 8a 97 ca 46 3007 3018 mov byte [bp-00ah], dl ; 88 56 f6 3008 mov bl, byte [di+04 831h] ; 8a 9d 31 483019 mov bl, byte [di+04636h] ; 8a 9d 36 46 3009 3020 cmp bl, 004h ; 80 fb 04 3010 3021 je short 017f8h ; 74 0f … … 3039 3050 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3040 3051 sal bx, 003h ; c1 e3 03 3041 mov es, [bx+04 833h] ; 8e 87 33 483052 mov es, [bx+04638h] ; 8e 87 38 46 3042 3053 xor di, di ; 31 ff 3043 3054 cld ; fc … … 3121 3132 dec word [bp-014h] ; ff 4e ec 3122 3133 jmp short 018c6h ; eb 8f 3123 mov dl, byte [di+04 832h] ; 8a 95 32 483134 mov dl, byte [di+04637h] ; 8a 95 37 46 3124 3135 cmp byte [bp-010h], 000h ; 80 7e f0 00 3125 3136 jne short 0197eh ; 75 3d … … 3139 3150 imul cx, ax ; 0f af c8 3140 3151 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3141 mov es, [di+04 833h] ; 8e 85 33 483152 mov es, [di+04638h] ; 8e 85 38 46 3142 3153 xor di, di ; 31 ff 3143 3154 cld ; fc … … 3241 3252 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3242 3253 jne short 01a9bh ; 75 0a 3243 mov di, 05 dafh ; bf af 5d3254 mov di, 05bf2h ; bf f2 5b 3244 3255 jmp short 01a9eh ; eb 08 3245 mov di, 06 bafh ; bf af 6b3256 mov di, 069f2h ; bf f2 69 3246 3257 jmp short 01a9eh ; eb 03 3247 mov di, 05 5afh ; bf af 553258 mov di, 053f2h ; bf f2 53 3248 3259 movzx si, cl ; 0f b6 f1 3249 3260 movzx bx, byte [bp+006h] ; 0f b6 5e 06 … … 3332 3343 sub sp, strict byte 00008h ; 83 ec 08 3333 3344 mov byte [bp-008h], dl ; 88 56 f8 3334 mov si, 05 5afh ; be af 553345 mov si, 053f2h ; be f2 53 3335 3346 xor bh, bh ; 30 ff 3336 3347 movzx di, byte [bp+006h] ; 0f b6 7e 06 … … 3446 3457 sub sp, strict byte 00008h ; 83 ec 08 3447 3458 mov byte [bp-006h], dl ; 88 56 fa 3448 mov di, 05 5afh ; bf af 553459 mov di, 053f2h ; bf f2 53 3449 3460 movzx dx, cl ; 0f b6 d1 3450 3461 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 3541 3552 mov di, bx ; 89 df 3542 3553 sal di, 003h ; c1 e7 03 3543 cmp byte [di+04 830h], 000h ; 80 bd 30 48003554 cmp byte [di+04635h], 000h ; 80 bd 35 46 00 3544 3555 jne short 01dcdh ; 75 47 3545 3556 mov bx, word [bp-018h] ; 8b 5e e8 … … 3562 3573 mov word [bp-01ah], ax ; 89 46 e6 3563 3574 mov ax, word [bp-01ah] ; 8b 46 e6 3564 mov es, [di+04 833h] ; 8e 85 33 483575 mov es, [di+04638h] ; 8e 85 38 46 3565 3576 mov cx, si ; 89 f1 3566 3577 mov di, dx ; 89 d7 … … 3569 3580 rep stosw ; f3 ab 3570 3581 jmp near 01e73h ; e9 a6 00 3571 movzx bx, byte [bx+04 8afh] ; 0f b6 9f af 483582 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 3572 3583 sal bx, 006h ; c1 e3 06 3573 mov al, byte [bx+04 8c5h] ; 8a 87 c5 483584 mov al, byte [bx+046cah] ; 8a 87 ca 46 3574 3585 mov byte [bp-008h], al ; 88 46 f8 3575 mov al, byte [di+04 832h] ; 8a 85 32 483586 mov al, byte [di+04637h] ; 8a 85 37 46 3576 3587 mov byte [bp-014h], al ; 88 46 ec 3577 3588 dec si ; 4e … … 3583 3594 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3584 3595 sal bx, 003h ; c1 e3 03 3585 mov al, byte [bx+04 831h] ; 8a 87 31 483596 mov al, byte [bx+04636h] ; 8a 87 36 46 3586 3597 cmp AL, strict byte 003h ; 3c 03 3587 3598 jc short 01e11h ; 72 0c … … 3671 3682 mov bx, di ; 89 fb 3672 3683 sal bx, 003h ; c1 e3 03 3673 cmp byte [bx+04 830h], 000h ; 80 bf 30 48003684 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 3674 3685 jne short 01f38h ; 75 4a 3675 3686 mov dx, word [bp-018h] ; 8b 56 e8 … … 3693 3704 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3694 3705 sal bx, 003h ; c1 e3 03 3695 mov di, word [bx+04 833h] ; 8b bf 33 483706 mov di, word [bx+04638h] ; 8b bf 38 46 3696 3707 mov bx, ax ; 89 c3 3697 3708 mov dx, cx ; 89 ca … … 3701 3712 inc cx ; 41 3702 3713 jmp short 01f14h ; eb dc 3703 movzx di, byte [di+04 8afh] ; 0f b6 bd af 483714 movzx di, byte [di+046b4h] ; 0f b6 bd b4 46 3704 3715 sal di, 006h ; c1 e7 06 3705 mov al, byte [di+04 8c5h] ; 8a 85 c5 483716 mov al, byte [di+046cah] ; 8a 85 ca 46 3706 3717 mov byte [bp-00ah], al ; 88 46 f6 3707 mov al, byte [bx+04 832h] ; 8a 87 32 483718 mov al, byte [bx+04637h] ; 8a 87 37 46 3708 3719 mov byte [bp-008h], al ; 88 46 f8 3709 3720 dec si ; 4e … … 3715 3726 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3716 3727 sal bx, 003h ; c1 e3 03 3717 mov bl, byte [bx+04 831h] ; 8a 9f 31 483728 mov bl, byte [bx+04636h] ; 8a 9f 36 46 3718 3729 cmp bl, 003h ; 80 fb 03 3719 3730 jc short 01f7fh ; 72 0e … … 3778 3789 movzx bx, al ; 0f b6 d8 3779 3790 sal bx, 003h ; c1 e3 03 3780 cmp byte [bx+04 830h], 000h ; 80 bf 30 48003791 cmp byte [bx+04635h], 000h ; 80 bf 35 46 00 3781 3792 je near 0212bh ; 0f 84 0f 01 3782 mov al, byte [bx+04 831h] ; 8a 87 31 483793 mov al, byte [bx+04636h] ; 8a 87 36 46 3783 3794 cmp AL, strict byte 003h ; 3c 03 3784 3795 jc short 02033h ; 72 0f … … 3834 3845 shr ax, 1 ; d1 e8 3835 3846 imul ax, ax, strict byte 00050h ; 6b c0 50 3836 cmp byte [bx+04 832h], 002h ; 80 bf 32 48023847 cmp byte [bx+04637h], 002h ; 80 bf 37 46 02 3837 3848 jne short 020b5h ; 75 08 3838 3849 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3852 3863 movzx si, byte [bp-004h] ; 0f b6 76 fc 3853 3864 sal si, 003h ; c1 e6 03 3854 cmp byte [si+04 832h], 002h ; 80 bc 32 48023865 cmp byte [si+04637h], 002h ; 80 bc 37 46 02 3855 3866 jne short 020fbh ; 75 19 3856 3867 mov al, byte [bp-00ah] ; 8a 46 f6 … … 3965 3976 mov si, bx ; 89 de 3966 3977 sal si, 003h ; c1 e6 03 3967 cmp byte [si+04 830h], 000h ; 80 bc 30 48003978 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 3968 3979 jne short 02256h ; 75 4d 3969 3980 mov ax, word [bp-012h] ; 8b 46 ee … … 3982 3993 add cx, ax ; 01 c1 3983 3994 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3984 mov ax, word [si+04 833h] ; 8b 84 33 483995 mov ax, word [si+04638h] ; 8b 84 38 46 3985 3996 mov dx, cx ; 89 ca 3986 3997 call 02f4ch ; e8 0f 0d … … 3990 4001 mov dx, cx ; 89 ca 3991 4002 inc dx ; 42 3992 mov ax, word [si+04 833h] ; 8b 84 33 484003 mov ax, word [si+04638h] ; 8b 84 38 46 3993 4004 call 02f4ch ; e8 f9 0c 3994 4005 jmp near 022d4h ; e9 7e 00 3995 movzx bx, byte [bx+04 8afh] ; 0f b6 9f af 484006 movzx bx, byte [bx+046b4h] ; 0f b6 9f b4 46 3996 4007 sal bx, 006h ; c1 e3 06 3997 mov ah, byte [bx+04 8c5h] ; 8a a7 c5 483998 mov dl, byte [si+04 832h] ; 8a 94 32 483999 mov al, byte [si+04 831h] ; 8a 84 31 484008 mov ah, byte [bx+046cah] ; 8a a7 ca 46 4009 mov dl, byte [si+04637h] ; 8a 94 37 46 4010 mov al, byte [si+04636h] ; 8a 84 36 46 4000 4011 cmp AL, strict byte 003h ; 3c 03 4001 4012 jc short 0227ah ; 72 0c … … 4053 4064 db 0feh, 0cbh 4054 4065 ; dec bl ; fe cb 4055 cmp byte [si+04 830h], 000h ; 80 bc 30 48004066 cmp byte [si+04635h], 000h ; 80 bc 35 46 00 4056 4067 jne short 02354h ; 75 4a 4057 4068 mov ax, word [bp-012h] ; 8b 46 ee … … 4072 4083 add dx, ax ; 01 c2 4073 4084 inc dx ; 42 4074 mov ax, word [si+04 833h] ; 8b 84 33 484085 mov ax, word [si+04638h] ; 8b 84 38 46 4075 4086 call 02f3eh ; e8 02 0c 4076 4087 push strict byte 00001h ; 6a 01 … … 4347 4358 sal di, 005h ; c1 e7 05 4348 4359 add di, word [bp-00ch] ; 03 7e f4 4349 add si, 05 dafh ; 81 c6 af 5d4360 add si, 05bf2h ; 81 c6 f2 5b 4350 4361 mov cx, strict word 0000eh ; b9 0e 00 4351 4362 mov dx, 0c000h ; ba 00 c0 … … 4403 4414 sal di, 005h ; c1 e7 05 4404 4415 add di, word [bp-00ch] ; 03 7e f4 4405 add si, 05 5afh ; 81 c6 af 554416 add si, 053f2h ; 81 c6 f2 53 4406 4417 mov cx, strict word 00008h ; b9 08 00 4407 4418 mov dx, 0c000h ; ba 00 c0 … … 4459 4470 sal di, 005h ; c1 e7 05 4460 4471 add di, word [bp-00ch] ; 03 7e f4 4461 add si, 06 bafh ; 81 c6 af 6b4472 add si, 069f2h ; 81 c6 f2 69 4462 4473 mov cx, strict word 00010h ; b9 10 00 4463 4474 mov dx, 0c000h ; ba 00 c0 … … 4593 4604 push bx ; 53 4594 4605 mov cx, ds ; 8c d9 4595 mov bx, 05 583h ; bb 83 554606 mov bx, 05388h ; bb 88 53 4596 4607 mov dx, word [bp-00ah] ; 8b 56 f6 4597 4608 mov ax, word [bp-008h] ; 8b 46 f8 … … 5493 5504 movzx bx, al ; 0f b6 d8 5494 5505 sal bx, 003h ; c1 e3 03 5495 cmp dl, byte [bx+04 82fh] ; 3a 97 2f 485506 cmp dl, byte [bx+04634h] ; 3a 97 34 46 5496 5507 jne short 02f24h ; 75 ee 5497 5508 mov ah, al ; 88 c4 … … 5929 5940 or AL, strict byte 01ch ; 0c 1c 5930 5941 jmp near 0306dh ; e9 20 fd 5931 call 007 a4h ; e8 54d45942 call 007fah ; e8 aa d4 5932 5943 test ax, ax ; 85 c0 5933 5944 je near 033c5h ; 0f 84 6f 00 … … 5951 5962 mov dx, word [bp+016h] ; 8b 56 16 5952 5963 lea ax, [bp+012h] ; 8d 46 12 5953 call 03 4f7h ; e8 70015964 call 03503h ; e8 7c 01 5954 5965 jmp short 033cah ; eb 41 5955 5966 mov cx, si ; 89 f1 … … 5957 5968 mov dx, word [bp+010h] ; 8b 56 10 5958 5969 lea ax, [bp+012h] ; 8d 46 12 5959 call 0362 0h ; e8 89025970 call 0362ch ; e8 95 02 5960 5971 jmp short 033cah ; eb 31 5961 5972 mov cx, si ; 89 f1 … … 5963 5974 mov dx, word [bp+00ch] ; 8b 56 0c 5964 5975 lea ax, [bp+012h] ; 8d 46 12 5965 call 036 d4h ; e8 2d 035976 call 036e4h ; e8 3d 03 5966 5977 jmp short 033cah ; eb 21 5967 5978 lea ax, [bp+00ch] ; 8d 46 0c … … 5971 5982 mov dx, word [bp+010h] ; 8b 56 10 5972 5983 lea ax, [bp+012h] ; 8d 46 12 5973 call 038 bbh ; e8 ff 045984 call 038cbh ; e8 0f 05 5974 5985 jmp short 033cah ; eb 0c 5975 5986 mov word [bp+012h], 00100h ; c7 46 12 00 01 … … 5981 5992 pop bp ; 5d 5982 5993 retn ; c3 5983 dispi_set_xres_: ; 0xc33d1 LB 0x1 b5994 dispi_set_xres_: ; 0xc33d1 LB 0x1f 5984 5995 push bp ; 55 5985 5996 mov bp, sp ; 89 e5 … … 5989 6000 mov ax, strict word 00001h ; b8 01 00 5990 6001 mov dx, 001ceh ; ba ce 01 5991 out DX, ax ; ef6002 call 00570h ; e8 8f d1 5992 6003 mov ax, bx ; 89 d8 5993 6004 mov dx, 001cfh ; ba cf 01 5994 out DX, ax ; ef6005 call 00570h ; e8 87 d1 5995 6006 lea sp, [bp-004h] ; 8d 66 fc 5996 6007 pop dx ; 5a … … 5998 6009 pop bp ; 5d 5999 6010 retn ; c3 6000 dispi_set_yres_: ; 0xc33 ec LB 0x1b6011 dispi_set_yres_: ; 0xc33f0 LB 0x1f 6001 6012 push bp ; 55 6002 6013 mov bp, sp ; 89 e5 … … 6006 6017 mov ax, strict word 00002h ; b8 02 00 6007 6018 mov dx, 001ceh ; ba ce 01 6008 out DX, ax ; ef6019 call 00570h ; e8 70 d1 6009 6020 mov ax, bx ; 89 d8 6010 6021 mov dx, 001cfh ; ba cf 01 6011 out DX, ax ; ef6022 call 00570h ; e8 68 d1 6012 6023 lea sp, [bp-004h] ; 8d 66 fc 6013 6024 pop dx ; 5a … … 6015 6026 pop bp ; 5d 6016 6027 retn ; c3 6017 dispi_set_bpp_: ; 0xc340 7 LB 0x1b6028 dispi_set_bpp_: ; 0xc340f LB 0x1f 6018 6029 push bp ; 55 6019 6030 mov bp, sp ; 89 e5 … … 6023 6034 mov ax, strict word 00003h ; b8 03 00 6024 6035 mov dx, 001ceh ; ba ce 01 6025 out DX, ax ; ef6036 call 00570h ; e8 51 d1 6026 6037 mov ax, bx ; 89 d8 6027 6038 mov dx, 001cfh ; ba cf 01 6028 out DX, ax ; ef6039 call 00570h ; e8 49 d1 6029 6040 lea sp, [bp-004h] ; 8d 66 fc 6030 6041 pop dx ; 5a … … 6032 6043 pop bp ; 5d 6033 6044 retn ; c3 6034 in_word_: ; 0xc342 2LB 0x126045 in_word_: ; 0xc342e LB 0x12 6035 6046 push bp ; 55 6036 6047 mov bp, sp ; 89 e5 … … 6045 6056 pop bp ; 5d 6046 6057 retn ; c3 6047 in_byte_: ; 0xc34 34LB 0x146058 in_byte_: ; 0xc3440 LB 0x14 6048 6059 push bp ; 55 6049 6060 mov bp, sp ; 89 e5 … … 6060 6071 pop bp ; 5d 6061 6072 retn ; c3 6062 dispi_get_id_: ; 0xc34 48LB 0x146073 dispi_get_id_: ; 0xc3454 LB 0x14 6063 6074 push bp ; 55 6064 6075 mov bp, sp ; 89 e5 … … 6073 6084 pop bp ; 5d 6074 6085 retn ; c3 6075 dispi_set_id_: ; 0xc34 5cLB 0x1a6086 dispi_set_id_: ; 0xc3468 LB 0x1a 6076 6087 push bp ; 55 6077 6088 mov bp, sp ; 89 e5 … … 6090 6101 pop bp ; 5d 6091 6102 retn ; c3 6092 vbe_init_: ; 0xc34 76LB 0x2c6103 vbe_init_: ; 0xc3482 LB 0x2c 6093 6104 push bp ; 55 6094 6105 mov bp, sp ; 89 e5 … … 6096 6107 push dx ; 52 6097 6108 mov ax, 0b0c0h ; b8 c0 b0 6098 call 034 5ch ; e8 db ff6099 call 034 48h ; e8 c4 ff6109 call 03468h ; e8 db ff 6110 call 03454h ; e8 c4 ff 6100 6111 cmp ax, 0b0c0h ; 3d c0 b0 6101 jne short 034 9bh ; 75 126112 jne short 034a7h ; 75 12 6102 6113 mov bx, strict word 00001h ; bb 01 00 6103 6114 mov dx, 000b9h ; ba b9 00 6104 6115 mov ax, strict word 00040h ; b8 40 00 6105 call 02f4ch ; e8 b7fa6116 call 02f4ch ; e8 ab fa 6106 6117 mov ax, 0b0c4h ; b8 c4 b0 6107 call 034 5ch ; e8 c1 ff6118 call 03468h ; e8 c1 ff 6108 6119 lea sp, [bp-004h] ; 8d 66 fc 6109 6120 pop dx ; 5a … … 6111 6122 pop bp ; 5d 6112 6123 retn ; c3 6113 mode_info_find_mode_: ; 0xc34a 2LB 0x556124 mode_info_find_mode_: ; 0xc34ae LB 0x55 6114 6125 push bp ; 55 6115 6126 mov bp, sp ; 89 e5 … … 6122 6133 xor dx, dx ; 31 d2 6123 6134 mov ax, 003b6h ; b8 b6 03 6124 call 0342 2h ; e8 6d ff6135 call 0342eh ; e8 6d ff 6125 6136 cmp ax, 077cch ; 3d cc 77 6126 jne short 034 ech ; 75 326137 jne short 034f8h ; 75 32 6127 6138 mov bx, strict word 00004h ; bb 04 00 6128 6139 mov dx, bx ; 89 da 6129 6140 mov ax, 003b6h ; b8 b6 03 6130 call 0342 2h ; e8 5d ff6141 call 0342eh ; e8 5d ff 6131 6142 mov cx, ax ; 89 c1 6132 6143 cmp cx, strict byte 0ffffh ; 83 f9 ff 6133 je short 034 ech ; 74 206144 je short 034f8h ; 74 20 6134 6145 lea dx, [bx+002h] ; 8d 57 02 6135 6146 mov ax, 003b6h ; b8 b6 03 6136 call 0342 2h ; e8 4d ff6147 call 0342eh ; e8 4d ff 6137 6148 lea dx, [bx+044h] ; 8d 57 44 6138 6149 cmp cx, di ; 39 f9 6139 jne short 034 e8h ; 75 0c6150 jne short 034f4h ; 75 0c 6140 6151 test si, si ; 85 f6 6141 jne short 034 e4h ; 75 046152 jne short 034f0h ; 75 04 6142 6153 mov ax, bx ; 89 d8 6143 jmp short 034 eeh ; eb 0a6154 jmp short 034fah ; eb 0a 6144 6155 test AL, strict byte 080h ; a8 80 6145 jne short 034e 0h ; 75 f86156 jne short 034ech ; 75 f8 6146 6157 mov bx, dx ; 89 d3 6147 jmp short 034 bfh ; eb d36158 jmp short 034cbh ; eb d3 6148 6159 xor ax, ax ; 31 c0 6149 6160 lea sp, [bp-008h] ; 8d 66 f8 … … 6154 6165 pop bp ; 5d 6155 6166 retn ; c3 6156 vbe_biosfn_return_controller_information_: ; 0xc3 4f7LB 0x1296167 vbe_biosfn_return_controller_information_: ; 0xc3503 LB 0x129 6157 6168 push bp ; 55 6158 6169 mov bp, sp ; 89 e5 … … 6165 6176 mov word [bp-00ah], bx ; 89 5e f6 6166 6177 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6167 call 005 a7h ; e8 98d06178 call 005b7h ; e8 9c d0 6168 6179 mov word [bp-010h], ax ; 89 46 f0 6169 6180 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6171 6182 xor dx, dx ; 31 d2 6172 6183 mov ax, 003b6h ; b8 b6 03 6173 call 0342 2h ; e8 02 ff6184 call 0342eh ; e8 02 ff 6174 6185 cmp ax, 077cch ; 3d cc 77 6175 je short 035 2fh ; 74 0a6186 je short 0353bh ; 74 0a 6176 6187 push SS ; 16 6177 6188 pop ES ; 07 6178 6189 mov word [es:si], 00100h ; 26 c7 04 00 01 6179 jmp near 036 18h ; e9 e9 006190 jmp near 03624h ; e9 e9 00 6180 6191 mov cx, strict word 00004h ; b9 04 00 6181 6192 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6182 6193 mov es, [bp-008h] ; 8e 46 f8 6183 6194 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6184 jne short 035 49h ; 75 076195 jne short 03555h ; 75 07 6185 6196 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6186 je short 035 58h ; 74 0f6197 je short 03564h ; 74 0f 6187 6198 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6188 jne short 035 5dh ; 75 0c6199 jne short 03569h ; 75 0c 6189 6200 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6190 jne short 035 5dh ; 75 056201 jne short 03569h ; 75 05 6191 6202 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6192 6203 mov es, [bp-008h] ; 8e 46 f8 … … 6194 6205 ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 6195 6206 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6196 mov word [es:bx+006h], 07 e20h ; 26 c7 47 06 20 7e6207 mov word [es:bx+006h], 07c64h ; 26 c7 47 06 64 7c 6197 6208 mov [es:bx+008h], ds ; 26 8c 5f 08 6198 6209 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h … … 6204 6215 mov dx, strict word 0ffffh ; ba ff ff 6205 6216 mov ax, 003b6h ; b8 b6 03 6206 call 0342 2h ; e8 8a fe6217 call 0342eh ; e8 8a fe 6207 6218 mov es, [bp-008h] ; 8e 46 f8 6208 6219 mov word [es:bx+012h], ax ; 26 89 47 12 6209 6220 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6210 je short 035 c9h ; 74 246221 je short 035d5h ; 74 24 6211 6222 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6212 mov word [es:bx+016h], 07 e35h ; 26 c7 47 16 35 7e6223 mov word [es:bx+016h], 07c79h ; 26 c7 47 16 79 7c 6213 6224 mov [es:bx+018h], ds ; 26 8c 5f 18 6214 mov word [es:bx+01ah], 07 e48h ; 26 c7 47 1a 48 7e6225 mov word [es:bx+01ah], 07c8ch ; 26 c7 47 1a 8c 7c 6215 6226 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6216 mov word [es:bx+01eh], 07 e69h ; 26 c7 47 1e 69 7e6227 mov word [es:bx+01eh], 07cadh ; 26 c7 47 1e ad 7c 6217 6228 mov [es:bx+020h], ds ; 26 8c 5f 20 6218 6229 mov dx, cx ; 89 ca 6219 6230 add dx, strict byte 0001bh ; 83 c2 1b 6220 6231 mov ax, 003b6h ; b8 b6 03 6221 call 034 34h ; e8 60 fe6232 call 03440h ; e8 60 fe 6222 6233 xor ah, ah ; 30 e4 6223 6234 cmp ax, word [bp-010h] ; 3b 46 f0 6224 jnbe short 03 5f4h ; 77 196235 jnbe short 03600h ; 77 19 6225 6236 mov dx, cx ; 89 ca 6226 6237 mov ax, 003b6h ; b8 b6 03 6227 call 0342 2h ; e8 3f fe6238 call 0342eh ; e8 3f fe 6228 6239 mov bx, ax ; 89 c3 6229 6240 mov dx, word [bp-00ah] ; 8b 56 f6 6230 6241 add dx, word [bp-00ch] ; 03 56 f4 6231 6242 mov ax, di ; 89 f8 6232 call 02f68h ; e8 78f96243 call 02f68h ; e8 6c f9 6233 6244 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6234 6245 add cx, strict byte 00044h ; 83 c1 44 6235 6246 mov dx, cx ; 89 ca 6236 6247 mov ax, 003b6h ; b8 b6 03 6237 call 0342 2h ; e8 23 fe6248 call 0342eh ; e8 23 fe 6238 6249 mov bx, ax ; 89 c3 6239 6250 cmp ax, strict word 0ffffh ; 3d ff ff 6240 jne short 035 c9h ; 75 c36251 jne short 035d5h ; 75 c3 6241 6252 mov dx, word [bp-00ah] ; 8b 56 f6 6242 6253 add dx, word [bp-00ch] ; 03 56 f4 6243 6254 mov ax, di ; 89 f8 6244 call 02f68h ; e8 57f96255 call 02f68h ; e8 4b f9 6245 6256 push SS ; 16 6246 6257 pop ES ; 07 … … 6252 6263 pop bp ; 5d 6253 6264 retn ; c3 6254 vbe_biosfn_return_mode_information_: ; 0xc362 0 LB 0xb46265 vbe_biosfn_return_mode_information_: ; 0xc362c LB 0xb8 6255 6266 push bp ; 55 6256 6267 mov bp, sp ; 89 e5 … … 6268 6279 xor dh, dh ; 30 f6 6269 6280 and ah, 001h ; 80 e4 01 6270 call 034a 2h ; e8 65 fe6281 call 034aeh ; e8 65 fe 6271 6282 mov word [bp-008h], ax ; 89 46 f8 6272 6283 test ax, ax ; 85 c0 6273 je near 036 c2h ; 0f 84 7c006284 je near 036d2h ; 0f 84 80 00 6274 6285 mov cx, 00100h ; b9 00 01 6275 6286 xor ax, ax ; 31 c0 … … 6277 6288 mov es, bx ; 8e c3 6278 6289 cld ; fc 6279 jcxz 036 55h ; e3 026290 jcxz 03661h ; e3 02 6280 6291 rep stosb ; f3 aa 6281 6292 xor cx, cx ; 31 c9 6282 jmp short 036 5eh ; eb 056293 jmp short 0366ah ; eb 05 6283 6294 cmp cx, strict byte 00042h ; 83 f9 42 6284 jnc short 036 7bh ; 73 1d6295 jnc short 03687h ; 73 1d 6285 6296 mov dx, word [bp-008h] ; 8b 56 f8 6286 6297 inc dx ; 42 … … 6288 6299 add dx, cx ; 01 ca 6289 6300 mov ax, 003b6h ; b8 b6 03 6290 call 034 34h ; e8 c9 fd6301 call 03440h ; e8 c9 fd 6291 6302 movzx bx, al ; 0f b6 d8 6292 6303 mov dx, word [bp-006h] ; 8b 56 fa 6293 6304 add dx, cx ; 01 ca 6294 6305 mov ax, si ; 89 f0 6295 call 02f4ch ; e8 d4f86296 inc cx ; 41 6297 jmp short 036 59h ; eb de6306 call 02f4ch ; e8 c8 f8 6307 inc cx ; 41 6308 jmp short 03665h ; eb de 6298 6309 mov dx, word [bp-006h] ; 8b 56 fa 6299 6310 inc dx ; 42 6300 6311 inc dx ; 42 6301 6312 mov ax, si ; 89 f0 6302 call 02f3eh ; e8 b9f86313 call 02f3eh ; e8 ad f8 6303 6314 test AL, strict byte 001h ; a8 01 6304 je short 036 a5h ; 74 1c6315 je short 036b1h ; 74 1c 6305 6316 mov dx, word [bp-006h] ; 8b 56 fa 6306 6317 add dx, strict byte 0000ch ; 83 c2 0c 6307 mov bx, 006 05h ; bb 05066308 mov ax, si ; 89 f0 6309 call 02f68h ; e8 d1f86318 mov bx, 00629h ; bb 29 06 6319 mov ax, si ; 89 f0 6320 call 02f68h ; e8 c5 f8 6310 6321 mov dx, word [bp-006h] ; 8b 56 fa 6311 6322 add dx, strict byte 0000eh ; 83 c2 0e 6312 6323 mov bx, 0c000h ; bb 00 c0 6313 6324 mov ax, si ; 89 f0 6314 call 02f68h ; e8 c3f86325 call 02f68h ; e8 b7 f8 6315 6326 mov ax, strict word 0000bh ; b8 0b 00 6316 6327 mov dx, 001ceh ; ba ce 01 6317 out DX, ax ; ef6328 call 00570h ; e8 b6 ce 6318 6329 mov dx, 001cfh ; ba cf 01 6319 in ax, DX ; ed6330 call 00577h ; e8 b7 ce 6320 6331 mov dx, word [bp-006h] ; 8b 56 fa 6321 6332 add dx, strict byte 0002ah ; 83 c2 2a 6322 6333 mov bx, ax ; 89 c3 6323 6334 mov ax, si ; 89 f0 6324 call 02f68h ; e8 ab f86335 call 02f68h ; e8 9b f8 6325 6336 mov ax, strict word 0004fh ; b8 4f 00 6326 jmp short 036 c5h ; eb 036337 jmp short 036d5h ; eb 03 6327 6338 mov ax, 00100h ; b8 00 01 6328 6339 push SS ; 16 … … 6335 6346 pop bp ; 5d 6336 6347 retn ; c3 6337 vbe_biosfn_set_mode_: ; 0xc36 d4 LB 0xe96348 vbe_biosfn_set_mode_: ; 0xc36e4 LB 0xe9 6338 6349 push bp ; 55 6339 6350 mov bp, sp ; 89 e5 … … 6349 6360 mov ax, dx ; 89 d0 6350 6361 test dx, dx ; 85 d2 6351 je short 03 6f4h ; 74 036362 je short 03704h ; 74 03 6352 6363 mov dx, strict word 00040h ; ba 40 00 6353 6364 mov byte [bp-006h], dl ; 88 56 fa 6354 6365 test byte [bp-009h], 080h ; f6 46 f7 80 6355 je short 037 02h ; 74 056366 je short 03712h ; 74 05 6356 6367 mov dx, 00080h ; ba 80 00 6357 jmp short 037 04h ; eb 026368 jmp short 03714h ; eb 02 6358 6369 xor dx, dx ; 31 d2 6359 6370 mov byte [bp-008h], dl ; 88 56 f8 6360 6371 and byte [bp-009h], 001h ; 80 66 f7 01 6361 6372 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6362 jnc short 037 24h ; 73 126373 jnc short 03734h ; 73 12 6363 6374 xor ax, ax ; 31 c0 6364 call 005 c9h ; e8 b2ce6375 call 005ddh ; e8 b6 ce 6365 6376 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6366 call 00fdch ; e8 be d86377 call 00fdch ; e8 ae d8 6367 6378 mov ax, strict word 0004fh ; b8 4f 00 6368 jmp near 037 b3h ; e9 8f 006379 jmp near 037c3h ; e9 8f 00 6369 6380 mov dx, ax ; 89 c2 6370 6381 mov ax, word [bp-00ah] ; 8b 46 f6 6371 call 034a 2h ; e8 76fd6382 call 034aeh ; e8 72 fd 6372 6383 mov bx, ax ; 89 c3 6373 6384 test ax, ax ; 85 c0 6374 je near 037 b0h ; 0f 84 7c 006385 je near 037c0h ; 0f 84 7c 00 6375 6386 lea dx, [bx+014h] ; 8d 57 14 6376 6387 mov ax, 003b6h ; b8 b6 03 6377 call 0342 2h ; e8 e5fc6388 call 0342eh ; e8 e1 fc 6378 6389 mov cx, ax ; 89 c1 6379 6390 lea dx, [bx+016h] ; 8d 57 16 6380 6391 mov ax, 003b6h ; b8 b6 03 6381 call 0342 2h ; e8 dafc6392 call 0342eh ; e8 d6 fc 6382 6393 mov di, ax ; 89 c7 6383 6394 lea dx, [bx+01bh] ; 8d 57 1b 6384 6395 mov ax, 003b6h ; b8 b6 03 6385 call 034 34h ; e8 e1fc6396 call 03440h ; e8 dd fc 6386 6397 mov bl, al ; 88 c3 6387 6398 mov dl, al ; 88 c2 6388 6399 xor ax, ax ; 31 c0 6389 call 005 c9h ; e8 6dce6400 call 005ddh ; e8 71 ce 6390 6401 cmp bl, 004h ; 80 fb 04 6391 jne short 037 67h ; 75 066402 jne short 03777h ; 75 06 6392 6403 mov ax, strict word 0006ah ; b8 6a 00 6393 call 00fdch ; e8 75 d86404 call 00fdch ; e8 65 d8 6394 6405 movzx ax, dl ; 0f b6 c2 6395 call 0340 7h ; e8 9afc6406 call 0340fh ; e8 92 fc 6396 6407 mov ax, cx ; 89 c8 6397 call 033d1h ; e8 5f fc6408 call 033d1h ; e8 4f fc 6398 6409 mov ax, di ; 89 f8 6399 call 033 ech ; e8 75fc6410 call 033f0h ; e8 69 fc 6400 6411 xor ax, ax ; 31 c0 6401 call 00 5e7h ; e8 6bce6412 call 00603h ; e8 77 ce 6402 6413 mov al, byte [bp-008h] ; 8a 46 f8 6403 6414 or AL, strict byte 001h ; 0c 01 … … 6405 6416 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6406 6417 or ax, dx ; 09 d0 6407 call 005 c9h ; e8 3cce6408 call 00 6c3h ; e8 33cf6418 call 005ddh ; e8 40 ce 6419 call 0070dh ; e8 6d cf 6409 6420 mov bx, word [bp-00ah] ; 8b 5e f6 6410 6421 mov dx, 000bah ; ba ba 00 6411 6422 mov ax, strict word 00040h ; b8 40 00 6412 call 02f68h ; e8 cc f76423 call 02f68h ; e8 bc f7 6413 6424 mov al, byte [bp-008h] ; 8a 46 f8 6414 6425 or AL, strict byte 060h ; 0c 60 … … 6416 6427 mov dx, 00087h ; ba 87 00 6417 6428 mov ax, strict word 00040h ; b8 40 00 6418 call 02f4ch ; e8 9f f76419 jmp near 037 1eh ; e9 6e ff6429 call 02f4ch ; e8 8f f7 6430 jmp near 0372eh ; e9 6e ff 6420 6431 mov ax, 00100h ; b8 00 01 6421 6432 mov word [ss:si], ax ; 36 89 04 … … 6425 6436 pop bp ; 5d 6426 6437 retn ; c3 6427 vbe_biosfn_read_video_state_size_: ; 0xc37 bd LB 0x86438 vbe_biosfn_read_video_state_size_: ; 0xc37cd LB 0x8 6428 6439 push bp ; 55 6429 6440 mov bp, sp ; 89 e5 … … 6431 6442 pop bp ; 5d 6432 6443 retn ; c3 6433 vbe_biosfn_save_video_state_: ; 0xc37 c5 LB 0x5b6444 vbe_biosfn_save_video_state_: ; 0xc37d5 LB 0x5b 6434 6445 push bp ; 55 6435 6446 mov bp, sp ; 89 e5 … … 6450 6461 mov dx, cx ; 89 ca 6451 6462 mov ax, di ; 89 f8 6452 call 02f68h ; e8 80 f76463 call 02f68h ; e8 70 f7 6453 6464 inc cx ; 41 6454 6465 inc cx ; 41 6455 6466 test byte [bp-00ah], 001h ; f6 46 f6 01 6456 je short 038 17h ; 74 276467 je short 03827h ; 74 27 6457 6468 mov si, strict word 00001h ; be 01 00 6458 jmp short 03 7fah ; eb 056469 jmp short 0380ah ; eb 05 6459 6470 cmp si, strict byte 00009h ; 83 fe 09 6460 jnbe short 038 17h ; 77 1d6471 jnbe short 03827h ; 77 1d 6461 6472 cmp si, strict byte 00004h ; 83 fe 04 6462 je short 038 14h ; 74 156473 je short 03824h ; 74 15 6463 6474 mov ax, si ; 89 f0 6464 6475 mov dx, 001ceh ; ba ce 01 … … 6469 6480 mov dx, cx ; 89 ca 6470 6481 mov ax, di ; 89 f8 6471 call 02f68h ; e8 56 f76482 call 02f68h ; e8 46 f7 6472 6483 inc cx ; 41 6473 6484 inc cx ; 41 6474 6485 inc si ; 46 6475 jmp short 03 7f5h ; eb de6486 jmp short 03805h ; eb de 6476 6487 lea sp, [bp-008h] ; 8d 66 f8 6477 6488 pop di ; 5f … … 6481 6492 pop bp ; 5d 6482 6493 retn ; c3 6483 vbe_biosfn_restore_video_state_: ; 0xc38 20 LB 0x9b6494 vbe_biosfn_restore_video_state_: ; 0xc3830 LB 0x9b 6484 6495 push bp ; 55 6485 6496 mov bp, sp ; 89 e5 … … 6490 6501 mov cx, ax ; 89 c1 6491 6502 mov bx, dx ; 89 d3 6492 call 02f5ah ; e8 2c f76503 call 02f5ah ; e8 1c f7 6493 6504 mov word [bp-008h], ax ; 89 46 f8 6494 6505 inc bx ; 43 6495 6506 inc bx ; 43 6496 6507 test byte [bp-008h], 001h ; f6 46 f8 01 6497 jne short 038 49h ; 75 106508 jne short 03859h ; 75 10 6498 6509 mov ax, strict word 00004h ; b8 04 00 6499 6510 mov dx, 001ceh ; ba ce 01 … … 6502 6513 mov dx, 001cfh ; ba cf 01 6503 6514 out DX, ax ; ef 6504 jmp short 038 b3h ; eb 6a6515 jmp short 038c3h ; eb 6a 6505 6516 mov ax, strict word 00001h ; b8 01 00 6506 6517 mov dx, 001ceh ; ba ce 01 … … 6508 6519 mov dx, bx ; 89 da 6509 6520 mov ax, cx ; 89 c8 6510 call 02f5ah ; e8 03 f76521 call 02f5ah ; e8 f3 f6 6511 6522 mov dx, 001cfh ; ba cf 01 6512 6523 out DX, ax ; ef … … 6518 6529 mov dx, bx ; 89 da 6519 6530 mov ax, cx ; 89 c8 6520 call 02f5ah ; e8 ef f66531 call 02f5ah ; e8 df f6 6521 6532 mov dx, 001cfh ; ba cf 01 6522 6533 out DX, ax ; ef … … 6528 6539 mov dx, bx ; 89 da 6529 6540 mov ax, cx ; 89 c8 6530 call 02f5ah ; e8 db f66541 call 02f5ah ; e8 cb f6 6531 6542 mov dx, 001cfh ; ba cf 01 6532 6543 out DX, ax ; ef … … 6540 6551 out DX, ax ; ef 6541 6552 mov si, strict word 00005h ; be 05 00 6542 jmp short 038 9dh ; eb 056553 jmp short 038adh ; eb 05 6543 6554 cmp si, strict byte 00009h ; 83 fe 09 6544 jnbe short 038 b3h ; 77 166555 jnbe short 038c3h ; 77 16 6545 6556 mov ax, si ; 89 f0 6546 6557 mov dx, 001ceh ; ba ce 01 … … 6548 6559 mov dx, bx ; 89 da 6549 6560 mov ax, cx ; 89 c8 6550 call 02f5ah ; e8 b0 f66561 call 02f5ah ; e8 a0 f6 6551 6562 mov dx, 001cfh ; ba cf 01 6552 6563 out DX, ax ; ef … … 6554 6565 inc bx ; 43 6555 6566 inc si ; 46 6556 jmp short 038 98h ; eb e56567 jmp short 038a8h ; eb e5 6557 6568 lea sp, [bp-006h] ; 8d 66 fa 6558 6569 pop si ; 5e … … 6561 6572 pop bp ; 5d 6562 6573 retn ; c3 6563 vbe_biosfn_save_restore_state_: ; 0xc38 bb LB 0x8c6574 vbe_biosfn_save_restore_state_: ; 0xc38cb LB 0x8c 6564 6575 push bp ; 55 6565 6576 mov bp, sp ; 89 e5 … … 6574 6585 xor ah, ah ; 30 e4 6575 6586 cmp ax, strict word 00002h ; 3d 02 00 6576 je short 039 1ah ; 74 456587 je short 0392ah ; 74 45 6577 6588 cmp ax, strict word 00001h ; 3d 01 00 6578 je short 03 8feh ; 74 246589 je short 0390eh ; 74 24 6579 6590 test ax, ax ; 85 c0 6580 jne short 039 36h ; 75 586591 jne short 03946h ; 75 58 6581 6592 mov ax, word [bp-006h] ; 8b 46 fa 6582 call 02853h ; e8 6f ef6593 call 02853h ; e8 5f ef 6583 6594 mov cx, ax ; 89 c1 6584 6595 test byte [bp-006h], 008h ; f6 46 fa 08 6585 je short 03 8f1h ; 74 056586 call 037 bdh ; e8 ce fe6596 je short 03901h ; 74 05 6597 call 037cdh ; e8 ce fe 6587 6598 add ax, cx ; 01 c8 6588 6599 add ax, strict word 0003fh ; 05 3f 00 … … 6591 6602 pop ES ; 07 6592 6603 mov word [es:bx], ax ; 26 89 07 6593 jmp short 039 39h ; eb 3b6604 jmp short 03949h ; eb 3b 6594 6605 push SS ; 16 6595 6606 pop ES ; 07 … … 6597 6608 mov dx, cx ; 89 ca 6598 6609 mov ax, word [bp-006h] ; 8b 46 fa 6599 call 02888h ; e8 7d ef6610 call 02888h ; e8 6d ef 6600 6611 test byte [bp-006h], 008h ; f6 46 fa 08 6601 je short 039 39h ; 74 286612 je short 03949h ; 74 28 6602 6613 mov dx, ax ; 89 c2 6603 6614 mov ax, cx ; 89 c8 6604 call 037 c5h ; e8 ad fe6605 jmp short 039 39h ; eb 1f6615 call 037d5h ; e8 ad fe 6616 jmp short 03949h ; eb 1f 6606 6617 push SS ; 16 6607 6618 pop ES ; 07 … … 6609 6620 mov dx, cx ; 89 ca 6610 6621 mov ax, word [bp-006h] ; 8b 46 fa 6611 call 02bf1h ; e8 ca f26622 call 02bf1h ; e8 ba f2 6612 6623 test byte [bp-006h], 008h ; f6 46 fa 08 6613 je short 039 39h ; 74 0c6624 je short 03949h ; 74 0c 6614 6625 mov dx, ax ; 89 c2 6615 6626 mov ax, cx ; 89 c8 6616 call 038 20h ; e8 ec fe6617 jmp short 039 39h ; eb 036627 call 03830h ; e8 ec fe 6628 jmp short 03949h ; eb 03 6618 6629 mov di, 00100h ; bf 00 01 6619 6630 push SS ; 16 … … 6626 6637 retn 00002h ; c2 02 00 6627 6638 6628 ; Padding 0x cb9 bytes at 0xc39476629 times 3257db 06639 ; Padding 0xaa9 bytes at 0xc3957 6640 times 2729 db 0 6630 6641 6631 section VBE32 progbits vstart=0x4 600 align=1 ; size=0x115 class=CODE group=AUTO6632 vesa_pm_start: ; 0xc4 600 LB 0x1146642 section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO 6643 vesa_pm_start: ; 0xc4400 LB 0x114 6633 6644 sbb byte [bx+si], al ; 18 00 6634 6645 dec di ; 4f … … 6661 6672 db 066h, 03bh, 0d0h 6662 6673 ; cmp edx, eax ; 66 3b d0 6663 jne short 04 64ah ; 75 056674 jne short 0444ah ; 75 05 6664 6675 mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 6665 6676 mov ax, 0014fh ; b8 4f 01 6666 6677 retn ; c3 6667 6678 cmp bl, 080h ; 80 fb 80 6668 je short 04 65eh ; 74 0a6679 je short 0445eh ; 74 0a 6669 6680 cmp bl, 000h ; 80 fb 00 6670 je short 04 66eh ; 74 156681 je short 0446eh ; 74 15 6671 6682 mov eax, strict dword 052c30100h ; 66 b8 00 01 c3 52 6672 6683 mov edx, strict dword 0a8ec03dah ; 66 ba da 03 ec a8 … … 6674 6685 in AL, DX ; ec 6675 6686 test AL, strict byte 008h ; a8 08 6676 je short 04 668h ; 74 fb6687 je short 04468h ; 74 fb 6677 6688 pop dx ; 5a 6678 6689 push ax ; 50 … … 6704 6715 pop ax ; 58 6705 6716 cmp si, strict byte 00004h ; 83 fe 04 6706 je short 04 6c7h ; 74 176717 je short 044c7h ; 74 17 6707 6718 add si, strict byte 00007h ; 83 c6 07 6708 6719 shr si, 003h ; c1 ee 03 … … 6718 6729 ; xor dx, dx ; 33 d2 6719 6730 div si ; f7 f6 6720 jmp short 04 6d3h ; eb 0c6731 jmp short 044d3h ; eb 0c 6721 6732 shr cx, 1 ; d1 e9 6722 6733 db 033h, 0d2h … … 6753 6764 mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 6754 6765 mov ax, 0014fh ; b8 4f 01 6755 vesa_pm_end: ; 0xc4 714 LB 0x16766 vesa_pm_end: ; 0xc4514 LB 0x1 6756 6767 retn ; c3 6757 6768 6758 ; Padding 0xeb bytes at 0xc4 7156769 ; Padding 0xeb bytes at 0xc4515 6759 6770 times 235 db 0 6760 6771 6761 section _DATA progbits vstart=0x4 800 align=1 ; size=0x36e1class=DATA group=DGROUP6762 _msg_vga_init: ; 0xc4 800 LB 0x2f6763 db 'Oracle VM VirtualBox Version 4.3.53VGA BIOS', 00dh, 00ah, 000h6764 _vga_modes: ; 0xc4 82fLB 0x806772 section _DATA progbits vstart=0x4600 align=1 ; size=0x372a class=DATA group=DGROUP 6773 _msg_vga_init: ; 0xc4600 LB 0x34 6774 db 'Oracle VM VirtualBox Version 5.0.0_BETA2 VGA BIOS', 00dh, 00ah, 000h 6775 _vga_modes: ; 0xc4634 LB 0x80 6765 6776 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 6766 6777 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 6771 6782 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6772 6783 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6773 _line_to_vpti: ; 0xc4 8afLB 0x106784 _line_to_vpti: ; 0xc46b4 LB 0x10 6774 6785 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 6775 _dac_regs: ; 0xc4 8bfLB 0x46786 _dac_regs: ; 0xc46c4 LB 0x4 6776 6787 dd 0ff3f3f3fh 6777 _video_param_table: ; 0xc4 8c3LB 0x7806788 _video_param_table: ; 0xc46c8 LB 0x780 6778 6789 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6779 6790 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 6896 6907 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 6897 6908 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 6898 _palette0: ; 0xc 5043LB 0xc06909 _palette0: ; 0xc4e48 LB 0xc0 6899 6910 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6900 6911 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 6909 6920 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6910 6921 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6911 _palette1: ; 0xc 5103LB 0xc06922 _palette1: ; 0xc4f08 LB 0xc0 6912 6923 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6913 6924 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 6922 6933 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6923 6934 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6924 _palette2: ; 0xc 51c3LB 0xc06935 _palette2: ; 0xc4fc8 LB 0xc0 6925 6936 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6926 6937 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 6935 6946 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6936 6947 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6937 _palette3: ; 0xc5 283LB 0x3006948 _palette3: ; 0xc5088 LB 0x300 6938 6949 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6939 6950 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 6984 6995 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6985 6996 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6986 _static_functionality: ; 0xc5 583LB 0x106997 _static_functionality: ; 0xc5388 LB 0x10 6987 6998 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 6988 _video_save_pointer_table: ; 0xc5593 LB 0x1c 6989 db 0c3h, 048h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6991 _vgafont8: ; 0xc55af LB 0x800 6999 _dcc_table: ; 0xc5398 LB 0x24 7000 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7001 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7002 db 000h, 000h, 000h, 000h 7003 _secondary_save_area: ; 0xc53bc LB 0x1a 7004 db 01ah, 000h, 098h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7005 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7006 _video_save_pointer_table: ; 0xc53d6 LB 0x1c 7007 db 0c8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7008 db 0bch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7009 _vgafont8: ; 0xc53f2 LB 0x800 6992 7010 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 6993 7011 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7118 7136 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7119 7137 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7120 _vgafont14: ; 0xc5 dafLB 0xe007138 _vgafont14: ; 0xc5bf2 LB 0xe00 7121 7139 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7122 7140 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7343 7361 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7344 7362 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7345 _vgafont16: ; 0xc6 bafLB 0x10007363 _vgafont16: ; 0xc69f2 LB 0x1000 7346 7364 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7347 7365 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 7600 7618 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 7601 7619 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7602 _vgafont14alt: ; 0xc7 bafLB 0x12d7620 _vgafont14alt: ; 0xc79f2 LB 0x12d 7603 7621 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 7604 7622 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 7620 7638 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 7621 7639 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 7622 _vgafont16alt: ; 0xc7 cdc LB 0x1447640 _vgafont16alt: ; 0xc7b1f LB 0x145 7623 7641 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 7624 7642 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 7641 7659 db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh 7642 7660 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 7643 db 006h, 000h, 000h, 000h 7644 _vbebios_copyright: ; 0xc7 e20LB 0x157661 db 006h, 000h, 000h, 000h, 000h 7662 _vbebios_copyright: ; 0xc7c64 LB 0x15 7645 7663 db 'VirtualBox VESA BIOS', 000h 7646 _vbebios_vendor_name: ; 0xc7 e35LB 0x137664 _vbebios_vendor_name: ; 0xc7c79 LB 0x13 7647 7665 db 'Oracle Corporation', 000h 7648 _vbebios_product_name: ; 0xc7 e48LB 0x217666 _vbebios_product_name: ; 0xc7c8c LB 0x21 7649 7667 db 'Oracle VM VirtualBox VBE Adapter', 000h 7650 _vbebios_product_revision: ; 0xc7 e69 LB 0x247651 db 'Oracle VM VirtualBox Version 4.3.53', 000h7652 _vbebios_info_string: ; 0xc7 e8dLB 0x2b7668 _vbebios_product_revision: ; 0xc7cad LB 0x29 7669 db 'Oracle VM VirtualBox Version 5.0.0_BETA2', 000h 7670 _vbebios_info_string: ; 0xc7cd6 LB 0x2b 7653 7671 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 7654 _no_vbebios_info_string: ; 0xc7 eb8LB 0x297672 _no_vbebios_info_string: ; 0xc7d01 LB 0x29 7655 7673 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 7656 7674 7657 ; Padding 0x1 bytes at 0xc7ee1 7658 db 001h 7675 section CONST progbits vstart=0x7d2a align=1 ; size=0x0 class=DATA group=DGROUP 7659 7676 7660 section CONST progbits vstart=0x7ee2align=1 ; size=0x0 class=DATA group=DGROUP7677 section CONST2 progbits vstart=0x7d2a align=1 ; size=0x0 class=DATA group=DGROUP 7661 7678 7662 section CONST2 progbits vstart=0x7ee2 align=1 ; size=0x0 class=DATA group=DGROUP 7663 7664 ; Padding 0x11e bytes at 0xc7ee2 7665 db 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh, 065h 7666 db 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh, 075h 7667 db 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h, 065h 7668 db 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h 7669 db 061h, 042h, 069h, 06fh, 073h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h, 06fh 7670 db 073h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7671 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7672 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7673 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7674 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7675 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7676 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7677 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7678 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7679 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7680 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7681 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7682 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 055h 7679 ; Padding 0x2d6 bytes at 0xc7d2a 7680 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 7681 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh 7682 db 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h 7683 db 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh, 078h, 056h 7684 db 067h, 061h, 042h, 069h, 06fh, 073h, 02fh, 056h, 042h, 06fh, 078h, 056h, 067h, 061h, 042h, 069h 7685 db 06fh, 073h, 02eh, 073h, 079h, 06dh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7686 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7687 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7688 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7689 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7690 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7691 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7692 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7693 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7694 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7695 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7696 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7697 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7698 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7699 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7700 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7701 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7702 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7703 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7704 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7705 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7706 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7707 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7708 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7709 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7710 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7711 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7712 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7713 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7714 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7715 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7716 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7717 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7718 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7719 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7720 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7721 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7722 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7723 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7724 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7725 db 000h, 000h, 000h, 000h, 000h, 0e0h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
r51255 r55260 1 2abf7b9050be07a06bb5f956042ff4df*VBoxVgaBios.rom1 7e4d004d15d19ad5f6d812e04876154c *VBoxVgaBios.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
r55078 r55260 856 856 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 857 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 0 5dh, 07bh, 025h, 089h858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 089h, 07bh, 06bh, 089h 859 859 _softrst: ; 0xf0076 LB 0xc 860 860 db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 054h, 038h, 054h, 038h 861 861 _dskacc: ; 0xf0082 LB 0x2e 862 862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 027h, 052h, 028h, 000h, 000h, 000h, 000h 863 db 0 ebh, 079h, 0a4h, 07ah, 021h, 088h, 0b5h, 088h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h863 db 017h, 07ah, 0d0h, 07ah, 066h, 088h, 0f9h, 088h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 864 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 865 … … 984 984 section CONST2 progbits vstart=0xd90 align=1 ; size=0x400 class=DATA group=DGROUP 985 985 _bios_cvs_version_string: ; 0xf0d90 LB 0x18 986 db 'VirtualBox 5.0.0_BETA 1', 000h, 000h986 db 'VirtualBox 5.0.0_BETA2', 000h, 000h 987 987 _bios_prefix_string: ; 0xf0da8 LB 0x8 988 988 db 'BIOS: ', 000h, 000h … … 1058 1058 times 1136 db 0 1059 1059 1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 1e5 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8235 class=CODE group=AUTO 1061 1061 rom_scan_: ; 0xf1600 LB 0x50 1062 1062 push bp ; 55 … … 1455 1455 mov bx, strict word 0000ah ; bb 0a 00 1456 1456 xor cx, cx ; 31 c9 1457 call 09 6f0h ; e8 17 7e1457 call 09740h ; e8 67 7e 1458 1458 mov word [bp-008h], ax ; 89 46 f8 1459 1459 mov cx, dx ; 89 d1 … … 4985 4985 mov dx, ss ; 8c d2 4986 4986 lea ax, [bp-026h] ; 8d 46 da 4987 call 097 5ah ; e8 a4 5c4987 call 097aah ; e8 f4 5c 4988 4988 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 4989 4989 mov ax, strict word 00011h ; b8 11 00 … … 5444 5444 xor dl, dl ; 30 d2 5445 5445 xor cx, cx ; 31 c9 5446 call 097 29h ; e8 12 575446 call 09779h ; e8 62 57 5447 5447 xor bx, bx ; 31 db 5448 5448 add ax, si ; 01 f0 … … 5450 5450 mov bx, di ; 89 fb 5451 5451 xor cx, cx ; 31 c9 5452 call 097 29h ; e8 05 575452 call 09779h ; e8 55 57 5453 5453 mov bx, ax ; 89 c3 5454 5454 mov ax, word [bp-010h] ; 8b 46 f0 … … 5485 5485 mov dx, ss ; 8c d2 5486 5486 lea ax, [bp-02eh] ; 8d 46 d2 5487 call 097 5ah ; e8 df 565487 call 097aah ; e8 2f 57 5488 5488 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5489 5489 mov ax, word [bp-014h] ; 8b 46 ec … … 5792 5792 mov dx, ss ; 8c d2 5793 5793 lea ax, [bp-02ch] ; 8d 46 d4 5794 call 097 5ah ; e8 44 535794 call 097aah ; e8 94 53 5795 5795 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 5796 5796 mov ax, word [bp-018h] ; 8b 46 e8 … … 7612 7612 mov bx, strict word 0003fh ; bb 3f 00 7613 7613 xor cx, cx ; 31 c9 7614 call 097 29h ; e8 30 417614 call 09779h ; e8 80 41 7615 7615 mov bx, ax ; 89 c3 7616 7616 mov cx, dx ; 89 d1 7617 7617 mov ax, word [bp-004h] ; 8b 46 fc 7618 7618 mov dx, word [bp-002h] ; 8b 56 fe 7619 call 09 6f0h ; e8 ea 407619 call 09740h ; e8 3a 41 7620 7620 mov word [es:si+002h], ax ; 26 89 44 02 7621 7621 cmp ax, 00400h ; 3d 00 04 … … 7835 7835 mov bx, cx ; 89 cb 7836 7836 xor cx, cx ; 31 c9 7837 call 097 29h ; e8 05 3f7837 call 09779h ; e8 55 3f 7838 7838 xor bx, bx ; 31 db 7839 7839 add ax, word [bp-008h] ; 03 46 f8 … … 7841 7841 mov bx, word [bp-00ah] ; 8b 5e f6 7842 7842 xor cx, cx ; 31 c9 7843 call 097 29h ; e8 f6 3e7843 call 09779h ; e8 46 3f 7844 7844 xor bx, bx ; 31 db 7845 7845 add ax, word [bp-006h] ; 03 46 fa … … 7999 7999 mov bx, word [bp-008h] ; 8b 5e f8 8000 8000 xor cx, cx ; 31 c9 8001 call 097 29h ; e8 37 3d8001 call 09779h ; e8 87 3d 8002 8002 mov bx, word [bp-006h] ; 8b 5e fa 8003 8003 xor cx, cx ; 31 c9 8004 call 097 29h ; e8 2f 3d8004 call 09779h ; e8 7f 3d 8005 8005 mov word [bp-010h], ax ; 89 46 f0 8006 8006 mov word [bp-00eh], dx ; 89 56 f2 … … 11049 11049 pop bp ; 5d 11050 11050 retn ; c3 11051 scsi_cmd_data_in_: ; 0xf7885 LB 0x b211051 scsi_cmd_data_in_: ; 0xf7885 LB 0xc9 11052 11052 push bp ; 55 11053 11053 mov bp, sp ; 89 e5 … … 11057 11057 mov si, ax ; 89 c6 11058 11058 mov byte [bp-006h], dl ; 88 56 fa 11059 mov word [bp-00 ah], bx ; 89 5e f611060 mov word [bp-00 8h], cx ; 89 4e f811059 mov word [bp-008h], bx ; 89 5e f8 11060 mov word [bp-00ah], cx ; 89 4e f6 11061 11061 mov bx, word [bp+00ah] ; 8b 5e 0a 11062 11062 mov dx, si ; 89 f2 … … 11095 11095 movzx ax, byte [bp+004h] ; 0f b6 46 04 11096 11096 cmp cx, ax ; 39 c1 11097 jnc short 078f3h ; 73 0e 11098 les di, [bp-00ah] ; c4 7e f6 11097 jnc short 078f6h ; 73 11 11098 mov es, [bp-00ah] ; 8e 46 f6 11099 mov di, word [bp-008h] ; 8b 7e f8 11099 11100 add di, cx ; 01 cf 11100 11101 mov al, byte [es:di] ; 26 8a 05 … … 11102 11103 out DX, AL ; ee 11103 11104 inc cx ; 41 11104 jmp short 078ddh ; eb e a11105 jmp short 078ddh ; eb e7 11105 11106 mov dx, si ; 89 f2 11106 11107 in AL, DX ; ec … … 11108 11109 ; sub ah, ah ; 2a e4 11109 11110 test AL, strict byte 001h ; a8 01 11110 jne short 078f3h ; 75 f7 11111 jne short 078f6h ; 75 f7 11112 test AL, strict byte 002h ; a8 02 11113 je short 07911h ; 74 0e 11114 lea dx, [si+003h] ; 8d 54 03 11115 xor al, al ; 30 c0 11116 out DX, AL ; ee 11117 in AL, DX ; ec 11118 db 02ah, 0e4h 11119 ; sub ah, ah ; 2a e4 11120 mov di, strict word 00004h ; bf 04 00 11121 jmp short 07943h ; eb 32 11111 11122 lea dx, [si+001h] ; 8d 54 01 11112 11123 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11113 jne short 079 0bh ; 75 0611124 jne short 07920h ; 75 06 11114 11125 cmp bx, 08000h ; 81 fb 00 80 11115 jbe short 079 25h ; 76 1a11126 jbe short 0793ah ; 76 1a 11116 11127 mov cx, 08000h ; b9 00 80 11117 11128 les di, [bp+006h] ; c4 7e 06 … … 11122 11133 add ax, 00800h ; 05 00 08 11123 11134 mov word [bp+008h], ax ; 89 46 08 11124 jmp short 07 8fch ; eb d711135 jmp short 07911h ; eb d7 11125 11136 mov cx, bx ; 89 d9 11126 11137 les di, [bp+006h] ; c4 7e 06 11127 11138 rep insb ; f3 6c 11128 xor ax, ax ; 31 c0 11139 xor di, di ; 31 ff 11140 mov ax, di ; 89 f8 11129 11141 lea sp, [bp-004h] ; 8d 66 fc 11130 11142 pop di ; 5f … … 11132 11144 pop bp ; 5d 11133 11145 retn 0000ah ; c2 0a 00 11134 scsi_cmd_data_out_: ; 0xf79 37 LB 0xb411146 scsi_cmd_data_out_: ; 0xf794e LB 0xc9 11135 11147 push bp ; 55 11136 11148 mov bp, sp ; 89 e5 … … 11140 11152 mov di, ax ; 89 c7 11141 11153 mov byte [bp-006h], dl ; 88 56 fa 11142 mov word [bp-00 ah], bx ; 89 5e f611143 mov word [bp-00 8h], cx ; 89 4e f811154 mov word [bp-008h], bx ; 89 5e f8 11155 mov word [bp-00ah], cx ; 89 4e f6 11144 11156 mov bx, word [bp+00ah] ; 8b 5e 0a 11145 11157 mov dx, di ; 89 fa … … 11148 11160 ; sub ah, ah ; 2a e4 11149 11161 test AL, strict byte 001h ; a8 01 11150 jne short 079 4dh ; 75 f711162 jne short 07964h ; 75 f7 11151 11163 mov ax, bx ; 89 d8 11152 11164 mov dx, word [bp+00ch] ; 8b 56 0c … … 11154 11166 shr dx, 1 ; d1 ea 11155 11167 rcr ax, 1 ; d1 d8 11156 loop 079 5eh ; e2 fa11168 loop 07975h ; e2 fa 11157 11169 and ax, 000f0h ; 25 f0 00 11158 11170 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 11172 11184 shr dx, 1 ; d1 ea 11173 11185 rcr ax, 1 ; d1 d8 11174 loop 079 84h ; e2 fa11186 loop 0799bh ; e2 fa 11175 11187 mov dx, di ; 89 fa 11176 11188 out DX, AL ; ee … … 11178 11190 movzx ax, byte [bp+004h] ; 0f b6 46 04 11179 11191 cmp cx, ax ; 39 c1 11180 jnc short 079a5h ; 73 0e 11181 les si, [bp-00ah] ; c4 76 f6 11192 jnc short 079bfh ; 73 11 11193 mov es, [bp-00ah] ; 8e 46 f6 11194 mov si, word [bp-008h] ; 8b 76 f8 11182 11195 add si, cx ; 01 ce 11183 11196 mov al, byte [es:si] ; 26 8a 04 … … 11185 11198 out DX, AL ; ee 11186 11199 inc cx ; 41 11187 jmp short 079 8fh ; eb ea11200 jmp short 079a6h ; eb e7 11188 11201 lea dx, [di+001h] ; 8d 55 01 11189 11202 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11190 jne short 079 b4h ; 75 0611203 jne short 079ceh ; 75 06 11191 11204 cmp bx, 08000h ; 81 fb 00 80 11192 jbe short 079 cfh ; 76 1b11205 jbe short 079e9h ; 76 1b 11193 11206 mov cx, 08000h ; b9 00 80 11194 11207 les si, [bp+006h] ; c4 76 06 … … 11200 11213 add ax, 00800h ; 05 00 08 11201 11214 mov word [bp+008h], ax ; 89 46 08 11202 jmp short 079 a5h ; eb d611215 jmp short 079bfh ; eb d6 11203 11216 mov cx, bx ; 89 d9 11204 11217 les si, [bp+006h] ; c4 76 06 … … 11210 11223 ; sub ah, ah ; 2a e4 11211 11224 test AL, strict byte 001h ; a8 01 11212 jne short 079d7h ; 75 f7 11225 jne short 079f1h ; 75 f7 11226 test AL, strict byte 002h ; a8 02 11227 je short 07a0ch ; 74 0e 11228 lea dx, [di+003h] ; 8d 55 03 11229 xor al, al ; 30 c0 11230 out DX, AL ; ee 11231 in AL, DX ; ec 11232 db 02ah, 0e4h 11233 ; sub ah, ah ; 2a e4 11234 mov ax, strict word 00004h ; b8 04 00 11235 jmp short 07a0eh ; eb 02 11213 11236 xor ax, ax ; 31 c0 11214 11237 lea sp, [bp-004h] ; 8d 66 fc … … 11217 11240 pop bp ; 5d 11218 11241 retn 0000ah ; c2 0a 00 11219 @scsi_read_sectors: ; 0xf7 9ebLB 0xb911242 @scsi_read_sectors: ; 0xf7a17 LB 0xb9 11220 11243 push bp ; 55 11221 11244 mov bp, sp ; 89 e5 … … 11228 11251 sub bl, 008h ; 80 eb 08 11229 11252 cmp bl, 004h ; 80 fb 04 11230 jbe short 07a 17h ; 76 1211253 jbe short 07a43h ; 76 12 11231 11254 movzx ax, bl ; 0f b6 c3 11232 11255 push ax ; 50 … … 11234 11257 push 00b38h ; 68 38 0b 11235 11258 push strict byte 00007h ; 6a 07 11236 call 01972h ; e8 5e9f11259 call 01972h ; e8 32 9f 11237 11260 add sp, strict byte 00008h ; 83 c4 08 11238 11261 mov es, [bp+006h] ; 8e 46 06 … … 11261 11284 sal word [bp-008h], 1 ; d1 66 f8 11262 11285 rcl word [bp-006h], 1 ; d1 56 fa 11263 loop 07a 60h ; e2 f811286 loop 07a8ch ; e2 f8 11264 11287 push dword [bp-008h] ; 66 ff 76 f8 11265 11288 db 066h, 026h, 0ffh, 074h, 004h … … 11269 11292 mov cx, ss ; 8c d1 11270 11293 lea bx, [bp-012h] ; 8d 5e ee 11271 call 07885h ; e8 08 fe11294 call 07885h ; e8 dc fd 11272 11295 mov ah, al ; 88 c4 11273 11296 test al, al ; 84 c0 11274 jne short 07a 98h ; 75 1511297 jne short 07ac4h ; 75 15 11275 11298 mov es, [bp+006h] ; 8e 46 06 11276 11299 mov word [es:si+014h], di ; 26 89 7c 14 … … 11285 11308 pop bp ; 5d 11286 11309 retn 00004h ; c2 04 00 11287 @scsi_write_sectors: ; 0xf7a a4LB 0xb911310 @scsi_write_sectors: ; 0xf7ad0 LB 0xb9 11288 11311 push bp ; 55 11289 11312 mov bp, sp ; 89 e5 … … 11296 11319 sub bl, 008h ; 80 eb 08 11297 11320 cmp bl, 004h ; 80 fb 04 11298 jbe short 07a d0h ; 76 1211321 jbe short 07afch ; 76 12 11299 11322 movzx ax, bl ; 0f b6 c3 11300 11323 push ax ; 50 … … 11302 11325 push 00b38h ; 68 38 0b 11303 11326 push strict byte 00007h ; 6a 07 11304 call 01972h ; e8 a59e11327 call 01972h ; e8 79 9e 11305 11328 add sp, strict byte 00008h ; 83 c4 08 11306 11329 mov es, [bp+006h] ; 8e 46 06 … … 11329 11352 sal word [bp-008h], 1 ; d1 66 f8 11330 11353 rcl word [bp-006h], 1 ; d1 56 fa 11331 loop 07b 19h ; e2 f811354 loop 07b45h ; e2 f8 11332 11355 push dword [bp-008h] ; 66 ff 76 f8 11333 11356 db 066h, 026h, 0ffh, 074h, 004h … … 11337 11360 mov cx, ss ; 8c d1 11338 11361 lea bx, [bp-012h] ; 8d 5e ee 11339 call 079 37h ; e8 01 fe11362 call 0794eh ; e8 ec fd 11340 11363 mov ah, al ; 88 c4 11341 11364 test al, al ; 84 c0 11342 jne short 07b 51h ; 75 1511365 jne short 07b7dh ; 75 15 11343 11366 mov es, [bp+006h] ; 8e 46 06 11344 11367 mov word [es:si+014h], di ; 26 89 7c 14 … … 11353 11376 pop bp ; 5d 11354 11377 retn 00004h ; c2 04 00 11355 scsi_cmd_packet_: ; 0xf7b 5dLB 0x16611378 scsi_cmd_packet_: ; 0xf7b89 LB 0x166 11356 11379 push bp ; 55 11357 11380 mov bp, sp ; 89 e5 … … 11365 11388 mov dx, strict word 0000eh ; ba 0e 00 11366 11389 mov ax, strict word 00040h ; b8 40 00 11367 call 0166ch ; e8 f39a11390 call 0166ch ; e8 c7 9a 11368 11391 mov si, 00122h ; be 22 01 11369 11392 mov word [bp-00eh], ax ; 89 46 f2 11370 11393 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11371 jne short 07b a4h ; 75 1f11394 jne short 07bd0h ; 75 1f 11372 11395 mov bx, 00da8h ; bb a8 0d 11373 11396 mov cx, ds ; 8c d9 11374 11397 mov ax, strict word 00004h ; b8 04 00 11375 call 01931h ; e8 a19d11398 call 01931h ; e8 75 9d 11376 11399 push 00b6ah ; 68 6a 0b 11377 11400 push 00b7ah ; 68 7a 0b 11378 11401 push strict byte 00004h ; 6a 04 11379 call 01972h ; e8 d79d11402 call 01972h ; e8 ab 9d 11380 11403 add sp, strict byte 00006h ; 83 c4 06 11381 11404 mov dx, strict word 00001h ; ba 01 00 11382 jmp near 07c b8h ; e9 14 0111405 jmp near 07ce4h ; e9 14 01 11383 11406 sub di, strict byte 00008h ; 83 ef 08 11384 11407 sal di, 002h ; c1 e7 02 … … 11394 11417 ; sub ah, ah ; 2a e4 11395 11418 test AL, strict byte 001h ; a8 01 11396 jne short 07b c0h ; 75 f711419 jne short 07bech ; 75 f7 11397 11420 xor ax, ax ; 31 c0 11398 11421 mov dx, word [bp+006h] ; 8b 56 06 … … 11410 11433 shr dx, 1 ; d1 ea 11411 11434 rcr ax, 1 ; d1 d8 11412 loop 07 bebh ; e2 fa11435 loop 07c17h ; e2 fa 11413 11436 and ax, 000f0h ; 25 f0 00 11414 11437 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 11428 11451 shr dx, 1 ; d1 ea 11429 11452 rcr ax, 1 ; d1 d8 11430 loop 07c 12h ; e2 fa11453 loop 07c3eh ; e2 fa 11431 11454 mov dx, bx ; 89 da 11432 11455 out DX, AL ; ee … … 11434 11457 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11435 11458 cmp cx, ax ; 39 c1 11436 jnc short 07c 33h ; 73 0e11459 jnc short 07c5fh ; 73 0e 11437 11460 les di, [bp-00ch] ; c4 7e f4 11438 11461 add di, cx ; 01 cf … … 11441 11464 out DX, AL ; ee 11442 11465 inc cx ; 41 11443 jmp short 07c 1dh ; eb ea11466 jmp short 07c49h ; eb ea 11444 11467 mov dx, bx ; 89 da 11445 11468 in AL, DX ; ec … … 11447 11470 ; sub ah, ah ; 2a e4 11448 11471 test AL, strict byte 001h ; a8 01 11449 jne short 07c 33h ; 75 f711472 jne short 07c5fh ; 75 f7 11450 11473 test AL, strict byte 002h ; a8 02 11451 je short 07c 4eh ; 74 0e11474 je short 07c7ah ; 74 0e 11452 11475 lea dx, [bx+003h] ; 8d 57 03 11453 11476 xor al, al ; 30 c0 … … 11457 11480 ; sub ah, ah ; 2a e4 11458 11481 mov dx, strict word 00003h ; ba 03 00 11459 jmp short 07c b8h ; eb 6a11482 jmp short 07ce4h ; eb 6a 11460 11483 mov ax, word [bp+004h] ; 8b 46 04 11461 11484 test ax, ax ; 85 c0 11462 je short 07c 5dh ; 74 0811485 je short 07c89h ; 74 08 11463 11486 lea dx, [bx+001h] ; 8d 57 01 11464 11487 mov cx, ax ; 89 c1 11465 11488 in AL, DX ; ec 11466 loop 07c 5ah ; e2 fd11489 loop 07c86h ; e2 fd 11467 11490 mov ax, word [bp+006h] ; 8b 46 06 11468 11491 mov es, [bp-00eh] ; 8e 46 f2 … … 11472 11495 lea ax, [bx+001h] ; 8d 47 01 11473 11496 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 11474 jne short 07c 7eh ; 75 0711497 jne short 07caah ; 75 07 11475 11498 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 11476 jbe short 07c 9bh ; 76 1d11499 jbe short 07cc7h ; 76 1d 11477 11500 mov dx, ax ; 89 c2 11478 11501 mov cx, 08000h ; b9 00 80 … … 11484 11507 add ax, 00800h ; 05 00 08 11485 11508 mov word [bp+00eh], ax ; 89 46 0e 11486 jmp short 07c 6eh ; eb d311509 jmp short 07c9ah ; eb d3 11487 11510 mov dx, ax ; 89 c2 11488 11511 mov cx, word [bp+006h] ; 8b 4e 06 … … 11491 11514 mov es, [bp-00eh] ; 8e 46 f2 11492 11515 cmp word [es:si+01ch], strict byte 00000h ; 26 83 7c 1c 00 11493 je short 07c b6h ; 74 0711516 je short 07ce2h ; 74 07 11494 11517 mov cx, word [es:si+01ch] ; 26 8b 4c 1c 11495 11518 in AL, DX ; ec 11496 loop 07c b3h ; e2 fd11519 loop 07cdfh ; e2 fd 11497 11520 xor dx, dx ; 31 d2 11498 11521 mov ax, dx ; 89 d0 … … 11502 11525 pop bp ; 5d 11503 11526 retn 0000ch ; c2 0c 00 11504 scsi_enumerate_attached_devices_: ; 0xf7c c3 LB 0x3e511527 scsi_enumerate_attached_devices_: ; 0xf7cef LB 0x3e4 11505 11528 push bp ; 55 11506 11529 mov bp, sp ; 89 e5 … … 11510 11533 push si ; 56 11511 11534 push di ; 57 11512 sub sp, 0021 ch ; 81 ec 1c0211535 sub sp, 0021eh ; 81 ec 1e 02 11513 11536 push ax ; 50 11514 11537 mov dx, strict word 0000eh ; ba 0e 00 11515 11538 mov ax, strict word 00040h ; b8 40 00 11516 call 0166ch ; e8 939911539 call 0166ch ; e8 67 99 11517 11540 mov si, 00122h ; be 22 01 11518 mov word [bp-01ah], ax ; 89 46 e6 11519 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 11520 jmp near 08036h ; e9 4f 03 11521 mov es, [bp-01ah] ; 8e 46 e6 11522 cmp byte [es:si+001e8h], 004h ; 26 80 bc e8 01 04 11523 jnc near 0809eh ; 0f 83 aa 03 11541 mov word [bp-018h], ax ; 89 46 e8 11542 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 11543 jmp near 08055h ; e9 42 03 11544 cmp AL, strict byte 004h ; 3c 04 11545 jnc near 080c9h ; 0f 83 b0 03 11524 11546 mov cx, strict word 0000ah ; b9 0a 00 11525 11547 xor bx, bx ; 31 db 11526 11548 mov dx, ss ; 8c d2 11527 lea ax, [bp-02 6h] ; 8d 46 da11528 call 097 5ah ; e8 591a11529 mov byte [bp-02 6h], 025h ; c6 46 da2511549 lea ax, [bp-028h] ; 8d 46 d8 11550 call 097aah ; e8 84 1a 11551 mov byte [bp-028h], 025h ; c6 46 d8 25 11530 11552 push dword 000000008h ; 66 6a 08 11531 lea dx, [bp-0022 6h] ; 8d 96 dafd11553 lea dx, [bp-00228h] ; 8d 96 d8 fd 11532 11554 push SS ; 16 11533 11555 push dx ; 52 11534 11556 push strict byte 0000ah ; 6a 0a 11535 movzx dx, byte [bp-0 10h] ; 0f b6 56 f011557 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 11536 11558 mov cx, ss ; 8c d1 11537 lea bx, [bp-02 6h] ; 8d 5e da11538 mov ax, word [bp-0022 8h] ; 8b 86 d8fd11539 call 07885h ; e8 65fb11559 lea bx, [bp-028h] ; 8d 5e d8 11560 mov ax, word [bp-0022ah] ; 8b 86 d6 fd 11561 call 07885h ; e8 40 fb 11540 11562 test al, al ; 84 c0 11541 je short 07d 32h ; 74 0e11563 je short 07d57h ; 74 0e 11542 11564 push 00b9ah ; 68 9a 0b 11543 11565 push 00bd3h ; 68 d3 0b 11544 11566 push strict byte 00007h ; 6a 07 11545 call 01972h ; e8 439c11567 call 01972h ; e8 1e 9c 11546 11568 add sp, strict byte 00006h ; 83 c4 06 11547 movzx ax, byte [bp-0022 5h] ; 0f b6 86 dbfd11548 movzx di, byte [bp-0022 6h] ; 0f b6 be dafd11569 movzx ax, byte [bp-00227h] ; 0f b6 86 d9 fd 11570 movzx di, byte [bp-00228h] ; 0f b6 be d8 fd 11549 11571 sal di, 008h ; c1 e7 08 11550 11572 xor bx, bx ; 31 db 11551 11573 or di, ax ; 09 c7 11552 movzx ax, byte [bp-0022 4h] ; 0f b6 86 dcfd11574 movzx ax, byte [bp-00226h] ; 0f b6 86 da fd 11553 11575 xor dx, dx ; 31 d2 11554 11576 mov cx, strict word 00008h ; b9 08 00 11555 11577 sal ax, 1 ; d1 e0 11556 11578 rcl dx, 1 ; d1 d2 11557 loop 07d 4dh ; e2 fa11579 loop 07d72h ; e2 fa 11558 11580 or bx, ax ; 09 c3 11559 or d x, di ; 09 fa11560 movzx ax, byte [bp-0022 3h] ; 0f b6 86 ddfd11581 or di, dx ; 09 d7 11582 movzx ax, byte [bp-00225h] ; 0f b6 86 db fd 11561 11583 or bx, ax ; 09 c3 11562 mov word [bp-00eh], bx ; 89 5e f2 11563 mov word [bp-018h], dx ; 89 56 e8 11564 movzx di, byte [bp-00222h] ; 0f b6 be de fd 11565 sal di, 008h ; c1 e7 08 11566 movzx dx, byte [bp-00221h] ; 0f b6 96 df fd 11584 mov word [bp-014h], bx ; 89 5e ec 11585 add word [bp-014h], strict byte 00001h ; 83 46 ec 01 11586 adc di, strict byte 00000h ; 83 d7 00 11587 movzx ax, byte [bp-00224h] ; 0f b6 86 dc fd 11588 sal ax, 008h ; c1 e0 08 11589 movzx dx, byte [bp-00223h] ; 0f b6 96 dd fd 11567 11590 xor bx, bx ; 31 db 11568 or di, dx ; 09 d7 11569 movzx ax, byte [bp-00220h] ; 0f b6 86 e0 fd 11591 or ax, dx ; 09 d0 11592 mov word [bp-012h], ax ; 89 46 ee 11593 movzx ax, byte [bp-00222h] ; 0f b6 86 de fd 11570 11594 xor dx, dx ; 31 d2 11571 11595 mov cx, strict word 00008h ; b9 08 00 11572 11596 sal ax, 1 ; d1 e0 11573 11597 rcl dx, 1 ; d1 d2 11574 loop 07d 7fh ; e2 fa11598 loop 07dabh ; e2 fa 11575 11599 or ax, bx ; 09 d8 11576 or dx, di ; 09 fa11577 movzx bx, byte [bp-002 1fh] ; 0f b6 9e e1fd11600 or dx, word [bp-012h] ; 0b 56 ee 11601 movzx bx, byte [bp-00221h] ; 0f b6 9e df fd 11578 11602 or ax, bx ; 09 d8 11579 mov word [bp-01 6h], ax ; 89 46 ea11603 mov word [bp-010h], ax ; 89 46 f0 11580 11604 test dx, dx ; 85 d2 11581 jne short 07d 9ch ; 75 0511605 jne short 07dc9h ; 75 05 11582 11606 cmp ax, 00200h ; 3d 00 02 11583 je short 07d bch ; 74 2011607 je short 07de9h ; 74 20 11584 11608 mov bx, 00da8h ; bb a8 0d 11585 11609 mov cx, ds ; 8c d9 11586 11610 mov ax, strict word 00004h ; b8 04 00 11587 call 01931h ; e8 8a9b11611 call 01931h ; e8 5d 9b 11588 11612 push dx ; 52 11589 push word [bp-016h] ; ff 76 ea11590 11613 push word [bp-010h] ; ff 76 f0 11614 push word [bp-00eh] ; ff 76 f2 11591 11615 push 00bf2h ; 68 f2 0b 11592 11616 push strict byte 00004h ; 6a 04 11593 call 01972h ; e8 bc9b11617 call 01972h ; e8 8f 9b 11594 11618 add sp, strict byte 0000ah ; 83 c4 0a 11595 jmp near 0802dh ; e9 71 02 11596 mov es, [bp-01ah] ; 8e 46 e6 11597 mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01 11598 mov byte [bp-00ch], al ; 88 46 f4 11619 jmp near 0804ch ; e9 63 02 11620 mov al, byte [bp-00ch] ; 8a 46 f4 11599 11621 cmp AL, strict byte 001h ; 3c 01 11600 jc short 07d d7h ; 72 0c11601 jbe short 07 ddfh ; 76 1211622 jc short 07dfch ; 72 0c 11623 jbe short 07e04h ; 76 12 11602 11624 cmp AL, strict byte 003h ; 3c 03 11603 je short 07 de7h ; 74 1611625 je short 07e0ch ; 74 16 11604 11626 cmp AL, strict byte 002h ; 3c 02 11605 je short 07 de3h ; 74 0e11606 jmp short 07e 33h ; eb 5c11627 je short 07e08h ; 74 0e 11628 jmp short 07e5bh ; eb 5f 11607 11629 test al, al ; 84 c0 11608 jne short 07e 33h ; 75 5811630 jne short 07e5bh ; 75 5b 11609 11631 mov BL, strict byte 090h ; b3 90 11610 jmp short 07 de9h ; eb 0a11632 jmp short 07e0eh ; eb 0a 11611 11633 mov BL, strict byte 098h ; b3 98 11612 jmp short 07 de9h ; eb 0611634 jmp short 07e0eh ; eb 06 11613 11635 mov BL, strict byte 0a0h ; b3 a0 11614 jmp short 07 de9h ; eb 0211636 jmp short 07e0eh ; eb 02 11615 11637 mov BL, strict byte 0a8h ; b3 a8 11616 11638 mov al, bl ; 88 d8 … … 11618 11640 movzx cx, al ; 0f b6 c8 11619 11641 mov ax, cx ; 89 c8 11620 call 016ach ; e8 b79811642 call 016ach ; e8 92 98 11621 11643 test al, al ; 84 c0 11622 je short 07e 33h ; 74 3a11644 je short 07e5bh ; 74 3d 11623 11645 mov al, bl ; 88 d8 11624 11646 db 0feh, 0c0h 11625 11647 ; inc al ; fe c0 11626 11648 xor ah, ah ; 30 e4 11627 call 016ach ; e8 aa9811649 call 016ach ; e8 85 98 11628 11650 xor ah, ah ; 30 e4 11629 mov dx, ax ; 89 c211630 sal dx, 008h ; c1 e2 0811651 sal ax, 008h ; c1 e0 08 11652 mov word [bp-012h], ax ; 89 46 ee 11631 11653 movzx ax, bl ; 0f b6 c3 11632 call 016ach ; e8 9d9811654 call 016ach ; e8 77 98 11633 11655 xor ah, ah ; 30 e4 11634 add ax, dx ; 01 d011656 add ax, word [bp-012h] ; 03 46 ee 11635 11657 cwd ; 99 11636 mov di, ax ; 89 c711637 mov word [bp-01 2h], dx ; 89 56 ee11658 mov word [bp-01eh], ax ; 89 46 e2 11659 mov word [bp-016h], dx ; 89 56 ea 11638 11660 mov al, bl ; 88 d8 11639 11661 add AL, strict byte 002h ; 04 02 11640 11662 xor ah, ah ; 30 e4 11641 call 016ach ; e8 8a 98 11642 xor ah, ah ; 30 e4 11643 mov word [bp-014h], ax ; 89 46 ec 11644 mov ax, cx ; 89 c8 11645 call 016ach ; e8 80 98 11663 call 016ach ; e8 62 98 11646 11664 xor ah, ah ; 30 e4 11647 11665 mov word [bp-01ch], ax ; 89 46 e4 11648 jmp short 07e78h ; eb 45 11649 mov ax, word [bp-018h] ; 8b 46 e8 11650 cmp ax, strict word 00040h ; 3d 40 00 11651 jnbe short 07e3dh ; 77 02 11652 jne short 07e49h ; 75 0c 11653 mov word [bp-014h], 000ffh ; c7 46 ec ff 00 11654 mov word [bp-01ch], strict word 0003fh ; c7 46 e4 3f 00 11655 jmp short 07e61h ; eb 18 11656 cmp ax, strict word 00020h ; 3d 20 00 11657 jnbe short 07e50h ; 77 02 11658 jne short 07e57h ; 75 07 11659 mov word [bp-014h], 00080h ; c7 46 ec 80 00 11660 jmp short 07e5ch ; eb 05 11661 mov word [bp-014h], strict word 00040h ; c7 46 ec 40 00 11662 mov word [bp-01ch], strict word 00020h ; c7 46 e4 20 00 11663 mov bx, word [bp-014h] ; 8b 5e ec 11664 imul bx, word [bp-01ch] ; 0f af 5e e4 11665 mov ax, word [bp-00eh] ; 8b 46 f2 11666 mov dx, word [bp-018h] ; 8b 56 e8 11666 mov ax, cx ; 89 c8 11667 call 016ach ; e8 58 98 11668 xor ah, ah ; 30 e4 11669 mov word [bp-01ah], ax ; 89 46 e6 11670 jmp short 07e9ch ; eb 41 11671 cmp di, strict byte 00040h ; 83 ff 40 11672 jnbe short 07e62h ; 77 02 11673 jne short 07e6ch ; 75 0a 11674 mov dword [bp-01ch], strict dword 0003f00ffh ; 66 c7 46 e4 ff 00 3f 00 11675 jmp short 07e85h ; eb 19 11676 cmp di, strict byte 00020h ; 83 ff 20 11677 jnbe short 07e73h ; 77 02 11678 jne short 07e7dh ; 75 0a 11679 mov dword [bp-01ch], strict dword 000200080h ; 66 c7 46 e4 80 00 20 00 11680 jmp short 07e85h ; eb 08 11681 mov dword [bp-01ch], strict dword 000200040h ; 66 c7 46 e4 40 00 20 00 11682 mov bx, word [bp-01ch] ; 8b 5e e4 11683 imul bx, word [bp-01ah] ; 0f af 5e e6 11684 mov ax, word [bp-014h] ; 8b 46 ec 11685 mov dx, di ; 89 fa 11667 11686 xor cx, cx ; 31 c9 11668 call 09 6f0h ; e8 7d1811669 mov di, ax ; 89 c711670 mov word [bp-01 2h], dx ; 89 56 ee11687 call 09740h ; e8 aa 18 11688 mov word [bp-01eh], ax ; 89 46 e2 11689 mov word [bp-016h], dx ; 89 56 ea 11671 11690 mov dl, byte [bp-00ch] ; 8a 56 f4 11672 11691 add dl, 008h ; 80 c2 08 11673 11692 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 11674 11693 sal bx, 002h ; c1 e3 02 11675 mov es, [bp-01 ah] ; 8e 46 e611694 mov es, [bp-018h] ; 8e 46 e8 11676 11695 add bx, si ; 01 f3 11677 mov ax, word [bp-0022 8h] ; 8b 86 d8fd11696 mov ax, word [bp-0022ah] ; 8b 86 d6 fd 11678 11697 mov word [es:bx+001d8h], ax ; 26 89 87 d8 01 11679 mov al, byte [bp-0 10h] ; 8a 46 f011698 mov al, byte [bp-00eh] ; 8a 46 f2 11680 11699 mov byte [es:bx+001dah], al ; 26 88 87 da 01 11681 11700 movzx ax, dl ; 0f b6 c2 … … 11685 11704 db 066h, 026h, 0c7h, 047h, 01eh, 004h, 0ffh, 000h, 000h 11686 11705 ; mov dword [es:bx+01eh], strict dword 00000ff04h ; 66 26 c7 47 1e 04 ff 00 00 11687 mov ax, word [bp-01 6h] ; 8b 46 ea11706 mov ax, word [bp-010h] ; 8b 46 f0 11688 11707 mov word [es:bx+024h], ax ; 26 89 47 24 11689 11708 mov byte [es:bx+023h], 001h ; 26 c6 47 23 01 11690 mov ax, word [bp-01 4h] ; 8b 46 ec11709 mov ax, word [bp-01ch] ; 8b 46 e4 11691 11710 mov word [es:bx+026h], ax ; 26 89 47 26 11692 mov ax, word [bp-01 ch] ; 8b 46 e411711 mov ax, word [bp-01ah] ; 8b 46 e6 11693 11712 mov word [es:bx+02ah], ax ; 26 89 47 2a 11694 cmp word [bp-01 2h], strict byte 00000h ; 83 7e ee0011695 jne short 07e d4h ; 75 0611696 cmp di, 00400h ; 81 ff00 0411697 jbe short 07 edch ; 76 0811713 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11714 jne short 07ef9h ; 75 07 11715 cmp word [bp-01eh], 00400h ; 81 7e e2 00 04 11716 jbe short 07f01h ; 76 08 11698 11717 mov word [es:bx+028h], 00400h ; 26 c7 47 28 00 04 11699 jmp short 07ee0h ; eb 04 11700 mov word [es:bx+028h], di ; 26 89 7f 28 11718 jmp short 07f08h ; eb 07 11719 mov ax, word [bp-01eh] ; 8b 46 e2 11720 mov word [es:bx+028h], ax ; 26 89 47 28 11701 11721 mov bx, 00da8h ; bb a8 0d 11702 11722 mov cx, ds ; 8c d9 11703 11723 mov ax, strict word 00004h ; b8 04 00 11704 call 01931h ; e8 46 9a 11705 push word [bp-018h] ; ff 76 e8 11724 call 01931h ; e8 1e 9a 11725 push di ; 57 11726 push word [bp-014h] ; ff 76 ec 11727 push dword [bp-01ch] ; 66 ff 76 e4 11728 push word [bp-01eh] ; ff 76 e2 11706 11729 push word [bp-00eh] ; ff 76 f2 11707 push word [bp-01ch] ; ff 76 e411708 push word [bp-014h] ; ff 76 ec11709 push di ; 5711710 push word [bp-010h] ; ff 76 f011711 11730 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11712 11731 push ax ; 50 11713 11732 push 00c20h ; 68 20 0c 11714 11733 push strict byte 00004h ; 6a 04 11715 call 01972h ; e8 6a9a11734 call 01972h ; e8 44 9a 11716 11735 add sp, strict byte 00012h ; 83 c4 12 11717 11736 movzx ax, dl ; 0f b6 c2 11718 11737 imul ax, ax, strict byte 00018h ; 6b c0 18 11719 mov es, [bp-01ah] ; 8e 46 e6 11738 mov es, [bp-018h] ; 8e 46 e8 11739 mov bx, si ; 89 f3 11740 add bx, ax ; 01 c3 11741 mov ax, word [bp-01ch] ; 8b 46 e4 11742 mov word [es:bx+02ch], ax ; 26 89 47 2c 11743 mov ax, word [bp-01ah] ; 8b 46 e6 11744 mov word [es:bx+030h], ax ; 26 89 47 30 11745 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11746 jne short 07f59h ; 75 07 11747 cmp word [bp-01eh], 00400h ; 81 7e e2 00 04 11748 jbe short 07f61h ; 76 08 11749 mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 04 11750 jmp short 07f68h ; eb 07 11751 mov ax, word [bp-01eh] ; 8b 46 e2 11752 mov word [es:bx+02eh], ax ; 26 89 47 2e 11753 movzx ax, dl ; 0f b6 c2 11754 imul ax, ax, strict byte 00018h ; 6b c0 18 11755 mov es, [bp-018h] ; 8e 46 e8 11720 11756 mov bx, si ; 89 f3 11721 11757 add bx, ax ; 01 c3 11722 11758 mov ax, word [bp-014h] ; 8b 46 ec 11723 mov word [es:bx+02ch], ax ; 26 89 47 2c11724 mov ax, word [bp-01ch] ; 8b 46 e411725 mov word [es:bx+030h], ax ; 26 89 47 3011726 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 0011727 jne short 07f32h ; 75 0611728 cmp di, 00400h ; 81 ff 00 0411729 jbe short 07f3ah ; 76 0811730 mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 0411731 jmp short 07f3eh ; eb 0411732 mov word [es:bx+02eh], di ; 26 89 7f 2e11733 movzx ax, dl ; 0f b6 c211734 imul ax, ax, strict byte 00018h ; 6b c0 1811735 mov es, [bp-01ah] ; 8e 46 e611736 mov bx, si ; 89 f311737 add bx, ax ; 01 c311738 mov ax, word [bp-00eh] ; 8b 46 f211739 11759 mov word [es:bx+032h], ax ; 26 89 47 32 11740 mov ax, word [bp-018h] ; 8b 46 e8 11741 mov word [es:bx+034h], ax ; 26 89 47 34 11760 mov word [es:bx+034h], di ; 26 89 7f 34 11742 11761 mov al, byte [es:si+0019eh] ; 26 8a 84 9e 01 11743 11762 mov ah, byte [bp-00ch] ; 8a 66 f4 … … 11751 11770 mov dx, strict word 00075h ; ba 75 00 11752 11771 mov ax, strict word 00040h ; b8 40 00 11753 call 01650h ; e8 d29611772 call 01650h ; e8 ab 96 11754 11773 db 0feh, 0c0h 11755 11774 ; inc al ; fe c0 … … 11757 11776 mov dx, strict word 00075h ; ba 75 00 11758 11777 mov ax, strict word 00040h ; b8 40 00 11759 call 0165eh ; e8 d29611778 call 0165eh ; e8 ab 96 11760 11779 inc byte [bp-00ch] ; fe 46 f4 11761 mov al, byte [bp-00ch] ; 8a 46 f4 11762 mov es, [bp-01ah] ; 8e 46 e6 11763 mov byte [es:si+001e8h], al ; 26 88 84 e8 01 11764 jmp near 0802dh ; e9 90 00 11780 jmp near 08041h ; e9 88 00 11765 11781 mov bx, 00da8h ; bb a8 0d 11766 11782 mov cx, ds ; 8c d9 11767 11783 mov ax, strict word 00004h ; b8 04 00 11768 call 01931h ; e8 899911769 push word [bp-0 10h] ; ff 76 f011784 call 01931h ; e8 6d 99 11785 push word [bp-00eh] ; ff 76 f2 11770 11786 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11771 11787 push ax ; 50 11772 11788 push 00c4ah ; 68 4a 0c 11773 11789 push strict byte 00004h ; 6a 04 11774 call 01972h ; e8 ba9911790 call 01972h ; e8 9e 99 11775 11791 add sp, strict byte 00008h ; 83 c4 08 11776 11792 mov dl, byte [bp-00ch] ; 8a 56 f4 11777 11793 add dl, 008h ; 80 c2 08 11778 test byte [bp-0022 5h], 080h ; f6 86 dbfd 8011794 test byte [bp-00227h], 080h ; f6 86 d9 fd 80 11779 11795 db 00fh, 095h, 0c0h 11780 11796 ; setne al ; 0f 95 c0 … … 11783 11799 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11784 11800 sal ax, 002h ; c1 e0 02 11785 mov es, [bp-01 ah] ; 8e 46 e611801 mov es, [bp-018h] ; 8e 46 e8 11786 11802 mov bx, si ; 89 f3 11787 11803 add bx, ax ; 01 c3 11788 mov ax, word [bp-0022 8h] ; 8b 86 d8fd11804 mov ax, word [bp-0022ah] ; 8b 86 d6 fd 11789 11805 mov word [es:bx+001d8h], ax ; 26 89 87 d8 01 11790 mov al, byte [bp-0 10h] ; 8a 46 f011806 mov al, byte [bp-00eh] ; 8a 46 f2 11791 11807 mov byte [es:bx+001dah], al ; 26 88 87 da 01 11792 11808 movzx ax, dl ; 0f b6 c2 … … 11808 11824 inc byte [bp-00ch] ; fe 46 f4 11809 11825 mov al, byte [bp-00ch] ; 8a 46 f4 11826 mov es, [bp-018h] ; 8e 46 e8 11810 11827 mov byte [es:si+001e8h], al ; 26 88 84 e8 01 11811 inc word [bp-0 10h] ; ff 46 f011812 cmp word [bp-0 10h], strict byte 00010h ; 83 7e f01011813 jnl short 080 9eh ; 7d 6811814 mov byte [bp-02 6h], 012h ; c6 46 da1211828 inc word [bp-00eh] ; ff 46 f2 11829 cmp word [bp-00eh], strict byte 00010h ; 83 7e f2 10 11830 jnl short 080c9h ; 7d 74 11831 mov byte [bp-028h], 012h ; c6 46 d8 12 11815 11832 xor al, al ; 30 c0 11833 mov byte [bp-027h], al ; 88 46 d9 11834 mov byte [bp-026h], al ; 88 46 da 11816 11835 mov byte [bp-025h], al ; 88 46 db 11817 mov byte [bp-024h], al ; 88 46 dc11836 mov byte [bp-024h], 005h ; c6 46 dc 05 11818 11837 mov byte [bp-023h], al ; 88 46 dd 11819 mov byte [bp-022h], 005h ; c6 46 de 0511820 mov byte [bp-021h], al ; 88 46 df11821 11838 push dword 000000005h ; 66 6a 05 11822 lea dx, [bp-0022 6h] ; 8d 96 dafd11839 lea dx, [bp-00228h] ; 8d 96 d8 fd 11823 11840 push SS ; 16 11824 11841 push dx ; 52 11825 11842 push strict byte 00006h ; 6a 06 11826 movzx dx, byte [bp-0 10h] ; 0f b6 56 f011843 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 11827 11844 mov cx, ss ; 8c d1 11828 lea bx, [bp-02 6h] ; 8d 5e da11829 mov ax, word [bp-0022 8h] ; 8b 86 d8fd11830 call 07885h ; e8 1e f811845 lea bx, [bp-028h] ; 8d 5e d8 11846 mov ax, word [bp-0022ah] ; 8b 86 d6 fd 11847 call 07885h ; e8 ff f7 11831 11848 test al, al ; 84 c0 11832 je short 080 79h ; 74 0e11849 je short 08098h ; 74 0e 11833 11850 push 00b9ah ; 68 9a 0b 11834 11851 push 00bbah ; 68 ba 0b 11835 11852 push strict byte 00007h ; 6a 07 11836 call 01972h ; e8 fc9811853 call 01972h ; e8 dd 98 11837 11854 add sp, strict byte 00006h ; 83 c4 06 11838 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11839 jne short 08089h ; 75 09 11840 test byte [bp-00226h], 01fh ; f6 86 da fd 1f 11841 je near 07ce7h ; 0f 84 5e fc 11842 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11843 jne short 0802dh ; 75 9d 11844 mov al, byte [bp-00226h] ; 8a 86 da fd 11855 mov es, [bp-018h] ; 8e 46 e8 11856 mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01 11857 mov byte [bp-00ch], al ; 88 46 f4 11858 test byte [bp-00228h], 0e0h ; f6 86 d8 fd e0 11859 jne short 080b3h ; 75 09 11860 test byte [bp-00228h], 01fh ; f6 86 d8 fd 1f 11861 je near 07d13h ; 0f 84 60 fc 11862 test byte [bp-00228h], 0e0h ; f6 86 d8 fd e0 11863 jne short 08041h ; 75 87 11864 mov al, byte [bp-00228h] ; 8a 86 d8 fd 11845 11865 and AL, strict byte 01fh ; 24 1f 11846 11866 cmp AL, strict byte 005h ; 3c 05 11847 je near 07f 9dh ; 0f 84 01 ff11848 jmp short 0802dh ; eb 8f11867 je near 07fb9h ; 0f 84 f3 fe 11868 jmp near 08041h ; e9 78 ff 11849 11869 lea sp, [bp-00ah] ; 8d 66 f6 11850 11870 pop di ; 5f … … 11855 11875 pop bp ; 5d 11856 11876 retn ; c3 11857 _scsi_init: ; 0xf80 a8LB 0x6611877 _scsi_init: ; 0xf80d3 LB 0x66 11858 11878 push bp ; 55 11859 11879 mov bp, sp ; 89 e5 11860 11880 mov dx, strict word 0000eh ; ba 0e 00 11861 11881 mov ax, strict word 00040h ; b8 40 00 11862 call 0166ch ; e8 b89511882 call 0166ch ; e8 8d 95 11863 11883 mov bx, 00122h ; bb 22 01 11864 11884 mov es, ax ; 8e c0 … … 11871 11891 ; sub ah, ah ; 2a e4 11872 11892 cmp AL, strict byte 055h ; 3c 55 11873 jne short 08 0d8h ; 75 0c11893 jne short 08103h ; 75 0c 11874 11894 xor al, al ; 30 c0 11875 11895 mov dx, 00433h ; ba 33 04 11876 11896 out DX, AL ; ee 11877 11897 mov ax, 00430h ; b8 30 04 11878 call 07c c3h ; e8 ebfb11898 call 07cefh ; e8 ec fb 11879 11899 mov AL, strict byte 055h ; b0 55 11880 11900 mov dx, 00436h ; ba 36 04 … … 11884 11904 ; sub ah, ah ; 2a e4 11885 11905 cmp AL, strict byte 055h ; 3c 55 11886 jne short 08 0f1h ; 75 0c11906 jne short 0811ch ; 75 0c 11887 11907 xor al, al ; 30 c0 11888 11908 mov dx, 00437h ; ba 37 04 11889 11909 out DX, AL ; ee 11890 11910 mov ax, 00434h ; b8 34 04 11891 call 07c c3h ; e8 d2fb11911 call 07cefh ; e8 d3 fb 11892 11912 mov AL, strict byte 055h ; b0 55 11893 11913 mov dx, 0043ah ; ba 3a 04 … … 11897 11917 ; sub ah, ah ; 2a e4 11898 11918 cmp AL, strict byte 055h ; 3c 55 11899 jne short 081 0ah ; 75 0c11919 jne short 08135h ; 75 0c 11900 11920 xor al, al ; 30 c0 11901 11921 mov dx, 0043bh ; ba 3b 04 11902 11922 out DX, AL ; ee 11903 11923 mov ax, 00438h ; b8 38 04 11904 call 07c c3h ; e8 b9fb11924 call 07cefh ; e8 ba fb 11905 11925 mov sp, bp ; 89 ec 11906 11926 pop bp ; 5d 11907 11927 retn ; c3 11908 high_bits_save_: ; 0xf81 0eLB 0x1711928 high_bits_save_: ; 0xf8139 LB 0x17 11909 11929 push bp ; 55 11910 11930 mov bp, sp ; 89 e5 … … 11918 11938 pop bp ; 5d 11919 11939 retn ; c3 11920 high_bits_restore_: ; 0xf81 25LB 0x1711940 high_bits_restore_: ; 0xf8150 LB 0x17 11921 11941 push bp ; 55 11922 11942 mov bp, sp ; 89 e5 … … 11930 11950 pop bp ; 5d 11931 11951 retn ; c3 11932 ahci_ctrl_set_bits_: ; 0xf81 3cLB 0x4311952 ahci_ctrl_set_bits_: ; 0xf8167 LB 0x43 11933 11953 push bp ; 55 11934 11954 mov bp, sp ; 89 e5 … … 11968 11988 pop bp ; 5d 11969 11989 retn ; c3 11970 ahci_ctrl_clear_bits_: ; 0xf81 7fLB 0x4711990 ahci_ctrl_clear_bits_: ; 0xf81aa LB 0x47 11971 11991 push bp ; 55 11972 11992 mov bp, sp ; 89 e5 … … 12008 12028 pop bp ; 5d 12009 12029 retn ; c3 12010 ahci_ctrl_is_bit_set_: ; 0xf81 c6LB 0x3912030 ahci_ctrl_is_bit_set_: ; 0xf81f1 LB 0x39 12011 12031 push bp ; 55 12012 12032 mov bp, sp ; 89 e5 … … 12030 12050 xchg dx, ax ; 92 12031 12051 test dx, di ; 85 fa 12032 jne short 08 1f2h ; 75 0412052 jne short 0821dh ; 75 04 12033 12053 test ax, bx ; 85 d8 12034 je short 08 1f6h ; 74 0412054 je short 08221h ; 74 04 12035 12055 mov AL, strict byte 001h ; b0 01 12036 jmp short 08 1f8h ; eb 0212056 jmp short 08223h ; eb 02 12037 12057 xor al, al ; 30 c0 12038 12058 lea sp, [bp-004h] ; 8d 66 fc … … 12041 12061 pop bp ; 5d 12042 12062 retn ; c3 12043 ahci_ctrl_extract_bits_: ; 0xf8 1ffLB 0x1b12063 ahci_ctrl_extract_bits_: ; 0xf822a LB 0x1b 12044 12064 push si ; 56 12045 12065 push bp ; 55 … … 12049 12069 and dx, cx ; 21 ca 12050 12070 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12051 jcxz 082 15h ; e3 0612071 jcxz 08240h ; e3 06 12052 12072 shr dx, 1 ; d1 ea 12053 12073 rcr ax, 1 ; d1 d8 12054 loop 082 0fh ; e2 fa12074 loop 0823ah ; e2 fa 12055 12075 pop bp ; 5d 12056 12076 pop si ; 5e 12057 12077 retn 00002h ; c2 02 00 12058 ahci_addr_to_phys_: ; 0xf82 1aLB 0x1e12078 ahci_addr_to_phys_: ; 0xf8245 LB 0x1e 12059 12079 push bx ; 53 12060 12080 push cx ; 51 … … 12067 12087 sal ax, 1 ; d1 e0 12068 12088 rcl dx, 1 ; d1 d2 12069 loop 082 28h ; e2 fa12089 loop 08253h ; e2 fa 12070 12090 xor cx, cx ; 31 c9 12071 12091 add ax, bx ; 01 d8 … … 12075 12095 pop bx ; 5b 12076 12096 retn ; c3 12077 ahci_port_cmd_sync_: ; 0xf82 38LB 0xd512097 ahci_port_cmd_sync_: ; 0xf8263 LB 0xd5 12078 12098 push bp ; 55 12079 12099 mov bp, sp ; 89 e5 … … 12089 12109 mov di, word [es:si+00260h] ; 26 8b bc 60 02 12090 12110 cmp AL, strict byte 0ffh ; 3c ff 12091 je near 083 05h ; 0f 84 aa 0012111 je near 08330h ; 0f 84 aa 00 12092 12112 movzx cx, byte [es:si+00263h] ; 26 0f b6 8c 63 02 12093 12113 xor dx, dx ; 31 d2 … … 12101 12121 lea ax, [si+00080h] ; 8d 84 80 00 12102 12122 mov dx, es ; 8c c2 12103 call 082 1ah ; e8 96 ff12123 call 08245h ; e8 96 ff 12104 12124 mov es, [bp-00ah] ; 8e 46 f6 12105 12125 mov word [es:si+008h], ax ; 26 89 44 08 … … 12111 12131 xor cx, cx ; 31 c9 12112 12132 mov ax, di ; 89 f8 12113 call 081 3ch ; e8 98 fe12133 call 08167h ; e8 98 fe 12114 12134 lea ax, [si+00138h] ; 8d 84 38 01 12115 12135 cwd ; 99 … … 12138 12158 mov dx, si ; 89 f2 12139 12159 mov ax, di ; 89 f8 12140 call 081 c6h ; e8 e2 fe12160 call 081f1h ; e8 e2 fe 12141 12161 test al, al ; 84 c0 12142 je short 082 c7h ; 74 df12162 je short 082f2h ; 74 df 12143 12163 mov bx, strict word 00001h ; bb 01 00 12144 12164 xor cx, cx ; 31 c9 12145 12165 mov dx, si ; 89 f2 12146 12166 mov ax, di ; 89 f8 12147 call 081 3ch ; e8 48 fe12167 call 08167h ; e8 48 fe 12148 12168 mov dx, word [bp-00ch] ; 8b 56 f4 12149 12169 add dx, 00118h ; 81 c2 18 01 … … 12151 12171 xor cx, cx ; 31 c9 12152 12172 mov ax, di ; 89 f8 12153 call 081 7fh ; e8 7a fe12173 call 081aah ; e8 7a fe 12154 12174 lea sp, [bp-006h] ; 8d 66 fa 12155 12175 pop di ; 5f … … 12158 12178 pop bp ; 5d 12159 12179 retn ; c3 12160 ahci_cmd_data_: ; 0xf83 0d LB 0x1ca12180 ahci_cmd_data_: ; 0xf8338 LB 0x1e4 12161 12181 push bp ; 55 12162 12182 mov bp, sp ; 89 e5 … … 12166 12186 sub sp, strict byte 00010h ; 83 ec 10 12167 12187 mov di, ax ; 89 c7 12168 mov word [bp-0 12h], dx ; 89 56 ee12188 mov word [bp-00ch], dx ; 89 56 f4 12169 12189 mov byte [bp-008h], bl ; 88 5e f8 12170 12190 xor si, si ; 31 f6 … … 12172 12192 mov ax, word [es:di+001eeh] ; 26 8b 85 ee 01 12173 12193 mov word [bp-00ah], ax ; 89 46 f6 12174 mov word [bp-0 0eh], si ; 89 76 f212175 mov word [bp-00 ch], ax ; 89 46 f412194 mov word [bp-010h], si ; 89 76 f0 12195 mov word [bp-00eh], ax ; 89 46 f2 12176 12196 mov ax, word [es:di+00ah] ; 26 8b 45 0a 12177 mov word [bp-01 0h], ax ; 89 46 f012197 mov word [bp-016h], ax ; 89 46 ea 12178 12198 mov ax, word [es:di+00ch] ; 26 8b 45 0c 12179 mov word [bp-01 6h], ax ; 89 46 ea12199 mov word [bp-012h], ax ; 89 46 ee 12180 12200 mov cx, strict word 00040h ; b9 40 00 12181 12201 xor bx, bx ; 31 db 12182 12202 mov ax, 00080h ; b8 80 00 12183 12203 mov dx, word [bp-00ah] ; 8b 56 f6 12184 call 097 5ah ; e8 0e1412204 call 097aah ; e8 33 14 12185 12205 mov es, [bp-00ah] ; 8e 46 f6 12186 12206 mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80 … … 12188 12208 mov byte [es:si+00082h], al ; 26 88 84 82 00 12189 12209 mov byte [es:si+00083h], 000h ; 26 c6 84 83 00 00 12190 mov es, [bp-0 12h] ; 8e 46 ee12210 mov es, [bp-00ch] ; 8e 46 f4 12191 12211 mov al, byte [es:di] ; 26 8a 05 12192 12212 mov es, [bp-00ah] ; 8e 46 f6 12193 12213 mov byte [es:si+00084h], al ; 26 88 84 84 00 12194 mov es, [bp-0 12h] ; 8e 46 ee12214 mov es, [bp-00ch] ; 8e 46 f4 12195 12215 mov ax, word [es:di] ; 26 8b 05 12196 12216 mov bx, word [es:di+002h] ; 26 8b 5d 02 … … 12198 12218 shr bx, 1 ; d1 eb 12199 12219 rcr ax, 1 ; d1 d8 12200 loop 083 7fh ; e2 fa12220 loop 083aah ; e2 fa 12201 12221 mov es, [bp-00ah] ; 8e 46 f6 12202 12222 mov byte [es:si+00085h], al ; 26 88 84 85 00 12203 mov es, [bp-0 12h] ; 8e 46 ee12223 mov es, [bp-00ch] ; 8e 46 f4 12204 12224 mov ax, word [es:di+002h] ; 26 8b 45 02 12205 12225 mov es, [bp-00ah] ; 8e 46 f6 12206 12226 mov byte [es:si+00086h], al ; 26 88 84 86 00 12207 12227 mov byte [es:si+00087h], 040h ; 26 c6 84 87 00 40 12208 mov es, [bp-0 12h] ; 8e 46 ee12228 mov es, [bp-00ch] ; 8e 46 f4 12209 12229 mov ax, word [es:di+002h] ; 26 8b 45 02 12210 12230 shr ax, 008h ; c1 e8 08 … … 12213 12233 mov word [es:si+00089h], strict word 00000h ; 26 c7 84 89 00 00 00 12214 12234 mov byte [es:si+0008bh], 000h ; 26 c6 84 8b 00 00 12215 mov al, byte [bp-01 0h] ; 8a 46 f012235 mov al, byte [bp-016h] ; 8a 46 ea 12216 12236 mov byte [es:si+0008ch], al ; 26 88 84 8c 00 12217 mov ax, word [bp-01 0h] ; 8b 46 f012237 mov ax, word [bp-016h] ; 8b 46 ea 12218 12238 shr ax, 008h ; c1 e8 08 12219 12239 mov byte [es:si+0008dh], al ; 26 88 84 8d 00 12220 12240 mov word [es:si+00276h], strict word 00010h ; 26 c7 84 76 02 10 00 12221 mov ax, word [bp-01 0h] ; 8b 46 f012241 mov ax, word [bp-016h] ; 8b 46 ea 12222 12242 xor dx, dx ; 31 d2 12223 mov bx, word [bp-01 6h] ; 8b 5e ea12243 mov bx, word [bp-012h] ; 8b 5e ee 12224 12244 xor cx, cx ; 31 c9 12225 call 097 29h ; e8 411312245 call 09779h ; e8 66 13 12226 12246 push dx ; 52 12227 12247 push ax ; 50 12228 mov es, [bp-0 12h] ; 8e 46 ee12248 mov es, [bp-00ch] ; 8e 46 f4 12229 12249 mov bx, word [es:di+004h] ; 26 8b 5d 04 12230 12250 mov cx, word [es:di+006h] ; 26 8b 4d 06 12231 12251 mov ax, 0026ah ; b8 6a 02 12232 12252 mov dx, word [bp-00ah] ; 8b 56 f6 12233 call 096 42h ; e8 441212253 call 09688h ; e8 5f 12 12234 12254 mov es, [bp-00ah] ; 8e 46 f6 12235 12255 movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02 … … 12244 12264 mov dx, word [bp-014h] ; 8b 56 ec 12245 12265 mov word [es:bx+0010eh], dx ; 26 89 97 0e 01 12246 mov cx, word [es:si+0027ah] ; 26 8b 8c7a 0212247 mov dx, word [es:si+0027ch] ; 26 8b 947c 0212248 mov word [es:bx+00100h], cx ; 26 89 8f00 0112249 mov word [es:bx+00102h], dx ; 26 89 9702 0112266 mov dx, word [es:si+0027ah] ; 26 8b 94 7a 02 12267 mov cx, word [es:si+0027ch] ; 26 8b 8c 7c 02 12268 mov word [es:bx+00100h], dx ; 26 89 97 00 01 12269 mov word [es:bx+00102h], cx ; 26 89 8f 02 01 12250 12270 inc ax ; 40 12251 mov es, [bp-0 12h] ; 8e 46 ee12271 mov es, [bp-00ch] ; 8e 46 f4 12252 12272 cmp word [es:di+01ch], strict byte 00000h ; 26 83 7d 1c 00 12253 je short 084 77h ; 74 2c12273 je short 084a2h ; 74 2c 12254 12274 mov dx, word [es:di+01ch] ; 26 8b 55 1c 12255 12275 dec dx ; 4a 12256 mov di, ax ; 89 c712257 sal di, 004h ; c1 e70412276 mov bx, ax ; 89 c3 12277 sal bx, 004h ; c1 e3 04 12258 12278 mov es, [bp-00ah] ; 8e 46 f6 12259 mov word [es: di+0010ch], dx ; 26 89 950c 0112260 mov word [es: di+0010eh], si ; 26 89 b50e 0112279 mov word [es:bx+0010ch], dx ; 26 89 97 0c 01 12280 mov word [es:bx+0010eh], si ; 26 89 b7 0e 01 12261 12281 mov dx, word [es:si+00264h] ; 26 8b 94 64 02 12262 mov bx, word [es:si+00266h] ; 26 8b 9c 66 0212263 mov word [es: di+00100h], dx ; 26 89 9500 0112264 mov word [es: di+00102h], bx ; 26 89 9d02 0112282 mov cx, word [es:si+00266h] ; 26 8b 8c 66 02 12283 mov word [es:bx+00100h], dx ; 26 89 97 00 01 12284 mov word [es:bx+00102h], cx ; 26 89 8f 02 01 12265 12285 inc ax ; 40 12266 les bx, [bp-0 0eh] ; c4 5e f212286 les bx, [bp-010h] ; c4 5e f0 12267 12287 mov byte [es:bx+00263h], al ; 26 88 87 63 02 12268 12288 xor ax, ax ; 31 c0 12269 les bx, [bp-0 0eh] ; c4 5e f212289 les bx, [bp-010h] ; c4 5e f0 12270 12290 movzx dx, byte [es:bx+00263h] ; 26 0f b6 97 63 02 12271 12291 cmp ax, dx ; 39 d0 12272 jnc short 084 91h ; 73 0312292 jnc short 084bch ; 73 03 12273 12293 inc ax ; 40 12274 jmp short 084 81h ; eb f012294 jmp short 084ach ; eb f0 12275 12295 mov al, byte [bp-008h] ; 8a 46 f8 12276 12296 cmp AL, strict byte 035h ; 3c 35 12277 jne short 084 9eh ; 75 0612297 jne short 084c9h ; 75 06 12278 12298 mov byte [bp-008h], 040h ; c6 46 f8 40 12279 jmp short 084 b2h ; eb 1412299 jmp short 084ddh ; eb 14 12280 12300 cmp AL, strict byte 0a0h ; 3c a0 12281 jne short 084 aeh ; 75 0c12301 jne short 084d9h ; 75 0c 12282 12302 or byte [bp-008h], 020h ; 80 4e f8 20 12283 12303 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12284 jmp short 084 b2h ; eb 0412304 jmp short 084ddh ; eb 04 12285 12305 mov byte [bp-008h], 000h ; c6 46 f8 00 12286 12306 or byte [bp-008h], 005h ; 80 4e f8 05 12287 12307 movzx bx, byte [bp-008h] ; 0f b6 5e f8 12288 mov ax, word [bp-00eh] ; 8b 46 f2 12289 mov dx, word [bp-00ch] ; 8b 56 f4 12290 call 08238h ; e8 75 fd 12291 mov ax, word [bp-00eh] ; 8b 46 f2 12308 mov ax, word [bp-010h] ; 8b 46 f0 12309 mov dx, word [bp-00eh] ; 8b 56 f2 12310 call 08263h ; e8 75 fd 12311 mov cx, word [bp-00eh] ; 8b 4e f2 12312 mov bx, word [bp-010h] ; 8b 5e f0 12313 add bx, 00240h ; 81 c3 40 02 12314 mov ax, word [bp-010h] ; 8b 46 f0 12292 12315 add ax, 0026ah ; 05 6a 02 12293 mov dx, word [bp-00ch] ; 8b 56 f4 12294 call 096bbh ; e8 ec 11 12316 mov dx, cx ; 89 ca 12317 call 09701h ; e8 fe 11 12318 mov es, cx ; 8e c1 12319 mov al, byte [es:bx+003h] ; 26 8a 47 03 12320 test al, al ; 84 c0 12321 je short 08512h ; 74 05 12322 mov ax, strict word 00004h ; b8 04 00 12323 jmp short 08514h ; eb 02 12324 xor ah, ah ; 30 e4 12295 12325 lea sp, [bp-006h] ; 8d 66 fa 12296 12326 pop di ; 5f … … 12299 12329 pop bp ; 5d 12300 12330 retn ; c3 12301 ahci_port_deinit_current_: ; 0xf8 4d7LB 0x14412331 ahci_port_deinit_current_: ; 0xf851c LB 0x144 12302 12332 push bp ; 55 12303 12333 mov bp, sp ; 89 e5 … … 12314 12344 mov byte [bp-00ah], al ; 88 46 f6 12315 12345 cmp AL, strict byte 0ffh ; 3c ff 12316 je near 086 12h ; 0f 84 17 0112346 je near 08657h ; 0f 84 17 01 12317 12347 movzx dx, al ; 0f b6 d0 12318 12348 sal dx, 007h ; c1 e2 07 … … 12321 12351 xor cx, cx ; 31 c9 12322 12352 mov ax, si ; 89 f0 12323 call 081 7fh ; e8 70fc12353 call 081aah ; e8 56 fc 12324 12354 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12325 12355 sal ax, 007h ; c1 e0 07 … … 12330 12360 xor cx, cx ; 31 c9 12331 12361 mov ax, si ; 89 f0 12332 call 081 c6h ; e8 9dfc12362 call 081f1h ; e8 83 fc 12333 12363 cmp AL, strict byte 001h ; 3c 01 12334 je short 085 0fh ; 74 e212364 je short 08554h ; 74 e2 12335 12365 mov cx, strict word 00020h ; b9 20 00 12336 12366 xor bx, bx ; 31 db 12337 12367 mov ax, di ; 89 f8 12338 12368 mov dx, word [bp-00ch] ; 8b 56 f4 12339 call 097 5ah ; e8 201212369 call 097aah ; e8 2b 12 12340 12370 lea ax, [di+00080h] ; 8d 85 80 00 12341 12371 mov cx, strict word 00040h ; b9 40 00 12342 12372 xor bx, bx ; 31 db 12343 12373 mov dx, word [bp-00ch] ; 8b 56 f4 12344 call 097 5ah ; e8 111212374 call 097aah ; e8 1c 12 12345 12375 lea ax, [di+00200h] ; 8d 85 00 02 12346 12376 mov cx, strict word 00060h ; b9 60 00 12347 12377 xor bx, bx ; 31 db 12348 12378 mov dx, word [bp-00ch] ; 8b 56 f4 12349 call 097 5ah ; e8 021212379 call 097aah ; e8 0d 12 12350 12380 mov ax, word [bp-00eh] ; 8b 46 f2 12351 12381 add ax, 00108h ; 05 08 01 … … 12449 12479 pop bp ; 5d 12450 12480 retn ; c3 12451 ahci_port_init_: ; 0xf86 1bLB 0x20612481 ahci_port_init_: ; 0xf8660 LB 0x206 12452 12482 push bp ; 55 12453 12483 mov bp, sp ; 89 e5 … … 12459 12489 mov word [bp-00ah], dx ; 89 56 f6 12460 12490 mov byte [bp-008h], bl ; 88 5e f8 12461 call 08 4d7h ; e8 a8 fe12491 call 0851ch ; e8 a8 fe 12462 12492 movzx dx, bl ; 0f b6 d3 12463 12493 sal dx, 007h ; c1 e2 07 … … 12467 12497 mov bx, strict word 00011h ; bb 11 00 12468 12498 xor cx, cx ; 31 c9 12469 call 081 7fh ; e8 36fb12499 call 081aah ; e8 1c fb 12470 12500 movzx di, byte [bp-008h] ; 0f b6 7e f8 12471 12501 sal di, 007h ; c1 e7 07 … … 12475 12505 mov bx, 0c011h ; bb 11 c0 12476 12506 xor cx, cx ; 31 c9 12477 call 081 c6h ; e8 62fb12507 call 081f1h ; e8 48 fb 12478 12508 cmp AL, strict byte 001h ; 3c 01 12479 je short 086 49h ; 74 e112509 je short 0868eh ; 74 e1 12480 12510 mov cx, strict word 00020h ; b9 20 00 12481 12511 xor bx, bx ; 31 db 12482 12512 mov ax, si ; 89 f0 12483 12513 mov dx, word [bp-00ah] ; 8b 56 f6 12484 call 097 5ah ; e8 e51012514 call 097aah ; e8 f0 10 12485 12515 lea ax, [si+00080h] ; 8d 84 80 00 12486 12516 mov cx, strict word 00040h ; b9 40 00 12487 12517 xor bx, bx ; 31 db 12488 12518 mov dx, word [bp-00ah] ; 8b 56 f6 12489 call 097 5ah ; e8 d61012519 call 097aah ; e8 e1 10 12490 12520 mov ax, si ; 89 f0 12491 12521 add ah, 002h ; 80 c4 02 … … 12494 12524 xor bx, bx ; 31 db 12495 12525 mov dx, word [bp-00ah] ; 8b 56 f6 12496 call 097 5ah ; e8 c31012526 call 097aah ; e8 ce 10 12497 12527 lea ax, [di+00108h] ; 8d 85 08 01 12498 12528 cwd ; 99 … … 12508 12538 mov ax, word [bp-00ch] ; 8b 46 f4 12509 12539 mov dx, word [bp-00ah] ; 8b 56 f6 12510 call 082 1ah ; e8 60fb12540 call 08245h ; e8 46 fb 12511 12541 mov es, [bp-00ah] ; 8e 46 f6 12512 12542 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12553 12583 mov ax, si ; 89 f0 12554 12584 mov dx, word [bp-00ah] ; 8b 56 f6 12555 call 082 1ah ; e8 f4fa12585 call 08245h ; e8 da fa 12556 12586 mov es, [bp-00ah] ; 8e 46 f6 12557 12587 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12658 12688 pop bp ; 5d 12659 12689 retn ; c3 12660 @ahci_read_sectors: ; 0xf88 21 LB 0x9412690 @ahci_read_sectors: ; 0xf8866 LB 0x93 12661 12691 push bp ; 55 12662 12692 mov bp, sp ; 89 e5 12663 12693 push si ; 56 12664 12694 push di ; 57 12665 les di, [bp+004h] ; c4 7e 0412666 movzx di, byte [es:di+008h] ; 26 0f b6 7d0812667 sub di, strict byte 0000ch ; 83 ef0c12668 cmp di, strict byte 00004h ; 83 ff0412669 jbe short 088 45h ; 76 0f12670 push di ; 5712695 les bx, [bp+004h] ; c4 5e 04 12696 movzx bx, byte [es:bx+008h] ; 26 0f b6 5f 08 12697 sub bx, strict byte 0000ch ; 83 eb 0c 12698 cmp bx, strict byte 00004h ; 83 fb 04 12699 jbe short 0888ah ; 76 0f 12700 push bx ; 53 12671 12701 push 00c66h ; 68 66 0c 12672 12702 push 00c78h ; 68 78 0c 12673 12703 push strict byte 00007h ; 6a 07 12674 call 01972h ; e8 30 9112704 call 01972h ; e8 eb 90 12675 12705 add sp, strict byte 00008h ; 83 c4 08 12676 les bx, [bp+004h] ; c4 5e 04 12677 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12678 xor ax, ax ; 31 c0 12679 call 0810eh ; e8 bc f8 12680 mov es, [bp+006h] ; 8e 46 06 12681 add di, bx ; 01 df 12682 movzx bx, byte [es:di+001e9h] ; 26 0f b6 9d e9 01 12683 mov di, word [bp+004h] ; 8b 7e 04 12706 les di, [bp+004h] ; c4 7e 04 12684 12707 mov dx, word [es:di+001eeh] ; 26 8b 95 ee 01 12685 12708 xor ax, ax ; 31 c0 12686 call 0861bh ; e8 b1 fd 12709 call 08139h ; e8 a2 f8 12710 mov es, [bp+006h] ; 8e 46 06 12711 add bx, di ; 01 fb 12712 movzx bx, byte [es:bx+001e9h] ; 26 0f b6 9f e9 01 12713 mov si, di ; 89 fe 12714 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12715 xor ax, ax ; 31 c0 12716 call 08660h ; e8 b2 fd 12687 12717 mov bx, strict word 00025h ; bb 25 00 12688 12718 mov ax, di ; 89 f8 12689 12719 mov dx, word [bp+006h] ; 8b 56 06 12690 call 0830dh ; e8 98 fa 12720 call 08338h ; e8 7f fa 12721 mov bx, ax ; 89 c3 12691 12722 mov es, [bp+006h] ; 8e 46 06 12692 mov bx, di ; 89 fb 12693 mov ax, word [es:bx+00ah] ; 26 8b 47 0a 12694 mov word [es:bx+014h], ax ; 26 89 47 14 12723 mov ax, word [es:di+00ah] ; 26 8b 45 0a 12724 mov word [es:si+014h], ax ; 26 89 44 14 12695 12725 mov cx, ax ; 89 c1 12696 12726 sal cx, 009h ; c1 e1 09 12697 12727 shr cx, 1 ; d1 e9 12698 12728 mov di, word [es:di+004h] ; 26 8b 7d 04 12699 mov ax, word [es: bx+006h] ; 26 8b 470612729 mov ax, word [es:si+006h] ; 26 8b 44 06 12700 12730 mov si, di ; 89 fe 12701 12731 mov dx, ax ; 89 c2 … … 12705 12735 rep movsw ; f3 a5 12706 12736 pop DS ; 1f 12707 mov es, [bp+006h] ; 8e 46 0612708 mov dx, word [es: bx+001eeh] ; 26 8b 97ee 0112737 les si, [bp+004h] ; c4 76 04 12738 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12709 12739 xor ax, ax ; 31 c0 12710 call 081 25h ; e8 7bf812711 xor ax, ax ; 31 c012740 call 08150h ; e8 62 f8 12741 mov ax, bx ; 89 d8 12712 12742 lea sp, [bp-004h] ; 8d 66 fc 12713 12743 pop di ; 5f … … 12715 12745 pop bp ; 5d 12716 12746 retn 00004h ; c2 04 00 12717 @ahci_write_sectors: ; 0xf88 b5 LB 0x7012747 @ahci_write_sectors: ; 0xf88f9 LB 0x72 12718 12748 push bp ; 55 12719 12749 mov bp, sp ; 89 e5 … … 12725 12755 sub bx, strict byte 0000ch ; 83 eb 0c 12726 12756 cmp bx, strict byte 00004h ; 83 fb 04 12727 jbe short 08 8ddh ; 76 0f12757 jbe short 08921h ; 76 0f 12728 12758 push bx ; 53 12729 12759 push 00c97h ; 68 97 0c 12730 12760 push 00c78h ; 68 78 0c 12731 12761 push strict byte 00007h ; 6a 07 12732 call 01972h ; e8 989012762 call 01972h ; e8 54 90 12733 12763 add sp, strict byte 00008h ; 83 c4 08 12734 12764 mov es, cx ; 8e c1 12735 12765 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12736 12766 xor ax, ax ; 31 c0 12737 call 081 0eh ; e8 25f812767 call 08139h ; e8 0c f8 12738 12768 mov es, cx ; 8e c1 12739 12769 add bx, si ; 01 f3 … … 12741 12771 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12742 12772 xor ax, ax ; 31 c0 12743 call 086 1bh ; e8 1efd12773 call 08660h ; e8 1f fd 12744 12774 mov bx, strict word 00035h ; bb 35 00 12745 12775 mov ax, si ; 89 f0 12746 12776 mov dx, cx ; 89 ca 12747 call 0830dh ; e8 06 fa 12777 call 08338h ; e8 ed f9 12778 mov bx, ax ; 89 c3 12748 12779 mov es, cx ; 8e c1 12749 12780 mov dx, word [es:si+00ah] ; 26 8b 54 0a … … 12751 12782 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12752 12783 xor ax, ax ; 31 c0 12753 call 081 25h ; e8 0a f812754 xor ax, ax ; 31 c012784 call 08150h ; e8 ef f7 12785 mov ax, bx ; 89 d8 12755 12786 lea sp, [bp-002h] ; 8d 66 fe 12756 12787 pop si ; 5e 12757 12788 pop bp ; 5d 12758 12789 retn 00004h ; c2 04 00 12759 ahci_cmd_packet_: ; 0xf89 25LB 0x17312790 ahci_cmd_packet_: ; 0xf896b LB 0x173 12760 12791 push bp ; 55 12761 12792 mov bp, sp ; 89 e5 … … 12769 12800 mov dx, strict word 0000eh ; ba 0e 00 12770 12801 mov ax, strict word 00040h ; b8 40 00 12771 call 0166ch ; e8 2c 8d12802 call 0166ch ; e8 e6 8c 12772 12803 mov si, 00122h ; be 22 01 12773 12804 mov word [bp-008h], ax ; 89 46 f8 12774 12805 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12775 jne short 089 6bh ; 75 1f12806 jne short 089b1h ; 75 1f 12776 12807 mov bx, 00da8h ; bb a8 0d 12777 12808 mov cx, ds ; 8c d9 12778 12809 mov ax, strict word 00004h ; b8 04 00 12779 call 01931h ; e8 da8f12810 call 01931h ; e8 94 8f 12780 12811 push 00caah ; 68 aa 0c 12781 12812 push 00cbah ; 68 ba 0c 12782 12813 push strict byte 00004h ; 6a 04 12783 call 01972h ; e8 10 9012814 call 01972h ; e8 ca 8f 12784 12815 add sp, strict byte 00006h ; 83 c4 06 12785 12816 mov ax, strict word 00001h ; b8 01 00 12786 jmp near 08a 8fh ; e9 24 0112817 jmp near 08ad5h ; e9 24 01 12787 12818 test byte [bp+004h], 001h ; f6 46 04 01 12788 jne short 089 65h ; 75 f412819 jne short 089abh ; 75 f4 12789 12820 mov ax, word [bp+006h] ; 8b 46 06 12790 12821 mov dx, word [bp+008h] ; 8b 56 08 … … 12792 12823 sal ax, 1 ; d1 e0 12793 12824 rcl dx, 1 ; d1 d2 12794 loop 089 7ah ; e2 fa12825 loop 089c0h ; e2 fa 12795 12826 mov es, [bp-008h] ; 8e 46 f8 12796 12827 mov word [es:si], ax ; 26 89 04 … … 12804 12835 mov dx, word [bp+008h] ; 8b 56 08 12805 12836 xor cx, cx ; 31 c9 12806 call 09 6f0h ; e8 490d12837 call 09740h ; e8 53 0d 12807 12838 mov word [es:si+00ah], ax ; 26 89 44 0a 12808 12839 xor di, di ; 31 ff … … 12814 12845 xor ax, ax ; 31 c0 12815 12846 mov dx, word [bp-00ah] ; 8b 56 f6 12816 call 081 0eh ; e8 47f712847 call 08139h ; e8 2c f7 12817 12848 mov es, [bp-008h] ; 8e 46 f8 12818 12849 mov bx, word [bp-014h] ; 8b 5e ec … … 12821 12852 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12822 12853 xor ax, ax ; 31 c0 12823 call 086 1bh ; e8 3cfc12854 call 08660h ; e8 3b fc 12824 12855 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12825 12856 push ax ; 50 … … 12828 12859 mov ax, 000c0h ; b8 c0 00 12829 12860 mov dx, word [bp-00ah] ; 8b 56 f6 12830 call 097 67h ; e8 740d12861 call 097b7h ; e8 7e 0d 12831 12862 mov es, [bp-008h] ; 8e 46 f8 12832 12863 mov word [es:si+014h], di ; 26 89 7c 14 … … 12835 12866 mov ax, word [es:si+01ah] ; 26 8b 44 1a 12836 12867 test ax, ax ; 85 c0 12837 je short 08a 31h ; 74 2712868 je short 08a77h ; 74 27 12838 12869 dec ax ; 48 12839 12870 mov es, [bp-00ah] ; 8e 46 f6 … … 12848 12879 mov ax, si ; 89 f0 12849 12880 mov dx, word [bp-008h] ; 8b 56 f8 12850 call 083 0dh ; e8 d1f812881 call 08338h ; e8 b6 f8 12851 12882 les bx, [bp-00eh] ; c4 5e f2 12852 12883 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 12871 12902 mov ax, word [bp-00eh] ; 8b 46 f2 12872 12903 mov dx, word [bp-00ch] ; 8b 56 f4 12873 call 081 25h ; e8 aaf612904 call 08150h ; e8 8f f6 12874 12905 les bx, [bp-00eh] ; c4 5e f2 12875 12906 mov ax, word [es:bx+006h] ; 26 8b 47 06 12876 12907 or ax, word [es:bx+004h] ; 26 0b 47 04 12877 jne short 08a 8dh ; 75 0512908 jne short 08ad3h ; 75 05 12878 12909 mov ax, strict word 00004h ; b8 04 00 12879 jmp short 08a 8fh ; eb 0212910 jmp short 08ad5h ; eb 02 12880 12911 xor ax, ax ; 31 c0 12881 12912 lea sp, [bp-004h] ; 8d 66 fc … … 12884 12915 pop bp ; 5d 12885 12916 retn 0000ch ; c2 0c 00 12886 ahci_port_detect_device_: ; 0xf8a 98LB 0x45112917 ahci_port_detect_device_: ; 0xf8ade LB 0x451 12887 12918 push bp ; 55 12888 12919 mov bp, sp ; 89 e5 … … 12896 12927 movzx di, bl ; 0f b6 fb 12897 12928 mov bx, di ; 89 fb 12898 call 086 1bh ; e8 69fb12929 call 08660h ; e8 68 fb 12899 12930 mov dx, strict word 0000eh ; ba 0e 00 12900 12931 mov ax, strict word 00040h ; b8 40 00 12901 call 0166ch ; e8 b18b12932 call 0166ch ; e8 6b 8b 12902 12933 mov word [bp-010h], 00122h ; c7 46 f0 22 01 12903 12934 mov word [bp-00eh], ax ; 89 46 f2 … … 12968 12999 mov bx, strict word 0000fh ; bb 0f 00 12969 13000 xor cx, cx ; 31 c9 12970 call 08 1ffh ; e8 9af613001 call 0822ah ; e8 7f f6 12971 13002 test ax, ax ; 85 c0 12972 je near 08 ee1h ; 0f 84 76 0313003 je near 08f27h ; 0f 84 76 03 12973 13004 movzx ax, byte [bp-008h] ; 0f b6 46 f8 12974 13005 sal ax, 007h ; c1 e0 07 … … 12998 13029 mov bx, strict word 0000fh ; bb 0f 00 12999 13030 xor cx, cx ; 31 c9 13000 call 08 1ffh ; e8 4ef613031 call 0822ah ; e8 33 f6 13001 13032 cmp ax, strict word 00001h ; 3d 01 00 13002 je short 08b 6bh ; 74 b513033 je short 08bb1h ; 74 b5 13003 13034 push strict byte 00000h ; 6a 00 13004 13035 mov bx, strict word 0000fh ; bb 0f 00 … … 13006 13037 mov ax, di ; 89 f8 13007 13038 mov dx, word [bp-01ah] ; 8b 56 e6 13008 call 08 1ffh ; e8 3af613039 call 0822ah ; e8 1f f6 13009 13040 cmp ax, strict word 00003h ; 3d 03 00 13010 jne near 08 ee1h ; 0f 85 15 0313041 jne near 08f27h ; 0f 85 15 03 13011 13042 mov ax, word [bp-016h] ; 8b 46 ea 13012 13043 add ax, 00130h ; 05 30 01 … … 13035 13066 mov byte [bp-00ch], al ; 88 46 f4 13036 13067 cmp AL, strict byte 004h ; 3c 04 13037 jnc near 08 ee1h ; 0f 83 cf 0213068 jnc near 08f27h ; 0f 83 cf 02 13038 13069 mov dx, word [bp-016h] ; 8b 56 ea 13039 13070 add dx, 00118h ; 81 c2 18 01 … … 13042 13073 mov bx, strict word 00010h ; bb 10 00 13043 13074 xor cx, cx ; 31 c9 13044 call 081 3ch ; e8 13 f513075 call 08167h ; e8 f8 f4 13045 13076 mov ax, word [bp-016h] ; 8b 46 ea 13046 13077 add ax, 00124h ; 05 24 01 … … 13066 13097 add cl, 00ch ; 80 c1 0c 13067 13098 test dx, dx ; 85 d2 13068 jne near 08e 3dh ; 0f 85 d8 0113099 jne near 08e83h ; 0f 85 d8 01 13069 13100 cmp ax, 00101h ; 3d 01 01 13070 jne near 08e 3dh ; 0f 85 d1 0113101 jne near 08e83h ; 0f 85 d1 01 13071 13102 les bx, [bp-010h] ; c4 5e f0 13072 13103 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h … … 13080 13111 mov ax, word [bp-010h] ; 8b 46 f0 13081 13112 mov dx, es ; 8c c2 13082 call 083 0dh ; e8 76f613113 call 08338h ; e8 5b f6 13083 13114 mov byte [bp-00ah], cl ; 88 4e f6 13084 13115 test byte [bp-00226h], 080h ; f6 86 da fd 80 … … 13097 13128 mov di, word [bp-001ach] ; 8b be 54 fe 13098 13129 cmp di, 00fffh ; 81 ff ff 0f 13099 jne short 08 cdch ; 75 1013130 jne short 08d22h ; 75 10 13100 13131 cmp ax, strict word 0ffffh ; 3d ff ff 13101 jne short 08 cdch ; 75 0b13132 jne short 08d22h ; 75 0b 13102 13133 mov ax, word [bp-0015eh] ; 8b 86 a2 fe 13103 13134 mov word [bp-014h], ax ; 89 46 ec … … 13128 13159 mov al, byte [bp-00ch] ; 8a 46 f4 13129 13160 cmp AL, strict byte 001h ; 3c 01 13130 jc short 08d 47h ; 72 0c13131 jbe short 08d 4fh ; 76 1213161 jc short 08d8dh ; 72 0c 13162 jbe short 08d95h ; 76 12 13132 13163 cmp AL, strict byte 003h ; 3c 03 13133 je short 08d 57h ; 74 1613164 je short 08d9dh ; 74 16 13134 13165 cmp AL, strict byte 002h ; 3c 02 13135 je short 08d 53h ; 74 0e13136 jmp short 08d a0h ; eb 5913166 je short 08d99h ; 74 0e 13167 jmp short 08de6h ; eb 59 13137 13168 test al, al ; 84 c0 13138 jne short 08d a0h ; 75 5513169 jne short 08de6h ; 75 55 13139 13170 mov DL, strict byte 040h ; b2 40 13140 jmp short 08d 59h ; eb 0a13171 jmp short 08d9fh ; eb 0a 13141 13172 mov DL, strict byte 048h ; b2 48 13142 jmp short 08d 59h ; eb 0613173 jmp short 08d9fh ; eb 06 13143 13174 mov DL, strict byte 050h ; b2 50 13144 jmp short 08d 59h ; eb 0213175 jmp short 08d9fh ; eb 02 13145 13176 mov DL, strict byte 058h ; b2 58 13146 13177 mov al, dl ; 88 d0 … … 13148 13179 movzx bx, al ; 0f b6 d8 13149 13180 mov ax, bx ; 89 d8 13150 call 016ach ; e8 478913181 call 016ach ; e8 01 89 13151 13182 test al, al ; 84 c0 13152 je short 08d a0h ; 74 3713183 je short 08de6h ; 74 37 13153 13184 mov al, dl ; 88 d0 13154 13185 db 0feh, 0c0h 13155 13186 ; inc al ; fe c0 13156 13187 xor ah, ah ; 30 e4 13157 call 016ach ; e8 3a 8913188 call 016ach ; e8 f4 88 13158 13189 xor ah, ah ; 30 e4 13159 13190 mov si, ax ; 89 c6 13160 13191 sal si, 008h ; c1 e6 08 13161 13192 movzx ax, dl ; 0f b6 c2 13162 call 016ach ; e8 2d 8913193 call 016ach ; e8 e7 88 13163 13194 xor ah, ah ; 30 e4 13164 13195 add ax, si ; 01 f0 … … 13167 13198 add AL, strict byte 002h ; 04 02 13168 13199 xor ah, ah ; 30 e4 13169 call 016ach ; e8 1d 8913200 call 016ach ; e8 d7 88 13170 13201 xor ah, ah ; 30 e4 13171 13202 mov word [bp-026h], ax ; 89 46 da 13172 13203 mov ax, bx ; 89 d8 13173 call 016ach ; e8 13 8913204 call 016ach ; e8 cd 88 13174 13205 xor ah, ah ; 30 e4 13175 13206 mov word [bp-022h], ax ; 89 46 de 13176 jmp short 08d adh ; eb 0d13207 jmp short 08df3h ; eb 0d 13177 13208 mov bx, word [bp-014h] ; 8b 5e ec 13178 13209 mov cx, di ; 89 f9 13179 13210 mov dx, ss ; 8c d2 13180 13211 lea ax, [bp-026h] ; 8d 46 da 13181 call 055b6h ; e8 09 c813212 call 055b6h ; e8 c3 c7 13182 13213 mov bx, 00da8h ; bb a8 0d 13183 13214 mov cx, ds ; 8c d9 13184 13215 mov ax, strict word 00004h ; b8 04 00 13185 call 01931h ; e8 798b13216 call 01931h ; e8 33 8b 13186 13217 push di ; 57 13187 13218 push word [bp-014h] ; ff 76 ec … … 13200 13231 push 00cdah ; 68 da 0c 13201 13232 push strict byte 00004h ; 6a 04 13202 call 01972h ; e8 918b13233 call 01972h ; e8 4b 8b 13203 13234 add sp, strict byte 00018h ; 83 c4 18 13204 13235 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 13229 13260 mov dx, strict word 00075h ; ba 75 00 13230 13261 mov ax, strict word 00040h ; b8 40 00 13231 call 01650h ; e8 24 8813262 call 01650h ; e8 de 87 13232 13263 db 0feh, 0c0h 13233 13264 ; inc al ; fe c0 … … 13235 13266 mov dx, strict word 00075h ; ba 75 00 13236 13267 mov ax, strict word 00040h ; b8 40 00 13237 call 0165eh ; e8 24 8813238 jmp near 08 ed3h ; e9 96 0013268 call 0165eh ; e8 de 87 13269 jmp near 08f19h ; e9 96 00 13239 13270 cmp dx, 0eb14h ; 81 fa 14 eb 13240 jne near 08 ed3h ; 0f 85 8e 0013271 jne near 08f19h ; 0f 85 8e 00 13241 13272 cmp ax, 00101h ; 3d 01 01 13242 jne near 08 ed3h ; 0f 85 87 0013273 jne near 08f19h ; 0f 85 87 00 13243 13274 les bx, [bp-010h] ; c4 5e f0 13244 13275 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h … … 13252 13283 mov ax, word [bp-010h] ; 8b 46 f0 13253 13284 mov dx, es ; 8c c2 13254 call 083 0dh ; e8 96f413285 call 08338h ; e8 7b f4 13255 13286 test byte [bp-00226h], 080h ; f6 86 da fd 80 13256 13287 db 00fh, 095h, 0c0h … … 13291 13322 pop bp ; 5d 13292 13323 retn ; c3 13293 ahci_mem_alloc_: ; 0xf8 ee9LB 0x4313324 ahci_mem_alloc_: ; 0xf8f2f LB 0x43 13294 13325 push bp ; 55 13295 13326 mov bp, sp ; 89 e5 … … 13301 13332 mov dx, 00413h ; ba 13 04 13302 13333 xor ax, ax ; 31 c0 13303 call 0166ch ; e8 738713334 call 0166ch ; e8 2d 87 13304 13335 test ax, ax ; 85 c0 13305 je short 08f 22h ; 74 2513336 je short 08f68h ; 74 25 13306 13337 dec ax ; 48 13307 13338 mov bx, ax ; 89 c3 … … 13310 13341 sal ax, 1 ; d1 e0 13311 13342 rcl dx, 1 ; d1 d2 13312 loop 08f 05h ; e2 fa13343 loop 08f4bh ; e2 fa 13313 13344 mov si, ax ; 89 c6 13314 13345 mov di, dx ; 89 d7 … … 13316 13347 shr di, 1 ; d1 ef 13317 13348 rcr si, 1 ; d1 de 13318 loop 08f 12h ; e2 fa13349 loop 08f58h ; e2 fa 13319 13350 mov dx, 00413h ; ba 13 04 13320 13351 xor ax, ax ; 31 c0 13321 call 0167ah ; e8 5a8713352 call 0167ah ; e8 14 87 13322 13353 mov ax, si ; 89 f0 13323 13354 lea sp, [bp-00ah] ; 8d 66 f6 … … 13329 13360 pop bp ; 5d 13330 13361 retn ; c3 13331 ahci_hba_init_: ; 0xf8f 2cLB 0x12513362 ahci_hba_init_: ; 0xf8f72 LB 0x125 13332 13363 push bp ; 55 13333 13364 mov bp, sp ; 89 e5 … … 13341 13372 mov dx, strict word 0000eh ; ba 0e 00 13342 13373 mov ax, strict word 00040h ; b8 40 00 13343 call 0166ch ; e8 2a 8713374 call 0166ch ; e8 e4 86 13344 13375 mov bx, 00122h ; bb 22 01 13345 13376 mov word [bp-010h], ax ; 89 46 f0 … … 13358 13389 shr eax, 010h ; 66 c1 e8 10 13359 13390 xchg dx, ax ; 92 13360 call 08 ee9h ; e8 82 ff13391 call 08f2fh ; e8 82 ff 13361 13392 mov di, ax ; 89 c7 13362 13393 test ax, ax ; 85 c0 13363 je near 090 30h ; 0f 84 c1 0013394 je near 09076h ; 0f 84 c1 00 13364 13395 mov es, [bp-010h] ; 8e 46 f0 13365 13396 mov word [es:bx+001eeh], di ; 26 89 bf ee 01 … … 13375 13406 mov dx, strict word 00004h ; ba 04 00 13376 13407 mov ax, si ; 89 f0 13377 call 081 3ch ; e8 99f113408 call 08167h ; e8 7e f1 13378 13409 mov ax, strict word 00004h ; b8 04 00 13379 13410 xor cx, cx ; 31 c9 … … 13392 13423 xchg dx, ax ; 92 13393 13424 test AL, strict byte 001h ; a8 01 13394 jne short 08f a3h ; 75 de13425 jne short 08fe9h ; 75 de 13395 13426 xor ax, ax ; 31 c0 13396 13427 xor cx, cx ; 31 c9 … … 13410 13441 mov bx, strict word 0001fh ; bb 1f 00 13411 13442 xor cx, cx ; 31 c9 13412 call 08 1ffh ; e8 16 f213443 call 0822ah ; e8 fb f1 13413 13444 db 0feh, 0c0h 13414 13445 ; inc al ; fe c0 13415 13446 mov byte [bp-00eh], al ; 88 46 f2 13416 13447 mov byte [bp-00ch], 000h ; c6 46 f4 00 13417 jmp short 0 8ffdh ; eb 0913448 jmp short 09043h ; eb 09 13418 13449 inc byte [bp-00ch] ; fe 46 f4 13419 13450 cmp byte [bp-00ch], 020h ; 80 7e f4 20 13420 jnc short 090 2eh ; 73 3113451 jnc short 09074h ; 73 31 13421 13452 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 13422 13453 mov ax, strict word 00001h ; b8 01 00 13423 13454 xor dx, dx ; 31 d2 13424 jcxz 090 0eh ; e3 0613455 jcxz 09054h ; e3 06 13425 13456 sal ax, 1 ; d1 e0 13426 13457 rcl dx, 1 ; d1 d2 13427 loop 090 08h ; e2 fa13458 loop 0904eh ; e2 fa 13428 13459 mov bx, ax ; 89 c3 13429 13460 mov cx, dx ; 89 d1 13430 13461 mov dx, strict word 0000ch ; ba 0c 00 13431 13462 mov ax, si ; 89 f0 13432 call 081 c6h ; e8 acf113463 call 081f1h ; e8 91 f1 13433 13464 test al, al ; 84 c0 13434 je short 0 8ff4h ; 74 d613465 je short 0903ah ; 74 d6 13435 13466 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13436 13467 xor ax, ax ; 31 c0 13437 13468 mov dx, di ; 89 fa 13438 call 08a 98h ; e8 6f fa13469 call 08adeh ; e8 6f fa 13439 13470 dec byte [bp-00eh] ; fe 4e f2 13440 jne short 0 8ff4h ; 75 c613471 jne short 0903ah ; 75 c6 13441 13472 xor ax, ax ; 31 c0 13442 13473 lea sp, [bp-00ah] ; 8d 66 f6 … … 13448 13479 pop bp ; 5d 13449 13480 retn ; c3 13450 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 20h, 091h, 0feh, 090h, 004h, 091h, 00ah, 091h, 010h13451 db 091h, 0 16h, 091h, 01ch, 091h, 020h, 091h13452 _ahci_init: ; 0xf90 51LB 0xfe13481 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 066h, 091h, 044h, 091h, 04ah, 091h, 050h, 091h, 056h 13482 db 091h, 05ch, 091h, 062h, 091h, 066h, 091h 13483 _ahci_init: ; 0xf9097 LB 0xfe 13453 13484 push bp ; 55 13454 13485 mov bp, sp ; 89 e5 … … 13458 13489 mov ax, 00601h ; b8 01 06 13459 13490 mov dx, strict word 00001h ; ba 01 00 13460 call 095 6fh ; e8 0d 0513491 call 095b5h ; e8 0d 05 13461 13492 mov dx, ax ; 89 c2 13462 13493 cmp ax, strict word 0ffffh ; 3d ff ff 13463 je near 091 48h ; 0f 84 dd 0013494 je near 0918eh ; 0f 84 dd 00 13464 13495 xor al, al ; 30 c0 13465 13496 shr ax, 008h ; c1 e8 08 … … 13469 13500 xor ah, ah ; 30 e4 13470 13501 mov bx, strict word 00034h ; bb 34 00 13471 call 095 9ah ; e8 1a 0513502 call 095e0h ; e8 1a 05 13472 13503 mov cl, al ; 88 c1 13473 13504 test cl, cl ; 84 c9 13474 je short 090 a9h ; 74 2313505 je short 090efh ; 74 23 13475 13506 movzx bx, cl ; 0f b6 d9 13476 13507 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 13478 13509 mov dx, di ; 89 fa 13479 13510 mov ax, si ; 89 f0 13480 call 095 9ah ; e8 02 0513511 call 095e0h ; e8 02 05 13481 13512 cmp AL, strict byte 012h ; 3c 12 13482 je short 090 a9h ; 74 0d13513 je short 090efh ; 74 0d 13483 13514 mov al, cl ; 88 c8 13484 13515 db 0feh, 0c0h … … 13487 13518 mov dx, di ; 89 fa 13488 13519 mov ax, si ; 89 f0 13489 jmp short 090 7dh ; eb d413520 jmp short 090c3h ; eb d4 13490 13521 test cl, cl ; 84 c9 13491 je near 091 48h ; 0f 84 99 0013522 je near 0918eh ; 0f 84 99 00 13492 13523 add cl, 002h ; 80 c1 02 13493 13524 movzx bx, cl ; 0f b6 d9 … … 13496 13527 mov dx, di ; 89 fa 13497 13528 mov ax, si ; 89 f0 13498 call 095 9ah ; e8 d6 0413529 call 095e0h ; e8 d6 04 13499 13530 cmp AL, strict byte 010h ; 3c 10 13500 jne near 091 48h ; 0f 85 7e 0013531 jne near 0918eh ; 0f 85 7e 00 13501 13532 mov byte [bp-006h], 000h ; c6 46 fa 00 13502 13533 mov al, cl ; 88 c8 … … 13505 13536 mov dx, di ; 89 fa 13506 13537 mov ax, si ; 89 f0 13507 call 09 5beh ; e8 e2 0413538 call 09604h ; e8 e2 04 13508 13539 mov dx, ax ; 89 c2 13509 13540 and ax, strict word 0000fh ; 25 0f 00 13510 13541 sub ax, strict word 00004h ; 2d 04 00 13511 13542 cmp ax, strict word 0000bh ; 3d 0b 00 13512 jnbe short 091 20h ; 77 3713543 jnbe short 09166h ; 77 37 13513 13544 push CS ; 0e 13514 13545 pop ES ; 07 13515 13546 mov cx, strict word 00008h ; b9 08 00 13516 mov di, 090 3ah ; bf 3a9013547 mov di, 09080h ; bf 80 90 13517 13548 repne scasb ; f2 ae 13518 13549 sal cx, 1 ; d1 e1 13519 13550 mov di, cx ; 89 cf 13520 mov ax, word [cs:di-06f bfh] ; 2e 8b 85 419013551 mov ax, word [cs:di-06f79h] ; 2e 8b 85 87 90 13521 13552 jmp ax ; ff e0 13522 13553 mov byte [bp-006h], 010h ; c6 46 fa 10 13523 jmp short 091 20h ; eb 1c13554 jmp short 09166h ; eb 1c 13524 13555 mov byte [bp-006h], 014h ; c6 46 fa 14 13525 jmp short 091 20h ; eb 1613556 jmp short 09166h ; eb 16 13526 13557 mov byte [bp-006h], 018h ; c6 46 fa 18 13527 jmp short 091 20h ; eb 1013558 jmp short 09166h ; eb 10 13528 13559 mov byte [bp-006h], 01ch ; c6 46 fa 1c 13529 jmp short 091 20h ; eb 0a13560 jmp short 09166h ; eb 0a 13530 13561 mov byte [bp-006h], 020h ; c6 46 fa 20 13531 jmp short 091 20h ; eb 0413562 jmp short 09166h ; eb 04 13532 13563 mov byte [bp-006h], 024h ; c6 46 fa 24 13533 13564 mov si, dx ; 89 d6 … … 13536 13567 mov al, byte [bp-006h] ; 8a 46 fa 13537 13568 test al, al ; 84 c0 13538 je short 091 48h ; 74 1913569 je short 0918eh ; 74 19 13539 13570 movzx bx, al ; 0f b6 d8 13540 13571 movzx dx, byte [bp-008h] ; 0f b6 56 f8 13541 13572 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13542 call 09 5e0h ; e8 a3 0413573 call 09626h ; e8 a3 04 13543 13574 test AL, strict byte 001h ; a8 01 13544 je short 091 48h ; 74 0713575 je short 0918eh ; 74 07 13545 13576 and AL, strict byte 0f0h ; 24 f0 13546 13577 add ax, si ; 01 f0 13547 call 08f 2ch ; e8 e4 fd13578 call 08f72h ; e8 e4 fd 13548 13579 lea sp, [bp-004h] ; 8d 66 fc 13549 13580 pop di ; 5f … … 13551 13582 pop bp ; 5d 13552 13583 retn ; c3 13553 apm_out_str_: ; 0xf91 4fLB 0x3913584 apm_out_str_: ; 0xf9195 LB 0x39 13554 13585 push bp ; 55 13555 13586 mov bp, sp ; 89 e5 … … 13557 13588 mov bx, ax ; 89 c3 13558 13589 cmp byte [bx], 000h ; 80 3f 00 13559 je short 091 64h ; 74 0a13590 je short 091aah ; 74 0a 13560 13591 mov al, byte [bx] ; 8a 07 13561 13592 out DX, AL ; ee … … 13564 13595 db 00ah, 0c0h 13565 13596 ; or al, al ; 0a c0 13566 jne short 091 5ch ; 75 f813597 jne short 091a2h ; 75 f8 13567 13598 lea sp, [bp-002h] ; 8d 66 fe 13568 13599 pop bx ; 5b 13569 13600 pop bp ; 5d 13570 13601 retn ; c3 13571 stosw ; ab13602 db 0f1h 13572 13603 xchg cx, ax ; 91 13573 jnbe short 09100h ; 77 92 13574 mov bp, 0d891h ; bd 91 d8 13575 xchg cx, ax ; 91 13576 jnbe short 09106h ; 77 92 13577 add dx, word [bp+si-06d89h] ; 03 92 77 92 13578 or byte [bp+si-06db4h], dl ; 08 92 4c 92 13579 dec sp ; 4c 13604 mov bp, 00392h ; bd 92 03 13580 13605 xchg dx, ax ; 92 13581 dec sp ; 4c13606 push DS ; 1e 13582 13607 xchg dx, ax ; 92 13583 inc di ; 4713608 mov bp, 04992h ; bd 92 49 13584 13609 xchg dx, ax ; 92 13585 dec sp ; 4c13610 mov bp, 04e92h ; bd 92 4e 13586 13611 xchg dx, ax ; 92 13587 dec sp ; 4c13588 13612 xchg dx, ax ; 92 13589 inc ax ; 4013590 13613 xchg dx, ax ; 92 13591 _apm_function: ; 0xf9188 LB 0xf5 13614 xchg dx, ax ; 92 13615 xchg dx, ax ; 92 13616 xchg dx, ax ; 92 13617 xchg dx, ax ; 92 13618 lea dx, [bp+si-06d6eh] ; 8d 92 92 92 13619 xchg dx, ax ; 92 13620 xchg dx, ax ; 92 13621 db 086h 13622 xchg dx, ax ; 92 13623 _apm_function: ; 0xf91ce LB 0xf5 13592 13624 push bp ; 55 13593 13625 mov bp, sp ; 89 e5 … … 13597 13629 xor ah, ah ; 30 e4 13598 13630 cmp ax, strict word 0000eh ; 3d 0e 00 13599 jnbe near 092 4ch ; 0f 87 b0 0013631 jnbe near 09292h ; 0f 87 b0 00 13600 13632 mov bx, ax ; 89 c3 13601 13633 add bx, ax ; 01 c3 13602 13634 mov dx, word [bp+018h] ; 8b 56 18 13603 13635 or dl, 001h ; 80 ca 01 13604 jmp word [cs:bx-06e 96h] ; 2e ff a7 6a9113636 jmp word [cs:bx-06e50h] ; 2e ff a7 b0 91 13605 13637 mov word [bp+012h], 00102h ; c7 46 12 02 01 13606 13638 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 13607 13639 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 13608 jmp near 092 77h ; e9 ba 0013640 jmp near 092bdh ; e9 ba 00 13609 13641 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13610 mov word [bp+00ch], 09 7d4h ; c7 46 0c d4 9713642 mov word [bp+00ch], 09824h ; c7 46 0c 24 98 13611 13643 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 13612 13644 mov ax, strict word 0fff0h ; b8 f0 ff 13613 13645 mov word [bp+006h], ax ; 89 46 06 13614 13646 mov word [bp+004h], ax ; 89 46 04 13615 jmp near 092 77h ; e9 9f 0013647 jmp near 092bdh ; e9 9f 00 13616 13648 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13617 13649 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 13626 13658 mov si, ax ; 89 c6 13627 13659 sal esi, 010h ; 66 c1 e6 10 13628 jmp near 092 77h ; e9 74 0013660 jmp near 092bdh ; e9 74 00 13629 13661 sti ; fb 13630 13662 hlt ; f4 13631 jmp near 092 77h ; e9 6f 0013663 jmp near 092bdh ; e9 6f 00 13632 13664 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 13633 je short 092 2dh ; 74 1f13665 je short 09273h ; 74 1f 13634 13666 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 13635 je short 092 25h ; 74 1113667 je short 0926bh ; 74 11 13636 13668 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 13637 jne short 092 35h ; 75 1b13669 jne short 0927bh ; 75 1b 13638 13670 mov dx, 08900h ; ba 00 89 13639 13671 mov ax, 00d12h ; b8 12 0d 13640 call 091 4fh ; e8 2c ff13641 jmp short 092 77h ; eb 5213672 call 09195h ; e8 2c ff 13673 jmp short 092bdh ; eb 52 13642 13674 mov dx, 08900h ; ba 00 89 13643 13675 mov ax, 00d1ah ; b8 1a 0d 13644 jmp short 092 20h ; eb f313676 jmp short 09266h ; eb f3 13645 13677 mov dx, 08900h ; ba 00 89 13646 13678 mov ax, 00d22h ; b8 22 0d 13647 jmp short 092 20h ; eb eb13679 jmp short 09266h ; eb eb 13648 13680 or ah, 00ah ; 80 cc 0a 13649 13681 mov word [bp+012h], ax ; 89 46 12 13650 13682 mov word [bp+018h], dx ; 89 56 18 13651 jmp short 092 77h ; eb 3713683 jmp short 092bdh ; eb 37 13652 13684 mov word [bp+012h], 00102h ; c7 46 12 02 01 13653 jmp short 092 77h ; eb 3013685 jmp short 092bdh ; eb 30 13654 13686 or ah, 080h ; 80 cc 80 13655 jmp short 092 38h ; eb ec13687 jmp short 0927eh ; eb ec 13656 13688 mov bx, 00da8h ; bb a8 0d 13657 13689 mov cx, ds ; 8c d9 13658 13690 mov ax, strict word 00004h ; b8 04 00 13659 call 01931h ; e8 da8613691 call 01931h ; e8 94 86 13660 13692 push word [bp+00ch] ; ff 76 0c 13661 13693 push word [bp+012h] ; ff 76 12 13662 13694 push 00d2bh ; 68 2b 0d 13663 13695 push strict byte 00004h ; 6a 04 13664 call 01972h ; e8 0d 8713696 call 01972h ; e8 c7 86 13665 13697 add sp, strict byte 00008h ; 83 c4 08 13666 13698 mov ax, word [bp+012h] ; 8b 46 12 … … 13673 13705 pop bp ; 5d 13674 13706 retn ; c3 13675 pci16_select_reg_: ; 0xf92 7dLB 0x2413707 pci16_select_reg_: ; 0xf92c3 LB 0x24 13676 13708 push bp ; 55 13677 13709 mov bp, sp ; 89 e5 … … 13690 13722 pop bp ; 5d 13691 13723 retn ; c3 13692 pci16_find_device_: ; 0xf92 a1LB 0xf713724 pci16_find_device_: ; 0xf92e7 LB 0xf7 13693 13725 push bp ; 55 13694 13726 mov bp, sp ; 89 e5 … … 13704 13736 mov byte [bp-008h], 000h ; c6 46 f8 00 13705 13737 test bl, 007h ; f6 c3 07 13706 jne short 09 2e9h ; 75 2d13738 jne short 0932fh ; 75 2d 13707 13739 mov dx, strict word 0000eh ; ba 0e 00 13708 13740 mov ax, bx ; 89 d8 13709 call 092 7dh ; e8 b9 ff13741 call 092c3h ; e8 b9 ff 13710 13742 mov dx, 00cfeh ; ba fe 0c 13711 13743 in AL, DX ; ec … … 13714 13746 mov byte [bp-006h], al ; 88 46 fa 13715 13747 cmp AL, strict byte 0ffh ; 3c ff 13716 jne short 09 2d7h ; 75 0613748 jne short 0931dh ; 75 06 13717 13749 add bx, strict byte 00008h ; 83 c3 08 13718 jmp near 093 6ah ; e9 93 0013750 jmp near 093b0h ; e9 93 00 13719 13751 test byte [bp-006h], 080h ; f6 46 fa 80 13720 je short 09 2e4h ; 74 0713752 je short 0932ah ; 74 07 13721 13753 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 13722 jmp short 09 2e9h ; eb 0513754 jmp short 0932fh ; eb 05 13723 13755 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 13724 13756 mov al, byte [bp-006h] ; 8a 46 fa 13725 13757 and AL, strict byte 007h ; 24 07 13726 13758 cmp AL, strict byte 001h ; 3c 01 13727 jne short 093 11h ; 75 1f13759 jne short 09357h ; 75 1f 13728 13760 mov ax, bx ; 89 d8 13729 13761 shr ax, 008h ; c1 e8 08 13730 13762 test ax, ax ; 85 c0 13731 jne short 093 11h ; 75 1613763 jne short 09357h ; 75 16 13732 13764 mov dx, strict word 0001ah ; ba 1a 00 13733 13765 mov ax, bx ; 89 d8 13734 call 092 7dh ; e8 7a ff13766 call 092c3h ; e8 7a ff 13735 13767 mov dx, 00cfeh ; ba fe 0c 13736 13768 in AL, DX ; ec … … 13738 13770 ; sub ah, ah ; 2a e4 13739 13771 cmp al, byte [bp-008h] ; 3a 46 f8 13740 jbe short 093 11h ; 76 0313772 jbe short 09357h ; 76 03 13741 13773 mov byte [bp-008h], al ; 88 46 f8 13742 13774 test di, di ; 85 ff 13743 je short 093 1ah ; 74 0513775 je short 09360h ; 74 05 13744 13776 mov dx, strict word 00008h ; ba 08 00 13745 jmp short 093 1ch ; eb 0213777 jmp short 09362h ; eb 02 13746 13778 xor dx, dx ; 31 d2 13747 13779 mov ax, bx ; 89 d8 13748 call 092 7dh ; e8 5c ff13780 call 092c3h ; e8 5c ff 13749 13781 mov dx, 00cfch ; ba fc 0c 13750 13782 in eax, DX ; 66 ed … … 13757 13789 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 13758 13790 test di, di ; 85 ff 13759 je short 093 4bh ; 74 0f13791 je short 09391h ; 74 0f 13760 13792 mov cx, strict word 00008h ; b9 08 00 13761 13793 shr dx, 1 ; d1 ea 13762 13794 rcr ax, 1 ; d1 d8 13763 loop 093 3fh ; e2 fa13795 loop 09385h ; e2 fa 13764 13796 mov word [bp-00eh], ax ; 89 46 f2 13765 13797 mov word [bp-00ch], dx ; 89 56 f4 13766 13798 mov ax, word [bp-00ch] ; 8b 46 f4 13767 13799 cmp ax, word [bp-014h] ; 3b 46 ec 13768 jne short 093 5bh ; 75 0813800 jne short 093a1h ; 75 08 13769 13801 mov ax, word [bp-00eh] ; 8b 46 f2 13770 13802 cmp ax, word [bp-012h] ; 3b 46 ee 13771 je short 093 61h ; 74 0613803 je short 093a7h ; 74 06 13772 13804 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 13773 je short 093 67h ; 74 0613805 je short 093adh ; 74 06 13774 13806 dec si ; 4e 13775 13807 cmp si, strict byte 0ffffh ; 83 fe ff 13776 je short 093 79h ; 74 1213808 je short 093bfh ; 74 12 13777 13809 add bx, word [bp-00ah] ; 03 5e f6 13778 13810 mov dx, bx ; 89 da … … 13780 13812 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13781 13813 cmp dx, ax ; 39 c2 13782 jbe near 092 b7h ; 0f 86 3e ff13814 jbe near 092fdh ; 0f 86 3e ff 13783 13815 cmp si, strict byte 0ffffh ; 83 fe ff 13784 jne short 093 82h ; 75 0413816 jne short 093c8h ; 75 04 13785 13817 mov ax, bx ; 89 d8 13786 jmp short 093 85h ; eb 0313818 jmp short 093cbh ; eb 03 13787 13819 mov ax, strict word 0ffffh ; b8 ff ff 13788 13820 lea sp, [bp-004h] ; 8d 66 fc … … 13791 13823 pop bp ; 5d 13792 13824 retn ; c3 13793 jp short 09322h ; 7a 9413825 rcl byte [si-06b26h], 0edh ; c0 94 da 94 ed 13794 13826 xchg sp, ax ; 94 13795 xchg sp, ax ; 94 13796 cmpsw ; a7 13797 xchg sp, ax ; 94 13798 mov sp, 0cf94h ; bc 94 cf 13799 xchg sp, ax ; 94 13800 loop 0932ch ; e2 94 13801 _pci16_function: ; 0xf9398 LB 0x1d7 13827 add dl, byte [di-06aebh] ; 02 95 15 95 13828 db 028h 13829 xchg bp, ax ; 95 13830 _pci16_function: ; 0xf93de LB 0x1d7 13802 13831 push bp ; 55 13803 13832 mov bp, sp ; 89 e5 … … 13813 13842 xor ah, ah ; 30 e4 13814 13843 cmp bx, strict byte 00003h ; 83 fb 03 13815 jc short 09 3d1h ; 72 1a13816 jbe short 094 29h ; 76 7013844 jc short 09417h ; 72 1a 13845 jbe short 0946fh ; 76 70 13817 13846 cmp bx, strict byte 0000eh ; 83 fb 0e 13818 je near 09 4f6h ; 0f 84 36 0113847 je near 0953ch ; 0f 84 36 01 13819 13848 cmp bx, strict byte 00008h ; 83 fb 08 13820 jc near 095 3bh ; 0f 82 74 0113849 jc near 09581h ; 0f 82 74 01 13821 13850 cmp bx, strict byte 0000dh ; 83 fb 0d 13822 jbe near 094 4eh ; 0f 86 80 0013823 jmp near 095 3bh ; e9 6a 0113851 jbe near 09494h ; 0f 86 80 00 13852 jmp near 09581h ; e9 6a 01 13824 13853 cmp bx, strict byte 00002h ; 83 fb 02 13825 je short 09 3f9h ; 74 2313854 je short 0943fh ; 74 23 13826 13855 cmp bx, strict byte 00001h ; 83 fb 01 13827 jne near 095 3bh ; 0f 85 5e 0113856 jne near 09581h ; 0f 85 5e 01 13828 13857 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 13829 13858 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 13831 13860 mov word [bp+018h], 04350h ; c7 46 18 50 43 13832 13861 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 13833 jmp near 095 68h ; e9 6f 0113862 jmp near 095aeh ; e9 6f 01 13834 13863 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 13835 jne short 094 05h ; 75 0613864 jne short 0944bh ; 75 06 13836 13865 or ah, 083h ; 80 cc 83 13837 jmp near 095 61h ; e9 5c 0113866 jmp near 095a7h ; e9 5c 01 13838 13867 mov bx, word [bp+008h] ; 8b 5e 08 13839 13868 mov dx, word [bp+01ch] ; 8b 56 1c 13840 13869 mov ax, word [bp+018h] ; 8b 46 18 13841 13870 xor cx, cx ; 31 c9 13842 call 092 a1h ; e8 8e fe13871 call 092e7h ; e8 8e fe 13843 13872 cmp ax, strict word 0ffffh ; 3d ff ff 13844 jne short 094 23h ; 75 0b13873 jne short 09469h ; 75 0b 13845 13874 mov ax, word [bp+020h] ; 8b 46 20 13846 13875 xor ah, ah ; 30 e4 13847 13876 or ah, 086h ; 80 cc 86 13848 jmp near 095 61h ; e9 3e 0113877 jmp near 095a7h ; e9 3e 01 13849 13878 mov word [bp+014h], ax ; 89 46 14 13850 jmp near 095 68h ; e9 3f 0113879 jmp near 095aeh ; e9 3f 01 13851 13880 mov bx, word [bp+008h] ; 8b 5e 08 13852 13881 mov ax, word [bp+01ch] ; 8b 46 1c 13853 13882 mov dx, word [bp+01eh] ; 8b 56 1e 13854 13883 mov cx, strict word 00001h ; b9 01 00 13855 call 092 a1h ; e8 69 fe13884 call 092e7h ; e8 69 fe 13856 13885 cmp ax, strict word 0ffffh ; 3d ff ff 13857 jne short 094 48h ; 75 0b13886 jne short 0948eh ; 75 0b 13858 13887 mov ax, word [bp+020h] ; 8b 46 20 13859 13888 xor ah, ah ; 30 e4 13860 13889 or ah, 086h ; 80 cc 86 13861 jmp near 095 61h ; e9 19 0113890 jmp near 095a7h ; e9 19 01 13862 13891 mov word [bp+014h], ax ; 89 46 14 13863 jmp near 095 68h ; e9 1a 0113892 jmp near 095aeh ; e9 1a 01 13864 13893 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 13865 jc short 094 5bh ; 72 0613894 jc short 094a1h ; 72 06 13866 13895 or ah, 087h ; 80 cc 87 13867 jmp near 095 61h ; e9 06 0113896 jmp near 095a7h ; e9 06 01 13868 13897 mov dx, word [bp+004h] ; 8b 56 04 13869 13898 mov ax, word [bp+014h] ; 8b 46 14 13870 call 092 7dh ; e8 19 fe13899 call 092c3h ; e8 19 fe 13871 13900 mov bx, word [bp+020h] ; 8b 5e 20 13872 13901 xor bh, bh ; 30 ff 13873 13902 sub bx, strict byte 00008h ; 83 eb 08 13874 13903 cmp bx, strict byte 00005h ; 83 fb 05 13875 jnbe near 095 68h ; 0f 87 f5 0013904 jnbe near 095aeh ; 0f 87 f5 00 13876 13905 add bx, bx ; 01 db 13877 jmp word [cs:bx-06c 74h] ; 2e ff a7 8c9313906 jmp word [cs:bx-06c2eh] ; 2e ff a7 d2 93 13878 13907 mov bx, word [bp+01ch] ; 8b 5e 1c 13879 13908 xor bl, bl ; 30 db … … 13886 13915 or bx, ax ; 09 c3 13887 13916 mov word [bp+01ch], bx ; 89 5e 1c 13888 jmp near 095 68h ; e9 d4 0013917 jmp near 095aeh ; e9 d4 00 13889 13918 mov dx, word [bp+004h] ; 8b 56 04 13890 13919 xor dh, dh ; 30 f6 … … 13893 13922 in ax, DX ; ed 13894 13923 mov word [bp+01ch], ax ; 89 46 1c 13895 jmp near 095 68h ; e9 c1 0013924 jmp near 095aeh ; e9 c1 00 13896 13925 mov dx, 00cfch ; ba fc 0c 13897 13926 in eax, DX ; 66 ed … … 13902 13931 mov word [bp+01ch], ax ; 89 46 1c 13903 13932 mov word [bp+01eh], dx ; 89 56 1e 13904 jmp near 095 68h ; e9 ac 0013933 jmp near 095aeh ; e9 ac 00 13905 13934 mov ax, word [bp+01ch] ; 8b 46 1c 13906 13935 mov dx, word [bp+004h] ; 8b 56 04 … … 13909 13938 add dx, 00cfch ; 81 c2 fc 0c 13910 13939 out DX, AL ; ee 13911 jmp near 095 68h ; e9 99 0013940 jmp near 095aeh ; e9 99 00 13912 13941 mov ax, word [bp+01ch] ; 8b 46 1c 13913 13942 mov dx, word [bp+004h] ; 8b 56 04 … … 13916 13945 add dx, 00cfch ; 81 c2 fc 0c 13917 13946 out DX, ax ; ef 13918 jmp near 095 68h ; e9 86 0013947 jmp near 095aeh ; e9 86 00 13919 13948 mov ax, word [bp+01ch] ; 8b 46 1c 13920 13949 mov cx, word [bp+01eh] ; 8b 4e 1e … … 13925 13954 ; mov ax, cx ; 8b c1 13926 13955 out DX, eax ; 66 ef 13927 jmp short 095 68h ; eb 7213956 jmp short 095aeh ; eb 72 13928 13957 mov bx, word [bp+004h] ; 8b 5e 04 13929 13958 mov es, [bp+026h] ; 8e 46 26 … … 13932 13961 mov cx, word [0f4a0h] ; 8b 0e a0 f4 13933 13962 cmp cx, word [es:bx] ; 26 3b 0f 13934 jbe short 095 1ch ; 76 1113963 jbe short 09562h ; 76 11 13935 13964 mov ax, word [bp+020h] ; 8b 46 20 13936 13965 xor ah, ah ; 30 e4 … … 13938 13967 mov word [bp+020h], ax ; 89 46 20 13939 13968 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 13940 jmp short 095 30h ; eb 1413969 jmp short 09576h ; eb 14 13941 13970 les di, [es:bx+002h] ; 26 c4 7f 02 13942 13971 mov si, 0f2c0h ; be c0 f2 … … 13950 13979 les bx, [bp-008h] ; c4 5e f8 13951 13980 mov word [es:bx], ax ; 26 89 07 13952 jmp short 095 68h ; eb 2d13981 jmp short 095aeh ; eb 2d 13953 13982 mov bx, 00da8h ; bb a8 0d 13954 13983 mov cx, ds ; 8c d9 13955 13984 mov ax, strict word 00004h ; b8 04 00 13956 call 01931h ; e8 eb8313985 call 01931h ; e8 a5 83 13957 13986 mov ax, word [bp+014h] ; 8b 46 14 13958 13987 push ax ; 50 … … 13961 13990 push 00d5eh ; 68 5e 0d 13962 13991 push strict byte 00004h ; 6a 04 13963 call 01972h ; e8 1c 8413992 call 01972h ; e8 d6 83 13964 13993 add sp, strict byte 00008h ; 83 c4 08 13965 13994 mov ax, word [bp+020h] ; 8b 46 20 … … 13973 14002 pop bp ; 5d 13974 14003 retn ; c3 13975 pci_find_classcode_: ; 0xf95 6fLB 0x2b14004 pci_find_classcode_: ; 0xf95b5 LB 0x2b 13976 14005 push bp ; 55 13977 14006 mov bp, sp ; 89 e5 … … 13988 14017 int 01ah ; cd 1a 13989 14018 cmp ah, 000h ; 80 fc 00 13990 je near 095 90h ; 0f 84 03 0014019 je near 095d6h ; 0f 84 03 00 13991 14020 mov bx, strict word 0ffffh ; bb ff ff 13992 14021 mov ax, bx ; 89 d8 … … 13997 14026 pop bp ; 5d 13998 14027 retn ; c3 13999 pci_read_config_byte_: ; 0xf95 9aLB 0x2414028 pci_read_config_byte_: ; 0xf95e0 LB 0x24 14000 14029 push bp ; 55 14001 14030 mov bp, sp ; 89 e5 … … 14016 14045 pop bp ; 5d 14017 14046 retn ; c3 14018 pci_read_config_word_: ; 0xf9 5beLB 0x2214047 pci_read_config_word_: ; 0xf9604 LB 0x22 14019 14048 push bp ; 55 14020 14049 mov bp, sp ; 89 e5 … … 14035 14064 pop bp ; 5d 14036 14065 retn ; c3 14037 pci_read_config_dword_: ; 0xf9 5e0LB 0x2714066 pci_read_config_dword_: ; 0xf9626 LB 0x27 14038 14067 push bp ; 55 14039 14068 mov bp, sp ; 89 e5 … … 14056 14085 pop bp ; 5d 14057 14086 retn ; c3 14058 vds_is_present_: ; 0xf96 07LB 0x1d14087 vds_is_present_: ; 0xf964d LB 0x1d 14059 14088 push bx ; 53 14060 14089 push bp ; 55 … … 14064 14093 mov es, ax ; 8e c0 14065 14094 test byte [es:bx], 020h ; 26 f6 07 20 14066 je short 096 1fh ; 74 0614095 je short 09665h ; 74 06 14067 14096 mov ax, strict word 00001h ; b8 01 00 14068 14097 pop bp ; 5d … … 14073 14102 pop bx ; 5b 14074 14103 retn ; c3 14075 vds_real_to_lin_: ; 0xf96 24LB 0x1e14104 vds_real_to_lin_: ; 0xf966a LB 0x1e 14076 14105 push bx ; 53 14077 14106 push cx ; 51 … … 14084 14113 sal ax, 1 ; d1 e0 14085 14114 rcl dx, 1 ; d1 d2 14086 loop 096 32h ; e2 fa14115 loop 09678h ; e2 fa 14087 14116 xor cx, cx ; 31 c9 14088 14117 add ax, bx ; 01 d8 … … 14092 14121 pop bx ; 5b 14093 14122 retn ; c3 14094 vds_build_sg_list_: ; 0xf96 42LB 0x7914123 vds_build_sg_list_: ; 0xf9688 LB 0x79 14095 14124 push bp ; 55 14096 14125 mov bp, sp ; 89 e5 … … 14106 14135 mov bx, word [bp+006h] ; 8b 5e 06 14107 14136 mov word [es:di+002h], bx ; 26 89 5d 02 14108 call 096 24h ; e8 c3 ff14137 call 0966ah ; e8 c3 ff 14109 14138 mov es, si ; 8e c6 14110 14139 mov word [es:di+004h], ax ; 26 89 45 04 14111 14140 mov word [es:di+006h], dx ; 26 89 55 06 14112 14141 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 14113 call 096 07h ; e8 93 ff14142 call 0964dh ; e8 93 ff 14114 14143 test ax, ax ; 85 c0 14115 je short 096 8bh ; 74 1314144 je short 096d1h ; 74 13 14116 14145 mov es, si ; 8e c6 14117 14146 mov ax, 08105h ; b8 05 81 14118 14147 mov dx, strict word 00000h ; ba 00 00 14119 14148 int 04bh ; cd 4b 14120 jc near 096 88h ; 0f 82 02 0014149 jc near 096ceh ; 0f 82 02 00 14121 14150 db 032h, 0c0h 14122 14151 ; xor al, al ; 32 c0 14123 14152 cbw ; 98 14124 jmp short 096 b2h ; eb 2714153 jmp short 096f8h ; eb 27 14125 14154 mov es, si ; 8e c6 14126 14155 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 14139 14168 pop bp ; 5d 14140 14169 retn 00004h ; c2 04 00 14141 vds_free_sg_list_: ; 0xf9 6bb LB 0x3514170 vds_free_sg_list_: ; 0xf9701 LB 0x3f 14142 14171 push bp ; 55 14143 14172 mov bp, sp ; 89 e5 … … 14145 14174 push di ; 57 14146 14175 mov bx, ax ; 89 c3 14147 call 096 07h ; e8 42 ff14176 call 0964dh ; e8 42 ff 14148 14177 test ax, ax ; 85 c0 14149 je short 09 6dch ; 74 1314178 je short 09722h ; 74 13 14150 14179 mov di, bx ; 89 df 14151 14180 mov es, dx ; 8e c2 … … 14153 14182 mov dx, strict word 00000h ; ba 00 00 14154 14183 int 04bh ; cd 4b 14155 jc near 09 6dbh ; 0f 82 02 0014184 jc near 09721h ; 0f 82 02 00 14156 14185 db 032h, 0c0h 14157 14186 ; xor al, al ; 32 c0 … … 14164 14193 pop bp ; 5d 14165 14194 retn ; c3 14166 times 0x 5db 014167 __U4D: ; 0xf9 6f0 LB 0x3914195 times 0xf db 0 14196 __U4D: ; 0xf9740 LB 0x39 14168 14197 pushfw ; 9c 14169 14198 push eax ; 66 50 … … 14195 14224 popfw ; 9d 14196 14225 retn ; c3 14197 __U4M: ; 0xf97 29 LB 0x3114226 __U4M: ; 0xf9779 LB 0x31 14198 14227 pushfw ; 9c 14199 14228 push eax ; 66 50 … … 14220 14249 popfw ; 9d 14221 14250 retn ; c3 14222 _fmemset_: ; 0xf97 5a LB 0xd14251 _fmemset_: ; 0xf97aa LB 0xd 14223 14252 push di ; 57 14224 14253 mov es, dx ; 8e c2 … … 14230 14259 pop di ; 5f 14231 14260 retn ; c3 14232 _fmemcpy_: ; 0xf97 67 LB 0x3314261 _fmemcpy_: ; 0xf97b7 LB 0x33 14233 14262 push bp ; 55 14234 14263 db 08bh, 0ech … … 14250 14279 leave ; c9 14251 14280 retn ; c3 14252 add byte [bx+si-04d69h], dh ; 00 b0 97 b2 14253 xchg di, ax ; 97 14254 mov DH, strict byte 097h ; b6 97 14255 mov DH, strict byte 097h ; b6 97 14256 mov DH, strict byte 097h ; b6 97 14257 mov ax, 0b897h ; b8 97 b8 14258 xchg di, ax ; 97 14259 mov dx, 0be97h ; ba 97 be 14260 xchg di, ax ; 97 14261 mov si, 0c097h ; be 97 c0 14262 xchg di, ax ; 97 14263 lds dx, [bx-06839h] ; c5 97 c7 97 14264 apm_worker: ; 0xf979a LB 0x3a 14281 add byte [bx+si], al ; 00 00 14282 cbw ; 98 14283 add bl, byte [bx+si-067fah] ; 02 98 06 98 14284 push ES ; 06 14285 cbw ; 98 14286 push ES ; 06 14287 cbw ; 98 14288 or byte [bx+si-067f8h], bl ; 08 98 08 98 14289 or bl, byte [bx+si-067f2h] ; 0a 98 0e 98 14290 push CS ; 0e 14291 cbw ; 98 14292 adc byte [bx+si-067ebh], bl ; 10 98 15 98 14293 pop SS ; 17 14294 cbw ; 98 14295 apm_worker: ; 0xf97ea LB 0x3a 14265 14296 sti ; fb 14266 14297 push ax ; 50 … … 14274 14305 pop ax ; 58 14275 14306 mov AH, strict byte 053h ; b4 53 14276 jnc short 09 7d0h ; 73 2514277 jmp word [cs:bp-068 80h] ; 2e ff a6 80 9714278 jmp short 09 7ceh ; eb 1c14307 jnc short 09820h ; 73 25 14308 jmp word [cs:bp-06830h] ; 2e ff a6 d0 97 14309 jmp short 0981eh ; eb 1c 14279 14310 sti ; fb 14280 14311 hlt ; f4 14281 jmp short 09 7ceh ; eb 1814282 jmp short 09 7ceh ; eb 1614283 jmp short 09 7d0h ; eb 1614312 jmp short 0981eh ; eb 18 14313 jmp short 0981eh ; eb 16 14314 jmp short 09820h ; eb 16 14284 14315 mov AH, strict byte 080h ; b4 80 14285 jmp short 09 7d2h ; eb 1414286 jmp short 09 7d0h ; eb 1014316 jmp short 09822h ; eb 14 14317 jmp short 09820h ; eb 10 14287 14318 mov ax, 00102h ; b8 02 01 14288 jmp short 09 7ceh ; eb 0914289 jmp short 09 7ceh ; eb 0714319 jmp short 0981eh ; eb 09 14320 jmp short 0981eh ; eb 07 14290 14321 mov BL, strict byte 000h ; b3 00 14291 14322 mov cx, strict word 00000h ; b9 00 00 14292 jmp short 09 7ceh ; eb 0014323 jmp short 0981eh ; eb 00 14293 14324 clc ; f8 14294 14325 retn ; c3 … … 14296 14327 stc ; f9 14297 14328 retn ; c3 14298 apm_pm16_entry: ; 0xf9 7d4 LB 0x1114329 apm_pm16_entry: ; 0xf9824 LB 0x11 14299 14330 mov AH, strict byte 002h ; b4 02 14300 14331 push DS ; 1e … … 14304 14335 add bp, strict byte 00008h ; 83 c5 08 14305 14336 mov ds, bp ; 8e dd 14306 call 097 9ah ; e8 b8 ff14337 call 097eah ; e8 b8 ff 14307 14338 pop bp ; 5d 14308 14339 pop DS ; 1f 14309 14340 retf ; cb 14310 14341 14311 ; Padding 0x4 21b bytes at 0xf97e514312 times 16 923 db 014342 ; Padding 0x41cb bytes at 0xf9835 14343 times 16843 db 0 14313 14344 14314 14345 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 14357 14388 add bp, strict byte 00008h ; 83 c5 08 14358 14389 push ebp ; 66 55 14359 mov bp, 09 7d6h ; bd d6 9714390 mov bp, 09826h ; bd 26 98 14360 14391 add byte [bx+si], al ; 00 00 14361 14392 push ebp ; 66 55 … … 15079 15110 call 01badh ; e8 71 38 15080 15111 call 01fa7h ; e8 68 3c 15081 call 090 51h ; e8 0fad15082 call 080 a8h ; e8 639d15112 call 09097h ; e8 55 ad 15113 call 080d3h ; e8 8e 9d 15083 15114 call 0ed2fh ; e8 e7 09 15084 15115 call 0e2d2h ; e8 87 ff … … 16080 16111 popfw ; 9d 16081 16112 jmp short 0f895h ; eb 13 16082 call 091 88h ; e8 039916113 call 091ceh ; e8 49 99 16083 16114 jmp short 0f87ch ; eb f5 16084 16115 int15_handler_mouse: ; 0xff887 LB 0x5 … … 16209 16240 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 16210 16241 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 16211 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 0 1bh, 095h, 066h16242 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 061h, 095h, 066h 16212 16243 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 0cah, 06dh, 061h, 01fh, 007h 16213 16244 db 0cfh … … 16318 16349 cpu_reset: ; 0xffff0 LB 0x10 16319 16350 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 16320 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 5dh16351 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 03eh -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
r55078 r55260 1 52f20c4019f05d0a8b5d96985ecebb03*VBoxPcBios.rom1 dada536c6edc89409a8ebf3822aedeb9 *VBoxPcBios.rom -
trunk/src/VBox/Installer/linux/distributions_deb
r55127 r55260 3 3 _Debian_wheezy = DEBIAN_7_0 4 4 _Debian_squeeze = DEBIAN_6_0 5 _Ubuntu_trusty = UBUNTU_14_04 5 6 _Ubuntu_raring = UBUNTU_13_04 6 7 _Ubuntu_quantal = UBUNTU_12_10
Note:
See TracChangeset
for help on using the changeset viewer.