• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

[un/patch]DarkFader's SC wifime fixer & autoboot DS mode

Started by cory1492, January 04, 2006, 02:38:43 AM

Previous topic - Next topic

cory1492

well, it seems flashmp will not write to the firmware unless you do the chip erase first :( must be some kind of protection or something. I can write the header after doing a chip erase, just not before... puzzling.

Hopefully you can get it sorted, since you already have a decrypted copy of the 1.54 firmware(and I havent seen where it is in the .bin), I guess a generic patch is out of the question unless its figured out how to re-write a portion of the firmware without erasing the whole thing first.

edit:/OK, got a fully working patcher now, just gotta clean it up. Hopefully the read routine in the flashmp source is accurate when running it direclty from the supercard. I will have to check this before releasing it.

edit2:/ Hrmm, still cant get a clean dump from the supercard while using the fat drivers. I know that when I run DF's restore utility from the SD card wrather than with wmb.exe that DS does not run from the SC menu. A bit more testing...

edit3:/ well, after patching 1.54 with my tool, it works well. NDS runs, going into gba mode works fine, and re-running the 1.54 bin file successfully restores it back to the normal/non nds booting with flashme firmware.

deathrabbit

Is it possible that you could release this firmware, and make a ds program that lets you put your own headers in on the fly?

cory1492

without any further ado, here it be attached. (see later posts for a combined patcher / unpatcher)

I have not tested it with SC CF, if some brave soul has one and wifime ability in case it goes wrong, then by all means test it out for us, having said that, I dont recommend running it on CF until its been tested by said brave soul - but it should work as it caches the current firmware and then patches it wrather than relying on a firmware stored in the .nds file.

I ran it at least 5 times on SD 1.54 clean firmware without once bricking it, and it is booting NDS just as it should, although now you have to hold bloody select to get to GBA mode if you have flashme on your DS. Maybe I can work out a patch so that it doesnt autoboot to NDS mode  :lol:  running the 1.54 .bin upgrade from GBA mode returns it to default firmware/booting method.

Let me know if you come across any bugs, like X runs on 1.54, but after patching the header it no longer works. It would help me know if my method of copying the firmware to memory is sound or possibly broken in certain areas.

edit:/ deathrabbit, I could not get a good clean dump of the firmware. Noda has figured out how to decrypt the one from the update.bin, but my method seemed simplest: copy the firmware to DS memory, patch it "on the fly" and write it back to the SuperCard. It should also be compatible with any future releases if Romman continues to release them without the PASS header adjustment.  Just running the origional update.bin restores the origional firmware back to its normal boot GBA default.

the origional wmb flashmp by DarkFader can be gotten here (in case anyone will need it, DF's site be down right now...dont run this straight off the SC, thats not what it was meant for):
flashmp.zip

rocky

Wow thanks cory this works great with my SD supercard, will it work with the new supercard updates?  If I ever want it back to normal is their a way to do it?

Edit: I just read you post again on how to get back to normal running the supercards origonal firmware.

cory1492

Rocky, it should work on future updates, so long as reading the firmware out doesnt change (which I think DF made the routines based on hardware wrather than the SC software). I tested it with 1.52, 1.53 and 1.54 though, and it did the same thing in each case.

Hopefully romman takes this as a nudge and will patch the GBA header in future releases, but if not it should still work ;)

Koji

I know you say it's safe... but since I have no way to restore my SCSD if something goes wrong I do believe I won't risk it. And really, it's simple enough to hold down 4 buttons and it confounds the neighbor kid enough that I smile.

Mithos

Quote from: "cory1492"Hopefully romman takes this as a nudge and will patch the GBA header in future releases, but if not it should still work ;)

Or at least lets us choose what should be the primary bootup when we flash and upgrade.
ure White DS w. Flashme v7
Supercard SD (Viking 512MB High Speed)
Supercard DS (one) Kingston 1gb microSD
EFZ Advance 256Mbit

cory1492

QuoteAnd really, it's simple enough to hold down 4 buttons and it confounds the neighbor kid enough that I smile.
Ah yes, the things that remind us of our blissfully ignorant childhood can often bring such happiness. (unless the neigbor's kid is like 25... then its just kinda pathetic that the kid would be confounded)

QuoteOr at least lets us choose what should be the primary bootup when we flash and upgrade.
Yeah, but I wouldnt expect them to give us more options in that way though... perhaps separate downloads although its not such a big deal to hold select when one wants to boot into gba mode if they have flashme, at least until that pesky screen gets shut off properly.

deathrabbit

Thanks for the source.

Although I prefer to hold down the four buttons, i got what i wanted out of the source from this project.

cory1492

the origional source without any firmware binaries can be found in sourceforge cvs
http://sourceforge.net/projects/devkitpro
the source and data dir are the ones for this
http://cvs.sourceforge.net/viewcvs.py/devkitpro/projects/nds/bootstrap/flashmp/
as noda kindly pointed out to me
:wink:  :wink:  :wink:  :wink:
bloody twitch

gg321

it works well on my sc-cf 1.54. :D

i'm not kidding here.

Critical_Impact

Can you run this straight off a flash card? Do you need to have 1.54 installed in the first place. Can you update to 1.5x(next version) without any issues?

cory1492

gg321 - thanks for the confimation. I was hoping someone who is more known here would have wifime and the time to test too though.
Really, Im not kidding either.  :lol:

Yep, it runs off the SD card (I made sure of that one!) and probably the CF
with no problems.

If you want to revert to old firmware, just put the 154 update.bin on your card and run it from GBA mode. Since this runs, Im assuming future firmware versions will have no problems. Im waiting for such a version to test my patch on to see if it will continue to patch the header correctly, or to see if Romman tries to block my method (hey, it could happen :( )

ackix

Works with SuperCard SD.

Very nice from you and others that contributed, Cory

Cya

Nphinity

Woo, worked great for me Cory, thanks alot man, and thanks to Noda, and everyone else who helped including DarkFader(nice to see some good come out of the bricker)

This post should be stickyed at least, or better yet, this file should be added to SCDev's download section.  Very important piece of software IMO, I infact would call it essential.

I dunno why anyone would want to hold down 4 buttons to boot to NDS mode, especially if they get the bottom screen turned off.  90% of the time, aren't you guys booting to NDS mode?  I know I am, prolly more than 90% of the time.  Much rather hold down a single button (select) to boot to things I rarely do, than hold down 4 buttons (ABXY) almost every time I turn it on.

Once again thanks guys, and you rock Cory, thanks for the SD version of moonshell too.

Heh, now if we could just make the firmware boot a particular file by name, once a good OS is out, we can boot straight to it.

Though I figure success there likely lies in getting Romman to do stuff(how kuhl would it be if romman was actually involved in this scene?), or in development of a customer firmware alltogether.  Either seem difficult.  But I still look forward to my DS being a PDA, that I can launch any homebrew apps and games from(mm Picross.. hope they get the pen mode working someday)