ITСooky

IT-рецепты съедобные и не очень!

Играем в старые приставочные игры на Raspberry Pi 3 в корпусе NesPi!

дата 11.02.2018

Мышь и клава вот оружие гэймера все остальное баловство. Честно признаюсь вот тогда в 90-х не играл в приставки вообще, и потом тоже, хотя играл раньше в Atari 2600. Но остальные то играли…

…и старые игры все таки очаровывают, они уже не смотрятся, но у каждый есть своя изюминка, и они понастоящему сложные. Так что симулятору ретро игр надо быть в каждом доме! И еще 30 лет смотрел Звездные Войны и не зал что там такой богатый мир на самом деле, тогда еще в 90 там столько всего было в играх, судя по первому уровню который не удалось завершить пока!

Raspberry Pi 3 вообще не хотел покупать с начала, думал обойтись Orange Pi Pc Plus там уже был настроен RetroOrange Pi — игры игрались, два старых джостика не дружили и заедали, ну и подглючивал конечно на некоторых играх и платформах. Но даже в таком виде это был успех у юзеров! Так что купил шикарный ретро кейс под Nes, в России его никогда не видели, до нас доходили только клоны — Dendy и пр. Но тем немнее приставочка вошла в нашу кульутур вот она в мульте «Аркадий Паровозов спешит на помощь» эпизод «Незнакомец»

Однако апельсин в него не влез. Так что срочно прикупил Raspberry Pi 3, знал что он больше греется и излишне производительно для ретро симулятора, но Raspberry Pi 2 у китайцев стоил дороже… не могу понять по-чему!

Покупал вот тут ru.aliexpress.com/item/RS-Version-Made-in-UK-Original-Raspberry-Pi-3-Model-B-1GB-LPDDR2-BCM2837-Quad-Core/32809341594.html за 2 181,82 руб. и там же блок питания ru.aliexpress.com/item/5V3A-5V-3A-Raspberry-PI-2-Model-B-Power-Adapter-Raspberry-PI-Power-Adapter-power-supply/32381927584.html за 272,30 руб. Кстати Малинка обошлась всего на 600 рублей дешевле чем в офлайне, но в офлайне только OEM без коробки. На китайской коробке из под китайской малинки написано сделано в UK ну и ладно лишь бы работала! Плата пованивает.

Сравню Raspberry Pi 3 с Orange Pi PC и семейством с начало фото:


Вообще не похожи — ни элементы, ни разъемы, ни даже крепежные отверстия. С чего Апельсинку называют клоном Малинки, не понятно, я тоже называл её так!

Для тестов быстренько надо ставить Raspbian Stretch Lite в эйто версии нет Desktop окружения.

Качаю www.raspberrypi.org/downloads/raspbian/

Готовлю SD карту, поступила критика что я пользуюсь Gparted Partition Editor, в том смысле что сидишь в Ubunta а форматируешь оконным редакторм — и действительно.

Подключим карту памяти и посмотрим в системе где она
sudo lsblk
В моем случае она sde та что 16 GB
Теперь её надо вынуть (но она все равно останестя в иконках дисков)
sudo umount /dev/sde1
теперь затрем
sudo mkfs.vfat -I /dev/sde
опять отмонтируем
sudo umount /dev/sde
Разархивируем образ Raspbean и запишем на карту, это занимает несколько минут
unzip 2017-11-29-raspbian-stretch-lite.zip
sudo dd bs=1M if=2017-11-29-raspbian-stretch-lite.img of=/dev/sde

Втыкаем карту в Raspberry Pi 3 кстати тут нет такого же карта приемника как в Orange Pi карта просто залезает и не фиксируется, в апельсинка на карту надо нажать чтобы она вылезла.

Удивительно но загрузилась, а вот с ssh пришлось повозиться. Помог совет с сайта — на карте в BOOT разделе надо сделать файл с именем ssh и оно после этого будет работать. Пробуйте так, я правда перед этим попробовал все другие способы может из-за них работает.

Какой малинка получила IP я посмотрел на роутере, можно и на малинку руками зайти и посмотреть коммандой
ifconfig

Имя: pi
пароль: raspberry

Ставлю бенчмарк
sudo apt-get install sysbench

А кстати в консоли малинки раскладка UK попробуйте найти # это будет первая игра на мелкую маторику!

Гоню тесты
тест CPU 1 запускатся коммандой
sysbench --test=cpu --cpu-max-prime=20000 run
Далее увеличиваем колличество потоков
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run
В ответе главный показатель execution time (avg/stddev) меньше лучше

И на 4 ядра
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run

Для теста дисков надо создать файлы для теста (очень долго)
sysbench --test=fileio --file-total-size=8G prepare

Запускаем тест
sysbench --test=fileio --file-total-size=8G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run > test.io

Результаты замечательные, лучше апельсинки, особенно в плане скорости SD карты — это радует. Проигрывает только в одном в скорости чтения записи на eMMC, но таких малинок и нет в природе.

Вот и до корпуса добрались Nespi. Брал вот тут ru.aliexpress.com/item/Raspberry-Pi-3-nespi-retroflag-Raspberry-Pi-3/32847258450.html с радиаторами и вентилятором за 1 003,25 руб. Вентилятор шумит, радиаторы смех, но у китайцев все маленькое! Вот они три штуки справа!

Корпус чуть-чуть разочаровал. Верхняя крышка недостаточно светло-серая, скорее она мутно-кремовая. Черная часть не покрашена а наклеена черной пленкой — сомневаюсь что клея хватит больше чем на год. Может так надо, а может уже переподделка! Некоторыe говорят что у них нет прорезей сверху, у меня есть.


