ROM Hack [Release] Ultimate GBA VC Injector for 3DS

  • Thread starter Thread starter Asdolo
  • Start date Start date
  • Views Views 1,479,886
  • Replies Replies 1,519
  • Likes Likes 135

Add the feature to patch already existing GBA CIAs to modify ghosting and color options?

  • Yes

    Votes: 73 82.0%
  • No

    Votes: 2 2.2%
  • I don't care!

    Votes: 14 15.7%

  • Total voters
    89
  • Poll closed .
M2 developed those Sega 3D remasters (arcade and Mega Drive) as well as the Game Gear VC emulator / front end.

I would imagine that if any of the official GG VC releases had wireless local multiplayer then that feature would remain specific to that particular release because of additional coding handled by the devs to make it work.

As for injecting other Mega Drive or Arcade roms into any of the Sega 3D Classics releases - this will absolutely 100% never happen because every title had both its game and emulator code optimised and tweaked to the nth degree in order to produce the results you see. The biggest misconception about these releases are that they're similar to any of the VC titles. There's waaay more than ROM injection involved with those.
Some games like Sonic Drift 2 have local play on the 3DS. Also, I'm probably suggesting an Ultimate SG/MD VC Injector for 3DS (well, not actually SG/MD VC, but more like SG/MD 3D Classics).
 
Some games like Sonic Drift 2 have local play on the 3DS. Also, I'm probably suggesting an Ultimate SG/MD VC Injector for 3DS (well, not actually SG/MD VC, but more like SG/MD 3D Classics).
The problem is injections into Sonic 2 basically bug the whole system out into a state where if you play anything else after exiting the game the console crashes. It's really not worth the effort, use RetroArch Picodrive 1.3.3 if you want genesis.
 
The problem is injections into Sonic 2 basically bug the whole system out into a state where if you play anything else after exiting the game the console crashes. It's really not worth the effort, use RetroArch Picodrive 1.3.3 if you want genesis.
Well the console doesn't really crash, it hangs on the 3DS loading screen.
 
New version 1.3d!

What's new:
+ Added: Native SRAM patching. Now you don't need gbata to patch your roms!
+ Added: Native IPS patching. Now you can apply an IPS patch directly before making the CIA.
* Fixed the issue with SRAM patched roms.

I1Dyaam.png


Thanks to @CheatFreak47 and @Cornholio309 for feedback, reports, help, information, resources and testing!

Links in the OP!
 
Last edited by Asdolo,
Okay, i have a few things to say, it may not be about GBA specific, it is about injections. So i will proceed.

I was curious so i did some test with the cia of sonic drift 2 GG and SMB3 NES

First i tried the injector program on a GG rom, is known as Ninku 2. It has multiplayer. So i tried to inject it into a sonic drift 2 cia here is the process.

Used program to create CIA of ninku 2 rom > Used a program called 3DStool hackpack (I think by asia81) To extract the files from both Sonic Drift 2 clean cia and Ninku 2 injectec cia > Replaced the rom file in the extracted Ninku 2 cia with sonic drift 2 rom. (I simply renamed the file and deleted the original.) > Rebuild cia.

That was what i thought would be possible. It didn't work, it loaded the game but then kick you back to home menu with a error.

I tried a romhack known as Super mario bros 3 Mix. It works as a injected cia :) (Good thing too) But a few others i did try didn't. Rockman 4 Minus infininty didn't work and neither did Zelda, legend of link. (I assume either the rom was too big or because of the MMC5 mapper the hacks used wasn't supported by VC) A unlicensed game (NJ063 Final fantasy VII [C!]) The program refused to inject. The files were like so.

Rockman 4 minus infinity = 1MB + MMC5 (According to the notes) Rom crashes in VC game, Grey screen, home to quit
Rockman 4 Minus infinity = 1MB + MMC3 (According to the notes) Works, didn't test long, but no problems, playable.
The rom hack is of megaman IV JAP version, and has both MMC3 and MMC5 support. I don't think there was ever offically made a published MMC5 game. Kirby's adventure, is a MMC3 game as far as i know.

Zelda Legend of Link = 2MB + Converted from MMC1 to MMC5 (According to the notes) did not work, Same as above for Rockman 4 minus infinity
Super mario bros 3 mix = Works, no known problems. Uses MMC3 (According to notes) :)
NJ063 - Final Fantasy VII C! = Injector refuse to accept 2 MB (No other known details)

