Оглавление
NoPass
Предпоследним шагом перед созданием Слот-1 флеш-картриджей Nintendo DS стало появление устройства NoPass.
Фактически NoPass – это улучшенный до максимума вариант PassMe и PassMe2. Разработчикам NoPass удалось уменьшить это устройство из монструозной конструкции, которая была размером с треть консоли, до обычного Nintendo DS картриджа.
Но несмотря на то, что их суть была одна (запускать NDS игры с GBA картриджа) они использовали абсолютно разные способы взлома.
История
Продажи Nintendo DS начались 21 ноября 2004 года. Уже в середине января следующего года DarkFader разработал готовое программное решение для обхода защиты Nintendo DS, а к концу месяца Natrium42 сделал проект PassMe. 3 марта Lynx собрал первый PassMe (по проекту Natrium42), а с 4 апреля 2005 года начал продавать готовое устройство. При этом, первый дамп BIOS процессора ARM7 был получен в январе 2006 года! То есть спустя год после выхода консоли Nintendo DS.
Проблема PassMe заключается в том, что вы фактически обходите шифрование, подменяя команду с адресом. Но у вас не получилось бы подменить картридж и выдать его за другой, ведь вы не знаете какие алгоритмы шифрования используются. Чтобы их узнать нужно иметь полный доступ к BIOS процессора ARM7 (ведь именно он отвечал за шифрование картриджа), а у него стояла защита от чтения/копирования - первые 4 килобайта BIOS были защищены. К ним нельзя было получить доступ, а значит и невозможно было их прочитать.
Когда вы включали консоль, то защита BIOS ARM7 отключалась и в оперативную память Nintendo DS из BIOS загружалась таблица данных, которая использовалась для последующего шифрования. После того как была получена эта таблица, защита BIOS опять включалась. И больше она не отключалась. Получался какой-то замкнутый круг.
По идее должна была существовая какая-то функция, которая имела доступ к закрытой части BIOS, но найте ее не получалось. Над поисками доступа к BIOS думало очень много участников комьюнити: Loopy, Costis, CaithSith2, DarkFader, Joat и другие.
Но, судя по всему, удача им улыбнулась только после того, как CaithSith2 достал asm-код для ARM7, который он взял из devkit svn.
Именно тогда был найден доступ к закрытой части кода. Туда получилось сделать инъекцию кода, которая считала всю закрытую часть BIOS и сохранила его на карту памяти GBA флеш-картриджа.
Фактически оставалось только расшифровать BIOS и понять, что происходит при включении консоли?
Это произошло 24 января 2006 года. Martin Korth обновил свой эмулятор No$GBA и добавил в него поддержку Nintendo DS. Сам по себе этот факт не очень интересный, но оказалось, что Martin Korth обновил свою базу данных GBATEK (Game Boy Advance Technical Info), где полностью описал как работает Nintendo DS.
С этого момента начинается обратный отсчет до появления настоящих Слот-1 флеш-картриджей для Nintendo DS. Но они появились не моментально и какое-то время рынок наводнили устройства NoPass.
Как работал NoPass?
Как я уже писал ранее, основное отличие между PassMe и NoPass заключалось даже не в том, что в первом устройстве нужно было использовать оригинальный NDS картридж, а в том, что NoPass не обходил защиту Nintendo DS, а проходил ее как оригинальный картридж.
В итоге всё получалось одинаково: что PassMe, что NoPass позволяли запускать флеш-картриджи в режиме для Nintendo DS игр. Но была одна маленькая проблема.
Зачастую устройства PassMe и NoPass можно было купить отдельно.
И как вы видите, стоили они не очень дорого.
Когда вы использовали PassMe устройства, то могли запустить Nintendo DS игру с Game Boy Advance флеш-картриджа. Но последний использовался только как место хранения игры, а поскольку все процедуры в игре были старые, то и записать сохранения консоль пыталась в оригинальный картридж Nintendo DS.
И вот тут была та самая проблема.
В Nintendo DS флеш-картриджах было 2 типа сохранения (без учета объема памяти чипов): EEPROM и FLASH. Если ваша игра имела сохранение типа EEPROM и оригинальный картридж был с таким же типом сохранения, то все было хорошо. Но если у них были разные типы сохранения, то вы просто не могли сохраниться.
И вот тут на сцену выходят NoPass устройства. В них не вставляется никакой картридж и памяти для сохранений нет. Возникает логичный вопрос: а как там можно было сохранятся? Никак.
Вы можете подумать, что это очень странно. Размер NoPass меньше, но какой это имеет смысл если сохраниться нельзя? На самом деле здесь была логика.
NoPass устройства были разработаны исключительно под конкретные Game Boy Advance флеш-картриджи. Они имели свой софт и позволяли патчить Nintendo DS игры так, чтобы они сохранялись в памяти GBA флеш-картриджа. То есть, изначально и не предполагалось, что вы будете использовать NoPass устройства с другими флеш-картриджами. Идея покупки отдельного NoPass уcтройства заключалась в том, что у вас должен был быть на руках конкретный картридж.
В основном такие устройства продавались не отдельно, а сразу в комплекте. И именно такие коммерческие комплекты, и стали основой для NoPass.
Коммерческие NoPass
Начиная с середины 2006 года все компании, которые выпускали PassMe и PassMe 2 стали продавать устройства NoPass.
Версии NoPass от NeoFlash, EzFlash и SuperCard.
Они же начали выпускать специальные «комплекты» из флеш-картриджа и устройства NoPass. Например, комплект (в очень красивой коробочке) от EZ Team:
Или комплект от NeoFlash:
Делая такую покупку, вы получали готовый комплект из флеш-картриджа и устройства NoPass. Единственное, что нужно было сделать – это скачать программу для патча игр. Зачастую она убирала все нужные заголовки из игры и изменяла формат сохранения так, чтобы можно было их хранить на карте памяти GBA флеш-картриджа.
Еще нужно отметить, что большинство новых флеш-картриджей имели своё дополнительное меню, которое было заточено именно под NDS игры. То есть, один и тот же флеш-картридж можно было запустить и как обычный GBA картридж (и играть в GBA игры) и в режиме для Nintendo DS (для запуска NDS игр).
Эпилог
NoPass, при наличии хорошего GBA флеш-картриджа, были практически идеальными устройствами. Согласитесь, что для вас особо нет разницы, куда записать NDS игру: на флеш-картридж для Nintendo DS или на флеш-картридж для Game Boy Advance. Вы просто включаете консоль и запускаете игру. Какая разница где она расположена?!
Но все равно Nintendo DS Slot-1 флеш-картриджи могли предложить больше.
Например, это два комплекта от ребят из EZ-Team.
Они оба хорошо выполняют свою основную функцию – запуск Nintendo DS игр.
Но EZ-Flash IV Deluxe больше ничего не умеет, а вот EZ-Flash V имеет целый ряд дополнительных функций:
1. Возможность выйти из игры в меню;
2. Моментальные сохранения;
3. Поддержку вибрации в Nintendo DS играх;
4. Поддержку расширения RAM;
5. Читы и DMA (функция прямого доступа к памяти).
И много чего другого.
То есть, при одинаково хорошем выполнении основной функции, Nintendo DS Slot-1 флеш-картриджи имеют гораздо больший функционал.