значит может не все так страшно
как сразу подумалось
Вид для печати
Я как раз тогда и хотел там параллельно создать тему, но не сложилось.
http://pc01.lviv.ua/ работоспособность восстановлена !
Супер! Но я заболел...
Опять лежит. Вчера работал.
Сделал поддержку Львова (ПК-01) в Emu80.
Почти не приходилось сталкиваться с этим компьютером, спасибо Hard Wisdom за консультации и DDp за тесты на реальном Львове!
Основная тема обсуждения эмулятора:
https://zx-pk.ru/threads/27488-emu80-v-4.html
Анонс последней версии в той же теме:
https://zx-pk.ru/threads/27488-emu80...=1#post1107647
Сборка последней версии под Windows:
http://emu80.org/v4beta/Emu80qt_40349.zip
Сборка последней версии под MacOS:
http://emu80.org/v4beta/Emu80qt_40349_macos.zip
Исходники (GPL v.3):
https://github.com/vpyk/emu80v4
Особенности эмуляции Львова и основные моменты при работе с эмулятором:
- На данный момент поддерживается базовая конфигурация, без дополнительно подключаемых устройств.
- Скорость работы насколько возможно приближена к реальной, максимальная разница на реальных программах обычно в пределах 1-3 %.
- Встроенный загрузчик позволяет загружать двоичные файлы и токенизированные файлы Бейсика в форматах lvt (в том числе с оверлеями - lv0, lv1 и т.д.), а также файлов образов состояния sav.
Кроме того, поддерживается загрузка файлов в стандарте MSX cas, в том числе мультиблочная (в этом случае основная программа с оверлеями располагается в единственном cas-файле).
- Путем перехватов обращений к магнитофону также поддерживаются чтение и запись lvt/cas-файлов, в том числе с оверлеями (запись оверлеев работает, но я не знаю софта, который бы это использовал ;)
- Как обычно, работают также чтение и запись wav и csw-файлов, для этого в диалоге выбора файла нужно выбрать тип wav/csw.
- Ввиду невозможности обеспечить реальные тайминги и привязку к ходу луча, эмуляция хода луча ЭЛТ пока не реализована.
- Раскладка клавиатуры максимально приближена к раскладке PC.
В общем, тестируйте, задавайте вопросы, пробуйте запустить какой-то проблемный для эмуляторов софт (если такой есть)
Все же возможность проверить скорость работы со сравнительно небольшой погрешностью относительно реала это хорошая штука. Через 8 лет после предыдущей версии подтянул биперный проигрыватель music studio до почти приемлемого уровня, а то раньше не мог проверить.
Новая версия Emu80, исправил кое-что в эмуляции Львова:
https://zx-pk.ru/threads/27488-emu80...=1#post1108295
ivagor, хочу пояснить, что же я сделал. На самом деле не все так уж хорошо, но лучше уж так, чем никак.
Для начала я попробовал прикинуть теоретически торможение - получилось, что в среднем на одно обращение к ОЗУ должно добавляться 2,25 тактов вейтов.
На практике эта цифра хорошо сходится с экспериментом только на простых операциях, вроде NOP, реально же вейтов добавляется больше.
Не долго думая, я просто увеличил 2,25 дополнительных тактов на одно обращение к ОЗУ до 2,5, при этом скорость эмулятора довольно хорошо совпала с реалом. На тестах отдельных операций разница доходила до 6 с лишним процентов, но в целом довольно неплохо получилось. По результатам тестов на обращение к портам нужно было добавить примерно 1 такт (теоретически я это посчитать не смог). Но сейчас добавляется 0,5 - забыл исправить, но на практике это очень мало сказывается на скорости.
Вообще, у меня было очень мало записей со Львова на реальной скорости для сравнения - нашел wav с реала, запись биперной музыки, какой-то видеоролик, да DDp еще прислал пару записей вместе с искусственными тестами (за что ему огромное спасибо!). Может быть, есть какие-нибудь еще записи с реала для оценки скорости?
Текущий вариант в emu80 на мой сторонний нельвовский взгляд самый близкий к тому, что я слышал на записях с реала (т.е. по крайней мере биперить в эмуляторе можно похоже на реал). Идеальная точность была бы еще лучше, но без железной помощи (добавление синхронного с процом таймера или регулярных прерываний) это вряд ли возможно. Ну или может кто-нибудь когда-нибудь сделает модель львова в какой-нибудь системе моделирования, продемонстрирует ее совпадение с реалом и оттуда можно будет получить растактовки.
ivagor, а записи с реала не сохранились с исходниками? Мне попадалось что-то, но в не очень пригодном для оценки скорости состоянии - с обрезанным началом, например. Сейчас увидел еще видеоролик в теме биперной музыки - сравню чуть позже. Хотя Дмитрий присылал запись какой-то программы с магнитофона - разница в скорости с выводом из эмулятора оказалась всего 0,6% :) Но в этом случае программа находилась в ПЗУ, при выборке программы из ОЗУ точность скорее всего будет ниже.
Теоретические 2,25 такта я получил, предположив, что процессор может занять шину в любой произвольный момент времени и усреднив все возможные варианты. На практике моменты начала циклов обращения к памяти процессора зависят от предыдущих, поэтому такое упрощение не очень хорошо работает. Но, если сделать потактовую модель 8080, допускаю, можно было бы достичь если не потактовой точности эмуляции, то хотя бы скорости, практически совпадающей с оригиналом даже без точной модели самого Львова, на основе просто того, что уже про него известно...
У меня по этой теме ничего эксклюзивного нет, записи те, что по ссылкам на форуме http://www.pc01.lviv.ua/forum/
До сих пор считал (не вникая, или вникал, но уже забыл), что у львова при чтении из пзу тормозов нет, в emu80 сейчас так? Если да, то тормоза при записи на магнитофон очевидно только при обращении к озу, что составляет довольно незначительную часть работы процедуры записи.
Да, именно так. При записи на магнитофон будут влиять только обращения к ОЗУ и скорее всего к портам. В Emu80 так и сделано - обращения к ПЗУ не тормозятся...
Показали мне издалека договор (заказчик Львовское ПО им. В.И. Ленина, в лице Генерального директора ПОГРЕБНЯКА СТАНИСЛАВА ВЛАДИМИРОВИЧА) на разработку усовершенствованного графического адаптера для ПЭВМ ПК-0216 "Фобос".
Кто-нибудь в курсе что за ПЭВМ?