PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Софт для PS2 (https://www.pspx.ru/forum/forumdisplay.php?f=204)
-   -   Превращаем 4:3 в 16:9 (https://www.pspx.ru/forum/showthread.php?t=96880)

erutan 09.05.2012 19:03

Превращаем 4:3 в 16:9
 
PS2 widescreen hack for 4:3 games with Codebreaker

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


Для начала вопрос - как реализован взломщик кодов на ps2? Я помню, видел такой картридж для SEGA, но никогда никакую версию не пробовал. Если это диск - успешно ли он пиратиться? Ну и т.д.


Источник новости -
http://psx-scene.com/forums/content/...medium=twitter

vitas200 09.05.2012 21:43

Цитата:

Сообщение от erutan (Сообщение 1030639)
[B]Для начала вопрос - как реализован взломщик кодов на ps2?[/url]

как обычная лицензионная игра на диске,запускается сам взломщик выбираются коды меняется диск на нужный и запускается игра с кодами.

erutan 03.10.2013 04:07

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

http://psx-scene.com/forums/f19/ps2-...engine-117652/

FFX у меня стала вполне себе 16*9.

riku.kh3 03.10.2013 18:19

я через ps2rdmod эти 16:9 патчи пользую чтобы не перезаписывать все игры по новой. там просто в папочку PNACH их кладешь и запускаешь ps2rd.elf через ulaunchelf и она сама на лету применяет патчи и запускает игру с диска, ничего нажимать не надо

SILENT-Pavel 03.10.2013 18:39

riku.kh3, не все играют с диска, по OPL уже читы сложнее применить, и тут на помощь приходит вшивание их в ISO.

mupik 06.10.2013 11:46

вот бы кто запилил на русском эту статейку, цены бы не было этому господину :acute:

riku.kh3 06.10.2013 15:43

mupik, что за статейку? идешь сюда и скачиваешь ps2_patch_engine_101.zip
затем сюда и берешь PS2 Widescreen Pack.rar

http://s019.radikal.ru/i608/1310/0a/eb959cca51cc.png

перетягиваешь в программу свой ISO образ, затем патч PNACH-файл из архива под свою игру, жмешь 'Patch' и все готово.

riku.kh3 добавил 06.10.2013 в 15:43
персона кстати шикарно с 16:9 и 480p патчами смотрится 💛
Нажмите для увеличения
 
Нажмите для увеличения
 
Нажмите для увеличения

mupik 08.10.2013 16:01

о спасибо попробую.
жаль что там игр пока мало

BlackDaemon 27.03.2021 11:35

Дёрнул меня чёрт попробовать перенести widescreen-патч на E3 demo/бету Prince of Persia: The Sands of Time :crazy: Код функции, которая отвечает за рендеринг отличается от релизной :dash:

так выглядит дизассембл оригинальной функции из релизной версии:
release-original
Код:

        004b50fc 00 00 00 00            _nop
        004b5100 4c 86 82 c7            lwc1      f2,-0x79b4(gp)
        004b5104 00 40 02 3c            lui        v0,0x4000
        004b5108 00 18 82 44            mtc1      v0,f3
        004b510c 58 07 85 8f            lw        a1,SUB_00000758(gp)
        004b5110 00 08 90 44            mtc1      s0,f1
+      004b5114 80 3f 03 3c            lui        v1,0x3f80
        004b5118 80 41 02 3c            lui        v0,0x4180
        004b511c 60 08 80 46            cvt.s.W    f1,f1
        004b5120 00 09 a4 24            addiu      a0,a1,0x900
        004b5124 a0 10 80 46            cvt.s.W    f2,f2
        004b5128 83 10 03 46            div.S      f2,f2,f3
        004b512c 43 08 03 46            div.S      f1,f1,f3
        004b5130 03 10 00 46            div.S      f0,f2,f0
        004b5134 00 18 83 44            mtc1      v1,f3
        004b5138 00 09 a0 e4            swc1      f0,LAB_00000900(a1)
        004b513c 00 00 82 44            mtc1      v0,f0
        004b5140 04 09 a3 ac            sw        v1,0x904(a1)
+      004b5144 83 a8 03 46            div.S      f2,f21,f3
        004b5148 00 00 01 46            add.S      f0,f0,f1
+      004b514c 42 03 03 46            mul.S      f13,f0,f3
+      004b5150 02 a3 03 46            mul.S      f12,f20,f3
        004b5154 40 97 12 0c            jal        FUN_004a5d00                                    undefined FUN_004a5d00()
        004b5158 08 09 a2 e4            _swc1      f2,0x908(a1)
        004b515c 58 07 84 8f            lw        a0,SUB_00000758(gp)
        004b5160 80 93 12 0c            jal        FUN_004a4e00                                    undefined FUN_004a4e00()
        004b5164 2d 28 00 00            _move      a1,zero
        004b5168 30 00 bf df            ld        ra,0x30(sp)
        004b516c 04 00 b5 c7            lwc1      f21,0x4(sp)
        004b5170 20 00 b1 7b            lq        s1,0x20(sp)
        004b5174 00 00 b4 c7            lwc1      f20,0x0(sp)
        004b5178 10 00 b0 7b            lq        s0,0x10(sp)
        004b517c 08 00 e0 03            jr        ra
        004b5180 70 00 bd 27            _addiu    sp,sp,0x70


    *(float *)(iGp00000758 + 0x900) = ((float)iGpffff864c / 2.0) / fVar3;
+  *(undefined4 *)(iGp00000758 + 0x904) = 0x3f800000;
+  *(float *)(iGp00000758 + 0x908) = fVar4 / 1.0;
+  FUN_004a5d00((fVar2 / 2.0) * 1.0,((float)iVar1 / 2.0 + 16.0) * 1.0,iGp00000758 + 0x900);
    FUN_004a4e00(iGp00000758,0);
    return;



дизассембл релизной версии с widescreen-патчем:
release-patched
Код:

        004b50fc 00 00 00 00            _nop
        004b5100 4c 86 82 c7            lwc1      f2,-0x79b4(gp)
        004b5104 00 40 02 3c            lui        v0,0x4000
        004b5108 00 18 82 44            mtc1      v0,f3
        004b510c 58 07 85 8f            lw        a1,SUB_00000758(gp)
        004b5110 00 08 90 44            mtc1      s0,f1
+      004b5114 40 3f 03 3c            lui        v1,0x3f40
        004b5118 80 41 02 3c            lui        v0,0x4180
        004b511c 60 08 80 46            cvt.s.W    f1,f1
        004b5120 00 09 a4 24            addiu      a0,a1,0x900
        004b5124 a0 10 80 46            cvt.s.W    f2,f2
        004b5128 83 10 03 46            div.S      f2,f2,f3
        004b512c 43 08 03 46            div.S      f1,f1,f3
        004b5130 03 10 00 46            div.S      f0,f2,f0
        004b5134 00 18 83 44            mtc1      v1,f3
        004b5138 00 09 a0 e4            swc1      f0,LAB_00000900(a1)
        004b513c 00 00 82 44            mtc1      v0,f0
        004b5140 04 09 a3 ac            sw        v1,0x904(a1)
+      004b5144 86 a8 00 46            mov.S      f2,f21
        004b5148 00 00 01 46            add.S      f0,f0,f1
+      004b514c 46 03 00 46            mov.S      f13,f0
+      004b5150 06 a3 00 46            mov.S      f12,f20
        004b5154 40 97 12 0c            jal        FUN_004a5d00                                    undefined FUN_004a5d00()
        004b5158 08 09 a2 e4            _swc1      f2,0x908(a1)
        004b515c 58 07 84 8f            lw        a0,SUB_00000758(gp)
        004b5160 80 93 12 0c            jal        FUN_004a4e00                                    undefined FUN_004a4e00()
        004b5164 2d 28 00 00            _move      a1,zero
        004b5168 30 00 bf df            ld        ra,0x30(sp)
        004b516c 04 00 b5 c7            lwc1      f21,0x4(sp)
        004b5170 20 00 b1 7b            lq        s1,0x20(sp)
        004b5174 00 00 b4 c7            lwc1      f20,0x0(sp)
        004b5178 10 00 b0 7b            lq        s0,0x10(sp)
        004b517c 08 00 e0 03            jr        ra
        004b5180 70 00 bd 27            _addiu    sp,sp,0x70


    *(float *)(iGp00000758 + 0x900) = ((float)iGpffff864c / 2.0) / fVar3;
+  *(undefined4 *)(iGp00000758 + 0x904) = 0x3f400000;
+  *(float *)(iGp00000758 + 0x908) = fVar4;
+  FUN_004a5d00(fVar2 / 2.0,(float)iVar1 / 2.0 + 16.0,iGp00000758 + 0x900);
    FUN_004a4e00(iGp00000758,0);
    return;



дизассембл функции из e3 demo
e3demo/beta
Код:

        004bedc0 00 00 00 00            _nop
        004bedc4 a0 43 02 3c            lui        v0,0x43a0
        004bedc8 b4 e1 86 8f            lw        a2,-0x1e4c(gp)
        004bedcc 00 60 82 44            mtc1      v0,f12
        004bedd0 6e 3f 03 3c            lui        v1,0x3f6e
+      004bedd4 80 3f 05 3c            lui        a1,0x3f80
        004bedd8 ef ee 63 34            ori        v1,v1,0xeeef
        004beddc 03 60 00 46            div.S      f0,f12,f0
        004bede0 70 43 02 3c            lui        v0,0x4370
        004bede4 c0 0a c4 24            addiu      a0,a2,0xac0
        004bede8 c0 0a c0 e4            swc1      f0,0xac0(a2)
        004bedec c4 0a c5 ac            sw        a1,0xac4(a2)
        004bedf0 00 68 82 44            mtc1      v0,f13
        004bedf4 00 a8 12 0c            jal        ChangeClipVolume__12CPerspectiveFff              undefined ChangeClipVolume__12CP
        004bedf8 c8 0a c3 ac            _sw        v1,0xac8(a2)
        004bedfc b4 e1 84 8f            lw        a0,-0x1e4c(gp)
        004bee00 10 a4 12 0c            jal        SetBasicGraphicMatrix__14CGraphicSystemFi        undefined SetBasicGraphicMatrix_
        004bee04 2d 28 00 00            _move      a1,zero
        004bee08 20 00 bf df            ld        ra,local_40(sp)
        004bee0c 10 00 b1 7b            lq        s1,local_50(sp)
        004bee10 00 00 b0 7b            lq        s0,0x0(sp)=>local_60
        004bee14 08 00 e0 03            jr        ra
        004bee18 60 00 bd 27            _addiu    sp,sp,0x60

    iVar2 = _g_graphic_sys;
    iVar1 = _g_graphic_sys + 0xac0;
    *(float *)(_g_graphic_sys + 0xac0) = 320.0 / fVar3;
+  *(undefined4 *)(iVar2 + 0xac4) = 0x3f800000; //1.0 -> 0.75
    *(undefined4 *)(iVar2 + 0xac8) = 0x3f6eeeef; //0.933333
    ChangeClipVolume__12CPerspectiveFff(0x43a00000,0x43700000,iVar1); //320.0, 240.0
    SetBasicGraphicMatrix__14CGraphicSystemFi(_g_graphic_sys,0);
    return;



Пропатчив первый опкод игра запускается в 16:9, но дальность прорисовки остаётся под 4:3, к сожалению я на этом и застрял. Как патчить код дальше мне не понятно :crazy: Есть у кого-нибудь мысли на этот счёт? Заранее спасибо! ;)

Нажмите для увеличения
Нажмите для увеличения


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

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