Как известно, вчера вышел новый Glitch Hack для Zephyr, Jasper и Trinity (Slim). В этой статье рассмотрим подробнее его установку на приставку.
Что нам понадобится:
Программы:
Python 2.7 и Python Crypto
Impact (из Xilinx Lab Tools)
NandPro (>= v2.0e)
Устройства:
SPI программатор (LPT/USB)
XC2C64A CoolRunner-II CPLD (Digilent C-mod)
Гнездо под CPLD
Xlinx JTAG кабель для прошивки CPLD
Конденсатор на 220 пикофарад
Набор для паяния (провода, припой, паяльник, флюс).
1. Чтение NAND.
Считать NAND можно тремя способами – SPI Flasherом, через LPT и через программатор.
SPI Flasher выглядит примерно так:
LPT порт в компьютере:

Для снятия дампа, нужно припаять провода от LPT или флешера к матплате приставки по схеме:

Схемка SPI флешера – кто хочет – собирайте, у кого есть – смотрите, где какой контакт:
На желтых контактах обычно висит джампер (не замкнут), голубые – USB порт.
Для LPT понадобятся резисторы на 100 Ом и один диод. Паяем к нужным точкам, желательно использовать провода потолще (особенно на GND), либо экранированный кабель.
Контакты на Slim приставке:
Итак. Все припаяли, можно начинать.
Нам понадобится этот архивчик (из него обязательно устанавливаем PortIO 95)
Подключаем питание к приставке, но не включаем её, подключаем LPT или USB к компьютеру.
Запускаем компьютер, запускаем коммандную строку, переходим в папку с Nandpro командой cd и пишем
nandpro lpt(либо usb:): -r16(либо -r64, если у вас jasper arcade) nand.bin

Если выдало

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

И сравниваем с значением, которое проверяет NandPro (оно может быть в пределах, указанных в свойствах).
Если значение другое, его можно переназначить программкой NandProIOPatcher.exe (есть в архиве).
Если все равно не хочет действовать, перепаивайте, укорачивайте и утолщайте провода, либо ищите USB SPI Flasher.
Если же все нормально, программа начнет читать Nand. На 16 мегабайтных флешках этот процесс длится около 40 минут. На 256 и 512 (где мы снимаем только 64 мб) – около двух с половиной часов.
В процессе чтения желательно выключить Wi-Fi роутер, радиотелефон и не пользоваться микроволновкой.
После снятия дампа, нужно снять его еще пару раз, чтобы удостовериться, что они совпадают, для этого, можно использовать команду fc /b nand1.bin nand2.bin (где nand1 и nand2 – названия NAND дампов). Например, в случае с Slim:
В итоге, получим точную копию NAND памяти приставки.
2. Установка Python и Python Crypto.
Ссылки на них даны вверху статьи.
Сначала ставим Python – всё по стандарту
Далее, ставим Python Crypto. Тоже всё по стандарту
Теперь нужно, чтобы из командной строки python интерпретировался как выполнение программы по адресу, куда вы установили программу. Для этого, идём в свойства системы – переменные среды:
Ищем в нижнем окошке переменную Patch, нажимаем Изменить.
В начале приписываем папку, куда установился Python. В моем случае, это C:Python27
После пути не забывайте точку с запятой – это разделитель между двумя путями.
Теперь всё сохраняем и перезагружаем компьютер.
3. Создание патченного образа.
Теперь распаковываем этот архив и создаем рядом с остальными папками (common, slim..) папку output. Также, копируем NAND дамп приставки рядом с этими папками.
Запускаем коммандную строку, переходим в эту папку и пишем python common/imgbuild/build.py nand.bin common/cdxell/CD common/xell/xell-gggggg.bin
Вместо nand.bin нужно написать название вашего NAND дампа.
В итоге, после обработки, получим в папке output файл image_00000000.ecc
Теперь, осталось записать этот дамп в NAND
Для этого, делаем всё то же, что и для чтения, только пишем
nandpro +w16 image_00000000.ecc
Обязательно нужен «+», а не «-» – это означает пересчет контрольных сумм.
4. Программирование CLPD
Теперь нужно прошить CLPD для работы.
Основная программа, через которую будем работать – Xilink Lab Tools.
Для скачивания (ссылка в конце страницы загрузок), нужно сначала зарегистрироваться – вместо адреса и остального, можно забить любую муть (почту нужно вписать верную).
После скачивания, в процессе установки предложат выбрать лицензию – выбирайте пункт Free Web лицензию, вас перекинет на сайт, где среди вашей мути появится новый пункт для выбора цели лицензии. Я выбрал Science. После этого, на почту придет файл лицензии, который и нужно скормить установщику.
Разъем под плату нужно запитать от 3.3в на 20 пин и заземление на 21 – можно взять питание с кабеля привода:
Также, нужно сделать LPT кабель для программирования CLPD:
Так будет выглядеть готовый к программированию девайс:
Подключаем кабель, питание и запускаем iMPACT. Следуем картинкам:
Для zephyr, jasper и slim разные прошивки. Выбирайте нужную
После этого, прошивка запишется и можно приступать к подключению.
5. Пайка
Убираем R2, соединяем верхнюю часть R2 с нижней частью R1:
И ставим в бокс, примерно на это место (не забываем изолировать площадки):
А теперь самое важное – соединить выводы платы с точками на плате приставки.
Для Zephyr и Jasper:
Вот схема всего действа:
Все точки, обозначенные на схеме, находятся на плате приставки, вот эти места:


Также, нужно припаять конденсатор и диоды по схеме. В итоге, будет так:
Для Slim:
Диоды не нужны, одного конденсатора хватит. Теперь точки:


После всего этого, приставка будет запускаться минуты две, но в итоге выдаст XeLL Reloaded!
Все дружно ждем новый фрибут.
