Обо мне
Я – Лис, и это мой блог.
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

17 окт 2024 Чт Встраивание VIDAC в верилятор

Наконец-то мне удалось совместить 8088 с видеоускорителем, и я смог нарисовать первую линию. Надо еще проверять и тестировать, но вроде получается и это хорошо. Используется разделяемая память, когда контроллер работает, выставлен статус BSY, то тогда невозможно ничего прочитать или записать в память $A0000...$CFFFF как минимум (192К). Это потому что видеоускоритель занимает адреса и использует их сам для записи.
Планируемый функционал.
  • Рисование линии. Выполнено, но не проверено до конца.
  • Прямоугольники — как закрашенные, так и не закрашенные (контурные)
  • Круг — не закрашенный и закрашенный
  • Текстурированный прямоугольник с прозрачностью (в том числе спрайты)
  • Закрашенный треугольник
  • Трехмерный текстурированный треугольник
  • Рисование тайловой сетки
Это большая работа и мне придется ее делать очень долго и много. Сегодня по крайней мере я смог сделать рисование линии, полигональных линии и закрашенного и не закрашенного прямоугольника и вроде все работает нормально.

        include "app/macro.asm"
        org     100h

        screen  13
        mov     ax, $C000
        mov     es, ax
        mov     si, draw
        xor     di, di
        mov     cx, size
        rep     movsb
        mov     dx, $300
        out     dx, al
        hlt

draw:   vidacline   160,10,300,150,2
        vidacpoly   100,100,3
        vidacpoly   160,10,4
        vidacrect   20,20,30,25,5
        vidacfill   40,40,70,50,6
        db 0
size    = $ - draw
Рисуется треугольник и всякая дребеда.
Теги: 8088, Видак