1600 × xx の画面モード 0x11C以降は手持ちの資料には載っていなくてはじめて知りました。 -- ひげぽん
vesa_mode:
mov ax, [cs:vesares]
mov dx, 0x010f
cmp ax, 320+1
jc vesa_loop
add dx, 3
cmp ax, 640+1
jc vesa_loop
add dx, 3
cmp ax, 800+1
jc vesa_loop
add dx, 3
cmp ax, 1024+1
jc vesa_loop
add dx, 3
cmp ax, 1280+1
jc vesa_loop
add dx, 3
vesa_loop:
mov ax, [cs:vesabpp]
cmp ax, 16+1
jc vesa_16bpp
call try_vesa_mode
cmp ax, 0
je vesa_mode_ret
vesa_16bpp:
dec dx
call try_vesa_mode
cmp ax, 0
je vesa_mode_ret
cmp dx, 0x010e
je vesa_not_supported
sub dx, 2
jmp vesa_loop
vesa_not_supported: