Hacking [GUIDE] GBA_Injector by adj4096

EstPC13

Well-Known Member
OP
Member
Joined
Jan 3, 2016
Messages
414
Trophies
0
Location
In your mind
XP
321
Country
Dominican Republic
@adj4096 Created this amazing tool to inject gba games, but many people don't knsize.ow to use it, so I wrote this little guide:

It's difficult if you don't know python (which I didn't, it took 3 F*CKING DAYS to figure it out):
1.Make sure Python 2.7 is installed (Or 3, might work, but i used 2.7 EDIT:3 works)
2.Download the tool:https://gbatemp.net/threads/gba-injection.405340/
3.Shift+right click when you're in the folder you extracted (the inject_gba-master folder with setup.py in it)
4.Choose "Open Command Window here"
5. In the Window, type: setup.py install (you CAN use it without installing but it doesn't work very well)
6.It should install if you have all the files required
7.Then go inside the inject_gba folder
8.Make a txt file with the following:"C:\Users\username\your\path\to\the\inject_gba.py" --inpsb "C:\Users\username\your\path\to\alldata.psb.m"--inrom "C:\Users\username\your\path\to\your\your gba rom name.gba" --outpsb "C:\Users\username\Downloads\alldata.psb.m (make sure you write that exact filename)"
9.Rename it to inject.bat (or whatever, just end it with bat, iwrotethiscrappytutorialwithacrappyexamplefile.bat)
10.It will create an alldata.psb.m and alldata.bin.
11.Copy those files to your rom's content folder.
12.Profit (or write a guide, whatever suits you)

THERE ARE SOME LIMITATIONS:
-You cant inject large roms (32 mb, but not larger) EDIT:Compatibility right now is mostly determined by savegame compatibility, not ROM size
-For some reason, rom hacks don't work (even ones that don't expand the rom)

Thanks @adj4096
 
Last edited by EstPC13,

kretosdan

Active Member
Newcomer
Joined
May 7, 2016
Messages
25
Trophies
0
XP
65
Country
Did all you wrote step by step still nothing, i'm sure it's my fault though cause things still not very clear regards GBA injection, still very important to know how since i have fun playing my old GBA games on gamepad more than wii u game !
so, would you please make idiots proof guide , like "alldata.psb.m" are we suppose to have one already and replace it with new one ? etc ..
a guid with some explaining "break down" things pleas , thank you in advance
 
  • Like
Reactions: Subtle Demise
Joined
Sep 17, 2009
Messages
2,572
Trophies
2
XP
3,770
Country
United States
When it comes to creating the batch file, if you have it in the same directory as all your other stuff, you can use the %cdir% variable instead of writing out the whole path. For example, "%cdir%\output" could be a subfolder in the working directory. Cuts down on human error and makes the batch file easier to share, without having to recreate someone else's folder structure.
Also, with batch files if you have all your stuff in the same folder, you don't even need to write out the file path.
 
Last edited by Subtle Demise,

Irastris

Well-Known Member
Member
Joined
May 3, 2015
Messages
1,116
Trophies
0
XP
883
Country
United States
If anyone is interested, you can use my personal batch file that I know works fine. Tested on 10 GBA games so far.

I have not included the alldata.bin that I personally use for legal reasons, but I will say that it is 48.0MB (50,434,048 bytes).
 

Attachments

  • GBA eShop Injector.zip
    5 KB · Views: 260

fiveighteen

Distractible Dabbler
Member
Joined
Jun 30, 2008
Messages
1,768
Trophies
2
XP
1,930
Country
United States
I just put a half-working guide into the Definitive Guide yesterday :P Unfortunately couldn't complete it because something isn't working right.

But uhh...
inject_gba Read Me said:
## Requirements:
### Python 3
No, it won't work with Python 2.
Python 3 was released in 2008, it is time to move on.

I just reinstalled Python 3.4.4 and pyYAML and I'm hoping I can get past a bunch of these errors.

EDIT: Errors cleared, time to test and continue the guide.
 
Last edited by fiveighteen,

kretosdan

Active Member
Newcomer
Joined
May 7, 2016
Messages
25
Trophies
0
XP
65
Country
If anyone is interested, you can use my personal batch file that I know works fine. Tested on 10 GBA games so far.

I have not included the alldata.bin that I personally use for legal reasons, but I will say that it is 48.0MB (50,434,048 bytes).

Thanks for your effort, still have no idea how to get (alldata.bin), any link or maybe just a hint will be appreciated , thanks !
 
Last edited by kretosdan,

fiveighteen

Distractible Dabbler
Member
Joined
Jun 30, 2008
Messages
1,768
Trophies
2
XP
1,930
Country
United States
Thanks for your effort, still have no idea how to get (alldata.bin), any link or maybe just a hint will be appreciated , thanks !
It's in your SD:\wiiu\games\Game Name [ID6]\content\ folder.

But Irastris' zip is based on an old version of the injector. I guess if it works for you, it works for you.
 
  • Like
Reactions: kretosdan

TheLittlestBowl

Well-Known Member
Member
Joined
Sep 3, 2013
Messages
119
Trophies
0
XP
1,093
Country
Canada
If anyone is interested, you can use my personal batch file that I know works fine. Tested on 10 GBA games so far.

I have not included the alldata.bin that I personally use for legal reasons, but I will say that it is 48.0MB (50,434,048 bytes).

This is just giving me the exact same alldata.bin i'm using as a base.
 
Last edited by TheLittlestBowl,
  • Like
Reactions: CeeDee

kretosdan

Active Member
Newcomer
Joined
May 7, 2016
Messages
25
Trophies
0
XP
65
Country
FINALLY this guid worked for me, i just added "echo" command at the end of my .bat file so i can keep the screen on and see whats going wrong, turn out that "for some reason i don't know " i don't have permission to write output file on C: i just changed the path and everything went great!! @EstPC13 @Irastris @fiveighteen thank you guys :)
 

fiveighteen

Distractible Dabbler
Member
Joined
Jun 30, 2008
Messages
1,768
Trophies
2
XP
1,930
Country
United States
Sorry to hijack the thread, but.. I added this to the Definitive Guide.

GBA:
Downloads:
Python 3.4.4
inject_gba
pyYAML (x86) or pyYAML (x64) - this is based on your python install, not windows install
Note: Base games may need to differ depending on their save file type. The Legend of Zelda: Minish Cap seems to work for most of them so far though. Check out the GBA Compatibility Guide.

1. Rename your game to rom.gba and put it into the "inject_gba-master" folder
2. Copy the /vol/content/alldata.psb.m and alldata.bin files from your dumped game to the "inject_gba-master" folder
3. Create a new folder called "out" at "/inject_gba-master/out/"
4. Hold shift and right-click in the white space of the "inject_gba-master" folder (not on a file) and select Open Command Window Here
5. Paste the following into the command window (first time running only):
Code:
python setup.py install

6. Paste the following into the command window (each rom):
Code:
python "inject_gba\inject_gba.py" --inpsb "alldata.psb.m" --inrom "rom.gba" --outpsb "out\alldata.psb.m"

You will see a message similar to:
Code:
Replacing 'system/roms/ABZMP0.J22.m'
Packing fileinfo struct (289 entries)

6. Open the "out" folder and move the alldata.psb.m and alldata.bin files to your new game's content folder
7. Rename the root folder to be the new game name, and create a unique [ID6] for it.
8. Copy a meta folder from another game and edit the bootTvTex.tga and iconTex.tga to change the background and icon of the game. Covers go to SD:\wiiu\apps\loadiine_gx2\covers3d\

Note: The first letter of a GBA game ID is Z, with the fourth letter being E/P/J depending on the region. I usually use the last two digits as VC, designating it's a VC game. This leaves the second and third characters for unique game naming.
1: Z (GBA)
2: Unique
3: Unique
4: E (USA), P (EUR), J (JPN)
5/6: VC
Ex: Pokemon Fire Red [ZFREVC] for GBA, Fire Red, USA, VC.
GB Injection into GBA:
Downloads:
Goomba to convert GameBoy games to GBA
Hex editor
1. Rename your file to rom.gb
1. Download and open Goomba 2.0
2. Select the goomba.gba emulator file
3. Uncheck the "splash screen?" box
4. Make the output filename rom.gba
5. Find the folder with your GB game and click Add to move it to the right side. You can add a bunch of GB games to this emulator if you'd like, but I think it looks nicer to have 1 game per VC title.
6. Click Compile at the bottom
7. Open your rom.gba in a hex editor
8. Scroll to the bottom and pad it with FF until it is 0x00FFFFF long (16,384KB)

Note: an easy way to do this is to put the cursor at the end of the file and then use the "Insert Block..." command to tell it how many bytes to add. Google can tell you how many bytes to pad it with by searching for "0x01000000 - 0xYourOriginalRomSize"

9. Save the file and continue with the normal replacement process.

Note: In my experience, game mods do not work! You'll get a message that says "This game can only be played on a GameBoy Color or GameBoy Advance"

@kretosdan, this is using ajd4096's most up-to-date version for the highest compatibility. Might want to upgrade. :)

EDIT: Oops, added the part about "python setup.py install" ... kind of important!
 
Last edited by fiveighteen,

EstPC13

Well-Known Member
OP
Member
Joined
Jan 3, 2016
Messages
414
Trophies
0
Location
In your mind
XP
321
Country
Dominican Republic
Did all you wrote step by step still nothing, i'm sure it's my fault though cause things still not very clear regards GBA injection, still very important to know how since i have fun playing my old GBA games on gamepad more than wii u game !
so, would you please make idiots proof guide , like "alldata.psb.m" are we suppose to have one already and replace it with new one ? etc ..
a guid with some explaining "break down" things pleas , thank you in advance
You're supposed to have one already, and you should replace it with the one generated

--------------------- MERGED ---------------------------

Tries this and still isn't working. Does generate the files but the files are broken including for games that are reported working on the wiki. WHAT AM I DOING WRONG SENPAI?!
OK, let's break it down then, first off, try to download a light game (the original Fe for example, there's not really a compatibility list, the wiki for s not accurate) and get Mario and Luigi Superstar Saga Loadiine ready, the best setup possible. Zelda Minish Cap also works great
 