А снизу отсек для SD карт, мне защелки показались хлипкими и саму карту тяжело вынимать из корпуса — не делайте это после педикюра!

Собираю с вентилятором, влезают только низкие радиаторы!

И так, скоро дойду до RetroPi но пока — вентилятор! Крутиться медленно, дует слабо, а шумит сильно. Попробую заменить его на большой радиатор, а перед этим устрою малинке стресс тест.

Посмотреть температуру процессора можно так
cat /sys/class/thermal/thermal_zone0/temp
Результат надо делить на 1000 получаться в градусах цельсиях

Установим стресс
sudo apt-get install stress

Дальше, особо не вникая делал (но это точно нагревает процессор)
cat /sys/class/thermal/thermal_zone0/temp && stress -c 4 -i 1 -m 1 --vm-bytes 128M -t 100s && cat /sys/class/thermal/thermal_zone0/temp

Вот результат

Прогнал с радиатором и на 2000 секунд показала теже 84 градуса, оставляю! Радиатр брал такой ru.aliexpress.com/item/2pcs-lot-Anodized-Black-Aluminum-Heatsink-28x28x10mm-Electronic-Cooling-Radiator-Heat-sink-for-Northbridge-Southbridge-IC/32680060556.html

Вот так это выглядит. Защелки крепления вентилятора не отламывал, одна заходит между ребрами радиатора и будет его придерживать если отвалится…а чтобы не отвалился сделал подушку из толстого двустороннего скотча на крышке над процессором — чтобы прижимала радиатор.

Пора бы уже перейти к установке RetroPi и играм!

Джостики купил такие ru.aliexpress.com/item/1-x-Retro-Super-for-Nintendo-SNES-USB-Controller-for-PC-for-MAC-Controllers-SEALED/32661135894.html две штуки за 419,05 руб, точно будут лучше тех что 20 лет пролежали!

Иду на сайт RetroPi и качаю retropie.org.uk/download/
Подключим карту памяти и посмотрим в системе где она
sudo lsblk
В моем случае она sde та что 16 GB
Теперь её надо вынуть (но она все равно останестя в иконках дисков)
sudo umount /dev/sde1
sudo umount /dev/sde2
теперь затрем
sudo mkfs.vfat -I /dev/sde
опять отмонтируем
sudo umount /dev/sde

Разархивируем
gzip -d retropie-4.3-rpi2_rpi3.img.gz
sudo dd bs=1M if=retropie-4.3-rpi2_rpi3.img of=/dev/sde

Вставляем карту в NesPi подключаем пару джойстиков и HDMI и вуяля работает, надо только джойстик настроить — когда кончаются кнопками должгим нажатием на A можно пропускать выбор!!! Однако пусто и тихо — сравниваю с OrangePi там покрасочней и Doom есть и еще пару игр. В RetroPi нет ничего. Для копирования надо взять флешку в корне сделать папку retropie вставить на 5 минут в Nespi, вынуть там появятся папка roms и туда навалить своиз ромов, и поставить обратно на пару часов — может меньше надо следить за индикацией Raspberry Pi 3 но в NesPi её не видно!

И так играю, пока не знаю как с жостика выходить из игры пользуюсь клавиатурой нажимаю ESC — понял надо быть внимательным при настройке джостиков и нажимать YES на последнем вопросе — по умолчанию выход из игр select + start

Atari 2600 — да вот такой гейминг был на заре. DethStar — непомню такой игры, но разделение на два экрана, выглядит офигительно

Sega Master System — 8 битная жуть, на самом деле не надо себя мучать все эти игры есть на приставках следующего поколения. На скриншоте с трудом узнается Golden Axe — никаких сочных икр и бицепсов, цветов нехватат

Ну и Super Nintendo System тут уже если подальше отойти от телевизора, или если зрение посажено — можно уже сносно играть!





или вот

UPD: Что-то мало скриншотов, эти делал подключив клавиутару и нажимая F8 — делались не везде, в меню нет.

Так что ставим вот это, заходим на RetroPie в консоли(как выше)

mkdir screenshots
cd screenshots
sudo apt-get install libpng12-dev
git clone https://github.com/AndrewFromMelbourne/raspi2png
cd raspi2png
make
sudo ln -s /home/pi/screenshots/raspi2png/raspi2png /usr/bin/raspi2png
cd /home/pi/screenshots/

Скриншот делается консольной коммандой, а мы так то на телевизоре

Поэтому запускаем скриншот вот такой коммандой в консоли, делает скриншоты каждые пару секунд
while sleep 1; do raspi2png -p "screen$(date +"%d%H%M%S").png"; done
Останаливется Ctrl + C и вытаскивается из Pi

Вот скриншоты эмулятора игровых аппаратов, там игры поразительные водились в 80-ых-90-ых

От таких

Через такие

К вот таким


Кстати играть в них очень легко, умер суй монетку и дальше, не то что на приставках

Или вот такой эмулятор тех же игровых автоматов но называющийся Arcade — у меня нормально запускался только в псевдо ЭЛТ режиме. Кстати при загрузке игры если нажать на A попадешь в меню запуска там можно выбрать эмултятор и режим экрана — иногда с этим проблемы надо поискать комбинацию

Меню RetroPi есть несколько стилей, но в конце года ввели новую нужную функцию Favorites и тьлько дефолтный стиль её пока поддерживает. И работает криво, запоминает избранные только если перезагрузитяь из меню — если выключиться из меню или из розетке ничего не запомнит

Есть функция докачать обложки к играм Scraper работает долго и обложки мало информативны

Но я качнул из Осла готовый образ RetroPie, там были romы вот с такими снимаками экрана, взял ил img только папки с ромами и начали показываться такие картинки