Прежде, чем приступать к изготовлению данной «Расширенной сборки "Pandora Service Pack"», вы должны знать и понимать механизм простейшего изготовления и принципа работы обычной Пандоры, о чём более подробнее изложено в теме PANDORA 5.00 М33-6 SLIM&FAT
Как это работает:
Данный комплект предназначен только для системно прошиваемых PSP-100x и PSP-200x с матплатой до ТА-088v3!
Для работы данного комплекта, требуется запандоренная батарея, которая работает только на вышеупомянутых моделях.
Для тех, кто не понял первые 2 строчки, повторяю: на PSPgo, PSP-300x, PSP-200x с матплатой ТА-088v3 и PSP-E100x - Пандора не работает!
Инструкция по использованию находится в программе по кнопке "Как пользоваться".
Комплект содержит 4 версии Пандор и сборку сервисных программ, устанавливающихся на карту памяти по своим папкам.
Во время установки, автоматически пандорится карта памяти, если на ней свободно место под загрузчик IPL.
Требуемая версия Пандоры запускается во время включения PSP при удержании соответствующей кнопки:
<=> 6.60 ME-1.8 (обновлено на 6.61 ME-2.3 в Pandora Service Pack v1.1)
<=> 5.50 GEN-D3
<=> 5.00 М33-6
<=> Pandora ELF Menu
Для восстановления требуемой прошивки, необходимо закинуть соответствующий файл прошивки EBOOT.PBP в корень карты памяти, переименовав его цифрами версии прошивки, например 660.PBP (уже копируется при установке), 550.PBP, 500.PBP.
ВНИМАНИЕ! Комплект содержит Pandora ELF Menu, которым крайне опасно пользоваться неосведомлённым юзерам, т.к. оно содержит набор сервисных программ, влияющих на работу железа PSP, например, программа "Brightness Fixer v0.9" тут же, после запуска и без запроса подтверждения, пишет в служебную область ключ IDStorage 0х0008.bin, который на европейских моделях приводит к нарушению порядка включения уровня подсветки. Другие программы, как например "IdStorage Manager", при неумелом обращении, могут сменить оригинальный MAC-адрес, испортить работу UMD-диска или вообще стереть ваши индивидуальные ключи, генерируемые индивидуально для каждой консоли на заводе, при выходе с конвейера. Это может привести к неработоспособности сетевых подключений, чтения дисков и прочим неполадкам. Хотя сейчас всё возможно обратно восстановить, с помощью этого же комплекта, однако, не обладая соответствующими знаниями, не следует необдуманно баловаться программами.
Обязательно, в первую очередь, сделайте резервную копию(nand-dump) вашей оригинальной системы с помощью программы "nandTool 0.4 NEO", так же входящей в состав "Pandora ELF Menu".
Принцип работы Пандоры
Процедура перехода в сервисный режим следующая:
При включении, PSP в первую очередь запрашивает у аккумулятора по среднему контакту уровень заряда и следом серийный номер.
То есть, PSP начинает общаться с батареей и ведёт вполне осмысленную беседу.
Если заряд достаточен и получен стандартный серийник, тогда PSP включается в обычном режиме.
Но, если серийный номер в аккумуляторе изменить на 0хFFFFFFFF, тогда PSP включается в сервисном режиме.
Она начинает искать загрузчик IPL (Initial Program Loader) не как обычно - во внутренней памяти на матплате, а в специальной неразмеченной скрытой области на карте памяти.
Затем IPL стартует и начинает грузить с карты драйверы для функционирования консоли и далее файлы ядра, необходимые для загрузки программы-оболочки сервисной Пандоры, либо любой другой программы.
В кратце, далее приведу поэтапно этот процесс...
Этап 1. Переход в сервисный режим
На первом этапе, при включении PSP, происходит разговор PSP с батареей.
Чтобы было более понятно, покажу нагляднее, как именно происходит этот разговор.
Мы перехватили этот разговор с помощью K-Line и получили вот такую последовательность цифр и букв:
Немного почесав затылком задние лапки, мы пришли к выводу, что этот набор бессмысленных символов не совсем не имеет смысла, а очень даже вполне подвергается человеческой логике. Таким образом, разложив эти символы на строчки и посчитав каждую строчку на своих 16-ти пальцах, оказалось, что сумма каждой строки всегда равна FF.
Чтобы избавиться от ручного древневекового труда разбивки по строчкам и подсчёту правильности строки, нашими девелоперами была написана программа, с помощью которой удалось автоматизировать этот процесс.
Если этот сырой код разговора PSP с батарейкой, поместить в программу "psp bat v1.1", то наглядно увидим целенаправленный разговор.
Так что, если кто думает, что батарейка - тупой брусок из пластмассы и химикатов, тот глубоко заблуждается...
Direct - Направление запроса от PSP/от BATарейки
Head - Код запроса/ответа: 5A - запрос от PSP; A5 - ответ от батареи
Len - Длина запроса/ответа: Code + Message + Cb
Code - Код по спецификации, расшифровка в столбце Operation
Message - Сообщение запроса/ответа
Cb - Корректирующий байт: сумма всего запроса/ответа должна быть равна FF
Summ - Подсчёт программой верности всего кода запроса/ответа: FF - верно.
Operation - Расшифровка кодов операций из секции Code
Этап 2. Загрузка Пандоры из TM-IPL
Итак, PSP пошептавшись с батарейкой и поняв, что она требует секретный режим, начинает искать секретный IPL,
но не как обычно, в чипе памяти на материнской плате, а именно в скрытой неразмеченной области на карточке памяти.
Если там ничего не находится, то PSP просто не сможет из ничего загрузиться, а если там есть загрузчик, то конечно с него и загрузится.
IPL содержит в себе микропрограмму - асмический код ввода-вывода, т.е. командные коды-инструкции процессора, с помощью которых процессор исполняет последовательную цепочку команд на включение и выполнение различных действий. А всему набору инструкций процессор железно обучен на стадии производства и заложен был ещё на этапе разработки.
Но просто посылать определённые коды процессору из IPL ещё не достаточно, ведь окончательный смысл имеет именно запуск определённой программы. Поэтому, после подготовки процессора к работе, посылается окончательная команда на исполнение программы по определённому пути. Вот так выглядит этот путь в конце IPL: /TM/config.txt
По этим картинкам вы можете со 100%-ой уверенностью определить, записался-ли IPL на карту памяти.
Для этого нужно подключить карту памяти к компьютеру через PSP или картридер и открыть в Хекс-редакторе физический диск карты памяти.
Вообще TM IPL занимает минимальное значение, ровно 1 блок = 32 сектора по 512 байт, всего 16384 байт (с 16-го по 47 сектора включительно)
Если в Hex Workshop не понятно, как пользоваться, тогда воспользуйтесь бесплатным HxD
В открывшемся окне смотрите и выбираете ваш "Съёмный диск" карты памяти НЕ в области "Логические диски" (помечено красным крестиком), а там, где "Физические диски" (помечено зелёной галочкой):
Итак, мы проследили цепочку от разговора батареи и перехода в сервисный режим, после чего грузится IPL, предварительно записанный в скрытую область карточки памяти. Далее, IPL стартует процессор и активирует прочее железо и лампочки к работе. И наконец происходит исполнение прописанного в IPL следующего пути: /TM/config.txt
Но теперь, в этом файле происходит выполнение команды, так же прописанной в IPL, когда при удержании определённой клавиши происходит запуск ipl.bin из папки, указанной уже в этом текстовике:
UP = "/TM/660/ipl.bin";
LEFT = "/TM/550/ipl.bin";
RIGHT = "/TM/DC8/ipl.bin";
DOWN = "/TM/pandora.bin";
То есть, если вы заметили на скринах выше, в IPL так же прописаны названия кнопок, которые можно использовать в текстовике, как команды.
Естесственно, эти названия, понятные человеку, процессор не понимает и конечно же, соответственно каждому названию, в IPL сопоставлены инструкции в виде кодов кнопок.
Этап 4. Запуск ipl.bin
Удерживая определённую кнопку, прописанную в файле config.txt, нас перенаправляет на папку с файлом ipl.bin.
Этот файл выполняет единственную функцию - определение модели PSP.
Определив модель PSP, запускается соответствующий файл ipl_01g.bin для PSP-100x, либо ipl_02g.bin для PSP-200x.
А ipl_0Xg.bin является ничем иным, как копией кастомного IPL, устанавливаемого в NAND PSP загрузчиком кастомной прошивки.
Таким образом запускается окружение Пандоры, откуда можно просто запустить прошивку прямо с карты памяти, либо обновление прошивки.
*****
Последний раз редактировалось ErikPshat; 04.11.2021 в 11:00.