Содержание
Еще полгода назад в Китае появились в продаже абсолютно новые процы для Xbox 360 Slim. Но никто не в курсе, как их устанавливать на приставку, ведь Fuses не прожжены, процы абсолютно нулевые. В общем, я провел детальное расследование и в результате получился целый детектив!
Впервые о существовании таких процессоров я узнал от owod, который безуспешно пытался поставить их на платы и заставить работать ()
Тогда я искренне считал, что заставить работать приставку с таким процессором невозможно.
Представьте моё изумление, когда через некоторое время он мне сообщил, что успешно «прошил» fuses и запустил приставку!
Я не предполагал, что это мне когда-нибудь пригодится, так что узнал минимальные подробности всего процесса. Итак, из полученных сведений:
- Припаять процессор на матплату Trinity
- Заменить NAND на 256/512 от Jasper
- Создать devkit образ и записать его в приставку
- Использовать 21173.1_Xenon_Recovery.iso для восстановления приставки
В общем-то, всё. Я полагал, этого мне будет достаточно для воспроизведения процесса в будущем. Ниже описаны злоключения, кому не интересно — мотаем в конец и смотрим решение исходной задачки.
Самое интересное началось, когда через три месяца xboyhot попросил меня помочь в схожей проблеме, и я начал усиленно вспоминать суть проблемы. Всё оказалось сложнее, чем я считал. Имевшейся информации реально не хватало, а owod не отвечал (возможно, из-за войны на Украине). Дело осложнял языковой барьер — я не знаю языка урду, а английским мой собеседник владел слабо.
1. Поиск сервисных файлов
Всё-таки это сервисный диск, которого не должно быть в открытом доступе.
Тем не менее, он, а также огромное количество файлов для devkit консолей, нашелся в теме на xbox360iso
Из той темы я скачал не только диск, но и несколько версий софта для восстановления — XDKRecoveryXenon*****.exe, полагая, что они содержат так нужные мне файлы для сборки devkit-образа.
2. Сборка devkit образа.
Софт для восстановления при запуске требовал Xbox и не позволял извлечь содержимое:

Но у меня был архив с файлами бутлоадеров devkit консоли, который прислал мне owod, а ещё он упоминал про rgbuild
RGbuild представляет собой программу, которая умеет по кусочкам собирать и разбирать образ системы для Xbox 360:

Это было настоящим подарком для меня. Увы, созданные вручную образы не работали (всё проверялось на 16MB консоли)
Через некоторое время, я обнаружил, что XDKRecoveryXenon*****.exe можно открыть как архив и достать как загрузчики, так и все системные файлы!

При этом, в «архиве» имелось полсотни различных комбинаций загрузчиков:

Раз у меня появились системные файлы, настало время проверить сборку через Xebuild. С новыми версиями этой программы, шла папка devkit_sample с списком файлов для сборки внутри:

В общем, содержимое файла я заменил на своё, ведь все файлы у меня были от иной версии системы. Оставалась проблема размера. Xebuild собирал образы размером 64 МБ, а памяти было всего 16. Опытным путем было найдено, что достаточно обрезать образ до 16 МБ и засунуть на свое место smc_config
<далее идёт многочасовое, унылое и безуспешное клепание образов через Xebuild и RGbuild + проверка их на консоли>
В итоге, я плюнул на всё, нашел именно те файлы, что указаны в том демо-списке xebuild и собрал несколько образов. Пришлось перебрать все 50 загрузчиков, распаковывая их по очереди и проверяя CRC у каждого из файлов. Один из новых образов таки заработал!

В дальнейшем оказалось, что обязательно собирать образ с нулевым ключом и загрузчиком SC для trinity, что имеет размер 22 КБ вместо 26 КБ.
Итак, образ заработал, но любые попытки запуска восстановления приводили к краху:

После очередной партии различных образов и попыток запуска, выяснилось, что приставке банально не хватает места под системные файлы.
3. Замена NAND на 512 MB
Мало перепаять чип памяти, нужно, чтобы он еще и заработал! Для этого, нужно выставить верный Flashconfig с помощью резисторов.
Вот как выглядит настройка Trinity под 512 MB память от джаспера:

В общем, во время всех тестов имелись две приставки с нулевыми процами, одна с 16МБ памятью, другая с 512МБ. Как я ни собирал образ, вторая приставка лишь пищала и отказывалась включаться. И конфиг меняли, и память — ни один образ, собранный через xebuild или rgbuild не работал.
Стало очевидно, что дело в формате памяти — для больших блоков нужен другой формат. Я вспомнил про параметр jasperbb в xebuild и наудачу набрал trinitybb. Удивительно, но образ собрался!

А дальше, по-прежнему, разочарование — приставка выдала 0020. И опять началась канитель со сборкой образов и их проверкой.
На исходе третьего дня опытов, когда дошло до полностью ручной сборки образа через WinHEX и даже он не заработал, я сдался попросил перепаять 512МБ память на заведомо рабочую консоль и проверить там. До этого работоспособность консоли под вопрос не ставилась, ибо XeLL прекрасно работал.
Вашу ж… Короче, всё сразу заработало, восстановление прошло до конца, fuses прошились, бокс включился. Дело было в нерабочей материнке.
На этом приключения кончились, на приставку вкатили RGH и жила она долго и счастливо.
4. Итоговый алгоритм восстановления приставки (Trinity)
- Перепаять чип памяти на 64, 256 или 512 MB
- Перепаять калибровочные резисторы в состояние 11110110101
- Записать в приставку вот этот образ (или этот очень небольшой образ, но я его не проверял)
- Записать вот этот образ на диск (любой — CD, DVD)
- Подключить к приставке привод Xbox 360 (любой), вставить диск
- Запустить приставку, выползет меню
- В меню восстановления выбрать, Devkit или Retail консоль вам нужна
- После восстановления, считать NAND (на всякий случай)
- Вернуть 16MB чип и резисторы в положение 11110111010
- Поставить Freeboot, используя имеющийся образ памяти, либо тупо залив универсальный образ
Можно и не ставить Freeboot, это на ваше усмотрение.
На всякий случай, продублирую на английском
- Replace memory with 64, 256 or 512 MB one
- Setup config resistors to 11110110101
- Write to xbox this image (this image is much smaller, but I didn’t check it)
- Burn this ISO to CD or DVD disc
- Connect any Xbox DVD-ROM with burned service disc to console.
- After powering on, you’ll see recovery menu
- There will be «Repair as Retail» and «Repair as Devkit» — choose what you need
- Read NAND image after recovery will be finished
- Put 16MB back and set config resistors to 11110111010
- Setup RGH Freeboot, using dumped NAND image, or just flash ready-to-use freeboot image
В общем, еще одна интересная проблема решена, уверен, это кому-нибудь, да пригодится.
