267 Commits

Author SHA1 Message Date
Unknown W. Brackets
c085b9c082 Don't try to read negative file sizes. 2014-11-06 08:45:33 -08:00
Unknown W. Brackets
5ef2df7ebd Fix a small warning on 32-bit.
Would only practically matter for very very large reads on very very large
csos.
2014-11-03 23:32:25 -08:00
Unknown W. Brackets
10bcb323ac Oops, forgot to free up zlib resources. 2014-11-03 13:40:09 -08:00
Henrik Rydgård
f1d43e7e90 Merge pull request #7046 from unknownbrackets/perf
Improve load and shutdown performance a bit
2014-11-03 21:50:10 +01:00
Unknown W. Brackets
61c21340fb Warning fixes. 2014-11-03 08:34:34 -08:00
Unknown W. Brackets
28b3b841d5 Implement optimized multi-block reads for iso/cso.
This of course means less fread() calls, and is faster.  It improves load
time even on my desktop.
2014-11-02 21:43:27 -08:00
Unknown W. Brackets
9c5ad44000 Add an interface to read multiple blocks at once. 2014-11-02 19:54:13 -08:00
Unknown W. Brackets
f3f7fb2648 Show an on screen message when disk full is hit. 2014-11-02 13:29:25 -08:00
Unknown W. Brackets
a6a234add1 Return errors on disk full for file creation. 2014-11-02 12:40:31 -08:00
Unknown W. Brackets
d4e8bd96af Handle disk full more properly in sceIoWrite(). 2014-11-02 10:55:27 -08:00
Sacha
b7f2de7d29 Check free disk space on Symbian too. 2014-11-02 12:27:20 +10:00
Unknown W. Brackets
9511fd81f1 Warning fix. 2014-11-01 00:33:20 -07:00
Unknown W. Brackets
f687613d68 Check disk space on Posix/Android systems also.
Android apparently decided to skip statvfs() and only implement the older,
os-dependent statfs().
2014-11-01 00:33:20 -07:00
Unknown W. Brackets
2958c575a1 Check actual free disk space when games ask.
Windows only for the moment.
2014-11-01 00:33:19 -07:00
Henrik Rydgard
f5c9235640 Buildfix (needed an include in the header on some platforms so let's move to the cpp file) 2014-10-31 00:35:39 +01:00
Henrik Rydgard
291e5e53c0 Add feature to cache ISOs in RAM to avoid I/O stutters. 64-bit only. Loading gets slow though.
TODO: Make it cache in the background on load. Allow on 32-bit for small ISOs.
2014-10-31 00:14:00 +01:00
Unknown W. Brackets
734c81223e Support cso files with larger block sizes.
Calling them "frames" just to quell the confusion level in the code.
2014-10-25 21:18:12 -07:00
Andrew Church
97a0b0c510 Remove bogus blank line. 2014-09-04 18:09:07 +09:00
Andrew Church
f976c309b4 Ensure that sceIoOpen() fails on directories. 2014-09-04 18:03:28 +09:00
Henrik Rydgard
c5861f4277 Rename to ISOBlockSystem, savestate workaround (?) 2014-07-28 00:01:10 +02:00
Henrik Rydgard
8146ff85f3 umd0 solution: Add "OnlyEntireISOFileSystem"
Wraps around an ISOFileSystem, redirecting all the filenames to "" to
achieve the desired effect (should fix Bleach Soul Carnival 2 without resorting
to CPkmn's hack from #6638)

Probably breaks savestates as-is...
2014-07-27 23:42:46 +02:00
Henrik Rydgard
272f0b8c70 Add a TODO (handling corrupt CSO data) 2014-07-22 16:07:10 +02:00
Sacha
cd20288d99 Fix some compiler warnings. 2014-07-17 00:49:58 +10:00
Unknown W. Brackets
a5b0901c36 Improve cross-platform savestate compat.
If 0 files are open in flash0:, which is very very common, this will make
them work the same.
2014-07-04 13:34:38 -07:00
Henrik Rydgard
56a513e20a Oops, accidentally changed the non-android path in a bad way. 2014-06-10 01:06:22 +02:00
Henrik Rydgard
0b42530fd8 Use low-level I/O on Android for 64-bit offset support
Fixes videos in FF Type-0 on Android. See #6268
2014-06-10 01:00:34 +02:00
Henrik Rydgard
d6b51d4dfa Reduce some excessive logging 2014-06-09 19:40:05 +02:00
Lioncash
c54b7c1ec4 Get rid of unnecessary c_str calls in VirtualDiscFileSystem.cpp 2014-05-27 21:57:10 -04:00
Unknown W. Brackets
63b5ec3d85 Allow specifying a root path for host0:/.
This way, similar to the PSP, we can have a root path outside the test.
2014-04-19 21:43:09 -07:00
Henrik Rydgard
c9eb4a1916 VFSFileSystem too 2014-04-13 23:34:08 +02:00
Henrik Rydgard
a53ecd7da3 More elegant way of solving #5839 (d_private in sceIoDread)
We flag filesystems as being FAT32 instead of checking for "ms0:".
2014-04-13 23:22:17 +02:00
Unknown W. Brackets
943bc7ee78 Oops, close the dir after listing it in ms0:/.
This was affecting some savedata modes, and showed up on tests.  Not sure
how it might've affected games, probably not much.
2014-03-30 19:34:19 -07:00
Henrik Rydgård
382db79307 Merge pull request #5698 from raven02/patch-32
Do it inside inColon
2014-03-25 00:27:28 +01:00
Unknown W. Brackets
3a376a0cd9 Fix exists check in VFSFileSystem::GetFileInfo().
Only matters if it can't map the path / doesn't have the apk mapped (e.g.
as on headless right now.)
2014-03-23 13:01:52 -07:00
raven02
9b272cfc68 Do it inside inColon 2014-03-23 22:37:43 +08:00
sum2012
c208b17a75 Change to comment 2014-03-23 16:48:32 +08:00
sum2012
48b07d46bf Remove entire block again 2014-03-23 12:15:23 +08:00
sum2012
0694e91fab Remove entire block 2014-03-23 11:19:37 +08:00
sum2012
ba88be9172 Fix disc0:/ vs. disc0: in path parsing
Fix Hot Pixel loading
2014-03-23 11:04:06 +08:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
ed2417731a Improve error handling when PARAM.SFO can't read. 2014-02-15 10:34:39 -08:00
Unknown W. Brackets
cff6ad6428 Attempt to virtually handle truncation properly.
Fixes LittleBigPlanet save problem, at least on US.
2014-02-15 10:34:38 -08:00
Unknown W. Brackets
9293bb17b9 Switch to file descriptors instead of FILE *.
This allows us to support the io modes more accurately, not truncating for create/write, etc.
2014-02-15 10:34:38 -08:00
Unknown W. Brackets
bd982b2e6f Support PSP_O_TRUNC on Windows.
There are more modes we don't support properly.  May fix savedata
corruption in Gran Turismo and possibly other games.
2014-02-11 23:54:30 -08:00
sum2012
b348c05467 Fix MapFilePath by @unknownbrackets
Fix #5377
2014-02-11 21:26:44 +08:00
Unknown W. Brackets
73722d9cee Support additional prefixes, like memstick:.
I also found umd01: and host01: work, etc.  May help #5377 and possibly
others.

It seems like games can assign these at will and potentially even
subpaths, but reporting hasn't shown many cases yet.  We can still watch
it.

Avoided mapping additional systems because savestates don't handle that
well currently.
2014-02-10 01:41:28 -08:00
Unknown W. Brackets
6bdfa5a13a Support larger iso files (more than 2GB.)
No actual PSP games are this big (a UMD can only go up to 1.8 GB), but it
can be convenient for combined multi-game discs.  Fixes #5169.
2014-01-23 22:00:15 -08:00
Unknown W. Brackets
bc7bc87941 The total size of umd0: is in blocks.
Therefore sceIoLseek(umd0:, 0, 2) should return the number of blocks, not
the number of bytes, in the iso.

Looks like this may help Zero no Kiseki.
2014-01-11 08:34:04 -08:00
Unknown W. Brackets
f14361c3b8 Add a bunch more missing cstring includes. 2013-12-30 21:37:19 -08:00
Henrik Rydgård
00c32ddadb Mostly get rid of including "Globals.h" 2013-12-30 10:17:11 +01:00