Snes classic mini прошивка. SNES Classic Mini — обзор новой «ретро» приставки от Nintendo

NES сообщество совсем недавно нашла парочку отличных способов, с помощью которых вы сможете установить на свою NES Classic Mini новые игры. К сожалению, у этой маленькой консоли есть довольно серьезный просчет — на нее нельзя записывать игры, а играть приходиться только в то, что уже записано на ней изначально.

Если вам надоело уже играть в старые игры, то есть довольно простой способ добавить новых на NES Classic Mini. Благодаря усиленным старанием пользователя под ником «iLLNiSS» с ресурса Reddit, мы можем легко записывать новые игры с помощью софтмода под названием «hakchi2».

Заметка: мы не несем никакой ответственности в случае повреждения вашей консоли при ее прошивке с помощью этой модификации. Нужно понимать, что вы модифицируете консоль и осторожность в этом деле всегда приветствуется. Так что делайте это на свой страх и риск.

Теперь давайте перейдем непосредственно к самому интересному — установке софтмода и прошивке консоли.

Необходимый софт:

Вот, собственно, и все. Скачивать огромное количество программ не придется. А если вы уверены, что у вас уже есть Microsoft .NET Framework 3.5, то остается обзавестись только «Hakchi2».

Как устанавливать новые игры на NES Classic Mini

  • Для начала скачайте модификацию «hakchi2» с выше предложенной ссылки.
  • Потом разархивируйте содержимое скачанного архива в новую папку на вашей консоли.
  • Запустите файл «hakchi2.exe».
  • Просмотрите все ROM’ы игр на консоли и решите какие останутся с вами, а которые уйдут в забвение. В общем, отталкивайтесь от свободного места на устройстве.
  • Нажмите на кнопку «Добавить игры» для того, чтобы добавить, собственно, скачанные вами заранее игры. Помните, что формат их должен соответствовать.nes
  • Подключите NES Classic Mini к вашему компьютеру с помощью micro-USB. Удостоверьтесь, что консоль полностью отключена.
  • Теперь нужно загрузить ее в FEL-режиме. Для этого сделайте следующие шаги:
    • Нажмите и удерживайте кнопку Сброса, которая находится спереди консоли.
    • Затем сразу же нажмите кнопку Питания и удерживайте ее совсем недолго.
    • Подождите пару секунд, а затем отпустите кнопку Сброса.

      Заметка: вы не увидите никаких уведомлений от консоли или вашего компьютера, просто продолжайте выполнение шагов.

  • Нажмите на кнопку «Синхронизировать список игр с NES Mini» в утилите «hakchi2» и все готово. В случае если вы не смогли правильно загрузиться в FEL-режим, то вам будет дано уведомление об этом.
  • И наконец-то, перезагрузите вашу консоль NES Classic Mini и наслаждайтесь установленными вами играми.

Затем я сделал возможность менять играм различные параметры, добавил возможность выбирать обложки и автоматически их пережимать, добавил кнопку для автоматического поиска обложек в Google, в последний момент решил всё-таки добавить ещё и русский язык помимо моего кривого английского. И вот в таком виде выложил всё это дело в сеть, назвав версией 2.0. Потому что «hakchi2».

Вроде у меня действительно получилось сделать всё так, чтобы программой можно было пользоваться вообще без какой-либо инструкции, она сама запоминает, сдампил ли пользователь ядро, прошил ли он модифицированное ядро, сама говорит, что в какой момент делать. И hakchi2 действительно очень быстро набрала популярность, несмотря на то, что на неё ругались многие антивирусы из-за утилит и драйверов в том же архиве. Многие боялись стать частью русского ботнета.

Наиболее интересные проблемы и задачи

Windows и установка драйверов

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

Это отличное приложение для простой и быстрой установки популярных базовых USB драйверов, в нашем случае это WinUSB . Кстати говоря, не понимаю, почему пользователю нужно выполнять кучу сложных действий, и Windows требует от разработчика цифровой подписи, когда нужно установить драйвер непосредственно от Microsoft. К счастью, у Zadig открытый исходный код, да ещё и с консольной версией в примерах. Я быстро сделал из неё простенькую программу, которая при запуске сразу ставит драйвер.

