Просмотр полной версии : Emu80 v.4
Версия 4.0.346 от 06.11.2020:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40346.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40346_macos.zip
Linux(x64)-сборка (portable, для тестирования): http://emu80.org/v4beta/Emu80qt_40346_lnx64.tgz
Portable SWL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40346.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.346:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
+ Поддержка Covox в Векторе
+ Новая опция отладчика: использовать мнемоники Z80 для 8080
+ Новая опция: не воспроизводить звук магнитофона. Особенно полезна для Специалиста для устранения треска при использовании цвета
+ Поддержка SD-адаптеров по схемам hwm_pvv, msx, n8vem
+ Конфигурация для РК-86 с поддержкой SDOS, в дистрибутив включен образ SD-карты с распространеными программами для РК-86
+ Поддержка проверки значений переменных в конфигурационных файлах
+ Новое окно аппаратной конфигурации, вызываемое по Alt-F8 или по кнопке на панели инструментов
Пока только в Qt-версии. Предполагается, что будет предназначено для изменения аппаратной конфигурации
эмулируемого ПК. Пока здесь настраиваются только пути к образам и директориям SD-карт и ROM-дисков для РК-86 и Апогея.
+ Сделана сборка для MacOS, исправлены некоторые замечания по работе в этой ОС
* Qt-версия: возможность сохранять скриншоты в формате png (спасибо Pavel Dovgalyuk)
* Регистр I Z80 сейчас отображается в отладчике
* Если при запуске не найдены конфигурационные файлы эмулятора, выводится окно с ошибкой
* Исправлен неработающий фильтр в окне открытия файлов в Linux, из-за чего не были видны wav-файлы при открытии (спасибо xintrea)
- Партнер: включение МЦПГ сейчас корректно происходит по биту 7 порта DC00 (было по биту 0)
- ПК8000: исправлена запись в регистры цвета в зависимости от сигнала гашения
- Eureka: устранены проблемы со звуком
- Исправления в эмуляции процессора Z80 в режиме прерывания IM2
- Исправлены небольшие ошибки в сохранении настроек
Конфигурация с SDOS пока сделана только для РК-86 по схеме hwm_pvv. Примеры использования схем msx и n8vem,
а также подклюения через ВВ55 есть в комментариях в конфигурационных файлах.
В новом диалоге конфигурирования аппаратной части предполагается выбор эмулируемых устройств, версий монитора и т.п.,
чтобы не плодить множество разных платформ. Буду со временем наполнять.
С включенной новой опцией "Не воспроизводить звук с магнитофона" отсутствует треск в Exolon для Специалиста.
Опция доступна на всех платформах.
Сделана сборка эмулятора под MacOS, просьба по возможности протестировать.
На скорую руку также сделал сборку под linux x64, можно также попробовать.
Это portable-версия, просто распаковать и запустить, Qt-библиотеки входят в состав.
Наверняка пока там много лишнего.
Обе версии крашаЦЦа при выборе конфигурации RK86-Z80.
В версии 40340 - работает. Что не так?
upd
Все познается в сравнении., не так ли?
Сравниваю с emu конечно.
Там drag-n-drop работает всегда, тут - ну я бы сказал как хочет, на каких то файлах работает, запускает их, на каких то - не запускает ( но может даже загружает?)
В РК86 - блинк, мигание, работает по разномуу. Возможно здесь правильнЕй, возможно в emu так и не исправлено за много лет. Тоже не важно )
Но в emu есть хардварная псевдографика для ВГ75. Бесплатная, хоть тоже пару косяков есть, но она есть)
Можно было бы и тут сделать, опционально, как с цветом :) Все равно ни на что не влияет.
Обе версии крашаЦЦа при выборе конфигурации RK86-Z80.
Исправлю. На самом деле нужно поправить только конфигурационный файл.
Там drag-n-drop работает всегда, тут - ну я бы сказал как хочет, на каких то файлах работает, запускает их, на каких то - не запускает
Вообще, конечно, дожно бы работать. Если есть пример файла, который не запускается, с удовольствием проверю.
Нужно только иметь в виду, что, в отличие от emu, в emu80 нужно предварительно запустить тот компьютер, для которого загружаем файл.
В РК86 - блинк, мигание, работает по разномуу. Возможно здесь правильнЕй, возможно в emu так и не исправлено за много лет.
Опять-таки, нужен пример. Вроде бы должно быть правильно.
Но в emu есть хардварная псевдографика для ВГ75. Бесплатная, хоть тоже пару косяков есть, но она есть
Ни в одном из эмулируемых компьютеров псевдографики в таком виде нет. Сделать-то можно, только зачем и что это такое будет? Эмуляция "emu"? ;)
Эмуляция "emu"?
b2m "случайно" же сделал. Не сделал бы - я бы в ФПГА не стал делать, а так-то сделал. И компутеров с ФПГА, на которых можно в т.ч. запустить и 86РК\Апогей\Микрошу\etc. в ём гораааааздо больше, чем 86РК с Z80. но это так, схоластика. (Это как и эмуули Спека, из 100500+- эмулей пара поддерживают DMA :, хотяя и их тоже можно по пальцам пересчитать:)
Опять-таки, нужен пример. Вроде бы должно быть правильно.
тут будем считать, что в emu80 правильно, а в emu - не очень)
На самом деле нужно поправить только конфигурационный файл.
на самом деле я догадался конфиг файл подкинуть предыдущий, но не взлетело :)
что, в отличие от emu, в emu80 нужно предварительно запустить тот компьютер, для которого загружаем файл.
Ну это само собой, это я давно уяснил, хотя этот момент в emu нравиЦЦа больше :)
Если есть пример файла, который не запускается
ну вообще то много не запускалось автоматом, ну вот а5 первый попавшийся, причем с псевдо попался, но в данном случАе это не важно должно быть?
Упд: блин, наверное понял, там заголовок файла видимо не очень корректный, ему на это пофиг, а ему80lvl - видимо нет :) Печалька:)) Так то у меня много таких файлов.
b2m "случайно" же сделал. Не сделал бы - я бы в ФПГА не стал делать, а так-то сделал. И компутеров с ФПГА, на которых можно в т.ч. запустить и 86РК\Апогей\Микрошу\etc. в ём гораааааздо больше, чем 86РК с Z80. но это так, схоластика. (Это как и эмуули Спека, из 100500+- эмулей пара поддерживают DMA :, хотяя и их тоже можно по пальцам пересчитать
Я немного не в теме, и, если честно, почти ничего не понял, поясни свою мысль. Я не особо вникал в особенности реализации РК и подобных в FPGA и не в курсе поддержки DMA в спектрумах.
Псевдографика ВГ75, я думаю, появилась далеко не случайно. Она описана в даташите, но требует определенной обвязки. Может быть, где-то эту обвязку и делали, но в РК и подобных ее не было. Сделать не проблема, если в этом есть какой-то смысл. Я правильно понял, что есть поддержка псевдографики в FPGA-репликах и есть какой-то софт, ее использующий? Тогда действительно вполне можно подумать о реализации и в emu80. Тем более, что это проще, чем разбираться в недокументированном поведении ВГ75 в случае отсутствия этой самой обвязки.
на самом деле я догадался конфиг файл подкинуть предыдущий, но не взлетело
В эмуляторе кое-что поменялось, так что, действительно, предыдущий конфиг не прокатит :( Вот правильный:
http://emu80.org/temp/rkz80.conf
Потом заменю в сборке и репозитории.
там заголовок файла видимо не очень корректный
Да, ерунда какая-то с этим файлом - такое ощущение, что он обрезан: длина в заголовке больше, чем фактическая длина файла, контрольная сумма в конце тоже отсутствует. Что за кривой софт делает такие файлы? Мне такие не попадались...
Что за кривой софт делает такие файлы?
ну чО сразу *кривой* :_) Ну да, софт у меня всегда кривой( как впрочем и в.о.), но тут дело даже не в самом софте, а в заголовке файла.
Он минимально-достатоШный, чтобы проверять в emu. Там то работает без проблем :)))
org 0h
begin:
db 0
db 4
db end>>8
db end&0xFF
как то так :)
Ладно, перекомпилил с блек-джеком и К.С.
Как раз можно посмотреть разниЦЦу в "мигании" внутреннего прямовугольника в обеих эмулях. b2m сказал - и так сойдет. Чай не баре.
Ну, на первый взгляд в эмуляторе именно так, как было бы на реальном РК. Некоторые подобные нестандартные и мигающие символы даже используются иногда играх (Liquid Sky и Чудовище сразу пришли в голову).
А что это за программа? Оно в Монитор вылетает по любой клавише...
Ты какую-то игру пишешь? И при этом ориентируешься не на реальный РК, а на реализации в эмуляторе и FPGA?
Чудовище сразу пришли в голову
Вот как раз Чудище я под псевдографику переделывал. Давно :) Кстати Чудовище сделано по всей видимости под Партнер, в РК86 не совсем корректно работает. Хотя файл всюду .rkr. Ну или не доделали при конверсии. Так, к слову.
Оно в Монитор вылетает по любой клавише...
Это нормально. я кроме тестов, для себя:), ничего ничего не умею.
Раз уж речь про Чудовище зашла... Это была моя оцифровка версии для Партнера. Но на Партнер она очевидно попала с РК, так как на РК чудовище выглядит красиво - "О" с рожками, а на Партнере там совсем другой символ.
Ну а потом похоже ее взял begoon для своего эмулятора РК (rk86.ru) - либо вообще без изменений, либо не адаптировав ее до конца. Видимо оттуда они и пошла как версия для РК.
А вот как она попала на Партнер сейчас уже сложно вспомнить, возможно ее и я сам адаптировал для Партнера с чего-нибудь еще лет 30 назад ;)
ну не знаю, у меня такая версия, как на скрине слева
https://s.micp.ru/a105S.jpg
Как можешь заметить, внешняя рамка ушла влево, символов на 5, а игровае поле вылезло справа, на столько же)) Играть то можно, но "..как то неаккуратненько, доктор.."
Как раз в Партнере вроде такая раскладка по экрану.
Ну и процедуру рисования рамки пришлось переделать сильнее, чем хотелось))
Ну, я про это и говорю. Это именно та версия для партнера, которую я когда-то считывал с кассеты, она так и выглядит на РК.
Только вижу, что там человечек вместо рогатого "О". Значит, память немного подводит, с "О" - это какой-то другой вариант. Может быть, при портировании на Партнер на человечка изменили...
P.S. С псевдографикой неплохо смотрится, а много еще есть чего-то кроме "Чудовища" с псевдографикой?
Неее, только мои тесты. Это же дизаммить надо игры и разбираться кажный раз, кто как рисует))
Ну зато в процессе тестирования в чудовище от души наигрался, можно рекорды было ставить :)
Ну зато в процессе тестирования в чудовище от души наигрался, можно рекорды было ставить это по типу ВАМПИРА на фокале для БК0010 (https://zx-pk.ru/threads/11298-bkbtl.html?p=648821&viewfull=1#post648821)? Где камнями задвинуть надо , а он(оно) тебя преследует?
В Вампира на БК играть не приходилось, но, судя по описанию, именно оно.
В Вампира на БК играть не приходилось, но, судя по описанию, именно оно.
Первый в жизни ХОРРОР-ЭКШЕН с элементами РПГ ) УХ! Столько эмоций и ужасно страшный ВАМПИР!!! Ссылку на игру я выше дал.
Кто-нибудь macos-сборку тестировал?
Ну почему же только другие люди? "Вектор" как раз будет. Быстро только не обещаю: свободного времени пока маловато...
68108
А Корвета нету в планах? Там же вроде всё простое и стандартное. Существующие эмуляторы недоделанные, закрытые. :(
А Корвета нету в планах?
В планах много что есть, а вот со свободным временем пока не очень :(
Вообще была мысль насчет Корвета, но в свое время рассчитывал на помощь Сергея Ерохина, который мог ответить наверное на любой вопрос по этому компьютеру. Сейчас за веткой по форума по этому компу не слежу, где-то есть хорошее описание его архитектуры? Есть ли люди, хорошо его знающие и готовые помочь?
А давайте-ка я спрошу у форумчан, какой комп вы хотите видеть следующим в эмуляторе?
Варианты, которые я в первую очередь рассматривал:
1. Орион-Про
2. Львов
3. Эрик
4. Корвет
5. Другой (ваш вариант)
Ничего не обещаю, но постараюсь учесть предложения, когда у меня дойдут руки до реализации следующей модели ;)
Либо корвет, либо львов - что проще.
Есть ещё третий вариант но скорее всего за эмуляцию агата вы браться не будете.
Варианты, которые я в первую очередь рассматривал:
1. Орион-Про
2. Львов
3. Эрик
4. Корвет
5. Другой (ваш вариант)
уточните пожалуйста список того, что уже работает в эмуляторе ? спасибо.
Проголосую за Эрик, если планируется эмуляция с торможением и поддержкой "комбинированного" видеорежима. Корвет тоже хорошо, но его точные и полные эмуляторы уже есть. А на точную эмуляцию ориона-про и львова не надеюсь, хотя их современный эмулятор с исходниками тоже был бы интересен.
уточните пожалуйста список того, что уже работает в эмуляторе
- РК-86, Апогей, Партнер, Микроша, Микро-80, ЮТ-88
- Специалист, Лик, Eureka, Специалист-MX
- Орион
- ПК-8000
- Вектор
на точную эмуляцию ориона-про и львова не надеюсь
Почему? И насколько точную?
Почему? И насколько точную?
К эрику подойдет тормоз опробованный в векторе, а для про и львова надо делать свои. И если для -про это возможно при наличии желания, то со львовом все сложно. Асинхронный доступ проца к памяти + трудность сверки с реалом, т.к. нужен заинтересованный реальщик, который еще и прицепит к своему львову что-нибудь подходящее - или таймер или прерывания.
- - - Добавлено - - -
Забыл про насколько точную. Хотелось бы точности по крайней мере в рамках только озу или только пзу. Т.е. когда команда из пзу читает озу или наоборот это можно спрямить (в первом случае без тормоза во втором с тормозом, т.е. делить по адресу команды).
В планах много что есть, а вот со свободным временем пока не очень :(
Как я вас понимаю. Смотрю на другие эмуляторы - сколько всего сделано, сколько всего ещё хочется сделать у себя.
А давайте-ка я спрошу у форумчан, какой комп вы хотите видеть следующим в эмуляторе?
Логично идти от распространённости машины, так что из этих вариантов скорее Корвет.
NEO SPECTRUMAN
02.12.2020, 19:42
Логично идти от распространённости машины,
угу
а потом куча эмуляторов распространенных машин
и полотора эмулятора не распространенных машин (да еще и под дос)
и полотора эмулятора не распространенных машин (да еще и под дос)
А вот тут поподробнее, пожалуйста :)
Люблю редкие экземпляры...
Люблю редкие экземпляры...
УКНЦ, Союз-Неон)
ещё немига - очень редкий.
кстати, nzeemin, nemigabtl - заброшен ?
ещё немига - очень редкий.
кстати, nzeemin, nemigabtl - заброшен ?
Правильнее это на странице обсуждения эмулятора спрашивать конечно.
Пока да, заброшен - нужно садиться с кем-то кто разберётся в схеме, объяснит как там прерывания работают - я не вывожу.
NEO SPECTRUMAN
04.12.2020, 00:49
А вот тут поподробнее, пожалуйста
Люблю редкие экземпляры...
заходишь на любой https://www.old-computers.com/museum/year.asp?st=1&y=1981
и не эмулируемые железки можно хоть жопой есть :)
а так в твоем случае нужно начинать пилить сам эмулятор
а не только делать что впихивать в него новые железки :)
а так из того что могу вспомнить с ходу
когда я гулялсо в altair 8800
например оказалось что его эмуляторов не так много
а потом хочешь поиграть с умным видом в killbit (в минимальной конфигурации машины)
эмулятор понимает или бинарники или 16тиричные hex в непонятно каком формате
при том имеющиеся дампы для альтаиров обычно в восьмеричной системе (чтоб проще набивать руками человекам)
0: 001 016 000 061 175 000 041 000 000 042 200 000 021 000 200 303
20: 036 000 041 000 000 032 032 032 032 011 322 025 000 311 315 022
40: 000 333 377 346 001 312 055 000 172 263 346 037 137 172 346 001
60: 312 105 000 173 346 002 302 077 000 173 346 001 302 163 000 041
100: 201 000 064 036 000 172 017 127 303 036 000 315 022 000 333 377
120: 346 200 312 135 000 172 017 017 017 263 346 037 137 172 346 200
140: 312 165 000 173 346 010 302 157 000 173 346 020 302 103 000 041
160: 200 000 064 036 000 172 007 127 303 113 000
закидываешь сделанный из pdf-а бинарник :v2_lol:
код в дебагере выполняется
но нужные светодиоды не святятсо
так понимаю у него адресная шина выведена на светодиоды
и адреса любого чтения записи на оно должно тоже отображатсо
но нифига отображается только PC
смотрим код вывод на светодиоды при помощи всяких ld a,(de)
"яркость" светодиодов в зависимости от количества 1 в еденицу времени тоже не эмулируется...
тумблеры на клавиатуру не мапятсо, всё для однокнопочных
и не есно как без нормального эмулятора
писать под оно 256 байтные мегадемы :)
- - - Добавлено - - -
вот например "pong"
https://www.youtube.com/watch?v=BZykunYYeQk
графон в 30 раза лучше чем на БК
сплошное 4К :v2_lol:
- - - Добавлено - - -
pdf-ы
https://altairclone.com/downloads/
https://www.z80cpu.eu/mirrors/www.autometer.de/unix4fun/z80pack/ftp/altair/index.html
- - - Добавлено - - -
так понимаю у него адресная шина выведена на светодиоды
по ходу так и есть
https://jpegshare.net/images/45/19/45192b909ba817196eb5d4192a7c212e.png
Вообще была мысль насчет Корвета, но в свое время рассчитывал на помощь Сергея Ерохина, который мог ответить наверное на любой вопрос по этому компьютеру. Сейчас за веткой по форума по этому компу не слежу, где-то есть хорошее описание его архитектуры? Есть ли люди, хорошо его знающие и готовые помочь?
К сожалению, с доками для Корвета не густо. Есть публикации в Радио и схемы, есть исходники эмулятора Сергея Ерохина... Есть ещё исходники js-эмулятора, группа на ВК.
Проголосую за Эрик, если планируется эмуляция с торможением и поддержкой "комбинированного" видеорежима. Корвет тоже хорошо, но его точные и полные эмуляторы уже есть. А на точную эмуляцию ориона-про и львова не надеюсь, хотя их современный эмулятор с исходниками тоже был бы интересен.
И где же "точный и полный эмулятор" Корвета? У b2m в настройках очень трудно разобраться и документации нет или хотя бы исходников вместо неё. Кроме того, там есть недоделки, например, Экспресс-паскаль оставляет артифакты на экране. У других эмуляторов также есть недоделки и им не хватает некоторых полезных фич, которые обычно у эмуляторов присутствуют.
Версия 4.0.349 от 08.03.2021:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40349.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40349_macos.zip
Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40349.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.349:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
+ Поддержка ПК-01 Львов
+ Новые режимы масштабирования экрана 4x, 5x, 2x3, 3x5 и соответствующие им пресеты, а также пресет stretch
+ Специалист-MX: добавлена возможность чтения/записи образов лент RAMFOS в виде файлов .rfs (а также .wav и .csw)
+ В справку по платформам добавлена информация по раскладкам клавиатуры. Пока только для ПК РК-86, Апогей, Партнер, Львов
* Для ПК8000 и Львова сейчас устанавливается по умолчанию режим масштабирования 2x3
- ПК8000: решена проблема с чтением РК-файлов из эмулятора РК-86
- Устранен вылет эмулятора в конфигурации РК-86 Z80
- Другие небольшие исправления
Для обеспечения устойчивого считывания wav-файлов RAMFOS пришлось немного пропатчить BIOS.
На записанных из эмулятора же файлах процедура чтения заголовка не отрабатывала из-за очень жесткого требования к длительности периода.
Если кто-нибудь может записать образец файла на реале, попробую подробнее изучить этот вопрос.
Особенности эмуляции ПК Львов:
- На данный момент поддерживается базовая конфигурация, без дополнительно подключаемых устройств.
- Скорость работы насколько возможно приближена к реальной, максимальная разница на реальных программах обычно в пределах 1-3 %.
- Встроенный загрузчик позволяет загружать двоичные файлы и токенизированные файлы Бейсика в форматах lvt (в том числе с оверлеями - lv0, lv1 и т.д.), а также файлов образов состояния sav.
Кроме того, поддерживается загрузка файлов в стандарте MSX cas, в том числе мультиблочная (в этом случае основная программа с оверлеями располагается в единственном cas-файле).
- Путем перехватов обращений к магнитофону также поддерживаются чтение и запись lvt/cas-файлов, в том числе с оверлеями (запись оверлеев работает, но я не знаю софта, который бы это использовал ;)
Как обычно, работают также чтение и запись wav и csw-файлов.
- Ввиду невозможности обеспечить реальные тайминги и привязку к ходу луча, эмуляция хода луча ЭЛТ пока не реализована.
Спасибо Владимиру Калашникову (Hard Wisdom) за консультирование и DDp за тесты на реальном ПК.
doorsfan
09.03.2021, 00:31
Подарок на 8 марта :) Спасибо, порадовал!!!
мне, чтобы собрать под убунтой, понадобилось доставить зависимости (строчка с стэковерфлоу).
sudo apt-get install qtmultimedia5-dev libqt5multimediawidgets5 libqt5multimedia5-plugins libqt5multimedia5
Выявились проблемы со сборкой под MacOS - перезалил.
В эмуляторе "Львова" некоторые бинарные файлы некорректно загружаются встроенным загрузчиком.
Постараюсь исправить, а пока, если какая-то программа не грузится из меню, можно загрузить через BLOAD"",R.
Версия 4.0.350 от 13.03.2021:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40350.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40350_macos.zip
Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40350.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.350:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
- Львов: Исправлены проблемы с загрузкой некоторых файлов встроенным загрузчиком
- Qt: Не работал режим растягивания в окне отладчика (Alt-9)
* Львов: Исправлены некоторые проблемы с клавиатурой: не работали клавиши Home и СУ (Crtl),
не работало управление в mines.lvt, исправлены неточности раскладки в справке
* Львов: Полная поддержка smart-режима клавиатуры.
Сейчас нет необходимости в переключении языка с помощью клавиш РУС/ЛАТ, язык переключается средствами системы
* Qt: Добавлена горячая клавиша для вызова справки по платформе (Alt-F1)
* Небольшие косметические изменения
Некоторые полезные советы для тех, кто раньше не пользовался Emu80 и не только:
- Для ускорения работы эмулятора служит клавиша Del. Может быть полезно для быстрого пропуска долго выполняющихся операций, например заставки при старте "Львова".
- В настройках можно включить автоматические ускорение работы эмулятора при загрузке wav-файлов.
- Горячие клавиши Alt-1,2,3,9,0 для управления размером окна работают также и в окне отладчика.
- Если у вас есть проблемы с запуском эмулятора в режиме OpenGL, установленном по умолчанию, можете попробовать запустить его в режиме DirectX, задав параметр командной строки:
"Emu80qt.exe -angle", можно также воспользоваться готовым cmd-файлом emu80qt-dx.cmd
- Настройки portable qt-версии эмулятора хранятся в папке _settings, расположенной там же, где и основной исполняемый файл.
Если папку _settings удалить, настройки будут храниться в профиле пользователя.
- Быстро запустить программу с помощью встроенного загрузчика можно, просто перетащив файл программы в окно эмулятора.
В эмуляторе при этом должен быть запущен тот ПК, для которого предназначается программа.
На "Львове" сейчас вроде бы работает практически все, что пробовал запустить. Если и есть к с чем-то проблемы, то они наблюдаются и в других эмуляторах, надо сравнивать с реалом...
спасибо что не забрасываете сей замечательный эмулятор.
эмуляцию ещё каких-нибудь сов.компьютеров не планируете добавлять ?
например корвет.
- - - Добавлено - - -
ещё одно замечание.
в новой версии что-то сломалось в эмуляции вектора 06ц.
пример:
загружаю диск с игрой t-rex-05.fdd
всё загружается но дальше интры не идёт.
банально не работают клавиши стрелки верх и низ для прокрутки текста в интро, нажатие space и enter тоже никчему не приводят.
проверил на 4.0341 версии всё работает.
ZEman, да, новые компы планирую, Корвет рассматриваю как один из вариантов.
По срокам ничего не обещаю - пока ничего нового не начинал и раньше апреля вряд ли возьмусь.
Спасибо за информацию по Вектору - проверю и постараюсь починить.
liberation
14.03.2021, 00:13
- Встроенный загрузчик позволяет загружать двоичные файлы и токенизированные файлы Бейсика в форматах lvt (в том числе с оверлеями - lv0, lv1 и т.д.), а также файлов образов состояния sav.
Спасибо за качественную эмуляцию ПК-01 "Львов", но должен заметить, что загрузка оверлеев в версии 4.0.350 не работает (пробовал загружать двоичные файлы). Да и BLOAD"",R не подает признаков жизни. И все это происходит с qt-версией под Kubuntu 20.04.
Из пожеланий хотелось бы увидеть эмуляцию вывода на ч/б телевизор, для аутентичности, так сказать.
liberation, по симптомам похоже на то, что почему-то отключился перехват магнитофонных операций (кнопка с магнитофонной кассетой на панели инструментов, должна быть нажата).
Можно еще попробовать полностью сбросить настройки, если дело не в этом.
Насчет ч/б телевизора принято, подумаю.
- - - Добавлено - - -
ZEman, нашел причину проблемы на Векторе, постараюсь в ближайшее время сделать новую сборку.
Спасибо за багрепорт!
Багфикс-релиз, исправил проблему с T.Rex на Векторе и еще кое-что по мелочи
Версия 4.0.351 от 14.03.2021:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40351.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40351_macos.zip
Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40351.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.351:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
- Исправления в эмуляции ВВ55: не работало управление в игре T.Rex на Векторе
* Небольшие уточнения в скорости работы ПК "Львов"
* В настройки ПК "Львов" добавлена опция "Мультиблочная загрузка", актуальная для этого ПК
Пожелание - добавить для (хотя бы некоторых) компьютеров с цветом кнопку переключения в режим ч/б ТВ, т.е. в оттенки серого.
ivagor, принято.
Правда, остается вопрос, как формировать серое изображение? Используя классические коэффициенты, просто усреднением или вообще по-разному в зависимости от модели? Я как-то не интересовался этой темой, как было организовано подключение разных ПК к ч/б телевизорам?
Используя классические коэффициенты, просто усреднением или вообще по-разному в зависимости от модели?
Да, проблема с несколько разным формированием оттенков серого есть. Для простоты наверно лучше начать с классических коэффициентов и ограничиться максимум 16 цветами (для 06Ц вопрос с оттенками серого поднимался, но не был окончательно решен).
Используя классические коэффициенты, просто усреднением или вообще по-разному в зависимости от модели?
Если в модели есть штатный Ч/Б выход, реализовывать в первую очередь его и можно добавить омонохромленный цветной.
Львов имеет Ч/Б выход, палитра не влияет на него (резисторы R27, R28) ссылка на картинку (http://realddp.narod.ru/lvov/smpltst/index.htm).
Корвет имеет имеет Ч/Б выход со своими коэффициентами - тема (https://zx-pk.ru/threads/23540-korvet-emulyatsiya-cherno-belogo-rezhima.html).
Ага, очень интересно по поводу ч/б-выхода Львова, информация по Корвету пригодится на будущее, а вот интересно - как с этим обстоят дела в ПК-8000?
...как с этим обстоят дела в ПК-8000?
:v2_dizzy_facepalm: по традиции, все перепутано :mad:
ПК8000 "Сура" цветной выход через "ТВ-адаптер"
https://pic.maxiol.com/images2/1617545348.1546116487.suratvadaper.png
ПК8000 "Сура" монохромный выход
https://pic.maxiol.com/images2/1617545455.1546116487.suramonochrom.png
Думаю, на ПК-8000 можно сделать в эмуляторе вторую шкалу (0-8-1-9 и т д. ) равномерной? Или стоит учесть неравномерность сдвига между 0-8, 1-9 и т.д.?
по традиции, все перепутано
...и узаконено в руководстве по эксплуатации (здесь должна быть картинка)
https://pic.maxiol.com/images2/1617639180.1546116792.suragray.png
...равномерной? Или стоит учесть неравномерность сдвига между 0-8, 1-9 и т.д.?
По схеме сигналы проходят инвертор с отрытым коллектором (D12 ЛН2) и сигнал "повышенная яркость" имеет влияние на ненулевые компоненты. Так, что полагаю, ярко-чёрного быть не должно. 0 и 8 - чёрные.
Так, что полагаю, ярко-чёрного быть не должно. 0 и 8 - чёрные.
И тем не менее, если поиграться с уровнями, видно, что 8 чуть светлее, чем 0. Буквально на 1 из 256 уровней. Наверное, можно пренебречь.
Думаю, для 8-15 можно сделать интервал 32, а для 0-7 - 30. Получится такая шкала:
0-30-60-90-120-150-180-210-240-0-32-64-96-128-160-192-224-255
- - - Добавлено - - -
А у Вектора черно-белый выход есть, кто подскажет?
Что-то не нашел, где это обсуждалось...
А у Вектора черно-белый выход есть, кто подскажет?
Что-то не нашел, где это обсуждалось...
Обсуждалось в этой теме (https://zx-pk.ru/threads/19774-vektor-06ts-emulyatsiya-tsvetovoj-palitry.html), ближе к концу, но толку мало. Полученный промежуточный результат сомнительный и на реале толком не проверялся, еще и на .02 другие яркости.
Желательно доработать делание скриншотов в режиме со смешиванием кадров, по крайней мере для вектора. Можно конечно делать принтскрин, но хорошо бы и штатный вариант улучшить.
ivagor, принято, посмотрю, в чем дело. Даже не знал об этой проблеме, если честно, спасибо за багрепорт!
Если что, в SDL/wx-версии все работает без проблем.
Попробовал SDL/wx версию, но там "Смешивание полукадров" только "Выкл" и "Имитация линий растра", а "Смешивать" нет.
- - - Добавлено - - -
Не написал, что конкретно не нравится в скриншотах в режиме со смешиванием кадров. Хочется, чтобы скриншот был аналогичен тому, что показывает экран эмулятора, а сейчас в скриншоте вроде бы преобладает один из сменяющихся кадров.
ivagor, вот и еще один баг всплыл - отсутствие настройки в SDL/wx-версии.
Можно заменить блок в vector_wx.inc:
#window.fieldsMixing
ConfigRadioSelector mixSelector = &window, fieldsMixing, "Смешивание полукадров"
mixSelector.addItem = none, "Выкл."
mixSelector.addItem = mix, "Вкл."
mixSelector.addItem = interlace, "Чередование"
mixSelector.addItem = scanline, "Имитация линий растра"
configTab.addControl = 1, &mixSelector
и настройка появится.
Насчет картинки - я увидел, что что-то не то, возможно дело именно в непропорциональном смешивании. Посмотреть код смогу позже.
Кстати, на каком софте можно этот режим потестировать именно на Векторе?
и настройка появится.
Настройка появилась и скриншот действительно с правильными цветами. Но возник еще вопрос - можно ли сделать так, чтобы размер скриншота совпадал с текущим размером экрана эмулятора?
на каком софте можно этот режим потестировать именно на Векторе?
Буквально пара примеров: 1 (https://zx-pk.ru/threads/20688-256-tsvetnyj-graficheskij-rezhim-na-vektore-06ts.html?p=830223&viewfull=1#post830223), 2 (https://zx-pk.ru/threads/33043-jpeg-8080.html?p=1112276&viewfull=1#post1112276).
можно ли сделать так, чтобы размер скриншота совпадал с текущим размером экрана эмулятора
В Qt-версии именно такое поведение, осталось исправить наложение.
А в SDL так сделать быстро не получится, увы :(
ivagor, http://emu80.org/v4beta/Emu80qt_40353_test.zip
Вообще, там картинка как в окне, так и на скриншоте отрисовывается одним и тем же кодом, так что проблема, похоже, где-то внутри Qt :(
По ссылке выше быстрый хак, а вообще придется позже повозиться - посмотреть, как ведет себя Qt в разных условиях и найти какое-то универсальное решение...
В общем, Qt тут все-таки ни при чем, а причина во внешнем по отношению к общему коду факторе. Можно пока взять exe с быстрым хаком по ссылке выше, в репозитории поправлю позже.
1. По поводу размера экрана. Для определенности уберем бордюр (Alt+V). 1x - Alt+1. И теперь доступны два варианта переключаемые по Alr+R: 512x256 и 314x256. Хотелось бы иметь возможность как-то включить и 256x256.
2. Предложение на подумать - ввести настройку/регулировку смешивания, от полного отсутствия до текущего. Т.е. от сильного моргания к его отсутствию с промежуточными остановками (или хотя бы одной остановкой). Хорошо, когда совсем нет моргания, но цвета слишком приглушенные, хотелось бы попробовать компромисс.
Для определенности уберем бордюр (Alt+V). 1x - Alt+1. И теперь доступны два варианта переключаемые по Alr+R: 512x256 и 314x256. Хотелось бы иметь возможность как-то включить и 256x256.
Возможность такая есть, хотя, может быть, и не очень удобно это. Идем в настройки - Окно - Оригинальное соотношение сторон - Формат экрана - Пользовательский, Пользовательский формат - 1.085
Теперь Alt-R будет переключать между 256×256 и 256×512. Да, 256×314 пропадает :(
Насчет частичного смешивания подумаю. На первый взгляд вроде бы несложно сделать, но нужно пробовать. Буду исправлять скриншоты - заодно попробую. Если получится, сделаю тестовую сборку.
- - - Добавлено - - -
Либо, если 256×256 нужно нечасто, можно выставить в настройках фиксированный размер окна 256×256, растянуть во все окно. Быстро выйти из режима с помощью того же Alt-1, а если понадобится 256×256, опять придется идти в настройки и менять 2 параметра.
ivagor, версия с 50-процентным смешиванием:
http://emu80.org/v4beta/Emu80qt_40353_test2.zip
Пока без регулировки, просто потестировать. Может быть потом соответствующую настройку прикручу.
P.S.
А Qt все-таки при некоторых условиях ведет себя непредсказуемо, пришлось смешивание немного переделать...
Pyk, на что обратить внимание в test2? На первый взгляд очень похоже на предыдущую версию.
ivagor, сорри, по ошибке выложил не тот файл :(
Исправил, правильный файл по той же ссылке:
http://emu80.org/v4beta/Emu80qt_40353_test2.zip
В test2 мало, надо сильнее смешивать.
ivagor, это был вариант с соотношением полукадров 75% : 25% (3:1)
Сделал еще несколько сборок - 67:33, 60:40, 55:45
http://emu80.org/v4beta/Emu80qt_40353_test3.7z
Сделать полноценную настройку пока нет времени, но если нужно попробовать какой-нибудь промежуточный вариант - соберу.
Pyk, спасибо за тестовые сборки, в итоге мое предложение скорее стоит признать неудачным. Проблема не в факте мерцания, а в том, что оно неравномерное. Похоже эти "биения" связаны с несовпадением частот развертки вектора и монитора, для полного прояснения надо бы попробовать и на мониторе установить 50 Гц, но это скорее всего не сейчас, и даже если это поможет, то переключать монитор на 50 Гц мало кому понравится.
ivagor, да, дело в этом. Посмотри для сравнения на заставку Lines на Апогее - она в режиме 60 Гц работает, выглядит лучше на 60-Гц мониторе, хотя и подмаргивает из-за неполного совпадения частоты.
Есть мысль посмотреть в сторону G-Sync/FreeSync на современных мониторах, чтобы попробовать привязать кадровую частоту монитора к частоте кадров эмулируемого компьютера. Но, честно говоря, пока толком не изучал эту тему и не уверен, получится ли...
У меня xsyncов нет ни в мониторе ни в видео, но потенциально это очень интересная и полезная штука. Оказывается mame и некоторые амижные эмуляторы ее поддерживают.
ivagor, у меня тоже нет, но попробовал сделать изменения в эмуляторе и запустить готовую сборку на компе с поддержкой xsync - первый результат обнадеживающий. По крайней мере в SDL-версии включилась адаптивная частота, и все даже неплохо выглядело, хотя и были проблемы с таймингами (в общем-то я и не ожидал, что сразу все заработает). Надо будет доводить до ума, есть ощущение, что буквально через несколько лет уже эта технология будет доступна уже и на офисных компьютерах - поддержка появляется уже и на встроенной графике, да и мониторы не отстают...
Независимо от наличия у меня в данный момент я однозначно за поддержку syncов в эмуляторах.
Версия 4.0.357 от 27.04.2021:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40357.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40357_macos.zip
Portable SWL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40357.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.357:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
+ Новый режим экрана и соответствующий пресет - 4x6 (Alt-8)
+ Эмуляция ч/б выхода для ПК "Львов", "Вектор", "ПК8000"
+ Новая функция копирования текстового экрана в буфер обмена (Alt-Shift-Ins). Доступна на ПК с текстовым экраном: "РК-86", "Апогее", "Партнере", "Микроше", "Микро-80", "ЮТ-88"
+ Выделение основных платформ в списке выбора по Alt-F9
* Новые уровни громкости 6 и 7. Рекомендуется по-прежнему не более 5, он же сейчас устанавливается по умолчанию
* Для сборки эмулятора сейчас требуется gcc версии не ниже 5.1
* wx/SDL-сборка под Windows сейчас использует wxWidgets 3.1.5 и SDL 2.0.12
* Добавлена иконка для файлов .lvt
* "Львов": улучшена точность скорости эмуляции
- "Львов": исправления в распределении адресного пространства
- "Львов": исправления в эмуляции встроенного динамика
- Исправлено переключение в полноэкранный режим в режимах с неквадратной точкой - 2x3, 3x5, 4x6
- SDL/wx: в настройки добавлены отсутствующие опции смешивания полукадров для "ПК8000" и "Вектора"
- Qt: исправлена функция снятия скриншотов в режиме смешивания полукадров
- Исправлен скрипт для настройки ассоциаций файлов с эмулятором под Windows
- Убрано предупреждение при запуске wx/SDL-версии эмулятора, собранной с wxWidgets версии 3.1.3 и выше
- Исправлена небольшая неточность палитры на ПК "Вектор"
- Прочие мелкие исправления
! Не загружаются с автозапуском некоторые файлы для "Ориона", приходится их загружать без автозапуска и запускать явно
Комментарии:
- Функция копирования текстового экрана использует символы unicode для многих символов знакогенератора эмулируемых компьютеров.
Для корректного отображения псевдографики желательно использовать моноширинный шрифт с возможно полным набором символов.
Хороший выбор - DejaVu Sans Mono
- В списке выбора платформ выделил жирным основные платформы - те, которые запускаются при открытии ассоциированных с эмулятором файлов, которые
с большой вероятностью подойдут для запуска скачанных программ. Думаю, поможет сориентироваться новичкам, не знакомым с разнообразными доработками.
- Уровень громкости по умолчанию установил в 5 вместо 4. Также добавлены уровни 6 и 7, однако в уровне 6 на выходе присутствует постоянная составляющая
даже когда звук отсутствует, что может привести к щелчкам при запуске/выходе и другим нежелательным эффектам. Для уровня 7, кроме того, возможна
перегрузка и искажения в случае одновременного звучания большого количества источников звука (более 4). Но если приведенные выше замечания вас не пугают -
можете пользоваться! :)
- Так как многие любители старых ПК до сих пор и сами используют старые ОС, я стараюсь сохранить возможность запуска эмулятора под Windows XP.
Однако, поскольку для wx/SDL-сборки начиная с этой версии используются более новые версии библиотек, неплохо бы получше ее потестировать, особенно под
устаревшими на сегодняшний день Windows XP и 7.
Эмуляция ч/б выхода для "ПК8000"
Похоже, что перепутаны местами значения для 7 и 14 индексов (c_pk8000BwPalette)
В списке выбора платформ выделил жирным основные платформы
Для wx/SDL-сборки под XP нет выделения.
Похоже, что перепутаны местами значения для 7 и 14 индексов (c_pk8000BwPalette)
Нет, там вся шкала неправильная, не как было задумано :( Ухитрился сломать уже после тестирования...
Сделаю тестовую сборку попозже.
Для wx/SDL-сборки под XP нет выделения
Да, забыл отметить, выделение только в Qt-версии. wxWidgets не поддерживает разные шрифты для разных элементов списка. Извернуться как-нибудь и выйти из положения, конечно, всегда можно, но я решил пока оставить как есть.
DDp, исправленная версия (exe для Qt и SDL-сборок):
http://emu80.org/v4beta/Emu80x_40359_test.7z
А вот какая палитра получилась в итоге:
const uint32_t c_pk8000BwPalette[16] = {
0x000000, 0x222222, 0x444444, 0x656565,
0x878787, 0xA9A9A9, 0xCBCBCB, 0xEDEDED,
0x000000, 0x242424, 0x494949, 0x6D6D6D,
0x929292, 0xB6B6B6, 0xDBDBDB, 0xFFFFFF
};
Возможно, я немного разочарую тех, кто ждал новую версию, но в этот раз я решил вместо выпуска новой сборки эмулятора, обновить, наконец, сайт :) Так что встречайте новую версию сайта: https://emu80.org
Из важного: сделал раздел с файловым архивом, где буду размещать всякое-разное, имеющее отношение к эмулятору и поддерживаемым компьютерам. Много всего уже добавил, но и многое еще ждет своей очереди — буду пополнять. Принцип отбора материалов — то, что кажется важным или интересным лично мне ;) Все выложенные файлы были в открытом доступе, но если вдруг выложил что-то, что выкладывать не следовало — без проблем уберу либо актуализирую...
Ну и всегда рад замечаниям и предложениям :)
Pyk, желательно сделать еще конфиг вектора с альтернативным квазидиском ERAM (http://www.sensi.org/scalar/ware/670/).
- - - Добавлено - - -
Сейчас ERAM поддерживается только в emu (b2m), конфиг Vector06c-coman.cfg. Другие comanовские фичи (их вариант КНГМД, альтернативный загрузчик) меня не особо интересуют, а вот ERAM хорошая штука.
ivagor, пока о ERAM я ничего не знаю, посмотрю.
Где-нибудь есть примеры программ, его использующих?
В описании упоминается использование некоего Монитора тестов для тестирования, что это?
Где-нибудь есть примеры программ, его использующих?
Тут засада, досы и программы под досы, требующие их вариант КНГМД. Надо будет написать тест для голого вектора+ERAM.
В описании упоминается использование некоего Монитора тестов для тестирования, что это?
Это тест устройств (http://www.sensi.org/scalar/ware/621/), после заставки он напишет "монитор тестов". Уникальные фичи ERAM он не проверяет, они предлагали проверять принципиальную работоспособность в рамках возможностей стандартного кваза.
ivagor, если набросаешь тест, это ускорит процесс. Но реально не уверен, что раньше след. недели найду время заняться.
Я так понимаю, что ERAM несовместим с RTC, так как оба используют один и тот же порт 20h? Просто RTC был уже в планах...
Я так понимаю, что ERAM несовместим с RTC, так как оба используют один и тот же порт 20h? Просто RTC был уже в планах...
Да, несовместим, но если делать отдельный конфиг с ERAM, то это не проблема.
В общем с меня тест, возможно я с ним затяну, но тут сам себе злобный буратино.
Sancho45
14.06.2021, 20:06
да, новые компы планирую, Корвет рассматриваю как один из вариантов.
Ожидается в ближайшее время ?
Занимаюсь этой машиной, а так же ее модернизацией. Мог бы протестировать....
Sancho45, не совсем в ближайшее, раньше августа-сентября начать вряд ли получится, хотя документацию по компу уже немного полистал...
А за предложение потестировать спасибо! Но это наверное все-таки осенью, даже если и начну раньше...
Переделал написанный ранее тест обычного кваза в тест eram (https://disk.yandex.ru/d/r4UuKO8C7u-iAA). Тестируется только часть режимов. Доступ стеком не отличается от обычного кваза, его не трогал. Из режимов доступа "адресностью" тестируются варианты порта 20h: 00XXX000; 00XXX001; 00XXX010; 00XXX011 (первые три в er80FF, последний - в er007F). Не тестируется режим полной подмены озу (00XXX1XX), тест для него не так просто сделать, а реализовать этот режим в эмуляторе на первый взгляд довольно просто, надеюсь тест тут не понадобится.
Эталонные резульаты из emu (конфиг Vector06c-coman.cfg):
7561075611
По умолчанию в emu eram 768 Кб, поэтому на картинках плюсы только в 3/8 строк.
Исходники приложил, надеюсь там все понятно, плюсы показывают доступность для обращения соответствующей области (в комментариях указаны конкретные адреса).
Некоторое количество изменений накопилось, пора, пожалуй, сделать новый релиз.
Версия 4.0.362 от 24.06.2021:
https://emu80.org/news/v40362
Сайт эмулятора: https://emu80.org
Загрузить:
Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40362.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40362_macos.zip
Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40362.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.362:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
+ Опция быстрого сброса, горячая клавиша для включения/выключения - Alt-U. Доступна на ПК Львов, Орион, Микро-80 (с монитором РК-86).
* Оригинальный ч/б видеорежим с пунктирным подчеркиванием на РК-86 (добавлен) и Микроше (исправлен)
* MacOS: клавиша Control сейчас работает как УС (СС), не дублирует Alt (Option)
* Добавлены ассоциации расширений .cas, .rom и .lvt с платформами «ПК8000», «Вектор» и «Львов» при запуске из командной строки
* SDL/wx: горячая клавиша для максимизации окна изменена с Alt-M на Alt-Shift-M, на Alt-M назначено отключение звука, как и в Qt-версии
* Новая горячая клавиша Alt-T для включения/отключения перехвата магнитофонных операций
* В справку по «ПК8000» и «Вектор» добавлены схемы раскладки клавиатуры
* Добавлены всплывающие подсказки к элементам строки состояния
- Исправления в ч/б палитре ПК8000
- Исправлена работа клавиш «начало строки» (NumPad «1») и «конец строки» (NumPad «3») на ПК8000
- Исправлено отображение текущей платформы в заголовке окна эмулятора для некоторых конфигураций Радио-86РК
Возможно, в течение лета сделаю еще один релиз, но серьезные доработки останутся до осени.
ivagor, увы, ERAM в релиз пока не вошел, постараюсь сделать отдельную сборку в рабочем порядке...
Вот бы "ПК-11/16 Союз-Неон" эмулировать...
Manwe, увы, до эмуляции PDP-совместимых машин я пока не добрался, да и вообще никогда с ними не приходилось сталкиваться :(
ivagor, сорри, затянул немного с ERAM :( Вчера появилось немного времени, вернулся к этому вопросу.
У меня сейчас для квазидиска реализована схема Баркаря. На первый взгляд, она несовместима с ERAM, по крайней мере, непонятно, что должно происходить при различных комбинациях битов 6 и 7 при установленном бите 5 порта 10, похоже, что обеспечить совместимость при этом невозможно?
Универсальный конфиг (Баркарь+ERAM) невозможен, но в нем и нет необходимости. Если будет "базовый" конфиг (Баркарь + возможно в дальнейшем RTC) и отдельно конфиг с ERAM (а возможно когда-нибудь в отдаленном будущем и с comanовским контроллером fdd) это будет вполне достаточно и хорошо.
ivagor, понял, постараюсь на днях сделать.
Ещё, если будет возможность, добавьте пожалуйста эмуляцию Aleste.
Кстати у меня Avira ругается на эмулятор Emu80qt.exe, пишет "...обнаружена...."TR/Crypt.XPACK.Gen2".
yur, а смысл делать эмуляцию компьютера у которого нет своего софта ?
вон тема про иришу, тухнет давно на форуме никому не нужная.
yur, а смысл делать эмуляцию компьютера у которого нет своего софта ?
вон тема про иришу, тухнет давно на форуме никому не нужная.
Не могу понять сравнения alestы и ириши в данном контексте, разве у ириши много своего софта по сравнению с алестой?
А вобще трудоемкость реализации алесты в эмуляторе довольно значительная, есть много советских ретрокомпов, которые можно реализовать с меньшими (или даже гораздо меньшими) затратами времени и сил.
yur, а смысл делать эмуляцию компьютера у которого нет своего софта ?
вон тема про иришу, тухнет давно на форуме никому не нужная.
Ты когда нибудь пробовал им пользоваться?
Знаешь какие режимы есть?
Какие возможности?
Какие образы способен читать?
Ириша это клон спека, и кому то он тоже интересен - на вкус и цвет фломастеры разные
Ириша это клон спека, и кому то он тоже интересен - на вкус и цвет фломастеры разные
каким боком "ириша" клон спека? там от спека нет вроде ничего и никакой совместимости и близко нет
вон тема про иришу, тухнет давно на форуме никому не нужная
а у них свой форум есть. Там они из "Ириши" мастерят монстра с шиной multibus, правда почему просто не воспроизвести оригинальную Intel-овскую микросистему ( в которой до 12 CPU 8080 одновременно работали на локальных и разделяемых ресурсах) и к ней иришевский графический монитор не добавить?
- - - Добавлено - - -
смысл делать эмуляцию компьютера у которого нет своего софта ?
а откуда софт возьмется, если даже эмуляции нет?
Эмуляция есть, смотрите эмуль emu от b2m.
А с алестой я сталкивался в 90ых, она у нас какое-то время продавалась.
Клон мсх с примесью амстрда ничего особенного.
Клон мсх с примесью амстрда
Клон amstrad cpc + msx dos и немного адаптированных с msx игрушек.
Там игр и софта было всего-ничего.
Где-то около года стояло сиё чудо на прилавке в торговом центре и потом исчезло никому не нужное.
Тебе мож и не нужно - другим нужно
Не надо за всех отвечать.
На эту платформу можно адаптировать множество программ и демок,
У него неплохой звук и графика
Aleste, конечно, интересный комп, но боюсь, что пока у меня нет в планах его поддержки в эмуляторе :(
Aleste, конечно, интересный комп, но боюсь, что пока у меня нет в планах его поддержки в эмуляторе :(
Ну всё равно надеемся
yur, все может быть со временем, ни от чего категорически не отказываюсь ;)
ivagor, тестовая сборка с поддержкой ERAM (https://emu80.org//v4beta/Emu80qt_40363_test.7z), как обычно заменить файлы в последней версии (4.0.362).
Для отключения ERAM и переключения обратно в режим Баркаря нужно закомментировать строчку "define ERAM" в начале vector.conf
Вроде бы должно правильно работать, но немного смущает то, что после добавления более 100 строк кода все собралось с первой попытки и сразу прошел тест - так не бывает ;)
Pyk, спасибо! На первый взгляд работает и аж все 2 Мб. Можно вынести задание размера в конфиг?
Озвучу еще одну свою хотелку сильно более простую, чем aleste. Специалист SP580 (https://zx-pk.ru/threads/31727-monitor-sp-580-(g-barnaul).html). В emu все работает, но b2m не особо заботится о качестве ШИМа (звук), в emu80 с этим получше, а в SP580 таймер в почти уникальной для советских ретрокомпов конфигурации удобной для ШИМ.
ivagor, размер можно изменить в этой строке в конфиге:
Ram ramDisk = 0x200000
(вместо 0x200000 указать нужный размер)
Что же касается SP-580, то я даже с удовольствием, но с ним ситуация такая: я в свое время, когда реализовывал Специалист, не смог найти толкового описания SP580. Вот и сейчас поискал немного - на сайте http://www.spetsialist-mx.ru/index6.html нашел схемы доработок, прошивку и конфиг для emu. А разбираться по схеме, что же там сделано - дело неблагодарное. Где бы описание доработок взять? Кроме того, в схемах нет таймера, так что точная схема подключения опять-таки для меня непонятна. Допускаю, конечно, что информация вся есть в разрозненном виде где-то на форуме... В общем, если кто-то поможет понять, что же из себя представляет SP580, постараюсь сделать.
Кстати, подобная же ситуация была с расширениями Z80 Card для "Ориона" (может быть частично и с Орион-Про тоже, точно не помню) - того, что мне попалось по ним, было недостаточно для полноценной эмуляции, многие старые ссылки были недоступны...
Где бы описание доработок взять? Кроме того, в схемах нет таймера, так что точная схема подключения опять-таки для меня непонятна.
Возможно я что-то недопонимаю, но две главные вещи - дешифратор и таймер есть на shema_1.jpg и shema_2.jpg (или все вместе на sp580.png). Сделанный по этой схеме в конфиге emu таймерный звук в игрушках для SP580 вполне звучит.
ivagor, да, сорри, поторопился, все увидел.
Схема таймера на первый взгляд похожа на схему в РК-86. Она? Тогда конфиг для emu в части таймера там неправильный.
На второй ВВ55 никакие ром-диски не вешали, чисто принтер?
И что за схемы магнитофонных входа/выхода? Хотя для эмуляции, думаю, несущественно...
Про схему таймера для РК86 я не знаю, а какой конфиг неправильный, вот этот (https://zx-pk.ru/threads/31727-monitor-sp-580-(g-barnaul).html?p=1064003&viewfull=1#post1064003)? Что там не так?
ivagor, этот, судя по всему, правильный :) Тот, который на сайте fifan - нет.
Да, схема такая же, как на РК, что упрощает дело - на РК она уже реализована.
- - - Updated - - -
Возможно получится ограничиться даже правкой конфига для emu80, не трогая сам эмулятор.
Попробую, но не уверен, что прямо сегодня.
Да, кстати, на Специалисте-MX такая же схема подключения таймера.
Насколько я помню, там немного отличается, чуть более гибко, но нет программ, которые бы это использовали. И в emu звук таймера в конфиге MX сделан не совсем по схеме, а как для SP580.
ivagor, спасибо, что обратил внимание!
Действительно, есть минимальные различия: на РК и SP580 out1 подается на gate0, а на Специалисте-MX управляет прохождением звука с out0. То есть с точки зрения вывода звука схемы работают идентично, но при отключенном счетчиком 1 звуке счетчик 0 на Специалисте-MX продолжает считать, а на РК и SP580 - нет. И да, у меня на Специалисте-MX тоже сделано неправильно...
с точки зрения вывода звука схемы работают идентично
Все относительно, на SP580 можно играть только через 0й канала, а на MX через 0й или теоретически через 2й. И не очень понимаю, зачем еще бит с ВВ55, еще один способ запрета/разрешения?
а на MX через 0й или теоретически через 2й
Кстати, да.
И не очень понимаю, зачем еще бит с ВВ55, еще один способ запрета/разрешения?
Возможно, похоже на то. Надо бы у знающих людей уточнить, да и вообще вернуться как-нибудь к вопросу эмуляции таймера в Специалисте-MX...
А пока к нашим баранам: я набросал вроде бы конфиг для SP580, оно вроде бы даже запустилось, а как им пользоваться-то? Описания директив есть где-то? Надо бы как минимум загрузку файлов протестировать...
Загрузка файлов без имени (https://zx-pk.ru/threads/31727-monitor-sp-580-(g-barnaul).html?p=1063708&viewfull=1#post1063708), если с именем, то просто I.
Набросал конфиг. Загрузка в формате без имени вроде бы работает, wav тоже грузятся.
Что же касается формата с именем, то, похоже, он на sp580 какой-то экзотический, не совместим с обычным Специалистом, да и реализован не совсем обычно. В общем, оставлю его на потом, некогда пока с ним разбираться...
Что же касается формата с именем, то, похоже, он на sp580 какой-то экзотический, не совместим с обычным Специалистом, да и реализован не совсем обычно.
Главное, что из wav грузит такие файлы, а не в wav их для sp580 вроде и нет в готовом виде.
- - - Добавлено - - -
Мне кажется, что пока со звуком таймера все же что-то не то, больше верю тому, как он звучит в emu (на примере шахмат kais).
Serg6845
23.07.2021, 08:52
Все относительно, на SP580 можно играть только через 0й канала, а на MX через 0й или теоретически через 2й. И не очень понимаю, зачем еще бит с ВВ55, еще один способ запрета/разрешения?
D44/12? так это штатный звук в Специалисте. хотя в виде побочного эффекта - да, выставиви его в единицу - можно полностью заткнуть весь звук (правда при этом в штатной схеме будет постоянно переть ток через динамик, что не есть хорошо)
D44/12? так это штатный звук в Специалисте.
D8/4, это точно не штатный звук Специалиста.
Мне кажется, что пока со звуком таймера все же что-то не то
А так? (Неправильно была выставлена тактовая частота таймера)
Hint: перед тем, как поменять файлы после предыдущей версии sp580, нужно временно переключиться на другой тип компьютера, иначе эмулятор не запустится, придется сбрасывать настройки.
А так?
То, что надо, спасибо!
Pyk, правильно понимаю, что у таймера реализованы только режимы 0 и 3?
ivagor, да. Что-то я забыл про это, остальные так и остались нереализованными, как и BSD-режим.
А какой еще режим в первую очередь нужен?
Нужны аж сразу два режима - 1 и 2. BCD мне совсем не нужен.
ivagor, на первый взгляд, реализовать несложно, но боюсь, что в связи с предстоящим отъездом доберусь сделать только в начале августа :(
Можешь посоветовать какой-нибудь тест, который бы проверял эти режимы?
Тест, к сожалению, посоветовать не могу. Торопиться некуда, если со временем получится сделать - будет хорошо.
По-хорошему, надо бы переписать эмуляцию таймера по тому же принципу, как это сделано сейчас с AY3910.
Текущая реализация - наследие еще DOS-версии, она эффективна в плане ресурсов процессора, но трудоемка в сопровождении.
А проблемы с ней есть сейчас и в режимах 0 и 3, например, демо SkyNet для Вектора как раз из-за неточностей в эмуляции таймера успешно определяет, что запущено под эмулятором.
В общем, подумаю, а пока эмулятор вместе со мной ненадолго уходит в отпуск... ;)
есть игра Минотавр 2, которая не хочет работать в этом эмуляторе.
Eagle, для какого компьютера эта игра? Можно ссылку или саму игру?
а в онлайн эмуляторе работает http://zvzd3d.ru/Orion128/Orion128Main.html#MINOT_2
но там она неиграбельна, так как эмулятор не умеет две одновременно нажатые кнопки обрабатывать, прыгнуть по диагонали не получается.
сам файл MINOT-2.COM оттуда http://orion128.in.ua/progi/games1.zip
Eagle, спасибо, посмотрю вечером. Так сразу действительно не запустился.
А где-то есть описание или обсуждение этого онлайн-эмулятора? Просто я впервые с ним столкнулся, хочется понять, какой Монитор и какой образ CP/M в нем используется, чтобы проверить в идентичных условиях.
про онлайн эмулятор знаю не более чем на его странице написано. минотавр у меня на реале в девяностых работал со вторым монитором и ордосом.
на новоделе не могу запустить, клавиатуру уже пятый год не могу прикрутить, руки не доходят.
Eagle, ага, понял, что теоретически от cp/m не должен зависеть
Минотавр-2 в emu80 работает, но есть нюансы - надо взять MINOT-2$.ORD и запустить в конфиге DSDOS.
Вот с .com вариантом сложнее, если очень хочется, то можно его запустить в emu в конфигах SD/PRO/PRO2. Надо разбираться, но мне пока кажется, что дело не в версии cp/m (и не в z80), а в версии ордос.
Если добавить в минотавр-2 предстартовую очистку области BF40-BFFF (не исключено, что область можно и сузить, я не стал углубляться), то все нормализуется и в обычных конфигах 128.
Еще момент. Для загрузки доса заменял образ ромдиска на вариант из комплекта emu.
Для загрузки доса заменял образ ромдиска на вариант из комплекта emu.
Э... А зачем?
Загрузчики с ромдисков прилагаемых к emu80 не грузили дос, в котором я проверял (osdos 2.41, если не ошибаюсь).
- - - Добавлено - - -
Уточнил - частично проблема во мне, я пытался загружать дос как в emu с использованем boot$, он в emu80 не грузит тот дос. Если грузить в emu80 с использованием dos$, то все нормально, образ ромдиска можно не менять. С образа ромдиска, прилагаемого к emu, тот дос грузят и boot$ и dos$.
.com в .rko как-то можно перегнать?
Выложил (https://disk.yandex.ru/d/XELgpU0MzfxjLg) пофикшеного минотавра-2 (com; ord, который можно переименовать в bru; rko).
образа ромдиска, прилагаемого к emu, тот дос грузят и boot$ и dos$
То есть там другой boot$, который может грузить и CP/M, и OS/DOS?
.com в .rko как-то можно перегнать?
Вроде бы была какая-то утилитка, в любом случае несложно написать (в rko или bru/ord). Поищу.
Связался с автором того онлайн-эмулятора - действительно, у него используются другие версии как Монитора, так и Ordos. Не экспериментировал еще с ними, но скорее всего с этим связано.
Вроде бы была какая-то утилитка, в любом случае несложно написать (в rko или bru/ord). Поищу.
Eagle, не нашел. Но формат BRU(ORD) простой: к бинарнику (.com) в начало добавляется заголовок в 16 байт:
- 8 байт имя, дополненное в конце пробелами, в конце имени исполняемых файлов должно быть $
- начальный адрес, 2 байта (00 01)
- длина, 2 байта
- 4 нулевых байта (не помню, может быть, они под что-то зарезервированы, но обычно пустые)
Ну и естественно, при этом файл не должен пользоваться вызовами cp/m.
Если нужно из bru получить именно rko, можно воспользоваться моей древней утилиткой bru2rko (https://emu80.org/files/?id=28).
То есть там другой boot$, который может грузить и CP/M, и OS/DOS?
Получается boot другой и в отличие от ромдиска в emu80 он грузит osdos вместо cp/m. Но надо отметить, что в emu cp/mы грузятся в конфиг z80 cardII, где похоже загрузчик встроен в монитор.
- - - Добавлено - - -
Насчет com->bru/ord/rko. Для таких com, которые были получены из bru/ord лучше найти оригинал, а те, для которых нет оригинала bru/ord, не факт, что заработают после автоматического преобразования.
Для таких com, которые были получены из bru/ord лучше найти оригинал
Это да, согласен.
конфиг z80 cardII
Кстати про z80 cardII. Я так и не реализовал это расширение, надо бы наверное сделать? Софта для него много было написано или перенесено?
Софта для него много было написано или перенесено?
Под этот вариант перенесено много игрушек со спека ну и написано некоторое количество софта. Error404 может раскрыть этот вопрос более подробно и со знанием дела.
RyazanNik
07.08.2021, 12:04
а в онлайн эмуляторе работает http://zvzd3d.ru/Orion128/Orion128Main.html#MINOT_2
но там она неиграбельна, так как эмулятор не умеет две одновременно нажатые кнопки обрабатывать, прыгнуть по диагонали не получается.
Странно, на самом деле онлайн-эмулятор поддерживает одновременное нажатие клавиш, в играх Almaz, Manic все нормально... Интересно было бы проверить этот минотавр в реале, кто-нибудь пробовал его на классической орионовской клаве?
Странно, на самом деле онлайн-эмулятор поддерживает одновременное нажатие клавиш, в играх Almaz, Manic все нормально... Интересно было бы проверить этот минотавр в реале, кто-нибудь пробовал его на классической орионовской клаве?
кажется и на реале так же криво с клавишами работает.
Что ж, за окном осень, эмулятор начинает возвращаться из летнего отпуска :)
Пока нет новой сборки собственно эмулятора хочу представить отдельную утилиту bin2tape:
Утилита командной строки bin2tape служит для формирования файлов образов лент (и не только) компьютеров, поддерживаемых эмулятором Emu80.
Позволяет из двоичных файлов формировать rk (rkr/rkp/kra/rk8/rku/rke), rks, rko, bru/ord, cas, lvt.
В качестве параметров принимает имя исходного двоичного файла, начальный адрес, для некоторых форматов также адрес запуска и внутреннее имя файла.
Будет полезна для разработчиков, пишущих под поддерживаемые компьютеры, для автоматизации формирования образа ленты после компиляции.
Windows-сборка здесь: https://emu80.org/files/?id=78
Исходники на github: https://github.com/vpyk/EmuUtils (можно собрать под linux и другие системы)
Использование:
bin2tape [параметры] <исходный файл> [результирующий файл]
Параметры:
-t <формат> – задает формат выходного файла, доступные форматы:
rk – файл в формате Радио-86РК и совместимых ПК (используется по умолчанию)
rkr – файл ПК «Радио-86РК»
rkp – файл ПК «Партнер»
rka – файл ПК «Апогей»
rkm – файл ПК «Микроша»
rk8 – файл ПК «Микро-80»
rku – файл ПК «ЮТ-88»
rke – файл ПК «Eureka»
rks – файл ПК «Специалист» в формате без имени
rko – файл ленты ПК «Орион-128»
bru, ord – файлы диска ОС ОРДОС ПК «Орион-128»
lvt – файлы ПК «Львов»
cas – бинарные файлы в формате MSX ПК «ПК8000», «Львов», «Партнер», «Корвет» и др.
Форматы rk, rkr, rka, rk8, rku, rke представляют собой один и тот же формат rk и отличаются только расширением.
Формат rkp слегка отличается, но полностью совместим с rk. Форматы bru и ord также отличаются только расширением.
-a <начальный адрес> – задает начальный адрес загрузки
Значение по умолчанию – 0000, для исходных файлов с расширением .com – 0100.
-r <адрес запуска> – задает адрес запуска программы
Значение по умолчанию равно начальному адресу
-n <имя файла> – внутреннее имя файла для форматов bru, ord, rko, lvt, cas
Если параметр не задан, имя генерируется на основании первых символов имени исходного файла.
Имя приводится к верхнему регистру, символы, отличные от латинских букв и цифр, заменяются на «-».
Для форматов bru, ord, rko используются первые 8 символов имени, для lvt и cas – первые 6.
-n- – задает пустое внутреннее имя файла
[результирующий файл] – имя выходного файла
Если имя результирующего файла не задано, оно генерируется автоматически из имени исходного путем отбрасывания
исходного расширения и добавления расширения, соответствующего используемому формату.
Oleg N. Cher
24.09.2021, 12:40
Когда-то была нужна такая утилитка для Львова (bin в формат .lvt) - тогда не нашёл ничего готового и сделал свою:
https://github.com/Oleg-N-Cher/K580Dev/tree/master/Bin/MakeLvov
Oleg N. Cher, Оберон? :)
Смотрю, там еще из той же оперы bin2rk by kakos_nonos лежит, правда без исходников...
Кстати, lvt - это, по сути, альтернатива cas, на ленте формат тот же самый. Надо будет еще lvt2cas и cas2lvt набросать. Эмулятор поддерживает оба, но у cas есть преимущество в том, что можно не плодить оверлеи lv0, lv1 и т.д., а все помещать в единственный cas-файл...
Oleg N. Cher
24.09.2021, 17:31
Oleg N. Cher, Оберон? :)Да, он самый) Стараюсь писать на нём всё, что получается.
Кстати, эмули можно на нём тоже делать... у меня проект - транслятор пяти диалектов Оберона в Си (https://github.com/Oleg-N-Cher/OfrontPlus).
Смотрю, там еще из той же оперы bin2rk by kakos_nonos лежит, правда без исходников...Можно у него попросить :)
Спасибо за Ваш эмуль. Это эпоха.
Кстати, эмули можно на нём тоже делать... у меня проект - транслятор пяти диалектов Оберона в Си.
Не сомневаюсь, что можно, на Паскале же пишут. Правда, мне не приходилось использовать Оберон, хотя я в свое время много писал на Паскале. В любом случае, проект интересный, успехов в продвижении детища Никлауса Вирта!
bin2tape...
RK8 - "Микро-80" не сохраняет контрольную сумму на ленту. Не критично, просто лишние 5 байт в конце.
"ЮТ-88" "Монитор-0" не сохраняет контрольную сумму на ленту, она лишь выводится на индикатор (и при выгрузке, и при загрузке). Это просто арифметическая сумма.
RKU - "ЮТ-88" "Монитор-F" сохраняет с к.суммой. Это просто арифметическая сумма (см. FAF6). Образы лент RKU и RKR должны отличаться только в старшем байте к.суммы.
DDp, спасибо, поправлю. Если честно, даже не знал насчет другого метода подсчета КС на ЮТ-88.
А в Микро-80 с "Монитором РК" КС пишется, причем, судя по всему, как раз в формате РК-86, поэтому оставил...
Спасибо за эмулятор! Погонял в AWEY и Slams.
Возможно, у кого-то сохранились электронные журналы для Микроши, которые распространялись в виде файлов? Помню, читал "Утюги", 8080 и ещё какой-то журнал, где публиковались сплетни про программистов.
ZD, к сожалению про журналы ничего не знаю, даже не слышал об их существовании. Самый большой архив софта для Микроши здесь (http://home.onego.ru/~bav9/94.html), но и там никаких упоминаний я не вижу :(
P.S. Работать над новой версией продолжаю, хотя последние изменения пока и отсутствуют в репозитории...
Архив видел, оттуда и перешёл на форум.
Был весьма удивлён подписью "Битман и Бутеман" на заставках во многих играх. Не поленились же поменять текст :) В начале 90-х этих персонажей точно не было, изменения в коде сделаны позже.
shuran33
09.11.2021, 23:30
Pyk, добрый день, спасибо за ваш эмулятор! Скажите, какая минимальная версия mac os требуется для работы эмулятора?
shuran33, вообще публикуемые мной бинарные сборки точно должны работать на macOs 10.12 (Sierra). Не исключаю возможности, что будут работать и на более ранних версиях, но нужно пробовать.
Хотя теоретически при необходимости можно пересобрать даже для 10.8 Mountain Lion, это минимум.
shuran33
10.11.2021, 07:20
shuran33, вообще публикуемые мной бинарные сборки точно должны работать на macOs 10.12 (Sierra). Не исключаю возможности, что будут работать и на более ранних версиях, но нужно пробовать.
Хотя теоретически при необходимости можно пересобрать даже для 10.8 Mountain Lion, это минимум.
Можете тогда сделать сборку под MacOS 10.9.5(Mavericks) ? Заранее спасибо.
shuran33, если сделаю на днях тестовую сборку, будет возможность проверить?
shuran33
10.11.2021, 08:32
shuran33, если сделаю на днях тестовую сборку, будет возможность проверить?
Да, конечно проверю сразу же. Обо всех багах напишу.
shuran33
10.11.2021, 16:50
В виндовой версии почему-то не убирается нижний краешек бордюра. На скрине он голубого цвета внизу.
76403
shuran33, это баг, исправлю. Столько же, сколько отображается бордюра снизу, отрезано от основной части экрана сверху в этом режиме.
Спасибо за багрепорт :)
Новый релиз. Версия 4.0.377 от 21.11.2021:
https://emu80.org/news/v40377
Сайт эмулятора: https://emu80.org
Загрузить:
Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40377.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40377_macos.zip
Portable SDL/wx-версия, windows-сборка:
https://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-elektronika-kr-04.html?p=1122905&viewfull=1#post1122905
(спасибо veng за оцифровку и DDp за конвертацию)
* Для SP-580 поддерживается загрузка файлов в формате wav (csw) ввиду отсутствия общепринятого формата образов лент.
Кроме того, Монитором SP-580 поддерживается загрузка файлов в формате .rks, для этого перед директивой I дать директиву @.
Более подробную информацию смотрите в справке по платформе (Alt-F1).
Софт для SP-580 здесь:
https://zx-pk.ru/threads/31727-monitor-sp-580-(g-barnaul).html?p=1060967&viewfull=1#post1060967
Александр пока забросил свой сайт, архивы можно скачать с web-архива:
https://web.archive.org/web/20190910231608/http://www.pk-info.ru/specialist/files/sp580/SP580_Tape_SIDE1.7z
https://web.archive.org/web/20190910231609/http://www.pk-info.ru/specialist/files/sp580/SP580_Tape_SIDE2.7z
* ERAM в Векторе пока постоянно включен. Так как часы реального времени, с которым он конфликтует,
в настоящее время не реализованы, это не должно вызывать какиех-либо проблем.
Однако, если нужно явно выключить ERAM, можно закомментировать строку "define ERAM" в начале vector.conf
* Вообще, в этой версии довольно много мелких изменений, особенно в реализации таймера ВИ53.
Не исключаю возможности, что мог что-то и сломать, неплохо бы все хорошенько потестировать...
Да, bin2tape тоже обновил: исправил формат rku и добавил rk4: https://emu80.org/files/?id=78
Pyk, очень интересные и полезные нововведения и исправления, пока только начал пробовать и в конфиге вектора появилась странность со звуком. В окне отладчика постоянно кликает, раньше такого не было. И стал изредка покликивать и в основном окне вектора.
До ERAM всерьез не добрался, но похоже поддержка варианта Баркаря активна по умолчанию, при включенном ERAM. Как они (Баркарь и ERAM) сочетаются, у кого-то приоритет?
ivagor, да, с кликами нехорошо получилось, исправлю.
ERAM я делал еще летом и выкладывал тестовую сборку (https://zx-pk.ru/threads/27488-emu80-v-4.html?p=1124549&viewfull=1#post1124549), видимо тогда потестировать не получилось? Изменений с тех пор не было, и если честно, я уже плохо помню подробности, но вроде бы я не увидел никаких препятствий к одновременной работе Баркаря и ERAM, так что так и сделал по-умолчанию. Но память может меня подводить, так что, если будет нужно, вернусь к этому вопросу.
Тогда я наверно попробовал ERAM в режиме стека. Сейчас нет программ, которые пытаются использовать одновременный доступ адресностью к ERAM и Баркарю, вопрос был больше из академического интереса.
Небольшие баги уже выплывают, наверное на днях все-таки будет багфикс-релиз...
Pyk, спасибо за эмулятор! У меня ещё с лета есть два вопроса, но никак не находил время, чтобы задать их.
1) В Linux Mint (gcc 9.3.0) не собирается версия для SDL/Wx, пока в мэйкфайле Makefile.sdlwx не поменять местами объектники и флаги линковки, т.е.:
Было:
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
Стало:
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
Будет ли собираться под другие платформы, если поменять местами? (Реквест на гитхабе не стал делать из-за такой мелочи)
2) Есть ли возможность сделать поддержку ранней версии ПК-01 "Львов"? В мае этого года ivagor собрал дамп ПЗУ по моим выгрузкам на "ленту". Данная версия эмулятора не работает с этим ПЗУ. Главная причина, возможно, что на реале приходится рестартить комп (кнопкой СБР) после холодного старта. Ну, и проц работает на 2 МГц. Ссылка на дамп ПЗУ (https://zx-pk.ru/threads/32290-eshche-odin-lviv-staroj-revizii-remont.html?p=1117235&viewfull=1#post1117235).
Albom, насчет Makefile посмотрю, к тому же у меня как раз есть установленные Linux Mint 19 и 20. В gcc 6.3.0 точно собирается без проблем, скорее всего, в более поздних версиях gcc что-то изменилось.
Насчет ранней версии Львова - очень интересно, надеюсь, что получится. Увы, я не успеваю вовремя следить за всеми обсуждениями на форуме, почитал только сейчас ту тему, но навскидку не понял, в чем же разница в аппаратуре по сравнению с более поздней модификацией кроме тактовой частоты. Я так понял, ivagor уже в основном разобрался и даже для себя что-то пропатчил, может быть, поделится информацией для ускорения процесса?
Работающий конфиг первого Львова у меня на другом компьютере, до которого доберусь только через неделю, но припоминаю, что там достаточно было двух вещей:
1. В Emu в конфиге львова добавить строку
map[0][0000-3FFF].wo=mem1[0000]
в секцию mm : MemMap {
2. Добавить при старте пзу установку стека, насколько помню, там даже есть место как будто специально для этого.
Если будет багфикс релиз, то желательно поправить и растактовки пары команд (https://zx-pk.ru/threads/8634-vektor-06ts-emulyatsiya.html?p=1129692&viewfull=1#post1129692) в конфиге вектора с z80.
Будет ли конфигурация с электроникой -60
ivagor, спасибо!
Растактовки тоже посмотрю, то обсуждение в сентябре также почему-то пропустил. Если возникают какие-то вопросы по emu80, лучше дублировать сюда или в личку - увы, не всегда получается оперативно просматривать все темы на форуме. Кстати, не напомнишь, где-то есть информация или обсуждение по времени выполнения команд Z80 на Векторе? Я нашел свой коммит, сделанный 2,5 года назад с корректировками времени выполнения некоторых команд, но не могу вспомнить, чем я руководствовался, вряд ли самостоятельно анализировал все команды... Нашел только это (http://emuverse.ru/wiki/%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6/Instruction_Timings), но скорее всего было что-то еще...
- - - Добавлено - - -
Будет ли конфигурация с электроникой -60
Вряд ли, по крайней мере в ближайшее время :(
Кстати, не напомнишь, где-то есть информация или обсуждение по времени выполнения команд Z80 на Векторе?
Искать я сейчас ленюсь, но помню, что обсуждение было и ты пришел к идее, что надо взять даташит z80, где расписаны команды по циклам и округлить циклы вверх до кратности 4. Тогда я был согласен, но упустил, что есть циклы без обращения к памяти. Вернее я помнил, что они есть в 16-разрядной арифметике (add hl, и т.п.), но эта арифметика фактически есть и в jr/djnz. Предлагаю ориентироваться на растактовки amstrad cpc (https://wiki.octoate.de/lib/exe/fetch.php/amstradcpc:z80_cpc_timings_cheat_sheet.20131019.pd f), там процу тоже дают один слот доступа к озу каждые 4 такта, как и в векторе (в т.ч. с z80).
В Linux Mint (gcc 9.3.0) не собирается версия для SDL/Wx, пока в мэйкфайле Makefile.sdlwx не поменять местами объектники и флаги линковки
Смоделировал в gcc 7.4.0 в Linux Mint 19. Gcc 6.3.0, как я уже писал, понимает и старый формат. Исправлю, спасибо за багрепорт!
Львов чуть позже, не пробовал еще...
Добрался до компа с конфигом Львова 87 года раньше, чем планировал. Конфиг для Emu и патченая пзушка. Все же идею со стеком я так и не понял и палитра вероятно не та, но вроде работает. Бейсик - F3, если что.
Обещанный багфикс-релиз. Версия 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 сейчас полнофункционален и установлен по умолчанию
- - - Добавлено - - -
Albom, ПЗУ ранней версии смотрел, но пока пазл, как оно должно в итоге работать, не сложился :( Так что позже, поразбираюсь еще...
NEO SPECTRUMAN
29.11.2021, 00:11
Pyk, а утя не осталось старой версии сайта?
NEO SPECTRUMAN, http://old.emu80.org
Albom, ПЗУ ранней версии смотрел, но пока пазл, как оно должно в итоге работать, не сложился :( Так что позже, поразбираюсь еще...
Это нормально. У меня самого времени на все "пазлы" не хватает. :)
NEO SPECTRUMAN
29.11.2021, 20:13
http://old.emu80.org
о крута
NEO SPECTRUMAN, а зачем? Я от него хотел совсем избавиться...
NEO SPECTRUMAN
29.11.2021, 22:10
я его хотел целикомм скачать
- - - Добавлено - - -
да и на новом сайтеке в упор не видно того чего есть на этом
да и на новом сайтеке в упор не видно того чего есть на этом
А чего именно там нет, можно поинтересоваться? Вроде бы я перенес все более-менее актуальное...
NEO SPECTRUMAN
29.11.2021, 22:20
на фоне старого сайтека
новый выглядит как wos помойка (файловый архив)
да еще и https :)
- - - Добавлено - - -
а я привых что можно зайти на ему80
и там то там то
скачать то та то та
а теперь его нету на месте :)
ну и по моему я его ужо скачивал с появлением нового
но умя накрылсо винт...
скорей всего де было именно оно
NEO SPECTRUMAN, уговорил, постараюсь не удалять ;)
Ссылка на старый с нового есть, если что...
Тестовая версия с поддержкой Корвета (https://zx-pk.ru/threads/31156-korvet-emulyatory.html?p=1142303&viewfull=1#post1142303)
Ответ на сообщение из соседней темы (https://zx-pk.ru/threads/31156-korvet-emulyatory.html?p=1142374&viewfull=1#post1142374)
Замечания по эмулятору, если интересно (проверил в режиме Радио-86РК):
* Эмуляция, судя по всему, идет в основном потоке, поэтому при переключении на другие окна, ресайзе и прочих действиях с GUI щелкает звук.
* При ресайзе окна изображение не отрисовывается, и сложно смотреть в реальном времени, устраивает изображение в новом масштабе или нет.
Согласен, возможно такое, более характерно для слабых компьютеров. В текущей версии действительно все в одном потоке...
* Если ставить неквадратную точку, то идет целочисленное масштабирование, которое плохо смотрится. Если же включить слгаживание, то изображение такое замыленное, что тоже смотреть неприятно.
Планирую в ближайшее время кое-что попробовать сделать в этом плане.
* Информация в статус-баре (внизу экрана) очень сжато друг к другу находится, хорошо бы разделить разные поля промежутками побольше.
Принято, Qt по умолчанию как-то не очень хорошо себя ведет в этом плане, посмотрю. что можно сделать.
* Похоже, звук отстает от изображения эдак на 300мс точно.
300 мс (треть секунды) - это огромное расхождение, такого точно не наблюдал и никто не жаловался.
Можно узнать примерную конфигурацию компьютера: процессор, видеокарта, какие настройки выставлены в эмуляторе (fps, vsync, частота дискретизации), какое значение fps отображается в статусной строке?
- - - Добавлено - - -
Да, и загрузка процессора при работе эмулятора еще интересует...
Можно узнать примерную конфигурацию компьютера: процессор, видеокарта, какие настройки выставлены в эмуляторе (fps, vsync, частота дискретизации), какое значение fps отображается в статусной строке?
Компьютер у меня быстрый и вполне современный.
Core I3-6300 3.8GHz.
Видюха встроена в проц. Но для 2D этого хватает за глаза. Мой Emustudio, например, летает.
Звуковуха Audigy 2. Старовата, но хороший звук дает, поэтому я ее держу. На других эмуляторах ничего не щелкает. Но они работают в фоновом потоке, а не в потоке GUI.
- - - Добавлено - - -
Предположу, что всякие кросплатформенные прослойки между WinAPI и эмулятором типа QT могут вносить свои глюки или тормоза.
У меня-то на чистом WinAPI написано.
marinovsoft
05.01.2022, 17:06
Тоже щелкает звук. Xeon E5450 3GHz. Видео GeForce 9400GT. Звуковая Sound Blaster Audigy SE.
Настройки эмулятора по-умолчанию из архива в соседней теме. FPS 60. Загрузка CPU 25%. Установил маску схожести в диспетчере задач на одно ядро - грузит его на 100%.
Core I3-6300 3.8GHz. Видюха встроена в проц.
Вполне достаточно :)
Звуковуха Audigy 2. Старовата, но хороший звук дает, поэтому я ее держу.
Если будет возможность, неплохо бы потестировать хотя бы на встроенной в материнку звуковухе в плане задержек (на щелчки вряд ли повлияет).
Предположу, что всякие кросплатформенные прослойки между WinAPI и эмулятором типа QT могут вносить свои глюки или тормоза.
Это да, еще и руки бывают связаны ограничениями используемой прослойки. Чего, например, стоит хотя бы ограничение Qt на возможность отрисовки только из основного потока или возможность выводить звук под windows только посредством wavout. Хотя все решаемо, конечно. Надеюсь, со временем руки дойдут довести до ума...
- - - Добавлено - - -
грузит его на 100%
Бывает такое на картах NVidia, всегда загрузка около 100%. Попробуй запустить с параметром:
Emu80qt.exe -angle
Загрузка уменьшится?
выводить звук под windows только посредством wavout.
Тогда ничего удивительного, я думаю)
Как синхронизируется звук и видео?
Как ожидается начало кадра vblank?
marinovsoft
05.01.2022, 20:03
Emu80qt.exe -angle
Загрузка упала до 6%.
Как синхронизируется звук и видео?
Вопрос очень объемный, но если в 2 словах, то сейчас синхронизация происходит за счет звука, а не видео (что было бы логичнее). Если интересует что-то более конкретное - поясню. Я бы спросил, как у тебя сделано, но боюсь, что в моих реалиях этот вариант будет неприемлем ;(
Как ожидается начало кадра vblank?
Установкой соответствующего флага в Qt, отвечающего за ожидание vsync при отрисовке. Особых вариантов Qt не оставляет... Отсюда и 100% загрузка процессора, обсуждаемая чуть выше - это происходит где-то в недрах Qt или даже скорее видеодрайвера, как раз во время ожидания vsync...
Надо будет еще вернуться к этому вопросу и попробовать переработать синхронизацию, сохранив кроссплатформенность. Можно попробовать задействовать еще SDL специально для вывода звука. Я вообще удивлен, что в текущем варианте удалось добиться удовлетворительных результатов с использованием исключительно возможностей Qt с его жесткими ограничениями...
anarchyman
05.01.2022, 22:48
Приветствую!
При необходимости, если таковая будет, могу тестовую версию с Qt и Корветом затестить в сборке для MacOS.
Вопрос очень объемный, но если в 2 словах, то сейчас синхронизация происходит за счет звука, а не видео (что было бы логичнее). Если интересует что-то более конкретное - поясню. Я бы спросил, как у тебя сделано, но боюсь, что в моих реалиях этот вариант будет неприемлем ;(
Тогда щелчок звука логичен. Когда хватаешь окошко, цикл сообщений начинает обрабатываться внутри системной функции ресайза/перемещения окна. Поэтому главная твоя программа в основном потоке как бы подвисает, пока оконная функция закончит ресайз/перемещение, и не возвратит управление твоему основному циклу. Не знаю, как он там в реалиях QT устроен. Если аудиобуфер доиграл, а главная программа висит из-за того, что основной поток залип в цикле ресайза/перемещения, то тогда упс.
Titus, ну да, примерно так. Причем с этим мало что можно сделать, так как есть жесткое ограничение: рисовать в Qt можно только из GUI-потока. Так что даже если сделать собственно эмуляцию в отдельном потоке, в случае ресайза это не поможет :( Хотя, уже Qt6 вышел, можно посмотреть, не изменилось ли там что-то в этом плане, а также не появилось ли что-то полезное для синхронизации и звука. Но что-то я пессимистически настроен по этому поводу, уже сколько лет никаких важных изменений...
Хотя, уже Qt6 вышел, можно посмотреть, не изменилось ли там что-то в этом плане, а также не появилось ли что-то полезное для синхронизации и звука. Но что-то я пессимистически настроен по этому поводу, уже сколько лет никаких важных изменений...
А какой смысл тогда писать под QT? Не лучше ли перейти на чистый WinAPI или типа того?
Titus, мультиплатформенность. Сейчас все, что нужно для запуска на другой ОС - перекомпиляция.
А поддерживать несколько версий GUI под разные API слишком сложно...
Посмотрим, простор для оптимизации всегда есть, не все так плохо. Вот и сейчас посмотрел внимательнее документацию - оказывается и в Qt можно рисовать не в GUI-потоке, если использовать вызовы OpenGL вместо встроенных средств Qt. :) Просто я после первой реализации уже почти 4 года не возвращался к этому вопросу, увлекся поддержкой новых компов, надо будет заняться в этом году...
Titus, мультиплатформенность. Сейчас все, что нужно для запуска на другой ОС - перекомпиляция.
А поддерживать несколько версий GUI под разные API слишком сложно...
А нужно ли это? Сколько у нас этих платформ? UNIX'ы, но на них WinE есть, под которым вполне хорошо работает.
На маке тоже можно запускать PC-шные приложения.
А на мобильных и планшетах все равно нужен другой интерфейс, чем на PC.
А на мобильных и планшетах все равно нужен другой интерфейс, чем на PC.
Пользовательский интерфейс в какой-то мере да, а ввод-вывод? Доработать SDL-версию для запуска под андроид куда проще, чем писать весь все с нуля.
А кроме мобильных устройств ведь еще и web есть...
А кроме мобильных устройств ведь еще и web есть...
Web-ные эмуяторы - это, пожалуй, самое тормознутое и неудобное, что я встречал.
Может в будущем все поменяется)
Titus, нравится нам это или нет, но все больше всего переходит в web, вот и эмуляторы туда же...
Ну да ладно, а пока мини-опрос: кто-нибудь пользуется qt-версией эмулятора под Windows XP? Нужно ли и далее обеспечивать возможность работы под этой устаревшей ОС?
Тестовая версия с поддержкой Корвета
кто-нибудь пользуется qt-версией эмулятора под Windows XP?
Я пользуюсь :v2_blush: Или qt- или sdl/wx-версией. Какая под руку попадёт.
Собственно тестовая 40387beta под xp и не запустилась. Но, если скопировать её exe-шник в папку с 4.0.379, то работает (не Корвет конф.).
DDp, ок, постараюсь сохранить пока совместимость с XP. А неработоспособность конфигурациии Корвета под XP я тоже уже заметил, хотя и не успел пока разобраться, в чем дело... Странно как-то...
NEO SPECTRUMAN
08.01.2022, 02:11
под этой устаревшей ОС?
все кто бросают поддежку ХР-ю
ПОПАДАЮТ в РАСТРЕЛЬНЫЙ СПИСОК
и ОДНАЖДы умрут в страшных муках
- - - Добавлено - - -
нравится нам это или нет, но все больше всего переходит в web, вот и эмуляторы туда же...
не нужно подстраиватсо под представителей лгбт сообщества
ттем более ретрокомпьютерщикам
все кто бросают поддежку ХР-ю
ПОПАДАЮТ в РАСТРЕЛЬНЫЙ СПИСОК
Учитывая, что у нас форум ретрокомпьютерщиков, логично, что может иметься некоторое число пользователей, которые все еще сидят на XP, но при этом хотят пользоваться всевозможными новыми эмуляторами.
Поэтому поддержка XP именно в эмуляторах выглядит логичной.
Я, например, в EmuStudio поддерживаю XP, хотя приходится тянуть некий хвост сложностей из-за этого. Например, рисовать через DirectDraw (хотя, это наследие еще Win 98), хотя он и на Win 11 прекрасно летает и поддерживается, и, думаю, вряд ли будет выпилен.
Кроме того, на Win Vista и далее появилось много новых интересных возможностей для эмуляторов. Например, синхронизация с кадром через DWM, что гораздо оптимальнее и менее затратно для процессора. Для аудио появился WASAPI, что поинтереснее, чем DirectSound. И приходится поддерживать и то, и другое. И можно без хлеба.
И приходится поддерживать и то, и другое. И можно без хлеба.
Я видел что в других эмуляторах это решают с помощью "плагинов".
В своём UKNCBTL я сделал такую попытку - рендереры подключаются как динамически линкуемые DLL, отдельно реализован рендеринг для VFW, DirectDraw, OpenGL. Но дальше разделения это не пошло - надо было дальше развивать отдельные рендереры, на это времени уже не нашлось.
Я видел что в других эмуляторах это решают с помощью "плагинов".
В своём UKNCBTL я сделал такую попытку - рендереры подключаются как динамически линкуемые DLL
Но это же все надо поддержат, чтобы и под то, и под это.
Впрочем, уж поддержку OpenGL я у себя вообще не вижу нужной)
А у меня не совсем плагин, у меня статически линкуемая "прослойка", но не только для рендеринга, но и звука, клавиатуры, настроек и прочего. Пока 2 варианта - Qt и SDL/wxWingets. Теоретически можно сделать и для чистого WinAPI, но это я уже не потяну, хотя и есть такой соблазн: и так эта унифицированность тянет за собой кучу проблем, не говоря уж о том, что нужно вносить изменения, не касающиеся собственно эмуляции, параллельно в два места...
А так, конечно, native-приложения всегда можно сделать более эффективными. Дать нам волю, мы бы вообще может до сих пор на ассемблере писали, напрямую работая с железом ;)
- - - Добавлено - - -
Но это же все надо поддержат, чтобы и под то, и под это.
Ну, вот как раз библиотеки типа SDL и помогают это делать, просто указываем библиотеке, через что выводить, и все :)
А так, конечно, native-приложения всегда можно сделать более эффективными. Дать нам волю, мы бы вообще может до сих пор на ассемблере писали, напрямую работая с железом
На ассемблере, конечно, под современные PC писать нет смысла. Хотя некоторые особо ёмкие участки, можно. Я, например, несколько функций работы с масштабированием экрана как раз на SSE2 написал. При этом оставив оригинальные версии на Си.
Новая windows-сборка бета-версии с Корветом (https://zx-pk.ru/threads/31156-korvet-emulyatory.html?p=1145359&viewfull=1#post1145359)
Sancho45
28.01.2022, 09:13
Вернусь к своей просьбе о поддержке файлов прошивки плм, хотя бы для карт памяти, у меня например , модифицированная прошивка позволяющая использовать карты памяти с 32кб пзу, которые поддерживает данный пк.
Sancho45, сейчас распределение памяти берется из файла mapper.mem, в принципе, уже в текущем состоянии эмулятора, думаю, без проблем можно использовать другую прошивку, если на ее основе сгенерировать актуальный mapper.mem и указать его в конфиге вместе с измененными прошивками ПЗУ. Может быть, набросать утилитку для преобразования прошивки ПЛМ в формат, понимаемый эмулятором и на таком варианте и остановиться? Хотя можно и в эмулятор встроить разбор прошивки... Но в любом случае мне скорее всего понадобится помощь в интерпретации прошивки, сейчас не помню детали, но вроде бы некоторые моменты мне были не совсем понятны...
Насчет z80 и доп. порта вопрос еще актуален?
Sancho45
28.01.2022, 10:53
Лучше конечно встроить. По поводу z80 и портов актуально, использовал в другом эмуляторе, но там отладчик меня не устраивает. Этот эмулятор еще не пробовал, в связи с событиями у нас в стране и тд, сейчас на отдыхе) В феврале займусь.
Sancho45, для изменения типа процессора в korvet.conf заменить
Cpu8080 cpu
на
CpuZ80 cpu
Для добавления системного порта в порты процессора добавить ниже что-то вроде:
AddrSpace ioAddSpace
ioAddrSpace.range = &addrSpaceSelector, 0x7F, 0x7F
cpu.ioAddrSpace = &ioAddrSpace
где 0x7F - адрес порта.
В общем, доберешься до эмулятора - пиши сюда или в личку. Думаю, что все достаточно оперативно настроим, что касается процессора и адресного пространства.
За поддержку прошивки ПЛМ видео пока не возьмусь, но можно будет обсудить и, возможно, запланировать на перспективу...
Sancho45
04.02.2022, 18:58
z80 заработал, порт - нет
z80 заработал, порт - нет
Я в коде выше букву пропустил :(
AddrSpace ioAddrSpace
К сожалению, лог ошибок сейчас выдается только в SDL/wx-версии, поэтому могло пройти незамеченным...
Надеюсь, что заработает
Sancho45
04.02.2022, 19:58
Надеюсь, что заработает
Заработало. Диззи бегает.
Как время будет займусь отладкой игры и заодно потестирую эмуль. Мне хороший отладчик нужен в эмуле.
Мне хороший отладчик нужен в эмуле.
Не уверен, что он так уж хорош, многое еще не реализовано или сделано не очень удобно...
Improver
07.02.2022, 15:36
Здравствуйте, Pyk.
Для "Вектора" на данный момент <...> пока нет HDDМожет я отстал от жизни, но HDD для Вектора в более новых версиях так и не поддерживается?
И второй вопрос: возможно ли как-то настроить emu80 на работу одновременно с двумя квази-дисками? Первый стандартный, на 10h порту, и второй точно такой же, но на 11h порту...
HDD для Вектора в более новых версиях так и не поддерживаетсяНет, до сих пор никто не спрашивал, и я с тех пор так и не возвращался к вопросу эмуляции HDD не Векторе ;(
Пожалуй, надо бы сделать, тем более, что эмуляция ATA-контроллера в целом у меня реализована и работает на ПК8000...
возможно ли как-то настроить emu80 на работу одновременно с двумя квази-дискамиБоюсь, что нет, в эмуляторе сейчас слишком жестко вся завязано на один квази-диск. Да и вообще, с трудом представляю, как два квази-диска могут работать одновременно... Это было кем-то реализовано в железе?
Improver
07.02.2022, 23:24
Пожалуй, надо бы сделать, тем более, что эмуляция ATA-контроллера в целом у меня реализована и работает на ПК8000...Хорошо бы добавить, а то эмуляция Вектора получается не полная...
Да и вообще, с трудом представляю, как два квази-диска могут работать одновременно... Это было кем-то реализовано в железе?Да, я сделал такое, сначала просто ради любопытства, как с такой конструкцией будет работать Векторовская программа "Дождь (http://sensi.org/scalar/ware/803/)", а потом уже и модифицировал МДОС Т-72 (https://zx-pk.ru/threads/9488-vektor-06ts-operatsionnye-sistemy.html?p=1061646&viewfull=1#post1061646) под работу с двумя КД. Физически у меня собрано два одинаковых КД на 256 кб по этой схеме (https://zx-pk.ru/threads/29342-novyj-staryj-kvazidisk.html?p=1136928&viewfull=1#post1136928), оба управляются командами, как стандартный кишинёвкий квази-диск с доработкой Баркаря, только один подключён на порт 10h, а второй на 11h. Они даже могут работать параллельно, можно писать на них одновременно, обращаться в одному КД, как к памяти, а ко второму, как к стеку... Вот только читать одной командой сразу с двух дисков не стоит, чтобы не было конфликта. Работа двух КД, наверно, даже чем-то схожа с работой ERAM, только управление ими немного другое.
И ещё, кроме моего варианта, есть прошивка для комбодевайса с поддержкой двух КД, вот только найти сейчас её что-то не смог.
Improver, насчет второго квазидиска идею понял, но не уверен, что так уж важна поддержка в эмуляторе. По крайней мере, поддержка HDD точно актуальнее - совсем быстро не обещаю, но в ближайших версиях постараюсь сделать.
Improver
08.02.2022, 10:50
Improver, насчет второго квазидиска идею понял, но не уверен, что так уж важна поддержка в эмуляторе.Да, не так уж и важна... Поддержка важна, пожалуй, только мне, для разработки новых программ на 2КД, а остальным -- не особо. :)
По крайней мере, поддержка HDD точно актуальнее - совсем быстро не обещаю, но в ближайших версиях постараюсь сделать.Спасибо!
Поддержка важна, пожалуй, только мне, для разработки новых программ на 2КД, а остальным -- не особо.
В любом случае, совсем не отказываюсь, в список доработок на перспективу добавлю, но когда дойдут руки - пока не могу сказать...
Новый большой релиз. Версия 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)
- Другие мелкие исправления и улучшения
Особенности эмуляции ПК "Корвет":
- На данный момент отсутствует поддержка последовательных интерфейсов и джойстика
- Реализованы прерывания от экрана, таймера и одновибратора управления мотором НГМД (хотя из-за несколько неполной эмуляции ВИ53 практическое применение прерывания таймера пока затруднительно)
- Поддержка подключения образов четырех дисков
- Точность синхронизации растра — одна скан-линия
- В соответствии с документацией реализовано добавление двух тактов ожидания при обращении к портам ввода-вывода
- Режим эмуляции выхода черно-белого изображения
- Полноценная поддержка smart-раскладки клавиатуры, включая переключение языка
- Поддержка магнитофона, работа с cas-файлами
- Реализован режим быстрого сброса с пропуском начальных тестов
- Для сброса совместно с нажатыми клавишами (Fx) можно использовать F11
- Опция для переназначения стрелки вниз на Numpad 5
По сравнению с последней бета-версией со поддержкой "Корвета":
- устранен вылет под Windows XP
- добавлена поддержка дисков C и D
- новое меню управления образами дисков
- устранены щелчки при работе с интерфейсом эмулятора
- по умолчанию установлена smart-раскладка клавиатуры
- клавиша SEL перенесена на F9
В этой версии был проведен рефакторинг кода, отвечающего за вывод на экран. Если вдруг заметите, что какие-то режимы отображения стали работать некорректно, пожалуйста, напишите.
[bETA]mEN
19.02.2022, 11:47
Пара вопросов по интерфейсу:
В русскоязычном интерфейсе диски C и D остаются на английском языке:
https://i.imgur.com/cYVG9ly.png
При выборе платформы через меню:
https://i.imgur.com/nA6mCW9.png
отсутствие напротив текущей выбранной платформы отметки в виде галочки (или крестика, или ещё чего) несколько дезориентирует.
mEN;1147530"]В русскоязычном интерфейсе диски C и D остаются на английском языке:
Принято, исправлю.
mEN;1147530"]отсутствие напротив текущей выбранной платформы отметки в виде галочки (или крестика, или ещё чего) несколько дезориентирует.
В принципе, согласен, только мне вообще не очень нравится этот огромный список. Может быть, оставить полный перечень только при выборе через отдельное окно, а в меню (в том числе по стрелке вниз рядом с кнопкой) показывать несколько последних использованных?
[bETA]mEN
19.02.2022, 13:35
не очень нравится этот огромный список
сейчас это ещё ok, но если в эмулятор будут добавляться новые машины и список будет разрастаться и упираться в границы интерфейса операционной системы - это станет совсем не-ok.
В принципе, согласен, только мне вообще не очень нравится этот огромный список. Может быть, оставить полный перечень только при выборе через отдельное окно, а в меню (в том числе по стрелке вниз рядом с кнопкой) показывать несколько последних использованных?
Можно выводить сверху последнюю использованную платформу, потом разделитель, потом полный список. Таким образом последняя, самая востребованная платформа, будет всегда под рукой.
svofski, а зачем переключаться с последней (текущей) на нее же? Разве что вместо сброса?
М да.. наверное тогда это должна быть предпоследняя платформа =)
наверное тогда это должна быть предпоследняя платформа
И, развивая эту идею, приходим к мысли показывать несколько последних использованных платформ ;)
Подумаю, в общем...
CityAceE
20.02.2022, 11:42
В принципе, согласен, только мне вообще не очень нравится этот огромный список.
А если использовать вложенное меню, сгруппировав несколько конфигураций по типам компьютеров: Радио 86РК, Специалист, Вектор и т.д.?
А если использовать вложенное меню, сгруппировав несколько конфигураций по типам компьютеров: Радио 86РК, Специалист, Вектор и т.д.?
Думаю, неплохая идея :) Несколько последних и сгруппированный полный список...
- - - Добавлено - - -
Напомните, кстати, кто помнит - в каких компьютерах кроме Корвета есть поддержка 4 дисководов?
[bETA]mEN
20.02.2022, 16:27
Напомните, кстати, кто помнит - в каких компьютерах кроме Корвета есть поддержка 4 дисководов?
если верить http://bashkiria-2m.narod.ru/ то 4 дисковода есть в конфигурации Irisha kngmd
формально ещё у Львов + Chameleon-DOS
Исправил русский язык в меню и атрибуты на Корвете.
Изменения в репозитории, желающие могут скачать обновленный exe-файл (https://emu80.org/v4beta/Emu80qt_40401_exe.7z)
Приветствую!
Предлагаю потестировать новую экспериментальную сборку эмулятора. Пока для windows:
https://emu80.org/v4beta/Emu80qt_40404exp.7z - Qt-версия
https://emu80.org/v4beta/Emu80_40404exp.7z - wx/SDL-версия
По части собственно эмуляции в ней только исправления небольших багов, все изменения касаются пользовательского интерфейса и конкретно формата вывода изображения. Изменения эти давно напрашивались в связи с развитием эмулятора и поддержкой новых платформ.
Ниже чуть подробнее опишу, что сделано, но если не вдаваться в детали, то я постарался, чтобы с настройками по умолчанию отображение было близко к оптимальному, а изменение настроек через горячие клавиши и панель инструментов было более понятным, простым и предсказуемым (продвинутые настройки остались в окне настроек по Alt-F12). Если нет желания вникать в написанное ниже, можно просто попереключать пресеты, сглаживание, оригинальное соотношение сторон и полноэкранный режим в разных сочетаниях на разных платформах и оценить, насколько все логично и предсказуемо.
Итак, что сделано:
1. Весь вывод переписал под OpenGL. Должно быть меньше проблем при изменении размеров окна и т.п. Желательно протестировать на разных компьютерах, особенно на старых с Windows XP и старыми видеокартами - как Qt-версию (в том числе через D3D-wrapper emu80qt-dx.cmd), так и SDL.
2. Новый более четкий режим сглаживания, при котором сглаживаются только границы пикселов. Устанавливается по умолчанию для всех платформ, скорее всего будет оптимален для большинства случаев, особенно хорош для крупных масштабов. Режимы сглаживания (Без сглаживания - Границы пикселов - Билинейное (старый вариант)) циклически переключаются с помощью клавиш Alt-S либо кнопки на панели инструментов. В Qt-версии режим должен быть доступен всегда, в SDL - при возможности.
3. Новый набор пресетов. Количество пресетов было сокращено по сути до двух (Nx и "Изменяемый размер"), логика их работы также изменена. Сейчас выбор пресета влияет только на размер и поведение самого окна, на режимы сглаживания и реального соотношения сторон они не влияют. Например, выбор пресета 2x (Alt-2) устанавливает окно двойной высоты, ширина определяется настройкой соотношения сторон (Alt-R). Изменяемый размер (Alt-0) разрешает пользователю самому изменять размер окна.
4. Новый алгоритм приближенного соотношения сторон. Если раньше при выключенном точном соотношении сторон всегда использовался квадратный пиксель (или 2х3 для некоторых ПК), то сейчас наиболее подходящее целочисленное соотношение сторон пикселя рассчитывается автоматически, а настройки 2х3, 3х4 и т.п. упразднены. При желании в настройках можно принудительно установить использование квадратных пикселей, по умолчанию такая настройка сделана для Ориона.
5. Измененный алгоритм переключения в полноэкранный режим. Постарался сделать формат отображения в полноэкранном режиме наиболее логичным и примерно соответствующим оконному, из которого происходит переключение. При этом учитывается также факт включения сглаживания.
Это предварительная сборка, изменений много, возможны разного рода шероховатости. Если не обнаружится глобальных проблем, то доведу до ума и все это войдет в следующий релиз...
запустил в обеих версиях Радио-86РК
эмммм... а с каких пор по дефолту кирилическая раскладка клавиатуры??
я что-то не так делаю?
зы - скажу больше - раскладка меняется сама по себе как захочет :)
чянтд?-2
https://s.micp.ru/r3WUk.jpg
вообще не переключал раскладку. нажимаю по очереди пару клавиш. пару нижних строк :)
это "умная" раскладка?? пфф
zebest, ничего с клавиатурой не делал, и у меня по прежнему все ок. А как в предыдущих версиях?
Вообще, в режиме "умной" клавиатуры раскладка переключается средствами ОС, эмулятор сам Shift подставляет там, где надо и до этого нареканий не было.
Можно, конечно, клавиатуру в qwerty-режим переключить (Alt-Q) как временное решение...
Есть еще у кого-то такая проблема?
- - - Добавлено - - -
Я, кажется, понял
Если стоит русская раскладка, и нажимать на клавиши быстро, иногда проскакивает клавиша в латинской...
Посмотрю, что можно сделать. На латинице вроде бы все ок.
- - - Добавлено - - -
В SDL-версии тоже все ок. Проблема только на русской раскладке в "Умном" режиме, только в Qt-версии и только при быстром наборе. Причем проблеме уже года 3, никто просто не замечал.
Спасибо за баг-репорт!
ну и при запуске эмулятор переключает системную раскладку на Ru. Может он не будет так "шалить" ?
потом то при запуске конфы оно так и остается на русском. Как то неаккуратненько, доктор...
marinovsoft
07.04.2022, 20:42
Давно хотел спросить, а подключить "из коробки" ay8910 к эмулятору в режиме Корвет не получится? Для EMU я в конфиг добавлял
ppa3 : K580ww55 {
portA=AY.db
portB[6-7]=AY.bc1
}
Вот тема как это работает в железе https://zx-pk.ru/threads/26761-podklyuchenie-ay8910-k-korvetu.html
ну и при запуске эмулятор переключает системную раскладку на Ru. Может он не будет так "шалить" ?
потом то при запуске конфы оно так и остается на русском. Как то неаккуратненько, доктор...
Не, не, эмулятор таким не занимается, системную раскладку не трогает, так что смотри настройки системы. если по умолчанию в системе русский, в эмуляторе тоже сразу после запуска будет русский...
Давно хотел спросить, а подключить "из коробки" ay8910 к эмулятору в режиме Корвет не получится?
Хитрое подключение, правкой конфига не обойдешься, увы. В этом плане EMU более гибок. Но можно попробовать добавить поддержку в будущих версиях, на первый взгляд задача несложная.
Трудности перевода;)
Перед запуском эмулятора переключаю раскладку на EN.Запускаю эмулятор и системная раскладка сразу переключается на RU и переключает ее именно эмулятор
системная раскладка сразу переключается на RU и переключает ее именно эмулятор
Нет, не эмулятор
https://emu80.org/v4beta/Emu80qt_40404exp.7z - Qt-версия
https://emu80.org/v4beta/Emu80_40404exp.7z - wx/SDL-версия
Чем отличаются Qt от SDL?
Чем отличаются Qt от SDL?
Используемыми библиотеками. А с точки зрения пользователя - пользовательским интерфейсом. У SDL-версии даже меню как такового нет, основное средство управления - горячие клавиши...
Немножко отзывов:
1. Все так же щелкает звук при захвате окна, хождении по менюшкам.
2. Сглаживание по границам пикселей у меня не работает. Все остается, как в обычном режиме. А билинейное работает, но оно не катит, т.к. слишком мутное.
Все так же щелкает звук при захвате окна, хождении по менюшкам
Разнесение эмуляции и GUI по отдельным потокам - это следующий этап, в этом плане и не должно было что-либо измениться.
Сглаживание по границам пикселей у меня не работает. Все остается, как в обычном режиме.
В Qt-версии? Не должно такого быть - шейдер один, он либо работает либо нет. Может быть, просто был включен масштаб с целым коэффициентом, и сглаживать было нечего? Попробуй еще раз, только включи режим ручного изменения размера окна (Alt-0) и поизменяй вручную его размер.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot