summaryrefslogtreecommitdiffstats
path: root/src/core/loader/ncch.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Loaders: Don't automatically set the current process every time we load an application.Subv2017-09-271-10/+9
| | | | The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
* HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.Subv2017-09-251-2/+1
| | | | | | | | The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
* Merge pull request #2952 from MerryMage/page-tablesB3n302017-09-251-1/+1
|\ | | | | Switchable Page Tables
| * memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage2017-09-241-1/+1
| | | | | | | | Don't expose Memory::current_page_table as a global.
* | Loader/NCCH: Add support for loading application updates (#2927)Max Thomas2017-09-251-259/+60
|/ | | | | | | | | | | | | | | | * loader/ncch: split NCCH parsing into its own file * loader/ncch: add support for loading update NCCHs from the SD card * loader/ncch: fix formatting * file_sys/ncch_container: Return a value for OpenFile * loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch * file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked * file_sys/ncch_container: pass filepath as a const reference
* Kernel/Memory: Give each Process its own page table.Subv2017-09-101-0/+1
| | | | The loader is in charge of setting the newly created process's page table as the main one during the loading process.
* Added missing parts in libnetwork (#2838)B3n302017-08-191-0/+8
| | | | | * Network: Set and send the game information over enet Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
* loader: Expose program title.bunnei2017-08-041-0/+20
|
* telemetry: Log performance, configuration, and system data.bunnei2017-07-181-2/+4
|
* Made some changes from review comments:TheKoopaKingdom2017-06-031-7/+4
| | | | | | | | - Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff.
* Fixed encrypted ROM error messages.TheKoopaKingdom2017-06-031-4/+11
|
* telemetry: Log a few simple data fields throughout core.bunnei2017-05-251-0/+3
|
* loader/ncch: less verbose log for loading game list. only log program ID when bootingwwylele2017-03-081-3/+6
|
* loader: use self NCCH archivewwylele2017-02-131-3/+3
|
* Fix some warnings (#2399)Jonathan Hao2017-01-041-1/+1
|
* Merge pull request #2240 from wwylele/auto-regionbunnei2016-12-301-0/+22
|\ | | | | Config: auto-select region and language
| * Config: auto-select region and languagewwylele2016-12-071-0/+22
| |
* | loader: Implement ReadProgramIdMerryMage2016-12-151-0/+12
|/
* Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv2016-11-281-7/+8
| | | | | | | 3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
* Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv2016-11-201-0/+9
| | | | | | | 3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
* Fix typosRicardo de Almeida Gonzaga2016-10-201-1/+1
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-27/+35
|
* Loader, Frontends: Refactor loader creation and game loadingEmmanuel Gil Peyrot2016-05-211-1/+8
| | | | | This allows frontends to keep a single loader and use it multiple times e.g. for code loading and SMDH parsing.
* Merge pull request #1766 from Subv/log_cpubunnei2016-05-081-0/+3
|\ | | | | Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
| * Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).Subv2016-05-071-0/+3
| | | | | | | | We do not currently implement any cores other than the AppCore (Core 0).
* | add icon & title to game listwwylele2016-05-041-3/+19
| |
* | ncch: Use correct format specifier (for long long uint)Sam Spilsbury2016-04-231-1/+1
|/
* ncch:only decompress .code sectionwwylele2016-04-141-2/+2
|
* Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-1/+0
|
* Loader/NCCH: Log the program ID during loadingYuri Kunde Schlesner2016-03-051-1/+2
| | | | | This is useful for all sorts of things, but mainly to identify save folders more easily.
* Loader: Change NCCH header types to be explicitly little-endianGareth Poole2015-10-111-2/+1
|
* Loader: Implement encryption checkGareth Poole2015-10-111-0/+5
|
* Loader: Remove unnecessary pointer indirection to IOFileYuri Kunde Schlesner2015-07-141-21/+21
|
* FS: Stream RomFS from file instead of loading all of it to memorycondut2015-07-141-4/+9
|
* Core: Properly configure address space when loading a binaryYuri Kunde Schlesner2015-07-121-4/+28
| | | | | | The code now properly configures the process image to match the loaded binary segments (code, rodata, data) instead of just blindly allocating a large chunk of dummy memory.
* Merge pull request #876 from linkmauve/include-cleanupsYuri Kunde Schlesner2015-07-111-1/+2
|\ | | | | Cleanup includes, mostly in common
| * CitraQt: Cleanup includes.Emmanuel Gil Peyrot2015-06-281-1/+2
| |
* | Loader: Remove log line causing warningaroulin2015-07-081-1/+0
|/
* Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv2015-05-151-0/+5
| | | | | | Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues. Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-1/+1
| | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
* Loader: Add missing includeYuri Kunde Schlesner2015-05-091-0/+1
|
* Kernel: Remove g_program_idYuri Kunde Schlesner2015-05-091-4/+0
| | | | This has been obsoleted by the field in Process.
* Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner2015-05-091-2/+18
|
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-0/+2
|
* Services/Loader: Use more sensible log formats for certain functionspurpasmart962015-04-281-10/+23
| | | | along with more info being logged.
* Loader: Clean up the NCCH AppLoader.Emmanuel Gil Peyrot2015-01-151-51/+48
|
* Loader: Guess filetype from the magic, or fallback to the extension.Emmanuel Gil Peyrot2015-01-151-2/+17
|
* Loader: Don’t assume the file hasn’t been read before.Emmanuel Gil Peyrot2015-01-151-4/+7
|
* Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times.Emmanuel Gil Peyrot2015-01-151-106/+84
|
* Loader: Initialize the default NCCH values in the class declaration, not in the constructor.Emmanuel Gil Peyrot2015-01-151-4/+0
|
* Loader: Never forget to change is_loaded.Emmanuel Gil Peyrot2015-01-151-3/+2
|
* Loader: Don’t duplicate the docstring into the cpp file.Emmanuel Gil Peyrot2015-01-151-41/+0
|
* Loader: Fix indentation, whitespace, and a few other such cosmetic stuff.Emmanuel Gil Peyrot2015-01-151-1/+1
|
* License changepurpasmart962014-12-211-1/+1
|
* Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-181-0/+4
| | | | | | | | | | The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information Got rid of the code duplication in File and Directory Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive. FS_U: Use the correct error code when a file wasn't found
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-17/+17
|
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-3/+3
|
* core: Mark some hle functions as staticLioncash2014-11-181-2/+2
| | | | These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
* Common: Rename the File namespace to FileUtil, to match the filename and prevent collisions.Emmanuel Gil Peyrot2014-09-171-3/+3
|
* ncch: inline declare some variables in LZSS_DecompressLioncash2014-09-061-7/+5
|
* NCCH: Updated ExeFS memory allocation to be safer.bunnei2014-07-051-1/+6
|
* Loader: Updated read methods to be constbunnei2014-07-051-53/+65
| | | | - Required "file" handle to be made local and explicitly opened/closed as needed
* Loader: Refactored interface such that data is no longer stored by loader.bunnei2014-06-271-43/+34
| | | | NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
* Loader: Refactored loading functions to only read data from binary if called.bunnei2014-06-251-53/+89
| | | | NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
* Loader: Refactored use of const.bunnei2014-06-251-5/+5
|
* NCCH: Added RomFS loading.bunnei2014-06-251-1/+28
|
* NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.bunnei2014-06-251-20/+25
| | | | Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
* Loader: Implemented AppLoader interface for abstracting application loading.bunnei2014-06-251-203/+105
| | | | | | | | | | | | | | | | | | - Various cleanups/refactorings to Loader, ELF, and NCCH modules. - Added AppLoader interface to ELF and NCCH. - Updated Qt/GLFW frontends to check AppLoader ResultStatus. NCCH: Removed extra qualification typos. Loader: Removed unnecessary #include's. NCCH: Improved readability of memcmp statements. NCCH: Added missing space. Elf: Removed unnecessary usage of unique_ptr. Loader: Removed unnecessary usage of unique_ptr.
* NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.bunnei2014-06-171-9/+3
|
* Loader: Added support for booting NCCH executables.bunnei2014-06-171-0/+348
NCCH: Fixed typo in printing NCCH filename.