PDA

Просмотр полной версии : Эмулятор "ZX Spectrum 48" на "Векторе-06Ц"



Tim0xA
11.04.2012, 15:18
Вектор с Z80 может эмулировать ZX-Spectrum 48
http://www.sensi.org/~svo/scalar/ware/605/

http://sensi.org/~svo/scalar/media/s/zx3211.png http://sensi.org/~svo/scalar/media/s/EXOLON1.png

http://s019.radikal.ru/i608/1204/fc/9222bdb1ff54.png http://s41.radikal.ru/i094/1204/e0/ae906a8fa404.png

Причем, работает довольно сносно. Монохром, но зато с AY-звуком.

Error404
11.04.2012, 15:26
Вектор с Z80 может эмулировать ZX-Spectrum 48
http://www.sensi.org/~svo/scalar/ware/605/

Причем, работает довольно сносно. Монохром,

Это новодел? Или программа из 90-х?


но зато с AY-звуком.

Про звук для AY не понял. Разве он не получается автоматически? (Схема то наверняка совместимая cо Спектрумом - портами BFFD/FFFD)?

Tim0xA
11.04.2012, 15:27
Программа из 90-х, плюс модифицированная версия с исправлениями 2011 года

Error404
11.04.2012, 15:38
Программа из 90-х, плюс модифицированная версия с исправлениями 2011 года

Т.е. исходников нет и спрашивать за счет чего эмуляция (или не эмуляция? почему оно не дает задержки?) бессмысленно?

Tim0xA
11.04.2012, 15:40
Про звук для AY не понял. Разве он не получается автоматически? (Схема то наверняка совместимая cо Спектрумом - портами BFFD/FFFD)?
У Вектора порты 14h,15h. Поддержка AY добавлена в версии 2011 года.

Error404
11.04.2012, 15:44
Кишиневская схема Z80 имела какую-то аппаратную примочку для эмуляции, используемую этим эмулятором, или этот эмулятор - чисто софтверное решение и работает с Z80 по любой схеме?

Tim0xA
11.04.2012, 15:45
Т.е. исходников нет и спрашивать за счет чего эмуляция (или не эмуляция? почему оно не дает задержки?) бессмысленно?

Кишиневская схема Z80 имела какую-то аппаратную примочку для эмуляции, используемую этим эмулятором, или этот эмулятор - чисто софтверное решение?
Исходников нет. Процессор тоже Z80, эмулируется экран, клава, дисковод, магнитофон, звук. Никаких аппаратных примочек нет. Только адаптер Z80 и все. Но он изначально задуман так, чтобы обеспечить максимальную совместимость, а не просто тупо заменить собой ВМ80А. Задержки есть, но я бы не сказал, что все очень плохо.

Error404
11.04.2012, 15:54
Только адаптер Z80 и все. Но он изначально задуман так, чтобы обеспечить максимальную совместимость, а не просто тупо заменить собой ВМ80А.


А чем именно это выражается?



Также возможна загрузка *.scl и *.trd файлов

откуда и куда? Ведь *.scl и *.trd это же как я понимаю образы дисков, а в эмулятор грузится наверное файл (некое подможество секторов из образа диска)

Tim0xA
11.04.2012, 16:01
Тут http://www.sensi.org/~svo/scalar/ware/571/ есть еще информация

---------- Post added at 15:01 ---------- Previous post was at 14:54 ----------

TR-DOS тоже эмулируется, можно работать с дисками.

В эмуляторе b2m я пробовал подгружать только TAP-файлы. ivagor утверждал, что TRD и SCL тоже поддерживаются.

Error404
11.04.2012, 16:05
Ну, примерно так я и думал:


kratko nazna~enie bitow porta 80n.
0-oj -wkl`~enie sinklerowskogo |krana.
1-yj -inwersiq star{ego bita adressa ozu.
2-oj -inwersiq signala STEC.
3-ij -formirowanie STEC pri obra}enii k adressu (HL).
4-yj -nemaskiruemoj prerywanie po neznakomym portam.
5-yj -blokirowka STEC pri obra}enii k adresam ozu 4000-5FFFH, blokirowka zapisi pri obra}enii k adresam 0-3FFFFH.
6-oj -bystrodejstwie.
7-oj -wykl`~enie signala STEC pri obra}enii k adresu (STEC).


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

