про трансляцие, планируеться что стрим будет на трех площадках www.twitch.tv/di_halt — вероятно будет самый жирный стрим т.к. у зрителей есть возможность регулировать качество видео там scenesat.com/video — че то среднее stream.retroscene.org/ — самый минимальный поток для мобил и прочего
возможны изменения
Было гораздо больше приоритетных задач, да и вообще — общих проблем: расшифровка работы с вдп, со звуком, поиски хардкода адресов на данные, прочее.
эту штуку я отключил в процессе поиска бага — казалось что она вообще не используется.
а она на первых уровнях не использовалась соврешенно, и только в конце стало понятно — где используется, и как протестировать.
это можно будет доработать, конечно
Да, видеопроц имеет счётчик строк и может вызвать прерывание на нужной линии экрана.
Это у нас тоже есть :)
В сонике такой подход был, назван был RasterSplit. Но я его тогда не реализовал, каюсь.
Слушай, Вова. Но раз ты как бы подразумеваешь статическую видеопамять, любые трюки со счётом строк и вообще со строчными прерываниями на Сеге видимо тебя полностью торпедируют. Я верно понимаю?
они упростили себе жизнь, зная что видеопроц тоже требует тактов на обработку. отсюда — любые команды, лишь бы подождать.
особенность микросхемы, вижу — нужно ожидание 8 тактов перед отправкой новых данных.
Вова, спасибо за разбор, очень интересно. Удивил цикл:
- nop
nop
ld a, (de)
inc de
out (Port_VDPData), a
djnz –
В официальной доке Сеги пишут: «The VDP chip cannot process data any faster than the following rates:
16 Z80A T-States during VBLANK
29 Z80A T-States during active video.
This means that you should never issue two consecutive OUT or IN instructions to the VDP; they should be separated by at least a NOP instruction.» Похоже что эти твои кодеры не умеют (или не любят) считать такты :)
www.twitch.tv/di_halt — вероятно будет самый жирный стрим т.к. у зрителей есть возможность регулировать качество видео там
scenesat.com/video — че то среднее
stream.retroscene.org/ — самый минимальный поток для мобил и прочего
возможны изменения
Если вкратце, во время VBLANK можно писать как угодно, а во время работы видеопроцессора реальный потолок — 26 тактов.
эту штуку я отключил в процессе поиска бага — казалось что она вообще не используется.
а она на первых уровнях не использовалась соврешенно, и только в конце стало понятно — где используется, и как протестировать.
это можно будет доработать, конечно
сверху всё жёлтое, под водой — всё голубое, по линии воды.
Это у нас тоже есть :)
В сонике такой подход был, назван был RasterSplit. Но я его тогда не реализовал, каюсь.
особенность микросхемы, вижу — нужно ожидание 8 тактов перед отправкой новых данных.
В официальной доке Сеги пишут: «The VDP chip cannot process data any faster than the following rates:
This means that you should never issue two consecutive OUT or IN instructions to the VDP; they should be separated by at least a NOP instruction.» Похоже что эти твои кодеры не умеют (или не любят) считать такты :)
ссылки выше — не то?