+144.29
Рейтинг
457.61
Сила

Денис

Ура! Теперь надо новую дему! Ждём, надеемся и верим! :)
Оригинальные тайминги только в Бэйз конфе :)
офигеть, дело АОНа живёт!
Поздравляю с релизом, проделана просто титаническая работа! Появился повод почаще включать эву :)
я наврал, BIFROST*2 ENGINE выводит 20 знакомест! вива гасман
Залил исходники Old Tower Скачать тут
Чуть подчистил исходники Глуфа, если кому интересно то скачать тут
Код переменного качества от среднего до ужасного, но от этого более понятый новичкам :)
чисто исторически мы меряем всё фреймами, успевает в один фрейм (в среднем 70000тактов) = 50фпс, в два 50/2 и.т.д что там эмуляторы показывают одному автору эмулятора известно.

время выполнения обычно меряется бордюрчиком


;ждём начала кадра
halt
;синий бордюрчик
ld a,1 : out (254),a
;что надо померять
call megaDraw
;белый бордюрчик
ld a,7 : out (254),a


и получаем синенькую полосочку чтобы визуально оценить скока процедура жрёт от всего кадра :)
Как ты фпс считал? :) он не может быть быстрее чем период обновления экрана в два раза, т.к. даже чистая пара ldpush тратит 10.5 тактов на байт, значит 4096байт*10.5 = 43008 а это уже больше чем полфрейма, а это без учёта медленной памяти и вспомогательных вычислений
ну если просто по одному пиксели скролить то да, один сканлайн и мультиколор тут не помешает :) циклы статей по врехушкам тоже нужны, если нужно быстро вникнуть в тему, тем более на русском в основном только по спеку инфа.
гифки не робят но поди и так видел :)
Можно ускорить если сделать только один раз ld sp и выводить в «неленейную видеопамять» %) но там другие ньюансы сразу вылезут
для бесконечного скрола достаточно будет как у меня, буфера в два экрана высотой. просто дорисовывай строчку тайлов из массива карты. примерно как на нес скролинг делается в боянистой гифке с марио :) я так изначально делал в old tower в раннем прототипе без мультиколора.
В какой-то момент у меня оставалось мало памяти и я сделал умножение как написал introspec, но потом я свернул мультиколор в цикл и появилось лишних 3кб, поэтому сейчас по таблице. Считать приходится почаще т.к. ещё спрайты рисовать надо. Но в целом там была какая-то мизерная разница :) я честно не помню почему я перешёл на табличку, кажется не влазили спрайты чуть-чуть в верхний бордер и этот мизер пришелся ко двору.

Вставлять в концы строк jr и округлять до 64 байт это не вариант, т.к. неизбежно потеряется скорость и уменьшиться количество линий которые в 16кб влазят, а там всё впритык и так. В первом фрейме на классике тактов 400 остаётся всего.

Игра достаточно расточительна и съедает почти всю быструю память. Одна быстрая страница целиков под ldpush, во второй килобайт 7 пиксельный буфер для восстановления фона, третья быстрая под четыре мультиколорных буфера, базовый для восстановления цветов под спрайтами, два рабочих которые переключаются реаализуй double buffer и третий залитый красным для эффекта смерти героя. В целом свободно только 6кб из всей быстрой памяти :)
Про 20 знакомест это потому что оригинальная статья была написано до этого :) И до BIFROST*2 который тоже 22 знакоместа да ещё и на 48К
fixed
Небольшая статья будет в газете за рулём!
Спасибо за поддержку! Исходники в процессе упихивания в 48к превратились в ужас :) так что пока они замаринованы. Честно новоря я не представляю что там может быть полезного, всё очень просто и в лоб
тогда Brown Storm, всё логично :)))
Я не знаю наверняка, остался ли этот баг в более поздних моделях +2a/+2b/+3. Некоторые пишут, что остался, некоторые пишут что нет. Нужно проверять на железе.

Недавно разыскали плавающую шину и на этих моделях.
while the effect is no longer present on unused ports, it is still evident when reading from ports which match a particular addressing pattern, expressed as (1+n*4), or in binary, 0000 xxxx xxxx xx01. This is only evident when the memory paging ports are unlocked, otherwise they will always return FF.

Тут вот всё подробнее.
Your text to link...
он 2001 года, а в плане фрога по очищению русской демосцены до 1991 года платформы