Клон GBA SP от DVTech

Клон GBA SP от DVTech

https://t.me/gameboy_development

Как я уже говорил, купил я этот DVTech с диагнозом "не включается". Что же, не первый раз у меня что-то не включается. Ставлю заведомо исправную батарею - эффекта нет, подключаю зарядник, результат такой же. Ожидаемо. Пора залезать внутрь. Корпус разбирается без проблем, а вот с дисплеем пришлось повозиться. Дело в тем, что крепежные винты находятся под наклеенным защитным пластиком. Греем феном (около 100 градусов) и ковырялками для мобилок отклеиваем.

Всё, консоль разобрана. Внутри небогато, CPU, DDR и NAND flash. На первый взгляд ломаться нечему. Подключаю лабораторный блок питания, включаю. Потребление тока есть. Мультиметр в руки. Измерения показывают, что 3.3V есть, 1.8V тоже есть, даже 5V от зарядки приходят. Питание в порядке. Лезу в интернет за мануалами на DDR и NAND, попутно заглядываю на полку за осциллографом. Осциллограф показывает, что при запуске производится чтение из NAND и непрерывное обращение к DDR. Выходит, что он не "не включается", а не загружается.

Поиски в интернетах приводят к тому, что собран он вроде как на китайском Ingenic JZ4740 и у него точно есть USB. Т.к. здесь BGA корпус, то отследить дорожки от CPU не получится. Но не беда! У меня есть плата похожего геймбоя, но с CPU JZ4725 в корпусе LQFP. Немного уличной магии и USB готов! Дальше больше.

Гружусь в Windows 7 (да, такой старый), появляется неизвестное устройство Ingenic JZ4740 USB Boot device. Двухдневный поиск драйверов привел вот сюда https://ftp.radix-linux.su/3pp/Ingenic/legacy-ftp.ingenic.cn/3sw/00tools/usb_boot/tools/

И да, есть билд и исходный код! Но вот беда, всё под Windows XP. Ставлю XP в VirtualBox, пробрасываю USB устройство и о чудо! Драйвер установлен, клиент запустился. Немного аппаратных настроек периферии Ingenic`а и ... он успешно загрузился. Тест RAM показал, что все хорошо, чтение из NAND тоже производится, казалось бы watafuck?! Дамп бутлоадера показал, что предположительно он работает на µC/OS-II https://micrium.atlassian.net/wiki/spaces/osiidoc/overview. А вот дальше начинаются странности. Одним из ключевых параметров NAND flash является размер страницы. У установленной флешки размер страницы 4096 (4К), но вот дамп бутлоадера почему-то записан с размером страницы 2048 (2К). Можно предположить, китайцы не заморачивались и прошивали все с одними параметрами, объем NAND позволяет записать много раз подряд и прошивку и встроенные игры, тогда почему не минимальный размер страницы, который составляет 512B? Странности продолжаются, по адресам страниц где предположительно должные быть runimage и rootfs как раз начинаются массивные блоки данных, но размер страницы уже нормальный, 4К. Также насторожило, что встречаются упоминания встроенных приложений, явно от какой-то электронной книги.

Ковыряния в сырцых позволили немного автоматизировать дамп всей флешки на диск, но система постоянно виснет где-то в районе драйвера устройства. Дебажить драйвер и прошивку устройства желания нет никакого, да и все средства разработки под Windows остались в прошлом.

Попытка найти такой же девайс, но рабочий к успеху не привела. Все с описанием "долго лежал и перестал включаться". Из этого можно сделать предположение, что либо микросхемы NAND были закуплены из выбраковки и частично вышли из строя, либо системы коррекции ошибок нет, либо она работает неверно. Может быть мне повезло и в мой экземпляр, начитавшись Хабра, пытались залить непонятно что. Неизвестно, но чую я, истина как всегда где-то рядом.


Если у вас или ваших друзей есть такой девайс в рабочем состоянии - сдампите прошивку (или хотя бы boot)! Если что, я помогу. : )



Report Page