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».