Оглавление
Cамый главный признак, который отличает поддельный Game Boy Advance SP от оригинального
Как вы знаете, Nintendo всегда добавляет в свои консоли поддержку игр от предыдущих поколений консоли, но добавляет не как эмулятор, а как нативную поддержку, то есть с использованием оригинального железа. Когда вы играете, например на 3DS, то вставив картридж от NDS, будет задействован второй процессор, который был добавлен в консоль только для обратной совместимости.
Если мы говорим об играх Game Boy Advance, то там был добавлен второй процессор Zilog Z80, который использовался для игр от Game Boy Color и просто Game Boy.
Это очень крутая задумка, но она требует как определенных инженерных усилий, так и денежных затрат.
Как понять, что Game Boy Advance представленный на фото может проигрывать старые игры от Game Boy Color? Конечно, можно просто спросить, но мы упираемся в честное слово продавца, что может быть достаточным, а может и нет. А может продавец сам добросовестно заблуждается, он играл всю жизнь, думал, что купил оригинал и продает его как оригинал.
Для того, чтобы разглядеть ранее не замеченного «слона» пришлось изучить горы патентов Nintendo. Теперь воспользуемся этой информацией, почерпнутой из официальных патентов от Nintendo, которые были зарегистрированы в USPTO (Патентное бюро США) и описывают реализацию на практике совмещения возможности играть в игры разного поколения консолей без эмуляторов.
Когда разработчики Game Boy Advance начали разрабатывать консоль, перед ними встало несколько вопросов:
1. Как сделать так, чтобы пользователи не вставляли новые картриджи в старые консоли?
2. Как совместить в одной консоли поддержку игр от старой консоли и поддержку игр от новой консоли (ведь у Game Boy Color был тот же самый процессор, несмотря на цветной экран и там не требовалось добавление нового)?
3. Как показать консоли, что вставлен старый картридж, а не новый (это особенно актуально, учитывая, что к ним подается разное напряжение).
И так далее.
И инженеры Nintendo вышли из этой задачи с интересным решением.
Интересный факт: через софтверную часть консоли, никак нельзя узнать какой картридж подключен. То есть в программе нельзя написать строчку «если картридж старый, то сделай то-то».
Что происходит, когда в консоль вставляется картридж?
Для начала разберемся в вопросе, что происходит, когда в консоль вставляется картридж? Для этого рассмотрим схему патента Nintendo, где Nintendo расписала работу этой системы:
Итак, после того как мы вставили картридж (в слот для картриджа, обозначенный на схеме – 37) мы включаем консоль (переключателем 382, это вкл/выкл консоли).
Переключатель 35, основываясь на состоянии селектора 35s узнает какой вставлен картридж и с помощью микросхемы 384 ставит в регистр 362f значение 1 или 0 (1 для новых игр и 0 для старых).
Независимо от того, какое значение установлено в регистре 362f, происходит перезагрузка процессора и активируется 32 разрядное ядро (362а), после чего начинают запускаются инструкции установленные во втором загрузочном ROM (362e). На определенном этапе этих инструкций происходит проверка значения, установленного в регистре (362f) и если установлено значение 1, то 32 разрядный процессор продолжает свою работу, а если установлено значение 0, то активируется микросхема 369, которая останавливает работу процессора (362а) и активирует 8BIT процессор (361а) с его собственными инструкциями (361с).
Что ясно из этой схемы и процедуры? Что за то, чтобы понять, какой картридж вставлен отвечают детали, отмеченные на схеме номерами: 37, 35, 35s и 383.
Детали 37, 35, 35s и 383
Для того, чтобы понять, что это такое, нам недостаточно просто рассмотреть плату, потому что, не понимая, что это и за что они отвечают, не ясно на что нужно обращать внимание.
Попробуем разобраться. Мы знаем, что из программной части консоли никак не понять, какой картридж вставлен, а значит это реализовано извне и происходит в момент, когда мы вставляем картридж в консоль. Если внимательно рассмотреть картриджи, то мы увидим, что у новых Game Boy Advance картриджей есть выемка на задней стороне, обозначена номером 412 на картинке. А на старом картридже (GB или GBC) такой выемки нет.
Для того, чтобы понять, на что влияет эта выемка, давайте посмотрим на другой патент Nintendo, который описывает работу специального устройства, которое предназначено для работы с разными типами картриджей.
Вид сверху:
И что происходит, если вставлять разные типы картриджей:
Как видите, при одинаковом размере слота для картриджей, именно выемки в новом картридже не дают сработать рычажку, который переключает селектор 35s, в старом картридже этих выемок нет и они, наоборот, воздействуют на селектор 35s.
Посмотрим, как на реальном оборудовании - Game Boy Advance - выглядит этот переключатель.
Вот этот рычажок (35s) отмечен красным:
То есть, вставляя этот картридж мы просто отклоняем этот селектор до конца и замыкаем другие контакты. Так переключатель 35 понимает, что вставлен старый картридж и устанавливает в регистр значение 1.
На этом мы закончили разбираться с тем, как происходит процесс определения какой картридж вставлен. И наверняка у вас появился вопрос, а как это нам вообще может помочь с определением подделки, да и еще Game Boy Advance SP, а не просто Game Boy Advance?
Главный признак оригинала
Как вы понимаете Game Boy Advance SP сделан по такой же технологии, что и обычный Game Boy Advance и там тоже есть такой же селектор, вот он:
Он делает абсолютно тоже самое, только расположен чуть-чуть по-другому. Он не является частью самого слота для приема картриджа, а полностью самостоятельная и отдельная деталь. И какое-то время эту деталь делали на том самом заводе Foxconn, который сейчас производит iPhone (вид сверху на плату):
А если присмотреться, то видно и тот самый рычажок:
Понятное дело, что пираты не могли повторить такую сложную схему, да которую еще и делали на хорошо организованных заводах. И все это вылилось в то, что если посмотреть в подделку, то увидишь там пустоту, без всяких переключателей!