Тонкости FEL протокола

Стоит ли говорить, сколько багов всплыло в первое время… Больше всего я промучился с ошибкой “pipe read error”, которая возникала в момент, когда не получалось инициализировать устройство после запуска кода в памяти на исполнение. Однако, возникала она не каждый раз, а абсолютно случайно, из-за чего я много раз ошибочно считал, что наконец-то нашёл хоть какую-то закономерность. Но нет, ошибка возникала абсолютно случайно. И больше всего меня напрягло то, что если в момент, когда NES Mini переставала отвечать моей программе, запустить оригинальную hakchi от madmonkey, то консоль выходила из ступора и продолжала работать. То есть madmonkey у себя каким-то образом правильно проводит инициализацию, а у меня что-то неправильно. Но сколько я не изучал его исходники, ничего особенного я там не увидел. В итоге я нашёл программу, которая перехватывает и показывает USB-трафик и начал сравнивать всё побайтово.

Вот пример того, как должна проводиться инициализация/верификация:

У меня возникала проблема именно на втором шаге, при получении ответа. Почему-то приходили совсем не те данные, что я ожидал. Оказалось, что моя ошибка была в том, что в этом случае я пытался выполнить инициализацию заново, с самого начала. Программа от madmonkey (точнее библиотека fel_lib) же в таком случае повторяет, начиная сразу со второго шага, после чего устройство начинает нормально отвечать. Шаманство какое-то, но ошибка исчезла навсегда.

«LED-bug», как прозвали его иностранцы

Однако, помимо этого я столкнулся с гораздо более странным багом. Наверное это самый странный и неочевидый баг за всю мою жизнь. Скрипты для копирования игр по окончании процесса выключают консоль, поэтому пользователю надо дождаться, пока погаснет светодиод. Но очень многие люди жаловались, что светодиод не гаснет даже через полчаса. Люди на форумах делились своим опытом. У кого-то всё идеально работает, а у кого-то светодиод не гаснет. Кто-то считает, что существуют разные версии консолей, у кого-то всё начинало работать на другом компьютере. Десятки людей пытались найти хоть какую-то закономерность. Опять же было много разных иллюзий, но в конце концов нашёлся человек, который нашёл 100% верную закономерность. Поначалу я не поверил, но все в один голос начали это подтверждать.

Моя программа не работает, если её распаковать WinRAR’ом, но работает, если распаковать 7zip’ом. Как такое может быть?

Оказывается, некоторые версии WinRAR’а при определённых условиях не сохраняют атрибуты файлов при распаковке, а когда мы под Windows собираем RAM-диск для ядра Linux, симлинки обязательно должны иметь атрибут “системный”. Самому мне даже в голову не могло прийти то, что проблема в архиваторе, тем более я сам WinRAR’ом пользуюсь. Вскоре я добавил в программу проверку атрибут файлов, и проблема исчезла навсегда. Правда, под Windows 10 иногда почему-то не получается поменять атрибуты, но теперь об этом хотя бы пишется ошибка.

Шрифты

На этом этапе программа стала уже вполне стабильной, но был ещё целый ряд проблем, которые касались самой консоли и её оболочки.

Начать я решил со шрифтов. Проблема в том, что оригинальные шрифты в NES Mini содержат только нужные символы, и названия многих добавленных игр выводились некорректно.

Эта задача казалась вполне решаемой с первого взгляда, ведь прямо в директории с играми лежат файлы «title.fnt» и «copyright.fnt», и надо просто их отредактировать или заменить. Однако, ни один редактор шрифтов не согласился их открывать, нужно как-то понять, что это за формат.

Если поменять эти файлы местами, то текст в названии игр становится маленького размера.

Выходит, шрифт растровый, а не векторный, и в нём символы содержатся в виде рисунков. Если открыть файл в шестнадцатеричном редакторе, то можно увидеть, что каждый шрифт недалеко от начала содержит сигнатуру “BMF”.

