Просмотр полной версии : Эмулятор "ZX Spectrum 48" на "Векторе-06Ц"
Вектор с 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)?
Программа из 90-х, плюс модифицированная версия с исправлениями 2011 года
Error404
11.04.2012, 15:38
Программа из 90-х, плюс модифицированная версия с исправлениями 2011 года
Т.е. исходников нет и спрашивать за счет чего эмуляция (или не эмуляция? почему оно не дает задержки?) бессмысленно?
Про звук для AY не понял. Разве он не получается автоматически? (Схема то наверняка совместимая cо Спектрумом - портами BFFD/FFFD)?
У Вектора порты 14h,15h. Поддержка AY добавлена в версии 2011 года.
Error404
11.04.2012, 15:44
Кишиневская схема Z80 имела какую-то аппаратную примочку для эмуляции, используемую этим эмулятором, или этот эмулятор - чисто софтверное решение и работает с Z80 по любой схеме?
Т.е. исходников нет и спрашивать за счет чего эмуляция (или не эмуляция? почему оно не дает задержки?) бессмысленно?
Кишиневская схема Z80 имела какую-то аппаратную примочку для эмуляции, используемую этим эмулятором, или этот эмулятор - чисто софтверное решение?
Исходников нет. Процессор тоже Z80, эмулируется экран, клава, дисковод, магнитофон, звук. Никаких аппаратных примочек нет. Только адаптер Z80 и все. Но он изначально задуман так, чтобы обеспечить максимальную совместимость, а не просто тупо заменить собой ВМ80А. Задержки есть, но я бы не сказал, что все очень плохо.
Error404
11.04.2012, 15:54
Только адаптер Z80 и все. Но он изначально задуман так, чтобы обеспечить максимальную совместимость, а не просто тупо заменить собой ВМ80А.
А чем именно это выражается?
Также возможна загрузка *.scl и *.trd файлов
откуда и куда? Ведь *.scl и *.trd это же как я понимаю образы дисков, а в эмулятор грузится наверное файл (некое подможество секторов из образа диска)
Тут 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).
Жаль конечно, что это не программное решение, которое можно было бы сдернуть, а именно программно-аппаратный эмулятор (аппаратный в существенной мере). На Орионе тоже похожее было, и тоже примерно в дюжине дополнительных микросхем. Но не прижилось как-то, у меня даже доков не осталось.
На Орионе тоже похожее было, и тоже примерно в дюжине дополнительных микросхем. Но не прижилось как-то, у меня даже доков не осталось.
Вроде, это была даже авторская разработка.... Я встречал только упоминания, но доком не видел... А такую примочку в виде отдельной платы, я бы к Ориону-ПРО прилепил бы...
Error404
15.04.2012, 15:32
Вроде, это была даже авторская разработка.... Я встречал только упоминания, но доком не видел... А такую примочку в виде отдельной платы, я бы к Ориону-ПРО прилепил бы...
Про авторские ничего не знаю. Слышал про Караваевскую на платах ташкентского Супер2 и про чистяковский вариант (а может он как обычно фантазировал). Как бы там ни было, эти вундервафли ничего не решили: 1996 был последним годом советских 8-биток, дальше - сплошной закат.
Монохром
В цвете тоже работает неплохо, только в оригинальной версии (и в моих модификациях до p8) автоматом подбирает цвета не всегда хорошо (зато быстро).
Wolf 48K (http://zx-pk.ru/showthread.php?t=19689) работает в эмуляторе спека. С артефактами, но все равно круто.
Как оказалось, визуальные артефакты в вольфе не являются следствием ошибок в zx320, они связаны с тем, как эмулируются атрибуты. Для полного счастья нужен (еще один) соответствующий режим эмуляции цвета.
Заодно выяснилось, что состояние (.emu) для режима эмуляции zx не восстанавливается полностью.
Там если что и не сохраняется, так это квазидиск. Но можно в конфиге добавить, чтобы сохранялся в тот-же файл, откуда и грузится.
ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.edd"
Появилась спековская тема (http://zx-pk.ru/showthread.php?p=634510#post634510) про виртуализацию.
Редкий случай, когда для вектора сделали что-то, чего нет на спеке. Пусть в адаптере Фролова "виртуализация" только части портов, но все же это было сделано в начале 90х, да еще и софтина написана.
В связи с темой во флейме попробовал elite в zx320p10. Пробовал только 3 tap версии - из них работают 2 (ELITE128.TAP и ELITEJCV.TAP). Рекомендую ELITE128.TAP, т.к. к ней подходят POKE из описания и казуальщики типа меня смогут сразу взять хотя бы docking computer. Купил, перелетел, причалил, продал, отгрузился, вышел и перезапустился, загрузился - все перечисленное работает. Отгружался в wav. Желающие могут попробовать версии для tr-dos, наверняка хоть одна да работает.
Общее впечатление - медленно.
- - - Добавлено - - -
Ну и бой тоже попробовал - работает.
Это правда на Векторе с Z80, если я правильно понимаю тему? Или за прошедшие годы был разработан JIT z80-8080?
Это с z80 (кишиневский адаптер). jit z80-8080 нет в природе (а было бы здорово), по крайней меря я про такую вещь не знаю. Дык и с z80 элита медленная, а уж с jit не представляю как бы было.
С jit это был бы "язык ада".
Хотя для других задач, где скорострельность не так важна, а совместимость иметь хочется, это могло бы быть актуально 30 лет назад.
Излагать по памяти из вторых рук - не очень здорово, но по другому не получится.
Товарищ (или господин) Желнов П.А. (http://www.sensi.org/scalar/author/21/) распространял программы. И в одной из своих реклам написал примерно следующее - кишиневский программист Фролов В. (http://www.sensi.org/scalar/author/219/) готовится выпустить эмулятор спектрума для вектора, который позволит запускать спековские программы, только медленнее в (не помню точно) 30-50 раз. А Фролов, как потом стало известно, выпустил аппаратно-прораммный эмулятор, который медленнее спека максимум раза в полтора (в худшем случае, а в среднем все не так плохо).
Скорее всего это было просто недопонимание в цепочке Кишинев->Отрадное и чисто программный эмулятор спека Фролов не планировал (но это уже мои домыслы).
Может планировал, но потом прикинул, что получается, и все-таки сделал как разумнее? В 30-50 раз медленней мало было бы заинтересованных по-моему.
Оффтоп, но мне не захотелось создавать тему "Беспочвенные фантазии".
По поводу программной эмуляции z80. Для ВМ85 возможен был промежуточный вариант. "Чипсет" перехватывает нужные (прописанные, например в РТ4) команды и генерирует немаскируемое прерывание, а там уже эмулируем. Желательно предусмотреть при входе в обработчик автоматическое переключение страницы в районе начальных адресов с сохранением старого номера страницы в регистре. Адрес возврата в идеале тоже лучше сохранять в регистрах, а не в памяти. По скорости было бы сравнимо с результатами рекомпиляции, по крайней мере с неоптимизированными. Несовместимость (флаги) тоже на уровне рекомпиляций, т.е. не идеально, но жить можно. И это намного быстрее чисто программной эмуляции (с интерпретацией), т.к. большинство команд в программах z80 относятся к "подмножеству 8080".
Фичу лучше сделать отключаемой.
Как вариант, вместо РТ4 можно было поставить SRAM, тогда можно эмулировать и 580ВМ1 и что захочется, но, конечно, это дороже и сложнее, особенно для того времени.
Насчет быстродействия я погорячился. Аккуратный вход в прерывание займет не так уж мало времени, а потом еще выход. Т.е. рекомпилированные программы быстрее.
тыщу лет мучает мысля
программно аппаратный комплек эмуляции zx можно использовать в любом отечественном пк на 580
адаптер Фролова не требует ведь никаких модификаций основной платы ?
по идее этот адаптер отлично встанет в Орион, без всяких переделок
ускорить и турбой можно , это ведь уже не так интересно о
дальше мысль без ivagor конечно не двинется, но вот
Программно-аппаратный комплекс Фролова заточен под вектор. Даже если не вдаваться в детали, что вспоминается: в компьютере должны быть 50 Гц прерывания, пару (или больше, но не много) проводков нужно допаять к плате (т.е. не просто заменить ВМ80 на эту плату), строение экрана д.б. подобно вектору, программная часть сильно завязана на использование квазидиска.
В орионе многое уже и так сделано в z80-card II, не хватает эмуляции экрана, клавиатуры и собственно программной части. Экран и клавиатуру можно эмулировать аналогично адаптеру Фролова: ч/б экран - перепутыванием адресов, цветной - программно (на орионе с цветом будет проще, точнее и быстрее, чем на векторе), клавиатуру - по NMI (или, как предлагал Error404, sramиной).
Многобукаф, а если коротко - просто взять и использовать адаптер Фролова и программу от него на любом компе с ВМ80 нельзя. Нужно дорабатывать напильником, где-то больше, где-то меньше.
В адаптере Фролова были реализованы (среди прочего) частичная защита памяти и частичная виртуализация ввода-вывода. А тут (https://www.youtube.com/watch?v=DLSUAVPKeYk) парнишка рассказывает, как он сделал полные варианты+еще кое что. Технических откровений там нет, но радует, что тема еще интересует людей.
А тут парнишка рассказывает, как он сделал полные варианты+еще кое что
Лучше б он статью написал и опубликовал, а не шпрехал на невнятном фоне. Но видимо цель у него - продать себя, а не только свои идеи.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot