PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Портируем старые плагины, такие, как Music.prx, под прошивку 6.60 (https://www.pspx.ru/forum/showthread.php?t=104559)

Yoti 01.04.2014 19:05

Цитата:

Сообщение от ErikPshat (Сообщение 1085739)
UPD: по непонятным причинам в исходниках присутствует нид, который ни в одной прошивке найти не удалось. Возможно старинная функция 1.х

Легко Гуглится, это sctrlHENSetSpeed.

ErikPshat 01.04.2014 19:14

Yoti, то есть, это кастомный systemctrl.prx ? Значит зря я искал эту функцию в официальных прошивках :)

Цитата:

Сообщение от Yoti (Сообщение 1085743)
это sctrlHENSetSpeed

А вот оно и скорость процессора.
Код:

void sctrlHENSetSpeed(int cpuspd, int busspd)
{
        int (*_scePowerSetClockFrequency)(int, int, int);


        g_scePowerSetClockFrequency_orig = find_power_function(0x545A7F3C); /* scePowerSetClockFrequency */
        _scePowerSetClockFrequency = (void *) g_scePowerSetClockFrequency_orig;
        _scePowerSetClockFrequency(cpuspd, cpuspd, busspd);
}

Нашел здесь: http://code.google.com/p/procfw/sour...rol/cpuclock.c





ErikPshat 02.04.2014 06:11



  • LoadCoreForKernel_CF8A41B1 нашёл и пофиксил. Она выполняет функцию: sceKernelFindModuleByName
  • SystemCtrlForKernel_CC9ADCF8 осталась неизменной.



Цитата:

Сообщение от ErikPshat (Сообщение 1085739)
UPD: ещё ниды функций до 5.00 присутствуют, но изменились в 6.60
Код:

SysclibForKernel (sysmem.prx)
0x89B79CB1 [0x000054B4] - strcspn
0x62AE052F [0x000054BC] - strspn
0x87F8D2DA [0x000054CC] - strtok


В ообщем тут такие дела, что эти функции в прошивках 6.xx исчезли бесследно.
В sysmem.prx в основном все остальные подобные функции стоят на месте неизменно, а вот именно эти просто убрали.

Нашёл кое-что по этим функциям в исходниках PRO: https://code.google.com/p/procfw/sou...data_missing.h
Код:

MissingNIDEntry missing_SysclibForKernel_entries[] = {
        { 0x89B79CB1, (u32)ownstrcspn,  },
        { 0x62AE052F, (u32)ownstrspn,  },
        { 0x87F8D2DA, (u32)ownstrtok,  },
        { 0x1AB53A58, (u32)ownstrtok_r, },
        { 0xD3D1A3B9, (u32)strncat,    },
        { 0x909C228B, (u32)&ownsetjmp,  }, // setjmp
        { 0x18FE80DB, (u32)&ownlongjmp,  }, // longjmp
};

Возможно в ПРО-шивке они это дело пофиксили и добавили функционал старых прошивок.
Иначе config.c совсем не работал бы.



Итак, портирование плагина music.prx for 6.60 завершено (mediafire.com). Это финальный релиз!
Результаты портирования с окончательной таблицей в шапке. Всё, что было возможно - было портировано под 6.60.
Тему по плагину music.prx можно закрывать.

Просьба потестить во всех режимах на прошивке 6.60 и доложить о багах...

SILENT-Pavel 02.04.2014 18:58

Цитата:

Сообщение от ErikPshat (Сообщение 1085769)
Это финальный релиз!
Результаты портирования с окончательной таблицей в шапке. Всё, что было возможно - было портировано под 6.60.
Тему по плагину music.prx можно закрывать.

Просьба потестить во всех режимах на прошивке 6.60 и доложить о багах...

внутри пакета в music_conf.txt - все равно стоит дебаг вкл, зачем?
перезалью тогда с выключенным дебагом
на вите ничего не изменилось. переключение цпу не стало работать
все что работало, продолжило работать так же как в предыдущем релизе

ErikPshat 02.04.2014 19:17

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085777)
внутри пакета в music_conf.txt - все равно стоит дебаг вкл, зачем?

