PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=101)
-   -   Идея для полезной хомки. Она же просьба. (https://www.pspx.ru/forum/showthread.php?t=46610)

SееD 23.06.2007 16:18

Идея для полезной хомки. Она же просьба.
 
День добрый. Возникла неплохая (как мне кажется) идея для хомки.
Как вы, наверно, знаете, при тюнинге интерфейса PSP может возникать ситуации с нехваткой места во flash0. У нас на форуме есть даже целый мануал на тему освобождения места, однако там хоть и нет ничего сложного, однако есть умельцы, которые после таких очисток с бриком сидят...

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

Суть в следующем:
- с хомкой идут два комплекта шрифтов (оригинал и мелкие на замену)
- при запуске пользователю нужно лишь сделать выбор между:
1. нажать Х для освобождения места во флэш0
2. нажать О для восстановления шрифтов умолчанию

Если такая хомка будет, то мануал по этим препарированиям флэша можно будет скрыть подальше от детских неопытных глаз :)

Да, только еще проверку добавить на достаточное количество места для замены на оригиналы. И если его мало - сказать пользователю, чтобы тюнинг убирал.

Желательно чтобы всё по русски было, но можно и в стандартном консольном стиле. Надеюсь что кто-нибудь найдет время и возможность всё это воплотить. Заранее спасибо!

wSlava 23.06.2007 19:33

Ух, страшно мне с флэшом работать :)
Вообще прога по идее очень простая, флэш доступен как диск. Только я
не совсем в курсе специфики его работы.
Вот еще вопрос по описанию функционала:

//1. нажать Х для освобождения места во флэш0
А что освобождать, в смысле стирать ?

И еще, можно для отладки просто левые файлы копировать
и удалять, это не на какие чексуммы не повлияет ?

SееD 23.06.2007 19:39

нет. но лучше клади мелкие файлы и в /vsh/resource/
тогда стопудова ничего не брикнется. сам проверял (случайно :D)

там есть папка /font/
вот в ней лежат два файла: gb3s1518.bwfon и jpn0.pgf

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

при этом ничего кроме японского шрифта не пропадет

Mortem 23.06.2007 20:50

Готов взяться за написание этой хомки. Но только если тестить бдет кто-то другой. На своей разъединственной штуковине я это тестить не рискну. (:
Это ДаркАлексу все баблом на новую ЗЫЗу скидываются, а мне никто новую не купит. (:
Лчше уж буду игрушки писать, оно мне как-то ближе... Да и ваще не понимаю я всех этих заморочек с тюнингом интерфейса. Я его вижу меньше одной сотой времени, проводимого за PSP.

SееD 23.06.2007 20:52

тебе интересно программировать, а мне в последнее время - понять как можно всё изменить)) вот чем приходится заниматься, когда игр хороших нету)))

потестю я на своей, не проблема :) ты главное формат флэша ради эксперимента не забабахай)

Mortem 23.06.2007 20:57

Не, ну я ж не знаю, что там выйдет по началу-то. Я ж в слепую считай работать буду... Так что не соглашайся, запорешь себе ЗЫЗу первым же билдом. (:

wSlava 23.06.2007 21:10

Да ладно, это ж просто файлы, главное имена не перепутать :)
SeeD, вот вопрос, а если gb3s1518.bwfon и jpn0.pgf запороть при отладке,
PSP не брикнется ?

SееD 23.06.2007 21:38

как я только что выяснил - нет))
я тупо удалил два эти файла и включил PSP
она мне выплюнула синий экран и повисла. выключил, включил, зашел в рекавери, вернул оригиналы на место и консолька ожила :)

SееD 23.06.2007 21:40

вот, кстати, то на что надо заменять - http://pspx.ru/forum/showpost.php?p=462691&postcount=75

l3VGV 23.06.2007 21:57

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

насчёт замены возможно имеет смысл вместе с приложением распространять архив с набором файлов по умолчанию и просто ево распаковывать при сбросе на "умолчания".

SееD 23.06.2007 23:02

ну а я разве по другому предложил?)

wSlava 24.06.2007 00:57

