а готового теста нет, чтобы замерял длительности пилот-тона, синхроимпульсов, 1 и 0 и отображал в реальном времени на дисплее в тактах?
а готового теста нет, чтобы замерял длительности пилот-тона, синхроимпульсов, 1 и 0 и отображал в реальном времени на дисплее в тактах?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
не попадалось; ну и вряд ли можно прямо в реальном времени, точность будет только до числа инпутов, а их придётся делать реже из-за показа
- - - Добавлено - - -
а на практике на SCREEN$ 3-4 фрейма разницы набегает
да понятно, что у мафонов и в реале скорости различались, и в эмуле настройку иметь желательно
но для скоростей погрешность относительная нужна, а не абсолютная для всех импульсов
что уже может стать, например, проблемой при отладке шибко хитрых загрузчиков
...и что, собственно, мешает взять вместо микросекунды интервал в 3.5+ раза короче?
Прихожу без разрешения, сею смерть и разрушение...
Так... а это как замерялось? От момента, когда схватился первый фронт пилота, и до последнего бита контрольного байта? Или просто на калькуляторе число импульсов перемножилось на погрешность?
ЗЫ: Раз в 10 повысить точность особой сложности не вызовет. Запишу себе в TODO, когда-нибудь дойду до этого пункта.
Все любят гипножабу
ну чуть выше же - сразу после синхры и до возврата (пилот до синхры)
https://zx-pk.ru/threads/9479-xpeccy...=1#post1208599
надо кратно тактовой z80 , а иначе всё равно придётся правильно округлять
Прихожу без разрешения, сею смерть и разрушение...
Считаем:
- Цикл измерения от фронта до фронта в пзу48 - 59 тактов (5ed и до выхода на 5fa). В регистре B считается количество таких циклов.
- Ты говоришь, мы имеем 2 такта смещения на каждый фронт. Где-то за 30 фронтов набирается погрешность в целый цикл.
- И ТУТ ХЛАБЫСЬ! Следующий замер длится или на 1 цикл короче, или на 1 цикл длиннее из-за накопленной погрешности. И этот надостающий/лишний цикл СЪЕДАЕТ всю накопленную погрешность. Она не копится на протяжении всей загрузки. Она скачками прыгает между 0 и 60 тактами. Причём эта +-1 съедается допущениями загрузчика - это всё равно будет правильный бит.
- Где ты нашёл накопленную до 2 фреймов погрешность?
Все любят гипножабу
Работает? Работает. Где проблема-то? Короче, покажи, где это применяется, а то развёл пузыри в луже из-за 0.04с. RZX не в счёт - in-ы делаются по его данным, а не с мофона, и прерывания тоже приходят когда он того захочет, а не по эмуляции.
ЗЫ - сделай где-нибудь запись на ленту и выведи список длин сигналов. Даже там будет разлёт от твоих "идеальных" значений. Идеальные ленты есть только в образах. На деле это такой же балаган.
Последний раз редактировалось SAM style; 21.12.2024 в 19:53.
Все любят гипножабу
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)