Experimental Sdhc Support For Gp2x


That's really great guide! Many thanks. I think I'll pick up a 4gig card now, they are kinda cheaper!
 
Hi,

Thanks for these great instructions. I just tested on an 8gb A Data card and it seems to be working fine!

Cheers,

Kai



rememberthe8bit said:
dunnster said:
Guys,
hi just got my GP2X so please live with me just now, I have looked extensivley through all the threads regarding this subject ,I have a Toshiba 4gb SDHC card to get this to work and for future would/could somebody please give me instructions how to

1. find the file to add
2. step by step instructions ( a real idiots guide please ;)

I have worked out a lot for myself already on this great machine but was looking for just a little help on this issue,

ps im running FW3.00

cheers in advance guys
OK, you'll have to live with firmware 2.1.1 after you're done with this. (3.0 just seems to be 2.1.1 with slower startup times :lol: )


Read all of these instructions once before you begin. (I'm not resposible for the untimely demise of your GP2X, either. :) )


Pre-work setup:
You'll need some new/fresh rechabgable batteries, and a non-SDHC SD card (2GB or lower in size).

Step 1:
Download firmware 2.0 from the archive here.

Step2:
Put your non-SDHC SD card in your card reader. And plug the reader into your computer.

Copy everything from the card to your computer. The next part will erase everything on the card!

Format the non-SDHC SD card as FAT. (Go to My Computer, right-click on the drive letter that represents your card, then choose format. Choose FAT in the "File System..." drop-down box, and press "Start".)

Step 3:
Extract the contents to a folder, and copy everything to the non-SDHC SD card. Don't put the data in any folders on the non-SDHC SD card!

Step 4:
Put the non-SDHC SD card into your GP2X, and hold Start and Select as you turn it on. Continue to hold those buttons until the main menu comes up.

Step 5:
Format the non-SDHC SD card (again), or just delete all of the files.

Step 6:
Download firmware 2.1.1 from the archive here.

Step 7:
Extract the contents to a folder, and copy everything to the non-SDHC SD card (again). Don't put the data in any folders on the non-SDHC SD card!

Step 8:
Put the non-SDHC SD card into your GP2X, and hold Start and Select as you turn it on. Continue to hold those buttons until the main menu comes up. (Yes, you need to do this again.)

Step 9:
Delete all of the files off of your non-SDHC SD card again.

Step 10:
Get notaz's patched firmware here.

Step 11:
Extract the contents to a folder, and copy only gp2xkernel.img to the non-SDHC SD card (again again :) ). Don't put the file in any folders on the non-SDHC SD card!

Step 12:
Put the non-SDHC SD card into your GP2X, and hold Start and Select as you turn it on. Continue to hold those buttons until the main menu comes up. (This is the last time, I promise. :p )

Step 13:
Delete all of the files from your non-SDHC SD card, and put all of the files that you want to use on your SDHC card.

Step 14:
Plug in you SDHC card, and hope/pray/whatever-you-do that you SD card works.

(Sorry if my writing sounded insulting, I tried to write it for a "real idiot". :D )
 
Last edited by a moderator:
How is the speed with these 8 gig cards compared to normal non SDHC cards while reading? Try a large game in GnGEO or a MegaCD game on Picodrive where it spools from the card. Are the pauses shorter, the same, or worse?
 
DaveC said:
How is the speed with these 8 gig cards compared to normal non SDHC cards while reading? Try a large game in GnGEO or a MegaCD game on Picodrive where it spools from the card. Are the pauses shorter, the same, or worse?
Dave,

I have not tried exhaustive tests with games but my indicative testing suggests that performance of SDHC is comparable with SD cards of the similar speed ratings (Ok, x*** V the Class markings but you get the idea) on the GP2X. That was tested with Open2x but Notaz patch is very similar so that should also get similar results.

Don’t expect miracles as the SD controller on the MMSP2 is not a high point of the SoC ;) but for general use I would say SDHC is now as usable as SD support (if not quite as stable or well tested).

There does not seem to be any noted degradation of speed over other ‘cheap’ SD cards but unless somebody wants to donate some of the higher class cards for testing I am limited by what I can get cheap ;).

John
 
Last edited by a moderator:
Some No-Name 8GB SDHC Card (Class 4) is not being seen.

Now, here's the output from the gp2x:

MMC/SD Card Detected
###[mmcsd_bus.c:447]->check_sd_ocr: ACMD41 fail!!!
Division by zero in kernel.
Function entered at [<c00559c8>] from [<c015f9a4>]
Function entered at [<c01053b0>] from [<c010441c>]
r7 = C01C0CA8 r6 = C018CAD0 r5 = C018CB98 r4 = C018CB64
Function entered at [<c010434c>] from [<c01062d8>]
r6 = C018CB94 r5 = 00000000 r4 = C018CB98
Function entered at [<c0106220>] from [<c0067610>]
r7 = C026A348 r6 = C026A000 r5 = C026BF88 r4 = C026BF88
Function entered at [<c0067590>] from [<c007013c>]
r5 = C0182A2C r4 = C0182A24
Function entered at [<c006fff4>] from [<c0051fa8>]
Division by zero in kernel.
Function entered at [<c00559c8>] from [<c015f9a4>]
Function entered at [<c01053b0>] from [<c010441c>]
r7 = C01C0CA8 r6 = C018CAD0 r5 = C018CB98 r4 = C018CB64
Function entered at [<c010434c>] from [<c01062d8>]
r6 = C018CB94 r5 = 00000000 r4 = C018CB98
Function entered at [<c0106220>] from [<c0067610>]
r7 = C026A348 r6 = C026A000 r5 = C026BF88 r4 = C026BF88
Function entered at [<c0067590>] from [<c007013c>]
r5 = C0182A2C r4 = C0182A24
Function entered at [<c006fff4>] from [<c0051fa8>]
Register SD: 0MsB
mount...1
mount...2:

