whit this code:
Code: Select all
cli # BIOS enabled interrupts; disable
cld
# Zero data segment registers DS, ES, and SS.
xorw %ax, %ax # Set %ax to zero
movw %ax, %ds # -> Data Segment
movw %ax, %es # -> Extra Segment
movw %ax, %ss # -> Stack Segment
/* Don't lose dl */
mov %dl, boot_disk
/* Initialize stack to just below us */
mov $0x7c00, %ax
mov %ax, %sp
/* Ask for drive params */
mov $0x48, %ah
# mov boot_disk, %dl
mov $drive_params, %si
int $0x13
/* Get video mode info */
mov $0, %ax
mov %ax, %es
mov $vbe_cont_info, %di
mov $0x4F00, %ax
int $0x10
This is correct, I got 7E26 for starting list of available mode.PC: 7E04
56 45 53 41 00 03 D9 58 00 C0 01 00 00 00 26 7E
00 00 00 01 00 00 ED 58 00 C0 00 59 00 C0 14 59
00 C0 00 01 01 01 02 01 03 01 04 01 05 01 06 01
07 01 0D 01 0E 01 0F 01 10 01 11 01 12 01 13 01
But with two real machine I got this:
Lenovo:
56 45 53 41 00 03 BC 94 00 C0 01 00 00 00 93 95
00 C0 FF 01 00 00 00 00 00 00 00 00 00 00 00 00
What's wrong?Server:
56 45 53 41 00 03 3A 59 00 C0 01 00 00 00 A7 55
00 C0 00 01 09 03 4F 59 00 C0 56 59 00 C0 5F 59
00 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00