.pnach issues
#1
Hi im new to the whole forum usage and i did read the stickies if im posting in the wrong section or should not be posting at all im sorry.


i am having issues with using a pnach file to cheat with i have tried making my own and literally copied and pasted another persons using notepad++ and for some reason the cheats still wont load im almost positive that it is finding the cheats but for some reason it refuses to load them and spits out a really long error on the console window
as follows SadEE pc:0010025C) TLB Miss, addr=0xe9340f5 [store]
(EE pc:0010025C) TLB Miss, addr=0x509090d [store]
(EE pc:0010025C) TLB Miss, addr=0xccb8189 [store]
(EE pc:0010025C) TLB Miss, addr=0xe9340f5 [store]
(EE pc:0010025C) TLB Miss, addr=0x509090d [store]
(EE pc:0010025C) TLB Miss, addr=0xccb8189 [store]
(EE pc:0010025C) TLB Miss, addr=0xe9340f5 [store]
(EE pc:0010025C) TLB Miss, addr=0x509090d [store]
(EE pc:0010025C) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006CB8) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006CB8) TLB Miss, addr=0x509090d [store]
(EE pc:80006CB8) TLB Miss, addr=0xccb8189 [store]
(EE pc:80000280) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80000280) TLB Miss, addr=0x509090d [store]
(EE pc:80000280) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006D38) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006D38) TLB Miss, addr=0x509090d [store]
(EE pc:80006D38) TLB Miss, addr=0xccb8189 [store]
(EE pc:80005EF8) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80005EF8) TLB Miss, addr=0x509090d [store]
(EE pc:80005EF8) TLB Miss, addr=0xccb8189 [store]
(EE pc:80005FCC) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80005FCC) TLB Miss, addr=0x509090d [store]
(EE pc:80005FCC) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006CF0) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006CF0) TLB Miss, addr=0x509090d [store]
(EE pc:80006CF0) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006CB8) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006CB8) TLB Miss, addr=0x509090d [store]
(EE pc:80006CB8) TLB Miss, addr=0xccb8189 [store]
(EE pc:00321A14) TLB Miss, addr=0xe9340f5 [store]
(EE pc:00321A14) TLB Miss, addr=0x509090d [store]
(EE pc:00321A14) TLB Miss, addr=0xccb8189 [store]
(EE pc:80005FCC) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80005FCC) TLB Miss, addr=0x509090d [store]
(EE pc:80005FCC) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006CB8) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006CB8) TLB Miss, addr=0x509090d [store]
(EE pc:80006CB8) TLB Miss, addr=0xccb8189 [store]
(EE pc:80000280) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80000280) TLB Miss, addr=0x509090d [store]
(EE pc:80000280) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006CB8) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006CB8) TLB Miss, addr=0x509090d [store]
(EE pc:80006CB8) TLB Miss, addr=0xccb8189 [store]
(EE pc:003187B0) TLB Miss, addr=0xe9340f5 [store]
(EE pc:003187B0) TLB Miss, addr=0x509090d [store]
(EE pc:003187B0) TLB Miss, addr=0xccb8189 [store]
(EE pc:80006B30) TLB Miss, addr=0xe9340f5 [store]
(EE pc:80006B30) TLB Miss, addr=0x509090d [store]

not sure if i should copy and paste my pnach as well an help is appreciated thank anyone who helps in advance.

P.S. i have tried with 0.9.8 as well as 1.0.0 binaries installed and get the same error
Reply

Sponsored links

#2
Paste your pnach and the game you are trying to play (region too)
[Image: newsig.jpg]
Reply
#3
Can be advanced those TLB errors are probably due to wrong code(s) and not a problem with the cheat engine.

Well, Bositman said it all already.
Imagination is where we are truly real
Reply
#4
I make alot of pnaches and I see the tlb misses when I either grabbed a cheat from the wrong version (E for U) or the code is one that I do not have enough skill to modify properly. I run across this with codebreaker codes. Sometimes they have to be tweaked and it isnt always intuitive as to how.

VSub is pretty good with pnaches so I am not sure if he/she is available to assist, but you may want to disable the cheats 1 or 2 at a time so you can see which ones are causing the issue.
Intel Core i5-8600K @ 4.5 GHz
GeForce GTX 1080 SC2 Stock
ASRock Z370 Taichi LGA 1151 mobo
CORSAIR Vengeance LPX 16GB 2400 DDR4 RAM
SAMSUNG 970 EVO M.2 2280 500GB PCIe SSD
Indigo Xtreme Thermal Interface Material
Phanteks Enthoo Pro ES614P Black Steel Case
EVGA SuperNOVA 750 G2 220-G2-0750-XR PSU
Windows 10 64-bit
Reply
#5
Indeed, Vsub is kind of a guru in this area and has an impressive catalog at hand.