music_conf.txt просто лежит оригинал из исходников. Там автор оставил его включённым и написал типа это для меня. Так что наверное нужно его отключить, обычным пользователям он не нужен наверное, чтобы глаза не мозолил.

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085777)
переключение цпу не стало работать

ОК, я его не стал трогать. Там код вроде бы рабочий, раз работал на 3.7х, ниды функций полностью под 6.60, 100 раз проверял.
Ну не работает и фиг с ним. Вон смотрю PLUM делал свой MP3Player на основе этого и просто тупо удалил поддержку скорости процессора.
Думаю в инструкции по кнопкам управления нужно совсем убрать эти кнопки. Хотя на PSP видать никто не проверял, видимо PSP ни у кого не осталось.

vash 02.04.2014 19:57

Цитата:

Сообщение от ErikPshat (Сообщение 1085778)
Хотя на PSP видать никто не проверял, видимо PSP ни у кого не осталось.

Тут один человек на пда отписался, что не работает у него чего-то. Завтра попробую на трёшке. Никогда музыку не слушал с помощью ПСП, поэтому напряжно.

SILENT-Pavel 03.04.2014 04:21

В общем изучаю все возможности плагина
правда все еще на вите
в общем изменил директорию в конфиге с мьюзик на ат3 фолдер в руте
положил в ат3 фолдер ат3 музыку из тёмного зеркала суфон фильтра
плагин работает, но ат3 не играет. всмысле он их нашел и понимает, но PLAYING идет. а звука от них нет

на обоих плагина. древний и 6.60 оба не играют его на вите
ну мб это норма. не так важно, ат3 кодируется другими средствами в мп3. это не косяк. просто изучаю плагин и его работу на всем чем можно

а вот тема на вололо: http://wololo.net/talk/viewtopic.php?f=56&t=37806

ErikPshat 03.04.2014 05:08

SILENT-Pavel, есть 2 формата, у обоих расширение *.at3
  1. ATRAC3PLUS - это зашифрованный формат и он не будет проигрываться просто так, только на специальном хардварном чипе Sony. Плагин скорее не может им управлять.

  2. ATRAC3 - это свободный формат (в хедере найдёшь RIFF....WAVEfmt) По сути это обычный WAVE контейнер с расширением *.wav и кодеком ATRAC3, просто расширение поменяли на *.at3 по названию кодека. Тема для ознакомления и кодека для PC.
В образе Сифон Фильтра скорее всего шифрованная музыка. Её нужно сначала декодировать средствами PSP, возможно Виты. В редми от Ахмана к плагину в описании затрагивается вскользь этот момент, по поводу *.at3, и его составляющих сырцов *.oma, *.omg. Раньше была прога SonicStage бесплатная, которая декодировала AT3PLUS и скидывала автоматом на PSP в папку ms0:/OMGAUDIO/. Поэтому плагин и берёт эти файлы из этой папки по-умолчанию. Потом Sony эту прогу совсем ликвидировала и удалила.

Эту прогу SonicStage можно взять в этой теме.
Там же есть прога для декодирования ATRAC3PLUS на PSP: AT3_DecodeTest_kernel150_&_3xx
SILENT-Pavel, классная темка получилась! :good:



vash,
SILENT-Pavel,

Если будет время, протестите плиз PSARDumper на декриптовку 6.35 и GO(6.10,6.20,...6.60 - вроде для гошки эти прошки).

vash 03.04.2014 12:50

Проверил плагин Music.prx для 6.60 на ПСП3000 с прошивкой 6.60LME-1.8. Залил в папку ms0:/MUSIC/ три файла .mp3. Тестил и в игре, и в хоумбрю (Соул Калибур и Эверест). Все пункты меню, которые указаны - работают как надо по-определению. Не разобрался только с пунктом 12. :select: + :start: = Повторить. Чего он там повторяет? При нажатии этой комбинации ничего не происходит: как играла выбранная мелодия, так и играет.
П.С.: хотел заскринить работу музыкального плагина при выведении меню с информацией (пунктом 10), не срабатывает скриншотер.

Цитата:

