Hardware GBA Others Is it possible for Analogue Pocket to MOD GBA cartridges?

Wokann

Member
OP
Newcomer
Joined
Feb 6, 2023
Messages
20
Trophies
0
Age
26
XP
387
Country
Hong Kong
As a non-native speaker of Japanese or English, I often face this issue: games I enjoy playing don't offer localized language translations. I'm thankful for the efforts of many fans-translation groups. Their selfless dedication to localizing games allows persons like me to play games in our native language.

Ideally, after purchasing a game cartridge, one can dump the ROM and apply patches provided by fans-translation groups to obtain a localized translated ROM. Regrettably, this rom only can be palyed in emulators or flashcarts, which makes the original cartridge sitting in a corner gathering dust.

Fortunately, for 3DS games, through the Layeredfs function of luma3ds, we can apply the luma patch produced by fans-translation groups to the cartridges or eshop digital versions, so that we can not only play games in localized translation languages, but also make full use of the cartridges.
Also, for NDS games, through the modified NDS-Bootstrap with sav redirect function adjusted, we can read and write the sav into the cartridge while running localized translated rom at the same time, which also make full use of the cartridges. (This method must run on dsi or 3ds)
Whether Layeredfs or modified NDS-Bootstrap, although the principles are not the same, they are all ran natively in the offical console’s hardware.

But for GBA games, It seems to be no similar method to do that at present. What inspires me is devices such as action replay, which connects the cartridges and the gba, hijacks the data flow, and can specify and modify the data at 0x08****** in the memory map of the rom, as if doing rom hack but doesn't affect the rom in the cartridge. However, action replay may be able to modify some data, but it is still too difficult to modify data to a fans-translated rom.

So I am wondering, for Analogue Pocket which is a FPGA device, is it possible to MOD GBA cartridges? For example, place a fans-translation ips patch in sd card. When starting the cartridge, prompting whether an ips patch needs to be applied. If applying it, we can play localized translated game with our offical cartridges. Or similar scenarios.
This may require third-party core or firmware support? I I don’t know if it is feasible or if there are experts who can implement this function. If it can be achieved, people who have the same needs as me will be very grateful.
 

duwen

