Some cards like the R4 and a few other cards have trouble running certain games,
With the exception of one game "Star Wars Jedi Alliance" All games can be fixed to work on these lower qaulity cards.
So why is it broken?
Basicly at some point during development nintendo changed the way save files are handled, saves are handled by a file inside all ds roms called "arm7.bin", older cards such as the R4 and others have no way of reading or using this updated arm7, so the solution is to swap the newer arm7 with an older arm7 taken from a working game.
This is refered to as an arm7 patch, swap or fix.
So how do i fix it?
First of all just try update your cards firmware. Firmwares for all cards
If that doesnt work there are a few programs out there that you can use to arm7 swap, DSlazy and DSbuff.
DSbuff being a more up to date program.
DSbuff v.1 Final link: DSbuff
Extract with 7zip, winrar or winzip: 7 Zip
Pre extracted arm7.bin from Contra 4: arm7.bin
If you download the arm7.bin put it in the folder you create in step one then you can skip step 2 completly.
NOTE: If DSbuff doesnt work properly on your computer *for example the program crashes during the arm7 swap follow this guide for DSlazy* DSlazy links and guide
Step one: Set-Up
Create a folder on your desktop and name it the game you want to fix.
Extract DSbuff anywhere and start it.
Step two: Unpacking
Run DSbuff.exe and click browse now choose a game you have that works.
Click unpack then browse in the new drop down section.
Choose the folder you created on your desktop
Click "Unpack Checked" and make it so only Arm7 has a tick.
Step three: arm7 swap.
Click the Drive:\ directory up the top or just restart DSbuff and click browse, now select the game your trying to fix.
Click on arm7 then browse and choose arm7.bin from your folder you created. Now click
Watch the green line to see when its done, it will unpack, then repack then when its finished give you the option of what to name the file.
Congratulations your finished, enjoy your game.