Экранные строки по порядку сверху вниз:
16 строк кадрового синхроимпульса (невидимых)
64 строки верхнего бордюра.
16 строк бланка (и в которых, полагаю, 4 строки синхроимпульса, иначе блок разверток порвет нафиг),
16 строк верхнего бордюра, которые нельзя использовать по 2 причинам: а) будут глюки изза «непогашенного» бланка, б) не влезет на нормальных теликах, как это было в Across the Edge,
48 строк верхнего бордюра.
И да: вся вышеописанная инфа не была смоделирована из схемы (или я ошибаюсь?), значит мое замечание про непроверенность в силе.
Из вредности сделаю хдл-бенч по схеме Mick'a и нарисую времянки только сорцы никому не покажу.
Было бы конструктивнее озвучить, в каких пунктах лажа. Я сейчас не в порядке поспорить, а в том смысле, что сейчас инфу такого типа приходится собирать по 100500 форумам. Очень полезно иметь её в одном месте. Ещё полезнее, наверное, было бы её исправить.
Если это архив ААА, то это чужой монастырь, он может делать в нём всё, что считает нужным. Спектрум в ex-USSR это территория неформальных хаков, аутентичные копии скорее исключение, чем правило. К тому же вроде бы у него на сайте по несколько вариантов каждой демы, выбирай рабочую. Хорошо, конечно, что есть и альтернативные архивы.
А я пишу эмуль в первую очередь под непродвинутого ленивого юзера, у которого одно желание — чтобы запустить и всё работало, без всяких копаний в настройках. При этом, правда, одновременно и под перфекциониста, который хочет, чтобы всё работало так, как на реале. Приходится искать компромисс.
Я не шарю в схемотехнике, в диаграммках и в HDL. Я обитатель гяф-а, к-рый до сих пор думает, что, возможно, существует клон Z80, у которого другая логика выполнения PUSH, и не видит причин, почему нет. Есть клоны Z80 с отличающимся от Z80 в деталях поведением, это я точно знаю.
И да, я думаю, что эмуляторописателям необязательно разбираться в сигналах эмулируемого устройства, если есть его подробная программная модель. Мало того, я подозреваю, что большинство эмуляторописателей далеки от схемотехники. И что большинство деталей эмуляции выужено не из схем, а из документации и программных экспериментов. Особенно недокументированные фишки Z80 и ULA.
никто не знает, как работает Пентагон, с точностью до тактов
Схема в свободном доступе. Садись и рисуй диаграммки. Или напиши HDL модель по схеме и запусти бенч, который сам все нарисует. Если бы (и были случаи) мне понадобилось сделать точную эмуляцию чего-либо, я б так поступил.
Или ты думаешь, что эмуляторописателям необязательно разбираться в сигналах эмулируемой схемы? Вместо этого лучше пойти на консультацию к безмозглым обитателям гяф-а и думать, что в разных клонах Z80 пишет на стек с разной последовательностью адресов.
Люди пишут демы под то, что смотрят пользователи. Если пользователи будут сидеть в эмуляторах, которые показывают пони, через какое-то время ты дождёшься дем написанных под пони.
Пример из жизни. ААА долгое время распространял на своём сайте старую версию эмулятора Unreal, доказывая что это единственный правильный эмулятор. Дело дошло до того, что демы, которые не шли у ААА на его эмуляторе, помощники ААА фиксили под сломанный эмулятор, так что загружая демо с сайта ААА ты не можешь даже быть уверен, аутентичная ли это копия, написанное под конкретное железо, или неформальный хак. Никакой документации этого процесса не существует.
Хорошо ли это было для пользователей? Наверное, хорошо; пользователи могут просто брать 1 эмулятор и смотреть в нём любую дему с сайта. Хорошо ли это для архива? Ну, вот тут есть разные точки зрения. Лично для меня такая деятельность — преступление.
А если я этого не сделаю, люди будут думать, что ZXMAK2 эмулирует Пентагон лучше, чем Спектрамин, потому что в нём в этих демках нет этих глитчей. А то, что на ZXMAK2 какие-то там тесты работают не так — кого это волнует?
На самом деле, все эмулеписатели этим занимаются, потому что никто не знает, как работает Пентагон, с точностью до тактов. Соответственно, все выстраивают тайминги эмуляции так, чтобы большинство демок шло красиво, а тесты на эмулях выдают кто во что горазд. Я, возможно, напишу более точную эмуляцию, но опять же — есть и у реальных Пентагонов расхождения, уже доказано тестом, значит, или надо делать подстроечные параметры в эмуле, или смириться, что часть демок слегка лажает.
И да, я считаю, наоборот — точную пусть ставят те, кто знает, что делает (разработчики), а красивая — по умолчанию, для простых юзеров, желающих насладиться демками.
Пока что 4 пентагона (Lion17, goodboy, JV-Soft, IL-DECAMERON) показали практически одинаковые результаты в тестах на тайминги. Разница только у теста на переключение экранов, и то, с машиной, которая другими тестами не проверялась. А так, конечно, возможно.
Если делать опцию, то лучше по умолчанию ставить её на «точную» эмуляцию, а не на красивую. Чтобы «красивую» ставили те, кто знает, что делает.
Возможно ли, что у разработчиков EyeAche2 был чуть другой пентагон? Или они все в плане таймингов одинаковые?
Странно, я попробовал три браузера, и проблема не воспроизвелась. Эта ошибка говорит о том, что в обеспечении https есть какие-то несовместимости, попробуй через http:// простой открыть.
Есть замечание:
16 строк бланка (и в которых, полагаю, 4 строки синхроимпульса, иначе блок разверток порвет нафиг),
16 строк верхнего бордюра, которые нельзя использовать по 2 причинам: а) будут глюки изза «непогашенного» бланка, б) не влезет на нормальных теликах, как это было в Across the Edge,
48 строк верхнего бордюра.
И да: вся вышеописанная инфа не была смоделирована из схемы (или я ошибаюсь?), значит мое замечание про непроверенность в силе.
Из вредности сделаю хдл-бенч по схеме Mick'a и нарисую времянки
только сорцы никому не покажу.А я пишу эмуль в первую очередь под непродвинутого ленивого юзера, у которого одно желание — чтобы запустить и всё работало, без всяких копаний в настройках. При этом, правда, одновременно и под перфекциониста, который хочет, чтобы всё работало так, как на реале. Приходится искать компромисс.
И да, я думаю, что эмуляторописателям необязательно разбираться в сигналах эмулируемого устройства, если есть его подробная программная модель. Мало того, я подозреваю, что большинство эмуляторописателей далеки от схемотехники. И что большинство деталей эмуляции выужено не из схем, а из документации и программных экспериментов. Особенно недокументированные фишки Z80 и ULA.
Или ты думаешь, что эмуляторописателям необязательно разбираться в сигналах эмулируемой схемы? Вместо этого лучше пойти на консультацию к безмозглым обитателям гяф-а и думать, что в разных клонах Z80 пишет на стек с разной последовательностью адресов.
Пример из жизни. ААА долгое время распространял на своём сайте старую версию эмулятора Unreal, доказывая что это единственный правильный эмулятор. Дело дошло до того, что демы, которые не шли у ААА на его эмуляторе, помощники ААА фиксили под сломанный эмулятор, так что загружая демо с сайта ААА ты не можешь даже быть уверен, аутентичная ли это копия, написанное под конкретное железо, или неформальный хак. Никакой документации этого процесса не существует.
Хорошо ли это было для пользователей? Наверное, хорошо; пользователи могут просто брать 1 эмулятор и смотреть в нём любую дему с сайта. Хорошо ли это для архива? Ну, вот тут есть разные точки зрения. Лично для меня такая деятельность — преступление.
На самом деле, все эмулеписатели этим занимаются, потому что никто не знает, как работает Пентагон, с точностью до тактов. Соответственно, все выстраивают тайминги эмуляции так, чтобы большинство демок шло красиво, а тесты на эмулях выдают кто во что горазд. Я, возможно, напишу более точную эмуляцию, но опять же — есть и у реальных Пентагонов расхождения, уже доказано тестом, значит, или надо делать подстроечные параметры в эмуле, или смириться, что часть демок слегка лажает.
По основной теме — вроде ничего другого в голову сейчас не приходит. Если вспомню — обязательно напишу.
Возможно ли, что у разработчиков EyeAche2 был чуть другой пентагон? Или они все в плане таймингов одинаковые?
zxart.ee/rus/pati/2017/bbg17/
Прошу проверить, не ошибся ли я нигде.