More actions
m (HydeWing moved page Gohanmem Vita to GoHANmem Vita without leaving a redirect) |
No edit summary |
||
Line 8: | Line 8: | ||
|title=GoHANmem | |title=GoHANmem | ||
|image=gohanmemvita.jpg | |image=gohanmemvita.jpg | ||
|description=Cheat plugin for | |description=Cheat plugin for PS Vita. | ||
|author=OneRice07 | |author=OneRice07 | ||
|lastupdated=2017/08/04 | |lastupdated=2017/08/04 | ||
Line 18: | Line 18: | ||
|source=https://github.com/OneRice07/GoHANmem | |source=https://github.com/OneRice07/GoHANmem | ||
}} | }} | ||
GoHANmem is a memory editor for PS Vita. Allows to edit game memory in realtime. | |||
== | ==Installation== | ||
Unzip and copy the files to PS Vita memory card root ux0: according to the directory structure. | |||
While in game, press Right+Select or L+Start (or use key.txt to customize key, default is the Up+Start) to open the modifier. | |||
In the modifier, press Select or Start to return to the game. | |||
PS:Set English language : [语言]-[English] | PS:Set English language : [语言]-[English] | ||
== | ==User guide== | ||
===Basic tutorial=== | |||
In the game, write down the value you want to modify, for example, 86986 gold coins. | |||
Use the hotkey to open the modifier and search for 86986, you will get several matching addresses. | |||
Return to the game and change the value of the gold coins, such as purchasing items, now the gold coins become 85335. | |||
Use the hotkey to bring up the modifier again, search for 85335, and you will also get the pairing address, but the pairing number will be less than before. If there are still many available pairs, repeat the previous step. | |||
When there are only one or two pairs remain, you can start modifying the value corresponding to these two pairing addresses, for example, change it to 999999999. | |||
If succeed, the number of gold coins will be 999999999. | |||
===Cheat code format=== | |||
Currently it supports normal code, pointer code and loop code. | |||
@code type, address type, address value, address offset direction, address offset amount, loop count, loop address increment direction, loop address increment each time, byte count, value, value increment direction, value increment | @code type, address type, address value, address offset direction, address offset amount, loop count, loop address increment direction, loop address increment each time, byte count, value, value increment direction, value per increment | ||
*Code type: 0 normal code, 1 cyclic code. | |||
*Code type: 0 normal code, 1 cyclic code | *Address type: 0 normal address, 1 pointer address. | ||
*Address type: 0 | *Address value: 0x81222222 something like this. | ||
*Address value: 0x81222222 | *Offset direction: 0 for negative offset -, 1 for positive offset +. | ||
*Offset direction: 0 for negative offset -, 1 for positive offset + | |||
*Number of cycles: Decimal value. Applies only in cyclic code. Does not work with normal code, but needs to be filled with this, available as 0. | *Number of cycles: Decimal value. Applies only in cyclic code. Does not work with normal code, but needs to be filled with this, available as 0. | ||
*Loop address increment: 0x81222222 | *Loop address increment: 0x81222222 something like this. Applies only to loop code. Does not work with normal code, but this needs to be filled, in that case use 0x00000000. | ||
*Byte count: | *Byte count: The number of bytes of the value to be modified, in decimal, between 1 and 4. | ||
*Numeric value: | *Numeric value: The value to be modified, decimal. | ||
*Value per increment: | *Value per increment: The decimal value. Only works with loop code. Does not work with normal code, but needs to be filled with this, available as 0. | ||
===Example=== | ===Example=== | ||
Line 59: | Line 63: | ||
#gold888888 | #gold888888 | ||
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0 | @0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0 | ||
Description: Common code, address 0x81D433E0, modify 4 bytes, the value of decimal 88888888 | Description: Common code, address 0x81D433E0, modify 4 bytes, the value of decimal 88888888. | ||
Note that other 0 values also need to be filled in accordance with the format, otherwise the execution will be wrong. | Note that other 0 values also need to be filled in accordance with the format, otherwise the execution will be wrong. | ||
Line 65: | Line 69: | ||
#gold888888 | #gold888888 | ||
@0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0 | @0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0 | ||
Description: ordinary pointer code, the value within the address 0x845042A5 is the new address, for example, 0x81335561,forward offset 0x00000008, that is, 0x81335569, address 0x81335569 modified 4 bytes, the value of decimal value 88888888 | Description: ordinary pointer code, the value within the address 0x845042A5 is the new address, for example, 0x81335561,forward offset 0x00000008, that is, 0x81335569, address 0x81335569 modified 4 bytes, the value of decimal value 88888888. | ||
Loop code format | Loop code format | ||
Line 78: | Line 82: | ||
</pre> | </pre> | ||
== | ===Other notes=== | ||
You can use the "Memory Extraction" function to extract the memory (with "_00x" at the end of the file name), and transfer them to the computer for analyze. | |||
After that, you can either write your own GoHANmem code, or modify the extracted memory file (remove the "_00x" after the file name), transfer it back to the ux0:data/GoHANmem/mem/ on the Vita, and import the file into the memory in the "Memory" management page (the starting address must be the same as the file, and the end address must be less than or equal to the file size boundary). | |||
GoHANmem code example (if there are any Chinese characters): | |||
#YellowSoul99999999 | |||
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,999999999,0,0 | |||
#Infinite Magic | |||
@0,0,0x81D491F0,0,0x00000000,0,0,0x00000000,4,262148000,0,0 | |||
#无限InfiniteHP1 | |||
@0,0,0x81D491CC,0,0x00000000,0,0,0x00000000,4,655370000,0,0 | |||
#无限InfiniteHP2 | |||
@0,0,0x81D491E0,0,0x00000000,0,0,0x00000000,4,655370000,0,0 | |||
When saving in Notepad under windows, just select ANSI encoding. | |||
===Importing the extracted memory files=== | |||
The file name format is | |||
GameID_mem_0xExtraction Range Start Address.bin | |||
For example | |||
PCSB00294_mem_0x84D00000.bin | |||
This file can be obtained using the "Extract Memory" function: | |||
PCSB00294_mem_0x84D00000_001.bin | |||
PCSB00294_mem_0x84D00000_002.bin | |||
PCSB00294_mem_0x84D00000_003.bin | |||
Each time it is extracted, "_00x" is automatically added to the end of the file name. | |||
The memory files can be found in ux0:data/GoHANmem/mem/. | |||
Then use your computer to analyze and modify the file, then remove the suffix number "_001", etc., and you can use "Recover Memory" to import it back into the PSV memory. | |||
Before using "Recover Memory", make sure the file name PCSB00294_mem_0x84D00000.bin matches the "Extraction Range Start" value. | |||
===key.txt=== | |||
key.txt location is ux0:data/GoHANmem/cfg/key.txt. | |||
If key.txt does not exist or the configuration content of key.txt is incorrect, it will revert to the default hotkeys Right+Select or L+Start. | |||
The key.txt configuration requires only two capital letters to be modified (A-L). | |||
For example, if you want to set hotkeys to Up+Start, write CB at the beginning of key.txt and then save it. | |||
*(A) Select button | |||
*(B) Start button | |||
*(C) D-Pad Up | |||
*(D) D-Pad Right | |||
*(E) D-Pad Down | |||
*(F) D-Pad Left | |||
*(G) Left trigger | |||
*(H) Right trigger | |||
*(I) Triangle button | |||
*(J) Circle button | |||
*(K) Cross button | |||
*(L) Square button | |||
==Screenshots== | |||
gohanmemvita3.png | |||
gohanmemvita4.png | |||
gohanmemvita5.png | |||
gohanmemvita6.png | |||
gohanmemvita7.png | |||
==Changelog== | ==Changelog== | ||
Line 166: | Line 174: | ||
== External links == | == External links == | ||
* | * GitHub - https://github.com/OneRice07/GoHANmem | ||
* VitaDB - https://vitadb.rinnegatamante.it/#/info/119 | * VitaDB - https://vitadb.rinnegatamante.it/#/info/119 |
Revision as of 10:22, 5 Ocak 2023
GoHANmem | |
---|---|
File:Gohanmemvita.jpg | |
General | |
Author | OneRice07 |
Type | Plugins |
Version | 3.01 |
License | Unlicense |
Last Updated | 2017/08/04 |
Links | |
Download | |
Source | |
GoHANmem is a memory editor for PS Vita. Allows to edit game memory in realtime.
Installation
Unzip and copy the files to PS Vita memory card root ux0: according to the directory structure.
While in game, press Right+Select or L+Start (or use key.txt to customize key, default is the Up+Start) to open the modifier.
In the modifier, press Select or Start to return to the game.
PS:Set English language : [语言]-[English]
User guide
Basic tutorial
In the game, write down the value you want to modify, for example, 86986 gold coins.
Use the hotkey to open the modifier and search for 86986, you will get several matching addresses.
Return to the game and change the value of the gold coins, such as purchasing items, now the gold coins become 85335.
Use the hotkey to bring up the modifier again, search for 85335, and you will also get the pairing address, but the pairing number will be less than before. If there are still many available pairs, repeat the previous step.
When there are only one or two pairs remain, you can start modifying the value corresponding to these two pairing addresses, for example, change it to 999999999.
If succeed, the number of gold coins will be 999999999.
Cheat code format
Currently it supports normal code, pointer code and loop code.
@code type, address type, address value, address offset direction, address offset amount, loop count, loop address increment direction, loop address increment each time, byte count, value, value increment direction, value per increment
- Code type: 0 normal code, 1 cyclic code.
- Address type: 0 normal address, 1 pointer address.
- Address value: 0x81222222 something like this.
- Offset direction: 0 for negative offset -, 1 for positive offset +.
- Number of cycles: Decimal value. Applies only in cyclic code. Does not work with normal code, but needs to be filled with this, available as 0.
- Loop address increment: 0x81222222 something like this. Applies only to loop code. Does not work with normal code, but this needs to be filled, in that case use 0x00000000.
- Byte count: The number of bytes of the value to be modified, in decimal, between 1 and 4.
- Numeric value: The value to be modified, decimal.
- Value per increment: The decimal value. Only works with loop code. Does not work with normal code, but needs to be filled with this, available as 0.
Example
Normal code format #gold888888 @0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0 Description: Common code, address 0x81D433E0, modify 4 bytes, the value of decimal 88888888. Note that other 0 values also need to be filled in accordance with the format, otherwise the execution will be wrong. Pointer code format #gold888888 @0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0 Description: ordinary pointer code, the value within the address 0x845042A5 is the new address, for example, 0x81335561,forward offset 0x00000008, that is, 0x81335569, address 0x81335569 modified 4 bytes, the value of decimal value 88888888. Loop code format #Goldencoin888888 @1,0,0x81D433E8,0,0x00000002,5,1,0x00000100,4,1000,1,20 Description: Loop code, ordinary address 0x81D433E8, negative offset 0x00000002, that is, 0x81D433E6, loop 5 times to modify, each address increment 0x00000100, modify byte 4, the initial value of 1000, each positive increase in value 20. The first modification address 0x81D433E6 4 bytes value 1000 Second modification Address 0x81D434E6 4 bytes Value 1020 Third modification Address 0x81D435E6 4 bytes Value 1040 Fourth modification Address 0x81D436E6 4 bytes Value 1060 Fifth modification Address 0x81D437E6 4 bytes Value 1080
Other notes
You can use the "Memory Extraction" function to extract the memory (with "_00x" at the end of the file name), and transfer them to the computer for analyze.
After that, you can either write your own GoHANmem code, or modify the extracted memory file (remove the "_00x" after the file name), transfer it back to the ux0:data/GoHANmem/mem/ on the Vita, and import the file into the memory in the "Memory" management page (the starting address must be the same as the file, and the end address must be less than or equal to the file size boundary).
GoHANmem code example (if there are any Chinese characters):
#YellowSoul99999999 @0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,999999999,0,0 #Infinite Magic @0,0,0x81D491F0,0,0x00000000,0,0,0x00000000,4,262148000,0,0 #无限InfiniteHP1 @0,0,0x81D491CC,0,0x00000000,0,0,0x00000000,4,655370000,0,0 #无限InfiniteHP2 @0,0,0x81D491E0,0,0x00000000,0,0,0x00000000,4,655370000,0,0
When saving in Notepad under windows, just select ANSI encoding.
Importing the extracted memory files
The file name format is
GameID_mem_0xExtraction Range Start Address.bin
For example
PCSB00294_mem_0x84D00000.bin
This file can be obtained using the "Extract Memory" function:
PCSB00294_mem_0x84D00000_001.bin PCSB00294_mem_0x84D00000_002.bin PCSB00294_mem_0x84D00000_003.bin
Each time it is extracted, "_00x" is automatically added to the end of the file name.
The memory files can be found in ux0:data/GoHANmem/mem/.
Then use your computer to analyze and modify the file, then remove the suffix number "_001", etc., and you can use "Recover Memory" to import it back into the PSV memory.
Before using "Recover Memory", make sure the file name PCSB00294_mem_0x84D00000.bin matches the "Extraction Range Start" value.
key.txt
key.txt location is ux0:data/GoHANmem/cfg/key.txt.
If key.txt does not exist or the configuration content of key.txt is incorrect, it will revert to the default hotkeys Right+Select or L+Start.
The key.txt configuration requires only two capital letters to be modified (A-L).
For example, if you want to set hotkeys to Up+Start, write CB at the beginning of key.txt and then save it.
- (A) Select button
- (B) Start button
- (C) D-Pad Up
- (D) D-Pad Right
- (E) D-Pad Down
- (F) D-Pad Left
- (G) Left trigger
- (H) Right trigger
- (I) Triangle button
- (J) Circle button
- (K) Cross button
- (L) Square button
Screenshots
gohanmemvita3.png
gohanmemvita4.png
gohanmemvita5.png
gohanmemvita6.png
gohanmemvita7.png
Changelog
v3.01
- Added Thank you list, thank you to everyone who gave funding or technical help.
- Other corrections
- This is the end of this project, if there is a chance later, see you in the next project!
v3.00beta
- Redefined the code format of GoHANmem, now supports normal code, pointer code and loop code
- Added the function of [Restore Memory].
- Added customizable call-out button
- Fixed the function of [Archive Restore].
- Other fixes
v2.00
- Added English language.
v1.01beta1
- First Release.