Zach Hilman
c3ad37b707
yuzu: Port old usages of Filesystem namespace to FilesystemController
2019-09-21 16:43:10 -04:00
Zach Hilman
c094f75276
card_image: Add accessors for gamecard certificate
...
Used by fsp-srv/IDeviceOperator
2019-09-21 16:43:10 -04:00
Zach Hilman
58dba10b63
card_image: Add functions to query gamecard update partition
...
Includes version and meta title ID, used by fsp-srv/IDeviceOperator
2019-09-21 16:43:10 -04:00
Zach Hilman
8dcda218d8
content_archive: Add accessors for Rights ID and SDK Version
2019-09-21 16:43:10 -04:00
Zach Hilman
a4b2e1c5ce
sdmc_factory: Add SD Card size getters
2019-09-21 16:43:10 -04:00
Zach Hilman
4a2e1c6ae6
bis_factory: Add getters for NAND partition sizes
2019-09-21 16:43:10 -04:00
Zach Hilman
91d032d433
submisson_package: Fix edge case with improperly sized filenames
...
Prevents a crash if the filename is less than 9 characters long.
2019-09-21 16:43:10 -04:00
Zach Hilman
915ea374f8
sdmc_factory: Add accessor for SDMC Album directory
2019-09-21 16:43:10 -04:00
Zach Hilman
3c2e2156e0
sdmc_factory: Add accessor for SDMC PlaceholderCache
2019-09-21 16:43:10 -04:00
Zach Hilman
147fa325d9
sdmc_factory: Add accessor for content directory
2019-09-21 16:43:10 -04:00
Zach Hilman
85ae125737
savedata_factory: Implement savedata creation and don't create dir on open
...
Matches hardware behavior and eliminates some nasty behavior we were doing that wasn't hw-accurate at all.
2019-09-21 16:43:10 -04:00
Zach Hilman
1d342149cd
patch_manager: Add short-circuit edge-case to GetPatchVersionNames
...
If title ID is 0, there are no add ons, prevents wasting time looking for them.
2019-09-21 16:43:10 -04:00
Zach Hilman
e4336e33d6
patch_manager: Add error checking to load dir to prevent crashes
...
Prevents a crash if the load dir would be nullptr, instead logs an error and returns appropriately.
2019-09-21 16:43:10 -04:00
Zach Hilman
ae762910b1
registered_cache: Process *.cnmt.nca files
...
Needed to use the RegisteredCache/PlaceholderCache on gamecards.
2019-09-21 16:43:10 -04:00
Zach Hilman
24ae0aacbc
registered_cache: Implement PlaceholderCache to manage placeholder and installing content
2019-09-21 16:43:10 -04:00
Zach Hilman
9cef1068c5
bis_factory: Fix mod loader edge-case with homebrew title IDs
...
Fixes a bug where homebrew that has a title ID with the update bit set can cause issues with the PatchManager
2019-09-21 16:43:10 -04:00
Zach Hilman
8660185e63
bis_factory: Add accessors for BIS placeholder caches
2019-09-21 16:43:10 -04:00
Zach Hilman
af109c066e
bis_factory: Add accessor for NAND Image Directory
2019-09-21 16:43:10 -04:00
Zach Hilman
2146600c38
bis_factory: Add accessors for BIS content directories
2019-09-21 16:43:10 -04:00
Zach Hilman
17c5f05179
bis_factory: Add accessors for BIS partitions
2019-09-21 16:43:10 -04:00
David
95f4d78e87
Merge pull request #2576 from DarkLordZach/nsp-fix-1
...
nsp: Fix various errors with loading and processing of extracted NSPs
2019-09-21 20:05:24 +10:00
David
ea025af713
Merge pull request #2707 from DarkLordZach/oss-miimodel
...
system_archive: Add open-source reimplementation of MiiModel data
2019-09-05 10:56:32 +10:00
Zach Hilman
f458590c85
system_archive: Add open-source reimplementation of MiiModel data
2019-07-10 07:21:36 -04:00
Michael Scire
6a33b060b7
Implement MapPhysicalMemory/UnmapPhysicalMemory
...
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu,
which can be used to map memory at a desired address by games since
3.0.0.
It also properly parses SystemResourceSize from NPDM, and makes
information available via svcGetInfo.
This is needed for games like Super Smash Bros. and Diablo 3 -- this
PR's implementation does not run into the "ASCII reads" issue mentioned
in the comments of #2626 , which was caused by the following bugs in
Yuzu's memory management that this PR also addresses:
* Yuzu's memory coalescing does not properly merge blocks. This results
in a polluted address space/svcQueryMemory results that would be
impossible to replicate on hardware, which can lead to game code making
the wrong assumptions about memory layout.
* This implements better merging for AllocatedMemoryBlocks.
* Yuzu's implementation of svcMirrorMemory unprotected the entire
virtual memory range containing the range being mirrored. This could
lead to games attempting to map data at that unprotected
range/attempting to access that range after yuzu improperly unmapped
it.
* This PR fixes it by simply calling ReprotectRange instead of
Reprotect.
2019-07-07 11:45:53 -07:00
Bakugo
81c1c139fe
file_sys: Rename other ContentRecordType members
2019-07-02 00:57:23 +01:00
Bakugo
e377bcd699
file_sys/registered_cache: Improve missing metadata error
...
This can happen when installing NSPs too, not just XCIs.
2019-07-01 07:31:32 +01:00
Bakugo
d046ef7112
file_sys/submission_package: Don't warn about missing DeltaFragment NCAs
...
DeltaFragments are not useful to us and are often not included in patch NSPs.
2019-07-01 06:46:05 +01:00
Bakugo
88a70b40ba
file_sys/registered_cache: Ignore DeltaFragment NCAs during installation
...
DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
2019-07-01 06:37:22 +01:00
Bakugo
29f1d01c06
file_sys: Rename ContentRecordType::Patch to DeltaFragment
...
Avoids potential confusion, since patches and DeltaFragments are not the same thing. Actual full patches are listed under the Program type.
2019-07-01 06:32:13 +01:00
Zach Hilman
12105d8909
glue: Correct missing bytes in ApplicationLaunchParameter
2019-06-25 22:25:10 -04:00
Zach Hilman
fb8b87dbaf
registered_cache: Add getter to determine source slot in content provider union
...
Used to determine StorageId source for application data.
2019-06-24 19:10:17 -04:00
Zach Hilman
7891b418d4
patch_manager: Add getter for title version
2019-06-24 19:05:50 -04:00
bunnei
a43061206c
Merge pull request #2546 from DarkLordZach/kips
...
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21 14:28:18 -04:00
jonsn0w
cbb3371437
Update content_archive.cpp
...
log clutter in debug logs when theres really no need
2019-06-19 22:01:41 -04:00
David Marcec
7b451419b4
Addressed issues
2019-06-17 08:17:26 +10:00
David Marcec
5f5f8c6341
Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
...
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
2019-06-16 19:06:33 +10:00
Zach Hilman
aca05af798
Merge pull request #2581 from lioncash/hex
...
common/hex_util: Combine HexVectorToString() and HexArrayToString()
2019-06-15 16:47:13 -04:00
bunnei
6507034f95
Merge pull request #2582 from lioncash/reserved
...
file_sys/ips_layer: Remove unnecessary reserve() call
2019-06-14 11:24:18 -04:00
Zach Hilman
3cf9150679
Merge pull request #2577 from lioncash/fs
...
file_sys/card_image: Minor cleanup
2019-06-12 19:23:33 -04:00
Lioncash
af914546f2
file_sys/ips_layer: Remove unnecessary reserve() call
...
Given 'replace' is assigned to on the following line, this isn't
necessary, given the underlying data is going to be overwritten
entirely.
2019-06-12 18:12:45 -04:00
Lioncash
59d55c8137
common/hex_util: Combine HexVectorToString() and HexArrayToString()
...
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
2019-06-12 17:54:05 -04:00
Lioncash
14aca37172
file_sys/card_image: Remove obsolete TODO
...
We already support Rev 1+.
2019-06-12 16:52:19 -04:00
Lioncash
348c03b1bd
file_sys/nca_metadata: Update CNMT structures
...
Names a few more entries in relevant structures. Information based off
SwitchBrew and my own RE.
2019-06-10 23:51:06 -04:00
Lioncash
c45be86d6e
file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
...
Makes for nicer reading.
2019-06-10 23:27:14 -04:00
Lioncash
f5f9c52900
file_sys/card_image: Make bracing consistent
...
Makes for more consistent reading.
2019-06-10 23:27:13 -04:00
Lioncash
8bfb8e3dce
file_sys/card_image: Assign collapsed NCA contents directly to ncas member
...
Same thing, significantly less noisy.
2019-06-10 23:27:13 -04:00
Lioncash
907c499608
file_sys/card_image: Deduplicate type cast
...
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
2019-06-10 23:27:05 -04:00
Lioncash
c305601f9b
file_sys/card_image: Get rid of a magic number
...
We can just use the size of the array to dehardcode it.
2019-06-10 22:58:08 -04:00
Lioncash
bfafb5f7d1
file_sys/card_image: Use std::array deduction guides
...
Same thing, less code.
2019-06-10 22:57:53 -04:00
Zach Hilman
e62e715ac2
nsp: Correct status codes for extracted NSPs
...
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
2019-06-10 00:21:41 -04:00