mortem, напишешь ? или мне :)
я посмотрел пару исходников, на неделе напишу, вроде ничего такого, тем более если через рекавери все восстанавливается.
В общем алгоритм такой:
1) вместе с программой идут файлы пустышки (ну или подмена).
перед заменой делается копия файлов из флеша в каталог хомки (при этом проверяется место на стике)
а затем уже заменяются на файлы пустышки.
2) перед восстановлением прежних версий проверяется место
на флеше, если хватает, то заменяем.
3) Проверяется для обоих опреаций, что зарядки PSP не менее 50% и она не заряжается в это время (типа как у дарка алекса)
4) Нужно предусмотреть проверку версии прошивки, это в 3.30 и 3.40 ???

pspowner 24.06.2007 15:58

Да дело то вроде пустяковое... но мне лень

Mortem 24.06.2007 23:07

wSlava, лучше IDE. А я пока свой Кримсон не допишу ничем не буду заниматься. А то ваще не допишу. ):
Потом - возможно, хотя думаю кто-нить же напишет к тому времени...

SееD 25.06.2007 01:36

Слава,
1) не пустышки и правильные файлы для замены. это важно
2) лучше оригиналы раздавать в комплекте с хомкой. так надежнее. а то мало ли чего там у юзверя лежит.
3) для 303-340 они точно подходят. скорее всего они с 150 не менялись, но стопроцентно сказать не могу

pspowner 26.06.2007 20:20

Тяк, это первая версия. Не брикает ПСП, у меня работает нормально, т.е. во флеш0 судя по размерам файлы меняются туда/обратно. Насколько правильно там эти китайские шрифты восстановились я не проверял)

Здесь полная сборка fcleaner с бекапом моих шрифтов и тех что дал Сид.

*************************


Прошу добровольцев тестировать))

pspowner 26.06.2007 20:22

Эээ. важное замечание. Прога ещё в стадии написания, так что пока нет проверки на свободное место и уровень зарядки батареи. Об этом пока надо озаботится самому)

SееD 26.06.2007 20:36

здорово ^_^
работает)))

а проверка места штука хорошая)) у меня вот не хватило :)
Огромное спасибо! Еще чутка доработать и будет просто персик.
Проверку на батарею можно не делать. Только на свободное место

pspowner 26.06.2007 20:45

Цитата:

Сообщение от SееD (Сообщение 464741)
у меня вот не хватило :)

А что это значит? Восстановил файлы или нет?

SееD 26.06.2007 23:30

ну прога то посчитала что да. а вот PSP нет)
но никакого брика. просто синий экран. я ручками восстановил.

pspowner 26.06.2007 23:50

Цитата:

Сообщение от SееD (Сообщение 464894)
ну прога то посчитала что да. а вот PSP нет)
но никакого брика. просто синий экран. я ручками восстановил.

Ну чтож ты так... и опять не понял что и как.

1) Очищение отработало нормально? (по крестику)
2) Восстановление(по кружку)? Какой синий экран? В программе или при перезапуске?
3) Точно места на стике нехватало?

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

Да, и ещё, ты из программы выходил, или тестил очистку/восстановление в 1 сессию...

SееD 27.06.2007 00:15

1) отлично сработало
2) по кружку. нажал. она поработала. сказала что всё гуд. я вышел и бах.... синий экран "смерти"
3) стопудова

делал за разные сэссии.

завтра уберу весь тюнинг (просто бэкап на рабочем компе) и потестю еще разок :)

pspowner 27.06.2007 00:29

Ну вот, я же не из праздного любопытства спрашиваю... ))

- когда ты в ручную восстанавливал, ты перезаписал только эти 2 файла? Остальное менять не пришлось? Или ты всю папку font перезалил.

- если эти два файла просто стереть - будет синий экран? Или если эти файлы повреждены будет синий экран?

Вобщем да, похоже что из-за места. Просто я сравнил записаные файлы во флеш0 со своим бекапом с помощью fc.exe и они оказались идентичны.

SееD 27.06.2007 00:43

только эти два. больше ничего не трогал.

синий экран будет в любом случае - если стереть или если повредить.

да точно из-за места, я стопроцентно уверен.

wSlava 27.06.2007 01:32

Ой, тут работа кипит :)
pspowner, выложи исходники посмотреть, а то я с флешем не работал, тоже интересно.
Я начал было писать, вот что нашел, если надо - насчет сколько места осталось:
http://forums.ps2dev.org/viewtopic.p...space+free+art
и насчет батарейки есть функция scePowerIsLowBattery(), проверяющая, что лампочка заряда PSP мигает, в этот момент я думаю лучше не рисковать :)
Еще в SDK есть пример nand, так вот там есть указание, что при работе с флешем его
надо монопольно лочить для изменений и после разлочить:
LockFlash();
...
UnlockFlash();
Может это поможет побороть синий кран ...

