ROM Hack GBA Auto Trainer Maker(GBAATM)

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
That probably explains the problems you are having. The cht format is pretty crappy and I have seen so many incorrect codes for them that it is sad. I will test to see if there is any problem importing the codes from the cheats to rule out anything on the side of GBAATM and let you know what I find.

Edit:
It appears to be a problem with multibyte character strings that GBAATM isn't liking. As a workaround you need to rename all of the code descriptions:

Code:
[µÚÒ»HP]
ON=44D2,27,0F
becomes

Code:
[Max HP]
ON=44D2,27,0F
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
I fixed the crash on importing CHTs with non-English labels. You must change the label description though if you want to use a menu or else the non-English characters won't display == no code label.
 

kuwanger

Well-Known Member
Member
Joined
Jul 26, 2006
Messages
1,510
Trophies
0
XP
1,783
Country
United States
I think I've noticed a small bug with conditional codebreaker codes. If have a cheat code block that happens to have multiple conditional codes, it looks like only the first one works. For example, for Summon Night: Swordcraft Story, there's this cheat code block:

Code:
Walk Through Walls [Hold R]
74000130 02DF
E200A982 FFF6
74000130 02EF
E200A982 0010
74000130 02BF
E200A984 FFF6
74000130 027F
E200A984 0010
74000130 029F
E200A982 FFF6
74000130 029F
E200A984 FFF6
74000130 025F
E200A982 FFF6
74000130 025F
E200A984 0010
74000130 02AF
E200A982 0010
74000130 02AF
E200A984 FFF6
74000130 026F
E200A982 0010
74000130 026F
E200A984 0010

which is clearly just a bunch of reads from the keyinput register to match for Left+R, Right+R, etc and to add to the X, Y, or both coordinates for diagonal movement. With the above code block, only the first cheat code (Left+R) works. However, if you split it up like this:

Code:
Walk Through Walls Left [Hold R]
74000130 02DF
E200A982 FFF6

Walk Through Walls Right [Hold R]
74000130 02EF
E200A982 0010

Walk Through Walls Up [Hold R]
74000130 02BF
E200A984 FFF6

Walk Through Walls Down [Hold R]
74000130 027F
E200A984 0010

Walk Through Walls Left+Up 1 [Hold R]
74000130 029F
E200A982 FFF6

Walk Through Walls Left+Up 2 [Hold R]
74000130 029F
E200A984 FFF6

Walk Through Walls Left+Down 1 [Hold R]
74000130 025F
E200A982 FFF6

Walk Through Walls Left+Down 2 [Hold R]
74000130 025F
E200A984 0010

Walk Through Walls Right+Up 1 [Hold R]
74000130 02AF
E200A982 0010

Walk Through Walls Right+Up 2 [Hold R]
74000130 02AF
E200A984 FFF6

Walk Through Walls Right+Down 1 [Hold R]
74000130 026F
E200A982 0010

Walk Through Walls Right+Down 2 [Hold R]
74000130 026F
E200A984 0010

then all the directions work.

So, am I just horribly mistaken on this or is this a bug? Is there any chance you'd correct for it?

Also, out of curiosity, do "D000020 xxxx" style, "simple joker" codes work basically as equivalent to 74000130 xxxx codes, where xxxx is equal to 0x3ff-xxxx?
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
kuwanger said:
I think I've noticed a small bug with conditional codebreaker codes. If have a cheat code block that happens to have multiple conditional codes, it looks like only the first one works. For example, for Summon Night: Swordcraft Story, there's this cheat code block:

Code:
Walk Through Walls [Hold R]
74000130 02DF
E200A982 FFF6
74000130 02EF
E200A982 0010
74000130 02BF
E200A984 FFF6
74000130 027F
E200A984 0010
74000130 029F
E200A982 FFF6
74000130 029F
E200A984 FFF6
74000130 025F
E200A982 FFF6
74000130 025F
E200A984 0010
74000130 02AF
E200A982 0010
74000130 02AF
E200A984 FFF6
74000130 026F
E200A982 0010
74000130 026F
E200A984 0010

which is clearly just a bunch of reads from the keyinput register to match for Left+R, Right+R, etc and to add to the X, Y, or both coordinates for diagonal movement. With the above code block, only the first cheat code (Left+R) works. However, if you split it up like this:

Code:
Walk Through Walls Left [Hold R]
74000130 02DF
E200A982 FFF6

Walk Through Walls Right [Hold R]
74000130 02EF
E200A982 0010

Walk Through Walls Up [Hold R]
74000130 02BF
E200A984 FFF6

Walk Through Walls Down [Hold R]
74000130 027F
E200A984 0010

Walk Through Walls Left+Up 1 [Hold R]
74000130 029F
E200A982 FFF6

Walk Through Walls Left+Up 2 [Hold R]
74000130 029F
E200A984 FFF6

Walk Through Walls Left+Down 1 [Hold R]
74000130 025F
E200A982 FFF6

Walk Through Walls Left+Down 2 [Hold R]
74000130 025F
E200A984 0010

Walk Through Walls Right+Up 1 [Hold R]
74000130 02AF
E200A982 0010

Walk Through Walls Right+Up 2 [Hold R]
74000130 02AF
E200A984 FFF6

Walk Through Walls Right+Down 1 [Hold R]
74000130 026F
E200A982 0010

Walk Through Walls Right+Down 2 [Hold R]
74000130 026F
E200A984 0010

then all the directions work.

So, am I just horribly mistaken on this or is this a bug? Is there any chance you'd correct for it?

