PS2 Champions Of Norrath DVD9

Тема в разделе "PlayStation 5", создана пользователем Chook, 19 янв 2007.

  1. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    Проблема есть.
    Имеется SLUS версия. Обаз ДВД9 диска.
    Проблем нет чтобы поделить это на два ДВД5, но хочется записать всеже ДВД9 диск.
    Токсик патчер находитпервый файл драйвера DNAS300.IMG патчит его и успокаивается. Дело в том что в игре этих IMG 6 штук. И использует игра точно 2 из них DNAS280.IMG
    Я заставил утилиту Токсиков пропатчить остальные.
    Но результат всегда один и тотже - игра выдает логотип Плейстейшен 2, Затем логотип игры и потом срубается в экран Вставьте диск.

    Провел эксперимент: вынул из ДВД9 образа 1й слой и записал на ДВД5. Игра идет (разумеется до половины идти будет). В смысле на главное меню выходит.
    Причем хоть с патченными драйверами, хоть нес патченными. То есть на 2м слое ничего жизненно важного для запуска игры нет. Нотогда почему обламывается 2х слойный диск? Ну видится там 1й слой и нормально, ко 2му доступа нет и ладно. Игра бы запустилсь все равно. Но не запускается...
    Если вообще удалить ИМГ файл из образа, то игра повисает на логитипе игры. Если подсунуть вместо 280 300 имг, то игра вылетает на этомже логотипе (хотя почему? этоже новый дравер, мог бы и работать)

    Вот и вопрос: может кто видел что в инете говорят про то как на ДВД9 запустить? Знаю только чтона чипе DM4 записанный диск запускается (драйвера патчатся на лету). Хоть бы этого же эффекта добиться на других чипах пропатчив то что нужно и как нужно...
     
  2. kitzik

    kitzik Well-Known Member

    Сообщения:
    203
    Симпатии:
    6
    Баллы:
    63
    Та же проблема с MGS2 Substance (я о ней в соседней ветке уже отписался). Есть огромнейшее подозрение, что проблема в модчипе - в том что его переклинивает на DVD+/-R DL, хотя с другой стороны с винта тоже ничего не работает. Кстати только с этими двумя играми и проблема :(
     
  3. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Удалить рабочий IMG нельзя ;) (иначе игра уйдет в бесконечный цикл на попытке его загрузить). Подсунуть IMG другой версии тоже нельзя, так как большинство библиотек производят проверку версий на этапе инициализации и, как результат, откажутся работать модулями другой версии.
     
  4. pvc1

    pvc1 Т-101

    Сообщения:
    6.840
    Симпатии:
    379
    Баллы:
    303
    Chook,
    я просмотрел много буржуйских форумов, но везде пишут, что на DVD9 игра работает только с DMS4 PRO :(
     
  5. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    romka, да я вижу что внутри имг прописаны версии, я вообще-то подозревал что он проверку проходит наверсию. Просто сделал эксперимент ради эксперимента :)

    pvc1, я тоже много читал, но даже у тех у кого работает с ДМС4 вешается по ходу игры все равно. Единственный выход - резатьна две двд5. Но интересует сам факт - как модчип зпускает? Ведь игра то стартует грубо говоря, логотип игры она сама показывает. Вылет происходит при инициализации значит. И также очевидно что при инициализации библиотеки имг. Вот я и подумал о замене ее на другую из рабочей двд9 игры...

    Что- же нетак? Патч не срабатывает на 280 библиотеке или в елф что-то еще есть такого?
     
  6. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Видимо чип делает немного другой патч в отличие от программы, которая патчит образ.

    В img находится драйвер CD/DVD привода, который заменяет старую версию из ПЗУ приставки. Система такая: игра стартует на драйверах из ПЗУ и в самом начале работы заружает img с обновлёнными драверами и прочими сопутствующими модулями. Многие библиотеки из SDK от SCEI проверяют версии модулей и до за загрузки правильной версии IMG-файла работать не будут. Тот драйвер CD/DVD, который есть в ПЗУ приставки не умеет работать DVD9 (во всяком случае с PTP-дисками), работа со вторым слоем возможна только после загрузке IMG, поэтому и нужно делать патч на IMG-файл.

    Я встречал IMG с одинаковой версией, но немного отличающейся начинкой, т.е. видимо изредка бывают разные "билды" (или не знаю как их ещё назвать) этих файлов.
     
  7. pvc1

    pvc1 Т-101

    Сообщения:
    6.840
    Симпатии:
    379
    Баллы:
    303
    Смотри чего люди пишут здесь.

    1-й: I've burnt again champions of norrath on dvd9, this time patched the image. It stll doesnt work. So, I can conclude that CON has an extra protection, preventing it from working from a dvd9 backup

    2-й: You've concluded wrongly, the game works fine from a 1:1 backup on DVD+R DL. The problem still lies with your computer or your PS2, and even possibly your media's.

    1-й: Is this your own experience? I've seen other people with the same problem I have concerning CON. Game boots, first screen apears then console resets. Other DL games I backup-ed have no problem at all (that is - Forbidden Siren 2). What modchip do you use?

    2-й: DMS4 PRO with TOXIC OS 0.41

    2-й - модератор форума и я не думаю, что он врет о работоспособности игры на DVD9
     
  8. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    pvc1, я это читал тоже. НА ДМС4 игра действительно работает. Ноесть локация в которо йпри лоадинге она зависает. Дело не в медии 100%. Не знаю кому верить, но я пока даже запустить ее не могу :)

    Вобщем я попробую еще поэксперементировать с подменой имг. может выйдет что.
     
  9. Varagorn

    Varagorn Well-Known Member

    Сообщения:
    223
    Симпатии:
    34
    Баллы:
    68
    кстати можно сделать имидж игры и залить его на хард и он будет работать...
    я сам делал имидж диска из обоих слоев - получалось исошник на 6 гб+. заливается на соневский диск и играется.. делать надо соневским цд двд генератором с кряком на размер двд имиджа..
     
  10. kitzik

    kitzik Well-Known Member

    Сообщения:
    203
    Симпатии:
    6
    Баллы:
    63
    похоже дело в драйвере привода, который находится в IMG
    кстати IMG можно распаковать на отдельные драйвера в виде ELF-файлов, вот распаковщик
    Можно было бы подменить только драйвер DVD-привода, правда упаковщика нет, но его можно написать, т.к. исходники распаковщика есть.
     
  11. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Исходники упавкощика есть в SVN на ps2dev. Я даже собирал специальный имидж с одним лишь драйвером для CD/DVD.

    PS: Кстати версия драйвера CD/DVD для игр не критична в отличие от многих других модулей.
     
  12. kitzik

    kitzik Well-Known Member

    Сообщения:
    203
    Симпатии:
    6
    Баллы:
    63
    http://svn.ps2dev.org/listing.php?repname=ps2&path=/trunk/ps2img/&rev=0&sc=0
    работает правда только под UNiX
     
  13. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Я дорабатывал код для компиляции под Windows, правда я чуть изменил программу, так как "имидж" мне был нужен специфический под определенную задачу.
     
  14. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    Я пытался тупо заменить в имг файле секцию CDVDMAN на аналогичную от ксеносаги. Игра подвисает :(

    Вот что Токсики патчат кстати.

    .text:000072AC # --------------- S U B R O U T I N E ---------------------------------------
    .text:000072AC
    .text:000072AC
    .text:000072AC sub_72AC: # CODE XREF: sub_72D8+88p
    .text:000072AC lbu $a1, 0x16($a0)
    .text:000072B0 lbu $v0, 0x17($a0)
    .text:000072B4 lbu $v1, 0x15($a0)
    .text:000072B8 sll $a1, 8
    .text:000072BC addu $v0, $a1
    .text:000072C0 sll $v1, 16
    .text:000072C4 addu $v0, $v1
    .text:000072C8 lui $v1, 0xFFFD
    .text:000072CC addu $v0, $v1
    .text:000072D0 jr $ra
    .text:000072D4 addiu $v0, 1
    .text:000072D4 # End of function sub_72AC
    .text:000072D4
    .text:000072D8


    .text:000072AC
    .text:000072AC # --------------- S U B R O U T I N E ---------------------------------------
    .text:000072AC
    .text:000072AC
    .text:000072AC sub_72AC: # CODE XREF: sub_72D8+88p
    .text:000072AC li $v0, 0x1F4AB0
    .text:000072B4 li $t0, 0x21 # '!'
    .text:000072B8 jr $ra
    .text:000072BC sb $t0, 0xE($a0)
    .text:000072BC # End of function sub_72AC
    .text:000072BC
    .text:000072C0 # ---------------------------------------------------------------------------
    .text:000072C0 sll $v1, 16
    .text:000072C4 addu $v0, $v1
    .text:000072C8 lui $v1, 0xFFFD
    .text:000072CC addu $v0, $v1
    .text:000072D0 jr $ra
    .text:000072D4 addiu $v0, 1

    Первый кусок - оригинал, второй патченный.
    Вызовы фунции этой в теле другой очень похожи. Реально ничего неменяется практически. Все должно работать, но не работает :(

    Есть еще 1 байтик который они в данных правят 00 - 01, но вроде его расположение тоже совпадает...

    Ктонито правильно мне сумеет собрать IMG файл если я дам исходный IMG и CDVDMAN от рабочих сирен 2?
    http://rapidshare.com/files/12594590/280.RAR.html
     
  15. kitzik

    kitzik Well-Known Member

    Сообщения:
    203
    Симпатии:
    6
    Баллы:
    63
    вот Win32-порт ps2img
     

    Вложения:

    • ps2img.zip
      Размер файла:
      9,8 КБ
      Просмотров:
      294
  16. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    Спасибо за тулзу!
    Пересобрал этой тулзой взяв IRX от сирен 2.
    Игра запустилась. Но, итоговый ИМГ на 1 сектор больше оригинала... Проблема в образ вставить. Может его упаковать? :)
    Попробую впихнуть IRX от Ксеносаги 1. Итоговый ИМГ меньше выйдет...
     
  17. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Патченный кусок кода возвращает 0x1F4AB0 в качестве номера сектора, с которого начинается слой и подменяет в буфере значение флагов, определяющих тип носителя (PTP/OTP и т.д.) на 0x21, чтобы драйвер дальше думал, что вставлен PTP-носитель.
     
  18. Chook

    Chook Дерусификато

    Сообщения:
    1.677
    Симпатии:
    85
    Баллы:
    93
    romka, спасибо! Я поражен глубиной твоих познаний!
    Проверю ка я что у меня действительно 2й слой начинается с этого сектора.

    Осталось только выяснить зачем они меняют значение 00 на 01 еще в блоке данных... :)
    Выяснил - утилита Токсиков вписывает в патч вычесленное значение для каждого образа который патчат.

    Правленный CDVDMAN я выложил уже на рапидшару. А измененный байт в нем по адресу 0000dc94

    А пересобранный ИМГ с IRX от ксеносаги вешается. Увы.
    Думается мне что в игре есть проверка на тип носителя...
    какая функция вызывается для этого? как поискать? Мысли есть? Хотя... все работает через IMG библиотекки вроде...
    Короче пропачены ИМГ правильно, но игра не пашет :( Значит еще где-то загвоздка.
     
  19. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Что делает этот правленный байт я сходу точно не скажу, но похоже он отключает провеку синхронизации номера сектора, читаемого с DVD, с ожидаемым номером прочитанного сектора.

    Тип носителя можно проверить в обход данного патча через sceCdGetToc, но это недокументированная возможность, так как официально эта функция с DVD работать не должна. Но может конечно ещё какая-нибудь проверка есть за счёт чтения диска через недокументированные функции, например.
     
  20. kitzik

    kitzik Well-Known Member

    Сообщения:
    203
    Симпатии:
    6
    Баллы:
    63
    поправьте если я ошибаюсь, но если версия IOPRPxxx.IMG < 3.00, то Toxic Patcher не работает, следовательно ранние драйвера просто не работают с DVD-/+R DL. А дополнительная проверка не делается, т.к. просто с однослойки всё работает - значит Media Check всё-таки обошли. Короче, IMO дело в версии драйвера CDVDMAN или ещё какого.

    Можно, наверное, упаковать сам IRX модуль как обычный ELF.