~~~~~~~~What's needed in a Complete UNDMA Code?~~~~~~~~~~~
-0xFFFFFFFF ; tells nitepr the code is DMA.
-Pointer address ; The Address of the pointer value (0x09?????? is the pointer value)
-Offset ; Offset is the VALUE from which you calculated the DMA CODE ADDRESS from POINTER VALUE MINUS 0880 which equals the difference or rather in this case the OFFSET VALUE.
****GETTING THE OFFSET****
(NOTE: Nitepr loads addresses in RAW cheat format.)
/
/
/
Lets say you have a code ;(this code doesn't pertain to this guide it's for example:..../
-->0x08d503c0 0x35353232<--THIS IS REAL CHEAT-
-->0x005503c0 0x35353232<--THIS IS RAW CHEAT-
Example:USE WINDOWS CALCULATOR(HEX)
[0x005503c0 + 08800000 = 0x08d503c0/REAL CHEAT
[0x08d503c0 - 08800000 = 0x005503c0/RAW CHEAT (Nitepr reads this addressing ;OR Otherwise....)
ok...Now for the UNDMA Calculations
|REAL CHEAT|
Example:[ 0x09?????? - 08800000=......
..|RAW CHEAT|& |RAW CHEAT|
0???????? and 0??????? -0xDMA CODE= 0xOFFSET. (SIMPLE SUBTRACTION) if you get an offset like this ->ffff???? then the difference is to greater giving you a negative result. Try the calculations vise versa instead of |pointer value - DMA Code| try |DMA Code - pointer Value.|
Assemble a UNDMA CODE for usage.
#Code name
;Comment/Creds
0xFFFFFFFF 0xPointer address
0xOffset.... 0xValue Data
SO...
#Unkown
0xFFFFFFFF 0x0???????
0x0000???? 0x????????
----------Find Pointer------------------
Well here is a Short guide that Cuts to the point...
Starting now...
Turn on your DMA code make sure it works.
->go into nitepr click R to go to the tab |PRX|
-Blah
-Blah
-Blah
...Untill you see dump ram slot 0 click that.
Ramdump-1 has been created.
Repeat this step because you need two diff dma address from the same map.
NOW THAT YOU CREATED THE DUMPS FROM YOUR ComPUTER XD
1.) With DMAhunter(
[You must be registered and logged in to see this link.]), do what's Needed (Compare two dumps and for each dump type in the code address that belongs to the map you prepared the DUMP in. { Dump0.ram=first DMA Map Code/ Dump1.ram=Second DMA Map Code}
-Once you done that you should hit enter and DMAhunter will then sort the results and should spew them results out. These Results are the pointer address and Pointer Value.
(note: You should grab the lowest pointer address as it may be more UNIVERSAL.)
Once we have...
pointer address= 0x00??????/pointer value= 0x0???????
Time to prepare the UNDMA!
0xDMA Code Address - 0xPointer Value
(Note: Check the pointer address data as it may change for each map so Whatever DMA code your using to undma make sure to subtract the pointer value data on that MAP from the DMA code also for that MAP. You don't want to use one maps value compared to another maps value it would fail.
Example:Player Pointer: 0x0058361c
Example:Player Pointer Value: 0x09b1a030 - 08800000=
Pointer Data|RAW CHEAT|
0x0131a030=Mnt V.day(Adhoc).
Example:Fake DMA Code: 0x01320484
SO...
| DMA Code| | Pointer Data| |Offset|
0x01320484 - 0x0131a030= 0x00006454 and now we can use our pointer to point the Data to our offset to be spacific
.
#Universal Example
;Comment/creds
0xFFFFFFFF 0x0058361c
0x00006454 0x00000000-Data
------------------------------------------------
This is a Universal pointer for Medal of honor heroes which only works for certain functions not weapon functions ,but there are other functions that have to do with weapon animation and others like grenade timer cache and so on.. Depends just test it. mostly codes that are map spacific will work with this pointer.
0x0058361c 0x09b1a030 [Note: this pointer value will change according to map so make sure you gather the correct values for calculation use decoder in nitepr to get the value which is in the memory.
--------------------------------------------------
-NCR CodeX