Last edited by EstPC13,
  • Like
Reactions: kretosdan

EstPC13

Well-Known Member
OP
Member
Joined
Jan 3, 2016
Messages
414
Trophies
0
Location
In your mind
XP
321
Country
Dominican Republic
Sorry to hijack the thread, but.. I added this to the Definitive Guide.

GBA:
Downloads:
Python 3.4.4
inject_gba
pyYAML (x86) or pyYAML (x64) - this is based on your python install, not windows install
Note: Base games may need to differ depending on their save file type. The Legend of Zelda: Minish Cap seems to work for most of them so far though. Check out the GBA Compatibility Guide.

1. Rename your game to rom.gba and put it into the "inject_gba-master" folder
2. Copy the /vol/content/alldata.psb.m and alldata.bin files from your dumped game to the "inject_gba-master" folder
3. Create a new folder called "out" at "/inject_gba-master/out/"
4. Hold shift and right-click in the white space of the "inject_gba-master" folder (not on a file) and select Open Command Window Here
5. Paste the following into the command window (first time running only):
Code:
python setup.py install

6. Paste the following into the command window (each rom):
Code:
python "inject_gba\inject_gba.py" --inpsb "alldata.psb.m" --inrom "rom.gba" --outpsb "out\alldata.psb.m"

You will see a message similar to:
Code:
Replacing 'system/roms/ABZMP0.J22.m'
Packing fileinfo struct (289 entries)

