Hacking 3DS unbricking progress

  • Thread starter Thread starter krisztian1997
  • Start date Start date
  • Views Views 376,337
  • Replies Replies 1,233
  • Likes Likes 32
Status
Not open for further replies.
NICE!
Now we are on the same page, dude.
So, probably the cards errors you had were from the lack of power: "Card is in IDLE. Checking if the voltage is correct.Initialization failed"
See?

Now, I wonder what does that 255 our 3DS are answering mean......
Could this be voltage related?
 
Here only gave 255 when I put a 8GB SD card.

Wait, I just remembered you said this.
What card was it the one that caused the same response than the 3DS?
Could you try that one again with the 3.3v voltage connected?
 
NICE!
Now we are on the same page, dude.
So, probably the cards errors you had were from the lack of power: "Card is in IDLE. Checking if the voltage is correct.Initialization failed"
See?

Now, I wonder what does that 255 our 3DS are answering mean......
Could this be voltage related?


Well I think so, but this is beyond my capabilities just krisztian1997, ryuga93 and bkifft can test this.



TOSHIBA SD 2GB tested again - Fail

Enabled outputs/inputs
Initialized SPI with 250khz frequency
Waiting the minimum 80 cycles for warm up
Keeping CS line on low for communication1

Card is in IDLE. Checking if the voltage is correct.
This is an SDHC (SD2) card
Initialization failed
Retrying...
Enabled outputs/inputs
Initialized SPI with 250khz frequency
Waiting the minimum 80 cycles for warm up
Keeping CS line on low for communication1

Card is in IDLE. Checking if the voltage is correct.
MMC card
Can't set BLOCKLEN to 512 bytes
Initialization failed
Retrying...

Initialization failed after several retries
 
Wait, I just remembered you said this.
What card was it the one that caused the same response than the 3DS?
Could you try that one again with the 3.3v voltage connected?




Micro SDHC 8GB - Worked

Note: no extra power does not work. 3.3V


Enabled outputs/inputs
Initialized SPI with 250khz frequency
Waiting the minimum 80 cycles for warm up
Keeping CS line on low for communication127
1

Card is in IDLE. Checking if the voltage is correct.
This is an SDHC (SD2) card
Set SET_BLOCKLEN to 512 byte
ReadCardStatus = 0,0
Password status: unlocked


----SD LOCKER MENU----
Programmed by Krisztian and Ryuga
Thanks Coto for your awesome CRC16 algorithm
This program is dedicated to crazyace2011 gbatemp
----------------------
u - UNLOCK
l - LOCK
e - ERASE
x - TERMINATE EXECUTION
----------------------


Micro SDHC 2GB - Worked

Note: no extra power does not work. 3.3V

Enabled outputs/inputs
Initialized SPI with 250khz frequency
Waiting the minimum 80 cycles for warm up
Keeping CS line on low for communication1

Card is in IDLE. Checking if the voltage is correct.
This is an SDHC (SD2) card
Set SET_BLOCKLEN to 512 byte
ReadCardStatus = 0,0
Password status: unlocked


----SD LOCKER MENU----
Programmed by Krisztian and Ryuga
Thanks Coto for your awesome CRC16 algorithm
This program is dedicated to crazyace2011 gbatemp
----------------------
u - UNLOCK
l - LOCK
e - ERASE
x - TERMINATE EXECUTION
----------------------
 
TOSHIBA SD 2GB tested again - Fail
Is you toshiba from the 3ds?It is confirmed that this card can't work in spi,I have that card too and it just fail even with the default sd library from arduino.I have read that once toshiba card does not support spi.maybe the card is manufactured at that time.

NICE!
Now we are on the same page, dude.
So, probably the cards errors you had were from the lack of power: "Card is in IDLE. Checking if the voltage is correct.Initialization failed"
See?

Now, I wonder what does that 255 our 3DS are answering mean......
Could this be voltage related?
The 255 is r1 response from cmd 0,which is 11111111 in binary.Each bit represents an error of that response,which sounds crazy as all the errors bit are set...
 
Is you toshiba from the 3ds?It is confirmed that this card can't work in spi,I have that card too and it just fail even with the default sd library from arduino.I have read that once toshiba card does not support spi.maybe the card is manufactured at that time.

Yes.
 
Is you toshiba from the 3ds?It is confirmed that this card can't work in spi,I have that card too and it just fail even with the default sd library from arduino.I have read that once toshiba card does not support spi.maybe the card is manufactured at that time.


The 255 is r1 response from cmd 0,which is 11111111 in binary.Each bit represents an error of that response,which sounds crazy as all the errors bit are set...
My 3DS emmc is Samsung and ASUS emmc is Toshiba, but both present the same wierd answer 255.
Maybe there is something in common with the sd card that gives the same error
 
The 255 is r1 response from cmd 0,which is 11111111 in binary.

check the conversation, I believe the 0xFF is the awake from idle (CS high) from the SPI_OUTemmc pin. It may be currently waiting for activity from the controller's SPI_OUTarduino

(the first 0xFF that appears right after 11 * 8 bits = 88 cycles on CS high while emmc controller is idle)
 
for anyone interested check out the tinyFAT lib, written for arduino but seems easily portable to all microcontrollers (you only need to change the GPIO handling code), got nice functions for the whole handshake stuff ("hello card, are you ok?" blablabla) and can then be used to send arbitrary commands (here its command 0x2A (always with those 42s...) with an argument 0x8, see already posted jedec standard, page 63 ff.).


edit: found an even smaller implementation that only does the force erase, written for avr: http://pastebin.com/jLXknkNk

edit the second: nice short writeup on CMD42 http://www.seanet.com/~karllunt/sdlocker2.html

A while back bkifft suggested a lib that could probably work better than the Roland's...
He specifically mentioned the hand shake stuff
 
Are you using the resistor voltage divider or an acctual logic level shifter? I have no problems with Sd cards using the level shifter at all...
 
Are you using the resistor voltage divider or an acctual logic level shifter? I have no problems with Sd cards using the level shifter at all...
Still using dividers,don't have access to these items until mid of February...
 
i have an arduino due , will the mmc erase program work or i need to adjust it?
and since thismodel operates at 3.3v , do i need the sd shield?
if you need testing i have a working ds and can help
thanks
 
We are still trying to make it work with Arduino Uno.
It should work on any other Arduino model with SPI support
 
another question , the datasheet of the nds bios states it's 2gb , so why is it only showing about 1 gb when we try to backup it?is there a hidden partition (maybe contains a backup of first fimware that the 3ds came bundled with? or it(s just disabled?
 
another question , the datasheet of the nds bios states it's 2gb , so why is it only showing about 1 gb when we try to backup it?is there a hidden partition (maybe contains a backup of first fimware that the 3ds came bundled with? or it(s just disabled?
First Guess is a hidden partion. But from dumping thé entire chip you should get that aswell
 
will the max232 work?
holy shit, now thats a blast from the past: last time i handled a maxim 232 was back in the day when i built a datacable for my nokia 6110.

but quickly eying the datasheet suggests that it shouldn't work, as rs 232 signals range from -12V to +12V (but I'm no electrical engineering guy whatsoever, so don't take that as the one truth).
 
A max 232 won't work. It converts 5V TTL levels to RS232 levels which are -10V and +10V. It's not converting 5V to 3V3
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum