Commit Graph

58 Commits

Author SHA1 Message Date
84e54a52a6 core: Detect and return error if GBA virtual console is loaded. (#6257) 2023-01-23 15:21:57 +05:30
6d3d9f7a8a core: Add support for N3DS memory mappings (#5103)
* core: Add support for N3DS memory mappings

* Address review comments
2020-02-29 19:48:27 +01:00
13e2d534e9 core: Add dump RomFS support
This is added to LayeredFS, then the NCCH container and then the loader interface.
2020-02-09 20:59:31 +08:00
5cf684c951 Filter non-executable files out of the game list. 2019-09-08 14:19:11 -07:00
5f11c5f733 Kernel: replace boost::intrusive_ptr with std::shared_ptr 2019-03-24 14:32:11 -04:00
d37a2270d6 Replace boost::optional with std::optional where possible 2018-10-05 13:51:09 +02:00
bbf391abb9 citra_qt, core: game list "Open XXX Location" improvements 2018-10-01 08:42:22 +08:00
d4a808c885 ncch_container: support encrypted games 2018-08-07 18:53:06 +03:00
c31f932afe common/core: Silence initialization order warnings 2017-12-10 19:50:45 -05:00
7f48aa8d25 Loaders: Don't automatically set the current process every time we load an application.
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.
2017-09-26 18:17:47 -05:00
c91ccbd0ba Loader/NCCH: Add support for loading application updates (#2927)
* 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
2017-09-25 08:17:38 +02:00
f5cf9960d9 loader: Expose program title. 2017-08-03 20:10:37 -04:00
f008b22e3b Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
a8aef599e0 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
37bec598ea Made some changes from review comments:
- 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.
2017-06-02 18:28:14 -04:00
e523c76cc8 Fixed encrypted ROM error messages. 2017-06-02 18:25:32 -04:00
c18cb1b192 Fix some warnings (#2399) 2017-01-04 13:48:29 -03:00
f556d6ee90 Merge pull request #2240 from wwylele/auto-region
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
81e22ae8c7 loader: Remove duplicate docstrings. 2016-12-21 23:27:50 -05:00
351b5d23f4 loader: Implement ReadProgramId 2016-12-15 18:42:38 +00:00
84e78790ab Config: auto-select region and language 2016-12-07 20:52:42 +02:00
d171409f29 Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
1323ab2f5f Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
13d46f6820 Fix typos 2016-10-20 12:26:59 -02:00
ebdae19fd2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
396a8d91a4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
dc8479928c Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
9a35d1fb4a Loader: Add a GetFileType method to get the type of a loaded file 2016-05-21 17:09:59 +01:00
5d5dd66d92 add icon & title to game list 2016-05-04 13:02:49 +03:00
721475420d Loader: Change NCCH header types to be explicitly little-endian 2015-10-10 22:35:22 -04:00
2706394384 Loader: Implement encryption check 2015-10-10 22:34:17 -04:00
d3efa637b4 General: Fix up doxygen comments 2015-09-10 11:20:21 -04:00
2d7299a86f Loader: Remove unnecessary pointer indirection to IOFile 2015-07-13 20:00:56 -03:00
c385b7767d FS: Stream RomFS from file instead of loading all of it to memory 2015-07-13 19:57:12 -03:00
7eb413155f Loader/NCCH: Fix formatting of braces 2015-05-08 22:11:48 -03:00
a5eba2f984 Kernel: Remove g_program_id
This has been obsoleted by the field in Process.
2015-05-08 22:11:03 -03:00
6d60acf0f1 Kernel: Introduce skeleton Process class to hold process data 2015-05-08 22:11:02 -03:00
e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
c3a480160e Services/Loader: Use more sensible log formats for certain functions
along with more info being logged.
2015-04-27 23:07:08 -07:00
061c69a6bb NCCH: Minor updates to the ncch header 2015-03-15 14:17:19 -07:00
82ec17db7d Loader: Guess filetype from the magic, or fallback to the extension. 2015-01-15 22:23:08 +01:00
b5237e885d Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times. 2015-01-15 21:21:26 +00:00
2d63df90a9 Loader: Initialize the default NCCH values in the class declaration, not in the constructor. 2015-01-15 21:21:26 +00:00
85030c6e6b Loader: Never forget to change is_loaded. 2015-01-15 21:21:26 +00:00
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
ea9ce0fba7 Filesystem/Archives: Implemented the SaveData archive
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
2014-12-17 19:21:38 -05:00
f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
f68776ce13 ncch: Remove C-style struct typedefs
In C++ you can simply just declare it as is.
2014-09-06 13:38:03 -04:00
1099d83455 Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override". 2014-07-04 20:37:50 -04:00
2d734bb6c5 Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final" 2014-07-04 20:37:49 -04:00