Всем привет. Давно не было обновлений - сменил работу и свободного времени стало заметно меньше. Работа над эмулятором замедлилась, порой напоминая собой мышиную возню. Сейчас вроде стало легче, хотя выкладываю обновление в первую очередь для того, чтобы не затухать и не тухнуть, а вовсе не потому, что что-то кардинально улучшено или изменено.
1) Сделан чересстрочный режим - см. ключ Main Video Mode. Однако для всех псевдографических видеорежимов есть одна проблемка: вместо желтого цвета выводится зеленый...
Синхронизация с обратным ходом луча местами работает "почти хорошо" - особенно если в системе не запущено каких-либо задач вроде оперы с 30-40 открытыми страницами или p2p-клиентов.
2) В результате небольшой переработки синхронизации стало возможным использовать другие источники отслеживания времени - на данный момент это пока инструкция процессора RDTSC. Но можно и по-старому - через PIT (например, DOSBox пока что не эмулирует RDTSC и генерирует исключение 6 при ее использовании, как и положено при эмуляции древних процессоров). См. ключ Timer Read Method (на машинах, которых я проверял, оптимальный режим 5).
Синхронизация по RDTSC по идее должна давать более точное отслеживание обратного хода луча. Иногда это заметно.
3) Эмуляция AY немного подпорчена - почему-то иногда затыкается и молчит канал или даже два. Думаю, ошибка лежит на поверхности - как разгружусь по работе, наверное увижу и исправлю. Если кто заметит раньше (в случае, если вообще кто-то будет смотреть) - просьба сообщить мне
. При этом убраны некоторые лишние телодвижения, в результате чего эмуляция AY немного полегчала. Вообще однажды мне как вожжа под хвост попала - стали рождаться идеи, как ускорить эмуляцию AY таким образом, чтобы вообще забыть про ключ AY Generator Clock Divider без ухудшения качества звука. Маялся фигней я долго, но намного быстрее не получилось...
4) VZX теперь понимает LFN. Вроде.
5) FDC выделен в автономный объект, как это было ранее уже проделано с AY. Также выделено в автономный объект само ядро, но оно пока одно и консоли для выбора/порождения новых ядер нет.
6) Со звуком какая-то байда. Не хватает информации по программированию SBPro и 16-битного режима SB16.
7) В *.ini файле много мусора в каментах - типа новые ключи и все такое. Да, собираюсь разродиться гибкой настройкой неполной дешифрации портов, а также waitstates'ами.
8) Перед запуском необходимо удалить старый vzx.cfg. Планирую вскоре "устаканить" формат, чтобы не кантовать каждый раз при смене версии.




.
) - просьба сообщить мне
Ответить с цитированием
