Zach Hilman
deacc2bb25
cheat_engine: Move to memory and strip VM
This is to go with the Atmosphere VM port, now it just contains the callbacks needed for the interface between DmntCheatVm and yuzu, along with the cheat parsers.
7 years ago
Zach Hilman
04078a2139
configure_debug: Move reporting option to logging
6 years ago
Zach Hilman
541bf1b996
filesystem: Add const qualification to various accessors
7 years ago
Zach Hilman
c3ad37b707
yuzu: Port old usages of Filesystem namespace to FilesystemController
7 years ago
Zach Hilman
c094f75276
card_image: Add accessors for gamecard certificate
Used by fsp-srv/IDeviceOperator
7 years ago
Zach Hilman
58dba10b63
card_image: Add functions to query gamecard update partition
Includes version and meta title ID, used by fsp-srv/IDeviceOperator
7 years ago
Zach Hilman
8dcda218d8
content_archive: Add accessors for Rights ID and SDK Version
7 years ago
Zach Hilman
a4b2e1c5ce
sdmc_factory: Add SD Card size getters
7 years ago
Zach Hilman
4a2e1c6ae6
bis_factory: Add getters for NAND partition sizes
7 years ago
Zach Hilman
91d032d433
submisson_package: Fix edge case with improperly sized filenames
Prevents a crash if the filename is less than 9 characters long.
7 years ago
Zach Hilman
915ea374f8
sdmc_factory: Add accessor for SDMC Album directory
7 years ago
Zach Hilman
3c2e2156e0
sdmc_factory: Add accessor for SDMC PlaceholderCache
7 years ago
Zach Hilman
147fa325d9
sdmc_factory: Add accessor for content directory
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Zach Hilman
ae762910b1
registered_cache: Process *.cnmt.nca files
Needed to use the RegisteredCache/PlaceholderCache on gamecards.
7 years ago
Zach Hilman
24ae0aacbc
registered_cache: Implement PlaceholderCache to manage placeholder and installing content
7 years ago
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
7 years ago
Zach Hilman
8660185e63
bis_factory: Add accessors for BIS placeholder caches
7 years ago
Zach Hilman
af109c066e
bis_factory: Add accessor for NAND Image Directory
7 years ago
Zach Hilman
2146600c38
bis_factory: Add accessors for BIS content directories
7 years ago
Zach Hilman
17c5f05179
bis_factory: Add accessors for BIS partitions
7 years ago
Zach Hilman
f458590c85
system_archive: Add open-source reimplementation of MiiModel data
7 years ago
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.
7 years ago
Bakugo
81c1c139fe
file_sys: Rename other ContentRecordType members
7 years ago
Bakugo
e377bcd699
file_sys/registered_cache: Improve missing metadata error
This can happen when installing NSPs too, not just XCIs.
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Zach Hilman
12105d8909
glue: Correct missing bytes in ApplicationLaunchParameter
7 years ago
Zach Hilman
fb8b87dbaf
registered_cache: Add getter to determine source slot in content provider union
Used to determine StorageId source for application data.
7 years ago
Zach Hilman
7891b418d4
patch_manager: Add getter for title version
7 years ago
jonsn0w
cbb3371437
Update content_archive.cpp
log clutter in debug logs when theres really no need
7 years ago
David Marcec
7b451419b4
Addressed issues
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Lioncash
14aca37172
file_sys/card_image: Remove obsolete TODO
We already support Rev 1+.
7 years ago
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.
7 years ago
Lioncash
c45be86d6e
file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
Makes for nicer reading.
7 years ago
Lioncash
f5f9c52900
file_sys/card_image: Make bracing consistent
Makes for more consistent reading.
7 years ago
Lioncash
8bfb8e3dce
file_sys/card_image: Assign collapsed NCA contents directly to ncas member
Same thing, significantly less noisy.
7 years ago
Lioncash
907c499608
file_sys/card_image: Deduplicate type cast
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
7 years ago
Lioncash
c305601f9b
file_sys/card_image: Get rid of a magic number
We can just use the size of the array to dehardcode it.
7 years ago
Lioncash
bfafb5f7d1
file_sys/card_image: Use std::array deduction guides
Same thing, less code.
7 years ago
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.
7 years ago
Zach Hilman
5231fb95e6
nsp: Use title ID from NPDM metadata for extracted type NSPs
Avoids 0 being used as title ID for all extracted NSPs.
7 years ago
Zach Hilman
ae00309771
kernel_executable: Optimize BLZ decompression
7 years ago
Zach Hilman
5f6dba8ece
game_list: Accept *.kip as a file extension of executables
7 years ago