Сообщение от ErikPshat (Сообщение 1085790)
...протестите плиз PSARDumper на декриптовку 6.35 и GO(6.10,6.20,...6.60 - вроде для гошки эти прошки).

Проверил этот дампер. Проша 6.20 от гошки декриптовалась нормально, остальные прошивки не декриптовались, в т.ч. и 6.35 для ПСП. Причём, 6.60 для гошки вообще отказалась обрабатываться, хоть дампер и увидел её как 6.60 (сразу написал, что для выхода нажмите :cross:).

ErikPshat 03.04.2014 13:54

vash, круто, а частоту процессора повышает и понижает?

Про PSARDumper забыл добавить, что нужна информация, какой table_mode показывает на прошивках, которые не декриптуются.
Он эту инфу должен выводить после старта, когда начинает грузить прошивку.

vash 03.04.2014 13:59

Цитата:

Сообщение от ErikPshat (Сообщение 1085798)
vash, а частоту процессора повышает и понижает?

Да, как положено. Изменения частоты индицируются на экране, а также, при включённом меню плагина. В общем, с мп3-файлами, кроме последнего (пункта 12 в описании управления) непонятного повторения, всё работает.
Щас мод гляну и тут напишу.


Результаты:
mode 4 включается при прошивках 6.35, 6.39, 6.35 го, 6.39 го и не декриптует их, а также 6.60, но её декриптует.
mode 5 включается при прошивках 6.20 го (декриптует) и 6.60 го (не декриптует, см скрин)
Нажмите для увеличения

ErikPshat 03.04.2014 14:55

Цитата:

Сообщение от vash (Сообщение 1085799)
последнего (пункта 12 в описании управления) непонятного повторения

По идее это функция loop - зацикливание воспроизведения. То есть, при нажатии клавиш, вроде бы ничего не должно происходить, но песня по окончании должна повториться снова.
И попробуй уменьшать частоту процессора до минимума, как дойдёт до 29/14, то PSP должна неадекватно себя вести, мерцать экран, особенно в играх.
Да, были жалобы по поводу воспроизвения из других папок. Вообще говорили, что проигрывает всегда только из ms0:/PSP/MUSIC/, но не подхватывает ms0:/MUSIC/



По поводу дампера вроде бы ситуация проясняется, ещё бы информации со скринами и не вперемешку c Go.
Не хватает информации по ошибке - ? -> Cannot decrypt Xg table FFFFFFFF.
Ещё просьба проверить 6.10 от Go (там в коде как раз они идут в паре для 6.10 и 6.20.)

Вот я тебя загрузил :)

ErikPshat 03.04.2014 15:36

  • И ещё, в исходниках я смотрю, что музыка должна проигрываться из поддиректорий, т.е. например в папке ms0:/MUSIC/ можно создать подпапки и из них так же должна подхватываться музыка.

  • И ещё, каким-то образом должен подхватываться плейлист, может попробовать подкинуть файл PLS или M3U http://mp3-converter.narod.ru/sozdanie-pleilista.html
    На экране должен высвечиваться Plylst Status: блаблабла

vash 03.04.2014 15:51

Цитата:

Сообщение от ErikPshat (Сообщение 1085802)
По идее это функция loop - зацикливание воспроизведения. То есть, при нажатии клавиш, вроде бы ничего не должно происходить, но песня по окончании должна повториться снова.

Да, точно. При включении этой функции, воспроизводимая мелодия зацикливается. Если эта функция не включена, то воспроизводятся музфайлы подряд, а по окончании списка, стартует заново.

Цитата:

Сообщение от ErikPshat (Сообщение 1085802)
И попробуй уменьшать частоту процессора до минимума, как дойдёт до 29/14, то PSP должна неадекватно себя вести, мерцать экран, особенно в играх.

Да, именно. При минимуме (индицируются цифры 028:046) игра становится слайдшоу, при максимуме (333:166) - всё нормально. И я ошибся, во включаемом меню информации я не нашёл цифр частоты проца.

Цитата:

