gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Flash Equipment > Making PassMe2->FlashMe easier?

#59349 - tepples - Mon Oct 31, 2005 7:47 pm

I have an idea for how to make PassMe2 easier.

First make a GBA-mode-aware NDS loader. In DS mode it would behave as usual, but in GBA mode, it would load the SRAM appropriately for use with PassMe2.

Then put FlashMe on this loader and sell it on one of those GBA carts with OTP memory in ROM space and SRAM in savegame space. The SRAM wouldn't even need a battery, just a capacitor that can hold +3.3V on the RAM for a couple minutes.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#59376 - josath - Tue Nov 01, 2005 3:32 am

tepples wrote:
I have an idea for how to make PassMe2 easier.

First make a GBA-mode-aware NDS loader. In DS mode it would behave as usual, but in GBA mode, it would load the SRAM appropriately for use with PassMe2.

Then put FlashMe on this loader and sell it on one of those GBA carts with OTP memory in ROM space and SRAM in savegame space. The SRAM wouldn't even need a battery, just a capacitor that can hold +3.3V on the RAM for a couple minutes.


You'd need to have a menu of some sort in GBA mode to pick which game you want to use. But otherwise, yeah that sounds like it would work. And you could release it as a .gba rom as well, for people that already have a gba flash cart, so they don't have to fiddle with their cart software to load the sram manually.

#59403 - Lynx - Tue Nov 01, 2005 4:25 pm

Heh.. I've been talking about a simular idea on #dsdev.. Problem I see with your idea (and the one I had about SimonB writing FlashMe.nds.gba to his write once carts) is that you'd be distributing Nintendo copyright code, as FlashMe is hacked firmware. That would be bad, and I'm not about to get in the middle of that.

The second idea I had would be for GBA MP users, as they can't use PassMe2 because it doesn't support SRAM, but they could run GBA homebrew on the GBA MP.

So, create a simple GBA MP homebrew app to load the SRAM as you were saying. This would allow them to load the SRAM on ANY GBA Game that has SRAM (pretty much all of them, right? And you can buy them as cheap as $10 now days). Then, if Olimar was able to add a "pause for A press" or a 3 or 5 sec delay, you could launch your DS in DS mode with PassMe2, it could jump to the SRAM on the GBA Game, you could then swap in the GBA MP and run FlashMe to update your DS.

The main thing being (for me), that the end "user" is downloading FlashMe..

I also brought up to Olimar that if he could create a patcher vs a patched Firmware, then it would be legal to distribute, as it wouldn't contain any Nintendo copyright code, it could then be burned onto GBA carts and sold very cheap.

#59702 - thoop - Thu Nov 03, 2005 4:54 pm

I have an idea too (don't know if it's possible):
You load an app from your gbamp in gba mode, you switch your gbamp for a random gba game then you let the program put the sram.bin in the sram of the gba game, then you use your passme2 and when it's loaded, you can swap back for your gbamp to flash your ds. Because gba-flashcarts are rather expensive.

#59707 - Lynx - Thu Nov 03, 2005 5:23 pm

Uhh... Yeah.. Or you could do that!?!?! It is possible, we just need someone with thumb code experiance to make the pause loop in the SRAM code.

#59745 - CubeGuy - Thu Nov 03, 2005 9:59 pm

Lynx wrote:
Heh.. I've been talking about a simular idea on #dsdev.. Problem I see with your idea (and the one I had about SimonB writing FlashMe.nds.gba to his write once carts) is that you'd be distributing Nintendo copyright code, as FlashMe is hacked firmware. That would be bad, and I'm not about to get in the middle of that.

I'm clueless when it comes to a lot of legal issues, but if you flashed one-time-use carts and charged the buyer exactly what you spent on the cart and shipping, would that still be considered selling copyrighted code?
_________________
It's 'CubeGuy.' One word. No space.

#59750 - JaJa - Thu Nov 03, 2005 10:38 pm

Cubeguy, it's not so much the selling part, as the distribution part.

#59759 - chishm - Thu Nov 03, 2005 11:22 pm

Lynx wrote:
Uhh... Yeah.. Or you could do that!?!?! It is possible, we just need someone with thumb code experiance to make the pause loop in the SRAM code.

I see a slight problem with that. If it is a pause loop running from SRAM, as soon as you remove the SRAM it won't have anything (meaningful) to execute, and will crash.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#59778 - tepples - Fri Nov 04, 2005 1:55 am

Can't the pause loop copy itself to main RAM and run from there?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#59782 - josath - Fri Nov 04, 2005 2:29 am

How did they get around the problem of SRAM only allowing 8bit reads? Aren't the asm instructions read 16bits at a time?

#59783 - CubeGuy - Fri Nov 04, 2005 2:36 am

Can any homebrew hardware or flash cart writers write to the one-time carts?
_________________
It's 'CubeGuy.' One word. No space.

#59791 - Joat - Fri Nov 04, 2005 3:30 am

When the DS tries to read SRAM, it gets an 8 bit byte, but replicates that across the data bus (a requirement of ARM cpus IIRC, at least it is for byte writes, to make the memory system easier). Thus, the code is written using only thumb opcodes of the form 0xKJKJ, where 0xKJ is stored in SRAM. You can do the same thing with ARM, but the number of useful ARM opcodes of this format is nigh on zero, while there are a handful of useful thumb opcodes (out of the 256 combos possible). Only one branch tho, which is a major PITA.
_________________
Joat
http://www.bottledlight.com