ROM Hack Accessing Oracle of Ages/Seasons Gameboy Advance Shop on VC?

Status
Not open for further replies.

CrazyBlergh

Well-Known Member
OP
Member
Joined
Sep 11, 2016
Messages
130
Trophies
0
Age
35
XP
171
Country
Gambia, The
Is there a known way to actually access the advance shop that only appears if you play the games on a GBA? I'm not asking about messing with the transfer codes, I want to actually get inside the shop on 3DS's Virtual Console.*

*If that's not possible, can I at least run the games well on mGBA or another GBA emulator and then import the save back into thr VC?
 
Last edited by CrazyBlergh,

BtEtta

Well-Known Member
Member
Joined
Apr 9, 2016
Messages
147
Trophies
0
XP
734
Country
It is possible with a patched ROM image, there was a thread somewhere on romhacking.net that covered both patching the game (also Shantae) to always enter GBA mode. The same thread also covered patches to make the game still load the GBC colour palette in that state rather than using the washed out GBA one.

It may even be possible to use Nintendo's own VC patch format with HANS so you don't even need to inject a patched ROM.

But if you're asking has someone made a solution that's available right now with a minimum of effort? Not that I know of.
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,248
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,303
Country
United States
Is there a known way to actually access the advance shop that only appears if you play the games on a GBA? I'm not asking about messing with the transfer codes, I want to actually get inside the shop on 3DS's Virtual Console.*

*If that's not possible, can I at least run the games well on mGBA or another GBA emulator and then import the save back into thr VC?

If you have a Gateway, just use these links:

http://www.fort42.com/gateshark/game1827/1713/
http://www.fort42.com/gateshark/game1828/9200/

If you don't have a Gateway, you'll need to Inject a GBA-enabled ROM (this requires CFW). The GBA patch for the games is mentioned (by me) here. You'll need a copy of the ROMs you want (search for "play console classics on your computer" without quotes for my favorite ROM site), along with LunarIPS. For injecting, you'll need a .cia of the games you're wanting to inject (you can dump your copy with Decrypt9WIP, assuming you already have the game(s); just dump titleIDs 0004000000058C00 (for Seasons) and 0004000000058F00 (for Ages) with Decrypt9WIP), and @Asia81 's PackHack (the link can be found here). Then just setup the PackHack according to this guide, but instead of doing what is done in the 'Extracting' section, open HackingToolkit3DS.exe and type CE, and type the name of the .cia file WITHOUT the .cia extension. Take your ROM, and rename it "vc_rom.bin" (without quotes). Go to /ExtractedRomFS/rom/ and replace the 'vc_rom.bin' in the folder. Then just reopen HackingToolkit3DS.exe, type CR and press Enter, type Ages (for Oracle of Ages) or Seasons (for Oracle of Seasons), then copy the resulting .cia file to your 3DS SD card and install with a .cia manager/installer like FBI, DevMenu, or BigBlueMenu.
 

Mikemk

Well-Known Member
Member
Joined
Mar 26, 2015
Messages
2,090
Trophies
1
Age
28
XP
3,127
Country
United States
Or you can use the ultimate gbc rom injector, a lot easier.
Try this...
It's a patch in the official 3DS VC format, but I haven't tested it.

Code:
[GBA_Patch1]
Mode = 1
Address = 0x30
Fixcode = a5: 06 01 C3 50 01

[GBA_Patch2]
Mode = 1
Address = 0x102
Fixcode = a2: 30 00
How exactly would you activate it?
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,248
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,303
Country
United States
Or you can use the ultimate gbc rom injector, a lot easier.

It actually isn't easier PC-side, because the user has to supply their own icons, the original .cia file, and the GBC ROM PC-side. In my example, you only need the latter 2 PC-side (although you do need more applications 3DS-side - a .cia installer is the only requirement the 2 methods have in common). Basically, it depends on what the user's needs are, and I believe in this case, in order to noob-proof the process as much as possible, that my suggestion is the best one for the OP in this situation. PC-side, it's basically 'put cia in PackHack folder, run HackingToolkit3DS.exe with CE, replace file, run app again with CR, copy to SD, done'.
 

