С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сейчас мне немного не до того.. сам переболел ковидом, Тесть умер... похороны и.т.д. (вот вам факт.. антипрививочники Тесть не хотел делать прививку.. остальные сделали)
- - - Добавлено - - -
По поводу быстрого вывода спрайтов - развернул циклы..и быстрый переход на нужную высоту. работает быстрее.
- - - Добавлено - - -
Как-то так..Код:;R3 ширина ASL R3 ASL R3 ADD R3,PC JMP JH0 ; нулевой ширины не бывает JMP JH1 JMP JH2 JMP JH3 JMP JH4 JMP JH5 JMP JH6 JMP JH7 JMP JH8 JMP JH9 ;ЛОГО ; R4 высота JH0: JMP NXSP JH1: CMP #3, R4 BNE 1$ JMP H13 1$: CMP #14., R4 BNE 2$ JMP H114 2$: CMP #16., R4 BNE 3$ JMP H116 3$: JMP NXSP
Давно писал.. но работает быстрееКод:H116: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 H114: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 H13: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #79.,@#176640 JMP NXSP H216: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 H26: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #78.,@#176640 JMP NXSP H412: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #76.,@#176640 JMP NXSP H516: BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт INC @#176640 BIS (R5)+,@#176642 ;рисуем спрайт ADD #75.,@#176640 BIS (R5)+,@#176642 ;рисуем спрайт
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
S_V_B, а почему не JMP @TABLE(R3) ? Так же быстрее и проще. И памяти в два раза меньше надо. И таблицу можно класть, где угодно.
Да, если хочется скорости, то адреса и константы можно положить в регистры, зачем они простаивают?
- - - Добавлено - - -
Как-то так, например:
- - - Добавлено - - -Код:BIS (R5)+,@R2 ;рисуем спрайт INC @R0 BIS (R5)+,@R2 ;рисуем спрайт INC @R0 BIS (R5)+,@R2 ;рисуем спрайт INC @R0 BIS (R5)+,@R2 ;рисуем спрайт INC @R0 BIS (R5)+,@R2 ;рисуем спрайт INC @R0 BIS (R5)+,@R2 ;рисуем спрайт ADD #75.,@R0
А ещё можно адрес положить в регистр, например, R1, и действовать так:
Но тут уже надо мерить, какой вариант быстрее. Может быть и так, и этак.Код:INC R1 MOV R1, @R0
Глюки:
1. Паук не может провалиться на экран ниже. А если игрок ушел экраном ниже и вернулся, паук уже оказывается застрявшим в непробиваемом кубике, левее, чем он был до падения игрока на экран ниже.
2. Если раскопать глубоко вниз, потом падать в бездну, а потом упасть на самые нижние экраны, потом пойти максимально вправо, затем прыгнуть вверх то появляется опять глюк с анимирующимися тайлами в виде долларов всяких.
Где-то может вылезти ерунда из-за отсутствующих проверок выхода спрайтов за экран. На всякий случай поставил общую проверку пока-что. А так да, было дело что при особо упорном прыгании и одновременном нажатии влево (+постоянно копать чтобы еще и лопата вылезла) в самом левом верхнем углу экрана - портилась память за пределами фреймбуфера/где-то еще.
В эмуляторе Никиты надо будет побольше посмотреть. Там есть удобная фича как показ изменившихся кусков памяти другим цветом, еще бы бектрейсинг откуда менялось (но это уже уберкруто, кажется такого на навороченных эмулях спека даже нету)
- - - Добавлено - - -
Предполагается что части лабиринта будут закрыты темнотой и герой туда пройти либо не сможет либо наугад бродить в темноте. Фонарик будет освещать на 1-2 тайла вокруг героя. Апгрейд фонарика (сжирание какой-нибудь батарейки для него) в дальнейшем будет освещать весь экран. Как-то так. Но пока это еще не реализовано.
Фото с монитора на реале. И RGB/GRB не менял.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)