![]() |
![]() |
#201 | |||||||||||||||
PSX Planet Elite Supporter
![]() Регистрация: 08.08.2008
Пол: Мужской
![]()
Сообщений: 1,443
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Теперь про десятичные значения. Искать их можно через Hex-редактор HxD: у него встроенный декодер справа в "Data Inspector". Принцип действия - выделяешь 4 байта и смотришь, что он декодировал. Так как число из UltraISO нам уже известно, мы можем выделять, допустим, с 1-го байта по 4-й или со 2-го по 5-й, пока число нужное не получим. Хотя для понимания можно пользоваться разделением строки редактора на 4: один символ в столбике "Decoded text" - это двухзначное число Hex. Если посчитать количество знаков в Decoded text, мы увидим, что их 16. 16 делим на 4, получаем 4. То есть, должно быть 4 указателя в строке - по 4 байта каждый. Но в случае с BBLIT там есть еще какие-то значения, которые не проверял (скорее всего, размер файла - после адреса принято писать размер блока данных, которые относятся к этому файлу). Чтобы поменять значение в Hex-формате, нужно просто в Data Inspector дважды кликнуть на десятичное значение в UInt32 и ввести новое десятичное. Hex-значение поменяется автоматически. То есть получается процедура в обе стороны: и декодировать можно из Hex в Dec, и закодировать из Dec в Hex. Вот пример на BBLIT: Нажмите
![]() Здесь мы видим, что значение 8F 28 00 00 декодируется как 10383. Такое же число мы видим в столбике "LBA" в UltraISO, а относится оно к файлу TITLE.BZZ, который является меню игры (где Press Start). Дальше... Нажмите
![]() За ним идет другой адрес - 0B BA 00 00. Он относится к файлу LANGUAGE.BZZ (меню выбора языка), хотя по списку он идет перед TITLE.BZZ. Дальше... Нажмите
![]() Следующий указывает вообще на первый файл в списке. То есть, вот наглядный пример, зачем нам список. Нельзя просто вставлять адреса из списка UltraISO, который отсортирован по-своему, а в EXE-файле игры - по своему. Поэтому по адресам нам нужно понять последовательность файлов. Если игра не выходила на сборнике, есть способ поиска LBA по значению из UltraISO: Нажмите
![]() Например, здесь мы хотели узнать адрес файла LOADING.BZZ (дефолтный экран загрузки с часами). Адрес LBA - 43545. Переходим в HxD, нажимаем CTRL+F, переходим на вкладку поиска целого числа "Integer number", вводим адрес LBA из UltraISO, указываем 32-битный размер (чтобы он искал именно 4-байтные значения, а не 2-х байтные, иначе с большей вероятностью найдет все что угодно, и неясно будет, где LBA), убеждаемся, что порядок байт стоит Little Endian, до кучи можно направление поиска выбрать "All" и ищем по всему файлу с самого начала, независимо в какой области файла ты сейчас находишься, жмакаем OK и он найдет это значение и его местоположение. А рядом могут оказаться и другие адреса. А дальше создаем список.
__________________
Я - геймер с чувством юмора. P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29 Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =) Список фанатских переводов PS1 SCPH-5502 C Последний раз редактировалось SlavaVlasov; 20.07.2024 в 20:47. |
|||||||||||||||
![]() |
![]() |
Сказали спасибо SlavaVlasov |
Реклама | |
![]() |
![]() |
#202 |
PSX Planet Elite Supporter
![]() Регистрация: 08.08.2008
Пол: Мужской
![]()
Сообщений: 1,443
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
И до кучи сравнение Little и Big Endian.
Допустим мы ввели десятичное число "9000": 90 5F 01 00 - так значение выглядит в Little Endian 00 01 5F 90 - так значение выглядит в Big Endian. Обрати внимание, что числа - одинаковые, просто направление обратное. Big Endian - про "слева направо", Little Endian - про "справа налево". Большинство данных хранятся именно в Little Endian. Причем очень часто используется два байта из 4-х. То есть, условно если ты видишь значение из двух байт, а после идет 00 00, значит занято два байта. Однако, третий может быть занят по мере наращивания значения. Оперируя условными числами, если мы возьмем число 50 и напишем его в тысячных цифрах, мы получим 0050. Теперь представим, что мы его разделили в стиле Hex (00 50) и перевернули наоборот (50 00). Но если мы представим число 105 в тысячах, то будет 0105. Разделяем - 01 05. Перевернем - 05 01. То есть, начинает наращиваться следующее число (01), хотя оно является предыдущим. Добавляем еще буквы с A по F, включаем понимание, что число 10 - это 0A, которое идет после 09 (числение-то шестнадцатеричное, а не десятичное), а 10 в hex - это будет 16 в Dec, и примерно понимаем, в каком виде в файле хранятся эти значения. Вот здесь таблица есть:
__________________
Я - геймер с чувством юмора. P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29 Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =) Список фанатских переводов PS1 SCPH-5502 C Последний раз редактировалось SlavaVlasov; 20.07.2024 в 18:41. Причина: Большинство данных хранятся именно в Little Endian! Изначально по ошибке написал "Big Endian". |
![]() |
![]() |
Эти 2 пользователи сказали Спасибо SlavaVlasov за это сообщение: |
![]() |
#203 | |||||||||||||||
Person Of The Community
![]() Регистрация: 17.03.2024
Адрес: Sled V istorii
Пол: Мужской
![]()
Сообщений: 529
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
__________________
Сборники ретро-игр на русском языке: PS2, GBA, SNES, SEGA: https://archive.org/search?query=cre...vergentFour%22 |
|||||||||||||||
![]() |
![]() |
![]() |
#204 | |||||||||||||||
PSX Planet Elite Supporter
![]() Регистрация: 08.08.2008
Пол: Мужской
![]()
Сообщений: 1,443
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
__________________
Я - геймер с чувством юмора. P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29 Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =) Список фанатских переводов PS1 SCPH-5502 C |
|||||||||||||||
![]() |
![]() |
![]() |
#205 |
PSX Planet Elite Supporter
![]() Регистрация: 16.06.2010
Пол: Мужской
![]()
Сообщений: 447
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SlavaVlasov, хоть сейчас и не занимаюсь этим, всё равно с интересом прочитал. Подача материала - моё почтение!
![]() |
![]() |
![]() |
Сказали спасибо -ZigZag- |
![]() |
#206 |
Person Of The Community
![]() Регистрация: 14.04.2024
Пол: Мужской
![]()
Сообщений: 24
![]() ![]() ![]() ![]() ![]() |
А как через Meido Menu (v1.2) сделать меню с своей картинкой и текстом и музыкой?
|
![]() |
![]() |
![]() |
#207 | |||||||||||||||
PSX Planet Elite Supporter
![]() Регистрация: 08.08.2008
Пол: Мужской
![]()
Сообщений: 1,443
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Нажмите
![]() ![]() Извлечь графику можно через Tim2View, дальше дело фотошопа, потом сохранить ее надо в BMP. Конвертировать BMP в TIM можно такими утилитами как TIM Utility 1.36pe (работает только на 32-разрядных системах, т.к. является 16-разрядной) или Tim Viewer 1.04b. Ими мы делаем преобразование BMP в TIM, а готовый TIM импортируем поверх старого в Tim2View.Еще важный момент (смотрим скрин): графика должна быть в той же разрядности цвета, что и в оригинале, чтобы не было проблем при импорте (шрифт и круглешочки для фона - 4 бита (16 цветов), заголовок - 8 бит (256 цветов). Короче, порядок действий примерно такой: 1. Открываем graphics.qlp в Tim2View и извлекаем графику в PNG или BMP. 2. Меняем на свое усмотрение в фотошопе или другом редакторе и сохраняем в BMP. 3. Через TimViewer конвертируем BMP в TIM. 4. Импортируем TIM обратно в graphics.qlp через Tim2View (TIM > Replace in file...) Главное, проследить, чтобы она правильно отобразилась в том же Tim2View после импорта. Если разрядность TIM'а будет не соответствовать оригиналу, в эмуляторе цвета могут сильно исказиться. Теперь по музыке: Музыку меню поддерживает вроде только трекерную (аналог MOD, XM, IT). Музыкальный файл в данном случае - LARISSA.HIT (судя по содержанию EXE, имя может быть любым, главное чтобы расширение было *.HIT). Саму трекерную музыку можно скачать здесь: А вот для конвертации в формат HIT потребуется утилита MODConv v.04 от Silpheed/HITMEN - прикрепил к посту (утилита - консольная, 1996 года и у меня заработала лишь на 32-разрядной Windows XP). В батнике прописываем имя исходного файла и получаем HIT на выходе. Создавать свою трекерную музыку можно через MadTracker 2 (Здесь есть полезная статья, как сделать основную работу через FL Studio и потом сделать из этого трекерный файл.): или OpenMPT Нажмите
Это очень нужная картинка, если будете работать в ней:
![]() И скрины интерфейса. ![]() ![]() ![]() Но на практике времени уходит на создание собственного трекингового произведения даже больше, чем на создание сборника. Вот пример моего трекерного ремикса на Bugs Bunny - Lost in Time (правда в XM-формате): Короче, сконвертированную из MOD в HIT музыку кидаем рядом с EXE-шником и запаковываем все это в образ.
__________________
Я - геймер с чувством юмора. P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29 Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =) Список фанатских переводов PS1 SCPH-5502 C Последний раз редактировалось SlavaVlasov; 20.07.2024 в 20:48. |
|||||||||||||||
![]() |
![]() |
Эти 3 пользователи сказали Спасибо SlavaVlasov за это сообщение: |
![]() |
#208 |
Person Of The Community
![]() Регистрация: 28.02.2023
Пол: Мужской
![]()
Сообщений: 1,014
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SlavaVlasov, сравнивать значения LBA нужно только в файле Psx.exe у одноигровки и сборника или в исполняемых файлах тоже сравнивать значения LBA?
Последний раз редактировалось Banny; 23.07.2024 в 01:23. |
![]() |
![]() |
![]() |
#209 | |||||||||||||||
PSX Planet Elite Supporter
![]() Регистрация: 08.08.2008
Пол: Мужской
![]()
Сообщений: 1,443
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Задача - взять исполняемый файл с одноигровки и сравнить с исполняемым файлом с многоигровки, предварительно выяснив, который на сборнике к этой игре относится. Сделать это относительно легко: при сравнении в HexCmp, файл будет отличаться всего в нескольких местах (в области LBA и, например, игрового текста, если он там окажется). Разница будет подсвечена красным цветом. А вот если у второго файла едва ли не с самого начала большинство байт покрыты красным (слишком много отличий, то это явно не тот файл. Ну, или отличается регионом (если у тебя одноигровка в NTSC, а игра на сборнике - в PAL), но об этом обычно упоминается в самом начале файла.
__________________
Я - геймер с чувством юмора. P.S.: C2 EE F2 20 F2 E0 Ea E0 FF 20 F3 20 EC E5 ED FF 20 EF EE E4 EF E8 F1 FC 20 3D 29 Русские и английские обложки PS1. Собственные сканы. Обновлено: 15.03.2024 =) Список фанатских переводов PS1 SCPH-5502 C |
|||||||||||||||
![]() |
![]() |
![]() |
#210 |
Person Of The Community
![]() Регистрация: 28.02.2023
Пол: Мужской
![]()
Сообщений: 1,014
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SlavaVlasov, получается что исполняемый файл игры сборника нужно извлекать после сборки многоигровки и сравнивать в нем LBA значения с исполняемым файлом одноигровки?
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание студии перевода "Cool Game". | zamanov001 | Ваши игровые проекты | 141 | 20.07.2024 15:58 |
Создание PS2 Multi Game Disc | ViToTiV | SONY PlayStation 2 - TechSupport | 40 | 05.05.2019 23:37 |
Сборка пс2-версий под пк | A55A551N | Обсуждение эмуляции SONY PlayStation 2 | 5 | 17.07.2018 08:11 |
Создание логотипа для студии перевода "Cool Game". | zamanov001 | Ваши игровые проекты | 6 | 19.12.2011 20:45 |