6. Open the "out" folder and move the alldata.psb.m and alldata.bin files to your new game's content folder
7. Rename the root folder to be the new game name, and create a unique [ID6] for it.
8. Copy a meta folder from another game and edit the bootTvTex.tga and iconTex.tga to change the background and icon of the game. Covers go to SD:\wiiu\apps\loadiine_gx2\covers3d\

Note: The first letter of a GBA game ID is Z, with the fourth letter being E/P/J depending on the region. I usually use the last two digits as VC, designating it's a VC game. This leaves the second and third characters for unique game naming.
1: Z (GBA)
2: Unique
3: Unique
4: E (USA), P (EUR), J (JPN)
5/6: VC
Ex: Pokemon Fire Red [ZFREVC] for GBA, Fire Red, USA, VC.
GB Injection into GBA:
Downloads:
Goomba to convert GameBoy games to GBA
Hex editor
1. Rename your file to rom.gb
1. Download and open Goomba 2.0
2. Select the goomba.gba emulator file
3. Uncheck the "splash screen?" box
4. Make the output filename rom.gba
5. Find the folder with your GB game and click Add to move it to the right side. You can add a bunch of GB games to this emulator if you'd like, but I think it looks nicer to have 1 game per VC title.
6. Click Compile at the bottom
7. Open your rom.gba in a hex editor
8. Scroll to the bottom and pad it with FF until it is 0x00FFFFF long (16,384KB)