Гугление по запросу “BMF font” привело на сайт , где была как утилита для генерации шрифтов, так и подробное описание формата, которое я сразу же бросился читать. Да, каждый файл действительно должен содержать сигнатуру BMF, но в самом начале файла. В случае же NES Mini перед ним шли ещё какие-то 9 байт, в разных файлах они были разными (кроме первого байта). Я понадеялся, что они не нужны или несущественны, но при изменении любого из них, консоль просто не запускалась, демонстрируя чёрный экран. Выходит, что надо обязательно понять смысл этих девяти байт. Первый - всегда единица. Затем два байта - это какие-то значения, потом два нуля. Снова два байта - значения и снова - два нуля. После этого уже шли данные шрифта. Я сразу же подумал, что эти пары похожи на два 32-битных числа. Посмотрел первое, сравнил с размером файла, никаких закономерностей не увидел. Аналогично со вторым, но затем я решил их сложить и получил точный размер файла без этого заголовка. Выходит, эти числа говорят нам о размерах каких-то секций в файле. Я отмотал файл на значение указанное в первых четырёх байтах и увидел заголовок PNG файла.

Я вытащил его оттуда и да, это картинка со всеми символами.

Логично, ведь программа для генерации шрифтов даёт на выходе несколько файлов. У NES Mini же они просто объединены в один. Я аналогично собрал вместе заголовок и файлы сгенерированного шрифта, скинул результат на NES Mini и недостающие символы появились.

Казалось бы, теперь все теперь должны быть довольны, но скоро мне начали писать японские владельцы Famicom Mini, жаловались на то, что у них пропали все иероглифы. Я им вежливо объяснил, что с японским языком у меня плохо, точнее совсем никак. Но не поленился рассказать, что я выяснил, и как самим сгенерировать шрифт. Вскоре мне прислали японский шрифт, и я включил его в дистрибутив.

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

Модификация драйвера игрового контроллера

Люди продолжали просить какой-то нереальный функционал. Многим не хватало возможности нажать кнопку RESET, то есть выйти в меню, не выпуская контроллера из рук. Я сразу же сказал, что это невозможно. Исходников эмулятора у меня нет, поменять функциональность кнопок нет возможности, но вскоре я осознал, что если подключить Classic Controller от Wii (они совместимы), на котором больше кнопок, то кнопка HOME работает именно как выход в меню. То есть в коде эмулятора это предусмотрено. При этом эмулятор использует библиотеку SDL2, у которой открытый исходный код, но пересобирать и заменять такую огромную библиотеку ради такой простой функции как-то не круто. Я опять начал смотреть в исходники, которые предоставляет сама Nintendo, и увидел там исходный код драйвера контроллера. Да это же именно то, что нужно! Внутреннее кодовое название контроллера, кстати, “Clovercon”. От слова “clover” (клевер). Аналогично называется и оболочка на NES Min - Clover, а название самой модели консоли - CLV-001. Думаю, теперь всем понятно, что значит это “CLV”.

Код драйвера весьма простой, и я быстро нашёл, куда вставить всего одну строку:

If (down && select) home = 1;
Скомпилировал драйвер я без особых проблем, что удивительно, ведь с Linux’ом я плохо дружу, а тут вдруг скомпилировал модуль ядра, но обрадовался я рано. Утилита insmod отказывалась загружать этот модуль. После недолгого гугления я понял, что это из-за того, что не совпадает «vermagic». Это строка внутри модуля, которая описывает версию ядра Linux и параметры, с которыми оно собиралось. Делается это банально для того, чтобы убедиться в бинарной совместимости. Короче говоря, собирать драйвер нужно с теми же параметрами ядра, при которых собиралось ядро NES Mini. А откуда мне их знать? Да, Nintendo выложила на своём сайте и исходники ядра, но там нет файла с настройками. Я долго мучился, меняя самые разные параметры ядра, из строки vermagic было примерно ясно, чего не хватает, или что лишнее.

Однако когда строки vermagic совпали и модуль загрузился, система отказывалась реагировать на нажатия кнопок. При этом отладить его было невозможно, т.к. kprint в ядре NES Mini был вырезан, как и буфер dmesg. В итоге я уже почти сдался, потеряв всякую надежду, но залез в раздел “Kernel hacking” и начал снимать все галочки подряд.

Опытные линуксоиды меня наверное засмеют, но в итоге внезапно драйвер заработал. Я своего добился, комбинация down+select стала открывать меню.

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

