ROM Hack [Release] 3DS ARM Assembly Cheat Creator - A tool for creating more complex 3DS Cheat Codes

Fishguy6564

Active Member
OP
Newcomer
Joined
Apr 24, 2014
Messages
37
Trophies
0
Age
28
XP
1,222
Country
United States
I have noticed that there is a lack of information on how to make assembly based cheat codes for 3DS. Due to this inconvenience, I have created an all-purpose tool that will simplify the process of creating assembly cheats for beginners who are interested in making their own. This tool contains a branch target calculator, a conditional generator, a button activator generator, and an assembler for assembling your assembly instructions into a usable format that both CTRPF and Gateway's code handler can use. This tool is designed for more advanced cheat creators who know how to write assembly. If you are interested in learning the ARMv7 instruction set, then I advise any beginner who is interested to look into the ARM info center to learn what the instruction set is for this architecture. When extracting the file, please ensure that all of the files included are in the same directory. Of course, if you have any concerns or want to report a bug with the program, then my contact information is located in the about tab which can be found in the program. Here are a few screenshots and a video to show the program in action:

Branch Calculator
upload_2018-3-24_3-50-10.png



Conditional and Button Activator Generator
upload_2018-3-24_3-51-12.png



Assembler
upload_2018-3-24_3-49-35.png


YouTube Video of the Program in Action


Note: Do not try to compile by adding excess lines to the instructions you want to compile, or else the output code will not format properly.
If you have any further questions about the program, then feel free to post a comment about it. Other than that, I hope you enjoy this utility and I am looking forward to the cheats that will be created with this!
 

Attachments

  • 3DS ARM Assembly Cheat Creator.zip
    572.7 KB · Views: 1,194
Last edited by Fishguy6564,

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,704
Trophies
2
XP
6,270
Country
nice tool, but worth noting that conditional code for 14000214 is not 94000214??
should be something like
D3000000 14000214
90000000 yyyyyyyy
 

Fishguy6564

Active Member
OP
Newcomer
Joined
Apr 24, 2014
Messages
37
Trophies
0
Age
28
XP
1,222
Country
United States
nice tool, but worth noting that conditional code for 14000214 is not 94000214??
should be something like
D3000000 14000214
90000000 yyyyyyyy
The conditional generator only generates the conditional part of the code. I stated in the video that you have to use the D3 code type alongside it. I recommend using: "D3000000 10000000" alongside the conditionals generated with this.
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,704
Trophies
2
XP
6,270
Country
The conditional generator only generates the conditional part of the code. I stated in the video that you have to use the D3 code type alongside it. I recommend using: "D3000000 10000000" alongside the conditionals generated with this.
I see, I didn't watch the video
won't it better for the app to automatic add D3000000 address at the 1st line , like the Assembler code auto adds D2000000 00000000 at the last line?
 

Fishguy6564

Active Member
OP
Newcomer
Joined
Apr 24, 2014
Messages
37
Trophies
0
Age
28
XP
1,222
Country
United States
I see, I didn't watch the video
won't it better for the app to automatic add D3000000 address at the 1st line , like the Assembler code auto adds D2000000 00000000 at the last line?
I didn't include it because the address the user can input can be greater than 0x10000000 or it can be anything less which would not require the D3 code type if it is the only condition in your code.
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,704
Trophies
2
XP
6,270
Country
I didn't include it because the address the user can input can be greater than 0x10000000 or it can be anything less which would not require the D3 code type if it is the only condition in your code.
just thought it would be easier for noobs without knowing that need to add D3000000 on their own when the address is greater than 0x0FFFFFFF
if possible, add a check: if the address is less than 0x0FFFFFFF, skip adding D3000000, if the address is greater than 0x0FFFFFFF then add D3000000
 

Fishguy6564

Active Member
OP
Newcomer
Joined
Apr 24, 2014
Messages
37
Trophies
0
Age
28
XP
1,222
Country
United States
just thought it would be easier for noobs without knowing that need to add D3000000 on their own when the address is greater than 0x0FFFFFFF
if possible, add a check: if the address is less than 0x0FFFFFFF, skip adding D3000000, if the address is greater than 0x0FFFFFFF then add D3000000
Sounds like a good idea, I may add it in a future update.
 

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,045
Trophies
1
Location
California
XP
6,064
Country
United States
Is there a way to Convert Gateway Codes that do not work in Luma to Assembly? For example, I created Codes for RetroArch (1 Line, but they are 8Bit), or even some NSMB@-GE Codes that do not work in Luma (16-32Bit)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-