С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
золотые слова
но у вектора хоть палитра есть ....
новая альфа
переписалы вывод текстового экрана, чуть быстрее работает вроде
объеденил пары спрайтов и по скорости минус 2 спрайта на вывод
и меньше места занимает
около 9к экономии.
из сильных багов
не работает препятствие с тыквой
и странный баг со спрайтами при падении вниз лицом влево
но уже вроде играбильно
Последний раз редактировалось esl; 19.09.2012 в 19:49.
esl, планируешь менять спрайтовые процедура на "классические" (и для корвета и для вектора) - стирание push, вывод pop и mov?
собираюсь пробовать, но там не особо поможет, организация экрана не ахти
построчная в отличии от векторовской
максимум что то типа
стирание
выводКод:ld bc, -66 ld de, 0FFFFh inc hl ld sp, hl push de ;1 push de add hl, bc ld sp, hl push de ;2 push de add hl, bc
это куски из пакмана счетмашевского там правда спрайты побольшеКод:ld sp, hl ld hl, (SPR_New_Player) ld bc, 59 ; 64-5 pop de ld (hl), e inc hl ld (hl), d inc hl pop de ld (hl), e inc hl add hl, bc ld (hl), d inc hl
у меня сечас без попоа
просто
стирание
выводКод:ld a,0ffh dup 16 ld (hl), a inc hl ld (hl), a inc hl ld (hl), a add hl, bc edup
там есть еще логику вывода оптимизироватьКод:ld bc,64-2 ld a,0ffh dup 16 ld a,(de) ld (hl), a inc hl inc de ld a,(de) ld (hl), a inc hl inc de ld a,(de) ld (hl), a ;inc hl inc de add hl, bc edup
и пока не спрайты тормозят, а таки обновление PNT
всетаки 768 байт вычитать и сравнить с буфером, похоже много
уже совсем скоро открою репозиторий
Пусть даже они не самый главный тормоз, но в верхней части они мигают/пропадают. Возможно хватит просто смещения области вывода в середину или вниз, чтобы отодвинуться от прерывания (момент прихода прерывания от видео в emu совпадает с реалом? правда корветовские программы я запускаю в старой версии от 24.08.2011), а возможно придется еще и ускорить вывод спрайтов.
"Классические" процедуры, кстати, можно чуть ускорить, но это, конечно, не принципиально.
ух ты, спасибо за наводку, я в своем эмуляторе отлаживаюсь а там нет такой точности, бум посмотреть
новая альфа
теперь не все PNT просматриваем на предмет обновления
а нужные для сцены куски, СИЛЬНО попустило
кстате, очень похоже что и векторовский порт в основном тормозил по этой причине.
спрайты буду отдельно пилить
сейчас они перерисовываются даже когда остались на месте
надо фиксить
во блин, сделал вывод спрайта только если он обновился
все классно, но работает криво
надо перерисовывать все
спрайт оказывается может быть затерт и другим спрайтом, и соответственно будет бага
значит способ только стерать все и перерисовывать все ...
Можно перерисовывать не все спрайты, но тогда нужно отслеживать их координаты, считая при этом спрайты прямоугольниками. Если при выводе или стирании текущий прямоугольник кого-то задел - их тоже надо перерисовать.
Последний раз редактировалось ivagor; 21.09.2012 в 15:22.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)