Old Man Toad
Member
Joined
Sep 6, 2013
Messages
3,291
Trophies
2
Location
Bullet Hell
Website
www.exophase.com
XP
4,617
Country
United Kingdom
It's definitely possible - devices such as the Retron's have been doing it for years (although they're not FPGA and work by dumping the cart and running/patching the dumped rom via emulation). Whether it's possible on the Analog products is another matter - I don't own any of their products as I favour original hardware.
 

TheStonedModder

Well-Known Member
Member
Joined
Dec 25, 2022
Messages
1,465
Trophies
2
Age
28
XP
3,211
Country
United States
As a non-native speaker of Japanese or English, I often face this issue: games I enjoy playing don't offer localized language translations. I'm thankful for the efforts of many fans-translation groups. Their selfless dedication to localizing games allows persons like me to play games in our native language.

Ideally, after purchasing a game cartridge, one can dump the ROM and apply patches provided by fans-translation groups to obtain a localized translated ROM. Regrettably, this rom only can be palyed in emulators or flashcarts, which makes the original cartridge sitting in a corner gathering dust.

Fortunately, for 3DS games, through the Layeredfs function of luma3ds, we can apply the luma patch produced by fans-translation groups to the cartridges or eshop digital versions, so that we can not only play games in localized translation languages, but also make full use of the cartridges.
Also, for NDS games, through the modified NDS-Bootstrap with sav redirect function adjusted, we can read and write the sav into the cartridge while running localized translated rom at the same time, which also make full use of the cartridges. (This method must run on dsi or 3ds)
Whether Layeredfs or modified NDS-Bootstrap, although the principles are not the same, they are all ran natively in the offical console’s hardware.

But for GBA games, It seems to be no similar method to do that at present. What inspires me is devices such as action replay, which connects the cartridges and the gba, hijacks the data flow, and can specify and modify the data at 0x08****** in the memory map of the rom, as if doing rom hack but doesn't affect the rom in the cartridge. However, action replay may be able to modify some data, but it is still too difficult to modify data to a fans-translated rom.

So I am wondering, for Analogue Pocket which is a FPGA device, is it possible to MOD GBA cartridges? For example, place a fans-translation ips patch in sd card. When starting the cartridge, prompting whether an ips patch needs to be applied. If applying it, we can play localized translated game with our offical cartridges. Or similar scenarios.
This may require third-party core or firmware support? I I don’t know if it is feasible or if there are experts who can implement this function. If it can be achieved, people who have the same needs as me will be very grateful.
You can play .gba files on the pocket I assume right? If so just use an IPS patcher on your PC and patch the game rom ahead of time. You should have a patched .gba file that you can play however you want afterwards
 

Wokann

Member
OP
Newcomer
Joined
Feb 6, 2023
Messages
20
Trophies
0
Age
26
XP
387
Country
Hong Kong
It's definitely possible - devices such as the Retron's have been doing it for years (although they're not FPGA and work by dumping the cart and running/patching the dumped rom via emulation). Whether it's possible on the Analog products is another matter - I don't own any of their products as I favour original hardware.
yep, sure devices like RetroN Sq N5 can use ips to patch the dumped cartridge rom. However retrons work through software simulation, not run like real hardware. For software simulation, there are many other easier and cheaper ways which don't need to buy expensive retron device.

Such as through nds backup tool to dump rom and sav, and patch it on pc, and play it on vba, mgba, then use nds backup tool to inject new sav back to cartridge. Or other dumper such as gbxcart rw, gb operator etc.

So what i want to find and research is a way which can patch gba cartridges on real gba device (gba, gbasp, gbm, gbplayer, nds, ndsl) or hardware running device like fpga. As for now, I haven't find any methods to do that.
Post automatically merged:

You can play .gba files on the pocket I assume right? If so just use an IPS patcher on your PC and patch the game rom ahead of time. You should have a patched .gba file that you can play however you want afterwards
yes, through openfpga, ap can play .gba file directly. If just talking about playing rom files, there already have many ways to do that. But what I want to find is a method which can full use of cartridge like layeredfs in 3ds games and nds_bootstrap in nds games. On this aspect, there're almost no research and information currently.

And openfpga have limitations too. If a gba game which has special hardware in cartridge, it cann't act it well. Such as gravity sensor, sunlight sensor, ir, and also the gba core can't work rtc function normally for now.(rumble function now can use nds rumble pack to work, but now only support DrillDozer. Other game must edit rom header to DrillDozer, or they can't active rumble function).
After patching and getting localized transltion rom, this game will not work well in openfpga. that is one of the meanings to external modding directly with cartridges.
 
Last edited by Wokann,

Wokann

Member
OP
Newcomer
Joined
Feb 6, 2023
Messages
20
Trophies
0
Age
26
XP
387
Country
Hong Kong
Your best bet is to just patch the ROMs yourself.
This regular and common method has already been mentioned at the beginning. What trying to discuss here is a patch method for physical cartridges which do not have too much research now.
 

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
13,906
Trophies
7
Location
WA State
Website
ko-fi.com
XP
19,068
Country
United States
I don't believe on-the-fly cartridge patching exists for such a thing that you're trying to do. I'm well-versed in GBA flash carts, and I've never heard of such a thing, beyond using cheats.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
24,003
Trophies
5
Location
Space
XP
15,119
Country
Norway
As a non-native speaker of Japanese or English, I often face this issue: games I enjoy playing don't offer localized language translations. I'm thankful for the efforts of many fans-translation groups. Their selfless dedication to localizing games allows persons like me to play games in our native language.

Ideally, after purchasing a game cartridge, one can dump the ROM and apply patches provided by fans-translation groups to obtain a localized translated ROM. Regrettably, this rom only can be palyed in emulators or flashcarts, which makes the original cartridge sitting in a corner gathering dust.

Fortunately, for 3DS games, through the Layeredfs function of luma3ds, we can apply the luma patch produced by fans-translation groups to the cartridges or eshop digital versions, so that we can not only play games in localized translation languages, but also make full use of the cartridges.
Also, for NDS games, through the modified NDS-Bootstrap with sav redirect function adjusted, we can read and write the sav into the cartridge while running localized translated rom at the same time, which also make full use of the cartridges. (This method must run on dsi or 3ds)
Whether Layeredfs or modified NDS-Bootstrap, although the principles are not the same, they are all ran natively in the offical console’s hardware.

But for GBA games, It seems to be no similar method to do that at present. What inspires me is devices such as action replay, which connects the cartridges and the gba, hijacks the data flow, and can specify and modify the data at 0x08****** in the memory map of the rom, as if doing rom hack but doesn't affect the rom in the cartridge. However, action replay may be able to modify some data, but it is still too difficult to modify data to a fans-translated rom.

So I am wondering, for Analogue Pocket which is a FPGA device, is it possible to MOD GBA cartridges? For example, place a fans-translation ips patch in sd card. When starting the cartridge, prompting whether an ips patch needs to be applied. If applying it, we can play localized translated game with our offical cartridges. Or similar scenarios.
This may require third-party core or firmware support? I I don’t know if it is feasible or if there are experts who can implement this function. If it can be achieved, people who have the same needs as me will be very grateful.
Short answer: Yes.
Long answer: So, on real hardware, the console reads directly from the cartridge, and obviously we can't modify the ROM in the cartridge itself.
The beauty of FPGA is that it can be programmed to do exactly what we want it to do. So rather than reading directly from the cartridge, it can simulate the cartridge hardware and then decide whether to read from the real cartridge, or from a patch file every time a read happens.
Adding this layer of abstraction in between the GBA "hardware" and cartridge does mean it is not behaving exactly like real hardware though, which could result in compatibility issues if not implemented carefully and correctly.
 

Wokann

Member
OP
Newcomer
Joined
Feb 6, 2023
Messages
20
Trophies
0
Age
26
XP
387
Country
Hong Kong
I don't believe on-the-fly cartridge patching exists for such a thing that you're trying to do. I'm well-versed in GBA flash carts, and I've never heard of such a thing, beyond using cheats.
yes, the existing way to patch rom bytes(in ram, not change cartridge hardware bytes) with cartridge is using cheat device.
In gbatek (gba-cheat-codes-general-info) it said "For ROM Patches, the device watches the address bus, if it matches a specified address then it outputs a patched value to the data bus, that mechanism is implemented by hardware, aside from the Hook Enable Code some devices also allow a limited number of cheats to use ROM patches."
But as i said above, cheat device may be able to modify some data for rom, but it is still too difficult to modify large bytes of data to change a original rom to a fans-translated rom. This may require specially made hardware to achieve this function.
There is a related device named GB interceptor. It's a hardware between gb and cartridge which intercept and copy instructions, and then rebuild video ram on an outside emulator for recording gb video without modifying the gb itself . It has some similarities and inspirations to our current topics.
As a FPGA device, AP may have the potential to develop the function to mod gba cartridge.
Post automatically merged:

Short answer: Yes.
Long answer: So, on real hardware, the console reads directly from the cartridge, and obviously we can't modify the ROM in the cartridge itself.
The beauty of FPGA is that it can be programmed to do exactly what we want it to do. So rather than reading directly from the cartridge, it can simulate the cartridge hardware and then decide whether to read from the real cartridge, or from a patch file every time a read happens.
Adding this layer of abstraction in between the GBA "hardware" and cartridge does mean it is not behaving exactly like real hardware though, which could result in compatibility issues if not implemented carefully and correctly.
Maybe it can refer to what cheat device did on hardware. And fpga dont have too much limitation like real gba hardware. It may wont need complicated things such as master codes in cheat device if this function were made.
 
Last edited by Wokann,

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
13,906
Trophies
7
Location
WA State
Website
ko-fi.com
XP
19,068
Country
United States
I'm honestly like to see somebody write a cart dumper for the Analogue Pocket, similar to the CopySNES tool on the Super NT's jailbroken firmware. Would be so easy to dump our own rom collection to the device, keeping our precious carts safe at home.
 

reminon

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
442
Trophies
0
Age
33
XP
866
Country
United States
It's definitely possible - devices such as the Retron's have been doing it for years (although they're not FPGA and work by dumping the cart and running/patching the dumped rom via emulation). Whether it's possible on the Analog products is another matter - I don't own any of their products as I favour original hardware.
You are mostly right. It does dump roms and use software emulation to run them. Ironically, it does use fpga to communicate with and dump the carts.
 

4d1xlaan

Well-Known Member
Member
Joined
Apr 21, 2024
Messages
1,225
Trophies
0
XP
1,417
Country
United States
A cartridge is essentially just a memory expansion, yes?

The firmware could just be told to apply an ips patch to this region of memory, then it doesn't need to decide whether it needs to read from cartridge or from patch, just like how emulators do it

If that region of memory can't be writeable, then surely it could temporarily copy the rom to a writeable region first before applying the patch, and then read from that region instead

It would be the same as running a pre patched rom, except the rom comes from the cartridge and is patched on the fly during or after boot up
 

RAHelllord

Literally the wurst.
Member
Joined
Jul 1, 2018
Messages
875
Trophies
1
XP
3,379
Country
Germany
You are mostly right. It does dump roms and use software emulation to run them. Ironically, it does use fpga to communicate with and dump the carts.
The pocket doesn't dump roms, but it does dump the full save file whenever a save state is created.
You can tell it does this because it has instant load times like a real game boy, and doesn't need to first dump the ROM before being able to play, like all software emulators need to do.
Pulling the cart also leads to instant crashing something that doesn't affect software emulation.
Besides, what CPU would even handle the software emulation? There's a tiny one in the smaller cyclone but that thing already struggles with handling a USB connection, much less an OS able to run emulators.
A cartridge is essentially just a memory expansion, yes?

The firmware could just be told to apply an ips patch to this region of memory, then it doesn't need to decide whether it needs to read from cartridge or from patch, just like how emulators do it

If that region of memory can't be writeable, then surely it could temporarily copy the rom to a writeable region first before applying the patch, and then read from that region instead

It would be the same as running a pre patched rom, except the rom comes from the cartridge and is patched on the fly during or after boot up
I don't think the Pocket has enough space on the FPGA for that, that thing is already pretty full and most of the OpenFPGA cores even had to cut the cheat features (basically a smaller version of rom patching) to make the Mister cores fit.
While the pocket can play a lot of games and is pretty generous with on-board ram, it doesn't really have enough logic elements to reliably hold both the core and two roms at the same time. Dumping the games and patching them elsewhere will likely stay the only viable solution.

Though the ROM dumping (and technically writing), as well as writing a core that could read and apply a patch permanently, are all possible with the framework analogue has provided by now, someone would just need to do a lot of legwork to set all of that up. And I don't think many would want to do that as you need one extra device anyway with access to both internet and an SD card reader to get the patch onto the Pocket in the first place, and at that point you have a device that can already patch the ROM.
 
  • Like
Reactions: 4d1xlaan

N7Kopper

Lest we forget... what Nazi stood for.
Member
Joined
Aug 24, 2014
Messages
1,070
Trophies
1
Age
31
XP
1,420
Country
United Kingdom
The pocket doesn't dump roms, but it does dump the full save file whenever a save state is created.
You can tell it does this because it has instant load times like a real game boy, and doesn't need to first dump the ROM before being able to play, like all software emulators need to do.
Pulling the cart also leads to instant crashing something that doesn't affect software emulation.
Besides, what CPU would even handle the software emulation? There's a tiny one in the smaller cyclone but that thing already struggles with handling a USB connection, much less an OS able to run emulators.
He was talking about the Retron when saying that, not the Analogue Pocket.
It doesn't really have enough logic elements to reliably hold both the core and two roms at the same time.
If the Pocket does mount the cartridge directly, the theory the other guy's floating is likely about taking a patch file and using the same logic that retro consoles like the PS3 and Xbox 360 use for patching ROMs. (DVD-ROMs specifically! :D)

That would be more troublesome, because the GBA doesn't use a discrete filesystem for its ROMs. Unlike a Mass Effect 2 DVD-ROM, for example, which has specific files that can be easily overridden with patch logic, a FireRed Mask ROM is just a whole lot of bits that rely on program code to tell each other apart. I don't even think it would really be doable without a lot of processing time - reading the cartridge in realtime and applying and saving the patch in realtime too. There are flashcarts that can do it, but they're not dealing with physical Mask ROMs, but rather the typical image file the layman associates the term "ROM" with.

And at that point, you could probably just patch it yourself ahead of time. Maybe an option to write a patched ROM image's save files directly to an original cartridge would be the best way to... simulate this, if your patch is just bugfixes and the like and doesn't alter save logic.
 

reminon

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
442
Trophies
0
Age
33
XP
866
Country
United States
The pocket doesn't dump roms, but it does dump the full save file whenever a save state is created.
You can tell it does this because it has instant load times like a real game boy, and doesn't need to first dump the ROM before being able to play, like all software emulators need to do.
Pulling the cart also leads to instant crashing something that doesn't affect software emulation.
Besides, what CPU would even handle the software emulation? There's a tiny one in the smaller cyclone but that thing already struggles with handling a USB connection, much less an OS able to run emulators.

I don't think the Pocket has enough space on the FPGA for that, that thing is already pretty full and most of the OpenFPGA cores even had to cut the cheat features (basically a smaller version of rom patching) to make the Mister cores fit.
While the pocket can play a lot of games and is pretty generous with on-board ram, it doesn't really have enough logic elements to reliably hold both the core and two roms at the same time. Dumping the games and patching them elsewhere will likely stay the only viable solution.

Though the ROM dumping (and technically writing), as well as writing a core that could read and apply a patch permanently, are all possible with the framework analogue has provided by now, someone would just need to do a lot of legwork to set all of that up. And I don't think many would want to do that as you need one extra device anyway with access to both internet and an SD card reader to get the patch onto the Pocket in the first place, and at that point you have a device that can already patch the ROM.
I didn't say the pocket dumped roms. Look back at what I was replying to. I was referring to the retron devices the person was talking about. For instance, the retron 5 has a separate board with a xilinx fpga on it, that handles all the cart and controller I/O. The retron 5 uses that fpga to dump the rom of the inserted cart, at which point it then loads the rom into a retroarch core.

I know the specs of the pocket and what it can do. I did not say, nor infer that the pocket uses software emulation.
 
Last edited by reminon,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    I'm sure you can't be a owner and player in the NFL
  • K3Nv3 @ K3Nv3:
    I'm gonna enlist Michael J Fox as the next Raiders qb we win for sure
  • BigOnYa @ BigOnYa:
    They need a new coach first, rumors Pete Carroll might get it
  • K3Nv3 @ K3Nv3:
    Chiefs loose 40-0
  • K3Nv3 @ K3Nv3:
    Know what they say they always hate the winners
  • K3Nv3 @ K3Nv3:
    Then when the team you want to win looses haha told you so
  • BigOnYa @ BigOnYa:
    Can't belief Tim Allen still doing TV shows
  • K3Nv3 @ K3Nv3:
    He was OK in the new Santa clause
  • K3Nv3 @ K3Nv3:
    John Goodman still does some voice overs
  • BigOnYa @ BigOnYa:
    Betty White is in the new Walking Dead series
  • K3Nv3 @ K3Nv3:
    Grandma zombie mature series
    +1
  • BigOnYa @ BigOnYa:
    Grandmas Gone Wild
  • SnowStormAkikaze @ SnowStormAkikaze:
    Hey, I have a question about cheat on Nintendo switch. If i have the game same TID but the BID is not match will the cheat work ?
  • Xdqwerty @ Xdqwerty:
    @SnowStormAkikaze, Sorry, I cant help
    +1
  • BigOnYa @ BigOnYa:
    @SnowStormAkikaze, No, has to have the same TID and BID. Each time you update the game, the BID will change, so if you can't find a cheat for your BID, you can downgrade your game to that BID. (DBI app lets you downgrade games)
    +1
  • Xdqwerty @ Xdqwerty:
    good night
  • K3Nv3 @ K3Nv3:
    Don't sleep too tight
  • kijetesantakalu042 @ kijetesantakalu042:
    Dirt man is always watching
  • BigOnYa @ BigOnYa:
    @kijetesantakalu042, You should report him to the police or something. Having some weirdo watch you all the time ain't cool
  • kijetesantakalu042 @ kijetesantakalu042:
    @BigOnYa he makes sure you put some dirt under your pillow. If you don't he will bring you down to his layer
  • BigOnYa @ BigOnYa:
    @kijetesantakalu042, So you have dirty sheets, and its not Ancientbois fault this time?
  • K3Nv3 @ K3Nv3:
    Careful making fun of him Xdqwerty won't like you
    +1
  • BigOnYa @ BigOnYa:
    True...my bad. Scratch my last comment from the records.
  • K3Nv3 @ K3Nv3:
    You gotta do -snip-
    K3Nv3 @ K3Nv3: You gotta do -snip-