Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void cfOptimizeCycleTime()
- {
- int cycletime = 40;
- // first sector MUST already be loaded into buffer
- // the algorithm is as follow:
- // first the cycletime is high, for slow access.
- // repeatedly set the cycletime smaller (for faster)
- // stop once the data doesn't match what you got for the first read.
- while(1)
- {
- cfReadSector(fat_buffer, 0);
- if(memcmp(fat_buffer, buffer, 512) != 0)
- {
- // newly read buffer differs from original! must be corrupted, slow back down
- cycletime += 5;
- cfSetCycleTime(cycletime);
- return;
- }
- // otherwise trim it down a bit
- cycletime -= 5;
- if(cycletime <= 5)
- {
- // never let it go below 5
- cfSetCycleTime(5);
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement