Tutorial  Updated

how to check your firmware version on ds/ds lite

What will you need
1.a DS/DS lite
2.a DS/GBA game

Instructions
Step 1: put in GBA or DS card into DS (flashcarts may or may not work)
Step 2: turn on DS (hold down start while powering on if you have auto mode)
Step 3: load up pictochat and go into any chat room
Step 4: take GBA or DS card out while in pictochat
Step 5: done

Versions
v1: Pictochat freezes
v2: two greyish blue screens
v3: two dark green screens
v4: two golden yellow screens
v5: two magenta screens
v6: two dark blue screens
v7: DS system does not crash


credit to: https://en.m.wikipedia.org/wiki/Nintendo_DS_homebrew
 
Last edited by TyDye, , Reason: small tweaks and typo fixes

Heran Bago

Where do puyo come from?
Member
Joined
Nov 6, 2005
Messages
3,100
Trophies
0
Age
35
Location
Foggy California
Website
heranbago.com
XP
1,187
Country
United States
Flashme owns for the boot animation skip. With the transition to Slot-1 flash carts that's the only solid reason why Flashme is functionally superior to stock for everyday use.

Excellent list and thread OP!
 

lincruste

Well-Known Member
Member
Joined
Jan 13, 2008
Messages
375
Trophies
1
Location
france
XP
1,187
Country
Antarctica
Anyone willing to dig the DS's hacking history MUST read Lynx's long gone Homebrew History, it's an incredibly addictive read. The link is dead but a snapshot is available through the Wayback Machine:
https://web.archive.org/web/2009041...m/modules.php?name=Content&pa=showpage&pid=40
Everything you need to know about Natrium42, Darkfader, passme and firmware protection is there.

Edit: all hail to Internet Archive.
(It might be a good idea to grab the article and copy it somewhere else for future-proofness )
 
Last edited by lincruste,

Ryccardo

Penguin accelerator
Member
Joined
Feb 13, 2015
Messages
7,690
Trophies
1
Age
28
Location
Imola
XP
6,907
Country
Italy
What are the advantages of having a specific firmware version?

-Compatibility with the original Wifime (which was patched with V3)
-DS Phat which came with V5 has the DS Lite regulator, so it can be upgraded to adjustable brightness

It's not like you can download a firmware and flash it
Noflashme can be used to update it... not like it brings any advantages
 

nickerous

Well-Known Member
Member
Joined
May 18, 2013
Messages
117
Trophies
0
Age
48
XP
632
Country
United States
So, if I'm reading this right, I can upgrade my original nds to a brighter screen like the ds lite, if it was a v5 originally...right? If either of my phats are not v5 now, I'm sol, right?
 

Ryccardo

Penguin accelerator
Member
Joined
Feb 13, 2015
Messages
7,690
Trophies
1
Age
28
Location
Imola
XP
6,907
Country
Italy
So, if I'm reading this right, I can upgrade my original nds to a brighter screen like the ds lite, if it was a v5 originally...right? If either of my phats are not v5 now, I'm sol, right?
What ultimately matters is that they must have the same power controller chip as the Lite; and all those consoles came with V5 out of the box - but while unlikely, it is perfectly possible for a console to have been updated or downgraded afterwards (by replacing the eeprom, or using NoFlashMe)
 
D

Deleted User

Guest
What will you need
1.a DS/DS lite
2.a DS/GBA game

Instructions
Step 1: put in GBA or DS card into DS (flashcarts may or may not work)
Step 2: turn on DS (hold down start while powering on if you have auto mode)
Step 3: load up pictochat and go into any chat room
Step 4: take GBA or DS card out while in pictochat
Step 5: done

Versions
v1: Pictochat freezes
v2: two greyish blue screens
v3: two dark green screens
v4: two golden yellow screens
v5: two magenta screens
v6: two dark blue screens
v7: DS system does not crash


credit to: https://en.m.wikipedia.org/wiki/Nintendo_DS_homebrew
I have an NTR-001 PAL DS, which is on V3. Don't really know if this is of much use, but it's pretty cool to know!
 

raxadian

Well-Known Member
Member
Joined
Nov 10, 2018
Messages
4,353
Trophies
1
Age
41
XP
4,537
Country
Argentina
My old Blue DS has v4. And my Black DS Lite has v5. Both both any Flashcarts I have but the Old DS sometimes doesn't, dunno why.
 
Last edited by raxadian,

TunaTheRoo

New Member
Newbie
Joined
Feb 28, 2019
Messages
1
Trophies
0
Age
19
Location
Missouri, USA
Website
soundcloud.com
XP
52
Country
United States
Ok so, from what I've gathered here, it sounds like all Lite models have at least v5 or newer? Because well... when I was just only five I got a DS Lite for Christmas or something and so did my cousin, sometime around 2009 or 2010 (I'm almost 14 atm). It was a blue one and I remember being a retarded kid and all I got really curious and for no reason would take out the cartridge and see how long I could wait for the frozen DSLite (yes, you heard me--frozen) to die before I got bored. I know it sounds dumb but its was almost a decade ago and I wasn't even like 6 yet so whatever...

