aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader/deconstructed_rom_directory.h
Commit message (Collapse)AuthorAgeFilesLines
* loader: build a loose RomFS once and only when it is readTakoroka3 days1-0/+5
| | | | | | | | | | | Every loader of an extracted title built the whole RomFS from its romfs/ directory in its constructor, though most are made only for metadata (the game list, title lookups), and each build keeps an object per file: title 1's 206k files left four copies alive, ~0.6 GB of the heap. The RomFS is now built on first read, and loaders of the same directory share one build while any of them holds it. (cherry picked from commit be47212cac130e6a895423644751c0525dc6f169)
* loader: read a loose dump's display version from its own filesTakoroka4 days1-0/+6
| | | | | | | | | Mario Kart World 1.8.0 reported 1.0.0: GetDisplayVersion only knew installed titles' metadata, and a loose ExeFS/RomFS dump has none. The dump's version now comes from its control.nacp (in ExeFS, or up to three directories above it), else from RomFS System/Resource/ResourceSizeTable.Product.NNN (Mario Kart World has no NACP; Product.180 is 1.8.0). Folder names are never parsed.
* Revert "Import experimental NS2 support and accumulated GPU fixes"Takoroka6 days1-1/+0
| | | | | This reverts commit 535b676970. The Switch 2 support comes from the nx2 work instead, merged next.
* Import experimental NS2 support and accumulated GPU fixesyumekiru6 days1-0/+1
| | | | | | | | | | | Bring the NS2 patch and local follow-up fixes onto Eglantine master. Includes native graphics services, instruction translation, syncpoint cancellation acknowledgement, texture handling and diagnostics. Experimental checkpoint; not ready to merge. The original Eden build passed, but this rebased branch has not been built or tested. Assisted-by: OpenAI Codex (implementation, debugging, tests and PR preparation)
* [hle] Fixes for nxident, nxmp and nxplay, remove hbl.nsp workarounds (#3996)lizzie2026-06-121-7/+5
| | | | | | | | | | | | | | | adds `gpio` and `i2c` services implements `IApplicationFunctions::SetMediaPlaybackStateForApplicatio` stubs `IBtmSystemCore::GetDiscoveredAudioDevice` implements `nvhost_ctrl_gpu::PmuGetGpuLoad` IOCTL (0x20) implements `PSM::GetBatteryAgePercentage`, `PSM::GetBatteryVoltageState` and `PSM::GetBatteryChargeInfoFields` implements `ISystemSettingsServer::GetConsoleInformationUploadFlag`, `ISystemSettingsServer::SetConsoleInformationUploadFlag`, `ISystemSettingsServer::GetAutomaticApplicationDownloadFlag`, `ISystemSettingsServer::SetAutomaticApplicationDownloadFlag`, `&ISystemSettingsServer::GetUsb30EnableFlag`, `ISystemSettingsServer::SetUsb30EnableFlag` removes `hbl.nsp` specific workarounds Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3996 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* core: improve debug workflowLiam2023-09-141-1/+3
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* core: Make variable shadowing a compile-time errorLioncash2021-05-161-2/+2
| | | | | | Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
* hle: kernel: Rename Process to KProcess.bunnei2021-05-051-1/+1
|
* core: Resolve misc cases of variable shadowingLioncash2021-05-031-4/+7
| | | | | | | | | Resolves shadowing warnings that aren't in a particularly large subsection of core. Brings us closer to turning -Wshadow into an error. All that remains now is for cases in the kernel (left untouched for now since a big change by bunnei is pending), and a few left over in the service code (will be tackled next).
* loader: Resolve instances of variable shadowingLioncash2021-04-271-3/+3
| | | | | Eliminates variable shadowing cases across all the loaders to bring us closer to enabling variable shadowing as an error in core.
* vfs: Use existing type aliases consistentlyLioncash2020-12-101-1/+1
| | | | | Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
* core/loader: Remove dependencies on the global system instanceLioncash2020-09-161-1/+5
| | | | | | | | | Now all that remains is: 18 instances in file_sys code 14 instances in GDB stub code (this can be tossed wholesale) 4 instances in HLE code 2 instances in settings code.
* loader: Move NSO module tracking to AppLoaderZach Hilman2019-05-261-0/+4
| | | Also cleanup of general stuff
* core/core: Move process execution start to System's Load()Lioncash2019-04-111-1/+1
| | | | | | | | | This gives us significantly more control over where in the initialization process we start execution of the main process. Previously we were running the main process before the CPU or GPU threads were initialized (not good). This amends execution to start after all of our threads are properly set up.
* loaders: Make GetFileType() a const qualified member functionLioncash2018-12-051-1/+1
| | | | | | No implementations actually modify instance state (and it would be questionable to do that in the first place given the name), so we can make this a const member function.
* loader: Make the Load() function take a process as a regular reference, not ↵Lioncash2018-09-291-2/+1
| | | | | | | | | | a SharedPtr A process should never require being reference counted in this situation. If the handle to a process is freed before this function is called, it's definitely a bug with our lifetime management, so we can put the requirement in place for the API that the process must be a valid instance.
* bktr: Fix missing includes and optimize styleZach Hilman2018-09-041-1/+1
|
* loader: Ignore patches on NRO and DRDZach Hilman2018-09-041-0/+1
|
* patch_manager: Add usages of patches to ExeFSZach Hilman2018-09-041-2/+5
|
* Avoid parsing RomFS to directory in NCAZach Hilman2018-08-061-0/+7
|
* loader: Make AppLoader_NCA rely on directory loading codeZach Hilman2018-08-051-0/+4
| | | Eliminates duplicate code shared between their Load methods, after all the only difference is how the romfs is handled.
* kernel: Move object class to its own source filesLioncash2018-08-011-1/+1
| | | | | | General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
* Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman2018-07-181-9/+6
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"bunnei2018-07-071-4/+10
| | | | This reverts commit 12e9522b32d972a8e9b327c7ee7c14040a61ffdd.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
* loader: Use NPDM information when loading NSOsshinyquagsire232018-02-251-0/+2
|
* Changed .istorage to .romfsDavid Marcec2018-02-051-1/+1
|
* deconstructed_rom_directory: Implement istorage loading for RomFS.bunnei2018-01-211-0/+4
|
* loader: Clean up ctors and includes.bunnei2018-01-201-3/+1
|
* loader: Add DeconstructedRomDirectory for game dumps.bunnei2018-01-201-0/+44