С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
VV и v06x точно, emu80v2 думаю тоже. b2m, когда я проверял последний раз, вел себя слегка девиантно, но не так существенно, чтобы повлиять на тестирование разрывов.
Больше игр нет
parallelno(04.07.2022)
А как восстанавливать испорченный фрагмент спрайта? Есть разные варианты, но я не увидел или не понял, какой именно здесь.
- - - Добавлено - - -
Если конкретнее, то проблема возникнет, если прерывание попадет в промежуток от SPHL до DRAW_EVEN_LINE_PARALLELNO2(). Вероятность этого не такая уж большая, чтобы проблема сразу проявилась, но при долгой работе это произойдет.
Sandro, Извини пожалуйста. спасибо что дал развёрнутое объяснение. Но хочу уточнить что притензия не принимается, так как я отвечал не всем, а только
05ivagor
В этой теме кажется кто-то написал о том что нужно держать 2 safety байта до данных. И KTSerg в этой теме выложил свой вариант исходника где так же это было. Поэтому я посчитал что вроде бы все уже этой используют. Сорян.Да, jerri предложил этот вариант в теме robotz (PPC). Точнее он предложил оставлять между спрайтами (минимум) по 2 байта. Просто переход от варианта с "любым" размещением спрайтов к "разреженному" произошел без комментария.
Если мы ещё ничего не считали со стека, то sp указывает на начало спрайта. Если прерывание произойдет, то оно испортит те два байта перед данными спрайта, а это не страшно.
Последний раз редактировалось ivagor; 05.07.2022 в 07:08.
А если прерывание произойдёт чуть позже, то адрес возврата затрёт спрайт. Использование регистров BC позволяет всегда хранить эти два байта на регистрах и восстановить их в обработчике прерывания.
А перед самым началом спрайта делается двухбайтовая дырка, из которой мы никогда ничего не читаем. Затрёт -- так затрёт.
Можно уж было дать и развёрнутое объяснение. Вас же и другие люди читают.
Вышеприведенный вариант можно наблюдать например на уровне 2. Но он не единственный, на каком-то из следующих уровней есть альтернативный вариант, но тоже связанный со шторкой. Тут движение главгероя не нужно, достаточно чтобы для вывода спрайта было всего лишь место под один тайл. Вертолет "бьется винтом" о препятствие сверху и там остается полоска от верхушки винта. Похоже на то, что под шторкой (которая тут снизу) не рисуются более нижние положения спрайта, которые должны были затереть предыдущие. Думаю тут тоже можно поправить расширив допустимую область рисования спрайтов под шторку.
- - - Добавлено - - -
У вектора процессор тормозится видеоконтроллером, про это много раз написано в векторовских темах.
metamorpho(19.07.2022)
С одной стороны да, а с другой - у ПК8000 (в scr1/2) и 8002 (без включения "повышенной производительности процессора") тоже на каждое обращение к памяти/порту уходит кратное четырем число тактов, но у всех трех растактовки разные. По вектору информация есть в нескольких местах, и я делал свой вариант
metamorpho(21.07.2022), Pyk(21.07.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)