Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Руссификация и программирование на PSP » Руссификация программ на PSP » ОСНОВЫ русификации (Всё что нужно для русификации программ для PSP)
ОСНОВЫ русификации
Andy_maNДата: Вторник, 2009-06-16, 3:06 PM | Сообщение # 1
Сержант
Группа: Администраторы
Сообщений: 21
Репутация: 7
Статус: Offline
Программа для установки шрифтов

Как снять залочку?
Теория
Некоторые разрабы любят устанавливать залочку на символы выше порядкового номера 128, т.е. разрешены только 0-127 (0x00-0x7F)
Обычно это делается следующим образом: код = код_символа && 0x7F
Если есть исходник, то достаточно просто найти строку похожую на эту и удалить smile (с последующей компиляцией разумеется)

Способ 1 - "просто и настойчиво"
Если исходника нет - то открываем Хекс редактор (рекомендую HxD - бесплатный и мощный)
и ищем хекс значения 7F - заменяем их поочереди на FF каждый раз сохраняя и проверяя результат, при каждой "неудачной" замене возвращаем предыдущее значение обратно и так до тех пор пока не повезёт smile
Если все значения перебрали, но толку 0 - вывод один - залочка установлена как-то по-другому

Минусы: при больших файлах процесс может затянутся по времени
Плюсы: Очень простой

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

Лучше всего продемонстрировать данный способ на конкретном примере.
Для наших опытов возьмём cwcheat.prx из комплекта CWCHEAT_0_2_2_REVD.
Сперва нам необходимо разобрать плагин с помощью prxtool.
PRXTOOL со всем нужным набором файлов вы можете скачать отсюда

И так приступим:
-Распаковываем архив (например на диск C:\)
-Копируем туда же cwcheat.prx, переименовав его в 1.prx
-Запускаем dissassamble.bat

В итоге мы получим файл 1.txt - код нашего prx'a на ассемблере.
В нем ищем 0x7F напротив команды and
Нетрудно обнаружить, что в нашем файле таких места 2:
0x00007D64: 0x30A2007F '...0' - andi $v0, $a1, 0x7F
0x00007D70: 0x30A2007F '...0' - andi $v0, $a1, 0x7F

Теперь осталось лишь отредактировать эти адресса в файле prx.
Т.к. смещения PRXTOOL показывает относительные, то не забудем привести их в абсолютный вид (прибавив размер заголовка 0x60)
0x00007D64 + 0x60 = 0x7DC4
0x00007D70 + 0x60 = 0x7DD0

Далее действуем как обычно smile

Как нарисовать свой шрифт
Русифицированая версия DEBUG шрифта HOMEBREW

Для этого понадобится программа RomArtist от Shadow_Man

Все очень просто:
Открываете болванку шрифта (ниже даны 2 болванки)
Устанавливаете кол-во битов на пиксель в 1BPP

И перерисовываете smile
После чего сохраняете.

Получившийся шрифт можно устанавливать с помощью патчера (в нижней строке выберите путь к вашему шрифту)
Болванки:
Русский шрифт
Английский шрифт (оригинальный)

 
Форум » Руссификация и программирование на PSP » Руссификация программ на PSP » ОСНОВЫ русификации (Всё что нужно для русификации программ для PSP)
Страница 1 из 11
Поиск:


FOOSA.RU 2008-2009 Создать бесплатный сайт с uCoz