С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
есть шанс увидеть новую версию эмулятора хотя-бы в апреле ?
Все по мере наличия свободного времени, а с ним-то как раз было не очень
Вообще планировал сегодня сделать новую сборку - сейчас как раз допиливаю кое-что...
Но если вдруг что-то помешает, то завтра-послезавтра...
Выложил новую тестовую сборку:
http://emu80.org/v4beta/Emu80_40225.zip
Изменения по сравнению в версией 4.0.218:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
* Ускорен запуск эмулятора. Просьба оценить скорость запуска и необходимость lite-версии.
* Используется текущая папка при передаче имени файла без пути в командной строке.
- Исправлены некоторые фильтры при загрузке файлов.
+ Автозапуск файлов при загрузке по Alt-F3 (обычная загрузка - Alt-L).
+ Ассоциация расширений файлов в конфигурационном файле
Если не указана опция выбора типа платформы, он оперделяется на основании расширения файла.
При загрузке файла по умолчанию происходит автозапуск, если нужно просто загрузить,
используйте новую опцию "-l"
+ Drag-n-drop файлов: пока только автозапуск. Перетаскивать файлы нужно в окно, в котором
эмуляруется платформа, соответствующая перетаскиваемому файлу.
* Улучшения в эмуляции ВГ75:
исправлено поведение при одновременной установке атрибутов мерцания и подчеркивания,
исправления, касающиеся работы с флагом IE,
гашение экрана после команд stop display и reset
* Стрелки работают также и на на цифровой клавиатуре
+ Ускоренная перемотка (3x) при нажатой клавише End
+ Пауза/возобновление работы эмулятора по кнопке Pause/Break. При вызове отладчика режим паузы выключается.
+ Экспериментальная опция: Aspect Ratio. Позволяет отображать как квадратные пиксели
(1:1), так и в соотвтетствии с реально отображаемой на экране соответствующего ПК
картинкой. Горячая клавиша - ALt-R. Пока поддерживается только режим PAL (576i).
+ Конфигурация для РК-86 с процессором Z80 (вариант Владимира Чистякова).
Информацию в первом сообщении также поменял.
Кое-что из начатого и обещанного доделать не успел - войдет в следующие сборки.
Последний раз редактировалось Pyk; 02.04.2017 в 23:16. Причина: Исправил ссылку
По моему на одном компе скорость запуска стала нормальной на другом(тот что по старей) так и осталась...
потом еще проверю (мог закинуть не ту версию)
в Emu80lite вообще есть смена конфигурации? попадание в настройки?
сброс и 2!!!!!! версии закрыть окна в нем работают...
но не F9
И ищо
за перехват обращения к магнитофону
когда делаю загрузку I
и не выбираю никакой файл
загрузка завершается
0000
0000
0000
при этом b2m правильно(по моему мнению) продолжает выполнять процедуру загрузки...
можно зайти в дебагер подебагать её...
в РК можно отменить загрузку??? есть какой нибудь break на клавиатуре??
или если она началась то ее не остановить??
чтот у меня так и осталась ассоциация файлов со старой версией (3.04) эмулятора.
и пауза по кнопке "pause/break" не включается.
ПонИл. Тесты с ВГ75 нерелевантны ни разу. Ок.
Profi v3.2 -=- Speccy2010,r2
Эмулятор может быть вполне адекватным. Всё зависит от того как сделана визуализация. Если так как выше описано, т.е процессор в каждом каждом кадре надолго прекращает прогон и начинает визуализацию всего экрана это одно. А если визулизация "размазана тонким слоем" по времени кадра, т.е после прогона каждых 10 команд Z80, мы визуализируем маленький кусочек экрана (но не весь) это другое.Сообщение от zebest
И совсем третье, если визуализация сделана грамотно, когда все команды Z80 пишущие в экран отлавливаются (но не визулизируются сразу, а запоминаются), а затем после прогона очередноё 6000-ной команды все изменения экрана разом визуализируются и время процедуры визуализации подгоняется так, чтобы и при одном изменении экрана и при 150-ти, пауза в прогоне была одна и та же. Тогда скорость прогона неизменна, как для программ не пишущих в экран, так и для программ с быстрой динамикой на экране. При этом способе 50 раз в секунду делается визуализация не всего экрана, а лишь меняются произошедшие изменения на экране. Отчего потери скорости не на 99.9% как у цельно-фреймовой визуализации, а лишь на 0.05%. Так делаются эмуляторы на 286-том, которые работают лучше, чем эмуляторы на ПЕНТИУМЕ, что в 10 тысяч раз скоростнее. К сожалению, в моём эмуляторе не так. Я выравнивание потерь на визуализацию не делал, поэтому на 286-той (15 XT) есть 10%-ные колебания скорости в динамичных играх. Но уже на 386DX40 (43 XT) колебаний скорости нет.
Какой таймер, в режиме прогона прерывания запрещены. Точно также как клавиатура обслуживается собственным драйвером, INT_9 не работает, отчего программы для скрин-шота не работают. Поэтому копию экрана эмулятора я делаю в эмуляторе DOS BOX. Получается четверная эмуляция: DOS BOX, PC XT, ОРИОН, РК86. Кстати DOS BOX неверно эмулирует текстовый адаптер, а именно режим загрузки своих фонтов (это он делает), но не выпоняет функцию использовать фонт 9*16 вместо 8*16, отчего мой красивый фонт слипается, и в мониторе-отладчике отображается слипшийся фонт)Сообщение от Pyk
Не могли бы Вы пояснить идею. Я это не понял.
Я понимаю, что можно определить сколько маш.тактов прогналось за единицу времени, скорректировать константу тормозилки и снова протестировать. Через несколько итераций получим константу тормозилки, чтобы скорость соответствовала РК86 с реальным тактом в 1.3 МГЦ. Выяснить скорость легко даже по секундомеру. Так что не важно полагаетесь Вы на таймер или ручной секундомер. Как Вы тормозите - добавляя паузу после каждой команды (как делаю я, отчего получается дискретность и разбалансировка), добавляя большую паузу после, например 10.000 команд или добавляя количество кадров визуализируемых за секунду?
Последний раз редактировалось barsik; 04.04.2017 в 13:10.
Выполняя в одном цикле эмуляции ровно столько тактов процессора, сколько выполнилось бы реальным процессором за время, которое прошло с предыдущего цикла. Сколько раз в секунду запускать цикл эмуляции, в таком случае, неважно. Можно 50 раз, а можно и 100 раз. Главное, что будет проэмулировано ровно столько тактов, сколько надо. Единственная погрешность - это погрешность при пересчёте времени в такты. У меня в эмуляторе время берётся в миллисекундах (количество тиков), соответственно если тактовая частота не кратна 1000, то количество тактов будет плюс-минус один. При 100 циклах в секунду до 100 тактов погрешности. Но при частоте около 2МГц это лишь 0.005%.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)