Still we could try and help but we need your help as well, even Vsub would have a harder time trying to figure which game you are trying to play, the codes you inserted in the pnach files... these little things that makes helping possible...

"read address offset every time address is mentioned in the following."

As general concepts, first you need to assure the code you got is for the specific version of the game. Since the code pokes values at specific memory addresses, a wrong address can be dreadful.

Second you need to know the actual cheat engine used with the code and it's version... for the code must be decrypted to a raw format before can be used in the pnach (for raw format must be understood the address and value must be "exactly" the actual address and value to be put in it). For example if the code is for the Codebreaker version till 6 you must use that information for the input in a converter (as the omniconvert for example)... if for codebreaker 7 and above, that must be used to decrypt the code.

Of course the converter's output must be chosen to be "raw" for you don't want a code converted to yet another encryptation method.

Once you get that raw output it can be used to include into the pnach file. Remember the use of explicit types should be avoided from now on. So avoid using "byte"; "short" or "word" and instead use "extended" in all codes. This will make the pnach engine to look the first digit at the address and know the type of code (or length in bytes for the value).
Imagination is where we are truly real
Reply
#6
(11-21-2012, 04:57 PM)nosisab Ken Keleh Wrote: Remember the use of explicit types should be avoided from now on.

Why? Is there any reason not to use these for simple direct writes to memory?
Reply
#7
(11-21-2012, 06:27 PM)Krude Wrote: Why? Is there any reason not to use these for simple direct writes to memory?

Convention for example, 0 at the first digit indicates the value is byte length, 1 is short and 2 is word. But that explicit convention see the address as it is, and 0 is the normal address and 2 is a mirror to it, so ALL codes must be "adapted" and changed to have 0 or 2 as first digit.

That's OK because the explicit token tell the length to be used, but that implicit information is lost and many people don't understand it well.

So they may keep 1 as the first digit and use "short" as token, that would be correct but the result is the emulator crashes in almost all cases because the address fall into an area reserved to hardware. On the other hand the user will change the first digit to 0 and the code will work... just than becomes harder to tell the real nature of the code if taken alone later (not counting the chance of mistake when it was implemented in pnach).

Let's give an example, if you see a code like:

00102f32 0000ffff you could with high degree of security to tell it is a short. but:
00102f32 00000000 is almost impossible to tell the length. if (assuming it was originally a short) and short is used the code works as intended.

But if is assumed it is a byte it may fail for only the last 00 would be poked into the memory if some non 0 value was already at the adjacent byte the cheat fails to erase the field as intended.

If assumed it is a word then all 4 bytes will be poked into the memory and then erasing more than should, that can lead to problems as well.

There are more reasons but I hope you got the picture. Using extended you don't need to change the original code and must not (other than decrypting it), this alone is a huge advantage.
Imagination is where we are truly real
Reply
#8
I'm having a hard time parsing some of your sentences.

In any case, it doesn't even matter whether 00102f32 00000000 was a short or a long or whatever before you converted it to pnach, because the pnach format explicitly states that. One look at the patch line and you immediately see it was a short.

As far as i can tell, your entire argument boils down to "use extended exclusively if you are only converting someone else's codes and have no clue what you are doing".
I'd wager that using extended for simple 1, 2 and 4 byte writes does more to obfuscate the whole thing than using byte, short and word.
Reply
#9
Yes, the use of "extended" should be encouraged. The reason to keep the "old" and deprecated explicit nomenclature is for backward compatibility. One should use the new way when creating new pnach files.

Since you didn't understand the reasoning and seem to know enough, no problem you continue the method you deem better for you.

Of course one needs not to replace all his old pnach files which are working as expected. The advice is just to start creating pnach in the preferred way from start.

Still, defending the usage of something that is not advantageous and could eventually create more problems than helping to solve them is not the sensible thing to do.

Sorry for not being native English speaker and made some things harder to understand.

PS: just for the record: the reason for the name "extended" is to indicate it integrates everything in one unified and easy to understand package and to actually extend the pnach engine capacity. It could even be omitted if not to keep the mentioned backward compatibility. In it the code itself has all the needed information and "need not" to have digits changed just for the sake of the old method.
Imagination is where we are truly real
Reply




Users browsing this thread: 1 Guest(s)