ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Вот здесь говорится кое-что:
Схема управления динамиком, реализованная оригинальной в ULA, представляет собой нелинейный ЦАП - помимо бита D4 на уровень выходного напряжения также влияет бит D3. Теоретически это позволяет получить 4 уровня сигнала, однако в существующих программах эта особенность не использовалась. В большинстве клонов ZX Spectrum схема управления динамиком имеет отличающуюся реализацию и подобная возможность на них отсутствует.
это всё фантазии BlackCat`a.
в твоей-же теме https://zx-pk.ru/threads/2685-ula.ht...l=1#post110908
Последний раз редактировалось goodboy; 11.03.2025 в 22:04.
Titus(11.03.2025)
там кстати имитация mod`a с Амиги
https://www.lemonamiga.com/games/details.php?id=1935
В общем, пока вопрос остается открытым, что хотел Ширу получить в своих мелодиях используя бипер и магнитофон одновременно. То ли стерео, то ли больше уровней сигнала.
Сделал новый режим, для случая, когда частота кадров монитора не кратна частоте эмулируемой модели Спектрума.
Он получился еще сложнее, чем синхронный режим, хотя, казалось бы, должно быть проще, т.к. нам не нужна синхронность с кадровой разверткой монитора.
В общем, если идти стандартным путем, то да.
Но я пошел другим путем. Сделал этот режим, как расширение того же синхронного режима. Зачем же все так сложно?
А вот зачем. При классическом подходе к синхронизации, когда, например, частота кадров монитора 100.1Гц, а частота эмулируемой модели 50.0Гц, изображение на протяжении нескольких секунд или даже десятков секунд будет двигаться синхронно и плавно, но при приближении к моменту, когда надо выкинуть лишний кадр, изображение начнет несколько раз подергиваться туда-сюда (на примере скролла). Это можно посмотреть в качественных эмуляторах типа ZXMAK.
Про эмуляторы с некачественной синхронизацией (EmuZWin и Spectaculartor) можно даже не упоминать.
При моем же подходе при набегании лишнего кадра будет всего один дерг скроллинга, а дальше опять несколько секунд или десятков секунд плавного движения.
Минусом данного подхода является, что он дает задержку звука 10мс (при 100Гц) для демпфирования скачка. На мой взгляд вообще не критично.
На таких частотах же, как 60Гц - все все всегда плохо, с любой синхронизацией. Слишком большое колебание (каждый 5-й кадр удваивается).
На частотах типа 75Гц - это уже получше. Да, идет мелкая дрожь, но она стабильная.
Ну а на более высоких частотах, или близких к кратным, там заметна разница.
Кстати, на частотах 120Гц и выше даже несинхронный режим смотрится практически плавно. О синхронном и говорить нечего.
По поводу дрожания частоты семплов, о которой шла дискуссия.
Померил точнее, она в моем варианте где-то в районе 0.00002%/кадр. Чтобы это услышать, нужно синхрофазатроном делать спектральный анализ)
Версию пока не выкладываю, потому что все равно интереса у народа мало. Просто рассказываю.
Последний раз редактировалось Titus; 16.03.2025 в 04:02.
А возможность в мультиплеер через интернет играть не завезут? Уже 100500 эмуляторов сделали, а мультиплеерную поддержку только Кладов в своем emuzwin озаботился сделать.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)