PSX Planet: SONY PlayStation Community

PSX Planet: SONY PlayStation Community (https://psxplanet.ru/forum/index.php)
-   (PSX) RUS-de-RUS Section (https://psxplanet.ru/forum/forumdisplay.php?f=253)
-   -   Создаём рабочий игровой диск PlayStation (https://psxplanet.ru/forum/showthread.php?t=6823)

YAGAMI55 22.10.2019 22:23

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от SlavaVlasov (Сообщение 254522)
Опять же, учитывая, что для снятия LBA обычно популярен IsoBuster, то, вероятно, программа должна принимать его файл. Надо будет потом проверить.

Я тоже так думаю

SlavaVlasov 22.10.2019 22:52

Ответ: Создаём рабочий игровой диск PlayStation
 
Ну, вот, составил таблицу указателей в EXE на LBA файлов (файлы идут в том же порядке, что и в EXE-шнике):

Bugs Bunny - Lost in Time (PAL) LBA Pointers from EXE

POINTER LBA FILENAME


8F2800 00010383 , >:\LEVEL1\TITLE.BZZ
3EAA00 00043582 , >:\LOADING\LOADING.BZZ
30BAA0 00047664 , >:\LEVEL1\LANGUAGE.BZZ
1E2600 00009758 , >:\LEVEL1\LS01.BZZ
FD1800 00006397 , >:\LEVEL1\L01A.BZZ
C31B00 00007107 , >:\LEVEL1\L01B.BZZ
011E00 00007681 , >:\LEVEL1\L01C.BZZ
932000 00008339 , >:\LEVEL1\L01D1.BZZ
822300 00009090 , >:\LEVEL1\L01D2.BZZ
7F2900 00010623 , >:\LEVEL2\L02A1.BZZ
7B2C00 00011387 , >:\LEVEL2\L02A2.BZZ
1A2F00 00012058 , >:\LEVEL2\L02A3.BZZ
F53100 00012789 , >:\LEVEL2\L02A4.BZZ
033500 00013571 , >:\LEVEL2\L02A5.BZZ
423800 00014402 , >:\LEVEL2\L02A6.BZZ
473B00 00015175 , >:\LEVEL2\L02B1.BZZ
6D3D00 00015725 , >:\LEVEL2\L02B2.BZZ
064000 00016390 , >:\LEVEL2\L02C1.BZZ
0A4300 00017162 , >:\LEVEL2\L02C2.BZZ
CD4500 00017869 , >:\LEVEL2\L02C3.BZZ
9E4800 00018590 , >:\LEVEL2\L02C4.BZZ
DF4A00 00019167 , >:\LEVEL3\L03A.BZZ
4A5000 00020554 , >:\LEVEL3\L03ACOM.BZZ
934D00 00019859 , >:\LEVEL3\L03A2.BZZ
885300 00021384 , >:\LEVEL3\L03B.BZZ
1A5600 00022042 , >:\LEVEL3\L03C.BZZ
FF5800 00022783 , >:\LEVEL3\L03C1.BZZ
BA5B00 00023482 , >:\LEVEL3\L03C2.BZZ
415E00 00024129 , >:\LEVEL3\L03D1.BZZ
3A6100 00024890 , >:\LEVEL4\L04A1.BZZ
726400 00025714 , >:\LEVEL4\L04A2.BZZ
6F6700 00026479 , >:\LEVEL4\L04A3.BZZ
496A00 00027209 , >:\LEVEL4\L04B1.BZZ
C56C00 00027845 , >:\LEVEL4\L04B2.BZZ
566F00 00028502 , >:\LEVEL4\L04B3.BZZ
887100 00029064 , >:\LEVEL4\L04C1.BZZ
DF7400 00029919 , >:\LEVEL4\L04C2.BZZ
9B7700 00030619 , >:\LEVEL4\L04C3.BZZ
B27A00 00031410 , >:\LEVEL4\L04D1.BZZ
FC7C00 00031996 , >:\LEVEL4\L04D2.BZZ
987F00 00032664 , >:\LEVEL4\L04E.BZZ
958100 00033173 , >:\LEVEL4\L04E2.BZZ
858300 00033669 , >:\LEVEL5\L05A1.BZZ
2F8600 00034351 , >:\LEVEL5\L05A2.BZZ
D28800 00035026 , >:\LEVEL5\L05A3A.BZZ
E68A00 00035558 , >:\LEVEL5\L05A3B.BZZ
F78C00 00036087 , >:\LEVEL5\L05A3C.BZZ
008F00 00036608 , >:\LEVEL5\L05A4.BZZ
529100 00037202 , >:\LEVEL5\L05A5.BZZ
F39300 00037875 , >:\LEVEL5\L05B1.BZZ
BF9600 00038591 , >:\LEVEL5\L05C.BZZ
919900 00039313 , >:\LEVEL5\MERLIN.BZZ
180000 00000024 , >:\BONUS\LB01.BZZ
150300 00000789 , >:\BONUS\LB02.BZZ
6A0500 00001386 , >:\BONUS\LB04.BZZ
6A1600 00005738 , >:\CC\CCINTRO.BZZ
078E00 00001934 , >:\CC\CC1A.BZZ
C50800 00002245 , >:\CC\CC2A.BZZ
990A00 00002713 , >:\CC\CC2B.BZZ
080C00 00003080 , >:\CC\CC2C.BZZ
BA0D00 00003514 , >:\CC\CC3A.BZZ
0F0F00 00003855 , >:\CC\CC3B.BZZ
041000 00004100 , >:\CC\CC3C.BZZ
241100 00004388 , >:\CC\CC3D.BZZ
5E1200 00004702 , >:\CC\CC4A.BZZ
B51200 00004789 , >:\CC\CC4B.BZZ
201400 00005152 , >:\CC\CC4C.BZZ
914000 00005270 , >:\CC\CC4D.BZZ
051500 00005381 , >:\CC\CC5A.BZZ
CA1700 00006090 , >:\CC\CCMERLIN.BZZ
95AA00 00043669 , >:\CC\CCEND.BZZ
BCB900 00047548 , >:\CC\CREDITS.BZZ
95AB00 00043925 , >:\DEMO\DEMO2A2.BZZ
42AE00 00044610 , >:\DEMO\DEMO3C1.BZZ
D8B000 00045272 , >:\DEMO\DEMO4A1.BZZ
48B400 00046152 , >:\DEMO\DEMO5C.BZZ
39B700 00046905 , >:\DEMO\DEMOB02.BZZ
D3A900 00043475 , >:\LOADING\SCREEN1.BZZ
EEA900 00043502 , >:\LOADING\SCREEN2.BZZ
24AA00 00043556 , >:\LOADING\SCREEN3.BZZ
969C00 00040086 , >:\LOADING\L_30BANK.BZZ
D79C00 00040151 , >:\LOADING\L_30CF.BZZ
449D00 00040260 , >:\LOADING\L_30ESCA.BZZ
989D00 00040344 , >:\LOADING\L_30LOAD.BZZ
DD9D00 00040413 , >:\LOADING\L_30RIDE.BZZ
8F9E00 00040591 , >:\LOADING\L_BCORRI.BZZ
129F00 00040722 , >:\LOADING\L_BDUCK.BZZ
A99F00 00040873 , >:\LOADING\L_BHUNT.BZZ
63A000 00041059 , >:\LOADING\L_FLOAD.BZZ
BFA000 00041151 , >:\LOADING\L_FLOAD2.BZZ
24A100 00041252 , >:\LOADING\L_FRIDE.BZZ
7EA100 00041342 , >:\LOADING\L_FXFILE.BZZ
EFA100 00041455 , >:\LOADING\L_FXROOM.BZZ
3AA200 00041530 , >:\LOADING\L_MCOOK.BZZ
03A300 00041731 , >:\LOADING\L_MLOAD.BZZ
A9A300 00041897 , >:\LOADING\L_MLOAD2.BZZ
4AA400 00042058 , >:\LOADING\L_MWITCH.BZZ
D5A400 00042197 , >:\LOADING\L_PCANON.BZZ
74A500 00042356 , >:\LOADING\L_PDOCK.BZZ
17A600 00042519 , >:\LOADING\L_PLOAD.BZZ
4DA600 00042573 , >:\LOADING\L_PMINE.BZZ
17A700 00042775 , >:\LOADING\L_PRED.BZZ
C9A700 00042953 , >:\LOADING\L_SAKICK.BZZ
48A800 00043080 , >:\LOADING\L_SALOAD.BZZ
E7A800 00043239 , >:\LOADING\L_SANIGH.BZZ
45A900 00043333 , >:\LOADING\L_SARUN.BZZ
AFA200 00041647 , >:\LOADING\L_MERLIN.BZZ
98B900 00047512 , >:\LOADING\L_THALL.BZZ




Необязательные LBA FILENAME


-74BB00 00047988 , >:\XA\MUSIC.XA
-049A01 00104964 , >:\XA\SPEECHES.XA
Нет указателя 00043753 , >:\SLES_017.26
Нет указателя 00047511 , >:\SYSTEM.CNF
Нет указателя 00249300 , >:\DUMMY.DAT




Bambuch0 23.10.2019 01:55

Ответ: Создаём рабочий игровой диск PlayStation
 
YAGAMI55, SlavaVlasov, Ловите лайфхак.
Программа от создателя mkpsxiso. Сделал он ее специально для распаковки образов первой соньки, написал ее давно, но видно забросил, до сих пор альфа-версия.

С распаковкой она справляется, но есть огрехи, лучше все же через PSXRebuild распаковывать. А вот очень удобна эта программа тем, что с ключем "-s" она генерирует XML-файл для дальнейшей пересборки в mkpsxiso с сортировкой файлов по LBA.

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

Итак - isodump.exe - https://my-files.ru/mkvxdu
Одно но, внутри XML-файла на XA и STR по прежнему будет стоять DATA, но это меняется текстовым редактором за полторы секунды.

YAGAMI55 23.10.2019 09:43

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от Bambuch0 (Сообщение 254539)
YAGAMI55, SlavaVlasov, Ловите лайфхак.
Программа от создателя mkpsxiso. Сделал он ее специально для распаковки образов первой соньки, написал ее давно, но видно забросил, до сих пор альфа-версия.

С распаковкой она справляется, но есть огрехи, лучше все же через PSXRebuild распаковывать. А вот очень удобна эта программа тем, что с ключем "-s" она генерирует XML-файл для дальнейшей пересборки в mkpsxiso с сортировкой файлов по LBA.

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

Итак - isodump.exe - https://my-files.ru/mkvxdu
Одно но, внутри XML-файла на XA и STR по прежнему будет стоять DATA, но это меняется текстовым редактором за полторы секунды.

Вау. Это уже годнота. Спасибо большое. Нужная вещь.

SlavaVlasov, в общем я похимичил вчера с mkpsxiso. LBA файл он создаёт следующим образом mkpsxiso -lba lba.txt -noisogen GAME.XML

Но он только создаёт! Дальнейших манипуляций не производит. Не собирает iso с этими же lba. Я уже думал так собирать Bugs Bunny - сгенерить lba, потом прописать эти lba в exe и собрать через mkpsxiso. Но это геморно. Гораздо легче старым дедовским способом через CDMage файлы обратно внедрять.(при условии что файлы не изменились в размере)


Ну а теперь спасибо Bambuch0 за isodump.exe. Теперь mkpsxiso содержит ВСЕ для сборки образов!

SlavaVlasov 23.10.2019 13:20

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от YAGAMI55 (Сообщение 254541)
Не собирает iso с этими же lba.

Не собирает - в смысле собирает все равно со своими LBA или команда -lba в принципе работает только при извлечении файлов?

Bambuch0 23.10.2019 15:40

Ответ: Создаём рабочий игровой диск PlayStation
 
SlavaVlasov, Ну mkpsxiso просто парсит XML-файл и только генерирует текстовик с LBA файлов и считает, что между файлов нет разрывов. Тупо по порядку - один закончился, начался другой. Высчитывает LBA по размеру извлеченных данных. Если в исходном образе есть пустые места, адреса в новом образе со старым не совпадут. Зачем этот файл нужен - непонятно, просто видимо для информации.

Оно и isodump, тоже генерирует XML и выстраивает в нем файлы только в том порядке, в котором они в образе, без учета пустых мест. То есть порядок учтен, а если размеры файлов не совпадают или есть пустые места - будут отличия. Но тут хотя бы порядок уже автоматически выстраивается, не надо XML вручную ковырять.

SlavaVlasov 23.10.2019 15:46

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от Bambuch0 (Сообщение 254548)
Высчитывает LBA по размеру извлеченных данных. Если в исходном образе есть пустые места, адреса с новым не совпадут.

Понятно. Надо будет попробовать.

SlavaVlasov 23.10.2019 17:34

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от SlavaVlasov (Сообщение 254549)
Надо будет попробовать.

Попробовал - разобрал isodump'ом, собрал mkpsxiso - игра не запустилась. Видимо, в образе действительно есть какие-то "пустые места", т. к. IsoBuster в свою очередь пишет, что LBA в новом образе отличаются в меньшую сторону. Попробовал переправить пару пойнтеров в EXE, ссылающихся на два начальных экрана - игра запустилась и показала именно эти два экрана, дальше зависла. Чувствую, придется написать утилитку для пересчета пойнтеров в EXE на основе IsoBuster'ского текстовика.

YAGAMI55 23.10.2019 21:57

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от SlavaVlasov (Сообщение 254544)
Не собирает - в смысле собирает все равно со своими LBA или команда -lba в принципе работает только при извлечении файлов?

Да, собирает со своими LBA и -lba работает только при извлечении файлов(точнее генерит никому не нужный лог)

SlavaVlasov 24.10.2019 22:30

Ответ: Создаём рабочий игровой диск PlayStation
 
Цитата:

Сообщение от SlavaVlasov (Сообщение 254552)
Чувствую, придется написать утилитку для пересчета пойнтеров в EXE на основе IsoBuster'ского текстовика

Уже написал :) Тестирую:
  1. Скопировал чисто геймплейные файлы в папку через UltraISO
  2. В UltraISO создал новый образ "PS2CD"
  3. Закинул образ в ISOBuster и сохранил LBA в TXT (ANSI)
  4. Загрузил текстовик в свою утилиту, загрузил SLES_017.26 и пропатчил его.
  5. Импортировал его в образ через UltraISO
  6. Запустил на эмуляторе pSX 1.13 данный образ (который до кучи не пролицензирован). Результат:



Как видите, даже так безобразно собранный образ РАБОТАЕТ после пересчета пойнтеров в EXE! =)
Скоро допилю утилитку и выложу.


Часовой пояс GMT +3, время: 15:05.

Перевод: zCarot
Права | Copyright ©
© PSX Planet Community 2003-2024