Emu80 v.4

Эмулятор Радио-86РК и других советских компьютеров на КР580ВМ80А http://www.emu80.org

Moderator: Pyk

Post Reply
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

Shaos wrote:> + WebAssembly-версия эмулятора. Доступна онлайн на сайте https://online.emu80.org
а вот это мегакруто - мегаспасибо тебе за это! :kruto:
Нормальный архив софта бы туда прикрутить, но для этого его сначала нужно собрать ;)
Ну и вообще, нужно подумать, в какую сторону развивать это направление...
Shaos wrote:P.S. А анонс 4.0.466 кстати был :idea:
Что-то меня переклинило, убрал лишнее ;)
User avatar
Shaos
Admin
Posts: 23629
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Emu80 v.4

Post by Shaos »

Ты бы ещё отдельно и в подробностях описал как ты это сделал :)
Я с разных сторон подбирался к компиляции из си в вебасм, но никаких удобных решений так и не нашёл…
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

А в чем были проблемы или неудобство? Какого рода софт хочется перенести под wasm?

А вообще, emscripten берет на себя львиную долю работы - он не только перенаправляет в веб консольный ввод/вывод (хотя ввод по умолчанию сделан неудобно), но и содержит, например, порт SDL, так что для запуска SDL-приложений требуется приложить минимум усилий. Хотя потом придется, возможно, вылизывать код - где-то вставлять вызовы самого emscripten, где-то - писать код на JS и обращаться к нему. И из JS нужно будет вызывать wasm-код, хотя бы добавлять реакцию на самостоятельно добавленные на страницу элементы управления. Ну и работа с файлами - отдельная песня, web-страница в общем случае ведь не может открыть произвольный локальный файл, тут в программе придется что-то менять...
User avatar
Shaos
Admin
Posts: 23629
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Emu80 v.4

Post by Shaos »

Pyk wrote:А в чем были проблемы или неудобство? Какого рода софт хочется перенести под wasm?
Ну тот же компилятор языка Robby например (виртуальная машина Robby в JS у меня уже имеется с 2012 года).
Pyk wrote:А вообще, emscripten берет на себя львиную долю работы...
Вот я в конце-концов вроде и пришёл к emscripten, но запнулся на том, что он работает только в конкретной и не очень новой версии убунты - надо было пускаться в VirtualBox и т.д. Правда в ту сторону я последний раз смотрел года 2-3 назад - может с тех пор всё стало не так страшно?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

Shaos wrote: Вот я в конце-концов вроде и пришёл к emscripten, но запнулся на том, что он работает только в конкретной и не очень новой версии убунты - надо было пускаться в VirtualBox и т.д. Правда в ту сторону я последний раз смотрел года 2-3 назад - может с тех пор всё стало не так страшно?
Что-то вообще не помню таких проблем. В Arch-based дистрибутивах он в основном репозитории, а вот из ubuntu последних версий его почему-то исключили. Насчет конкретно debian не смотрел, но по инструкции вроде бы устанавливался и работал без проблем везде, где пробовал.
User avatar
Shaos
Admin
Posts: 23629
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Emu80 v.4

Post by Shaos »

Спасибо, погляжу как время будет
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

Рад представить предновогодний релиз эмулятора, встречайте версию 4.0.498 от 30.12.2024!

