mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-05-07 13:37:46 +00:00
Follow up of #18345 to add support (currently only on `Windows`; see notes below) for playing a PS3 disc game directly from a Blu-Ray Disc Drive. ### HOW IT WORKS: - The BD drive can be added as any other game so from `VFS games` or from `Add Games` menu. In case it is selected from `VFS games`, any attempt to write files is discarded, e.g. file `Disc Games Can Be Put Here For Automatic Detection.txt` - It scans the default redump keys folder `<rpcs3>/data/redump` (it currently needs to be manually created due it is not yet provided by rpcs3 installation) to find a matching decryption key ### NOTES: - Support is currently provided on `Windows` where I can fully test it. I cannot test under other OS. However, the additions needed for the other OS are limited only on `fs::file.h/cpp`. In particular inside the following new functions: - `bool is_optical_raw_device(const std::string& path);` - `bool get_optical_raw_device(const std::string& path, std::string* raw_device = nullptr);` - Icons etc. are always refreshed (ISO cache cannot be used due `mtime` on raw device is not available and any cache check would always fail) - Code in `ISO.h/cpp` needed some rework to properly manage a read on a raw device (alignment on offset, size and memory is mandatory). The BD drive needs to be detected as a file, not as a folder ### MINOR FIXES: - Fixed wrong specifier used in logging on `ISO.h/cpp` |
||
|---|---|---|
| .. | ||
| address_range.h | ||
| bin_patch.cpp | ||
| bin_patch.h | ||
| bit_set.h | ||
| BitField.h | ||
| cfmt.h | ||
| cheat_info.cpp | ||
| cheat_info.h | ||
| cond.cpp | ||
| cond.h | ||
| Config.cpp | ||
| Config.h | ||
| CRC.h | ||
| date_time.cpp | ||
| date_time.h | ||
| deferred_op.hpp | ||
| File.cpp | ||
| File.h | ||
| geometry.h | ||
| git-version-gen.cmd | ||
| JIT.h | ||
| JITASM.cpp | ||
| JITLLVM.cpp | ||
| lockless.h | ||
| LUrlParser.cpp | ||
| LUrlParser.h | ||
| mutex.cpp | ||
| mutex.h | ||
| ppu_patch.h | ||
| rXml.cpp | ||
| rXml.h | ||
| sema.cpp | ||
| sema.h | ||
| simple_ringbuf.cpp | ||
| simple_ringbuf.h | ||
| stack_trace.cpp | ||
| stack_trace.h | ||
| StrFmt.cpp | ||
| StrFmt.h | ||
| StrUtil.h | ||
| sync.h | ||
| Thread.cpp | ||
| Thread.h | ||
| Timer.h | ||
| transactional_storage.h | ||
| version.cpp | ||
| version.h | ||