Has anyone flashed this beta DS firmware?

KirgoPlayer007

Well-Known Member
Member
Joined
Sep 25, 2021
Messages
122
Trophies
0
XP
642
Country
Romania
devKitPro needs to be installed, as the script mentions 'ndstool' which is a part of devKitARM.
Post automatically merged:

You may need to modify the code slighty for it to compile on the latest version of devKitPro.
Post automatically merged:

Here's my diagram showing which point you need to shorten to flash the new firmware. The later DS revisions don't allow you to re-write the firmware.

View attachment 339524
Yea, sorry. Can you try to explain to me how to do everything you just listed like to a 5 year old? Thanks, I am not really the best regarding DS firmware things.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,285
Country
United Kingdom
Yea, sorry. Can you try to explain to me how to do everything you just listed like to a 5 year old? Thanks, I am not really the best regarding DS firmware things.
The DS was the first Nintendo handheld to use a file system (as opposed to bundling in into one big file) for commercial games (called nitrofs if you are bored) and homebrew followed along from it.

flashme is the main DS firmware modifying tool but the basic installer is just that and will only install some modifications. noflashme is a stock firmware restoration tool (can even make some later models of original DS have variable brightness as they have the same chip as the DS lite) originally for flashme but also works with other custom firmwares that are out there (mostly creebome, loopy's minimal firmware and fwnitro https://www.gamebrew.org/wiki/FWNitro https://web.archive.org/web/20071226214742/http://zzo38computer.cjb.net/Nitro2/fwnitro/ ) or corrupted firmwares. Said install tools for the other firmwares might also be an alternative installation path if this or the ppflash hardware method is not for you, though it will likely be what you need if you screw this up.
Finishing my list of fun DS firmware related tools then
https://github.com/CasualPokePlayer/fwunpack https://web.archive.org/web/20160329142229/http://chishm.drunkencoders.com/NDS_Projects/fwunpack.zip
The firmware itself uses all manner of interesting encodings, packings and compression techniques compared to what the average ROM hacker might see even in a more complicated ROM so there is that.
There are some dumpers but eh far easier to download one and edit that.

Alternatively if you just want to run the firmware as a DS file from your flash cart (it will have all the same looks and abilities) rather than flashing it then https://gbatemp.net/threads/release-fw2nds-build-firmware-nds-from-firmware-bin.508831/ might be of some interest.


Anyway
If it is just the case that a file contained within noflashme needs to be replaced (entirely possible) then any tool that can unpack and repack a DS ROM can probably do the deed.

ndstool is the original tool and one that comes with the devkitpro toolkit for this. Standalone versions exist for all manner of platforms, though might be harder to find with the devkitpro peeps sending out C&Ds.
It is a command line tool but should be doable enough/plenty of examples around.

It was also the basis for DSLazy and DSBuff which are graphical frontends.
https://www.gamebrew.org/wiki/DSLazy
https://www.romhacking.net/utilities/1214/

nitroexplorer https://www.pokemonhacking.com/nds-hack-tools/nitroexplorer-3/ can also do some things, it is mostly there for when ndstool fails.

crystaltile2 has unpacking and rebuilding options but eh. Also has a firmware editor for the stock firmware but we will leave that for now.

tinke, mkds course modifier and tools like it should also be able to do things here. If the size is the same then can probably even use ndsts.


Once the fwimage.bin in the noflashme tool has been replaced with FW0802D6.BIN and repacked into a nds file you get to run it.
The DS firmware has a write protection on it to stop it being written beyond the settings (name, birthday*, touchscreen calibration, favourite colour, wifi info which this might lack by the way and who knows what will go if you try to run a wifi bearing game that tries to overwrite things) but presumably as a repair option you can enable writing by bridging a couple of pins on the board for both the original and the lite family. This is pin SL1 and can be reached by opening the battery cover. DS originals are pretty easy and you can shove a bit of tin foil, screwdriver or whatever down there and it will probably work just fine. DS lites are still available but also in there is a pad that if shorted to will shut down the DS, not ideal when you are writing a firmware (presumably in this case without a minimum boot restoration feature like flashme has), so people used to use more complicated tools to bridge things (think plastic clicky pen but to short something out instead), or take off the back panel to do more easily (and have to power the thing externally).


*has anybody checked to see if that is a thing on this by the way? For those unfamiliar then there is a little easter egg and on your birthday set the firmware the startup jingle is different.
 

KirgoPlayer007

Well-Known Member
Member
Joined
Sep 25, 2021
Messages
122
Trophies
0
XP
642
Country
Romania
The DS was the first Nintendo handheld to use a file system (as opposed to bundling in into one big file) for commercial games (called nitrofs if you are bored) and homebrew followed along from it.

flashme is the main DS firmware modifying tool but the basic installer is just that and will only install some modifications. noflashme is a stock firmware restoration tool (can even make some later models of original DS have variable brightness as they have the same chip as the DS lite) originally for flashme but also works with other custom firmwares that are out there (mostly creebome, loopy's minimal firmware and fwnitro https://www.gamebrew.org/wiki/FWNitro https://web.archive.org/web/20071226214742/http://zzo38computer.cjb.net/Nitro2/fwnitro/ ) or corrupted firmwares. Said install tools for the other firmwares might also be an alternative installation path if this or the ppflash hardware method is not for you, though it will likely be what you need if you screw this up.
Finishing my list of fun DS firmware related tools then
https://github.com/CasualPokePlayer/fwunpack https://web.archive.org/web/20160329142229/http://chishm.drunkencoders.com/NDS_Projects/fwunpack.zip
The firmware itself uses all manner of interesting encodings, packings and compression techniques compared to what the average ROM hacker might see even in a more complicated ROM so there is that.
There are some dumpers but eh far easier to download one and edit that.

Alternatively if you just want to run the firmware as a DS file from your flash cart (it will have all the same looks and abilities) rather than flashing it then https://gbatemp.net/threads/release-fw2nds-build-firmware-nds-from-firmware-bin.508831/ might be of some interest.


Anyway
If it is just the case that a file contained within noflashme needs to be replaced (entirely possible) then any tool that can unpack and repack a DS ROM can probably do the deed.

ndstool is the original tool and one that comes with the devkitpro toolkit for this. Standalone versions exist for all manner of platforms, though might be harder to find with the devkitpro peeps sending out C&Ds.
It is a command line tool but should be doable enough/plenty of examples around.

It was also the basis for DSLazy and DSBuff which are graphical frontends.
https://www.gamebrew.org/wiki/DSLazy
https://www.romhacking.net/utilities/1214/

nitroexplorer https://www.pokemonhacking.com/nds-hack-tools/nitroexplorer-3/ can also do some things, it is mostly there for when ndstool fails.

crystaltile2 has unpacking and rebuilding options but eh. Also has a firmware editor for the stock firmware but we will leave that for now.

tinke, mkds course modifier and tools like it should also be able to do things here. If the size is the same then can probably even use ndsts.


Once the fwimage.bin in the noflashme tool has been replaced with FW0802D6.BIN and repacked into a nds file you get to run it.
The DS firmware has a write protection on it to stop it being written beyond the settings (name, birthday*, touchscreen calibration, favourite colour, wifi info which this might lack by the way and who knows what will go if you try to run a wifi bearing game that tries to overwrite things) but presumably as a repair option you can enable writing by bridging a couple of pins on the board for both the original and the lite family. This is pin SL1 and can be reached by opening the battery cover. DS originals are pretty easy and you can shove a bit of tin foil, screwdriver or whatever down there and it will probably work just fine. DS lites are still available but also in there is a pad that if shorted to will shut down the DS, not ideal when you are writing a firmware (presumably in this case without a minimum boot restoration feature like flashme has), so people used to use more complicated tools to bridge things (think plastic clicky pen but to short something out instead), or take off the back panel to do more easily (and have to power the thing externally).


*has anybody checked to see if that is a thing on this by the way? For those unfamiliar then there is a little easter egg and on your birthday set the firmware the startup jingle is different.
Wow, this is just the explanation I needed! Thanks
 

KirgoPlayer007

Well-Known Member
Member
Joined
Sep 25, 2021
Messages
122
Trophies
0
XP
642
Country
Romania
Could you upload the noflashme source code as well?
Hi! Let me search if I still have it. Same rules apply, if Loopy does not like this then it will get deleted
Post automatically merged:

Could you upload the noflashme source code as well?
Found it!
 

Attachments

  • noflashme.zip
    1.8 MB · Views: 20
  • Like
Reactions: RealYoti and xprism

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Skelletonike @ Skelletonike: Guess things have improved compared to my previous experiences a few years ago.