PDA

Просмотр полной версии : Эмуляторы ZX Spectrum для Raspberry Pi



CityAceE
16.10.2014, 03:26
Raspberry Pi довольно интересная штука, у которой довольно много общего с ZX Spectrum - это отмечают многие. Вполне естественно, что в первую очередь после приобретения этой машинки хочется установить на неё эмулятор ZX Spectrum. Однако не смотря на то, что эмуляторов на сегодняший день написано великое множество, под Raspberry Pi сходу находятся только два:

1. Fuse (http://raspi.tv/2012/how-to-install-fuse-zx-spectrum-emulator-on-raspberry-pi)

http://www.youtube.com

2. Unreal Speccy Portable (http://store.raspberrypi.com/projects/unreal_speccy_portable)

http://www.youtube.com

Есть ещё Spectrum Basic (https://sites.google.com/site/pauldunn/home), который не является эмулятором в общепринятом смысле.
http://digitrode.ru/images/2013/08/23/13.jpg

Неужели это всё? Не верю! :)

Vitamin
16.10.2014, 07:18
Xpeccy от SAM style. Но тяжеловат он для этой железки- без заиканий работает только в оконном режиме и без эмуляции всяких дополнительных железок.

CityAceE
16.10.2014, 08:15
Xpeccy от SAM style.
А есть готовые DEB-пакеты или обязательно надо из исходников компилировать? Боюсь даже предположить сколько этот процесс на Raspberry Pi времени займёт :)

Vitamin
16.10.2014, 10:30
А есть готовые DEB-пакеты или обязательно надо из исходников компилировать?
Вот бинарь https://dl.dropboxusercontent.com/u/2393036/xpeccy/xpeccy из самой свежей версии. Про работоспособность не знаю.


Боюсь даже предположить сколько этот процесс на Raspberry Pi времени займёт
Чуть менее 20 минут.
Я хз как там кросс-сборку сделать- она всяко быстрее. Например, один энтузиаст компилировал zxtune прямо на малине- заняло почти сутки. Для примера, сборка на билд-ферме (8 ядер по 2.5ГГц) занимала около 5 минут.

CityAceE
16.10.2014, 15:50
Про работоспособность не знаю.

Запустился, только работает очень медленно даже стандартная модель 48к в оконном режиме. Потом я собрал Xpeccy из исходников сам. У меня собиралось явно дольше 20 минут. Точно не засекал, но мне показалось, что в районе минут сорока. Собирал с ключами, ускоряющими быстродействие эмулятора. К сожалению, и этот вариант также оказался слишком медленным для Raspberry Pi. DEB также получить не удалось из-за возникающих ошибок. В общем, похоже, что в текущей версии Xpeccy явно не годится для Raspberry Pi. А жаль...

13joe
16.10.2014, 19:10
Интересно, а эмулятор ZEMU тоже будет тормозить на Pi-шке ?

CityAceE
17.10.2014, 15:45
Интересно, а эмулятор ZEMU тоже будет тормозить на Pi-шке ?
Не получается скомпилировать - вылетает с ошибкой:


pi@raspberrypi ~/zemu-dist $ ./build.sh
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
Ruby found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found.
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found SDL: /usr/lib/arm-linux-gnueabihf/libSDLmain.a;/usr/lib/arm-linux-gnueabihf/libSDL.so;-lpthread
SDL found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/zemu-dist/zemu
[ 1%] Generating ../lib_zame_z80-src/z80ex_dasm.h
/home/pi/zemu-dist/zemu/zame_z80/nspp:22:in `+': can't convert nil into String (TypeError)
from /home/pi/zemu-dist/zemu/zame_z80/nspp:22:in `process_file'
from /home/pi/zemu-dist/zemu/zame_z80/nspp:69:in `<main>'
lib_zame_z80/CMakeFiles/z80ex_wrapper.dir/build.make:173: ошибка выполнения рецепта для цели «lib_zame_z80-src/z80ex_dasm.h»
make[2]: *** [lib_zame_z80-src/z80ex_dasm.h] Ошибка 1
CMakeFiles/Makefile2:110: ошибка выполнения рецепта для цели «lib_zame_z80/CMakeFiles/z80ex_wrapper.dir/all»
make[1]: *** [lib_zame_z80/CMakeFiles/z80ex_wrapper.dir/all] Ошибка 2
Makefile:72: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2

esl
17.10.2014, 19:06
для пая есть несколько готовых сборок с эмуляторами
все как понял работают без X
в основном SDL

я пробовал вот эту http://chameleon.enging.com/
еще их есть ;)
http://pimame.org/

удобно, готовая флешка, вставил и играй/

sergio78
17.10.2014, 22:54
вообще странно это. эмуль rpix86 i486 33 мгц с vga маштабированием тянет. а спектрумовские эмуляторы тормозят. не ужели, ни одного нормального под arm линукс нету?

---------- Post added at 22:54 ---------- Previous post was at 22:47 ----------



в основном SDL

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

CityAceE
18.10.2014, 00:11
для пая есть несколько готовых сборок с эмуляторами
все как понял работают без X
Лично я тестировал сборку RetroPie (http://blog.petrockblock.com/retropie/). И вот RetroPie точно без иксов работает. За Спектрум в этой сборке отвечает эмулятор FUSE.

andykarpov
25.12.2014, 00:58
Лично я тестировал сборку RetroPie (http://blog.petrockblock.com/retropie/). И вот RetroPie точно без иксов работает. За Спектрум в этой сборке отвечает эмулятор FUSE.

Пробовал RetroPie и ChameleonPi.
Из впечатлений:

1) под RetroPie достаточно стабильно работают NES / SNES / MAME. При этом если все правильно сделать - получится такая себе штучка со 100500 игрушками, картинками / скриншотами / описаниями и удобным меню выбора нужной игры. USB gamepad а-ля SNES вообще привносит ощущение реальной приставки, при этом после настроек клавиатура, в общем-то, не нужна, только геймпад. Для нормальной работы, правда, пришлось немного overclock'нуть проц.

2) под Chameleon более стабильно работают эмули ZX Spectrum'а (FUSE), Apple ][, C64, и других ретро-компов. Правда универсальных кнопок нет, в каждом эмуляторе свои горячие клавиши.

Посему логично попробовать оба и иметь 2 флешки, под разные нужды :)

Оба проекта давненько не обновлялись, кстати. Оч надеюсь, что авторы на них не забили.

null_device
16.04.2017, 19:13
Заинтересовался, что вообще может предложить raspberry pi 3 model b? Точнее, как обстоят дела с эмуляцией spectrum-клонов (того же Пентагон 128К, например)?
Ибо звучание того же USP под андроидом (как я понял, подходят только эмуляторы unix) - мне понравилось не особо. Или, стоит подождать четвертой инкарнации платформы...

null_device
14.09.2017, 20:20
Приобрел вторую ревизию "малины".
Пробовал ставить RECALBOX и RETROPIE. Ни в одном, не вдуплил, как заставить вшитые в оболочку эмуляторы, "понимать" образы дискет tr-dos (вроде как, в обоих стоит FUSE, который почему-то не "дружит" с эмуляцией отечественных клонов).
В *unix системах, особо не разбираюсь, поэтому, не особо могу себе представить, как туда "затолкать" Unreal Speccy.

null_device
21.09.2017, 14:23
Ларчик, открылся просто. Всего-то и надо было: извлечь из установщика эмулятора, в папке "ROMS", нужные образы ПЗУ. И закинуть их в /home/pi/RetroPie/BIOS/fuse

Photocor
08.11.2017, 15:24
Всего-то и надо было: извлечь из установщика эмулятора, в папке "ROMS", нужные образы ПЗУ
Подскажите, про какие образы ПЗУ речь? Имеются ввиду образы ПЗУ самого спектрума? А где их взять?
Купил себе тоже маленькую, но более мощную железку - ODROID XU4 (примерно в 2-2.5 раз быстрее RaspberryPi 3B). Под нее влет ставятся сборки Recalbox, Lakka (есть образы именно под Одроид) - а вот RetroPie через длинный алгоритм ручной настройки, который бросил на полпути.
Так вот, интересует, что нужно в какие папки класть, чтобы запускать спектрумовские игры в Recalbox (с приставками, как и встарь, так и сейчас все просто - воткнул ROMы картриджей и играешь). Больше всего у меня накачано TRD-образов, с которыми, похоже, пролетаю. Или нет?

shurik-ua
08.11.2017, 16:31
в любом виндовом эмуляторе есть папки с ромами - их оттуда и взять можно

Photocor
08.11.2017, 17:39
О, нашел вот отдельно - главное выбрать что надо: http://mdfs.net/Software/Spectrum/ROMImages/

Так понимаю, что для комфортной игры в большинстве случаев будет достаточно ROMа родной модели +3. Ну и, опять же, поэкспериментировать с отечественными моделями, имевшими BDI и TR-DOS (только не как мой Квант-БК, а со 128к на борту).

UPD. Попробовал, по ощущениям - совсем не то. Ну не воспринимается у меня спектрумовский софт без спектрумовской клавиатуры. Так что на эмуляторе с джойстиком продолжу играть в консольные игры, а для удобного погружения в мир ZX подожду посылочку с NEXTом.

Bubel
01.05.2018, 14:03
Что-нибудь было нового по сабжу? Может какой то эмуль портировали лучше или какой то обновился и стал лучше других?
В малиновой эмуляции меня интересует такая фича - можно ли выводить звук на 3 канала? Cтерео с AY и моно с бипера (с GPIO)

krt17
01.05.2018, 14:25
Есть чудесный ZXBaremulator (http://zxmini.speccy.org/), но это барметал. На восе и spectrumcomputing достаточно активно обсуждается и что то пилится.

andykarpov
01.05.2018, 22:20
Что-нибудь было нового по сабжу?
На днях попробовал Sedai Linux 0.0.11 на RPi 3B - очень занятная сборка.
Оно изначально заточено под всякие Amiga / Commodore, но и ZX Spectrum с недавних пор умеет через fuse.
Так вот, особенности сборки - стартует моментально, по скорости сопоставимо с ZXBaremulator, по удобству - на порядок удобнее, ибо fuse-sdl, ИМХО.
Есть некоторые не совсем очевидные вещи при установке: после прожига образа флешки нужно запустить некоторую виндовую утилиту для выбора эмулятора, который будет запускаться при старте. Суть, насколько я понял, в создании этой мега-утилитой некоего файлика boot.conf с прописанной внутри одной строчкой - какой эмуль будет стартовать )
Также куда-то в /usr/share/ нужно докинуть отсутствующие rom-файлы для поддержки пентагона, gluck и так далее...
У проекта вроде нет отдельного сайта, я качал по ссылке из группы в FB: https://www.facebook.com/sedai.linux/

sergio78
02.05.2018, 15:22
по удобству - на порядок удобнее, ибо fuse-sdl, ИМХО.
в чем собственно это самое удобство заключается? я вот этот эмулятор вообще не признаю, так как они там равели несколько разных версий, и одна у меня на минте или дебиане вечно не запускалась, другая запускалась, но в неразворачиваемом маленьком окошке всегда. плюс нужно с ромами отдельно мудрить, а из коробки их нет, или их как то самостоятельно в конфиге прописывать нужно было.

andykarpov
02.05.2018, 16:27
в чем собственно это самое удобство заключается?

Ну как минимум тем, что все менюшки достаточно удобны и отрисованы в стиле ZX-Spectrum ;)
Во-вторых эмуль позволяет использовать разные конфигурации спектрумов, такие как 16к, 48к, 128к, 2+, 3+, пентагонов разных (если ромы подбросить) со всеми примочками и дополнительной периферией (DivMMC, DivIDE, звуковых интерфейсов буржуйских всяких разных много, джойстики, и тп).
В-третьих - практически всеядность, понимает почти все форматы (TAP, TRD, TZX, PZX, Z80, SNA, и тп).
Качество эмуляции на высоте, разве что с мульти-колорами чуток пролет из-за HDMI на 60 Гц...


я вот этот эмулятор вообще не признаю,

На вкус и цвет, как говорится, все фломастеры разные )))
Ну и зря, он шикарен ) а под мак версия - вообще прелесть!


так как они там равели несколько разных версий

Разных версий, фактически, несколько, это правда:
1. SDL версия для запуска без X-ов
2. GTK версия для запуска из-под X-ов
3. Под мак вообще отдельный подпроект с нативным интерфейсом и плюшками )
4. По поводу виндовой версии - ничего не подскажу, к сожалению, не видел.
5. Вроде бы еще есть этот эмуль в виде библиотеки под libRetro, именно он в RetroPie используется последнем, вот тут вообще мне не понравилось, ибо умеет только запускать заранее подготовленные образы без всяких на то настроек или интерфейса.

В любом случае, дистрибутив советую как минимум попробовать, если есть соотв. малина, вроде на первых и вторых не пойдет, а заточен только под 3B и 3B+.

sergio78
02.05.2018, 22:13
а под мак версия - вообще прелесть!
у меня мака нет, не знаю. на моем пека он мне не понравился.

DivMMC, DivIDE, звуковых интерфейсов буржуйских всяких разных много, джойстики, и тп).
может это потому что весь этот зоопарк мне тоже ненужон.

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


а заточен только под 3B
у меня 3b как раз. и если китасы с алиекспреса поубавят свою уже нехилую жадность, то и 3b+ у меня тоже появится.

fomonster
21.05.2018, 00:25
Есть много видео про fuse, например https://www.youtube.com/watch?v=giDs82x2qnk . Внешне очень занятная штука. Всё что нужно есть.

backa
12.06.2018, 02:33
Может кто подскажет почему эмулятор Fuse в RetroPie наотрез отказывается запускать игры в формате "SCL" (брал на VTRD) , несмотря на заявленную поддержку на страничке проекта (https://retropie.org.uk/docs/ZX-Spectrum/)?
В других форматах могут не запускаться (зависать на заставке например). Чем ему этот формат не устраивает(((

null_device
12.06.2018, 04:01
почему эмулятор Fuse в RetroPie наотрез отказывается запускать игры в формате "SCL" (брал на VTRD)

Нужно докачать образы *ROMов для правильной эмуляции клонов с BDI (https://github.com/libretro/fuse-libretro/issues/23). Сделать это можно, если извлечь из установщика эмулятора, в папке "ROMS", нужные образы ПЗУ. И закинуть их в /home/pi/RetroPie/BIOS/fuse

backa
12.06.2018, 05:23
Нужно докачать образы *ROMов для правильной эмуляции клонов с BDI (https://github.com/libretro/fuse-libretro/issues/23). Сделать это можно, если извлечь из установщика эмулятора, в папке "ROMS", нужные образы ПЗУ. И закинуть их в /home/pi/RetroPie/BIOS/fuse
Ок! спасибо за наводку) Буду пробовать... Хоться сделать мелкую коробченку в которой все от 8митного мира внутри было бы )) Железо есть (нулевка с вайфаем) ... осталось настроить это все.

Trunk17
30.09.2019, 13:01
Собрал себе коробочку для сего милого девайса.

https://i.imgur.com/lOFtcDQl.jpg (https://i.imgur.com/lOFtcDQ.jpg)

https://i.imgur.com/GGYOmN2l.jpg (https://i.imgur.com/GGYOmN2.jpg)

https://i.imgur.com/oYcNxPUl.jpg (https://i.imgur.com/oYcNxPU.jpg)

Осталось только запитать подсветку кнопок. Но хочется, чтобы было два режима.

Dexus
30.09.2019, 16:21
Насколько я помню, под RetroPie нет нормального эмулятора для libretro, а "нативные" (типа унреала) через одно место конфигуряемо (и без клавы вообще не реально даже запустить и поиграться).
Есть только один древний lr-fuse 1.1, который, не обновлялась уже 4 года, и судя по комментам "до нового ледникового периода" можно не ждать.
https://github.com/libretro/fuse-libretro/issues/33

Bedazzle
30.09.2019, 20:43
Собрал себе коробочку для сего милого девайса.


Офигенно! А как картинка на короб делалась?

Trunk17
30.09.2019, 22:04
Насколько я помню, под RetroPie нет нормального эмулятора для libretro, а "нативные" (типа унреала) через одно место конфигуряемо (и без клавы вообще не реально даже запустить и поиграться).
Есть только один древний lr-fuse 1.1[/url]

Да. Но я в перемешку использую fuse. Он очень годный. + для Z80 клавиатура маст-хев.
До этого малинка стояла в корпусе от синтез-2, с подключенной родной клавой через ардуино-леонардо. Потом переехала в корпус от мини-NES. Теперь живет в таком виде. А клавиатура в выдвижной полке под столешницей с кнопками и джоями поселится. Есть игры, которым только кнопками управлять.



Офигенно! А как картинка на короб делалась?

Заказывал печать в рекламном агенстве на самоклеющуюся пленку, оклейку и фрагметны из плексигласа.

Dexus
01.10.2019, 00:17
Есть игры, которым только кнопками управлять.
Игр где для управления надо больше 8ми кнопок помимо направлений - единицы.
Запустил, вызвал экранную клавиатуру, заредифайнил (если больше стандартных qaopm/Синклера/кемстона), и вперёд. Но нет. Экранной клавы, управляемой геймпадом, нет. Имеющаяся fuse 1.1 - кривое *****.

То есть по сути то что сейчас на retropie - совершенно недружественно zx (впрочем, и с C64 тоже не все гладко)

Trunk17
01.10.2019, 18:23
Да тут дело не в управлении в самой игре. там и впрямь очень мало игр, где более 5 кнопок используется. Я о том, что после загрузки надо нажать какую либо кнопку выбора типа управления и для запуска самой игры. Тут уж клава нужна.

ZXMAK
03.09.2024, 05:57
ZEmu после допиливания напильником очень неплохо на raspberry pi 4 идет. Гораздо шустрее чем fuse. Там в коде нужно убрать второй поток из которого SDL_RenderPresent вызывается, его нужнов вызывать в том-же потоке, что и SDL_PollEvents. Компилить под SDL2.