Also, out of curiosity, do "D000020 xxxx" style, "simple joker" codes work basically as equivalent to 74000130 xxxx codes, where xxxx is equal to 0x3ff-xxxx?

I think it is a side effect of how I made conditional codes work -- for nested conditionals (which I don't think CB or GSSP could use but is useful IMO). I will add in some code to make checks on the same address being tested against different values work properly when I can.

Yes it is the same as testing 0x4000130.
 

felixsrg

Temp's Ghost
Member
Joined
Aug 20, 2008
Messages
282
Trophies
1
Location
Here and there
XP
2,285
Country
Colombia
Hi, I have this codebreaker for Golden Sun: The Lost Age, the code is to change the main character sprite for another. I don't really know which format this code is, but I think it is codebreaker v1 or v2, sorry if this was asked before, but, is there a way to convert this code to make it work with GBAATM?

Code:
Play as Isaac
759BE646 09FCAF90
FC424CBE 61B1EE8C
DD9FA7CB 542FB102
E3E66FC2 19D39BEE
3E5DD090 1A94184F
1E27D83B BBFB6923
2D190863 3F2DC15A
05561FFC 8F99A9F3
7C639D9F 4C442A5D
385E08CB 3752785D
810D05D2 1854C483
1E27D83B BBFB6923
EDIT: I tried with GBACCC but it only says "Invalid code type" and ""Can't convert code type, following code may not work right" in some lines.

Thanks in advance.
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
I translated the code and it _should_ work:

Code:
Play as Isaac Part 1
7300132A 2100
33002100 0000
33002107 0003
83002108 7478
8300210A 0830
8300210C 37F0
8300210E 0830
Play as Isaac Part 2
720341E2 4FB8
32034FB8 0000
32034FBF 0003
82034FC0 7478
82034FC2 0830
82034FC4 37F0
82034FC6 0830
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
I will take a look at it when I get time. Did you leave in the second label as it is important to it working properly (re the reply previous to yours about conditional codes).
 

felixsrg

Temp's Ghost
Member
Joined
Aug 20, 2008
Messages
282
Trophies
1
Location
Here and there
XP
2,285
Country
Colombia
I'm not really good with the code structure but I know it takes all the values of the main character sprites and change them with the sprites of Isaac, I know the sprites must change directions like up, left, down and right, but I'm not really sure if it's the same as the code from the reply previous to mine.
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Just an update to let you know I am still working on changing the code for activators. It will be a bit longer before I am done...
rolleyes.gif
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
I am nearly done but I want to do some testing with conditional codes and trainer menus just to make sure there weren't any bugs created...
rolleyes.gif
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
Ok it is working as it should now with multiple activators in one cheat code.

While testing I found out I had mistakenly changed added 2 bytes to each of the addresses being tested in the cheat code so here is the working one:
QUOTE said:
Play as Isaac
73001328 2100
33002100 0000
33002107 0003
83002108 7478
8300210A 0830
8300210C 37F0
8300210E 0830
720341E0 4FB8
32034FB8 0000
32034FBF 0003
82034FC0 7478
82034FC2 0830
82034FC4 37F0
82034FC6 0830
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Could you please make it memorize the last used directory for it's dialogues?


EDIT: Also, it gives a warning and then says it trims the Mother 3 rom (which is 32MB) which concerns me since it says it could mess it up. Any way you can make the trimming optional?
EDIT: Same with Riviera: The Promised Land, and with both of these there's graphical glitches in the trainer menus even after removing most of the codes and getting rid of the mojibake.
 

cracker

Nyah!
OP
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
In my next update I will add an option to remember the working directory.

Unfortunately, there are a handful of games for GBA that are 32MB exactly (some padded; others not).The problem is that the addressing range for GBA is only 32MB by design so everything must fit in the 32MB space in order for the game to run. A possible method around this would be to find garbage data inside 32MB games to overwrite at but would possibly create them same outcome -- corrupted graphics,etc.
 

dragon574444

Well-Known Member
Member
Joined
Dec 25, 2007
Messages
287
Trophies
0
Age
31
Website
Visit site
XP
196
Country
United States
I'm glad to see this program is still being supported! I've used GABSharky in the past successfully with other games, I wasn't aware of this program. I am having some problems though.

I'm trying to add 2 cheats to 1141 - Final Fantasy Tactics Advanced (U)

Enable Code
1000048A 0007
000037AE 000A


No Laws In Battle
42003C34 0000
00000003 0002

I'm entering them in on one line, lika so:

1000048A 0007 000037AE 000A 42003C34 0000 00000003 0002

I have the "Enable/Disable" Box checked
Trainer box checked (I'm not sure what it means by trainer)
Slow Motion unchecked

"Execute" is set to the default 1
"VBLANK" is checked
"RAM to use" is set to the default "0x3007FA0"
"Code Type" is set to Codebreaker GS v3

I select the input rom, output location, and click "Patch"
It says Space was found at 0x8FFF800
IRQ found at 0x8000FC
"The patched game was written succefully"



It's not working though. In battles, I still have laws. I am currently using VBA to test the game. I plan on using the game on my EZ Flash 3-in-1, I'm using VBA to test so I don't need to plug in my SD card and wait for it to flash to test it.

The codes are good, using VBA's cheat menu, I have gotten the codes to work correctly, but the codes don't work when patched into the ROM via GBAATTM 1.9.9.5

I'm on Windows 7 32-bit if it makes any difference.


Thanks for the help, I apologize if this has been covered in this thread.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/ZpMdTnZkpRQ?si=Q2MI4UugoSYifY7G Neat