Последний раз редактировалось ZXMAK; 29.11.2024 в 22:46.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Lethargeek(30.11.2024)
Кстати, на счет ZXMAK2.
Какой рендер для видео используется Direct2D или Direct3D?
И какой для звука? WASAPI или DirectSound?
Последний раз редактировалось ZXMAK; 30.11.2024 в 00:24.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Для синхронизации с лучом ты используешь DMW или же ждешь луч отслеживая сканлайны, или же делегируешь переключение буферов Direct3D автоматически?
Почему не WASAPI, ведь на всех виндах после XP она есть, и DirectSound там эмулируется, что хуже, чем нативный WASAPI?
Тоже самое с DirectInput, который даже на XP уже устарел.
Видео рендерится из отдельного потока, который ничем другим больше не занимается - просто рендерит в цикле кадры, поток эмуляции ему кидает кадры в ConcurrentQueue, чтобы не использовать блокировки и при их появлении этот поток просто рендерит из этой очереди в каждом кадре. Рендеринг завершается вызовом Present, по завершении которого устанавливается ивент, по которому синхронизируется поток эмуляции.
Я пробовал и сканлайн отслеживать, но преимуществ от этого не заметил - только нагрузка на проц растет. Т.к. поток больше ничем не занимается, то он всегда вовремя дергает Present, поэтому по его завершению можно четко отслеживать начало развертки.
Честно говоря я уже и сам забыл все это, пришлось пройтись по коду, вспомнить. Кстати там можно еще улучшить синхронизацию, как оказалось между Present и установкой ивента работает еще код, что может несколько откладывать установку ивента относительно реального положения луча.
Последний раз редактировалось ZXMAK; 30.11.2024 в 01:28.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Titus(30.11.2024)
ошибка действительно была с загрузкой блока #19 с нестандартным размером словаря. Исправил
Собрал новый тестовый билд:
https://github.com/zxmak/ZXMAK2/issu...ent-2508881244
- исправлен TZX #19 блок для нестандартных размеров словаря
- исправлен CSW, теперь с обработкой полярности
- переработано сканирование клавиатуры (теперь матрица клавиатуры полностью конфигурируется, добавлены конфиги клавиатуры для PROFI и для Орель с её нестандартной клавиатурой)
- добавлена новая модель спектрума Орель (менеджер памяти и клавиатура)
- исправлен баг с делителем шума AY
- переработан запрос NMI, теперь NMI и MAGIC/MONITOR это отдельные команды
- исправлены баги с точками останова в отладчике
- мелкие оптимизации
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Последний раз редактировалось zorel; 30.11.2024 в 16:27.
Если в личке не отвечаю, есть связь через почту zoreldnepr(собака)gmail(точка)com
ATM-turbo 2+ v7.10+General Sound+FloppyEmul+HDD(Tasis/Xcomander CP/M)
Неофициальный сайт об Орель БК-08 и не только.
Распродажа печатных плат. новодел
Скриншоты не смотрятся без ВПН.
Лучше размещать их на https://pic.maxiol.com/
zorel(30.11.2024)
Перезалил.
Вот чучуть не в тему, чисто настальгическое воспоминание об орельке.. Отсканированая клавиатура орели, у кого была орель у того заложилось на долгую память как мягко работают кнопки орели, руссифицированная клавиатура и игра Bomb Jack кажется из-за руссификации не работала на орельке, но с прошивкой rapidos все работало..
![]()
Если в личке не отвечаю, есть связь через почту zoreldnepr(собака)gmail(точка)com
ATM-turbo 2+ v7.10+General Sound+FloppyEmul+HDD(Tasis/Xcomander CP/M)
Неофициальный сайт об Орель БК-08 и не только.
Распродажа печатных плат. новодел
Titus(30.11.2024)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)