Deleted member 370283

Well-Known Member
Member
Joined
Aug 19, 2015
Messages
496
Trophies
0
Age
22
XP
1,021
Country
United States
Or you can use the ultimate gbc rom injector, a lot easier.

How exactly would you activate it?
Dump the RomFS of the game, unpack it, save my patch as a .patch file, name it the same thing as the actual VC ROM itself, put it into the root of the RomFS, repack, and then use in HANS.
That or use it in a CIA.
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,248
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,303
Country
United States
Also, @CrazyBlergh , you could try using this link to find the prepatched .cia files. Tested and working. ;)

Edit: Never mind. They installed, but the .patch file edits suggested by @TheStoneBanana don't work. :( I'll need to use a directly patched ROM instead. Hang on.

Edit 2: I'm dumb. I reset the emulator, and now the door is open. In other words, it works!
 
Last edited by Maq47,

BtEtta

Well-Known Member
Member
Joined
Apr 9, 2016
Messages
147
Trophies
0
XP
734
Country
Try this...
It's a patch in the official 3DS VC format, but I haven't tested it.

Code:
[GBA_Patch1]
Mode = 1
Address = 0x30
Fixcode = a5: 06 01 C3 50 01

[GBA_Patch2]
Mode = 1
Address = 0x102
Fixcode = a2: 30 00
Different approach to the one I saw but should work.

Try the following patch to use the GBC colour palettes while in GBA mode:
Code:
[GBA_Patch3]
Mode = 1
Address = 0xFC03B
Fixcode = a2: 3E 01
Please confirm that changes the palette back but still retains access to the advance shop?
 

CrazyBlergh

Well-Known Member
OP
Member
Joined
Sep 11, 2016
Messages
130
Trophies
0
Age
35
XP
171
Country
Gambia, The
Oh wow, So many replies. I've been a bit busy, otherwise I would've responded earlier.
.cia's aren't an option for me right now. I don't use a CFW(nor do I have access to that).

@TheStoneBanana /@BtEtta: Your approach seems to be the best for me right now. Thanks to all the other helpful posters either way though! Maybe 11.0 will get a kernel exploit and I'll be able to make use of @MarcusCarter 's suggestion.
I gotta admit, I never used Hans for romhacking before so I'm not sure how I should go about applying those patches.
How did you find/come up with those patches? How do they work?

@cearp /@Asia81: Gameshark codes would be another easy solution. Not quite as elegant as I wouldn't be playing on VC and would have to fiddle with moving gamesaves. Are there any 'spoof GBA' codes for the Oracle games?

@Clydefrosch: It's more a matter of principle to me. Plus it's kinda fun to figure these things put and correct Nintendo's shortcomings. Not sure if this has many applications besides Oracle games and Shantae but I doubt I'm the only one who'd be happy if this works.

EDIT: Regarding the palette change in GBA mode: Are paler colors the only difference? No enhancements? Is this the same for every GBC game played on a GBA?
 
Last edited by CrazyBlergh,

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,729
Trophies
2
XP
8,537
Country
Tuvalu
@cearp /@Asia81: Gameshark codes would be another easy solution. Not quite as elegant as I wouldn't be playing on VC and would have to fiddle with moving gamesaves. Are there any 'spoof GBA' codes for the Oracle games?
you would be playing on the unaltered, official vc lol :)

you wouldn't need to install a hacked rom because... you are hacking the game in real time with the cheat.
 

Mikemk

