ЗЫ Поскольку прогу пускаешь из-под форточек, не пробовал ставить\снимать галку "Эмуляция VideoBIOS драйверами карточки" в настройках PIF'а?
А этот код у тебя что рисует? Код (Text): code segment assume cs:code, ss:code, ds:code org 100h start: mov ax,4F02h mov bx,115h int 10h or ah, ah jnz exit mov ax, 4f05h xor bx, bx xor dx, dx int 10h mov ax, 0a000h mov es, ax draw: xor si, si fill: mov es:[si], byte ptr 0h ; синий mov es:[si+1], byte ptr 0h ; зелёный mov es:[si+2], byte ptr 0ffh ; красный add si,4 jnz fill test dx,dx jnz done mov ax, 4f05h xor bx, bx mov dx, 1Ch int 10h jmp short draw done: xor ah, ah int 16h exit: mov ax, 0003h int 10h mov ax, 4c00h int 21h code ends end start Должно быть 2 красных полосы - сверху и снизу. Правда если режим 24бита а не 32 - то полосы будут из разноцветных точек.
А так чего рисует? Код (Text): .386 code segment para public 'code' use16 assume cs:code, ss:code, ds:code org 100h start: mov ax,4F02h mov bx,115h int 10h cmp ax,004Fh jne exit mov eax,0000FF00h mov ebx,400 xor edx,edx vline: call pixel inc dx cmp dx,600 jb vline xor bx,bx mov dx,300 hline: call pixel inc bx cmp bx,800 jb hline xor ah,ah int 16h exit: mov ax,0003h int 10h mov ax,4C00h int 21h ;------------------------------------------------ ;-= EAX = Pixel_Color =- ;-= EBX = Pixel_X =- ;-= EDX = Pixel_Y =- ; --------------------- pixel proc near pushad push es push 0A000h pop es lea ecx,[edx*8+edx] shl edx,04h add edx,ecx shl edx,07h shl ebx,02h add edx,ebx push dx shr edx,10h cmp dx,[current_bank] je bank_ok push ax mov [current_bank],dx mov ax,4F05h xor bx,bx int 10h pop ax bank_ok: pop bx mov es:[bx],eax pop es popad ret pixel endp ;------------------------------------------------ current_bank dw 00h ;------------------------------------------------ code ends end start
tower120 твои какие мнения на этот счёт? cppasm любишь 32-битные регистры ЗЫ Спасибо за pdf. ЗЫ Хорошо бы выровнять окна в видеопамяти так, чтобы их начала совпадали с началами строк, VESABIOS это позволяет. Но это уже потом.
Переделал свою оч. старую програмульку под VESA. Посмотри сам, что где выводится. Использует кнопки стрелки, pgup,pgdn,home,end,ESC.
cppasm Запустил. Намалевало крестик. Вышел из проги. Экран сдвинуло влево сантиметров на 5 (19'' монитор). Vov4ick Работает отлично. Спасибо . Ладно, думаю обсуждение можно считать оконченым. Всем ОГРОМНОЕ спасибо.
Значит все точки прорисовываются. Ну я хозе, у меня восстановление старого режима такое же как у Vov4ick... А вообще это скорее всего Win выделывается...
Да, пускал свою прогу на нескольких компах под форточками (хр) мониторы дружно вопили о недопустимом видеорежиме и изменение галки "эмулировать видеобиос дровами" ничего не дало. Видимо не повезло с видеокартами\драйверами (не помню какие к сожалению)