Emu80 v.4

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

Moderator: Pyk

Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Новый релиз. Версия 4.0.377 от 21.11.2021:
https://emu80.org/news/v40377

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40377.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40377_macos.zip

Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40377.zip

Исходники:
https://github.com/vpyk/emu80v4


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

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

+ Поддержка ПК "Электроника КР-04"
+ Поддержка ПК "Специалист SP-580"
+ Поддержка ERAM в Векторе
* Добавлено отображение информации о состоянии ВГ75 и ВТ57 в отладчике
* Добавлено отображение в статусной строке информации о проценте замедления процессора в результате ПДП
* Добавлена справка по платформе для ПК Лик, обновлена справка по некоторым другим платформам
* Добавлены раскладки клавиатуры в справку по ПК группы "Специалист":
Специалист, Специалист-MX, Лик, Eureka, SP-580
* Добавлены 2 новых типа клавиатуры для ПК группы "Специалист": Лик и Eureka
* Для сборки под MacOS понижены системные треования - минимальная версия ОС сейчас - 10.8 Mountain Lion
- Исправлен режим отображения "без бордюра" на Векторе (Alt-V)
- Исправлена схема подключения таймера в Специалисте-MX
- Исправлены мелкие баги в эмуляции ВИ53: работает демо vi533.rom для Вектора,
потенциально в некоторых случаях улучшен звук
- Исправлена ошибка, проявлявшаяся в падении при выходе, в основном под MacOS
- Прочие мелкие исправления
! Сборка под MacOS все еще не до конца отлажена, остается некоторое количество не очень критичных проблем


Комментарии:

* Поддержку КР-04 сделал на основании документации и имеющегося софта.
Если у кого-то есть реальный КР-04, будет интересно сравнить с оригиалом, особенно если учесть,
что в схеме из документации явно есть ошибки.
Работу прерываний проверял на ситнетических тестах, ни в одной существующей программе они не используются.
Реализовано 3 режима цветности: монохромный выход, цветной и блок цветности.
Для файлов КР-04 предлагается использовать расширение .rk4.
Более подробную информацию смотрите в справке по платформе (Alt-F1).
Софт для КР-04 здесь: https://zx-pk.ru/threads/23521-elektron ... ost1122905
(спасибо veng за оцифровку и DDp за конвертацию)

* Для SP-580 поддерживается загрузка файлов в формате wav (csw) ввиду отсутствия общепринятого формата образов лент.
Кроме того, Монитором SP-580 поддерживается загрузка файлов в формате .rks, для этого перед директивой I дать директиву @.
Более подробную информацию смотрите в справке по платформе (Alt-F1).
Софт для SP-580 здесь:
https://zx-pk.ru/threads/31727-monitor- ... ost1060967
Александр пока забросил свой сайт, архивы можно скачать с web-архива:
https://web.archive.org/web/20190910231 ... e_SIDE1.7z
https://web.archive.org/web/20190910231 ... e_SIDE2.7z

* ERAM в Векторе пока постоянно включен. Так как часы реального времени, с которым он конфликтует,
в настоящее время не реализованы, это не должно вызывать какиех-либо проблем.
Однако, если нужно явно выключить ERAM, можно закомментировать строку "define ERAM" в начале vector.conf

* Вообще, в этой версии довольно много мелких изменений, особенно в реализации таймера ВИ53.
Не исключаю возможности, что мог что-то и сломать, неплохо бы все хорошенько потестировать...


Да, bin2tape тоже обновил: исправил формат rku и добавил rk4: https://emu80.org/files/?id=78
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Emu80 v. 4.0.379

Post by Pyk »

Багфикс-релиз. Версия 4.0.379 от 28.11.2021:
https://emu80.org/news/v40379

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40379.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40379_macos.zip

Portable SDL/wx-версия, windows-сборка:
https://emu80.org/v4beta/Emu80_40379.zip

Исходники:
https://github.com/vpyk/emu80v4


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

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

- Небольшие уточнения в эмуляции ПК КР-04 и Львов, не влияющие на выполнение существующих программ
- Исправлена сборка SDL/wx-версии с помощью GCC 7 и выше
- Исправлено время выполнения команды Z80 RET cc при выполнении условия
- Множественные исправления времени исполнения команд Z80 на Векторе
- Устранены клики при работе с ПК Вектор (в большинстве случаев)
* Изменения в звуковой подсистеме, уровень громкости 6 сейчас полнофункционален и установлен по умолчанию
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Новый большой релиз. Версия 4.0.400 от 16.02.2022:
https://emu80.org/news/v40400

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40400.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40400_macos.zip

Portable SDL/wx-версия, windows-сборка:
https://emu80.org/v4beta/Emu80_40400.zip

