#9009 - Snoobab - Sat Jul 26, 2003 11:03 am
Hi.
I received my Flash2Advance 64m cart + linker (ordered from success-hk.com) a couple of days ago. I'm happy to see most of my code tested on emu's works on hardware! What I was wondering was whether there is a limit to the amount of times you can write/erase the carts? Anyone have any ideas on this? Also, how would I set my code up so that my GBA restarts when I press 'START + SELECT + A + B' ?
Thanks,
- Ed.
#9014 - Dev - Sat Jul 26, 2003 4:24 pm
I believe that the generally accepted number of reflashes for those chips is roughly 100,000... yes, that's 100K and not a typo.
Ampz? Tepples? Do either of you know for sure?
Dev.
#9020 - Sweex - Sat Jul 26, 2003 5:02 pm
That's quite a lot...! I thought it was closer to a 1000 than to a 100k... But I haven't got a clue what it actually is...
_________________
If everything fails, read the manual: If even that fails, post on forum!
#9051 - Lord Graga - Sun Jul 27, 2003 11:01 am
As far as I remember, then you can write to the F2A 3 times every day for 9 years until it fails :)
#9055 - ampz - Sun Jul 27, 2003 1:16 pm
Most flash memories have a specified lifetime of 100k or even 1M cycles, but some Intel flash memories have a specified life of 10k cycles.
Not sure exactly what kind F2A uses.
Note that the specified lifetimes are the guaranteed number of cycles the chips can take. You can expect them to last even longer.
#9058 - Snoobab - Sun Jul 27, 2003 1:30 pm
So I guess none of us really have to worry then. In 100K re-writes time we'll all probably be coding the GBA3 & our poor old GBA1's will be sitting unused in our drawer :-P
#9189 - www-fmsoftware-info - Wed Jul 30, 2003 2:04 pm
if((!(*KEYS & KEY_B))&&(!(*KEYS & KEY_A))&&(!(*KEYS & KEY_START))&&(!(*KEYS & KEY_SELECT)))
{
// add reset code here
}
Not sure how to make it reset though. You could add a line of assembler to jump back to the start of the program.
_________________
[Images not permitted - Click here to view it]
www.fmsoftware.info
#9190 - mtg101 - Wed Jul 30, 2003 2:10 pm
You can use BIOS calls to reset the GBA. Either use the SWI libs that were posted on the gbadev.com site recently, or use the following function:
Code: |
void SoftReset()
{
asm volatile("swi 0x00000"); // 0x00 Soft Reset
}
|
_________________
---
Speaker for the Dead
#9209 - www-fmsoftware-info - Wed Jul 30, 2003 6:15 pm