ntrteam / ntrboot_flasher

🔓 Flash ntrboot to supported flashcarts using your 3DS.
https://3ds.hacks.guide/ntrboot.html
GNU General Public License v3.0
234 stars 33 forks source link

Add more confirmation to actions #94

Closed SonoSooS closed 5 years ago

SonoSooS commented 6 years ago

I dumped the firmware of the flashcard, rebooted to GM9 to make a copy of the firmware, but accidently made a copy of the wrong file, so after flashing ntrboot to my flashcart I accidently pressed A twice and thus overwrote my only backup without any confirmation.

I'd suggest making a confirmation message for dumping the flashcart firmware if it was already dumped in the current session, and/or it already exists on the SDCard. This would save others the hassle of accidently permanently making their flashcarts unusable by accidently overwriting their only backup file. And let's face it, not many people think of making a backup (or dumping their firmware at all) before flashing ntrboot :)

...or just change the confirmation button from A to B when the progress reaches 100% so this could never possibly happen

emariz commented 6 years ago

In its current state, does dumping firmware simply overwrite any existing dump? I thought that it added a number or a character, so that this would never happen.

And your flashcard is hardly ever "permanently unusable." Unless it is a unique specimen, most firmware revisions are already available on 3ds.guide.

kitlith commented 6 years ago

@emariz it does not. That would require adding a menu to select which backup you wanted to restore.

@SonoSooS do I understand correctly that after performing the inject, backup was selected in the menu and you pressed A too many times, so it ended up preforming a backup?

SonoSooS commented 6 years ago

@emariz Yeah, it simply overwrites, without any confirmation, even if it exists or not. Cancelling the backup will just zero out the file.

Luckily though the flashcart I bought for my cousin happened to be a supported model, and because I checked the firmware in G9 if the backup was correct (i.e., not 0x2A-filled) I was able to confirm that the downloaded firmware seems to match the one I originall dumped (though I haven't yet tested it because I have hardware difficulties doing ntrboot on the affected 3DS)

@kitlith After performing the inject, it asked me to press A to continue, but once I pressed A it started backing up the firmware (because when you return to the menu it autoselects the very first option, which happened to be "Dump firmware"). When I noticed it started backing up the firmware I turned the 2DS off in hopes that ntrboot_flasher would buffer the backup in RAM instead of writing it in chunks to the SDCard (like, why would a flashcart firmware be as big as 64Megs?), but sadly all it did is zero out the file. I blame the mushy keys of the 2DS.

Edit: corrected capitalization to not get an eyesore reading between the lines

kitlith commented 6 years ago

This should be fixed in the next release (which should happen soon)

(why would a flashcart firmware be as big as 64Megs?: that's the size of flash, and we're dumping the whole thing 'just in case' even though most of it is (probably) unused.)

kitlith commented 5 years ago

fixed as of 0.5.0