Windows-сборка: https://emu80.org/v4beta/Emu80qt_40498.zip
Исходники: https://github.com/vpyk/emu80v4
Все варианты загрузки, в том числе версии для Linux и MacOS - на сайте (https://emu80.org/distr/)


Изменения в версии 4.0.498:

Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема

- Исправлена ошибка при записи на диск последних секторов на дорожке, что могло приводить к повреждению файлов в образе диска
- Исправлена ошибка в генераторе шума AY-3-3910, появился стук колес в игре "Стоп-кран" на Векторе
- Исправлена сборка с помощью GCC 13
- Исправлено сохранение опции "Выход в отладчик по недокументированным командам"
- Исправлена неработоспособность переключения коррекции PAR на Партнере с включенным МЦПГ
- Исправлено открытие ссылок в окне "О программе"
* Обеспечена возможность сохранения размера окна эмулятора в режиме изменяемого пользователем размера (Alt-0),
добавлена новая опция, настраивающая это поведение
* Добавлены новые режимы масштабирования окна 1.5x и 2.x, а также соответствующие пресеты
* Поддержка реального значения FPS на мониторах FreeSync/G-Sync
* Переработаны настройки видео, уменьшен фрейм эмуляции, улучшена отзывчивость на слабых ПК в случае нехватки мощности процессора
* Возможность плавного ускорения и замедления работы эмулятора до 16x
* Режим полной скорости по Alt-End (просто End сейчас увеличивает текущую скорость в 4 раза)
* Добавлен режим Стерео для AY
* Поддержка схемы ВГ75 PIXELTRON на РК-86, включается в конфигурационном файле (см. справку по платформе)
https://zx-pk.ru/threads/35812-ot-chjor ... -kod).html
* Добавлена возможность чтения файлов формата TSX наряду с CAS для формата записи на ленту MSX. Включено по умолчанию для SP580.
* Добавлена конфигурация для стандартного Специалиста с процессором Z80
* Специалист SP580 выделен в отдельную платформу
* Специалист SP580: обновлено ПЗУ до последней версии
* Специалист SP580: доработана smart-раскладка клавиатуры
* Апогей: добавлен режим черно-белого выхода цветного Апогея (градации серого)
* Добавлена информация о текущем загруженном образе диска во всплывающей подсказке ко кнопкам выбора образа
* Добавлена возможность "выхода" из web-версии эмулятора
* Добавлена опция очистки информации о нажатых клавишах при выходе из отладчика для предотвращения "залипания"
* Обеспечена возможность сборки с Qt 6.x
* В web-версии сейчас меняется адрес страницы при запуске программ, обеспечена возможность перехода по истории браузера с помощью кнопок "назад" и "вперед".


В этой версии добавлена возможность плавно настраивать скорость эмуляции. Для грубого ускорения/замедления служат клавиши Alt-PgUp/PgDn, для точного -
Alt-Up/Down. Максимальный коэффициент ускорения или замедления - 16x. Восстановить нормальную скорость можно с помощью клавиш Alt-Home.
Если же нужна максимальная скорость, то можно использовать Alt-End для режима "полный газ". Просто по клавише End (без Alt) осталось ускорение 4x.

Если у вас есть монитор и видеокарта с поддержкой технологии FreeSync/G-Sync, то в новой версии эмулятора будет возможно в полной мере
оценить применяемые в некоторых играх и демках эффекты gigascreen и плавное движение, синхронное с частотой кадров. Если при этом вы планируете
ускорять работу эмулятора, не забудьте в настройках снять или увеличить ограничение на максимальную частоту кадров. Обратите внимание, что
режим FreeSync/G-Sync часто корректно работает только в полноэкранном режиме!

На платформах, поддерживающих AY-звук, сейчас доступен режим стерео (ABC). По умолчанию режим стерео включен, можно выключить в разделе настроек "Разное".

Если вас раздражали "залипающие" клавиши при отладке, возможно, вам поможет новая опция, очищающая признак нажатия при выходе из отладчика.
Опция по умолчанию также включена.

Если вам не хватало промежуточных масштабов окна эмулятора, сейчас доступны два новых режима - 1.5x и 2.5x. Кроме того, эмулятор сейчас корректно
запоминает размер и положение окна при изменении его размеров вручную и восстанавливает эти параметры при следующем запуске.

Если вы запускаете эмулятор на старом ПК, процессор которого не может обеспечить 100% скорость эмуляции, то вам должна понравиться значительно
возросшая отзывчивость эмулятора в этих условиях.

Серьезно доработана эмуляция Специалиста SP-580. CityAceE опубликовал большое количество программ для него здесь:
https://zx-pk.ru/threads/36040-katalog- ... p-580.html
Можете погонять их в эмуляторе, практически все программы мультиблочные, с заставками.
Формат CAS может не в полной мере соответствовать формату записи на ленту SP580, поэтому была добавлена поддержка формата TSX.
Возможно в дальнейшем программы будут сконвертированы в этот формат. Уже сейчас можно загружать файлы в этом формате везде, где доступна загрузка в CAS.

Web-версия эмулятора на сайте https://online.emu80.org также обновлена.

Всех с наступающим Новым Годом!
XBIT
Junior
Posts: 5
Joined: 11 Jan 2025 14:03

Re: Emu80 v.4

Post by XBIT »

Здравствуйте.
В новой версии Emu80 v. 4.0.498 произошла регрессия с эмулируемым ПК-01 Львов.
Эмулятор не грузит игры состоящие из нескольких фалов.(мячик, арканоид и т.д.) Вместо этого ждет загрузки следующего файла но не подхватывает даже указанные в ручную файлы.
Так же в вашем онлайн эмуляторе, из предоставленных 4х игр для Львов, точно такая же проблема в играх circus и king valley.
И вопрос касательно скорости самого компьютера, она действительно соответствует реальной машине? У меня компьютер был в 90х годах, я попросту не помню, но вроде как мячик работал немного шустрее чем на Emu80 v. 4.0.480. Хотя может и ошибаюсь.
В любом случае заранее спасибо за ответы.
Last edited by XBIT on 11 Jan 2025 14:40, edited 1 time in total.
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

XBIT wrote: 11 Jan 2025 14:31 В новой версии Emu80 v. 4.0.498 произошла регрессия с эмулируемым ПК-01 Львов.
Эмулятор не грузит игры состоящие из нескольких фалов.
К сожалению, да. Вносил изменения в эту часть эмулятора, даже специально тестировал загрузку мультиблочных программ именно на Львове, но видимо, в последний момент все-таки что-то сломал. Постараюсь выпустить багфикс-релиз в ближайшее время.
XBIT wrote: 11 Jan 2025 14:31 И вопрос касательно скорости самого компьютера, она действительно соответствует реальной машине?
Точно сэмулировать скорость Львова на 100 % оказалось очень сложно, но, исходя из логики его работы, я реализовал эвристический алгоритм, который теоретически должен давать очень хорошее в среднем приближение к скорости работы реальной машины. Несколько проведенных на разных программах тестов показали отличие скорости порядка 1 %. Вполне возможно, что на какой-то конкретной программе отклонение вполне может быть больше. К сожалению, у меня нет реального Львова, чтобы сравнить :( Может быть, попросить кого-то снять видео работы того же "мячика"?
XBIT
Junior
Posts: 5
Joined: 11 Jan 2025 14:03

Re: Emu80 v.4

Post by XBIT »

Pyk wrote: 11 Jan 2025 14:59
К сожалению, да. Вносил изменения в эту часть эмулятора, даже специально тестировал загрузку мультиблочных программ именно на Львове, но видимо, в последний момент все-таки что-то сломал. Постараюсь выпустить багфикс-релиз в ближайшее время.
Это хорошая новость.
Pyk wrote: 11 Jan 2025 14:59
Точно с эмулировать скорость Львова на 100 % оказалось очень сложно, но, исходя из логики его работы, я реализовал эвристический алгоритм, который теоретически должен давать очень хорошее в среднем приближение к скорости работы реальной машины. Несколько проведенных на разных программах тестов показали отличие скорости порядка 1 %. Вполне возможно, что на какой-то конкретной программе отклонение вполне может быть больше. К сожалению, у меня нет реального Львова, чтобы сравнить :( Может быть, попросить кого-то снять видео работы того же "мячика"?
К сожалению мне некого об этом попросить и нет реальной машины.

 
Чисто ради любопытства, перепроверив наверное все эмуляторы, мне кажется что более близкий по скорости эмулятор башкирия2м. Возможно стоит сориентироваться на него?
Sas emulator по-моему чересчур быстрый.

В общем получается засада)
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

XBIT wrote: 11 Jan 2025 17:30 мне кажется что более близкий по скорости эмулятор башкирия2м
Я могу ошибаться, но вроде бы эмулятор b2m просто работает на полной скорости процессора 2.22 МГц, и торможение процессора видеосистемой вообще никак не учитывается. Может быть, автор меня поправит.
XBIT
Junior
Posts: 5
Joined: 11 Jan 2025 14:03

Re: Emu80 v.4

Post by XBIT »

Pyk wrote: 11 Jan 2025 18:27
XBIT wrote: 11 Jan 2025 17:30 мне кажется что более близкий по скорости эмулятор башкирия2м
Я могу ошибаться, но вроде бы эмулятор b2m просто работает на полной скорости процессора 2.22 МГц, и торможение процессора видеосистемой вообще никак не учитывается. Может быть, автор меня поправит.
Оставил автору сообщение.
Кстати, я тут проверил побольше игр, и думаю все таки да, башкирия тоже быстроват излишне.
Выходит что нужно лишь найти золотую середину.
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

XBIT wrote: 11 Jan 2025 14:31 Эмулятор не грузит игры состоящие из нескольких фалов.
Ошибку исправил. Релиза пока нет, так как всплыла еще как минимум одна ошибка, которую я исправить пока не успел.
На случай, если пользуетесь эмулятором под Widnows, выложил обновленный exe-файл: https://emu80.org/v4beta/Emu80qt_40499_exe.7z
Онлайн-версию на сайте также обновил, а полноценный багфикс-релиз будет чуть позже.
Pyk
Maniac
Posts: 249
Joined: 21 Jan 2003 11:08
Contact:

Re: Emu80 v.4

Post by Pyk »

XBIT wrote: 11 Jan 2025 20:11 Выходит что нужно лишь найти золотую середину.
Нет. Скорость работы в общем случае может меняться в зависимости от исполняемого процессором кода, и, упрощенно говоря, потребуется разная степень замедления при работе разных программ. Простой подбор степени замедления и поиск "золотой середины" тут не очень подходит. Нужно именно постараться смоделировать поведение реального компьютера.
XBIT
Junior
Posts: 5
Joined: 11 Jan 2025 14:03

Re: Emu80 v.4

Post by XBIT »

Pyk wrote: 11 Jan 2025 20:54
XBIT wrote: 11 Jan 2025 14:31 Эмулятор не грузит игры состоящие из нескольких фалов.
Ошибку исправил. Релиза пока нет, так как всплыла еще как минимум одна ошибка, которую я исправить пока не успел.
На случай, если пользуетесь эмулятором под Widnows, выложил обновленный exe-файл: https://emu80.org/v4beta/Emu80qt_40499_exe.7z
Онлайн-версию на сайте также обновил, а полноценный багфикс-релиз будет чуть позже.
Скачал, работает.
Post Reply