Volatile char MAGIC_BUTTONS = "MAGIC_BUTTONS:00100100";
Главное - не забыть про директиву «volatile», чтобы компилятор понимал, что строка может меняться «из вне», и что вырезать код её проверки не нужно.

Всё это имело бы огромный смысл, если бы Nintendo не сделала такой короткий провод у контроллеров. Удлинитель теперь просто необходим.

Вскоре появились и люди, которые начали просить турбо-кнопки. Я всегда считал их читерством, к которому нас приучили с детства, ведь в России оригинальные контроллеры практически никто никогда не видел. И я игнорировал эти просьбы, пока они не начали поступать от иностранцев. Думаю, тут рассказывать уже особо нечего, просто очередная модификация драйвера. Теперь можно на секунду зажать select+A или select+B, чтобы включить турбо на соответствующей кнопке. В случае же с Classic Controller’ом кнопки X и Y сразу же работают как турбо A и турбо B.

Преодоление ограничений

Что же касается ограничения на количество игр, тут всё не совсем понятно. Дело в том, что в NES Mini без проблем можно залить примерно 97 игр, но при этом перестают работать сохранения. И чем меньше игр в меню, тем больше сохранений можно сделать, но дело вовсе не в ограничениях размера flash-памяти, места на разделе ещё очень много. Похоже, что оболочка не может или не пытается получить столько оперативной памяти, чтобы загрузить все картинки, ведь каждая сохранённая игра сопровождается скриншотом, и если посчитать общее количество игр, размер их обложек, размер скриншотов и учесть, что в памяти всё это хранится скорее всего в несжатом виде, получается весьма большое число.

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

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

В итоге я смог записать аж 600 игр за раз. Моя программа автоматически разбивает их на папки, сортируя по алфавиту. При таком подходе и сохранения продолжают работать полноценно, и ничего не тормозит. Хочу ещё сделать возможность выбирать алгоритм генерации дерева папок и возможность менять их картинки, но в этот момент я подумал, что пора бы уже остановиться и снять наконец-то про всё это видео, да написать эту статью.

За этот месяц было добавлено и много других разных функций вроде поддержки Game Genie чит-кодов и автоматического заполнения информации об играх, сейчас уже всё и не упомнить.
Было найдено и много багов, интересных особенностей.

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

Необычные спецэффекты в играх - это на самом деле защита от приступов эпилепсии, которая включается параметром командной строки.

Кстати, у встроенного эмулятора много и других параметров, он охотно сам их выводит. Правда, почему-то они не все работают. Например, эмуляцию PAL не получается включить при всём желании. И да, европейская версия консоли содержит американские версии игр. И BIOS для Famicom Disk System там тоже есть, хоть игры для неё и выходили только в Японии. Так что они тоже запускаются.

Из картриджных же игр поддерживается не очень много мапперов, но все самые популярные на месте:

  • 0 (NROM) - простейшие игры без маппера, например Ice Climber, Pac-Man, и т.п.
  • 1 (MMC1) - много хороших игр, второй по популярности маппер.
  • 2 (UxROM - UNROM/UOROM) - игры вроде Castlevania, Contra, Duck Tales и т.п.
  • 3 (CNROM) - много простых игр, но с большим объёмом графики
  • 4 (MMC3) - самый популярный маппер, очень много игр
  • 5 (MMC5) - очень сложный и самый навороченный маппер, удивительно, что есть его поддержка, ведь вроде под него нет ни одной игры в стандартном наборе
  • 7 (AxROM - ANROM/AMROM/etc.) - простой маппер, который используется играми вроде Battletoads.
  • 9 (MMC2) - используется только игрой Punch Out!!
  • 10 (MMC4) - используется только несколькими японскими играми
  • 86 - редкий маппер, мало где используется
  • 87 - редкий маппер, мало где используется
  • 184 - редкий маппер, мало где используется
Однако, меня продолжают заваливать письмами с просьбами добавить в программу поддержку того или иного маппера, не понимая, что это не от меня зависит. Хотя в теории вполне возможно скомпилировать под NES Mini другой эмулятор, но я оставлю эту затею людям поумнее.

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