Since Super mario bros 3 mix worked, the only thing i was curious about was the wireless play. Since is a hack of super mario bros 3 i used that cia for injection. SMB3 has wireless play, by using download play, you can download the game to another 3ds to play 2 player. :P

The process follows the same process above as the GG injection, but with Super mario bros 3, and the rom hack of the injected cia, but little bit more was done since i had tried to get it to work with download play.

Used hack pack to extract the CIA of SMB3 > the extracted cia has a downloadplay folder with another cia in it. (The title id is exactly identical aside from one zero having a one in place of it, might be reference to download content. "0004000100036E00.cia") > Extracted the cia file > Replaced the rom file by renaming the rom hack inside the injected cia file the same name, and copy over. I also deleted a patch file. (I found it was causing the game not to work at first, is only found in offical VC files. So i deleted it to make the game functional) > Repacked the cia > Replaced the cia in the download play folder with the newly made one > Replace the orignial SMB rom with the romhack one. (Again, i deleted the patch file to make rom hack playable) > repackaged the rom. > Installed.

The game works, after installing the game works normally, so i tried the downloadplay. The download time was supicious for being too fast, after it was completed the screen freezes to black on the download play system. It didn't work. I compared it to the original SMB3 Cia and the download was much slower but worked normally.

So the conclusion, my idea didn't work. The gamegere replacement for wireless play didn't work and neither did the rom hack for snes replacement for download play work, and some rom hacks (weather the reason be the not supported special chips like MMC5 or the rom size being too big) didn't work. Sorry this is kinda long but i hoped some of this info help. I do appreciate the injectors, they are great. :)

Just in case you are curious, i provided links to each rom hack. (THEY ARE NOT ACTUAL ROMS, JUST A ARTICALE AND IPS PATCH REQUIRED TO PLAY)

Super Mario Bros. 3 Mix Rockman IV Minus Infinity Zelda Legend of Link Final Fantasy VII NES
 
Last edited by Sonic Angel Knight,
  • Like
Reactions: CheatFreak47
trying to sram patch mario advance 4, monkey ball or ninja 5-o (loading a premade but in no way already patched cia) i get this error


************** Ausnahmetext **************
System.IO.FileNotFoundException: Die Datei "C:\Users\BS\AppData\Local\Temp\201608200912518592\rom_patched.gba" konnte nicht gefunden werden.
Dateiname: "C:\Users\BS\AppData\Local\Temp\201608200912518592\rom_patched.gba"
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
bei System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
bei System.IO.File.ReadAllBytes(String path)
bei Ultimate_GBA_VC_Injector_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
----------------------------------------
Ultimate GBA VC Injector for 3DS
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///C:/Users/BS/Desktop/Ultimate%20GBA%20VC%20Injector%20for%203DS%201.3d/Ultimate%20GBA%20VC%20Injector%20for%203DS.exe.
----------------------------------------
System.Windows.Forms
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Drawing
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1068.2 built by: NETFXREL3STAGE.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Core
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
----------------------------------------
System.Xml.Linq
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll.
----------------------------------------
System.Xml
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1067.0 built by: NETFXREL3STAGE.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.Configuration
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
mscorlib.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1055.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

same error trying to make a new cia
 
Last edited by Clydefrosch,
trying to sram patch mario advance 4, monkey ball or ninja 5-o (loading a premade but in no way already patched cia) i get this error

Mario Advance 4 isn't a game you can Sram Patch to fix, it needs a custom patch. See Section Q here for details on that, and also, I think you're not supposed to try to Sram patch a CIA. It doesn't work like that.

Probably a bug, it'd be a good idea to start from a ROM.
The CIA importing is mostly just for changing the footers, not the roms themselves.
 
Last edited by CheatFreak47,
  • Like