Сообщение от ErikPshat (Сообщение 1085802)
Да, были жалобы по поводу воспроизвения из других папок. Вообще говорили, что проигрывает всегда только из ms0:/PSP/MUSIC/, но не подхватывает ms0:/MUSIC/

Я воспроизводил именно из папки ms0:/MUSIC/.
П.С.: сейчас на прошивку 6.10 поищу и проверю.

Цитата:

Сообщение от ErikPshat (Сообщение 1085803)
И ещё, в исходниках я смотрю, что музыка должна проигрываться из поддиректорий, т.е. например в папке ms0:/MUSIC/ можно создать подпапки и из них так же должна подхватываться музыка.

Создал в папке ms0:/MUSIC/ папку ms0:/MUSIC/1/, положил и в неё музыку, воспроизводит и из ms0:/MUSIC/, и из ms0:/MUSIC/1/, как-будто рядом лежат. В меню плагина путь правильно отображается. Только к чему так извращаться?

ErikPshat 03.04.2014 15:56

Ну ваще просто замечательно!

Цитата:

Сообщение от vash (Сообщение 1085804)
Я воспроизводил именно из папки ms0:/MUSIC/.

В конфиге есть строчки:
Код:

DIR = ms0:/MUSIC/ #must end with a slash
#DIR = ms0:/PSP/MUSIC/

Если убрать спереди знак #, то эта строчка будет активирована. Можно поменять решётки на другую папку и должна музыка подхватываться из другой папки, либо совсем убрать решётки с путей, тогда должна подхватываться с обеих папок.

Да, поставь звук в конфиге на 50, иначе звук при включении музыки по умолчанию будет сразу на 100%
Код:

VOLUME = 100 # 0-100, default volume
Цитата:

Сообщение от vash (Сообщение 1085805)
Создал в папке ms0:/MUSIC/ папку ms0:/MUSIC/1/, положил и в неё музыку, воспроизводит и из ms0:/MUSIC/, и из ms0:/MUSIC/1/, как-будто рядом лежат. В меню плагина путь правильно отображается. Только к чему так извращаться?

Оу, ну это совсем отлично!!!

Ну можно в папке музыки разложить песни по своим подпапкам, например по альбому или по жанру. Чисто для себя, чтобы было, как в библиотеке, всё по своим полочкам. И потом, возможно можно выбирать музыку в порядке воспроизведения подпапок.

vash 03.04.2014 16:01

Цитата:

Сообщение от ErikPshat (Сообщение 1085803)
И ещё, каким-то образом должен подхватываться плейлист, может попробовать подкинуть файл PLS или M3U http://mp3-converter.narod.ru/sozdanie-pleilista.html
На экране должен высвечиваться Plylst Status: блаблабла

Ага, высвечивается в меню плагина Plylst Status:00000004.
Ещё, для особо извращённых, проверил запуск файла с таким названием: _яю____C_1_=_0_O_ __C_7_K___0_ =_0_ A_0_9_B_5_ - _яюFake_Do_Am.mp3
Запустился, только вместо кириллических букв крякозяблы.

ErikPshat 03.04.2014 16:20

vash, отлично:
  • LOOP - зацикливание, работает. При включении функции, по окончании песни, она начинает каждый раз воспроизводится повторно.

  • Смена скорости процессора - работает, но не выводится инфа об изменении на экран. Нужно попробовать добавить вывод инфо.

  • Музыка из подпапок - работает.

  • Названия на кириллице - воспроизводит. Нужно добавить кириллицу в шрифты, возможно будет и русские названия показывать.

  • Плейлист - получается не берётся из специального файла PLS/M3U, а генерируется плагином внутри программы на основе имеющихся треков.
Так получается всё работает. Нужно только пофиксить зелёные примечания )))

vash 03.04.2014 16:34

Цитата:

Сообщение от ErikPshat (Сообщение 1085802)
Не хватает информации по ошибке - ? -> Cannot decrypt Xg table FFFFFFFF.

Такая ошибка возникла только при попытке обработки прошивки 6.60 от гошки. На других прошивках, которые не декриптуются, картинка несколько другая, например 6.35 для ПСП:
начало запуска -
Нажмите для увеличения
, продолжение -
Нажмите для увеличения
Нажмите для увеличения
, и окончание процесса -
Нажмите для увеличения
.