Well-Known Member
Member
Joined
Mar 26, 2015
Messages
2,090
Trophies
1
Age
28
XP
3,127
Country
United States
EDIT: Regarding the palette change in GBA mode: Are paler colors the only difference? No enhancements? Is this the same for every GBC game played on a GBA?
Shantae and the zelda games have an in-game item exclusive to GBA users. People say both in-game items are useless, and are only good for 100% completionists.
Shantae, zelda, and another game all have modified color palletes to make the GBA and GBC look identical when playing. (apparently, the GBA has a darker screen, so they made the colors brighter.
 

BtEtta

Well-Known Member
Member
Joined
Apr 9, 2016
Messages
147
Trophies
0
XP
734
Country
How did you find/come up withthose patches? How do they work?
A GBA running a GBC game presents no extra hardware, no more memory, no difference at all, with (only?) one exception. The CPU register 'b' holds a value of 0 when a GBC is first turned on and a value of 1 on a GBA. The games in question check the register very early in the games' execution and store that value somewhere. $FF96 in the case of the Oracles games.

The first set of patches overwrites an unused area of with code that sets b to 1. Then changes the first jump instruction to go to this new code before returning to where that jump instruction would have originally gone.

I did not 'find' the other patch. I merely found other people's work on romhacking.net but the principle is that once you know where the game stores the result of this initial check (e.g.$FF96) you can set a debugger on a PC emulator to watch for whenever this location is accessed. One of those times will be when a new palette is loaded.

In the case of Oracles the original code loads $FF96 into register a before doing a comparison. The replacement code loads the value that would have been there if the GBA check had failed instead so the comparison always results in the GBC palettes loading. All other checks for GBA mode proceed as normal.
 

Mikemk

Well-Known Member
Member
Joined
Mar 26, 2015
Messages
2,090
Trophies
1
Age
28
XP
3,127
Country
United States
In short, GBA palettes look better than GBC palettes, right?
Personally preference.
The GBC palette is how it's intended to look, whereas the GBA palette is for adjusting the color to look correct on a GBA screen (which we're not using).

Essentially the save as the dark filter on the GBA virtual console that some people remove.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    Jaws is on a diet
  • K3Nv2 @ K3Nv2:
    Damn power went out
  • BigOnYa @ BigOnYa:
    Ok xdqwerty, your little bro prob tripped On the cord and unplugged you
  • K3Nv2 @ K3Nv2:
    Ya I'm afraid of the dark hug me
  • BigOnYa @ BigOnYa:
    Grab and hold close your AncientBoi doll.
  • K3Nv2 @ K3Nv2:
    Damn didn't charge my external battery either
  • BigOnYa @ BigOnYa:
    Take the batteries out of your SuperStabber3000... Or is it gas powered?
  • K3Nv2 @ K3Nv2:
    I stole batteries from your black mamba
    +1
  • K3Nv2 @ K3Nv2:
    My frozen food better hold up for an hour I know that
  • BigOnYa @ BigOnYa:
    Or else gonna be a big lunch and dinner tomorrow.
  • BigOnYa @ BigOnYa:
    Did you pay your power bill? Or give all yo money to my wife, again.
  • K3Nv2 @ K3Nv2:
    Oh good the estimated time is the same exact time they just said
    +1
  • BigOnYa @ BigOnYa:
    Load up your pc and monitor, and head to a McDonalds dining room, they have free WiFi
  • K3Nv2 @ K3Nv2:
    Sir please watch your porn in the bathroom
    +2
  • BigOnYa @ BigOnYa:
    No sir we can not sell you anymore apple pies, after what you did with the last one.
  • K3Nv2 @ K3Nv2:
    We ran out
  • HiradeGirl @ HiradeGirl:
    for your life
    +1
  • K3Nv2 @ K3Nv2:
    My life has no value my fat ass is staying right here
  • K3Nv2 @ K3Nv2:
    Nearly 4 hours without power :(
  • Veho @ Veho:
    SO POWERLESS
  • K3Nv2 @ K3Nv2:
    Tell Kanye I need power
  • DinohScene @ DinohScene:
    Better start running in your hamster wheel
    DinohScene @ DinohScene: Better start running in your hamster wheel