SееD 27.06.2007 08:53

да экран синий был только лишь из-за того, что места не хватило и шрифт битый получился. если бы не нехватка места - всё было бы пучком :)

проверка на мигание рулит!

pspowner 27.06.2007 09:51

Цитата:

Сообщение от wSlava (Сообщение 464995)
Ой, тут работа кипит :)
pspowner, выложи исходники посмотреть, а то я с флешем не работал, тоже интересно.

Для меня исходники последнее время стали чем-то личным)) Ну ладно, вечером выложу. Просто стиль у меня несколько корявый...
Пока вот моя прога для смены названия прошивки на 3.40 ОЕ(там запись во флеш0):
Бинарник - https://www.pspx.ru/forum/showpost.ph...7&postcount=14
Исходник - https://www.pspx.ru/forum/showpost.ph...3&postcount=18


Цитата:

Сообщение от wSlava (Сообщение 464995)
Я начал было писать, вот что нашел, если надо - насчет сколько места осталось:
http://forums.ps2dev.org/viewtopic.p...space+free+art
и насчет батарейки есть функция scePowerIsLowBattery(), проверяющая, что лампочка заряда PSP мигает, в этот момент я думаю лучше не рисковать :)

Слав, я это тоже читал. Они предлагают считать сумму размеров всех файлов во флеш0 и вычитать из общего объёма. То не наш путь, по крайней мере мне он кажется диким и не очень точным. Я больше склоняюсь к варианту создания временного файла на флеш0 куда будет записываться некая инфа - сколько сумел записать, столько свободного места и есть. Потом файл удаляется. Или просто сделать проверку - а записались ли файлы полностью, если нет - вернуть как было. На счёт батарейки спасибо, думаю 1 лишняя строчка не повредит.

Цитата:

Сообщение от wSlava (Сообщение 464995)
Еще в SDK есть пример nand, так вот там есть указание, что при работе с флешем его
надо монопольно лочить для изменений и после разлочить:
LockFlash();
...
UnlockFlash();
Может это поможет побороть синий кран ...

Это я тоже знаю - вроде в примере dumpipl было, но лочить флеш не стал, и так всё прекрасно работает. По крайней мере я активно тестил свой VChanger который тут в теме по тюнингу валяется, так вот он без лока и тоже всё шикарно работает.
С синим экраном похоже всё ясно, Сид написал. И потом у меня на непрокаченной ПСП(есть место во флеш0) всё работает и без синих экранов. Вобщем мне кажется что страх перед флеш0 несколько надуманный...

Цитата:

Сообщение от SееD (Сообщение 465086)
да экран синий был только лишь из-за того, что места не хватило и шрифт битый получился. если бы не нехватка места - всё было бы пучком :)

проверка на мигание рулит!


Да, но ты проверь на всякий случай на непрокаченной ПСП, чтобы уж я был уверен что прога не только у меня работает.
Проверку батарейки и места добавлю вечером. Также может быть изменю интерфейс и вклею подсчёт CRC чтоб копирайты не меняли)) Ну параноик я - никуда не деца.

SееD 27.06.2007 11:18

на чистой всё супер. быстро и чётко :)

если будешь красоту наводить, то слова тоже (ИМХО) стоит чуток изменить. А то они пугающее))) Я бы вместо второй строчки просто пропуск оставил. И там еще в одном месте очепятка (хотя ты наверно и сам знаешь)

pspowner 28.06.2007 00:06

эээ переносца. Есть кое-какие засады.

Mortem 28.06.2007 00:38

pspowner
У флеша ограниченное количество перезаписи, если я не ошибаюсь. Большое, но ограниченное. Поэтому вариант с записью файла по моем не очень дачный.
И почему ты считаешь не точным вариант с подсчётом уже имеющихся файлов? Общий размер флешки ведь известен...

pspowner 28.06.2007 08:54

Цитата:

Сообщение от Mortem (Сообщение 465841)
pspowner
У флеша ограниченное количество перезаписи, если я не ошибаюсь. Большое, но ограниченное.

