Понятия не имею) Видимо, разброс параметров элементов схемы.
Вид для печати
Понятия не имею) Видимо, разброс параметров элементов схемы.
фикс0 самый правильный, отсальное - ну захотелось разрабам так, чО..
"- Господи, да у нее шесть ног! Что ж вы сразу не сказали? -всколыхнулся Анаконда. - Зачем ей шесть ног?!
- Перестраховщики с Венеры, - бросил Рассветов. - Это их работка.
Сконструировали недурное, в общем, устройство, но, чтобы увеличить коэффициент прочности, добавили пару ног..." (с)
мне кажется дело не в пентагоне, а в том, чтобы работало на разных эмуляторах, даже если тайминги отличаются от пентагона :D
А с таймингами пентагона в эмуляторах разброд и шатание. Посмотрел Fuse и Xpeccy - у каждого свои тайминги пентагона. Оба отличаются от ZXMAK2.
К сожалению на оригинальном пентагоне пока никто не проверил.
Вот прислали режим Pentagon в ZX Spectrum Next (в точности соответствует ZXMAK2):
Скрытый текст
вам кажется, а я тесты проводил. точнее, по моей просьбе люди гоняли мои тесты на своих пентагонах. разные тайминги начала экрана на Пентагоне доказанный экспериментально факт.
- - - Добавлено - - -
Xpeccy не пользуюсь, а кривая эмуляция Пентагона во Fuse давно известна. Спектакулятор, СпекЭму, Unreal дают одинаковую картинку, совпадающую с вышеприведенной и ZXMAK2.
ну правильно, там умные люди подгоняли режим Пент-а по Rage, а не по мифическим fix1-2-3 для инвалидов.
Да и вообще, по эмулям, хотя и железным равняЦЦа - ну такое себе..
Скрытый текст
https://pic.maxiol.com/images2/17351....emuulator.jpg
Супер-точный эмуулятор, мне нравиЦЦа :) Название называть не буду :))
[свернуть]
а по Fuse я давно говорил, там кривые тайминги, вы бы еще с Лунтером сравнивали, ага..
Возможно, из-за модификаций схемы, хотя разница в такт была и на Пентагоне-128. Плюс есть демка Confusion, на ней видно, что делалась под Пентагон со сдвигом в два такта, на стандарте не совпадает рисунок на бордюре и папере.
- - - Добавлено - - -
Эмулятор со сдвигом на 1 такт назад от стандарта. На моих эмулях можно выставить в настройках.
Я вижу это так, что сдвинуть INT можно такими способами:
1) добавлением дополнительных триггеров для задержки на N клоков, что не имеет смысла, т.к. каждая микросхема стоит денег и усложняет конструкцию, а преимуществ от такой задержки 0
2) пропусканием INT через цепочку логических элементов, но на несколько тактов так сдвинуть будет почти нереально, т.к. логика достаточно быстра
3) установкой конденсатора на INT для смазывания фронта, однако это приведет к нестабильному моменту прерывания и к проблемам с метастабильностью. INT в таком случае будет нестабильный. Зачем это делать - непонятно.
первые два случая - это явное изменение схемы с внесением дополнительной логики в INT.
Третий случай можно рассмотреть как "настройку", но это некорректный способ, т.к. делает INT нестабильным по моменту срабатывания и чреват проблемами с метастабильностью - это может привести к непредсказуемым шумам и залипанию сигнала INT на случайное непредсказуемое время, смысл такого действия непонятен. В качестве генератора случайных чисел такой подход возможно имел бы смысл, но не для INT.
Это разные чипы ULA, т.е. по сути разные схемы формирования изображения из памяти.
- - - Добавлено - - -
обновил тест MCTEST3 для ULA. В самом тесте изменений нет, поправлена инициализация, чтобы работало из TRDOS.
В архив добавлены три варианта загрузки - TZX, TAP и TRD.
https://i.imgur.com/gFJ3SMa.png
Ваше утверждение вызывает интерес, но, к сожалению, без конкретных подтверждений или воспроизводимых данных сложно принять его как достоверное. Наука и инженерия строятся на проверяемости и подтверждаемости утверждений. Если у вас есть результаты тестов, подтверждающие, что разные тайминги действительно могут наблюдаться на одной и той же машине без изменений в схеме и использовании одних и тех-же чипов, было бы полезно поделиться ими для анализа.
Без таких данных ваше заявление остается субъективным мнением, не подкрепленным фактами. Это не только усложняет конструктивное обсуждение, но и ставит под сомнение обоснованность ваших выводов. Про такие "экспериментальные подтверждения" в народе говорят "Бабушка гадала, да надвое сказала - то ли дождик, то ли снег, то ли будет, то ли нет".
Если вы уверены в своих выводах, предлагаю представить более конкретные данные, такие как конкретные тесты, конкретные модели спектрума на которых он запускался и результаты замеров. Это позволит объективно рассмотреть вашу гипотезу, проверить ваши результаты повторными экспериментами и проанализировать есть ли в тестах или в результатах ошибка или вашу гипотезу действительно чем-то можно подтвердить.
Пока-же я вижу, что никаких подтверждений вашим словам нет. Что-же касается возможных смещений тайминга на несколько тактов, то это выглядит скорее как ошибка теста, который не синхронизируется с прерываниями, т.е. не выравнивает момент прерывания на нулевой такт и за счет этого может каждый раз давать разные результаты, в зависимости от того на какой такт прийдется запуск теста. Это никак не говорит, о том, что early и late тайминги не зависят от разницы в схеме или что пентагон без модификаций в схеме может давать большой разброс в таймингах более 1T. Это говорит только об ошибке в тестовом коде или ошибках при тестировании.
Сделать тест, который сможет настроиться на нулевой такт на любой машине с учетом разной длины фрейма и разных схем с contention и выравниванием до четных тактов, довольно проблематично. Поэтому не удивительно, если ваш тест показывал разные результаты на одной и той-же машине. Это объясняется ошибкой теста, которая проявлялась на конкретной модели спектрума. В таких случаях тест нужно делать под конкретную модель, а не делать выводы что одна схема может давать разные тайминги.
Поэтому, если вы не можете предоставить тест и результаты для проверки и повторения, то нет даже предмета для обсуждения.
ну тут все немного не так. Одновременно конечно не могут, но.. Но буржуи приводили результаты, когда при холодном включении одни тайминги (например Early), а через какое-то время, видимо с прогревом, через 5-10-30 мин\час тайминги меняются на Late, и до выключения.
Но это скорее исключение, чем правило. И по Пентагону. Я знаю всего одну демку, на которой бордер на один такт не совпадает, и если выставить Late - то совпадает. Трудно сказать, так задумано\не досмотрели, но что есть - то есть. Думаю это тоже исключение, на которое не надо равняЦЦа.. Но это всего 1! такт, но не как не fix1-2-3
чем и как тестировали? Где о таких результатах почитать можно?
MCTEST3 кстати заточен на синхронизацию к INT для машин без замедления. На оригинальных с contention он стабильно работает, но за счет удачного стечения обстоятельств, поэтому вполне возможно, что на каких-то машинах может работать не стабильно.
Да какая разница, чем тестировали (может тестом EARLY\LATE на классике), елси это проделки ULA, коих и так не одна версия была (не просто же так?). С прогревом задержки в кремнии "ехали", если были и так на грани.
А ваше утверждение о том, что разница в таймингах фирменных машин вызвана разными моделями ULA, вызывает у меня фейспалм, и говорит о том, что вы глубоко не в теме вопроса. С чего вы это взяли вообще? Просто сами для себя это так объяснили, и выдаете за истину в последней инстанции, как обычно.
Зато вы свое заявление подкрепили фактами, ага.
Да кто вы такой, чтобы что-то вам предоставить? Обойдетесь. Вы уже отличились своими заявлениями об ошибке в SZX-формате и необоснованными наездами по поводу использования мной GNU-сной либы. А также советами, как лучше заработать деньги и т.п.
Дальнейший ваш высер по поводу сомнений в моих тестах считаю личным оскорблением) впрочем, не первым. Ну что ж, продолжайте сомневаться в моих тестах, и ни в коем случае не в своих выводах и умственных способностях. Я не заинтересован в том, чтобы вам что-то доказывать.
Какое именно? Что спектрумы на разных чипах ULA производились? Так это не секрет, и вы об этом не просили, на мой взгляд это очевидная информация, которая доступна в интернете.
Вот например, можете ознакомитсья с некоторыми версиями чипов ULA, которые применялись в спектрумах: https://spectrumforeveryone.com/tech...rum-ula-types/
Ваше сообщение содержит много эмоций, но, к сожалению, абсолютно никак не подкрепляет вашу позицию аргументами. Очень жаль.
Если вы хотите, чтобы ваши заявления воспринимались всерьез, особенно в техническом обсуждении, их стоит подкреплять фактами или результатами тестов, избегая оскорблений и эмоциональных тирад. Это стандартная практика в профессиональной среде, где аргументированность и открытость проверки помогают находить истину.
Также обращу внимание, что ваши субъективные оценки личностей не имеют отношения к обсуждаемой теме и меня не интересуют. Предлагаю оставить их вне обсуждения и сосредоточиться на конструктивном рассмотрении вопроса таймингов ZX Spectrum.
Если у вас есть технические аргументы по теме и возможность подтвердить свои слова конкретными данными, это будет гораздо более полезно для дискуссии. Эмоциональные высказывания и переходы на личности никак не могут служить доказательствами и лишь усиливают сомнения относительно вашей позиции.
Вы выдвинули гипотезу, что тайминги могут значительно отличаться (более чем на 1T) для одной и той же модели Spectrum без модификаций в схеме. В таком случае по правилам дискуссии бремя доказательств лежит на вас. Если вы не заинтересованы в предоставлении доказательств, тогда не стоило и выдвигать таких гипотез.
Ссылаться на некие "доказательства" которые у вас есть, но вы их никому не покажете, потому что не хотите и не должны - это не серьезно. И больше похоже на рассуждения ребенка, чем взрослого человека. Подобные фразы с вашей стороны только укрепляют уверенность в том, что вы ошибаетесь. Поэтому не обижайтесь, но вы сами своим отказом давать какие-либо подтверждения своим словам показываете их несостоятельность.
Я пока не увидел ни одного подтверждения вашим словам. А вот как вы могли получить разные тайминги даже на одной машине я вижу. Для этого не нужно чтобы тайминги действительно были разными, достаточно ошибки в тесте, причем такую ошибку будет довольно сложно заметить, даже при понимании как она может происходить.
Я не заинтересован в дискуссии с человеком, ожидающим от других подкреплять их позицию аргументами, но ниасиливающим подтвердить свою позицию хоть чем-то, кроме списка моделей ULA :v2_dizzy_facepalm: Которому приходится многостранично объяснять очевидное для всех, как в случае с "ошибкой формата SZX". Который выкатил тест с бордюрной картинкой, далеко не первый, и скорее всего не последний, и при этом сомневается в моих тестах и их результатах, которых он в глаза не видел. В дальнейшем я постараюсь избегать любых контактов с вами, так как в моих глазах вы утвердились как человек с раздутым самомнением, самоуверенностью, и ригидностью мышления.
Я уважаю ваше право на своё мнение, каким бы оно ни было, но ваши личные субъективные оценки моей личности не имеют отношения к обсуждаемой теме и мне совершенно не интересны. Предлагаю оставить их вне диалога, чтобы сохранять профессиональный подход.
Справедливости ради отмечу, что вы также демонстрировали профессионализм, например, когда поделились TZX файлом с игрой c необычным загрузчиком, который действительно помог в отладке. Однако вызывает недоумение, почему вы сразу же удалили этот файл (что, кстати, я замечал у вас неоднократно). С одной стороны, вы показали, что можете вести конструктивный диалог, но почему-то постоянно тяготеете к бесполезным оскорблениям и переходам на личности. Очень жаль.
Если у вас все-таки появится желание представить аргументы или результаты тестов, готов рассмотреть их предметно. Желаю успехов.
Ну так фазы памяти жестко не привязаны.
Память работает на частоте 3.5мгц, так же есть триггер фазы атрибуты/пиксели
Видеоконтроллер каждый цикл памяти читает либо атрибуты либо пиксели в промежуточные буферы и триггер при каждом чтении меняет свое состояние на противоложное
Если процессор запросил доступ к памяти, ему выделяется 1 цикл памяти, в это время триггер пиксели атрибуты не меняет свое значение
Каждые 4 такта (8 точек растра) промежуточные буферы переписываются в сдвиговый регистр пикслей и регистр атрибутов
Начально значение триггера атрибуты/пиксели рандомно
за 4 такта памяти, процессор больше 2х раз не может запросить доступ к памяти, просто выходит из его диаграммы шинных циклов
Почему на 1? Может и на 2 (С-CPU A-ATTR P-PIX)
1. P A P A - К примеру начальная ситуация
2. C P A P - Поменялись местами
2. P A C P - Разница в обратную сторону но уже на 2 такта
- - - Добавлено - - -
INT формируется по счетчикам вывода картинки, начало INT не может плавать от каких либо номиналов компонентов на плате, только длительность
- - - Добавлено - - -
Хотя, вспомнил, На INT на сам сигнал вешали конденсатор, как раз что бы в rage выровнять бордюр.
Добрый день. Орель работает вот так
https://pic.maxiol.com/thumbs2/17354...1229143623.jpg
https://pic.maxiol.com/thumbs2/17354...1229143629.jpg
поправил, вроде совпадает, будет в следующей версии тестового билда:
https://i.imgur.com/Ia4mslf.png
только не понял один момент - у вас на фото вместо первой строки пикселов почему-то бордер отображается - это неисправность или так схема работает?
Запустите еще minfo, что он показывает?
Добрый день, с праздником!
Вот фото сделал на еще одной орельке.
На платах кварци на платах чуток разные с завода, по этому скорей всего может быть небольшое отличие в работе.
https://pic.maxiol.com/thumbs2/17357...0101145506.jpg
И фото теста со второй программы
https://pic.maxiol.com/thumbs2/17357...0101145735.jpg
C Новым Годом! :)
это не из-за кварца, разная циклограмма, вероятно поменялась схема или прошивка видеогенератора, а на плате есть какие-то отличительные признаки вроде версии, года выпуска или просто цвет платы? Можете выложить прошивки видеогенератора (DS10, DS15) с обоих вариантов для сравнения?
PS: картинки лучше выкладывать на imgur.com, они везде видны, быстро грузятся и без рекламного спама.
Ну как бы немного оффтопик для данного топика ( автор такую дичь не поддерживает, видимо сложно очень?), но речь про чип z80 DMA.
И я бы не сказал, что совсемъ уж мало эмулей его поддерживает.
Открываем всем известную таблицу срамнения эмулей
https://docs.google.com/spreadsheets...it?gid=0#gid=0
Как видим, минимуум 4 эмууля поддерживают интерфейс zDMA, плюс еще в списке МАМЕ, вроде как тоже поддерживает. Это софтово.
Железно ну само собой есть интерфейс и на краевой разъем классики, и в сокет z80 для совместимых.
Полу-железно:), в ФПГА есть поддержка в ZXNext (2 различных варианта), в ZX Uno ( то жи 2 разных варианта), в LNX, и в ts-conf ( у них правда свой собственный вариант DMA, но он есть, не знаю, есть ли в Анриле поддержка его)
Так что эта тема точно не полтора землекопам интересна (ключая меня).
Ну и да, реверса z80DMA вряд ли кто делал, непопулярно видимо, так что все эмулиЦЦа "по мотивам"
А вопрос в том, что в ZX Spectrum Next вроде как обещали 100% симулировать, но пока то что я вижу - довольно криво, может у кого то все же есть правильно :)
http://www.zilog.com/docs/z80/z84c10.pdf
такой же, ну или почти такой же и в ZX Spectrum Next, вот только проверить никто не хочет.
может комуу-то на С++ понятнее будет?)
https://github.com/mamedev/mame/pull/12658