Commit Graph

60 Commits

Author SHA1 Message Date
89eef9eb6d Added stub for nim:aoc service... 2014-12-15 15:32:42 -08:00
1356a6b313 Added stub for cecd:u service...
I couldn't find any information about this service...
2014-12-15 15:32:42 -08:00
6117fad036 Added stub for ldr:ro service... 2014-12-15 15:32:42 -08:00
6b51683bb1 Added am:app service stub.
Apparently nothing at all is known about this service...
2014-12-15 15:32:41 -08:00
82c84883a5 SVC: Implemented svcCreateSemaphore
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
521e1cb7e0 Remove unused NDMA module 2014-12-09 18:27:16 -02:00
1aa969741d Loader: Add 3DSX support 2014-12-08 18:06:43 +01:00
c2588403c0 HLE: Revamp error handling throrough the HLE code
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.

This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.

One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.

The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.

Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
2014-11-24 17:08:36 -02:00
9821bfcb8e Add more services and some fixes, along with more "override"
in the service's headers
2014-11-20 17:09:57 -08:00
e27f169acb Add missing boss:U service, needed according to Nintendo Zone logs. 2014-11-17 07:31:37 -08:00
37e582c395 Add FRD:U service and functions 2014-11-10 22:43:45 -08:00
c22923f8c4 Added stub err:f service. 2014-11-01 20:07:59 -07:00
539b4c883d Added a bunch of services 2014-11-01 15:28:35 -07:00
38df9e96dd Renamed souce files of services to match port names 2014-10-29 15:55:51 -04:00
818ba32746 ARM: Removed unnecessary and unused SkyEye MMU code.
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25 14:11:41 -04:00
3c823c0028 ARM: Removed unused armos code from SkyEye. 2014-10-25 14:11:40 -04:00
53a22b84da ARM: Integrate SkyEye faster "dyncom" interpreter.
Fixed typo (make protected member public)

Added license header back in. I originally removed this because I mostly rewrote the file, but meh

ARM: Fixed a type error in dyncom interpreter.

ARM: Updated dyncom to use unique_ptr for internal ARM state.
2014-10-25 14:11:39 -04:00
b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
2014-10-25 14:11:39 -04:00
e6594f9f53 Added configuration file system.
Uses QSettings on citra-qt, and inih on citra-cli.
2014-10-07 15:09:37 -07:00
33b0d1081e Core: Add a Directory object, with both a stub and a passthrough implementations. 2014-09-17 14:35:46 +00:00
e73caaefe5 Core: Add a passthrough backend for the filesystem, exposed as SDMC. 2014-09-17 14:35:45 +00:00
9251f7e2f8 Core: Add a new File class, obtainable from an Archive, and a stub implementation. 2014-09-17 14:35:45 +00:00
45976da975 CMake cleanup
Several cleanups to the buildsystem:
 - Do better factoring of common libs between platforms.
 - Add support to building on Windows.
 - Remove Qt4 support.
 - Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
3eb89f3e98 Kernel: Added preliminary support for address arbiters.
AddressArbiter: Added documentation comment, fixed whitespace issue.

AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.

SVC: Removed trailing whitespace.
2014-07-08 18:46:38 -04:00
e547128185 Kernel: Added support for shared memory objects.
SharedMemory: Added optional name field for tracking known objects.
2014-07-05 01:21:05 -04:00
17a6148f9d FileSys: Added preliminary support for applications reading the RomFS archive.
Archive: Fixed brace ugliness for neobrain :)

FS: Commented out unused local variables to prevent warnings.

...But keeping them here for future use.

archive_romfs: Removed unused #include.
2014-07-04 20:37:45 -04:00
48e39fc992 FS: Added stubbed code to intercept and decode file system service functions.
FS: Added to CMakeLists.txt
2014-06-27 16:58:30 -04:00
8b8c8f4c13 Kernel: Added stubbed code to support creation of kernel Archive objects. 2014-06-27 16:58:30 -04:00
0cc3e85685 Core: Removed unused directory_file_system and meta_file_system modules.
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
2014-06-27 16:58:30 -04:00
1da361c7ab Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces. 2014-06-16 23:43:32 -04:00
3577dd027d Loader: Added support for booting NCCH executables.
NCCH: Fixed typo in printing NCCH filename.
2014-06-16 23:43:29 -04:00
0aca202ae9 Loader: Moved elf and loader modules to a "loader" subdirectory. 2014-06-16 18:03:13 -04:00
004df76795 Merge branch 'threading' of https://github.com/bunnei/citra
Conflicts:
	src/core/hle/function_wrappers.h
	src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
1dfa392824 Rename LCD to GPU. 2014-06-12 06:10:49 -04:00
55325dea4c hle: added stubbed service for ndm_u 2014-05-30 00:24:04 -04:00
ea8627d536 event: fixed typos and updated CMakeLists 2014-05-27 22:14:38 -04:00
420971a849 core: fixed headers in CMakeLists 2014-05-22 23:39:25 -04:00
32c314c992 Merge branch 'threading' 2014-05-22 22:57:45 -04:00
978e1d4653 mutex: initial commit of HLE module 2014-05-20 23:03:45 -04:00
143bba2045 renamed "syscall" module to "svc" (more accurate naming) 2014-05-20 18:28:38 -04:00
403e4bf837 CMakeLists: rename HEADS, improved comments
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 -07:00
c1394650ff Updated cmakelists 2014-05-16 23:39:27 -07:00
b8c8d0903e Merge remote-tracking branch 'upstream/master' into issue-7-fix 2014-05-16 23:21:03 -07:00
0b1ba2f37a Merge master into threading to add support for VFP 2014-05-16 22:24:34 -04:00
afc9e27fc7 fixed typo in CMakeLists.txt 2014-05-16 20:57:31 -04:00
f872807de2 added maverick.cpp to ARM core from skyeye 2014-05-16 00:52:42 -04:00
ad49d481a8 added missing armcopro from skyeye 2014-05-16 00:23:36 -04:00
9a642caee7 added missing skyeye mmu code 2014-05-15 23:39:06 -04:00
3e1eafa244 - moved mmu to arm/interpreter folder
- added initial VFP code from skyeye
2014-05-15 22:54:17 -04:00
6b264518a5 added initial kernel/thread modules 2014-05-09 22:11:18 -04:00