Исходники:
https://github.com/vpyk/emu80v4

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

+ Поддержка ПК "Корвет"
+ Поддержка принтера, в настоящее время доступна для для ПК "Корвет", "Вектор", "ПК8000", "Львов"
* Новый интерфейс для управления образами дискет: список последних файлов, отключение, режим защиты записи, автоподключение при старте (Qt)
* Добавлена поддержка записи в эмуляции контроллера SD-диска по схеме vinxru, пока только в Qt-версии
* Поддержка четырех НГМД, пока только для ПК "Корвет"
* Улучшения в эмуляции экрана ПК8000
* Поддержка режима 2 таймера ВИ53
* Русский интерфейс сейчас устанавливается по умолчанию не только для России, но и для других стран с установленной русской локалью (Qt)
* Установлен минимальный размер окна 100×75 во избежание окна слишком маленького размера при некорректном программировании ВГ75
- Вектор: исправлена работа T-Rex и Binorum
- ПК8000: Исправлено поведение при записи в адреса ПЗУ слотов расширения (запись в ОЗУ)
- Исправления в эмуляции FDC 1793
- Исправления в эмуляции ВВ55
- Исправлено переключение в полноэкранный режим в Gnome и основанных на нем оконных менеджерах (Qt)
- Исправлена иногда наблюдавшаяся инверсия состояния кнопки "Пауза" на панели инструментов (Qt)
- Улучшено отображение информации в строке статуса (Qt)
- Другие мелкие исправления и улучшения

Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Emu80 v.4

Post by Alekcandr »

Портанул под бомбежками Харькова львиную часть эмулятора на Qt Jambi. Спасибо. Было интересно.

Вот только не могу понять зачем эмулятор пишет в аудио поток, который поток читает. Было бы логично писать в этот поток для записи.

Image
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Отличная работа! Даже подумать не мог, что кто-то будет его портировать на Java...
Alekcandr wrote: Вот только не могу понять зачем эмулятор пишет в аудио поток, который поток читает. Было бы логично писать в этот поток для записи.
Не совсем понял вопрос... Эмулятор в поток пишет, аудиоустройство из этого потока читает, в чем проблема?

И еще: эмулятор OrionEXT сейчас где-нибудь доступен? Боюсь, что я его не видел...
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Emu80 v.4

Post by Alekcandr »

Pyk wrote:Не совсем понял вопрос... Эмулятор в поток пишет, аудиоустройство из этого потока читает, в чем проблема?
Я встречал эмуляторы на Qt, которые вызывают функцию QIODevice qint64 write(const char *data, qint64 len) для этого. Вот что имелось ввиду.
Pyk wrote:И еще: эмулятор OrionEXT сейчас где-нибудь доступен? Боюсь, что я его не видел...
Недоступен. Подпись внизу оставил для истории.
Интерес у меня к этому эмулятуру давно угас. Наверное с исторической точки зрения он может интересен, но не более, на мой взгляд.
Давно в прошлом он был мной сломан, относительно недавно я его частично починил, как мог и что вспомнил.

Если вот, ну вот очень интересно, могу поднапрячься подготовить, и выложить как есть экзешник.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Alekcandr wrote:Я встречал эмуляторы на Qt, которые вызывают функцию QIODevice qint64 write(const char *data, qint64 len) для этого. Вот что имелось ввиду.
Обычно QAudioDevice автоматически создает внутренний экземпляр QIODevice, в который и пишутся данные с помощью write, все просто. Здесь же я использую отдельный производный от QIODevice класс, который явно связываю с QAudioDevice - вполне документированная в Qt возможность. Не помню уже деталей, но какой-то функциональности мне не хватило, пришлось идти более сложным способом. Ну и в производном классе методы для записи данных также оказалось удобнее сделать свои.
Alekcandr wrote:Если вот, ну вот очень интересно, могу поднапрячься подготовить, и выложить как есть экзешник.
Как раз с исторической точки зрения и интересен... А что, когда-то выложенного еще не сломанного файла ни у кого не осталось, так что пришлось восстанавливать? В общем, не уверен, что нужно сильно напрягаться, но если все-таки получится - было бы любопытно посмотреть...
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Emu80 v.4

Post by Alekcandr »

Pyk wrote:В общем, не уверен, что нужно сильно напрягаться, но если все-таки получится - было бы любопытно посмотреть...
Поломан был дисковод, сейчас вроде что то грузит. А так, как есть, с какими то не завершенными экспериментами и хотелками.
ORION-128

