VitaCheat/FinalCheat Database

Discussion in 'PS Vita - Hacking & Homebrew' started by Shumno, Sep 28, 2017.

  1. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    I currently do have FW 6.65, not sure why the black screen shows up, i just ended up removing it.

    By the way now my EU game version (which i purchased) goes back to themain menu after selecting any option (like start game, options, etc), rip i guess? Is there a way to recover the save files?
    I think i may try giving the game a try via rcps3, maybe i can get something going with cheat engine.

    I just really want to try the endgame builds without grinding for hundreds of hours. <.<
    I did get an xp cheat to work via trial and error, but i miss all the items.

    **edit**

    Actually after connecting to the internet i got the (EU) game to work yet again...weird.
    If you happen to know whether i can export it and if it's compatible with the ps3 version do let me know, that'd be quite neat. I know the game lets you upload/download saves between ps3/psvita, maybe there's a way to manually do that.
     
    Last edited by iv2b, Oct 10, 2019
  2. NeoGranzon

    NeoGranzon Member

    Newcomer
    1
    Aug 4, 2019
    Italy
    Thank you,i see the videos and i learned how create the codes with Vitacheat.
    My problem is another,pratically i want create codes for all characters example:HP EN etc...
     
  3. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    That's a little more difficult. You have to be able to read the code a little bit. But you can make some guesses. Can you find HP for 2 characters? You'll need to do some math with a calculator (the one built into windows works great for hex numbers.)

    find 2 characters and grab the codes for their health. I don't have your game so I'll just make up numbers as example.
    Char1 inf HP: $0200 81002560 0000FFFF
    Char2 Inf HP: $0200 81002660 0000FFFF
    Char3 Inf HP: $0200 81002760 0000FFFF
    Char4 Inf HP: $0200 81002860 0000FFFF

    In these codes, the HP is at addresses 81002560, 81002660, 81002760 and 81002860. If we use a "Compression" code, we can do all four characters with 1 code. You can see that the addresses are all similar and follow a pattern. Each one in this example is only 0x100 away from the last one. So we can make a compression code like this:
    Inf Hp [All Chars]:
    $4200 81002560 0000FFFF
    $0004 00000100 00000000
    Hopefully the colors make it easy to understand where everything goes and what each part does. :D
     
    Last edited by Yohoki, Oct 13, 2019 at 10:36 AM
    NeoGranzon likes this.
  4. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    I've been finding some dragon's crown codes, the issue is that the addresses change every time.
    I see that existing codes (like these) tend to start from the same address, then add an offset and lastly set the value.
    For example all the skill codes start with:
    $3002 87E97B00 00000916
    then they use an offset, for example like this:
    $3000 00000000 00002ECC
    and lastly set the value:
    $3300 00000000 00000005

    I'm wondering how i could proceed to make my codes work even after i close the game.

    Thus far i managed to get gold, score (for instant levelling, up to a cap based on difficulty), skill points (which works, but they reset after closing the game) and individual skills (but i need to repeat the cheat every time, so i need a way to make it work).

    Stuff i'd like to make work would be unlocking talismans, which paired with a score cheat lets me quickly put a character into the highest difficulty, and some way to add S-tier drops at the end of the mission (allowing me to roll for good equipment), but those 2 would be quite troublesome to make use of without the codes working in between sessions.

    A few questions:
    1. aren't the addresses 0x100 away rather than 0x200? --2560, --2660, --2760, --2860.
    2. why $4200 rather than $0200 in the final code?
    3. can the 00000000 be used for something else or is it just something that tags along?

    *edit*

    I've been looking at the docs, turns out that the 4 in $4200 is the "compression data segment", good to know.
    the 00 in $4200 are actually the "related lines", i guess that's how many lines below that one will be relative to it?
    So for example 00 and 01 would be the same, but 02 means that the third line would also specify an amount, address offset and value offset.
    Speaking of offsets, the 00000000 is the value offset, so that's one less mystery as well.

    There are a 2 part video series showing how to use tempAR, which i think is what i need to let the codes work across game sessionss, but the second video went down, oof.

    *edit*

    Learned to use tempAR, turns out the score is always stored in: [85A04010, 85A04014, 85C0A268, 85C0A2A8] OR [85B04010, 85B04014, 85D0A268, 85D0A2A8]
    TempAR couldn't find an address+offset even after 5 dumps, setting them all to a desired value can make the game crash.
    Thus far i've been using 2 cheats, the first one doesn't always work but doesn't seem to crash the game, the latter is used if the former does not work.
    I think i can fix that by checking if all 4 addresses have the same value, but i wonder if there's a better solution.

    *edit*

    Doesn't look like vitacheat allows me to compare the values of 2 addresses, so i think i'll need to use 2 separate codes for score.
     
    Last edited by iv2b, Oct 12, 2019
  5. Dumbleron

    Dumbleron Member

    Newcomer
    3
    Jul 22, 2018
    Czech Republic
    Hey I tried it on new gameplay but it enemy HP or Mana only works in first few battles, after that their HP get reduced randomly to 1-2 from originally 3.
     
  6. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    I'm making some progress, however there are a few things that still aren't clear to me, would be glad if anyone could help me out.

    A technical doubt i'm having is understanding the point of using pointer writes: the base address is always the same, why would adding the some offset to a different pointer let you find the wanted address in cases where it's allocated dynamically?

    For example:
    Code:
    $0200 85C01000 00000001
    compared to:
    Code:
    $3202 85000000 00C00000
    $3200 00000000 00001000
    $3300 00000000 00000005
    As far as i can tell, the two should be identical, however the second approach can be used when the address changes every time i launch the game, why?

    That aside, i've been working on dragon's crown 1.09 (EU) codes, i have made 'max score' and 'all common skills unlocked'.
    It looks like the addresses are static this time around, however they sometimes have a 0x00100000 offset.

    For example:

    _V0 SCORE1
    $4200 85A04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85C0A268 05F5E0FF
    $0002 00000040 00000000

    Will work sometimes, while other times this will work instead:

    _V0 SCORE2
    $4200 85B04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85D0A268 05F5E0FF
    $0002 00000040 00000000

    Trying to use tempAR turned out to be futile, even after 6 dumps i only see green addresses and there are thousands, i tried the first dozen and gave up.
    Is there some way to avoid using 2 codes and thus potentially changing dozens of wrong addresses?

    *edit*

    What i did thus far has been picking a completely arbitrary address that has a fixed value in all dumps of one type.
    Address 0x85811F00 always has value 0xCCCCCCCC if the score has a 0x00100000 offset.

    This is the resulting code:
    Code:
    _V0 Conditional Score
    $D205 85811F00 CCCCCCCC #if
    $4200 85B04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85D0A268 05F5E0FF
    $0002 00000040 00000000
    $D504 85811F00 CCCCCCCC #endif
    $4200 85A04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85C0A268 05F5E0FF
    $0002 00000040 00000000
    I don't like picking a completely arbitrary address, it could very well be reserved for something else thus breaking the code later on, but i haven't seen any better solution.

    Side note, i initially tried with 0x8100E100 as my address but that would cause the psvita to freeze, despite the address being in the search/dump range...uh?!
     
    Last edited by iv2b, Oct 13, 2019 at 1:51 AM
  7. Hess47

    Hess47 Newbie

    Newcomer
    1
    Sunday
    United States
    Is anybody working on pinball arcade vita cheats for rest of tables
     
  8. Smoker1

    Smoker1 GBAtemp Addict

    Member
    8
    Feb 17, 2015
    United States
    Carmichael, California
    PCSE00065

    NOTE - Some Tables like Victory are hard to nail down. Can not seem to figure it out.
     
  9. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    These are "Pointer" Type codes. They work by following an address stored at the first location. You'll want to use a tool such as TempAR to create these.

    1. - Yes. I originally had only 2 examples but decided right before posting to make it clearer with more addresses. Fixed. Thanks.
    2. The 4 means Compression type code. The 2 means it's 32-bit. The 00 isn't important in this code type, as far as I know.
    3. Yes. It's used to increase (or decrease) the value every step.

    https://github.com/r0ah/vitacheat/wiki/Condition
    You can indeed check the value of 2 addresses, and even do some logic. My "Plants vs Zombies" code for Swapping plants mid-game makes heavy use of Conditionals to detect button presses and combos, lock the code in certain loops and check which set of plants is loaded and should be loaded next. Here it is with notes included.
    PvZ Swap Plants Code w/notes
     
  10. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    This isn't quite right. You're thinking that the $3 codes are adding to the address. They are not. What's happening is that the code is looking at the address (85C01000 in your example) and reading what's there as a NEW address and going there, THEN moving 0xC00000 and writing a value. (In your example, it's actually following another address again and then moving another 0x1000 before writing a 5 at the final stop.)

    There is a way to do what you're expecting though. The $B200 codes start at 81000000 (not usually, but example for now). The code tells the vitacheat to start the next codes at EBoot location and add the address field as an offset. So These 2 codes are the same:
    Code:
    $0200 85C01000 00000001
    
    $B200 00000000 00000000
    $0200 04C01000 00000001
    
    Ya, that's pretty normal, I'm finding. There weren't a lot of games that had codes like this, but now that I've updated TempAR, I'm seeing this kind of pattern in almost EVERY game I look at. I usually look for a spot in the code that has a value of 0xFFFFFFFF, but that will probably work the same. It's always just a random value somewhere nearby that is a good indicator of what pointer is being used.

    Slight problem with your code, though. The second set isn't being used.
    Code:
    _V0 Conditional Score
    $D205 85811F00 CCCCCCCC #Only does the next 5 lines of code if 85811F00 is CCCC..
    $4200 85B04010 05F5E0FF #1
    $0002 00000004 00000000 #2
    $4200 85D0A268 05F5E0FF #3
    $0002 00000040 00000000 #4
    $D504 85811F00 CCCCCCCC #5 Only does next 4 lines of code if 85811F00 is CCCC... and Not CCCC... at the same time.
    **snip**
    Can't really do If/ElseIf statements in Vitacheat. At least, not this way.... Check my PvZ code I linked earlier.
    Should be:
    Code:
    _V0 Conditional Score
    $D204 85811F00 CCCCCCCC #if
    $4200 85B04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85D0A268 05F5E0FF
    $0002 00000040 00000000
    $D504 85811F00 CCCCCCCC #if
    $4200 85A04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85C0A268 05F5E0FF
    $0002 00000040 00000000
    — Posts automatically merged - Please don't double post! —

    Hmm. Ok. I'll have to take a look at it. It's some of my earlier codes before TempAR got beefed up, so I'll check them out soon(tm).
     
  11. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    Thus far i got all skills done and score, i'm trying to add talismans and some way to get loot quickly, i may look into ways to unlock floors in LoC/ToM too.
    I'm looking at the existing 1.06 US codes as a guide: https://github.com/r0ah/vitacheat/blob/master/db/PCSE00019.psv

    I see for example that to unlock all talismans they set 11 addresses (the number of talismans) to a value of 1, using 1 byte addresses.
    I thus tried to look for the first talisman: i have a few characters, some have it unlocked, some don't.
    So what i'm doing is switching between them and looking for 1 or 0 over and over, however i always end up with 0 addresses.
    I once got a few addresses, they initially didn't work but actually had effect once i re-launched the game (and thus lost them, rip), yet i can't find them anymore.

    For equipment i'm trying to look for the number of S-rated drops i find while playing (i suspect the items are generated at the end as they match the player's level at the end of the run), but i've been unable to find any address thus far, ouch.

    *edit*
    Turns out talismans are difficulty-specific, some characters were still at normal difficulty, while the others were at infernal.
    Still no luck with that, rip.

    Regarding the $3 codes, that makes more sense, thank you for explaining.

    The second if statement is used to skip the last 4 rows, i tried it 10 times in a row and it worked every time, selecting the correct addresses.

    Code:
    _V0 Conditional Score
    1- $D205 85811F00 CCCCCCCC #if the address has a specific value, execute the next 5 lines
    2- $4200 85B04010 05F5E0FF #1
    3- $0002 00000004 00000000 #2
    4- $4200 85D0A268 05F5E0FF #3
    5- $0002 00000040 00000000 #4
    6- $D504 85811F00 CCCCCCCC #5, this if statement is always false, it's only used to skip the next 4 lines
    7- $4200 85A04010 05F5E0FF #1
    8- $0002 00000004 00000000 #2
    9- $4200 85C0A268 05F5E0FF #3
    10-$0002 00000040 00000000 #4
    
    If the address 85811F00 has value CCCCCCCC then i execute lines 2-4, with line 5 skipping the rest of the codes
    Thus executing lines 1,2,3,4,5,6.
    If the address has a different value, then i skip the following 5 lines, resulting in lines 7,8,9,10 being executed instead.

    Also i only see the option to compare an address and a value.
    I can thus for example check if address 85000000 has a value of 00000001
    but i can't check if address 85000000 has the same value of address 85000001
    since the code uses addresses B1-B8 for the first address and C1-C8 are used for a value, with no operator to compare two addresses or two values with each other.
     
    Last edited by iv2b, Oct 13, 2019 at 3:28 PM
  12. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    I finally found a code that works for the talismans.


    What i did was dumping the memory of 2 characters, one has talisman 1,4 and 5, while the other has talisman 1 and 5.
    I then looked 01 00 00 01 01 00 00 00 00, noted down all addresses where the second dump lists 01 00 00 00 01 00 00 00 00 instead (4th talisman missing), made them all into codes and tried each one.

    What i don't understand is why it didn't work when i looked for the codes via vitacheat.
    They clearly should've showed up as otherwise i would've been unable to find the addresses by looking at the memory dumps...

    This is what i've got thus far:
    Code:
    # PCSB00408
    # Dragon's Crown 1.09 EU
    
    _V0 All Talismans (infernal)
    $D203 85811F00 CCCCCCCC
    $4001 85D01135 00000001
    $0009 00000001 00000000
    $D502 85811F00 CCCCCCCC
    $4001 85C01135 00000001
    $0009 00000001 00000000
    
    _V0 Max Score
    $D205 85811F00 CCCCCCCC
    $4200 85B04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85D0A268 05F5E0FF
    $0002 00000040 00000000
    $D504 85811F00 CCCCCCCC
    $4200 85A04010 05F5E0FF
    $0002 00000004 00000000
    $4200 85C0A268 05F5E0FF
    $0002 00000040 00000000
    
    _V0 All Common Skills
    $D20A 85811F00 CCCCCCCC
    $0000 85D031FC 00000005 # SLIDE ATTACK
    $0000 85D031FD 00000005 # WEALTH TO HEALTH
    $0000 85D031FE 00000005 # MONEY IS POWER
    $0000 85D031FF 0000000A # VITALITY BOOST
    $0000 85D03200 00000005 # NUTRITIONIST
    $0000 85D03201 00000005 # MAINTENANCE
    $0000 85D03202 00000007 # ADROIT HANDS
    $0000 85D03203 00000003 # EVASION
    $0000 85D03204 00000003 # DEEP POCKETS
    $D209 85811F00 CCCCCCCC
    $0000 85C031FC 00000005 # SLIDE ATTACK
    $0000 85C031FD 00000005 # WEALTH TO HEALTH
    $0000 85C031FE 00000005 # MONEY IS POWER
    $0000 85C031FF 0000000A # VITALITY BOOST
    $0000 85C03200 00000005 # NUTRITIONIST
    $0000 85C03201 00000005 # MAINTENANCE
    $0000 85C03202 00000007 # ADROIT HANDS
    $0000 85C03203 00000003 # EVASION
    $0000 85C03204 00000003 # DEEP POCKETS
    
    I'll now work on unlocking talismans in all difficulties.
     
    CrossOut likes this.
  13. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    Ah. Makes sense. I guess that would work for a 2 part code like this. I approve! XD

    I haven't tried it yet... but VitaCheat's memory is stored in RAM too.... you could 'Technically', write a code that writes the value of an address into the code..... It's something I've thought about a bit but haven't yet tested to see how useful it is. Something like (excuse the fake addresses):
    Code:
    $5200 VCheatC1 85811F00
    $D201 VCheatC1 00000000
    etc etc
    
    — Posts automatically merged - Please don't double post! —

    Great work! Looks awesome! I was not looking forward to making these codes because I dunno how to place a cart back in now that I have Sd2Vita. XD

    The talismans looks pretty easy to miss. I missed a similar thing in DBZ a while back. The screen is just so tiny and doesn't display a nice long list to easily compare things. XD
     
    CrossOut likes this.
  14. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    Who said i'm using a cartridge myself? :P
    The wierd thing is that i had 4 characters, 2 with the first talisman locked and 2 with the first talisman unlocked, then i just kept switching back and forth between them and looking for either 0 or 1, yet i'd always find garbage or no results at all (looking for 1 byte values), i tried no less than a dozen times too. ò.ò

    If you know which addresses i could use to store values that'd be actually a really nifty tool as then i could check whether all 4 addresses have the same value rather than checking for an arbitrary unrelated address.

    The normal and hard difficulty talismans were right next to the hard mode ones, but i will need to look for the ultimate difficulty ones.

    Honestly i don't think i'll be able to find some way to add loot to my characters: what i've been trying to do is looking for the current number of S-rank drops i receive during a run, but i couldn't find the address, always got 0 matches. I suspect loot is generated when returning to town as it matches your character at the end of the run (for example i levelled from 15 to 35 in a single mission and i got level 35 rewards), which would imply the game just stores how many chests i opened of each type.

    To find that address using a hex editor (i've been using HexEdit thus far) i'd have to dump after each chest and find an address that matches, however HexEdit doesn't seem to provide that functionality.
    For example i can't find the address that has value of 1 in the first file, 3 in the second file and 4 in the third file, which is what i'd need to do.
    Do you know a way to do such a thing?

    If that doesn't work i'm not sure what would, i don't think i'm able to edit equipment through vitacheat or to create a save editor.

    P.s.
    I just realized you're the person behind TempAR vita edition, good stuff!

    *edit*
    My equipment clearly not good enough to clear ultimate difficulty floors, so i guess the ultimate difficulty talismans will have to wait as i can't find the address otherwise. x)
     
    Last edited by iv2b, Oct 13, 2019 at 8:52 PM
  15. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    You may not be, but it's one of the few carts I forgot to dump before switching to SD2Vita. It had fallen out of my cart case and was hidden under a jewel case in my drawer. XD

    I'd have to play around with vitacheat and see where the addresses usually are. I imagine it would be super easy with Vitacheat z06, because I could use a $b200 code to select Vitacheat's location and just use an offset from there. I'll give it a try sometime and see how well it works. Not sure it's even possible, but in theory it should work.

    Thanks bro. It wasn't easy as I've very little programming EXP... mainly HTML from 15+ years ago when I was in school. XD
     
  16. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    Looks like i've been using z05 this whole time, i'll look into z06. :P

    If you happen to find yourself fiddling with the game (specifically version 1.09 EU) do look whether you happen to find ways to get equipment faster or to edit equipment, had zero luck thus far.

    Tomorrow/tuesday i'll make skill codes for each character and try to look into infinite hp/mana for player1 as that's something i can actually tackle. :)
     
  17. monodevil

    monodevil GBAtemp Regular

    Member
    4
    Apr 2, 2013
    United States
    That does sound interesting but that's a bit beyond my knowledge as I never owned a PS3 to know how it works or even if its possible.

    Also nice work on getting codes to work for DC, might test them myself and see if they also work for the US version later on.

    As for HP, I remember working on some in the past and managed to get 1 working for the Wizard. It worked for a bit but once I added party members, the code seemed to have changed places then eventually stop working and crashed. This was before TempAR was updated, so I'm not sure if this would be of any help. When I made the code it was done with party members turned off and playing with only 1 character. I also tried to make a HP code with party members and was noticing that party member address would swap giving other party members Infinite HP instead of my character.

    I think its the more party members you add the more the address changes around basically.
     
    Last edited by monodevil, Oct 13, 2019 at 10:25 PM
  18. iv2b

    iv2b Advanced Member

    Newcomer
    2
    Jan 17, 2016
    Italy
    I doubt they'll work on the US version too, but hey you never know! :P

    Codes sometimes have a 0x00100000 offset, maybe adding players fiddles with that, i'll find out in the coming days (although i play solo anyway).
    If you happen to have characters that are geared for ultimate difficulty then consider getting some talismans in normal/hard/infernal and ultimate and sharing a memory dump from x81000000 to x89000000.
    The US version will most likely have different offsets, but that may be useful to find out the addresses in the EU version as well.

    I really want to find some way to get quick loot, one way would be generating a ton of drops at the end of every run, while the only other approach i can think of would involve manually unlocking floors in LoC/ToM + invincibility and ideally some way to increase damage output, thus melting everything in really high level areas and getting loot that way.

    So if you find clues as to how i could add drops at the end of a run (ex: 99x S rank), unlock LoC/ToM floors or increase damage output that'd be a huge help.
     
  19. Yohoki

    Yohoki GBAtemp Fan

    Member
    4
    Dec 4, 2018
    United States
    Have you tried finding the location of consumables? That's how I found Equipment in Sword Art. I found the Consumable potions and gems and Equipment/Armor was stored just a few pages away.

    Edit:
    Also, are you guaranteed a set number of drops at the end of a run? Maybe that number needs to be subtracted out or added to the number you're searching for.
     
    Last edited by Yohoki, Oct 14, 2019 at 12:50 AM
  20. monodevil

    monodevil GBAtemp Regular

    Member
    4
    Apr 2, 2013
    United States
    Just tested your Dragon's Crown code for the US version of Dragon's Crown(PCSE00019) and they work flawlessly so I guess I can still help with anything if you need. I only tested the Max score and the All Common Skills so far. I can't for the life of me remember what Talismans are or were used for so I couldn't really test those, its been awhile since I last played DC. The max score code got me from level 1 to lvl 35 in 1 run although, this game still gives me that Skill Point problem of resetting your skill points when gaining too many. Out of 35 levels, the game only gave me 2 Skill Points when I got back to town so some kind of anti cheat measure must be in place even when gaining too many levels.

    -Edit
    After some more further testing, it looks like the Common Skills codes isn't permanent and needs to be either reapplied after a dungeon run or left on. I think it was like this for the old DC codes wasn't it?
     
    Last edited by monodevil, Oct 14, 2019 at 7:18 AM
Quick Reply
Draft saved Draft deleted
Loading...