Reactions: Sonic Angel Knight
Mario Advance 4 isn't a game you can Sram Patch to fix, it needs a custom patch. See Section Q here for details on that, and also, I think you're not supposed to try to Sram patch a CIA. It doesn't work like that.

Probably a bug, it'd be a good idea to start from a ROM.
The CIA importing is mostly just for changing the footers, not the roms themselves.

its doing the same when i try to convert any other rom from scratch too. basically, its not working (for me) anymore. the previous versions all seemed fine

and bummer, that patch isn't gonna be helpful since i'm trying to convert the wiiu's version of the game that comes with all the e-reader levels

ah, i see, it turns that specific rom into basically the wii u version. i guess this should work with the old injectors then, thanks for the tip
 
Last edited by Clydefrosch,
its doing the same when i try to convert any other rom from scratch too. basically, its not working (for me) anymore. the previous versions all seemed fine

and bummer, that patch isn't gonna be helpful since i'm trying to convert the wiiu's version of the game that comes with all the e-reader levels

ah, i see, it turns that specific rom into basically the wii u version. i guess this should work with the old injectors then, thanks for the tip

"System.IO.FileNotFoundException: Die Datei "C:\Users\BS\AppData\Local\Temp\201608200912518592\rom_patched.gba" konnte nicht gefunden werden."

Basically I think this error is happening because you're trying to apply a patch to an existing CIA.
You get this error too when you start with a .gba rom and NOT a cia too?

Edit: I also just tried Super Monkey Ball Jr. and it worked fine, so you might be missing some sort of dependency. What OS are you running, and do you have basic windows stuff, like .NET, Visual C++, etc all installed?
 
Last edited by CheatFreak47,
"System.IO.FileNotFoundException: Die Datei "C:\Users\BS\AppData\Local\Temp\201608200912518592\rom_patched.gba" konnte nicht gefunden werden."

Basically I think this error is happening because you're trying to apply a patch to an existing CIA.
You get this error too when you start with a .gba rom and NOT a cia too?

Edit: I also just tried Super Monkey Ball Jr. and it worked fine, so you might be missing some sort of dependency. What OS are you running, and do you have basic windows stuff, like .NET, Visual C++, etc all installed?

1. it happens with both. converted mario 4 with the patch you linked to with version 1.2 of this, worked, haven't installed the cia yet though.
that error seems to stem from the way the sram patch is applied.
2. so yes, happens with cia and gba.
3. have you tried playing it too? because it gives you an error when you try to save (ninja 5-0 has no error messages, but no save is present once you shut it down and start it again)
4. windows 7 home edition, all updates, .net and visuall c is there too.

as i said, everything worked fine until the latest update.
 
1. it happens with both. converted mario 4 with the patch you linked to with version 1.2 of this, worked, haven't installed the cia yet though.
that error seems to stem from the way the sram patch is applied.
2. so yes, happens with cia and gba.
3. have you tried playing it too? because it gives you an error when you try to save (ninja 5-0 has no error messages, but no save is present once you shut it down and start it again)
4. windows 7 home edition, all updates, .net and visuall c is there too.

as i said, everything worked fine until the latest update.
Yeah monkey ball plays and saves fine, I am able to generate a CIA with 1.3d fine with the SRAM patch, I can even apply it multiple times if I need to for some multicart roms.

Do you have any whiny Antiviruses or "computer cleaners" running?
SRAM patching is based on ezgba which is avaliable here (mirror). See if you can get this program running if so the problem is something on your computer wiping out the temporary files the injector uses as a working directory.
This might be a stretch, but things to try:
- Installing .NET again
- Installing Visual C++ 2015 (you probably have 2013 or older, perhaps ezgba requires 2015 idk)
- rebooting your computer
 
Last edited by CheatFreak47,
ezgba works fine, antivirus is disabled.

edit: ezgba works without errors but it seems like it doesn't spit out patched games (it does spit out games though). at least the monkey ball i patched with it ends up still giving me save errors. (i did make sure to mark sram in the v1.2 injector)

ninja 5-0 also still doesn't keep its save.

no idea why.

guess now all I can do is wait for people to share some savepatched and unghosted cias on that iso site...
 
Last edited by Clydefrosch,

Site & Scene News

Popular threads in this forum