PDA

Просмотр полной версии : Тайминги экранов Спектрумов



Alex Rider
23.03.2013, 21:33
Всем привет!
А есть ли где-то в одном месте информация по таймингам экрана оригинальных Спектрумов и наиболее распространенных клонов? Интересует инфа по машинам ZX48, ZX128/+2AB/+3, Pentagon, Scorpion, KAY, ATM Turbo разных версий, Profi, еще какие нестандартные. Что надо (минимум):

количество строк border'а до экрана;
количество тактов на строку;
количество тактов строки до отрисовки paper'а;
количество строк во фрейме.


В идеале хотелось бы еще высоту в строках видимой врехней части border'а и ширину в тактах видимой части border'а слева.

P.S. искал инфу внимательно, полной картины нигде нет. Кое-что приходится добывать из сорцов эмуляторов, что неудобно :(

Destr
23.03.2013, 22:15
Частенько такие вещи пытаются выяснить, мэтры объясняют что полной сводки нету, топикстартеры как-то собирают инфу.
Как-то накапливают материалы.
И никто до сих пор так и не систематизировал.
Может хватит уже?
Заведи (редактируй) тред мол "кто что знает?" по сабжу и с поступлением и накапливанием материалов (а начать надо с тщательного изучения форума и zxpress.ru) редактируй старт-мессаг.
Тогда есть шанс что получишь полную картину.
(ну относительно полную, вряд-ли кто станет замерять тайминги для какой-нибудь ереси типа "Хоббит-64", хотя возможно найдутся фанаты)

alone
24.03.2013, 12:31
Ого, оказывается, столько версий платы Пентагон 128 было! Интересно, в какой программе их разводили?

introspec
25.03.2013, 01:41
Для стандартных машин есть очень подробная документация на английском яз.: http://www.worldofspectrum.org/faq/reference/48kreference.htm#Hardware

В том числе, там есть и объяснения как работают задержки памяти на оригинальных машинах.

AM
25.03.2013, 15:38
Вот скорпионовские цифры (автор рисунка не я).

Если интерес не абстрактный, а продиктован практической необходимостью, можно узнать для чего это надо (как собираетесь использовать эти данные)?

Alex Rider
25.03.2013, 16:46
Собираюсь сделать border- мультиколорный эффект для ААА, который [эффект] бы работал на максимальном числе спектрум-совместимых машин без автоподстройки. Да, знаю прекрасно, что реальные параметры (длина INT, положение его относительно КСИ) у всех машин разные, но... Я хочу попробовать и посмотреть что получится.

introspec
25.03.2013, 17:03
border- мультиколорный эффект для ААА, который [эффект] бы работал на максимальном числе спектрум-совместимых машин без автоподстройки.

Я сейчас тоже экспериментирую с "универсальным" мультиколором. Моя главная проблема - задержки памяти на 48, 48+ и простом 128. Они зависят от того, куда попадает цикл записи в экран, что делает разработку универсальной процедуры сложной; ну или, во всяком случае, плохо укладывающейся в моей голове. Например, меня не интересует состояние бордюра, так что я готов смириться с неточностью определения начала строки в несколько тактов. Но в этом случае задержки памяти (если я правильно понимаю как они рботают) могут приводить, вообще говоря, к непостоянному числу тактов в строке и совершенно непонятно, как приспосабливаться к такому случаю.

Понятно, что можно написать спецкод для каждого компьютера, но хочется чего-то поэлегантнее. Есть ли какие-то стандартные подходы для борьбы с задержками ULA?

AM
25.03.2013, 17:17
Собираюсь сделать border- мультиколорный эффект для ААА, который [эффект] бы работал на максимальном числе спектрум-совместимых машин без автоподстройки. Да, знаю прекрасно, что реальные параметры (длина INT, положение его относительно КСИ) у всех машин разные, но... Я хочу попробовать и посмотреть что получится.
Идея классная (правда сегодня уже не очень актуальная, увы!) и, кроме того, если предполагается делать идеально точную привязку по горизонтали, то вся идея с нацеливанием на реальные машины может пойти прахом по простой причине: даже на оригинальном спектруме с одной и той же юлой тайминг не полностью детерминирован.

А если не получится сделать автоопределение хотя бы запланированных моделей (гуру смогут четко сказать, возможно это или нет), то и идея с автонастройкой на модель тоже обречена.

Вообще, не хочу вас отговаривать (упражнение отличное, имхо), но лично я не уверен, что сегодня эта игра стоит свеч: лучше доделать сложный эффект для одной модели, чем недоделать для многих. Успехов!

Alex Rider
26.03.2013, 11:24
Нарисуйте для начала модуль, который будет точно определять, на какой машине запущен этот самый бордер-мультиколор,
Это-то вообще не проблема ни разу. Это уже готово. А вот количество тактов в строке для ZX48 - это да, та еще задачка. Для 128к не актуально, там 2 экрана, в моем случае записи в активную видеопамять нет, так что всегда 228.

introspec
26.03.2013, 15:44
ну так 224 такта же. Но там еще разное количество строк вверху экрана, положение INT же... ну а вообще-то тактов-в-строке или-или. или 224 или 228. Третьего практически не дано. Если не брать во внимание сэмкоуп и турборежимы))

Я нечётко выразился :)

Судя по скриншоту, вам ничего объяснять не нужно, но я проговорю вслух, для будущих читателей треда. Для мультиколора нужно уметь писать как можно больше информации в медленную память. Всего тактов в строке, действительно, или 224 или 228. Но каждый раз при записи информации в экран, в зависимости от конкретного такта, можно получить дополнительную задержку от 1 до 6 тактов. Поэтому кол-во тактов - реальных машинных - фиксировано, но количество тактов, доступных программисту при работе с экраном, вообще говоря, может изменяться и будет зависеть от того, на каком точно такте мы начали писать в экран и как организованы обращения к экрану.

AM
28.03.2013, 16:46
А где/когда планируется релиз? Случаем не здесь? http://zx.pk.ru/showthread.php?t=20684

Alex Rider
28.03.2013, 17:14
А где/когда планируется релиз?
Релиз плариуется везде и для всех другим человеком. В смысле, ни чк чему не привязвн и должен быть месяца полтора назад, если бы я не решил сделать тайминги под несколько клонов одновременно. В общем, как только, так сразу. Там не будет ничего сверхъестественного. Пока со временем ...опа, выкраиваю кусочки.

introspec
02.04.2013, 16:20
Довольно подробная база данных по таймингам экранов спектрума нашлась в исходниках эмулятора ZXMAK2: http://zxmak2.codeplex.com/

В папке Hardware нужно смотреть определения объектов ULA. Там есть данные для АТМ, Дельты, Ленинграда, "Zebest" (это что вообще такое?), Пентагона, Профи, Кворума, Скорпиона и всех вариантов классики.