Electry / VitaGrafix

VitaGrafix - taiHEN plugin that allows you to change resolution and FPS cap of PS Vita games
GNU General Public License v3.0
408 stars 24 forks source link

[REQUEST] Call of Duty Black Ops Declassified #77

Open 3750gustavo opened 6 years ago

3750gustavo commented 6 years ago

can you check if there is any thing that can be improved on declassified since besides killzone it is the other biggest online game on ps vita that still have player base. and about helping you could you release a guide of things we gamers and starters on programing can help you improve your plugin faster? see if i could i would love do myself the request about cod and sent you what i found,but i downt know. i have basic knowledge about c and java programing and some other stuff.

Electry commented 6 years ago

Rinnegatamante wrote a nice guide for vitaRescale: http://wololo.net/talk/viewtopic.php?f=65&t=48713 But, it requires you to have IDA Pro (which might be hard to obtain legally due to it's cost).

Here is one for prxtool (which is free): https://pastebin.com/raw/mwzYECTm (only look for MOV/MOVS and MOV.W/MOVS.W)

Electry commented 6 years ago

I was only able to lower the resolution on Call of Duty (runs at 720x408 by default, crashes at anything > ~720x415). 60 fps uncap is possible, but it fluctuates anywhere from 30 to 60.

3750gustavo commented 6 years ago

O think 50 fps would be great for a more smoothly control with the Vita analog stick

Em 3 de set de 2018 17:19, Michal Chvila notifications@github.com escreveu:

I was only able to lower the resolution on Call of Duty. 60 fps uncap is possible, but it fluctuates anywhere from 30 to 60.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FElectry%2FVitaGrafix%2Fissues%2F77%23issuecomment-418187619&data=02%7C01%7C%7Cfcca02c49eeb4693acda08d611da88df%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636716027620716436&sdata=Er%2FQ7IbNLNWGIoMfIz%2FysEMdBg3O39Z1ONOO0JqTNZU%3D&reserved=0, or mute the threadhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAm-WpsRZIIptmiieflHfEsilDBx-_UCrks5uXY7IgaJpZM4WWqTB&data=02%7C01%7C%7Cfcca02c49eeb4693acda08d611da88df%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636716027620716436&sdata=JgKP1ePNlaOTpJUVN%2BERt3gV6r8peHmHeCdhl5c3jao%3D&reserved=0.

ImplyingKinpatsu commented 6 years ago

I have no idea how you're supposed to find the offsets for games that use sceGxmColorSurfaceInit to handle their IB just by searching for the plain values, especially when the instructions you shared for P4G (which I assume uses sceGxmColorSurfaceInit) doesn't use "mov-" instructions. What are you supposed to do for those kind of games?

Electry commented 6 years ago

P4G has resolution stored as plain float values in DATA section. Here is simple converter: https://www.h-schmidt.net/FloatConverter/IEEE754.html

We're patching 00005244 0000EE43 to 00007044 00000844. Because of ARMs endianness the bytes are stored backwards (so 00005244 -> 0x44520000 == 840.0f).

Electry commented 6 years ago

Another VRAM heavy game, that's why it crashes if you only increase the resolution. I got it running at 840x476, but it drops under 30 very often.

nad45 commented 6 years ago

I suppose it will be the same situation with Resistance, as they both use the same engine.

Sal-gamer commented 4 years ago

Another VRAM heavy game, that's why it crashes if you only increase the resolution. I got it running at 840x476, but it drops under 30 very often.

please, would you have the patch available at 840x476?

Sal-gamer commented 4 years ago

@Electry this game has RAM memory left, could you redirect the VRAM memory to RAM when the RAM ran out? to use RAM as shared memory with VRAM?

SheidCraft commented 4 years ago

@Electry there is still a resolution of 780x442, you can try it

Sal-gamer commented 4 years ago

@Electry ainda existe uma resolução de 780x442, você pode experimentá-lo

a resolução nativa é 720x408, certo? teria disponível este 780x442 ??

juliansteenbakker commented 4 years ago

I was only able to lower the resolution on Call of Duty (runs at 720x408 by default, crashes at anything > ~720x415). 60 fps uncap is possible, but it fluctuates anywhere from 30 to 60.

Does anyone know if its stored as MOVS.W instruction? I cant seem to find the adres for it. Same goes for #29 Resistance Burning Skies which is probably running the same engine.

juliansteenbakker commented 4 years ago

I was only able to lower the resolution on Call of Duty (runs at 720x408 by default, crashes at anything > ~720x415). 60 fps uncap is possible, but it fluctuates anywhere from 30 to 60.