Note: an easy way to do this is to put the cursor at the end of the file and then use the "Insert Block..." command to tell it how many bytes to add. Google can tell you how many bytes to pad it with by searching for "0x01000000 - 0xYourOriginalRomSize"

9. Save the file and continue with the normal replacement process.

Note: In my experience, game mods do not work! You'll get a message that says "This game can only be played on a GameBoy Color or GameBoy Advance"

@kretosdan, this is using ajd4096's most up-to-date version for the highest compatibility. Might want to upgrade. :)

EDIT: Oops, added the part about "python setup.py install" ... kind of important!
No, get out! This is myyyy threeaaaad!! No but really, thanks for that

--------------------- MERGED ---------------------------

yes i did, it works now, thanks man :)
Great!

--------------------- MERGED ---------------------------

Sorry to hijack the thread, but.. I added this to the Definitive Guide.

GBA:
Downloads:
Python 3.4.4
inject_gba
pyYAML (x86) or pyYAML (x64) - this is based on your python install, not windows install
Note: Base games may need to differ depending on their save file type. The Legend of Zelda: Minish Cap seems to work for most of them so far though. Check out the GBA Compatibility Guide.

1. Rename your game to rom.gba and put it into the "inject_gba-master" folder
2. Copy the /vol/content/alldata.psb.m and alldata.bin files from your dumped game to the "inject_gba-master" folder
3. Create a new folder called "out" at "/inject_gba-master/out/"
4. Hold shift and right-click in the white space of the "inject_gba-master" folder (not on a file) and select Open Command Window Here
5. Paste the following into the command window (first time running only):
Code:
python setup.py install

6. Paste the following into the command window (each rom):
Code:
python "inject_gba\inject_gba.py" --inpsb "alldata.psb.m" --inrom "rom.gba" --outpsb "out\alldata.psb.m"

You will see a message similar to:
Code:
Replacing 'system/roms/ABZMP0.J22.m'
Packing fileinfo struct (289 entries)

6. Open the "out" folder and move the alldata.psb.m and alldata.bin files to your new game's content folder
7. Rename the root folder to be the new game name, and create a unique [ID6] for it.
8. Copy a meta folder from another game and edit the bootTvTex.tga and iconTex.tga to change the background and icon of the game. Covers go to SD:\wiiu\apps\loadiine_gx2\covers3d\