Yeah so.... a DS, Lite model from 2009/2010, yet it behaves like or has v1 firmware (freezes). Infact this is how I always thought it just worked. I was never aware of any other possible out come other than the console freezing, and everyone around me had the same thing. A little help??
 

Nicknine

Member
Newcomer
Joined
Feb 18, 2021
Messages
5
Trophies
0
XP
76
Country
Russia
This works on Desmume, too, looks like the firmware I have is v5. You also don't actually need to enter a room in PicToChat, you just need to open the app.
I was thinking that we could try and collect hashes of all the firmware versions? User settings are stored in the last 0x600 bytes of the ROM, everything before that should be same for everyone with that version. Try dumping your firmware, cutting off the last 0x600 bytes from the file in hex editor or something and calculating MD5 hash of what you got. Make sure you got unmodified firmware first. Mine is v5 - 8FB13297FF3788BB36F2A37089307A16.

Yeah so.... a DS, Lite model from 2009/2010, yet it behaves like or has v1 firmware (freezes). Infact this is how I always thought it just worked. I was never aware of any other possible out come other than the console freezing, and everyone around me had the same thing. A little help??

Did you actually do this in PicToChat? If you do this on the main screen I think it always just freezes.
 
Last edited by Nicknine,

gabe565

New Member
Newbie
Joined
Jan 5, 2016
Messages
1
Trophies
0
Age
28
XP
45
Country
United States
This works on Desmume, too, looks like the firmware I have is v5. You also don't actually need to enter a room in PicToChat, you just need to open the app.

I can confirm that this works in Desmume. I have firmware dumps from a DS Phat and a DS Lite. Both crashed as expected. The DS Phat dump froze (v1) while the DS Lite dump turned magenta (v5).

I was thinking that we could try and collect hashes of all the firmware versions? User settings are stored in the last 0x600 bytes of the ROM, everything before that should be same for everyone with that version. Try dumping your firmware, cutting off the last 0x600 bytes from the file in hex editor or something and calculating MD5 hash of what you got. Make sure you got unmodified firmware first. Mine is v5 - 8FB13297FF3788BB36F2A37089307A16.

I would love to contribute checksums, but I can't seem to get my v5 firmware checksum to match yours. My firmware dump is 262144 bytes in total. I subtracted 0x600 bytes, ending up with 260608. I used the Linux truncate command to truncate the file to that size, but the resulting MD5 is 9cfc9fa3ccdb71946a49112fd86382e8. Did I do something wrong?
 
Last edited by gabe565,
  • Like
Reactions: Harukiii

Hiccup

Well-Known Member
Member
Joined
Nov 21, 2009
Messages
1,000
Trophies
1
XP
1,786
Country
I can confirm that this works in Desmume. I have firmware dumps from a DS Phat and a DS Lite. Both crashed as expected. The DS Phat dump froze (v1) while the DS Lite dump turned magenta (v5).



I would love to contribute checksums, but I can't seem to get my v5 firmware checksum to match yours. My firmware dump is 262144 bytes in total. I subtracted 0x600 bytes, ending up with 260608. I used the Linux truncate command to truncate the file to that size, but the resulting MD5 is 9cfc9fa3ccdb71946a49112fd86382e8. Did I do something wrong?
I've started to add DS firmware dumps to the No-Intro ROM database. Do you think you could upload your dump? Even if the "unique data" can't be seperated yet, it could be done in the future, and it may be easier to do so if we have lots of example dumps.
 

Nicknine

Member
Newcomer
Joined
Feb 18, 2021
Messages
5
Trophies
0
XP
76
Country
Russia
Based on my observations, the first 0x200 bytes in firmware dump are unique per console (but not affected by user settings). I guess this area contains console ID or something along those lines?

Cutting off the first 0x200 bytes and the last 0x600 bytes gives me the following known hashes:
v3 (8:51 Feb 28 2005) - 7e8081ae21b7cb91b3127823be655c68
v4 (14:48 Jun 6 2005) - 80c856ed92ebe09c1d93f09fd895b42a
v5 (21:33 Feb 5 2006) - dc93ed168c94755140d748b19aa6bbd7 <----- First known DS Lite firmware
v5 (11:19 Mar 8 2006) - 744a1d789278a589484240121899d4c3

EDIT: There is some useful information here: https://problemkaputt.de/gbatek-ds-cartridges-encryption-firmware.htm

00000h-00029h Firmware Header
0002Ah-001FFh Wi-Fi calibration data
00200h-3F9FFh Firmware Code/Data
3FA00h-3FAFFh Wifi Access Point 1
3FB00h-3FBFFh Wifi Access Point 2
3FC00h-3FCFFh Wifi Access Point 3
3FD00h-3FDFFh Not used
3FE00h-3FEFFh User Settings Area 1
3FF00h-3FFFFh User Settings Area 2

From what I'm seeing in the files, firmware header and firmware code are consistent per version while Wi-Fi calibration data is per console (contains stuff like MAC address). One really useful thing in firmware header is BCD timestamp of firmware build which seems like a way better way of identifying firmware versions. I've added timestamps of each version to the table above.
 
Last edited by Nicknine,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Pass