taiHEN плагины PS Vita

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 вообще!

Как устанавливать плагины:
Установка плагина состоит из трёх шагов!

  1. Скопировать файл в папку ur0:tai
  2. Добавить путь в файле ur0:tai/config.txt
  3. Перезагрузиться

Синтаксис конфигурационного файла, секции и установка skprx:
На всякий случай, приведу содержимое файла “ux0:tai/config.txt” по умолчанию:

  • ux0:tai/config.txt
  • # 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/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”, увидел у него расширение “skprx”, скопировал этот плагин в папку “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). Откуда я узнал код игры? Ответ тут.

Удаление плагинов:

  1. Удалить файл плагина
  2. Удалить строку из config.txt
  3. Перезагрузиться

Если ничего не получается:
Для оказания помощи необходимо предоставить три вещи:

  • Скриншоты или фотографии списка всех файлов и папок из раздела “ux0:”.
  • Скриншоты или фотографии списка всех файлов и папок из папки “ur0:tai”.
  • Скриншоты или фотографии списка всех строк из файла “ur0:tai/config.txt”.