Цитата:

Сообщение от ErikPshat (Сообщение 1085802)
Ещё просьба проверить 6.10 от Go

Эээ? 6.10?

Цитата:

Сообщение от ErikPshat (Сообщение 1085810)
Смена скорости процессора - работает, но не выводится инфа об изменении на экран. Нужно попробовать добавить вывод инфо.

Да нет, во-время изменения показывает внизу слева экрана, на пару секунд, я же писал, типа 028:046 на минимуме.

Цитата:

Сообщение от ErikPshat (Сообщение 1085810)
Плейлист - получается не берётся из специального файла PLS/M3U, а генерируется плагином внутри программы на основе имеющихся треков.

Я файлы PLS/M3U не делал, поэтому такой вывод не правилен. А название файла берётся прям из названия, хотя на компе и название альбома, и артист, и фирма-производитель файла виден. Винда из самого мп3 файла данные берёт.

ErikPshat 03.04.2014 17:01

Цитата:

Сообщение от vash (Сообщение 1085812)
Да нет, во-время изменения показывает внизу слева экрана, на пару секунд, я же писал, типа 028:046 на минимуме.

Да я об этом. Я так понял, что инфа о скорости не выводится по :select: + :square: = Вызов на экран меню с информацией.
Цитата:

Сообщение от vash (Сообщение 1085805)
И я ошибся, во включаемом меню информации я не нашёл цифр частоты проца.



Цитата:

Сообщение от vash (Сообщение 1085812)
Я файлы PLS/M3U не делал, поэтому такой вывод не правилен.

Ну я уже понял, что это именно так, потому что в исходниках не нашёл данных именно по формату плейлистов PLS/M3U, поэтому из воздуха они не могут читаться. Просто автор в программе назвал так плейлисты. А на самом деле, плагин сканирует директории, находит все песни и запоминает их количество и названия. Потом использует эту инфу в памяти для переключения между треками, зацикливания, последовательного и рандомного воспроизведения.



По поводу PSARDumper-а, огромное спасибо за скрины! Хоть теперь ясно в какую сторону копать.

vash 03.04.2014 17:24

Цитата:

Сообщение от ErikPshat (Сообщение 1085813)
Я так понял, что инфа о скорости не выводится по :select: + :square: = Вызов на экран меню с информацией.

Эх, не бейте меня тапочками, облажался. Вот на сотик снял меню плагина, есть там скорость проца. :blush:

Нажмите для увеличения

Качество картинки паршивое, но разглядеть можно.

ErikPshat 03.04.2014 17:33

vash, ууу, как всё запущено :) Поменяй местами строчки в текстовиках скриншотера и плагина музыки.
Либо поменяй скриншотер, думаю CWCapture 0.5 должен работать.



SILENT-Pavel, тебе нужно описание с инструкцией менять, что работает, а что нет. Например проигрывание из подпапок и кириллические названия. Я щас попробую кириллический шрифт добавить...

vash 03.04.2014 17:50

Цитата:

Сообщение от ErikPshat (Сообщение 1085818)
Поменяй местами строчки в текстовиках скриншотера и плагина музыки.

Ты знал и молчал!

Нажмите для увеличения


Никогда не пользовался плагинами, вот и туплю.
Хотелось-бы добавить, что при изменении уровня громкости, циферки в vol. не меняются, так 100 и остаются. А в самом низу название того самого музыкального файла с трудным именем.

ErikPshat 03.04.2014 18:28

vash, добавил кириллицу в шрифты, проверь плиз на песнях с нормальным русским названием...

vash 03.04.2014 19:07

ErikPshat, нет, крякозяблы. Песня со скрина называется ДМБ-2007. Звук максимальный вдвое уменьшил, теперь на максимуме тихо играет.

Нажмите для увеличения

На всякий случай, менял язык системы на инглиш, тоже самое.

Yoti 03.04.2014 23:22

Вложений: 2
Не знаю, где вы могли найти настолько древние версии дампера, но мой мод (чисто косметический) pro'шного всё спокойно разбирает.

