Commit Graph

116 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner 5dc6e08426 FileSys: Move all result description to errors.h 2017-05-24 21:06:00 -07:00
wwylele d47ad55315 loader: use self NCCH archive 2017-02-13 13:57:38 +02:00
Lectem 24ba05104a IPC helpers example 2016-12-26 14:07:29 +01:00
bunnei ee017bc1d7 Address clang-format issues. 2016-12-21 23:48:14 -05:00
bunnei c5f21efe18 core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
wwylele 65b6a8a91c FS: fix debug build from #2249 2016-12-16 00:22:36 +02:00
Yuri Kunde Schlesner dce4b9e969 Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Subv 517a16acb8 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:45:36 -05:00
Subv 9196e713f4 Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. 2016-12-09 12:52:12 -05:00
Subv ee6c03dfc6 Added a framework for partially handling Session disconnections.
Further implementation will happen in a future commit.

Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv 41e5e714d5 Use std::move where appropriate. 2016-12-08 11:06:19 -05:00
Lioncash 64d803f8fe fs_user: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
bunnei 876a2c3aa6 Merge pull request #2232 from wwylele/other-save
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv 7214f4986e Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv 694df935a6 Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv 20f90896af A bit of a redesign.
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv 0d2f2880b9 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.

HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
mailwl dcf71f36fc Set client SDK version to Service APIs 2016-11-30 09:51:14 +03:00
wwylele f4b483015d FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele 302bf9eab0 FS: add missing MediaType 2016-11-29 23:50:00 +02:00
wwylele 341660cf46 FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
wwylele 58379b8ff4 FileSys: rename SaveDataCheck archive to NCCH archive
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele f88b31502c FileSys: add SDMCWriteOnlyArchive 2016-11-19 18:55:34 +02:00
wwylele 5fc27d6d0f FileSys: make Archive interfaces return error code
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
wwylele 6cdab1e0a5 fs: clean up log format 2016-10-02 12:39:28 +08:00
wwylele fce6b89518 fs: implement DeleteDirectoryRecursively 2016-10-02 11:29:16 +08:00
Yuri Kunde Schlesner 45751915a0 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot e4393f7ff2 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
Yuri Kunde Schlesner 0e23caf9fd Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot 7e8d205414 Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Yuri Kunde Schlesner 54920b6152 Merge pull request #1894 from wwylele/set-config-block
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
bunnei 1a5221abc4 Merge pull request #1940 from JamePeng/fix-archive-error-code
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
JamePeng 9d7d296457 Fix the errorcode of archive handle 2016-07-05 00:39:09 +08:00
Subv f4617ecd24 HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData) 2016-07-03 13:42:52 -05:00
wwylele 6d9f9af669 Service::CFG/FS: add and refactor out utilities for front-end 2016-07-03 08:23:59 +03:00
Subv b1b3b24c3c Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions. 2016-05-28 13:52:50 -05:00
MerryMage bf84f784ed FS/Archive: Remove use of Memory::GetPointer 2016-05-28 13:44:44 -05:00
Sam Spilsbury f97406b393 fs: Fix what appears to be a typo (filename_size / file_size) 2016-04-23 11:54:02 +08:00
tfarley 459035a108 HWRasterizer: Texture forwarding 2016-04-21 17:27:56 -04:00
MerryMage 9f9c987924 Common: Remove Common::make_unique, use std::make_unique 2016-04-05 13:31:17 +01:00
Subv b94133bd71 HLE/FS: Change the error code returned when an ExtSaveData archive is not found.
This allows Fire Emblem to boot again.
2016-03-20 14:52:50 -05:00
Subv 438f0cb335 HLE/FS: Corrected some style concerns. 2016-03-20 14:52:26 -05:00
Subv 9773d90363 HLE/FS: Implemented GetFormatInfo
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20 14:30:01 -05:00
Subv 90d5e8b597 HLE/FS: Don't return an error when deleting the ExtSaveData if it does not exist. 2016-03-20 14:28:24 -05:00
Subv 6983167205 HLE/FS: Return the proper error codes when opening files. 2016-03-20 14:28:22 -05:00
Subv a871f0b7d0 HLE/FS: Fixed the OpenDirectory error code 2016-03-20 14:28:19 -05:00
Subv bbbdb660af HLE/FS: Return the proper error codes on file Read/Write operations.
These operations are limited by the open flags specified while opening the file.
2016-03-20 14:28:17 -05:00
Subv e248331abc HLE/FS: Corrected the error codes for DeleteFile 2016-03-20 14:28:14 -05:00
Subv 3c9508c468 HLE/FS: FS::CreateFile takes an u64 for the file size. 2016-03-20 14:28:08 -05:00
pippo2931 cc6c9fa8fd Fix header 2016-03-12 11:05:48 -08:00