CaH4e3 (известный в определённых кругах ромхакер) уже начал дизассемблировать файл эмулятора. Забавный факт - в нём спрятано сообщение от разработчиков. Точнее от некого капитана Ханафуда.

На самом деле ханафуда - это игральные карты, которые Nintendo выпускала в позапрошлом веке. Санчез говорит, что на этот текст есть указатели, то есть какой-то код его использует. Вполне возможно, что это рабочая пасхалка.

Ещё из забавного: если в директории с любой игрой создать папку “pixelart” и положить туда любую PNG картинку, она будет показываться на фоне во время простоя консоли. Тут лучше посмотреть видео из начала статьи, чтобы понять, о чём речь.

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

Итоги

Пожалуй, это первый взлом консоли, который приносит издателям прибыль, а не убытки. Ведь, игры отдельно они не продают, а саму консоль теперь просто сметают с полок магазинов. Такое впечатление, что в Nintendo сидели и с нетерпением ждали, когда же её взломают уже, поэтому и не делали никаких защиты. Так что надеюсь, они не поставят мне страйк. И не засудят, тем более незаконного я вроде как ничего не делаю, пока не распространяю игры.

upd: Самое главное-то и забыл. Вот ссылка на hakchi2 и её исходный код.


Профессиональная прошивка и закачка игр в Nintendo SNES MINI в Челябинске.
На все работы предоставляется гарантия. Наши специалисты, всегда с удовольствием ответят на любой вопрос по данной услуге!


Nintendo SNES Classic Mini - уменьшенная копия культовой приставки Nintendo, рассчитанная на ностальгирующих геймеров. Приставка является преемницей прошлогодней NES Classic Mini, которая ориентировалась на ту же аудиторию. Но это далеко не единственная общая черта двух систем. Как выяснилось, консоли имеют практически одинаковую «начинку» - вскрытие устройств показало, что платы внутри идентичны друг другу. Даже технические характеристики - и те совпадают. А значит и взламывается новинка по той же схеме, что предшественница.

Прошлогодняя NES Classic Mini пользовалась бешеной популярностью и была взломана в считаные месяцы. Люди просто хотели сыграть на ней в те игры, которые не вошли в переиздание официально, используя «гуляющие» по сети ROM’ы. Новую консоль взломали ещё быстрее - за день до выхода. Пробные копии Super Nintendo Classic Mini были разосланы представителям прессы, которые и «покопались» в новинке. Оказалось, что для добавления новых игр в систему SNES Classic Mini используется та же программа, позволяющая редактировать файлы консоли, что и для NES Classic Mini.

Благодаря взлому Nintendo SNES MINI у геймеров появится возможность наконец опробовать все вышедшие игры для неё, включая полумифическую Star Fox 2, о которой 20 лет грезили поклонники серии. Игра была выложена в Интернет ещё несколько лет назад и запускалась на эмуляторах, но это был всего лишь прототип. Хакеры же поделились полноценной версией игры, которая доработана для SNES Classic Mini.

А знаете, завершая месяц, почему бы всё-таки, наконец, не вспомнить приятную новость для всех геймеров, которая обрадовала и взбудоражила всех заинтересованных ещё в начале января 2017 года? И даже вовсе не навредила самой Nintendo. Почему? Сейчас расскажу. В общем, аккурат во время посленовогодних праздничных дней у соседей, российскими хакерами была-таки взломана NES Classic Mini, которая представляет собой уменьшенную версию классической 8-битной приставки Nintendo Entertainment System, известной в СНГ под названием Dendy и иже с нею. В другой статье блога я уже сразу же после выхода у нас в СНГ. Но здесь речь идёт о взломе, значительно повышающим ценность консоли в глазах даже ретроградов. Т.к. метод считается софтовым и вмешательство во внутренности приставки вовсе не требуется.

Именно взлом позволил обойти ограничение в 30 предустановленных (хоть в большинстве своём замечательных) игр и «вшить» в консоль практически любые игры из библиотеки бессмертной 8-битной классики, именно те игры, которых вашей душе не хватало для полного счастья.

