Не могу установить частоту обновления экрана через VBE. Версия VBE у меня 2.0 . Все параметры перепробовал и через GTF разных версий считал – не работает, не пашет под Win и под MSDOS. Может кто-нибудь простенький пример кинет (желательно вместе с .com/.exe) или может ошибки подскажет. Код (Text): format MZ heap 0 stack 8000h mm: mov ax,cs ;mov ax,0 тоже не помогло mov es,ax lea di,[param_CRT] mov ax,04f02h ;mov bx,0100100100000101b mov bx,0000100100000101b ;mov bx,905h int 10h ; не работает mov ax, 0a000h mov es, ax mov di, 0h mov cx ,00ff0h print_t_p_r: mov al,055h mov [es:di],al inc di loop print_t_p_r mov AH,0 ; Call bios function "GET KEYSTROKE" int 16h int 19h ret struc crtinfo{ ; всё перебирал HorizontalTotal dw 1312D HorizontalSyncStart dw 1040D HorizontalSyncEnd dw 1136D VerticalTotal dw 800D VerticalSyncStart dw 769D VerticalSyncEnd dw 772D Flags db 01110b ;все флаги перебирал PixelClock dd 78750000D RefreshRate dw 7500D Reserved db 40 dup (0) ; remainder of ModelnfoBlock }; yyy: param_CRT crtinfo
В ней этот момент не рассмотрен, да и вообще в этой книге опечатки (D11 из регистра BX в книге "зарезервирован", а в RTFеме он используется для установки CRTS значений) http://ftp.bspu.unibel.by/pub/Programming/vbe3.pdf http://vesa.org/Store/buystandards.htm В RTFеме не сказано что этот бит он только для VBE 3.0
aL==4fh Function is supported aH==01h Function call failed He –He !!! A кому-нибудь помогали коды ошибок при работе с металлом !!! ??? !!! Это не Win API запускать! 139c – на что намекаешь, цифры fasm нормально понимает и D, и B, и H сам проверял.
Что такое “interrupt.lst” 4F03h – работает нормально, но если в bx добавь 11-й бит то 4F02h с ним уже не работает. Может у кого-нибудь осталась спецификация на VBE 2.0 а то на vesa.org только 3.0 ?
_evil INTLIST of Ralf Braun. (Перечень всех прерываний со всеми выполняемыми функциями и еще кое-какая полезная информация). ЗЫ Может VBE 2.0 не поддерживает твой вариант вызова, а как раз тот, который я привел?