Zach Hilman
2a4730cbee
pl_u: Use kernel physical memory
6 years ago
Zach Hilman
2bddc03468
dmnt_cheat_vm: Default initialize structure values
6 years ago
Zach Hilman
94afffe9e5
pl_u: Use OSS system archives if real archives don't exist
6 years ago
Zach Hilman
a0055192fe
patch_manager: Update cheat parsing for new VM
7 years ago
Zach Hilman
7d41c1f523
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
8b857fc7c2
system_archive: Synthesize shared fonts system archives
7 years ago
Zach Hilman
361a8fa318
externals: Move OSS font data to file_sys in core
7 years ago
Zach Hilman
038bcec111
configure_debug: Move reporting option to logging
6 years ago
Zach Hilman
a49169e819
filesystem: Add const qualification to various accessors
7 years ago
Zach Hilman
c6ff4a6f4d
yuzu: Port old usages of Filesystem namespace to FilesystemController
7 years ago
Zach Hilman
ccaafaccfc
card_image: Add accessors for gamecard certificate
Used by fsp-srv/IDeviceOperator
7 years ago
Zach Hilman
77f9ecd32b
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
e018a48460
content_archive: Add accessors for Rights ID and SDK Version
7 years ago
Zach Hilman
721a92775d
sdmc_factory: Add SD Card size getters
7 years ago
Zach Hilman
e47b57a90f
bis_factory: Add getters for NAND partition sizes
7 years ago
Zach Hilman
0a8e540681
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
08c0783d34
sdmc_factory: Add accessor for SDMC Album directory
7 years ago
Zach Hilman
0084cceb20
sdmc_factory: Add accessor for SDMC PlaceholderCache
7 years ago
Zach Hilman
02b36b0eb5
sdmc_factory: Add accessor for content directory
7 years ago
Zach Hilman
49c44e3fae
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
62d772eaed
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
06db4d94fd
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
9d9fc8a675
registered_cache: Process *.cnmt.nca files
Needed to use the RegisteredCache/PlaceholderCache on gamecards.
7 years ago
Zach Hilman
8500ca797f
registered_cache: Implement PlaceholderCache to manage placeholder and installing content
7 years ago
Zach Hilman
256a50ad15
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
b71bda45ae
bis_factory: Add accessors for BIS placeholder caches
7 years ago
Zach Hilman
9bee885282
bis_factory: Add accessor for NAND Image Directory
7 years ago
Zach Hilman
4dae5a52a8
bis_factory: Add accessors for BIS content directories
7 years ago
Zach Hilman
3a1899d143
bis_factory: Add accessors for BIS partitions
7 years ago
Zach Hilman
adab188c2b
system_archive: Add open-source reimplementation of MiiModel data
7 years ago
Michael Scire
13a8fde3ad
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
b50557d1f0
file_sys: Rename other ContentRecordType members
7 years ago
Bakugo
c72ef5f405
file_sys/registered_cache: Improve missing metadata error
This can happen when installing NSPs too, not just XCIs.
7 years ago
Bakugo
9968c0883a
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
79163fca80
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
306a24aad7
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
d10fc2d727
glue: Correct missing bytes in ApplicationLaunchParameter
7 years ago
Zach Hilman
db2e5e5fa6
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
a468273221
patch_manager: Add getter for title version
7 years ago
jonsn0w
e78d069a81
Update content_archive.cpp
log clutter in debug logs when theres really no need
7 years ago
David Marcec
6ca20ad7ba
Addressed issues
7 years ago
David Marcec
335127af69
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
18c1d91920
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
a62088539e
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
c7daddb715
file_sys/card_image: Remove obsolete TODO
We already support Rev 1+.
7 years ago
Lioncash
a602bcaaf8
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
7bdef6106e
file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
Makes for nicer reading.
7 years ago
Lioncash
81d361d9f8
file_sys/card_image: Make bracing consistent
Makes for more consistent reading.
7 years ago
Lioncash
e34368249f
file_sys/card_image: Assign collapsed NCA contents directly to ncas member
Same thing, significantly less noisy.
7 years ago
Lioncash
288d027e89
file_sys/card_image: Deduplicate type cast
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
7 years ago