ROM Hack DS Auto Trainer Maker (DSATM)

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Updated to v0.3.
biggrin.gif
 

bladestriker666

Member
Newcomer
Joined
Aug 13, 2007
Messages
15
Trophies
0
XP
57
Country
Canada
hey cracker, i understand how to get the dumps and all that but, whats the best way to pick a location from the list the dumps give? i seem to keep choosing ones that don't work.

i decided to try it on a different game this time, using some of the things i got from the dump, as well as other ones i tried on the soma bringer game, yet i have not found a working one.

so is there some kind of trick to picking out the right one after you have used the dump to look at the possibilities?

the game i just tried was final fantasy crystal chronicles, the only code i used was your fix code to see if i had figured things out better. guess i still dont know exactly what im doing. sorry for all the questions, btw ^^;
 
P

pasc

Guest
So, now for a noob question: Does this allow us to convert actionreplay codes to trainers ? If so: YEAH !, and... how exactly ? Does copy and paste in a textfile reach ?

Wow, awesome work ! Great, you want a cookie ? ^^
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
bladestriker666 said:
hey cracker, i understand how to get the dumps and all that but, whats the best way to pick a location from the list the dumps give? i seem to keep choosing ones that don't work.

i decided to try it on a different game this time, using some of the things i got from the dump, as well as other ones i tried on the soma bringer game, yet i have not found a working one.

so is there some kind of trick to picking out the right one after you have used the dump to look at the possibilities?

the game i just tried was final fantasy crystal chronicles, the only code i used was your fix code to see if i had figured things out better. guess i still dont know exactly what im doing. sorry for all the questions, btw ^^;

0x23fe000, 0x237fc00, 0x23b0000 are usually good places to try. If you're having problems finding a good area of RAM to place the trainer then it might help to get multiple dumps and narrow it down -- especially at different times in the game (before the title menu, at the title menu, in game, in the in game menu, etc).

Don't worry about the questions. I'm glad someone is getting some use out of my program.
smile.gif
 
P

pasc

Guest
OK... I think this program is really good. Just one question, I don't know if you have ever done GBA related stuff, but for GBA Cheat purposes there is just GBASharky (which has no turn on off cheats option) and Trainers.

Just out of curiousity: Would it be possible to do a trainer maker for GBA Games ?
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
pasc said:
OK... I think this program is really good. Just one question, I don't know if you have ever done GBA related stuff, but for GBA Cheat purposes there is just GBASharky (which has no turn on off cheats option) and Trainers.

Just out of curiousity: Would it be possible to do a trainer maker for GBA Games ?

That's on my list of things to do.
smile.gif
After I add support for at least the usual code types to DSATM (nearly there, I only think that slide codes and memory copy are the only ones missing) then I plan on doing some research into the best hooking methods in GBA. GABSharkY is great but it did leave a lot to be desired since it only supported 8bit writes to RAM which left out a lot of cheat codes. Even a button de/activator would immensely improve upon it.
 

arctic_flame

GBAtemp ATMEGA8 Fan
Member
Joined
Nov 4, 2006
Messages
2,835
Trophies
0
Age
32
Location
England land
XP
168
Country
Just curious, can you hook animal crossing? I have the original to play with, but it might help people who keep asking why Animal Crossing Cheats don't work on their flashcarts.
 

Salamantis

Well-Known Member
Member
Joined
Feb 20, 2007
Messages
1,942
Trophies
0
XP
397
Country
Canada
arctic_flame said:
Salamantis said:
Can anyone clear me up on what this does? I don't really understand what's it do.

Enables AR codes on any game/flashcart, even if the flashcart doesn't support cheats.

Ah, thanks! I won't need to use this
smile.gif
But good job cracker anyways!
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Normmatt said:
Any chance this is going to be open sourced, I could possibly help with some optimizations for some code types.

Well for right now I'm not planning on doing open source. Maybe after I'm done with my 'playing'.
smile.gif
 

Hyperlisk_

