Emu80 v.4

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

Moderator: Pyk

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

Re: Emu80 v.4

Post by Pyk »

Версия 4.0.316 от 27.12.2018:

Portable Qt-версия, windows-сборка (рекомендуется):
http://emu80.org/v4beta/Emu80qt_40316.zip

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

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


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

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


+ Поддержка звукового синтезатора AY-3-3910 (на данный момент в ПК8000 по схеме Mick)
+ Опция для джойстика: совмещать с клавишами клавиатуры либо назначать джойстик
на отдельные клавиши доп. цифровой клавиатуры (пока для ПК8000)
+ Отображение флага IFF для ВМ80 в отладчике
+ Отображение состояния паузы в строке состояния
+ В Windows-дистрибудив Qt-версии добавлены cmd-файлы для принудительного запуска эмулятора
в режимах OpenGL, DirectX 9, Direct 11
* ПК8000: привязка к лучу с точностью до скан-линии, исправлено отображение бордюра
- ПК8000: Исправления в работе прерываний
- Устранено наблюдавшееся иногда залипание клавиш после сброса (обычно в Qt-версии)
- Исправления в звуковой подсистеме, снижение загрузки процессора


Сделал обещанный AY, сейчас можно поиграть в Driller Tanks с музыкой :)
Неплохо бы сравнить звучание с реалом. Делал собственную реализацию, не использовал готовый код,
так что вполне могут быть ошибки в его эмуляции.

В режиме совмещения клавиш джойстик совмещен с клавишами управления курсором, пробелом
и Enter. В раздельном режиме джойстик управляется стрелками на доп. цифровой клавиатуре,
а также клавишами 5 и 0 на ней же.

Привязка к лучу в настоящее время, пока не реализованы вейты, достаточно бесполезна,
это скорее задел на будущее. Единственная программа, где можно увидеть какой-то
эффект от этого - демка NYAN, в которой раскрашивается бордюр в процессе загрузки
(_stuff\pk8000\nyan.csw)

Вернул в Windows-дистрибутив 3 cmd-файла для принудительного запуска эмулятора в режимах OpenGL,
DirectX 9 и 11. Обычно оптимальный драйвер выбирается автоматически, но на конкретной вашей
системе может лучше работать какой-то другой - смотрите по загрузке процессора, FPS и т.д.
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Alekcandr wrote:Вот чем больше я в теме эмуляции (уже 20 лет), тем больше хочется простой и понятный движок (пускай не точный). Пере эмулировал с десяток (потом с десяток на разных языках) платформ (некоторые по три раза). И пришел к выводу что Ява, тут вне конкуренции. Да криво, зато все работает без танцев с бубнами.

Как показывает история и сегодняшний день добиться точной эмуляции не возможно на современных средствах. Тогда не понятно зачем к этому стремиться, когда даже элементарные добавления вызывают "дикие" глюки (платформы, OS), и трату времени.
Смотрю на разные эмуляторы и вижу, что цели у всех эмуляторописателей разные: вовсе не обязательно это точность эмуляции - для кого-то важен простой движок, для кого-то - богатство настроек или удобство использования, кто-то просто хочет с помощью написания эмулятора изучить новый для себя язык программирования и т. д. А поскольку это в основном хобби, то каждый делает то и так, чтобы получать удовольствие от разработки. В общем, каждому свое, а в целом - больше эмуляторов хороших и разных, на разный вкус! :)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Emu80 v.4

Post by Lavr »

Pyk wrote:Смотрю на разные эмуляторы и вижу, что цели у всех эмуляторописателей разные: вовсе не обязательно это точность эмуляции - для кого-то важен простой движок, для кого-то - богатство настроек или удобство использования, ...
Почему-то практически все эмуляторописатели игнорируют такую полезную фичу,
как управление из среды эмулятора реальными портами ввода-вывода PC.

А ведь это очень полезно! Процессором, которого у тебя реально нет, поуправлять
настоящим устройством ввода-вывода! :kruto:

Из имеющихся у меня эмуляторов (симуляторов) так умеет Proteus:

Виртуальный PIC16F84A управляет реальным LCD Nokia 3310 через LPT-порт:

Image
Proteus также позволяет управлять реальным COM-портом.

Так умеет эмулятор ПК "Спецалист-МХ" от Шевцова:

Виртуальный "Спецалист-МХ" управляет реальным LCD Nokia 3310 через LPT-порт:

Image