p.s. Паранойя у гугла :mrgreen: Выписал таблетку (пароль 111).
Файл заражен вирусом. Файл ORION128.ZIP (1,4M) может нанести вред вашему компьютеру. Скачивайте его, только если осознаете все риски.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Новый большой релиз. Версия 4.0.420 от 10.06.2022:
https://emu80.org/news/v40420

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40420.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40420_macos.zip

Portable SDL/wx-версия, windows-сборка:
https://emu80.org/v4beta/Emu80_40420.zip

Исходники:
https://github.com/vpyk/emu80v4


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

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

+ Поддержка ПК "Криста"
+ Добавлен новый режим сглаживания: границы пикселов
+ Вектор: поддержка жесткого диска
+ Вектор: поддержка второго квазидиска на порту 11h
+ Корвет: поддержка AY-3910 на порту ВВ55
+ КР-04: поддержка SD-адаптера по схеме vinxru
+ Микроша: поддержка оригинального внешнего ПЗУ-модуля для Микроши
+ Поддержка светового пера на ВГ75.
Проверено на "Кристе", возможно, будет работать и на других ПК
+ Диалоги аппаратной конфигурации (Alt-F8) для Вектора (конфигурация электронных дисков),
Корвета (конфигурация AY-3910), Микроши (конфигурация внешнего ПЗУ) и КР-04 (конфигурация SD-контроллера)
+ Возможность сохранения полного дампа памяти в отладчике по клавише F2
* Изменены настройки отображения и окон, обновлен набор пресетов
* Переписан код вывода на экран, сейчас используется native OpenGL (в Qt - всегда, в SDL - при возможности)
* Новое меню и горячие клавиши для жесткого и электронного дисков по аналогии с меню для НГМД
* Исправлена работа "умной" раскладки при быстром наборе
* Переработано меню выбора платформы, сейчас оно иерархическое со списком последних платформ
* РК-86: добавлены настройки типа SD-адаптера, обновлены образ карты и прошивки SDOS, исправлены ошибки
* КР-04: уточнена скорость работы КР-04, добавлены такты ожидания для выборки знакогенератора
* ПК8000: обновлен HDD ROM до последней версии (1.5)
* Микроша: в подсказку добавлена информация о раскладке клавиатуры
- Корвет: исправлено отображение текстовых атрибутов
- КР-04: исправления в эмуляции таймера ВИ53
- КР-04: восстановлена работа клавиши СБРОС
- КР-04: исправлен запуск файлов .rk4 из командной строки
- ПК8000: исправления в распределении адресного пространства
- Микроша: возвращен отсутствовавший альтернативный шрифт 8x12
- Вектор: исправлено неполное сохранение диска ERAM
- Добавлены русские переводы для пропущенных пунктов меню
- Исправления в режиме 0 таймера ВИ53,
сборник "Хит-парад" для Микроши опять загружается, работает обмен с магнитофоном на КР-04
- Исправлена проблема с FPS в половину кадровой частоты на некоторых видеокартах
- Исправлена работа некоторых горячих клавиш (Qt)
- Восстановлена корректная работа "Открыть и запустить" (Alt-F3) на некоторых программах на РК-совместимых компьютерах
! КР-04: пока не реализованы прерывания


Этот релиз в основном содержит улучшения в пользовательском интерфейсе, а также большое количество
багфиксов и небольших доработок.

Большие изменения сделаны в части вывода изображения: новый механизм вывода, новый режим сглаживания,
переработанные настройки, новый набор пресетов, измененная логика переключения в полноэкранный режим.
Надеюсь, сейчас управление отображением будет более эффективным и понятным.

Для некоторых платформ добавлен диалог аппаратной конфигурации (Alt-F8). В частности, на Корвете
в нем включается поддержка AY, на Векторе - второй квазидиск и ERAM, на Микроше - внешнее ПЗУ,
на КР-04 - SD-контроллер. Для РК-86 в диалог добавлен выбор типа SD-контроллера. Постепенно буду добавлять
настройки аппаратной конфигурации и для других платформ, так что больше не будет необходимости вносить
изменения в конфигурационные файлы.

Софт и документацию для "Кристы" можно пока взять здесь:
https://disk.yandex.ru/d/qdsUB-fkrYfEWg (коллекция собрана Муромским Кибер-музеем)
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Багфикс-релиз. Версия 4.0.422 от 22.07.2022:
https://emu80.org/news/v40422

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40422.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40422_macos.zip

Portable SDL/wx-версия, windows-сборка:
https://emu80.org/v4beta/Emu80_40422.zip

Исходники:
https://github.com/vpyk/emu80v4


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

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

- Восстановлена работа игры T-Rex, демо SkyNet и других программ на Векторе
(исправления в работе команды Read Address контроллера НГМД)
* Исправления в документации
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Поскольку Linux сейчас все более популярен среди обычных пользователей, для которых сборка из исходников - вещь нетривиальная, сделал сборку для Linux x64, прошу по возможности протестировать:
Emu80qt_40429_linux64_test.tar.gz

Текущая версия из репозитория, со всеми библиотеками - распаковать и запустить.
Ориентировочно должен работать в 64-разрядных дистрибутивах 2016-2018 года и позже (например, Ubuntu 18.04 LTS).
Работоспособность в более старых дистрибутивах нужно тестировать. Есть ли смысл делать 32-разрядную сборку - не уверен.

Можно попробовать сделать пакет AppImage, а также пакеты deb и rpm, если будет такая потребность.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Re: Emu80 v.4

Post by VituZz »

Поигрался с "Орионом-128". Тотально не проверял, но вроде всё работает. Спасибо!

Сборка для 32 бит востребована.
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

Re: Emu80 v.4

Post by Andnor »

Опробовал эмулятор — неплохая штука. Хотя некоторые вещи остались загадкой. Например, что делает F4 в отладчике и для чего предназначены некоторые его разделы (дизасм, хексдамп, регистры - это очевидно, а остальное?)

Но в ЮТ-88 не вижу как включить эмуляцию версии у которой были кнопки 0-9A-F и дисплей на семисегментных индикаторах. Есть ли такая возможность в принципе, в этом или каком-то другом эмуляторе?

Вообще, меня интересует эмуляция компьютеров без ПЗУ с аппаратной панелью управления — где можно было тумблерами задавать вручную отдельные биты. Есть ли планы добавить поддержку Altair 8800, IMSAI 8080, Intellec 8 и подобных?

Кстати, интересно, были ли такие компьютеры с панелькой на процессоре Z80 или i8086+ ?
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

F4 выполняет программу до текущего места. Что именно еще непонятно в отладчике, поясню? Там вроде бы достаточно очевидно все подписано: флажки, содержимое стека, содержимое памяти по адресам разных регистров... Да и по горячим клавишам внизу есть подсказка, где приведено общепринятое обозначение (F4-Here). Локументации не хватает, согласен, допишу со временем...

Версия ЮТ с 7-сегментным индикатором и 16 кнопками не поддерживается. Даже не знаю, есть ли это в каком-либо другом эмуляторе, меня подобные компьютеры не интересуют. Поэтому, к сожалению, и в планах их поддержки нет...
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

Re: Emu80 v.4

Post by Andnor »

Pyk wrote:F4 выполняет программу до текущего места.
Вот это и было непонятно. Слово here-то я знаю, но когда нажимал на эту кнопку, окно дебаггера то исчезало, то прыгало по экрану и ещё как-то странно себя вело.

Вообще исчезновение окна дебага, по-моему, стоило бы пофиксить. Или хотя бы запоминать его положение (не обязательно в конфиге - достаточно в текущей сессии работы) и переоткрывать там же, где оно было. Когда оно скачет по экрану - это неудобно.
Содержимое памяти по адресам разных регистров...
Вот это тоже было непонятно, но догадался в процессе экспериментов уже после того сообщения. Да, удобная фича сразу видеть память по указателям.
Версия ЮТ с 7-сегментным индикатором и 16 кнопками не поддерживается. Даже не знаю, есть ли это в каком-либо другом эмуляторе, меня подобные компьютеры не интересуют. Поэтому, к сожалению, и в планах их поддержки нет...
Жаль. Но мне уже удалось найти что-то похожее на https://www.asm80.com, только там какие-то непонятные зарубежные компьютеры.

У меня Специалист после выбора пишет PROGRAM ? и дальше ни на что не реагирует. Это нормально или баг? Другие варианты Специалиста работают ОК.

Ещё у меня эмулятор самопроизвольно щелкает динамиками, даже если громкость выставить на 5, хотя он висит в фоне и там ничего не запущено кроме монитора РК-86, а так же при навигации по панели инструментов и меню.

А да, ещё одно небольшое неудобство: выбор отображаемого типа файла не запоминается и по умолчанию фильтр установлен, а мне нужно загружать файлы *.cas которые сохраняет https://svofski.github.io/pretty-8080-assembler/ и эмулятор постоянно забывает их показывать. Может сделать режим "все файлы" по умолчанию? Обычно в каталоге не так много лишних файлов. чтобы это мешало.

Но чтобы не было сплошного негатива - в целом хороший эмулятор, мне понравился, хотя конечно хочется ещё лучше.
Документации не хватает, согласен, допишу со временем...
Ещё неплохо бы в хелп по каждой платформе добавлять краткое руководство по эксплуатации, например карту памяти, поддерживаемые команды монитора и системные вызовы.