ROM Hack [Database] CTRPF AR CHEAT CODES

  • Thread starter Thread starter Vermil
  • Start date Start date
  • Views Views 603,241
  • Replies Replies 505
  • Likes Likes 25
Depends on if your phone can run it or not - although most likely can't (windows phones never really caught on and they tend to be low spec on top of that). Ancient concept as it is, public libraries often have PCs you can use - though some sort of external storage device like an SD card may be wise to manage files you intend to keep/use.
 
  • Like
Reactions: OKAAA
Depends on if your phone can run it or not - although most likely can't (windows phones never really caught on and they tend to be low spec on top of that). Ancient concept as it is, public libraries often have PCs you can use - though some sort of external storage device like an SD card may be wise to manage files you intend to keep/use.
[C.B. PHIALS EUR v1.1]
681C815C 00000000
B81C815C 00000000
20002C8C 00000005
D2000000 00000000

[C.B. RED SHIELD EUR v1.1]
681C815C 00000000
B81C815C 00000000
200027DB 00000046
D2000000 00000000

I found it with a smartphone, the cheat works well, but it crashes when starting the game if the player is still using the charged blade weapon, it is recommended to use another weapon before starting the game.
 
sounds more like a bad pointer. you'd either need to give it a button conditional or have the code rewritten with a better pointer found

that said, charge blade is quite easy to fill phails on and to charge red shield with. learn the weapon more and you won't need those codes at all
 
  • Like
Reactions: OKAAA
I'm still too new to analyzing code, I still don't even understand what you're telling me, so is this wrong or not? Sorry 🙏🙂

[C.B. PHIALS TOGGLE L EUR v1.1]
DD000000 00000200
D3000000 00000000
681C815C 00000000
B81C815C 00000000
20002C8C 00000005
D2000000 00000000

sounds more like a bad pointer. you'd either need to give it a button conditional or have the code rewritten with a better pointer found

that said, charge blade is quite easy to fill phails on and to charge red shield with. learn the weapon more and you won't need those codes at all
 
I'm still too new to analyzing code, I still don't even understand what you're telling me, so is this wrong or not? Sorry 🙏🙂

[C.B. PHIALS TOGGLE L EUR v1.1]
DD000000 00000200
D3000000 00000000
681C815C 00000000
B81C815C 00000000
20002C8C 00000005
D2000000 00000000
it should work (that being a conditional for when you press L), but you don't need the second line (D3 offset setting) when written that way - or if you choose to keep the line, you can use it to set the address as an offset so you can reuse the format for other codes:

Code:
[C.B. PHIALS TOGGLE L EUR v1.1]
DD000000 00000200
D3000000 081C815C
60000000 00000000
B0000000 00000000
20002C8C 00000005
D2000000 00000000

As a general breakdown if you don't understand the code, here's what each line does in order:

DD = Button conditional. In this case 0x200 is the L trigger. Normally you need a D0 line to close this conditional.
D3 = set offset to a specific value (not to be confused with DC, which adds a number to the existing offset value). You would only need a line of "D3000000 00000000" if the offset has been changed by an earlier line of code, which is why the version you posted doesn't need it.
6 = 4 byte conditional check for if [the 7 digit address after the 6, plus the offset] is != (not equal to) the value on the right, in this case, "0" (0x00000000). Contextually, this is a lazy check to make sure the pointer is initiated - but not that it is in the right sector of memory, hence the problem when it points to different data booting the game up. Normally you need a D0 line to close this conditional.
B = set the offset to the value at [7 digit address after the B, plus the offset] (basically making it a pointer code)
2 = a 1 byte write of "5" (0x05) to the [7 digit address plus offset]. In this case its writing to the address stored as an offset by the B code above, plus an additional 0x2C8C to [try to] change the correct value.
D2 = close all conditionals, close/start any loop codes, and reset the offset after everything above finishes processing. Functionally here its acting as two D0 lines, but if there was additional code after, it basically would reset everything as if you were starting to write a new code.

or more simply, apply the energy you'd put into understanding the code to figuring out when to use CB's sword mode charge-slash (long hold A then hit the monster with the slash once or twice) to charge the sword to red, then store the energy in the shield with X+A. Once 5 phials are stored, enter axe mode and press X+A again to start an AED, but cancel with down+X, which will create the "red shield" effect. When that red shield is about to run out, you can quick-refill it by pressing X+A three times (store phials, shield poke, AED attempt) and cancel the final attack by attempting to block (R), which will cause you to spin and redraw the sword (normally this puts you in a weaker yellow shield mode or upgrade yellow to red, but if you already have red it resets the timer)
 
Last edited by iSharingan,
  • Like