Виртуальный "Спецалист-МХ" управляет реальной звуковой картой, которой у "Специалиста"
никогда не было и вряд ли в перспективе будет... :wink:

Image

На мой взгляд, подобная редкая фича в эмуляторах очень и очень полезна!
iLavr
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Emu80 v.4

Post by Alekcandr »

Pyk wrote:... В общем, каждому свое, а в целом - больше эмуляторов хороших и разных, на разный вкус! :)
Не, тут как бы довить педаль до конца (как вариант ПК-86РК давить). Вот моя платформа и я ее сделаю как реал. Все с батарейками и железякой не ниже 10 (2ГГц) ядер (шутка) не волнуют, что бы эмуль соответствовал – моему компу из 80г.

А так-то нид (нужен) для любителей старья простой и понятный мульти-эмулятор с простой плагиной (очень простой) структурой. Это было бы супер. Точность не важна.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Версия 4.0.323 от 01.02.2019:

Portable Qt-версия, windows-сборка (рекомендуется):
http://emu80.org/v4beta/Emu80qt_40323.zip

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

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


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

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

+ Вейты на ПК8000 (с ограничениями), реальная скорость работы в большинстве случаев
+ Привязка к лучу и бордюрные эффекты на ПК8000
+ Опции отладчика, отвечающие за регистр, в котором отображается дизассемблированный текст 8080 и Z80
* В отладчике изменены действия по умолчанию клавиш F5 (Run) и F9 (Set breakpoint).
Добавлена опция для возврата старого назначения этих клавиш.
+ Базовая поддержка ATA-интерфейса, поддержка CF-карты в ПК8000.
* Дополнительные проверки на наличие корректных конфигурационных файлов.
Устранено (недеюсь) появление запущенных процессов эмулятора без окон в случае проблем с конфигурационными файлами.
* Поддержка сброса ВГ95 на ПК8000
* Изменения в системе перехватов процессора, небольшое повышение производительности
* Улучшен алгоритм распознавания необходимости закрытия файла образа ленты
* СMD-файлы для запуска Qt-версии в режимах OpenGl и DirectX сейчас не ждут завершения программы. Оставлен только один файл для режима DirectX (автовыбор).
- Исправления в работе команд HLT и EI.
- Исправлено отображение информации о режиме дисплея на ПК8000
- Исправления в работа клавиатуры на Специалисте (в некоторых случаях было возможно отсутствие реакции на клавиши)

В комплект эмулятора включен образ CF-карты для PK8000 на 2 Mb, содержащий большую часть системных и игровых
программ в кодах для этого ПК (программ на бейсике в образе нет).
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Версия 4.0.333 от 03.04.2019:

Portable Qt-версия, windows-сборка (рекомендуется):
http://emu80.org/v4beta/Emu80qt_40333.zip

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

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


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

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

+ поддержка ПК "Вектор-06Ц"
+ краткая справка по основным платформам
+ отображение в отладчике информации о тактах процессора, состоянии контроллера НГМД,
позиции луча (пока только для "Вектора")
+ горячая клавиша и кнопка на панели инструментов для загрузки RAM-диска
+ поддержка мыши в отладчике
+ обновление экрана в реальном времени в отладчике (пока только для "Вектора")
* уточнения в эмуляции процессоров 8080 и Z80
* уточнено время исполнения некоторых команд Z80
* улучшения в эмуляции контроллера НГМД FDC 1793
* изменения в раскладке клавиатуры на ПК8000
* небольшие изменения управления с клавиатуры в отладчике: "Run" работает из любой секции, можно использовать Enter на доп. цифровой клавиатуре
- исправлены проблемы в эмуляции AY-3-3910, звучание сейчас должно соответствовать оригиналу
- устранено падение при попытке чтения некорректного WAV-файла
- исправлена ошибка в эмуляции клавиатуры на "Специалисте", в некоторых случаях эмулятор мог не реагировать на нажатия клавиш
- исправлена ошибка: невозможно было изменить тип клавиатуры "Специалиста-MX" в настройках (Qt)
- исправлен файл emu80qt-dx.cmd, предназначенный для запуска emu80 в режиме DirectX
- устранено падение эмулятора при попытке изменения размера окна отладчика (Qt)
- устранено падение при выходе из эмулятора с активными точками останова
- устранены проблемы в работе эмулятора, собранного с помощью MSVC

Для "Вектора" на данный момент поддерживаются: квазидиск 256К с модификацией Баркаря, НГМД, AY; пока нет HDD, RTC, ROM-диска, Covox.