BYTEMAN
15.04.2012, 12:21
На Орионе тоже похожее было, и тоже примерно в дюжине дополнительных микросхем. Но не прижилось как-то, у меня даже доков не осталось.
Вроде, это была даже авторская разработка.... Я встречал только упоминания, но доком не видел... А такую примочку в виде отдельной платы, я бы к Ориону-ПРО прилепил бы...

Error404
15.04.2012, 15:32
Вроде, это была даже авторская разработка.... Я встречал только упоминания, но доком не видел... А такую примочку в виде отдельной платы, я бы к Ориону-ПРО прилепил бы...

Про авторские ничего не знаю. Слышал про Караваевскую на платах ташкентского Супер2 и про чистяковский вариант (а может он как обычно фантазировал). Как бы там ни было, эти вундервафли ничего не решили: 1996 был последним годом советских 8-биток, дальше - сплошной закат.

ivagor
26.08.2012, 13:12
Монохром
В цвете тоже работает неплохо, только в оригинальной версии (и в моих модификациях до p8) автоматом подбирает цвета не всегда хорошо (зато быстро).

ivagor
19.01.2013, 14:27
Последний вариант.

ivagor
19.01.2013, 14:28
Еще немного скриншотов.

ivagor
30.03.2013, 09:34
Wolf 48K (http://zx-pk.ru/showthread.php?t=19689) работает в эмуляторе спека. С артефактами, но все равно круто.

ivagor
31.03.2013, 08:18
Как оказалось, визуальные артефакты в вольфе не являются следствием ошибок в zx320, они связаны с тем, как эмулируются атрибуты. Для полного счастья нужен (еще один) соответствующий режим эмуляции цвета.

ivagor
31.03.2013, 13:10
Заодно выяснилось, что состояние (.emu) для режима эмуляции zx не восстанавливается полностью.

b2m
31.03.2013, 14:53
Там если что и не сохраняется, так это квазидиск. Но можно в конфиге добавить, чтобы сохранялся в тот-же файл, откуда и грузится.

ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.edd"

ivagor
17.10.2013, 14:44
Появилась спековская тема (http://zx-pk.ru/showthread.php?p=634510#post634510) про виртуализацию.
Редкий случай, когда для вектора сделали что-то, чего нет на спеке. Пусть в адаптере Фролова "виртуализация" только части портов, но все же это было сделано в начале 90х, да еще и софтина написана.

ivagor
01.01.2018, 11:25
В связи с темой во флейме попробовал elite в zx320p10. Пробовал только 3 tap версии - из них работают 2 (ELITE128.TAP и ELITEJCV.TAP). Рекомендую ELITE128.TAP, т.к. к ней подходят POKE из описания и казуальщики типа меня смогут сразу взять хотя бы docking computer. Купил, перелетел, причалил, продал, отгрузился, вышел и перезапустился, загрузился - все перечисленное работает. Отгружался в wav. Желающие могут попробовать версии для tr-dos, наверняка хоть одна да работает.
Общее впечатление - медленно.

- - - Добавлено - - -

Ну и бой тоже попробовал - работает.

svofski
01.01.2018, 15:24
Это правда на Векторе с Z80, если я правильно понимаю тему? Или за прошедшие годы был разработан JIT z80-8080?

ivagor
01.01.2018, 15:58
Это с z80 (кишиневский адаптер). jit z80-8080 нет в природе (а было бы здорово), по крайней меря я про такую вещь не знаю. Дык и с z80 элита медленная, а уж с jit не представляю как бы было.

svofski
01.01.2018, 16:43
С jit это был бы "язык ада".

Хотя для других задач, где скорострельность не так важна, а совместимость иметь хочется, это могло бы быть актуально 30 лет назад.

ivagor
01.01.2018, 18:51
Излагать по памяти из вторых рук - не очень здорово, но по другому не получится.
Товарищ (или господин) Желнов П.А. (http://www.sensi.org/scalar/author/21/) распространял программы. И в одной из своих реклам написал примерно следующее - кишиневский программист Фролов В. (http://www.sensi.org/scalar/author/219/) готовится выпустить эмулятор спектрума для вектора, который позволит запускать спековские программы, только медленнее в (не помню точно) 30-50 раз. А Фролов, как потом стало известно, выпустил аппаратно-прораммный эмулятор, который медленнее спека максимум раза в полтора (в худшем случае, а в среднем все не так плохо).
Скорее всего это было просто недопонимание в цепочке Кишинев->Отрадное и чисто программный эмулятор спека Фролов не планировал (но это уже мои домыслы).

svofski
01.01.2018, 19:28
Может планировал, но потом прикинул, что получается, и все-таки сделал как разумнее? В 30-50 раз медленней мало было бы заинтересованных по-моему.

ivagor
23.06.2018, 10:53
Оффтоп, но мне не захотелось создавать тему "Беспочвенные фантазии".
По поводу программной эмуляции z80. Для ВМ85 возможен был промежуточный вариант. "Чипсет" перехватывает нужные (прописанные, например в РТ4) команды и генерирует немаскируемое прерывание, а там уже эмулируем. Желательно предусмотреть при входе в обработчик автоматическое переключение страницы в районе начальных адресов с сохранением старого номера страницы в регистре. Адрес возврата в идеале тоже лучше сохранять в регистрах, а не в памяти. По скорости было бы сравнимо с результатами рекомпиляции, по крайней мере с неоптимизированными. Несовместимость (флаги) тоже на уровне рекомпиляций, т.е. не идеально, но жить можно. И это намного быстрее чисто программной эмуляции (с интерпретацией), т.к. большинство команд в программах z80 относятся к "подмножеству 8080".
Фичу лучше сделать отключаемой.
Как вариант, вместо РТ4 можно было поставить SRAM, тогда можно эмулировать и 580ВМ1 и что захочется, но, конечно, это дороже и сложнее, особенно для того времени.

ivagor
23.06.2018, 20:33
Насчет быстродействия я погорячился. Аккуратный вход в прерывание займет не так уж мало времени, а потом еще выход. Т.е. рекомпилированные программы быстрее.

zx_
24.06.2018, 10:35
тыщу лет мучает мысля
программно аппаратный комплек эмуляции zx можно использовать в любом отечественном пк на 580
адаптер Фролова не требует ведь никаких модификаций основной платы ?
по идее этот адаптер отлично встанет в Орион, без всяких переделок
ускорить и турбой можно , это ведь уже не так интересно о

дальше мысль без ivagor конечно не двинется, но вот

ivagor
24.06.2018, 12:08
Программно-аппаратный комплекс Фролова заточен под вектор. Даже если не вдаваться в детали, что вспоминается: в компьютере должны быть 50 Гц прерывания, пару (или больше, но не много) проводков нужно допаять к плате (т.е. не просто заменить ВМ80 на эту плату), строение экрана д.б. подобно вектору, программная часть сильно завязана на использование квазидиска.
В орионе многое уже и так сделано в z80-card II, не хватает эмуляции экрана, клавиатуры и собственно программной части. Экран и клавиатуру можно эмулировать аналогично адаптеру Фролова: ч/б экран - перепутыванием адресов, цветной - программно (на орионе с цветом будет проще, точнее и быстрее, чем на векторе), клавиатуру - по NMI (или, как предлагал Error404, sramиной).
Многобукаф, а если коротко - просто взять и использовать адаптер Фролова и программу от него на любом компе с ВМ80 нельзя. Нужно дорабатывать напильником, где-то больше, где-то меньше.

ivagor
27.12.2022, 20:07
В адаптере Фролова были реализованы (среди прочего) частичная защита памяти и частичная виртуализация ввода-вывода. А тут (https://www.youtube.com/watch?v=DLSUAVPKeYk) парнишка рассказывает, как он сделал полные варианты+еще кое что. Технических откровений там нет, но радует, что тема еще интересует людей.

andrews
27.12.2022, 21:40
А тут парнишка рассказывает, как он сделал полные варианты+еще кое что
Лучше б он статью написал и опубликовал, а не шпрехал на невнятном фоне. Но видимо цель у него - продать себя, а не только свои идеи.