ROM Hack GBAATM-Rebirth (GBA Auto Trainer Maker): A new hope

booshankles

Member
Newcomer
Joined
Jun 12, 2021
Messages
6
Trophies
0
Age
32
XP
105
Country
United States
im getting crashes when trying to patch anything using linux mint, i followed the install instructions down to a t including qt to work on 22.04 ubuntu, i have the proper cheat codes, proper format, proper perms and everything but once i hit patch game, it just closes out with nothing done, any help would be great
 

Manu10MGG1

Active Member
Newcomer
Joined
Nov 2, 2022
Messages
38
Trophies
0
Age
28
XP
77
Country
Mexico
i know this is old but itried to put gameshark codes to my ez flash and got nothing to work just crash
here is my code

Walk through Walls
7881A409 E2026E0C
8E883EFF 92E9660D

thanks
Post automatically merged:

i somehow managed to work but trhing to show the code it show the entire code any help
 

Attachments

  • Screenshot 2022-12-08 175541.png
    Screenshot 2022-12-08 175541.png
    582.4 KB · Views: 64
Last edited by Manu10MGG1,

Manu10MGG1

Active Member
Newcomer
Joined
Nov 2, 2022
Messages
38
Trophies
0
Age
28
XP
77
Country
Mexico
its gameshark v3 i look on the net and there is no master code for this one
What kind of cheat it is? Because based on the type are required more data to insert in the cheatbox area.
here is my file
 

Attachments

  • pokemon emerald.txt
    60 bytes · Views: 50
Last edited by Manu10MGG1,

mte90

Well-Known Member
OP
Newcomer
Joined
Mar 28, 2020
Messages
98
Trophies
0
Age
33
Website
daniele.tech
XP
388
Country
Italy
The code for cheats of this tool is the same of the original tool so if doesn't work on both it is probably the cheats that are not fine. I suggest to you to try other cheats.
 

DavidGba

Member
Newcomer
Joined
Feb 5, 2023
Messages
5
Trophies
0
Age
36
XP
30
Country
Switzerland
im getting crashes when trying to patch anything using linux mint, i followed the install instructions down to a t including qt to work on 22.04 ubuntu, i have the proper cheat codes, proper format, proper perms and everything but once i hit patch game, it just closes out with nothing done, any help would be great

-- Post a complete code example of what cheats you are using exactly (as text).
-- Post the Checksum of the rom.
Post automatically merged:

its gameshark v3 i look on the net and there is no master code for this one

here is my file

You have to use codebreaker codes

Example for pokemon emerald:

infinite PP
320240a8 0021
320240a9 0021
320240aa 0021
320240ab 0021
 

timidIntensegirl

Member
Newcomer
Joined
Feb 27, 2023
Messages
11
Trophies
0
Location
NY
XP
186
Country
United States
Well it is the 4th may so this title is kind of necessary...
It is a long post :-)

What is GBAATM:

Basically is a generator or patcher of GBA roms that add a trainer at rom start to enable the cheats. Also add slow motion support and some button combination to reboot the rom and renable cheats.
This is possible because the tool scan the rom to find hooks or memory address unused where inject the new assembly code and generating a new rom file.
Also, the tool support 2+1 cheatcodes type: raw, codebreaker and gameshark (this one is not enabled in some builds).
From a developer point of view the tool is an Ui where the users set various things like the cheats or the background image, cheatcodes converter and generate a new rom.
Why GBAATM-Rebirth (story):

It is a refactoring of the original GBAATM tool by Cracker that is compatible only with Windows.
Also, the purpose is to add support to other platform (I am working on this new project on Linux), create a new UI and add maybe new features.
I have GBA that since a year I am using it (backlit modded, new shell, everdrive the usual things), an original atari 2600 and a PSC modded.

Everything started in this forum where I found around the end of March the thread from the author of tool and found that it was still active. I already did months ago a porting of another tool for rom patching to Linux https://github.com/Mte90/Game-Genie-Good-Guy (short story compared to this one at this link), in Italy in that period there was the quarantine/lockdown (finished today) and I chosen to invest my time on doing something that for me with my work was difficult to achieve. Study reverse engineering and how works assembly, maybe also about GB development (this free book was very helpful https://github.com/ahrnbom/gbapfomgd).
Honestly I prefer the trainer inside the rom or the rom patched for that cheat so with other emulators and so on I can just play.

So I asked with a pm in this forum to Cracker if it was possible to get the original source code and do a new version of the tool, since that day I kept updates about it in the original thread.
Initially I didn't have the source code, so I tried on decompiling/reverse engineering the tool but with my missing experience was very hard. Also because I didn't know assembly and this project was very old.
When Cracker accepted and sent to me the code started everything. The code was written around 2008/2010, convert the project files from Microsoft Developer Studio 6 to Visual Code wasn't working. So I had to get a Windows XP Virtual Machine to compile the code and helping me with migrating and understand what was doing.


Probably I was very spammy on the thread with updates about development also because this was the first real C++ project I worked on. I never developed in C++ also if studied it a bit.
During the quarantine I studied a bit various open source GBA emulators and did some patches, you can find some info about it on my FOSS monthly reports of March and April (I usually do that since few years, I am active in the open source world).