Does anyone know if its stored as MOVS.W instruction? I cant seem to find the adres for it. Same goes for #29 Resistance Burning Skies which is probably running the same engine.

I figured out how it works and while i was able to boost up the resolution AND the fps for Resistance: Burning Skies #29 , I'm only able to unlock the FPS for this game. I will keep trying but in the mean time here's the patch for it:


# Call of Duty Black Ops: Declassified[EU 1.02]
[PCSB00213, eboot.bin, 0x8693292A]
@FPS
0:0x176F8A t1_mov(0, vblank)
juliansteenbakker commented 4 years ago

Another VRAM heavy game, that's why it crashes if you only increase the resolution. I got it running at 840x476, but it drops under 30 very often.

I would really like to hear from you how you achieved this without crashing the game. @Electry

MatthewL2019 commented 4 years ago

fps and resolution patch for call of duty Declassified can run max res. of 961x415.

Call of duty Declassified [US 1.02]

[PCSE00097, eboot.bin, 0xD0FBF690] @IB 0:0x850A64 uint32(ib_w) 0:0x850A68 uint32(ib_h) @FPS 0:0x176F8A t1_mov(0,vblank)

stev88987 commented 3 years ago

eu one please PCSB00213

mrdivdiz commented 3 years ago

So I decided to work on vitagrafix patches for nihilistic games.Before there was only semi-working patches and only for US versions. What weve got in total: Now you can cap Cod to FPS=60.But problem is that they barely achieve 40 FPS. Things is a little bit complicated with Call of Dooty.This game refuses to accept any height more than 415.That mean you can play with any width and height of 415.Maximal width is 1024.If you want to achieve native resolution, well, you cant.Set 961 (not 960) by 415 and enjoy. Maximal resolution is 1024 by 415. Sample config: (better set this resolution) [PCSB00232] IB=840x415 FPS=60

CoD BO Declassified [EU Russian 1.02]

Max recommended is 961 x 415

[PCSB00232, eboot.bin, 0xE0AD372D] @IB 0:0x850A44 uint32(ib_w) . uint32(ib_h) 1:0x1B5C4 uint32(0xA00000 - 4 1024 1024) @FPS 0:0x176F8A t1_mov(0, vblank)

Promesty commented 2 years ago

Hey, Thanks for the Resistance one and this, I'll try it myself!

MotoLegacy commented 1 year ago

fps and resolution patch for call of duty Declassified can run max res. of 961x415.

(US 1.02) Necro-posting to add more detail here. 960x415 does indeed allow the game to launch however it crashes when trying to load any level. Likely due to what Electry (won't tag because I'm not trying to seriously revive a 4.5 year old conversation) stated as being VRAM allocation issues. The 415px height limit seems heavily imposed.. Attempting to go above that regardless of width causes a crash at startup. This really holds back attempts to sharpen the game up.

The highest width I was able to get from the "Winter Break" Hostiles mission was 959px (ironically just a column off from what was initially reported): 959x415

This illustrates quite well another problem with the 415px height limit as well, the fact the viewbuffer becomes very obviously stretched making things disproportional. You get a (barely receptive) crisper image at the cost of uneven axes and lower precision when aiming.

A width of 736px properly accommodates the height limit: 738x415

I've found a width of 840px is the best middleground: 840x415

And for the sake of comparison here's the default viewbuffer size of 720x408 so you can gauge whether or not altering the resolution is worth your while: 720x408

Here are the percentage numbers: 959x415: 26% resolution increase (25% width, 2% height) 736x415: 4% resolution increase (same aspect ratio) 840x415: 16% resolution increase (15% width, 2% height)

Regarding framerate, the game is CPU bottlenecked in multiplayer so you'll top off right above 30 fps on average but can get ~45 in select scenarios, regardless of resolution. This can give the opportunity for better precision/higher response time when aiming shots. It's definitely sporadic but very playable. In singleplayer lowering the resolution down to 25% (480x272) can allow the framerate to reach a 60FPS target in most occasions. Super smooth there.

=========================== TLDR: Resolution bump is kinda a bust overall, degrading resolution has nice effects in Singleplayer. Increasing FPS limit in Multiplayer only really useful for higher input response time.

BurgersMcFly commented 5 months ago

PCSE00097

patchlist.txt

# COD Black Ops Declassified
[PCSE00097, eboot.bin, 0xD0FBF690]
@IB
0:0x850A44 uint32(ib_w) . uint32(ib_h)
1:0x1B5C4 uint32(0xA00000 - 5 * 1024 * 1024)
@FPS
0:0x176F8A t1_mov(0, vblank)

config.txt

[PCSE00097]
ENABLED=1
OSD=1
IB=OFF
FPS=OFF