Таким образом, хакер madmonkey создал и описал ручной способ взлома, при котором большую часть действий вы будете делать сами. Хакер Cluster оптимизировал всё это впоследствии, создав утилиту с интерфейсом, которая будет делать всю “проблемную” часть первичного взлома сама, а также в разы упростит последующую загрузку игр и обложек для них в консоль, позволяя кастомизировать список под себя. По сути, если вы ещё не успели прошить NES Mini вручную ранее способом от madmonkey, то способ от Cluster’а от вас потребует лишь следующее (практически процитирую краткую инструкцию с форума gbx.ru) :
1. Запустить программу, нажать «Ядро — Сдампить ядро», следовать инструкциям на экране.
2. Нажать «Ядро — Прошить пропатченное ядро»
3. Добавить игры, настроить параметры по желанию, выбрать обложку.
4. Закачать выбранные игры в NES Mini.

Теперь вы сможете крайне просто кастомизировать игры в NES Mini.
Установки программа не требует, нужно просто распаковать её в удобное место. Теперь в два клика вы можете добавлять игры и при необходимости менять их параметры (количество игроков, дату выхода и пр.). Программа понятно объяснит, что надо делать с консолью, поможет легко установить драйвер, сама сдампит ядро, сама его пропатчит, сама зашьёт.

А умеет программа hakchi2 с автоматизированным способом прошивки от Cluster’а многое. Здесь будет уместно вновь немного процитировать известный среди геймеров gbx.ru:

— позволяет легко добавлять игры и держать в порядке библиотеку игр;
— позволяет легко менять параметры игр — количество игроков, дату выхода и пр.;
— для продвинутых пользователей позволяет менять параметры запуска игр;
— умеет автоматически гуглить обложки для игр;
— автоматически исправляет неверные заголовки ромов по своей базе;
— при добавлении игр проверяет, поддерживаются ли их мапперы;
— позволяет убирать стандартные 30 игр при необходимости;
— имеет интерфейс на русском и английском языках;
— позволяет насильно добавить игры с другими мапперами, предупреждая, что они, скорее всего, не запустятся;
— предупреждает про лимит в 97 игр;
— позволяет указывать конкретный тип игры на двоих.

Также программа проверяет MD5-сумму дампа ядра и выдаст предупреждение, если оно не соответствует.

Вот вам видео с несложным вариантом прошивки в помощь и в качестве демонстрации.

Видео даже слегка успело устареть в плане содержания. В комментариях под видео на Youtube вышеупомянутый Cluster отметил: «…для hakchi2 не нужен сейв Марио 🙂 И картинки она сама гуглить умеет. И Battle City поддерживается, наверное, просто ром кривой. И с последней версией идёт модификация Zadig, которая сама сразу ставит драйвер…»

И ещё: создатели прошивки на всякий случай предупреждают, что “есть риск превратить вашу приставку в кирпич на этапе прошивки Flash Kernel”, но доселе таких случаев замечено не было. Да, есть ограничение в 97 игр (если больше, любая из них вылетает с ошибкой C8). Хотя, ради спортивного интереса и при желании можно закинуть игр и больше, но без тех же обложек, а шанс вылета останется. Игры стоит использовать американского региона (с индексом (U) в названии рома), т.к. все предустановленные игры являются NTSC-версиями (т.е. американскими) даже в европейской версии NES Mini. Некоторые игры не запускаются или зависают в определённых местах. Например, те же «Robocop 3» и «Battletoads». Некоторые имеют графические артефакты. Но таких игр пока что меньшинство.

И не стоит забывать, что эмулятор этой мини-консоли затачивался в первую очередь для поддержки 30 предустановленных игр. Хотя… Может быть, сотрудники Nintendo и осознавали, что в конце концов кто-нибудь взломает их ретро-консоль, а потому специально для таких людей во внутренних файлах приставки (в данном случае уже для выпущенного для японского рынка аналога — Famicom Mini) было оставлено секретное послание . Без угроз и гневных сообщений. Послание от работников компании оказалось вполне миролюбивым.

«Говорит капитан ханафуды. Запускаю эмуляцию через 3… 2… 1. Много усилий, слёз и бесчисленное количество часов были потрачены на создание этого сокровища. Так что, пожалуйста, держите это место в чистоте и не сломайте тут всё! Пока! Капитан ханафуды.», — гласит скрытое послание.

