diff options
| -rw-r--r-- | README.md | 20 | ||||
| -rw-r--r-- | src/core/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armemu.cpp | 24 | ||||
| -rw-r--r-- | src/core/hle/service/am_app.cpp | 23 | ||||
| -rw-r--r-- | src/core/hle/service/am_app.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/cecd_u.cpp | 23 | ||||
| -rw-r--r-- | src/core/hle/service/cecd_u.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/ldr_ro.cpp | 28 | ||||
| -rw-r--r-- | src/core/hle/service/ldr_ro.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/nim_aoc.cpp | 31 | ||||
| -rw-r--r-- | src/core/hle/service/nim_aoc.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/service.cpp | 8 |
12 files changed, 258 insertions, 15 deletions
| @@ -1,10 +1,12 @@ | |||
| 1 | citra emulator | 1 | Citra Emulator |
| 2 | ============== | 2 | ============== |
| 3 | [](https://travis-ci.org/citra-emu/citra) | 3 | [](https://travis-ci.org/citra-emu/citra) |
| 4 | 4 | ||
| 5 | An experimental open-source Nintendo 3DS emulator/debugger written in C++. Citra is written with portability in mind, with builds actively maintained for Windows, Linux and OS X. At this time, it only emulates a subset of 3DS hardware, and therefore is generally only useful for booting/debugging very simple homebrew demos. Citra is licensed under the GPLv2. Refer to the license.txt file included. Please read the [FAQ](https://github.com/citra-emu/citra/wiki/FAQ) before getting started with the project. | 5 | Citra is an experimental open-source Nintendo 3DS emulator/debugger written in C++. It is written with portability in mind, with builds actively maintained for Windows, Linux and OS X. At this time, it only emulates a subset of 3DS hardware, and therefore is generally only useful for booting/debugging very simple homebrew demos. However, this is changing as more and more progress is being made on running commercial titles, too. |
| 6 | 6 | ||
| 7 | For development discussion, please join us @ #citra on [freenode](http://webchat.freenode.net/). | 7 | Citra is licensed under the GPLv2. Refer to the license.txt file included. Please read the [FAQ](https://github.com/citra-emu/citra/wiki/FAQ) before getting started with the project. |
| 8 | |||
| 9 | For development discussion, please join us @ #citra on [freenode](http://webchat.freenode.net/?channels=citra). | ||
| 8 | 10 | ||
| 9 | ### Development | 11 | ### Development |
| 10 | 12 | ||
| @@ -15,3 +17,15 @@ If you want to contribute please take a took at the [Contributor's Guide](CONTRI | |||
| 15 | * __Windows__: [Windows Build](https://github.com/citra-emu/citra/wiki/Windows-Build) | 17 | * __Windows__: [Windows Build](https://github.com/citra-emu/citra/wiki/Windows-Build) |
| 16 | * __Linux__: [Linux Build](https://github.com/citra-emu/citra/wiki/Linux-Build) | 18 | * __Linux__: [Linux Build](https://github.com/citra-emu/citra/wiki/Linux-Build) |
| 17 | * __OSX__: [OS X Build](https://github.com/citra-emu/citra/wiki/OS-X-Build) | 19 | * __OSX__: [OS X Build](https://github.com/citra-emu/citra/wiki/OS-X-Build) |
| 20 | |||
| 21 | |||
| 22 | ### Support | ||
| 23 | If you like, you can [donate by PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K899FANUJ2ZXW) - any donation received will go towards things like: | ||
| 24 | * 3DS consoles for developers to explore the hardware | ||
| 25 | * 3DS games for testing | ||
| 26 | * Any equipment required for homebrew | ||
| 27 | * Infrastructure setup | ||
| 28 | * Eventually 3D displays to get proper 3D output working | ||
| 29 | * ... etc ... | ||
| 30 | |||
| 31 | We also more than gladly accept used 3DS consoles, preferrably ones with firmware 4.5 or lower! If you would like to give yours away, don't hesitate to join our IRC channel #citra on [Freenode](http://webchat.freenode.net/?channels=citra) and talk to neobrain or bunnei. Mind you, IRC is slow-paced, so it might be a while until people reply. If you're in a hurry you can just leave contact details in the channel or via private message and we'll get back to you. | ||
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index ce63aab09..198e4afd3 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -31,9 +31,11 @@ set(SRCS | |||
| 31 | hle/kernel/shared_memory.cpp | 31 | hle/kernel/shared_memory.cpp |
| 32 | hle/kernel/thread.cpp | 32 | hle/kernel/thread.cpp |
| 33 | hle/service/ac_u.cpp | 33 | hle/service/ac_u.cpp |
| 34 | hle/service/am_app.cpp | ||
| 34 | hle/service/am_net.cpp | 35 | hle/service/am_net.cpp |
| 35 | hle/service/apt_u.cpp | 36 | hle/service/apt_u.cpp |
| 36 | hle/service/boss_u.cpp | 37 | hle/service/boss_u.cpp |
| 38 | hle/service/cecd_u.cpp | ||
| 37 | hle/service/cfg_i.cpp | 39 | hle/service/cfg_i.cpp |
| 38 | hle/service/cfg_u.cpp | 40 | hle/service/cfg_u.cpp |
| 39 | hle/service/csnd_snd.cpp | 41 | hle/service/csnd_snd.cpp |
| @@ -46,7 +48,9 @@ set(SRCS | |||
| 46 | hle/service/hid_user.cpp | 48 | hle/service/hid_user.cpp |
| 47 | hle/service/ir_rst.cpp | 49 | hle/service/ir_rst.cpp |
| 48 | hle/service/ir_u.cpp | 50 | hle/service/ir_u.cpp |
| 51 | hle/service/ldr_ro.cpp | ||
| 49 | hle/service/mic_u.cpp | 52 | hle/service/mic_u.cpp |
| 53 | hle/service/nim_aoc.cpp | ||
| 50 | hle/service/ndm_u.cpp | 54 | hle/service/ndm_u.cpp |
| 51 | hle/service/nwm_uds.cpp | 55 | hle/service/nwm_uds.cpp |
| 52 | hle/service/pm_app.cpp | 56 | hle/service/pm_app.cpp |
| @@ -111,9 +115,11 @@ set(HEADERS | |||
| 111 | hle/kernel/shared_memory.h | 115 | hle/kernel/shared_memory.h |
| 112 | hle/kernel/thread.h | 116 | hle/kernel/thread.h |
| 113 | hle/service/ac_u.h | 117 | hle/service/ac_u.h |
| 118 | hle/service/am_app.h | ||
| 114 | hle/service/am_net.h | 119 | hle/service/am_net.h |
| 115 | hle/service/apt_u.h | 120 | hle/service/apt_u.h |
| 116 | hle/service/boss_u.h | 121 | hle/service/boss_u.h |
| 122 | hle/service/cecd_u.h | ||
| 117 | hle/service/cfg_i.h | 123 | hle/service/cfg_i.h |
| 118 | hle/service/cfg_u.h | 124 | hle/service/cfg_u.h |
| 119 | hle/service/csnd_snd.h | 125 | hle/service/csnd_snd.h |
| @@ -126,7 +132,9 @@ set(HEADERS | |||
| 126 | hle/service/hid_user.h | 132 | hle/service/hid_user.h |
| 127 | hle/service/ir_rst.h | 133 | hle/service/ir_rst.h |
| 128 | hle/service/ir_u.h | 134 | hle/service/ir_u.h |
| 135 | hle/service/ldr_ro.h | ||
| 129 | hle/service/mic_u.h | 136 | hle/service/mic_u.h |
| 137 | hle/service/nim_aoc.h | ||
| 130 | hle/service/ndm_u.h | 138 | hle/service/ndm_u.h |
| 131 | hle/service/nwm_uds.h | 139 | hle/service/nwm_uds.h |
| 132 | hle/service/pm_app.h | 140 | hle/service/pm_app.h |
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp index ec40881f8..33ebc7986 100644 --- a/src/core/arm/interpreter/armemu.cpp +++ b/src/core/arm/interpreter/armemu.cpp | |||
| @@ -6101,18 +6101,18 @@ L_stm_s_takeabort: | |||
| 6101 | 6101 | ||
| 6102 | return 1; | 6102 | return 1; |
| 6103 | } | 6103 | } |
| 6104 | case 0x6c: | 6104 | case 0x6c: |
| 6105 | if ((instr & 0xf03f0) == 0xf0070) { //uxtb16 | 6105 | if ((instr & 0xf03f0) == 0xf0070) { //uxtb16 |
| 6106 | u8 src1 = BITS(0, 3); | 6106 | u8 rm_idx = BITS(0, 3); |
| 6107 | u8 tar = BITS(12, 15); | 6107 | u8 rd_idx = BITS(12, 15); |
| 6108 | u32 base = state->Reg[src1]; | 6108 | u32 rm_val = state->Reg[rm_idx]; |
| 6109 | u32 shamt = BITS(9,10)* 8; | 6109 | u32 rotation = BITS(10, 11) * 8; |
| 6110 | u32 in = ((base << (32 - shamt)) | (base >> shamt)); | 6110 | u32 in = ((rm_val << (32 - rotation)) | (rm_val >> rotation)); |
| 6111 | state->Reg[tar] = in & 0x00FF00FF; | 6111 | state->Reg[rd_idx] = in & 0x00FF00FF; |
| 6112 | return 1; | 6112 | return 1; |
| 6113 | } else | 6113 | } else |
| 6114 | printf ("Unhandled v6 insn: uxtab16\n"); | 6114 | printf ("Unhandled v6 insn: uxtab16\n"); |
| 6115 | break; | 6115 | break; |
| 6116 | case 0x6e: { | 6116 | case 0x6e: { |
| 6117 | ARMword Rm; | 6117 | ARMword Rm; |
| 6118 | int ror = -1; | 6118 | int ror = -1; |
diff --git a/src/core/hle/service/am_app.cpp b/src/core/hle/service/am_app.cpp new file mode 100644 index 000000000..05c34832b --- /dev/null +++ b/src/core/hle/service/am_app.cpp | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/am_app.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace AM_APP | ||
| 11 | |||
| 12 | namespace AM_APP { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | }; | ||
| 16 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 17 | // Interface class | ||
| 18 | |||
| 19 | Interface::Interface() { | ||
| 20 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 21 | } | ||
| 22 | |||
| 23 | } // namespace | ||
diff --git a/src/core/hle/service/am_app.h b/src/core/hle/service/am_app.h new file mode 100644 index 000000000..86a5f5b74 --- /dev/null +++ b/src/core/hle/service/am_app.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace AM_APP | ||
| 11 | |||
| 12 | namespace AM_APP { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | |||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const override { | ||
| 23 | return "am:app"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/cecd_u.cpp b/src/core/hle/service/cecd_u.cpp new file mode 100644 index 000000000..d72f1da3f --- /dev/null +++ b/src/core/hle/service/cecd_u.cpp | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/cecd_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace CECD_U | ||
| 11 | |||
| 12 | namespace CECD_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | }; | ||
| 16 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 17 | // Interface class | ||
| 18 | |||
| 19 | Interface::Interface() { | ||
| 20 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 21 | } | ||
| 22 | |||
| 23 | } // namespace | ||
diff --git a/src/core/hle/service/cecd_u.h b/src/core/hle/service/cecd_u.h new file mode 100644 index 000000000..969e1ed1b --- /dev/null +++ b/src/core/hle/service/cecd_u.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace CECD_U | ||
| 11 | |||
| 12 | namespace CECD_U { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | |||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const override { | ||
| 23 | return "cecd:u"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/ldr_ro.cpp b/src/core/hle/service/ldr_ro.cpp new file mode 100644 index 000000000..91b1a6fc5 --- /dev/null +++ b/src/core/hle/service/ldr_ro.cpp | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/ldr_ro.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace LDR_RO | ||
| 11 | |||
| 12 | namespace LDR_RO { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x000100C2, nullptr, "Initialize"}, | ||
| 16 | {0x00020082, nullptr, "CRR_Load"}, | ||
| 17 | {0x00030042, nullptr, "CRR_Unload"}, | ||
| 18 | {0x000402C2, nullptr, "CRO_LoadAndFix"}, | ||
| 19 | {0x000500C2, nullptr, "CRO_ApplyRelocationPatchesAndLink"} | ||
| 20 | }; | ||
| 21 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 22 | // Interface class | ||
| 23 | |||
| 24 | Interface::Interface() { | ||
| 25 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 26 | } | ||
| 27 | |||
| 28 | } // namespace | ||
diff --git a/src/core/hle/service/ldr_ro.h b/src/core/hle/service/ldr_ro.h new file mode 100644 index 000000000..32d7c29cf --- /dev/null +++ b/src/core/hle/service/ldr_ro.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace LDR_RO | ||
| 11 | |||
| 12 | namespace LDR_RO { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | |||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const override { | ||
| 23 | return "ldr:ro"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/nim_aoc.cpp b/src/core/hle/service/nim_aoc.cpp new file mode 100644 index 000000000..04c1e0cf3 --- /dev/null +++ b/src/core/hle/service/nim_aoc.cpp | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/nim_aoc.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace NIM_AOC | ||
| 11 | |||
| 12 | namespace NIM_AOC { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00030042, nullptr, "SetApplicationId"}, | ||
| 16 | {0x00040042, nullptr, "SetTin"}, | ||
| 17 | {0x000902D0, nullptr, "ListContentSetsEx"}, | ||
| 18 | {0x00180000, nullptr, "GetBalance"}, | ||
| 19 | {0x001D0000, nullptr, "GetCustomerSupportCode"}, | ||
| 20 | {0x00210000, nullptr, "Initialize"}, | ||
| 21 | {0x00240282, nullptr, "CalculateContentsRequiredSize"}, | ||
| 22 | {0x00250000, nullptr, "RefreshServerTime"}, | ||
| 23 | }; | ||
| 24 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 25 | // Interface class | ||
| 26 | |||
| 27 | Interface::Interface() { | ||
| 28 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 29 | } | ||
| 30 | |||
| 31 | } // namespace | ||
diff --git a/src/core/hle/service/nim_aoc.h b/src/core/hle/service/nim_aoc.h new file mode 100644 index 000000000..2cc673118 --- /dev/null +++ b/src/core/hle/service/nim_aoc.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2+ | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace NIM_AOC | ||
| 11 | |||
| 12 | namespace NIM_AOC { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | |||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const override { | ||
| 23 | return "nim:aoc"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 037211e73..2230045e3 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp | |||
| @@ -7,9 +7,11 @@ | |||
| 7 | 7 | ||
| 8 | #include "core/hle/service/service.h" | 8 | #include "core/hle/service/service.h" |
| 9 | #include "core/hle/service/ac_u.h" | 9 | #include "core/hle/service/ac_u.h" |
| 10 | #include "core/hle/service/am_app.h" | ||
| 10 | #include "core/hle/service/am_net.h" | 11 | #include "core/hle/service/am_net.h" |
| 11 | #include "core/hle/service/apt_u.h" | 12 | #include "core/hle/service/apt_u.h" |
| 12 | #include "core/hle/service/boss_u.h" | 13 | #include "core/hle/service/boss_u.h" |
| 14 | #include "core/hle/service/cecd_u.h" | ||
| 13 | #include "core/hle/service/cfg_i.h" | 15 | #include "core/hle/service/cfg_i.h" |
| 14 | #include "core/hle/service/cfg_u.h" | 16 | #include "core/hle/service/cfg_u.h" |
| 15 | #include "core/hle/service/csnd_snd.h" | 17 | #include "core/hle/service/csnd_snd.h" |
| @@ -21,7 +23,9 @@ | |||
| 21 | #include "core/hle/service/hid_user.h" | 23 | #include "core/hle/service/hid_user.h" |
| 22 | #include "core/hle/service/ir_rst.h" | 24 | #include "core/hle/service/ir_rst.h" |
| 23 | #include "core/hle/service/ir_u.h" | 25 | #include "core/hle/service/ir_u.h" |
| 26 | #include "core/hle/service/ldr_ro.h" | ||
| 24 | #include "core/hle/service/mic_u.h" | 27 | #include "core/hle/service/mic_u.h" |
| 28 | #include "core/hle/service/nim_aoc.h" | ||
| 25 | #include "core/hle/service/ndm_u.h" | 29 | #include "core/hle/service/ndm_u.h" |
| 26 | #include "core/hle/service/nwm_uds.h" | 30 | #include "core/hle/service/nwm_uds.h" |
| 27 | #include "core/hle/service/pm_app.h" | 31 | #include "core/hle/service/pm_app.h" |
| @@ -84,9 +88,11 @@ void Init() { | |||
| 84 | 88 | ||
| 85 | g_manager->AddService(new SRV::Interface); | 89 | g_manager->AddService(new SRV::Interface); |
| 86 | g_manager->AddService(new AC_U::Interface); | 90 | g_manager->AddService(new AC_U::Interface); |
| 91 | g_manager->AddService(new AM_APP::Interface); | ||
| 87 | g_manager->AddService(new AM_NET::Interface); | 92 | g_manager->AddService(new AM_NET::Interface); |
| 88 | g_manager->AddService(new APT_U::Interface); | 93 | g_manager->AddService(new APT_U::Interface); |
| 89 | g_manager->AddService(new BOSS_U::Interface); | 94 | g_manager->AddService(new BOSS_U::Interface); |
| 95 | g_manager->AddService(new CECD_U::Interface); | ||
| 90 | g_manager->AddService(new CFG_I::Interface); | 96 | g_manager->AddService(new CFG_I::Interface); |
| 91 | g_manager->AddService(new CFG_U::Interface); | 97 | g_manager->AddService(new CFG_U::Interface); |
| 92 | g_manager->AddService(new CSND_SND::Interface); | 98 | g_manager->AddService(new CSND_SND::Interface); |
| @@ -98,7 +104,9 @@ void Init() { | |||
| 98 | g_manager->AddService(new HID_User::Interface); | 104 | g_manager->AddService(new HID_User::Interface); |
| 99 | g_manager->AddService(new IR_RST::Interface); | 105 | g_manager->AddService(new IR_RST::Interface); |
| 100 | g_manager->AddService(new IR_U::Interface); | 106 | g_manager->AddService(new IR_U::Interface); |
| 107 | g_manager->AddService(new LDR_RO::Interface); | ||
| 101 | g_manager->AddService(new MIC_U::Interface); | 108 | g_manager->AddService(new MIC_U::Interface); |
| 109 | g_manager->AddService(new NIM_AOC::Interface); | ||
| 102 | g_manager->AddService(new NDM_U::Interface); | 110 | g_manager->AddService(new NDM_U::Interface); |
| 103 | g_manager->AddService(new NWM_UDS::Interface); | 111 | g_manager->AddService(new NWM_UDS::Interface); |
| 104 | g_manager->AddService(new PM_APP::Interface); | 112 | g_manager->AddService(new PM_APP::Interface); |