Commit Graph

17 Commits

Author SHA1 Message Date
Unknown W. Brackets
8dd7527dc8 Clamp reads at the beginning too.
Safer, avoids an index overrun in disk cache.
2016-05-26 00:07:46 -07:00
Unknown W. Brackets
1c357f7f7b Fix reads from cache outside the file.
Homebrew seems to all trigger us to read after the end of file, which was
looping infinitely.  Fixes #8773.
2016-05-25 18:42:21 -07:00
Unknown W. Brackets
12f8df395b Return correct bytes near end in RAM caching.
Reading beyond the end of file should not return data.  Also check what
the backend actually returned, in case it wasn't able to return data
either.
2016-05-22 01:35:16 -07:00
Unknown W. Brackets
546c0a5d9b Fix buffer overflow in RAM caching feature.
Would mainly affect files not even block sizes, such as CSO files, but
might affect all files.  Oops.  Fixes #8764.
2016-05-22 01:34:31 -07:00
Unknown W. Brackets
ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Unknown W. Brackets
0517d3721c Correct recovery of locked disk cache files.
We were keeping the index when creating a new file, rather than clearing
it.  Additionally, flush before all reads - in case of overlap.
2016-02-06 19:49:33 -08:00
Unknown W. Brackets
288a5c7aab Lock the diskcache while in use.
This prevents it from being corrupted due to a crash.
2016-01-30 20:50:37 -08:00
Unknown W. Brackets
95abf332d1 Disable ISO RAM cache if out of memory.
Better to fail to preload than to crash.
2015-12-19 15:29:34 -08:00
Unknown W. Brackets
dd5c91108c Use a background thread to load ISO into RAM.
This way we don't get slow startup.  This will also cache the CSO data,
for example, rather than the raw data, using up less RAM.  It might even
be reasonable to enable on 32-bit.
2015-12-19 15:23:25 -08:00
Unknown W. Brackets
0264422b8d Add a bit more error detection to the disk cache. 2015-11-18 21:56:07 -08:00
Unknown W. Brackets
475964133c Make disk cache size a bit more flexible.
This way it will shrink to allow a few games to be cached simultaneously.
2015-11-18 21:56:06 -08:00
Unknown W. Brackets
f2cefebcb6 Garbage collect files when low on free cache space. 2015-11-18 21:56:04 -08:00
Unknown W. Brackets
df6cbafe0f Measure free disk space to size block count. 2015-11-18 21:56:03 -08:00
Unknown W. Brackets
f0ec6fab4d Reorganize disk cache to allow for dynamic size. 2015-11-18 21:56:02 -08:00
Henrik Rydgard
b6e9a47974 Remove separate OpenSL .so, update native accordingly. Fix connection error reporting in HomebrewStore 2015-07-19 17:33:38 +02:00
Unknown W. Brackets
88b23460f1 Add a file loader to perform disk caching.
Had to do some tricks to handle gameinfocache threads properly.
2015-07-02 20:58:58 -07:00
Unknown W. Brackets
da827d9ef0 Move file loader code into directories.
Not making sense to put these all in the same fiel anymore.
2015-07-02 20:58:53 -07:00