Свершилось! Сегодня звёзды таки сложились и я пошел в магазин и купил себе то, что давно хотел и собирался купить. Одну маленькую, гениальную коробочку под названием SNES mini. Вообще, когда выходила NES mini она меня никак не зацепила вообще. Не, ну нафиг она мне нужна? Две кнопки на контроллере? Короткий провод от джойпада? Да еще и цены, взвинченные до небес? Извините, я лучше на компе на эмуляторе как-нибудь. Но вот SNES mini уже начала искушать: кнопок уже 6, джой с нормальным кабелем, да и дизайн получше будет. Плюс, в детстве Супер Нинтенды у меня никогда не было, так почему бы не компенсировать это сейчас? Кроме того, в ней скрыт прекрасный эмуляторный потенциал, и это - главная причина для покупки. Так что давайте от слов к фоткам! И немного впечатлений под морем:



Первое впечатление - от коробки. Я был удивлён тому, какая же она маленькая. По фотографиям и обзорам этого было не понять, но в магазине я её даже случайно пропустил, думал коробка будет больше. Чёрт подери, да у 3DS коробка больше! Ладно, не в коробке счастье.


Только залив фотки на хостинг я заметил, что первая получилась смазанной. Переделывать уже, честно говоря, лень, ну хоть задняя сторона получилась нормально. Поскольку у нас тут европейская версия, то и надписи на куче языков сразу. В том числе и на русском тоже. В инструкции, кстати, тоже.


Комплект не совсем прекрасный: сама консоль, два джойпада, HDMI-кабель, USB-кабель, инструкция (там внутри еще купон на очки для My Nintendo, но это уже дело десятое) и... и всё. Чего-то не хватает, правда? Ну, разумеется, нет блока питания! Действительно, зачем он нужен, мы что это запускать собрались что ли? Пусть себе на полочке лежит, красивая же... Короче да, Нинтендо в своём репертуаре. Но на самом деле всё не так страшно, запитать консольку можно тупо по USB, хоть от компа, хоть от PS3, просто... это неудобно. Задачу найти в России родной нинтендовский USB-зарядник я оставляю читателю в качестве домашнего задания, а я же пошел более очевидной дорогой - взял первый попавшийся USB-зарядник на 5В и 1А.


Собственно, этот. Как показал тест - работает прекрасно. Но для него пришлось ездить в другой магазин, это несколько тратит время, так что думайте заранее чем вы будете питать свои SNES mini. Кстати, вот еще какой веселый момент. Про цену самой коробочки. NES mini была какой-то безумно хайповой, цены после выхода сразу же взлетели раза в два, а то и три, сейчас же вообще её купить можно только за какие-то лютые 10000 рублей и больше. Сразу вам скажу - оно того совершенно не стоит потому что... есть SNES mini. И она никому не нужна. Она лежит в магазинах по 4999 р. или около того и... никто её не берет! Что очень зря, поскольку она по всем статьям лучше NES mini. Кстати, это еще один немаловажный фактор почему я не брал NES mini, но взял SNES mini. И всем советую так же сделать. Да, эмуляторы там те же самые , она тоже может и NES, и SNES, и Мегадрайв, и GBA, и N64. Но при этом на джойпаде больше кнопок, это очень помогает жить и нормально играть.


Собственно, первый запуск. Тест-драйв начался, система еще чистая, нешитая, только родные ромы. Затестил - всё идёт идеально, играет, сохраняется, настраивается, всё как положено. Но главный-то прикол не в этом!!

Начнём! Инструкций по взлому в сети полно: , ПЕРЕД ТЕМ, КАК ЗАДАТЬ ВОПРОС, ПРОЧТИТЕ ЭТОТ FAQ!!! , Как на SNES Mini установить новые игры от NES, Dendy, Sega, N64 , пожалуй, и хватит. Есть ли смысл переписывать? Ну, на случай если видео или посты удалят, то вкратце суть процесса. Всё делается автоматически, с помощью одной волшебной программы Hakchi вот вам ссылочка на ГитХаб , там должна лежать последняя версия.