В отладчике работает управление мышью:
- одиночный щелчок для переключения секций
- двойной щелчок на значении для его изменения (в том числе на адресе)
- колесо прокрутки для прокрутки и перемещения по спискам


Изменений довольно много, так что вполне мог и сломать что-нибудь ;)
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Emu80 v.4

Post by Shaos »

Вектор это хорошо :)

Я тут волею судеб столкнулся (по одной возможной работе) с Qt - пришлось ставить полный пакет с сайта так что могу таки начать ковыряться в исходниках Emu80 :rotate:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Ты хотя бы собери и запусти для начала ;)
Но если возникнет желание поковыряться в исходниках, то я только за.
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Багфикс-релиз. Версия 4.0.334 от 04.04.2019:

Portable Qt-версия, windows-сборка (рекомендуется):
http://emu80.org/v4beta/Emu80qt_40334.zip

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

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


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

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

- исправлена ошибка: в отладчике невозможно было установить точку останова с помощью F9/F5.
* F4 (Here) в отладчике сейчас сбрасывает счетчик тактов процессора
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Emu80 v.4

Post by Shaos »

Pyk wrote:Ты хотя бы собери и запусти для начала ;)
Короче решили мы с Qt слезать ибо глюкалово :)
Пару недель назад поставил дистр с сайта qt.io, пособирал аппликухи - вроде всё более-менее
Сегодня на другой комп решил поставить тот же дистр - фиг, видит какие-то нестыковки в онлайн репах для андроеда - нафиг мне андроед? :evil:
Ок - скачал 30 мегов нового дистра Qt - поставил, а старые бинари отказываются запускаться - не видят либы :)
Пересобрал из исходников в новом Qt-креаторе - вроде запустилось, но главное меню исчезло ;)
Короче нафик-нафик - переходим на wxWidgets :dj:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Shaos wrote:Короче решили мы с Qt слезать ибо глюкалово
У меня противоположное ощущение пока сложилось.
Как по мне, так wxWidgets менее удобно и логично построен, содержит больше ошибок в реализации (когда функции работают не так, как описано), у него более глючный и менее удобный визуальный редактор форм, гораздо чаще встречаются различия в поведении программ на разных платформах (windows и linux, к примеру). Я впервые пробовал использовать wxWidgets еще более 10 лет назад, и когда не так давно опять с ним столкнулся, то понял, что в этом плане мало что изменилось. А вот с Qt как-то все более гладко пошло. Нюансы тоже есть, но они обычно документированы. С описанными тобой нестыковками в либах и и в репах я не сталкивался ни в Qt, ни в wxWidgets, всегда все было хорошо, так что в этом плане не могу сравнить. В общем, это чисто мое субъективное мнение, попробуешь сам - расскажешь ;)

П.С. Эмулятор-то удалось запустить?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Emu80 v.4

Post by Shaos »

Сегодня долго бодался с wxWidgets - написал тестовое приложение (аналогичное тому, что гоняли на Qt) и собрал его в линуксе (Debian и Ubuntu имеют wx3.0 "искаробки"), в WinXP (wx2.8 с помощью фришного Борланда C++ 5.5) и даже на PowerPC MacOS X 10.4 ( тоже wx2.8 ) :)

Так что я обеими руками голосую за wx :kruto:

P.S. Пропадание меню в убунте - это оказывается типа "фича" - они типа имитируют MacOS перенося меню активного приложения вверх экрана :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Да, согласен, в некоторых случаях wx будет предпочтительней - про минусы я говорил, но у него и плюсов много: можно статически линковать в коммерческих приложениях, поддержка GTK+, более быстрая загрузка за счет меньшего объема. Но лично мне Qt оказался более удобен для Emu80, хотя и познакомился я с ним куда позже, чем с wx...

Я только советовал бы все-таки определиться с версией wxWidgets - 2.x или 3.х - у них есть несовместимости. Иначе придется постоянно тестировать в обеих версиях.

А перенос меню наверх - это фича даже не убунты, а оконного менеджера.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Emu80 v.4

Post by Shaos »

Pyk wrote:А перенос меню наверх - это фича даже не убунты, а оконного менеджера.
Ну незнаю - в дебияне такой порнографии нету :roll:
Или я этого невижу только потому что в Xfce да в LXDE только сижу? ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 251
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Shaos wrote:Или я этого невижу только потому что в Xfce да в LXDE только сижу?
Ага ;)