Now, this is gonna be fun, eh? :)
 
EvilDragon said:
Some No-Name 8GB SDHC Card (Class 4) is not being seen.

Now, here's the output from the gp2x:

MMC/SD Card Detected
###[mmcsd_bus.c:447]->check_sd_ocr: ACMD41 fail!!!
Division by zero in kernel.
Function entered at [<c00559c8>] from [<c015f9a4>]
<SNIP RANDOM SEG FAULTS>
Register SD: 0MsB
<WELL THERE YOU GO, NO SD ;)>
mount...1
mount...2:

Now, this is gonna be fun, eh? :)
Ed, ACMD41 fail means that the card did not return a valid response to a request for it's voltage settings (but did respond to the CMD55 call :eek:). That's a little 'unexpected' but not unheard of.

In essence it went, "Oh hi Mr SD card (CMD55), what can I do with you (ACMD41), I have no idea, bang, splat, crash, show evil looking Division by zero in kernel" ;). That division by zero error really needs to be patched as it's a nasty way to crash.

As for the card. It’s hard to tell without more info. I will catch you on ICQ later to discuss. I may have some log tools you can try or if your feeling daring the latest builds of the bootloader with some SD/SDHC debug output.

Lastly, looking at the point in the code it failed I assume your using Open2x DR1 based kernel?

John
 
Last edited by a moderator:
I've just taken delivery of an Integral 8GB Class 4 SDHC card and I get the same 'divide by zero' problem when my patched GP2X tried to mount it.

CODE

MMC/SD Card Detected
###[mmcsd_bus.c:447]->check_sd_ocr: ACMD41 fail!!!
Division by zero in kernel.
Function entered at [<c00559c8>] from [<c015f9a4>]
Function entered at [<c01053b0>] from [<c010441c>]
r7 = C01C0CA8 r6 = C018CAD0 r5 = C018CB98 r4 = C018CB64
Function entered at [<c010434c>] from [<c01062d8>]
r6 = C018CB94 r5 = 00000000 r4 = C018CB98
Function entered at [<c0106220>] from [<c0067610>]
r7 = C026A348 r6 = C026A000 r5 = C026BF88 r4 = C026BF88
Function entered at [<c0067590>] from [<c007013c>]
r5 = C0182A2C r4 = C0182A24
Function entered at [<c006fff4>] from [<c0051fa8>]
Division by zero in kernel.
Function entered at [<c00559c8>] from [<c015f9a4>]
Function entered at [<c01053b0>] from [<c010441c>]
r7 = C01C0CA8 r6 = C018CAD0 r5 = C018CB98 r4 = C018CB64
Function entered at [<c010434c>] from [<c01062d8>]
r6 = C018CB94 r5 = 00000000 r4 = C018CB98
Function entered at [<c0106220>] from [<c0067610>]
r7 = C026A348 r6 = C026A000 r5 = C026BF88 r4 = C026BF88
Function entered at [<c0067590>] from [<c007013c>]
r5 = C0182A2C r4 = C0182A24
Function entered at [<c006fff4>] from [<c0051fa8>]
Register SD: 0MsB
mount...1
mount...2:
**>>ecc error unfixed on chunk 7939:0
**>>ecc error unfixed on chunk 7939:1
**>>Block 248 marked for retirement
**>>ecc error unfixed on chunk 7937:0
**>>ecc error unfixed on chunk 7937:1
**>>Block 248 marked for retirement



Then it just carries on with a stream of ecc errors.
Works fine on my desktop running Fedora 7
 
Transcend Class 6 8GB card works without problems. Very good work and thanks for this one, notaz.
 
This is starting to sound pretty sweet, i gonna buy that Transcend Class 6 8GB SDHC soon now :)
ThanX for testing this card =- sbock -=, And also Big ThnX to Notaz for this patch ^^.
 
Hmm, I've tried with a Toshiba 4 GB SDHC Memory Card (Class 4), and my gp2x didn't recognize the card despite the patch and multiple formatting of the card under windows and linux with an external cardreader.
Any ideas or any way I can try getting this thing to work would be very much appreciated... :)
 
Much thanks!!

I got a no-name 4gb sd card which I thought was completely doomed and was a big waste of money and would never work.

This guide is great, My capacity for gp2x has just went from 1gb- 5gb
 
Does anyone know if the 16 gig cards work with this patch?
 
Back
Top