Note: The first letter of a GBA game ID is Z, with the fourth letter being E/P/J depending on the region. I usually use the last two digits as VC, designating it's a VC game. This leaves the second and third characters for unique game naming.
1: Z (GBA)
2: Unique
3: Unique
4: E (USA), P (EUR), J (JPN)
5/6: VC
Ex: Pokemon Fire Red [ZFREVC] for GBA, Fire Red, USA, VC.
GB Injection into GBA:
Downloads:
Goomba to convert GameBoy games to GBA
Hex editor
1. Rename your file to rom.gb
1. Download and open Goomba 2.0
2. Select the goomba.gba emulator file
3. Uncheck the "splash screen?" box
4. Make the output filename rom.gba
5. Find the folder with your GB game and click Add to move it to the right side. You can add a bunch of GB games to this emulator if you'd like, but I think it looks nicer to have 1 game per VC title.
6. Click Compile at the bottom
7. Open your rom.gba in a hex editor
8. Scroll to the bottom and pad it with FF until it is 0x00FFFFF long (16,384KB)

Note: an easy way to do this is to put the cursor at the end of the file and then use the "Insert Block..." command to tell it how many bytes to add. Google can tell you how many bytes to pad it with by searching for "0x01000000 - 0xYourOriginalRomSize"

9. Save the file and continue with the normal replacement process.

Note: In my experience, game mods do not work! You'll get a message that says "This game can only be played on a GameBoy Color or GameBoy Advance"

@kretosdan, this is using ajd4096's most up-to-date version for the highest compatibility. Might want to upgrade. :)

EDIT: Oops, added the part about "python setup.py install" ... kind of important!
Wait.... The version you're using still uses the -z variable, the new one is much simpler
 

Irastris

Well-Known Member
Member
Joined
May 3, 2015
Messages
1,116
Trophies
0
XP
883
Country
United States
This is just giving me the exact same alldata.bin i'm using as a base.
I suppose it doesn't matter since it turns out my setup is outdated, but I forgot that the batch won't do anything on your system if your Python 2.7 executable isn't renamed to python27.

It's setup like that on my end because I have both Python 2.7 and 3 on my system.

If you still want to use my setup for some reason, open the batch in Notepad and edit the following line:
Code:
python27 py/inject_gba.py -a "%%a.bin" "%%a" >nul
Into this:
Code:
python py/inject_gba.py -a "%%a.bin" "%%a" >nul
And save, then run.

But as mentioned by fiveighteen, my setup is outdated, so you'd be better off using his guide.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +2
  • BakerMan @ BakerMan:
    @LeoTCK is your partner the sascrotch or smth?
  • Xdqwerty @ Xdqwerty:
    Good morning
  • Xdqwerty @ Xdqwerty:
    Out of nowhere I got several scars on my forearm and part of my arm and it really itches.
  • AdRoz78 @ AdRoz78:
    Hey, I bought a modchip today and it says "New 2040plus" in the top left corner. Is this a legit chip or was I scammed?
  • Veho @ Veho:
    @AdRoz78 start a thread and post a photo of the chip.
    +2
  • Xdqwerty @ Xdqwerty:
    Yawn
  • S @ salazarcosplay:
    and good morning everyone
    +1
  • K3Nv2 @ K3Nv2:
    @BakerMan, his partner is Luke
  • Sicklyboy @ Sicklyboy:
    Sup nerds
    +1
  • Flame @ Flame:
    oh hi, Sickly
  • K3Nv2 @ K3Nv2:
    Oh hi flame
  • S @ salazarcosplay:
    @K3Nv2 what was your ps4 situation
  • S @ salazarcosplay:
    did you always have a ps4 you never updated
  • S @ salazarcosplay:
    or were you able to get new ps4 tracking it \
    as soon as the hack was announced
  • S @ salazarcosplay:
    or did you have to find a used one with the lower firm ware that was not updated
  • K3Nv2 @ K3Nv2:
    I got this ps4 at launch and never updated since 9.0
  • K3Nv2 @ K3Nv2:
    You got a good chance of buying a used one and asking the seller how often they used or even ask for a picteof not updating just tell them don't update
    K3Nv2 @ K3Nv2: You got a good chance of buying a used one and asking the seller how often they used or even ask...