Кстати, пользуясь случаем хочу поблагодарить автора программы, Кластера за такую клёвую и удобную штуку. И за канал на Ютубе с отличными видосами , всем советую подписаться и вообще. Да, кто не знал, Кластер - наш, русский парень, и это он автор Хакчи, кстати, см. его стримы по взлому NES mini и SNES mini тоже.

Возвращаюсь к работе программы. Нам еще может понадобиться программа Zadig , для установки драйвера USB для SNES mini, у меня без неё не заработало. Еще одна нужная прога - это РетроАрч , собственно, самый сок, это эмуляторы других консолей. Скачиваем всё это хозяйство, теперь надо подрубить консоль к компу через USB-кабель, но не включать. Перед включением надо зажать Reset, потом нажать Power и через пару секунд, когда раздастся характерный звук подключения отпустить Reset. Светодиод на консоли не должен загореться при этом! Теперь первым делом надо установить драйвер USB через Zadig . Запускаем прогу, нажимаем "Установить драйвер", устанавливаем, всё, прога больше не нужна. Запускаем Hakchi , выбираем модель консоли (SNES mini, Европейка\Американка очевидно) , жмём "Ядро > Сдампить ядро", следуем инструкциям, ядро сдампилось. Теперь жмём "Ядро > Прошить модифицированное ядро", следуем инструкциям, оно прошивается. Всё, теперь можно добавлять ромы для SNES, скачивать им обложки и делать папочки, куда их любовно распихивать. Это чтобы в одной папке не было больше 30 игр, иначе система начинает немного сбоить. Писать нужно только (U) ромы, американские, но практика показала, что (J), японские, тоже прекрасно кушаются и работают, хотя и не все. (E) ромы, европейские, ставить не советуют, я сам тоже не пробовал. Короче, теперь самая сложная , реально самая сложная часть всего этого процесса - выбрать ромы для установки. Чёрт, это процесс на часы, если не на годы! А потом к ним надо бы еще обложечки скачать, чтобы было красиво... короче, я решил пока не выпендриваться, а просто на скорую руку затестить пару ромов.


ХЭЙ! Ради неё-то всё и затевалось (^_^).


Работает отлично!


Как я уже говорил, японские ромы кушаются прекрасно.


Это уже американский ром, тоже всё штатно.


ХА-ХА, куда же я без Endless Duel ?


Камен Райдер, если кто не признал.


Еще один важный момент - японские ромы, патченные на английский язык тоже работают.


Да, детка, да!


Ну, как и обычные японские ромы.


Ладно, пора останавливаться.


Хотя нет, вот вам еще.


И еще!

Но это всё - лишь вершина айсберга. Это только SNES\Super Famicom игры. Пора прокачать консоль дальше! Ставим консоль обратно к компу, также подрубаем к Хакчи , нажимаем "Ядро > Запустить модифицированное ядро из RAM", программа подключается к системе, теперь надо поставить РетроАрч . Тут, не повторите моей ошибки. Надо брать весь архив и мышкой его перетащить на окно Хакчи . Я его разархивировал и перетащил только сам базовый модуль, без ядер систем, потом долго удивлялся чего это у меня другие системы не работают. В общем, снова патчим систему, РетроАрч ставится, заливаем туда уже ромы других систем, распихиваем их по папочкам и... вуаля! Можно играть.

Разумеется, немного Сеги!


Хакуна матата! Можно жить.

Нет, NES и N64 я не тестил, на сегодня мне хватит. Оно работает и хорошо работает. В РетроАрче , кстати, шоб не забыть, для выхода в меню эмулятора надо нажать Select + Start. И еще есть один полезный мод - нажать вниз + Select - это заменяет кнопку Reset, не надо тянуться к корпусу консоли для выхода в меню. Вроде есть еще моды, вроде можно еще ставить свои скины на оболочку, настраивать музыку в меню и вообще, но я пока в это не вдавался. Тест-драйв выдался затяжной, однако. Вообще-то в это время я должен был как бы делать домашку по японскому, но... (^_^). Придётся потом делать перед занятием. В общем, на эту консоль у меня большие планы (^_^). Как минимум надо будет набрать нормальный ромсет, накачать к ним обложек и вообще сделать всё красиво. Но это уже на будущее, на сегодня мне хватит.