Well-Known Member
Member
Joined
Jan 30, 2008
Messages
187
Trophies
0
XP
102
Country
United States
cracker said:
I just did some quick searching and found out that MS graced Vista users by giving them the 'feature' of no drag and drop (for real that's what they said!). To get around this you can either hold shift, right click the .nds, and choose Copy as Path then paste this into the console window (click the icon in the top left corner of the console window -> Edit -> Paste in XP but hopefully is the same in Vista). Or you can manually type in the file name (including the full path if it is not in the same directory as DSATM). And make sure you surround the name with quotes or it won't get extracted!
I read your reply awhile, but this thought just popped into my head right now for some reason. Can't you just check the arguments passed to the program? Thus if it finds the file in the arguments, then it can just skip that step? Just a thought.
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Updated to v0.6. Almost all code types are implemented.
biggrin.gif


Hyperlisk_ said:
cracker said:
I just did some quick searching and found out that MS graced Vista users by giving them the 'feature' of no drag and drop (for real that's what they said!). To get around this you can either hold shift, right click the .nds, and choose Copy as Path then paste this into the console window (click the icon in the top left corner of the console window -> Edit -> Paste in XP but hopefully is the same in Vista). Or you can manually type in the file name (including the full path if it is not in the same directory as DSATM). And make sure you surround the name with quotes or it won't get extracted!
I read your reply awhile, but this thought just popped into my head right now for some reason. Can't you just check the arguments passed to the program? Thus if it finds the file in the arguments, then it can just skip that step? Just a thought.

When I get all the code types implemented I'll probably get to it. Command line arguments are annoying to work with.
rolleyes.gif
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Thanubis said:
I just got an assembly code error. I was using DSATM v0.6.

trainer.asm said:
stmdb r13!,{r0-r7}ldr r1,address0
ldrh r1,[r1]
ldrh r2,lval0+2
ldrh r0,lval0
and r1,r1,r2
cmp r1,r0
bne label0
ldr r1,address1
ldrh r1,[r1]
ldrh r2,lval0+2
ldrh r0,lval0
and r1,r1,r2
cmp r1,r0
bne label0
mov r0,#0x3
ldr r1,address0
strb r0,[r1]
mov r0,#0x3
ldr r1,address1
strb r0,[r1]


label0:

label1:

ldmia r13!,{r0-r7}
ldr r15,irqjump

address0: .long 0x21F2320
address1: .long 0x21F2328
irqjump: .long 0x37FB418
lval0: .long 0xFFFF0000
Here's an image of the whole process again.
itukdyhtrgnn9.png
I also have a question about the codes I just used. I copied these two codes directly out of rayder's cheat database.

921F2320 00000000
221F2320 00000003
D2000000 00000000

921F2328 00000000
221F2328 00000003
D2000000 00000000
I assumed that since the third line is the same for both, one of them can be deleted. I also assumed that the order of the lines does not matter. This is the code I have in the .txt file. Will this cause problems?
921F2320 00000000
921F2328 00000000
221F2320 00000003
221F2328 00000003
D2000000 00000000

Thanks for the bug report. It happens when you don't have a cheat description before the codes. So for now you will be ok if you just had a cheat description and I'll get it fixed for the next release.

For the question about the two similar codes usually you will not want to combine them together. The first code tests 21F2320 and the second one tests 21F2328.

So in pseudocode what you are telling it to do is:

if (memory @ 212F2320 == 0) {
212F2320=3;
212F2328=3;
}

It would work fine if 212F2320 was reaching 0 repeatedly but if 212F2320 was always more than 0 then 212F2328 would never be reset to 3.
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Updated to fix some bugs and optimize the code->asm engine as well as optimizing the resulting trainer asm.

The D codes are being a pain in the ass and the cause of most of the problems. So bear with me as I try to stamp the bugs out.

Note that long codes will result in an assembler error "Bad immediate value for half-word offset". I'm trying to figure out why this is happening but until then you will have to use less codes if you get this error.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: People's funny bones are the same taste indeed