Reactions: OKAAA
it should work (that being a conditional for when you press L), but you don't need the second line (D3 offset setting) when written that way - or if you choose to keep the line, you can use it to set the address as an offset so you can reuse the format for other codes:

Code:
[C.B. PHIALS TOGGLE L EUR v1.1]
DD000000 00000200
D3000000 081C815C
60000000 00000000
B0000000 00000000
20002C8C 00000005
D2000000 00000000

As a general breakdown if you don't understand the code, here's what each line does in order:

DD = Button conditional. In this case 0x200 is the L trigger. Normally you need a D0 line to close this conditional.
D3 = set offset to a specific value (not to be confused with DC, which adds a number to the existing offset value). You would only need a line of "D3000000 00000000" if the offset has been changed by an earlier line of code, which is why the version you posted doesn't need it.
6 = 4 byte conditional check for if [the 7 digit address after the 6, plus the offset] is != (not equal to) the value on the right, in this case, "0" (0x00000000). Contextually, this is a lazy check to make sure the pointer is initiated - but not that it is in the right sector of memory, hence the problem when it points to different data booting the game up. Normally you need a D0 line to close this conditional.
B = set the offset to the value at [7 digit address after the B, plus the offset] (basically making it a pointer code)
2 = a 1 byte write of "5" (0x05) to the [7 digit address plus offset]. In this case its writing to the address stored as an offset by the B code above, plus an additional 0x2C8C to [try to] change the correct value.
D2 = close all conditionals, close/start any loop codes, and reset the offset after everything above finishes processing. Functionally here its acting as two D0 lines, but if there was additional code after, it basically would reset everything as if you were starting to write a new code.

or more simply, apply the energy you'd put into understanding the code to figuring out when to use CB's sword mode charge-slash (long hold A then hit the monster with the slash once or twice) to charge the sword to red, then store the energy in the shield with X+A. Once 5 phials are stored, enter axe mode and press X+A again to start an AED, but cancel with down+X, which will create the "red shield" effect. When that red shield is about to run out, you can quick-refill it by pressing X+A three times (store phials, shield poke, AED attempt) and cancel the final attack by attempting to block (R), which will cause you to spin and redraw the sword (normally this puts you in a weaker yellow shield mode or upgrade yellow to red, but if you already have red it resets the timer)
Thank you for your time, I really appreciate it, I will learn to understand it. 🙏🙂🙂
Post automatically merged:

it should work (that being a conditional for when you press L), but you don't need the second line (D3 offset setting) when written that way - or if you choose to keep the line, you can use it to set the address as an offset so you can reuse the format for other codes:

Code:
[C.B. PHIALS TOGGLE L EUR v1.1]
DD000000 00000200
D3000000 081C815C
60000000 00000000
B0000000 00000000
20002C8C 00000005
D2000000 00000000

As a general breakdown if you don't understand the code, here's what each line does in order:

DD = Button conditional. In this case 0x200 is the L trigger. Normally you need a D0 line to close this conditional.
D3 = set offset to a specific value (not to be confused with DC, which adds a number to the existing offset value). You would only need a line of "D3000000 00000000" if the offset has been changed by an earlier line of code, which is why the version you posted doesn't need it.
6 = 4 byte conditional check for if [the 7 digit address after the 6, plus the offset] is != (not equal to) the value on the right, in this case, "0" (0x00000000). Contextually, this is a lazy check to make sure the pointer is initiated - but not that it is in the right sector of memory, hence the problem when it points to different data booting the game up. Normally you need a D0 line to close this conditional.
B = set the offset to the value at [7 digit address after the B, plus the offset] (basically making it a pointer code)
2 = a 1 byte write of "5" (0x05) to the [7 digit address plus offset]. In this case its writing to the address stored as an offset by the B code above, plus an additional 0x2C8C to [try to] change the correct value.
D2 = close all conditionals, close/start any loop codes, and reset the offset after everything above finishes processing. Functionally here its acting as two D0 lines, but if there was additional code after, it basically would reset everything as if you were starting to write a new code.

or more simply, apply the energy you'd put into understanding the code to figuring out when to use CB's sword mode charge-slash (long hold A then hit the monster with the slash once or twice) to charge the sword to red, then store the energy in the shield with X+A. Once 5 phials are stored, enter axe mode and press X+A again to start an AED, but cancel with down+X, which will create the "red shield" effect. When that red shield is about to run out, you can quick-refill it by pressing X+A three times (store phials, shield poke, AED attempt) and cancel the final attack by attempting to block (R), which will cause you to spin and redraw the sword (normally this puts you in a weaker yellow shield mode or upgrade yellow to red, but if you already have red it resets the timer)
Do you have any guides on ASM hooking/code injection, memory editing/freezing values, and pointer patching? 🙂🙏
 
Last edited by OKAAA,

Site & Scene News

Popular threads in this forum