ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
а готового теста нет, чтобы замерял длительности пилот-тона, синхроимпульсов, 1 и 0 и отображал в реальном времени на дисплее в тактах?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Кста, погрешность будет накапливаться только до того момента, как один цикл пропустит сигнал или чекнет раньше, чем надо, после чего погрешность сбросится и будет копиться дальше до такого же момента. Величина такого "скипа" - один цикл между in-ами. Это обычно не охренеть как много, и адекватные загрузчики это допускают.
Я не говорю, что у меня всё идеально, но данная проблема не такая огромная, как кажется.
Все любят гипножабу
не попадалось; ну и вряд ли можно прямо в реальном времени, точность будет только до числа инпутов, а их придётся делать реже из-за показа
- - - Добавлено - - -
а на практике на SCREEN$ 3-4 фрейма разницы набегает
да понятно, что у мафонов и в реале скорости различались, и в эмуле настройку иметь желательно
но для скоростей погрешность относительная нужна, а не абсолютная для всех импульсов
что уже может стать, например, проблемой при отладке шибко хитрых загрузчиков
...и что, собственно, мешает взять вместо микросекунды интервал в 3.5+ раза короче?
Прихожу без разрешения, сею смерть и разрушение...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Так... а это как замерялось? От момента, когда схватился первый фронт пилота, и до последнего бита контрольного байта? Или просто на калькуляторе число импульсов перемножилось на погрешность?
ЗЫ: Раз в 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 фреймов погрешность?
Все любят гипножабу
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)