08 июля 2018

Разборки со SNES Mini.



У всех есть, а я чем хуже?
Купил по скидке не так давно эту приставку. Ностальгировать по "былым временам" я не собирался, потому что не было у меня такой приставки никогда, но заиметь качественный эмулятор в оригинальном корпусе с качественными контроллерами по весьма хорошей цене (2500 руб.) очень захотелось.
Чуть позже еще одну взял, но больше для подстраховки, чем для коллекции. Тем более, что коробку в плёнке я нигде не встретил, хотя на Youtube такие видел.



Распаковал, подключил к телевизору, включил, потыкал какую-то игру про Марио и выключил. Нет, в дальний угол я коробку не забросил. Выключил приставку, чтобы подключить её к компьютеру.

По начинке приставка практически не отличается от NES mini, которую за разумные деньги уже не достать, но она мне и не нужна, потому что хороший товарищ Алексей "Cluster" Авдюхин и не менее хороший товарищ madmonkey успешно адаптировали программу hakchi2 под новую консоль. У новой консоли еще и геймпады обладают гораздо большим количеством кнопок. Если немного пошаманить с управлением, то можно без проблем играть даже в игры для Sega Mega Drive, которым нужен весь набор из "A", "B", "C", "X", "Y", "Z". Но обо всё по порядку.

С подключением приставки к компьютеру проблемы некоторые всё же возникли.

Первый раз я прошивал приставку на Windows 10 Pro 32bit, драйвера на которую поставились автоматически с помощью всё той же hakchi2, но с 64bit-версией системы у меня такой уверенности не было, потому что там требуется обязательная подпись драйверов, а на при установке я видел предупреждение, что такой подписи нет. Отдельно поставил драйвер WinUSB с помощью программы Zadig. Про неё я уже писал у себя.

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

Ещё проблемы возникли при подключении к USB3. Питания хватало, но при перезагрузке в процессе прошивки и установки модов приставка могла просто не появиться в системе как устройство. Для резервирования сохранений и добавления игр такого подключения вполне хватит.

В итоге остановился на варианте с подключением к порту USB2.

Теперь о программных проблемах.

Первое время я пользовался версией программы hakchi2 от ClusterM, но потом узнал, что есть форк от TeamShinkansen. Во второй процесс прошивки кастомного ядра, установки/удаления модов и дополнительных игр очень сильно автоматизирован. Приставку практически не надо трогать в процессе модификации. Перезагрузка в режим FEL и обратно происходит автоматически. Есть даже встроенный магазин модов, из которого можно эти самые моды скачать и установить. Вручную переводить приставку в режим FEL пришлось только при первоначальной установке кастомного ядра.

При переходе на другую версию все две игры, которые я добавил пришлось добавлять заново, ядро и скрипты внутри приставки программа обновила сама. Но чувство, что какие-то хвосты внутри всё же остались, меня не покидало. Вроде бы образы игр и весят мало, но памяти всего 230МБ. Можно сказать, что каждый мегабайт на счету.

Я включил из меню FTP-сервер для доступа к файловой системе и стал просматривать каталоги, скрипты и конфиги. В итоге обнаружил, что программа от TeamShinkansen складывает игры в каталог "/var/lib/hakchi/games/snes-eur/", а версия от ClusterM всё кладёт в "/var/lib/hakchi/games/snes/". Второй каталог занимал у меня около 2МБ и содержал только то, что я добавил через hakchi2 от ClusterM. На всякий случай сделал его резервную копию и удалил. Потыкав игры, я убедился, что он является тем самым "хвостом", который остался от перехода на другую версию.

Ну и немного расскажу про настройки, которые сделал.

Сначала через программу hakchi2 добавил мод "Options Menu v1.2 by CompCom", который добавляет меню, вызываемое зажатием кнопок "L+R", из которого можно управлять питанием приставки, удалять установленные моды, смотреть температуру процессора, управлять настройками RetroArch (сброс, резервирование, восстановление).

С помощью пункта меню программы "Tools / Boot splash / Disable boot splash" отключил показ логотипа hakchi при включении приставки.

И буквально на днях узнал, что во время игры через эмулятор RetroArch его настройки можно вызвать сочетанием "Start+Select". До этого я безуспешно искал способ изменить настройки управления в играх для Sega Mega Drive. Изначально там был выбран контроллер только с кнопками "A", "B", "C".

Проделал примерно так (снимки делал с помощью встроенных средств hakchi2).
В запущенной игре нажал "Start+Select", чтобы попасть в меню:


Выбрал пункт "Controls"


И выбрал с помощью d-pad контроллер с 6-ю кнопками:


После этого перезапустил игру с помощью пункта "Restart"  на первом снимке.

Схема управления получилась примерно такая:

SNES -> Mega drive

Start -> Start
Select -> Mode

A -> C
B -> B
X -> Y
Y -> A
L -> X
R -> Z

Выглядит дико, но пальцами запоминается довольно быстро.

Ну и вроде бы всё, что хотел написать.

В будущем хочу заказать кейс для неё, чтобы не хранить в коробке.