Копирование содержимого статьи без согласия
автора (Yoti) запрещено в любом виде:
текстовом, графическом, записи на видео,
в виде зарисовок и зачитки голосом,
а также в другом, не упомянутом здесь явно.
taiHEN плагины PS Vita
теория и практика
Введение:
В самых первых версиях
HENkaku не было предусмотрено подключение дополнительных модулей (плагинов). Для решения этой проблемы (а это действительно проблема, так как изначально
HENkaku задумывался для расширения возможностей системы, а не этих ваших пиратских игрулек) был придуман "скелет" -
taiHENkaku. И, с версии 7, даже сам
HENkaku стал лишь модулем для
taiHEN (пускай и не отключаемым). Всё прочее можно менять под себя, и достаточно просто. Как именно? Читаем дальше.
Какие бывают плагины:
Плагины, как и системные модули, могут быть рассчитаны для работы на уровне ядра (kernel) и на уровне пользовательского приложения (user). Первые имеют больше возможностей, но работают постоянно, вторые же имеют меньше возможностей, но зато их можно привязать к отдельным приложениям. Отличить их можно по
расширению - пользовательские плагины имеют расширение
suprx (буква "u" взята из слова "user"), плагины уровня ядра имеют расширение
skprx (буква "k" взята из слова "kernel").
Что с этим всем делать:
В файловой системе есть две различных системных папки со схожей структурой внутри. Первая находится в основном пользовательском разделе (ux0), вторая же находится во внутреннем пользовательском разделе (ur0). Сама папка, что очевидно, называется "tai", а нужный нам файл в ней - "config.txt".
Предлагаю сразу же удалить папку "ux0:tai" и забыть про использование раздела ux0 вообще!
Как устанавливать плагины:
Установка плагина состоит из трёх шагов!- Скопировать файл в папку ur0:tai
- Добавить путь в файле ur0:tai/config.txt
- Перезагрузиться
Синтаксис конфигурационного файла, секции и установка skprx:
На всякий случай, приведу содержимое файла "ux0:tai/config.txt" по умолчанию:
Но работать мы будем с файлом "ur0:tai/config.txt", который лишь на одну (первую) строку больше:
# This file is used as an alternative if ux0:tai/config.txt is not found.
# For users plugins, you must refresh taiHEN from HENkaku Settings for
# changes to take place.
# For kernel plugins, you must reboot for changes to take place.
*KERNEL
# henkaku.skprx is hard-coded to load and is not listed here
*main
# main is a special titleid for SceShell
ur0:tai/henkaku.suprx
*NPXS10015
# this is for modifying the version string
ur0:tai/henkaku.suprx
*NPXS10016
# this is for modifying the version string in settings widget
ur0:tai/henkaku.suprx
- С неё и начнём. Самый первый управляющий символ - # (решётка).
Всё, что написано после него, пропускается при обработке файла. В исходном файле он используется для комментариев, но ещё можно использовать для временного отключения плагинов, вписав решётку перед строкой с ним.
Пример:
#Я решил временно отключить плагин, который строкой ниже.
#ur0:tai/henkaku.suprx
#Из-за решёток в начале строки всё это будет проигнорировано.
Вывод: все строчки с решёткой в начале можно смело удалить, и ничего не сломается! Так и поступим:
*KERNEL
*main
ur0:tai/henkaku.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
- Теперь, очистив файл от комментариев, мы натыкаемся на второй управляющий символ - * (звёздочка).
Строки, начинающиеся со звездочки, определяют куда буду применяться все плагины, пока не будет встречена новая строка со звёздочкой. Официально оно называется "секция". Список таких секций:- *KERNEL - секция для плагинов ядра (skprx), которые постоянно находятся в памяти
- *ALL - секция для плагинов пользователя (suprx), работающих для всех запускаемых программ
- *main - секция для плагинов пользователя (suprx), работающих в оболочке системы (SceShell)
- *ABCD12345 - секция для плагинов пользователя (suprx), работающих только для "ABCD12345"
Не допускайте дублирования (повторения одинаковых) секций! Хоть по стандарту оно возможно, но на практике часто приводит к сбоям в работе.
Пример:
*KERNEL
ur0:tai/nonpdrm.skprx
*main
ur0:tai/henkaku.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
Вывод: я скачал плагин "NoNpDrm", увидел у него расширение "s
kprx", скопировал этот плагин в папку "ur0:tai" и вписал путь до него в файле "ur0:tai/config.txt" на новой строке после первого объявления секции "*KERNEL", обнаруженного мною на первой же строке. После перезагрузки плагин будет работать.
Приоритеты плагинов, зависимости и установка suprx:
Из предыдущего примера можно подумать, что плагины ставятся как угодно - только строчки добавляй. Это не совсем так. Плагины считываются и применяются сверху вниз, потому порядок указания важен. Таких важных моментов, пожалуй, два:
- Плагины подмены памяти - такие плагины (вернее плагин, так как больше одного за раз нормально работать не будет) стоит всегда держать первой строчкой после *KERNEL, а все прочие плагины для ядра писать после него.
- Плагины с зависимостями - навскидку могу вспомнить таких только два, это kuio и ioPlus. Они дают доступ к функциям, которые используют другие плагины, и потому должны быть запущены раньше, чем зависимые от них (например, для VitaGrafix требуется ioPlus).
Также, не забывайте про нормальную человеческую логику - например, rePatch есть смысл вписать после NoNpDrm, так как без второго нельзя запустить игру, к которой будет применять изменения первый.
Рассмотрим установку пользовательских плагинов (напоминаю, это тех, чьё расширение suprx):
*KERNEL
ur0:tai/nonpdrm.skprx
ur0:tai/repatch.skprx
ur0:tai/kuio.skprx
*main
ur0:tai/henkaku.suprx
ur0:tai/shellsecbat.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
*ALL
ur0:tai/vsh.suprx
*PCSB00245
ur0:tai/Framecounter.suprx
Тут я установил плагин для изменения строки часов в меню (shellsecbat), для всех запускаемых приложений устаревший плагин для разгона (vsh) - не забыв про зависимости (kuio) и персонально для европейки Persona 4: Golden плагин для отображения счётчика кадров в секунду (Framecounter). Откуда я узнал код игры? Ответ
тут.
Удаление плагинов:- Удалить файл плагина
- Удалить строку из config.txt
- Перезагрузиться
Если ничего не получается:
Для оказания помощи необходимо предоставить три вещи:
- Скриншоты или фотографии списка всех файлов и папок из раздела "ux0:".
- Скриншоты или фотографии списка всех файлов и папок из папки "ur0:tai".
- Скриншоты или фотографии списка всех строк из файла "ur0:tai/config.txt".