Commit Graph

289 Commits

Author SHA1 Message Date
shinyquagsire23
0075f23469 loader: Check error on NPDM load, use TID for CodeSet 2018-02-25 07:41:36 -07:00
shinyquagsire23
bd3b6c8363 loader: Use NPDM information when loading NSOs 2018-02-25 07:02:47 -07:00
Lioncash
356e11a3b1 nso: Silence formatting specifier warnings 2018-02-14 01:52:55 -05:00
Lioncash
d467204908 deconstructed_rom_directory: Silence formatting specifier warnings 2018-02-14 01:52:55 -05:00
David Marcec
0f6d702fdf Changed .istorage to .romfs 2018-02-05 00:01:10 -08:00
bunnei
fde7b01891 deconstructed_rom_directory: Implement istorage loading for RomFS. 2018-01-21 15:39:31 -05:00
bunnei
cf89a3280d Merge pull request #92 from gdkchan/nro_refactor
Fix NRO entry point
2018-01-20 23:10:15 -05:00
Rozlette
43bccad77f loader: Minor style fix in deconstructed_rom_directory 2018-01-20 20:13:53 -06:00
bunnei
be283b3d2f Merge pull request #117 from jroweboy/clang-format
Clang format as a build target
2018-01-20 19:12:21 -05:00
James Rowe
7d396de27a Format: Run the new clang format on everything 2018-01-20 16:45:11 -07:00
bunnei
533007a13c loader: Clean up ctors and includes. 2018-01-20 15:54:17 -05:00
bunnei
41aece60f6 loader: Add DeconstructedRomDirectory for game dumps. 2018-01-20 15:54:15 -05:00
bunnei
6ef698bf1a loader: Refactor to also pass filepath into IdentifyType. 2018-01-20 14:59:44 -05:00
bunnei
ccac65b9e6 nso: Remove code specific to directory loading. 2018-01-20 14:59:42 -05:00
gdkchan
d7c1541d78 Fix NRO Entry Point 2018-01-18 17:18:43 -03:00
gdkchan
3a83b50fd8 Fix NRO loading 2018-01-17 20:16:09 -03:00
gdkchan
38fc0e5164 Remove relocation on NSO/NRO 2018-01-17 17:01:10 -03:00
bunnei
e13ae4677d Merge pull request #44 from Rozelette/master
nso: Modify .bss size calculation logic
2018-01-16 17:24:49 -05:00
MerryMage
04e933748c clang-format 2018-01-16 18:05:21 +00:00
Rozlette
9080616e9a nso: Modify .bss size calculation logic 2018-01-16 11:14:36 -06:00
bunnei
280397fb44 nso: Load subsdk4 if available. 2018-01-15 17:18:24 -05:00
Thog
20505a7cb7 Add missing FileType declarations in GuessFromExtension and GetFileTypeString 2018-01-14 19:00:16 +01:00
bunnei
17cc648277 yuzu: Update license text to be consistent across project. 2018-01-13 16:22:39 -05:00
bunnei
ed2d21ec61 nso: Always load the filepath specified by the user. 2018-01-07 12:44:36 -05:00
bunnei
78de509dcc nso: Load more common submodules. 2017-10-22 23:50:26 -04:00
bunnei
29f18e7ba2 memory: Support 32-bit paging, move heap address space up. 2017-10-22 23:17:59 -04:00
bunnei
0d440f89d4 core: Refactor MakeMagic usage and remove dead code. 2017-10-15 00:11:38 -04:00
bunnei
bab96a7581 nso: Add a log for loading submodules. 2017-10-14 17:37:51 -04:00
bunnei
9ae08d651e Remove more 3DS-specific code. 2017-10-12 21:29:53 -04:00
bunnei
c2c6781e42 Remove lots more 3DS-specific code. 2017-10-12 21:21:49 -04:00
bunnei
45b7723c75 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei
38016f790b loader: Various improvements for NSO/NRO loaders. 2017-10-09 21:39:32 -04:00
bunnei
8a12962660 loader: Add support for NRO, as well as various fixes and shared linker. 2017-10-05 23:30:08 -04:00
bunnei
994bd18902 nso: Fixes to support homebrew NSOs without a MOD header. 2017-10-03 18:30:02 -04:00
shinyquagsire23
2f692e1f79 file_sys, loader: add support for reading TMDs to determine app paths 2017-10-01 10:54:02 -06:00
bunnei
7b5930f5c4 nso: Refactor and allocate .bss section. 2017-09-30 14:33:58 -04:00
bunnei
27c7898ad6 loader: Add support for loading an NSO. 2017-09-30 14:32:53 -04:00
bunnei
49152a276d elf: Check if machine is ARM. 2017-09-30 14:28:53 -04:00
Subv
67988aa2c4 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
Subv
ce8a0dbeed HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.
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.
2017-09-25 09:45:02 -05:00
B3n30
f474afa1fb Merge pull request #2952 from MerryMage/page-tables
Switchable Page Tables
2017-09-25 08:29:32 +02:00
Max Thomas
f65437822b 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
MerryMage
82f6386ab3 memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Subv
fe28c5d069 Kernel/Memory: Give each Process its own page table.
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-10 15:13:41 -05:00
B3n30
e317c51cbd Added missing parts in libnetwork (#2838)
* Network: Set and send the game information over enet

Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
2017-08-19 11:14:33 -06:00
bunnei
c52f6d31f2 loader: Expose program title. 2017-08-03 20:10:37 -04:00
bunnei
3fc4ccce57 telemetry: Log performance, configuration, and system data. 2017-07-17 21:32:28 -04:00
TheKoopaKingdom
28de301d16 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
TheKoopaKingdom
266c619427 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
de80586020 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