А это вот ты сейчас что-то конкретное имеешь ввиду, или вобщем?
То понятно что у любого накопителя есть предельный ресурс, да что там накопителя, вобще у любого устройства. Спорю, что и обычный дверной замок на 1 * 10^99 раз не откроется. Тоже самое с нандом и стиком, ресурс есть, но он маловажен ибо черезчур большой.

Цитата:

Сообщение от Mortem (Сообщение 465841)
Поэтому вариант с записью файла по моем не очень дачный.
И почему ты считаешь не точным вариант с подсчётом уже имеющихся файлов? Общий размер флешки ведь известен...

Этот вариант(с тест-файлом) я уже отбросил как невалидный, но по другой причине. Такой способ приводит к "забиванию" свободного места на flash0. Т.е. после того как запись в тестовый файл была остановлена в связи с отсутствием места, я удаляю этот файл, но место на flash0 всё равно остаётся как бы занятым тестовым файлом. Вчера уже 2 раза полностью перепрошивал ПСП по этому поводу, ибо даже 2 коцанных файла по 32Кб не влезали - соотв. ПСП не грузилась.

Так что как ни крути, а считать файлы придётся. А неточным я его считаю потому, что объём информации записанной в файл меньше, чем фактический размер файла на накопителе. А размер то файла будем определять по sceIoLseek32, а это не размер на диске. Это количество байт в файле. И потом, неизвестно сколько ещё служебной и/или скрытой инфы записано на флеш0, которая занимает место. Ну а если есть bad sectors(blocks)??

Mortem 28.06.2007 10:45

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

pspowner 28.06.2007 13:06

Ну xер знает. Поглядел тут Лёхины исходники oeflesherа и IDStorageChangerа - там не использует кластеров он юзает библиотеку libpspvshbridge - не знаю что это такое, но там интересные есть вещи -

vshLflashFatfmtStartFatfmt(); - логический формат ф0
vshIdStorageLookup и.т.п.

по программе - есть ещё идея.
Суть ведь такая. При замене больших файлов на маленькие - никаких проблем нет, а вот наоборот да при нехватке места получается семибрик.

Вот я и думаю, может покоцанные шрифты из ф0 сразу не убирать, а переименовать. И попытаться восстановить большие шрифты - если запись провалица - сообщить о нехватке места юзеру и вернуть покоцанным файлам старые названия. Со стороны будет выглядеть как будто прога определила нехватку места, полубрика тоже не будет...

Вобщем попробую такой вариант, если опять какие подводные камни будут - тогда уже буду делать с подсчётом файлов.

Mortem 28.06.2007 13:34

Как я понял фишка как раз в том, чтобы эти файлы далить, тем самым высвобождая место на флеше. Если их просто переименовывать, то я чего-то в этой проге не понимаю... (:

pspowner 28.06.2007 13:40

Цитата:

Сообщение от Mortem (Сообщение 466064)
Как я понял фишка как раз в том, чтобы эти файлы далить, тем самым высвобождая место на флеше. Если их просто переименовывать, то я чего-то в этой проге не понимаю... (:

Не делины а заменены на обрезанные. Это уже сделано и работает. Вся фишка в том что Сиду нужно чтоб эти файлы ещё и восстанавливались по желанию. Вот тут и засада, что нужно вместо 2х файлов по 32Кб записать 1 и 1.5 мегабайтные, а места для них после тюнинга может не быть. Вот я и предлагаю 32КБтные не удалять, а переименоваь.

SееD 28.06.2007 13:54

да и отлично. 240 кб свободного места там без всяких извращений остается, так что 2*32 влазят как дети в школу!

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

pspowner 28.06.2007 14:53

Тока есть 1 трабла, после моей программы, если места было недостаточно, у юзера места на flash0 точно не будет, брик он не получит, но путь ему только в рекавери на откат.

Хотя для тех у кого место есть, никаких проблем - всё будет работать на ура.

SееD 28.06.2007 18:48

ах вот почему мне откат делать пришлось))))))) хитрый какой косяк...

pspowner 29.06.2007 10:20

Цитата:

Сообщение от SееD (Сообщение 466255)
ах вот почему мне откат делать пришлось))))))) хитрый какой косяк...

Дык яж написал что место забивается... Вобщем буду делать определение места с подсчётом фалов, как пс2дев и Мортем советует... пока беру паузу до понедельника.

SееD 18.07.2007 12:02

ап)


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

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