ErikPshat 03.04.2014 23:56

Yoti, а вот PROшный я давно не вспоминал )))
А вот у тебя вообще нет table_mode = 5, значит получится байда с гошками 6.10/6.20

Помню в последний раз я его собирал и кидал в тему, вроде там он и есть мой старый космический )
У нас на руках последние под 6.60 только от Проксимы и Нейрона.

vash 04.04.2014 10:58

ErikPshat, насчёт плагина - без изменений

Лана - Ты ведь знаешь это.mp3
https://www.pspx.ru/forum/picture.php...&pictureid=306

ErikPshat 04.04.2014 18:02

vash, ладно, надоело заниматься русификацией плагина. Пусть так и останется, раз всё работает. Я смотрю, символы в названиях как раз берутся из всей матрицы шрифтов, т.е. без ограничений. Просто название песни каким-то образом записывается на карту памяти и считывается средствами PSP уже в другом формате. Видно, что каждая русская буква выводится не одним символом, а двумя, причём в другой кодировке и с другим смещением.

Так что мне пока не под силу разобраться с кодом вывода этой фигни, у кого есть опыт работы с этими кодировками, тот возможно и асилит, например frostegater или Yoti. Тем более, что автор в исходниках вставил такое примечание:
Цитата:

this allows us to parse latin-encoded unicode strings, though it could be better
Нажмите для увеличения

Давай доканаем лучше PSARDumper... А что, Йотин дампер ты не проверял?

Yoti 05.04.2014 12:26

Цитата:

Сообщение от vash (Сообщение 1085843)
насчёт плагина - без изменений

Обычный UTF-8 (2 байта на символ кириллицы) выводимый по байту на символ.
Для не-гиков (т.е. не таких, как я ХД) есть

ErikPshat 06.04.2014 01:57

Вложений: 1
Цитата:

Сообщение от Yoti (Сообщение 1085893)
Обычный UTF-8 (2 байта на символ кириллицы) выводимый по байту на символ.

Это я прекрасно знаю, что это русские буквы в UTF-8. На скриншоте всё видно наяву:

https://www.pspx.ru/forum/picture.php...&pictureid=306
Лана - Ты ведь знаешь это.mp3

Там даже отображаются мои символы в матрице шрифтов: символ Наруто, кирпичная кладка для рекавери меню, человечек с поднятой правой рукой, на белом фоне куски букв из строчки PSPx.Ru, которую я растянул на несколько символов длиннее.
Матрица

То есть, я вижу, что сиволы беруться не в ограниченной области 0x7F(127), а далеко дальше. А значит залочки нет.



Yoti, а что дальше..., что от того, что ты нам открыл великую тайну Буратино: "Что спрятано за холстом"? :D
Мы знаем, что там находится дверь. А вот что за дверью?

Вопрос в том, как это дело пофиксить. За вывод шрифта отвечает файл в исходниках blit.c.
Но как бы я не менял параметры, всё равно он выводит английские символы по одному байту, а русские названия песен 2-мя байтами, причём с невероятными смещениями.

Например первую букву "Л" в названии песни Лана - Ты ведь знаешь это.mp3 он показывает символами из матрицы 0x509B, вторая буква "а" - 0x50B0

Yoti 06.04.2014 17:10

ErikPshat,
очевидно же, добавить поддержку юникода или грязный хак по конверту символов.

frostegater 06.04.2014 18:07

есть исходники, есть поддержка. пара минут делов

ErikPshat 10.05.2014 07:55

Цитата:

Сообщение от ErikPshat (Сообщение 1085925)

То есть, я вижу, что сиволы беруться не в ограниченной области 0x7F(127), а далеко дальше. А значит залочки нет...
Например первую букву "Л" в названии песни Лана - Ты ведь знаешь это.mp3 он показывает символами из матрицы 0x509B, вторая буква "а" - 0x50B0

Хе-хе, нужно просто матрицу кириллицы переместить на 2 строчки выше :) тогда всё встаёт на свои места.
А да, ещё первый байт мешает, как бы от него избавиться?


Текущее время: 23:04. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.