The project wasn't easy initially because I had to integrate a very old codebase with modern C++ compilers, with a new framework (Qt that I already use a lot with Python). At same time I was busy with other open source projects and work but at the end I did it.


Tools used during development/experimenting:[/SIZE]

During my experimenting I tried to get the assembly code from a rom but is not easy at all, Ghidra is not very friendly to get that as just txt to study and also radare. So my first thoughts was to get a GBA emulator and use it to generate that code but no one does. Luckyly eggvance gba emulator author was very friendly and did it for me a patched version and was very helpful to see the difference (original/rebirth rom generated instead of a full binary diff) during the debug, this rom to assembly is available at this link. Of course doesn't include the memory address used because is not a real emulator.
Virtualbox for the virtual machine with Microsoft Develop Studio 6, on Linux Qt Creator with visualbindiff, okteta, kompare, this disassembler and a lot of time.
Status:
The tool is not yet finished but right now can add the trainer and the rom generated is 1:1 with the same data of the original Windows version.
I chose to start a new thread because I consider the project as working and official and not just experimenting.

Right now before to consider it complete I need to improve the code quality, some bugfixes from the migration of this old codebase and evaluate new features.

There is also the feature of the slow motion that is not working yet. I was thinking if drop that feature now because all the emulators now support it and probably on a real GBA this is not required anymore.
Anyway when everything will be done I will build a version also for Windows (I have to see for Mac OSX) but I will keep posting updates.
Thanks:

To Cracker for sharing the original source code that is available on GitHub if someone is interested, but for bugs and feature requests I suggest using the GitHub project page.
Also thanks to this project I can study how works C++, knows more assembly and how compiled languages are very a mess (if you have no patience).
Thanks also to you for reading :-D

PS: sorry for my English if wasn't good.

mte90,
I just learned of this project and thought it was super awesome; nicely done! Looking forward to future updates!
 

mte90

Well-Known Member
OP
Newcomer
Joined
Mar 28, 2020
Messages
98
Trophies
0
Age
33
Website
daniele.tech
XP
388
Country
Italy
Thanks! Just wondering how I may do so? regarding this information thankS!
Sorry I saw now all those replies, i am not following so much this forum (busy in much other stuff...)

This project just modifies the rom file adding the trainer in the rom itself, so it works everywhere gba roms works.

mte90,
I just learned of this project and thought it was super awesome; nicely done! Looking forward to future updates!

Thanks, but I don't think that there will so many updates as I wrote in the repository on https://github.com/Mte90/GBAATM-Rebirth/issues/18#issuecomment-1473670103 I never understood how the code that is inserted in the rom works.
The only things I can do is just improve the UI as I did with the project and add support for Linux/OSX too.

For anyone with interest or knowledge in C++ want to help right now seems that only on windows crash with specific cheat codes but on linux doesn't happen.
My thoughts are that as this project changed the original Visual C++ 97 code to be able to compile in modern C++ versions probably something doesn't like it on Windows, but I am not using that operative systems so I can't debug further.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    From what people say pvp isn't even worth it
  • BigOnYa @ BigOnYa:
    I just been playing offline, and they give you a few bots here n there on your team to help battle. I don't think it's as funny as the other games tho, more battle oriented than humor, which kinda sucks, but I'm still early in it
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, doesnt the game have a campaign mode?
  • BigOnYa @ BigOnYa:
    Yea, and co-op, but you can also start a pvp session and battle just with friends. You get special skill cards (powers) the more you play. And higher value cards, but you can only enable so many cards at a time.
  • K3Nv2 @ K3Nv2:
    If you can find enough for it
  • BigOnYa @ BigOnYa:
    Toilet paper is considered the money, you collect and buy stuff with TP, kinda funny. Graphics are def better than the other games tho, I think they used Unity 5 engine.
  • Psionic Roshambo @ Psionic Roshambo:
    Look if I zoom in enough I can see the herpes!!!
    +1
  • BigOnYa @ BigOnYa:
    In fact I'm gonna go make a drink, roll a fatty n play some, good night to all!
    +2
  • Xdqwerty @ Xdqwerty:
    I bet most people at the time still watched it in black and white
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Many of them did before colour television was common.
  • SylverReZ @ SylverReZ:
    Likely because black and white TV was in-expensive.
    +1
  • K3Nv2 @ K3Nv2:
    It certainly wasn't inexpensive it cost the same as a new car back then
  • K3Nv2 @ K3Nv2:
    How much did a 1965 color TV cost?

    For example, a 21-inch (diagonal) GE color television in 1965 had an advertised price of $499, which is equal to $4,724 in today's dollars, according to the federal government's inflation calculator.
    +1
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, take into consideration how economy was back then
  • K3Nv2 @ K3Nv2:
    Yeah that's why they listed inflation rates
  • Xdqwerty @ Xdqwerty:
    Sorry didnt read that part
  • BakerMan @ BakerMan:
    @LeoTCK don't worry i knew he was joking
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    My first color TV was like 1984 or something lol
  • Psionic Roshambo @ Psionic Roshambo:
    19 inches it was glorious lol
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, If it doesn't fit, you should've gotten one smaller lol
    +1
  • SylverReZ @ SylverReZ:
    If a racoon can fit up to 8-inches then so be it
    SylverReZ @ SylverReZ: If a racoon can fit up to 8-inches then so be it