Commit graph

3881 commits

Author SHA1 Message Date
Sebastian Valle 2e30398e7a Merge pull request #2967 from Subv/thread_wakeup_callbacks
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
2017-09-30 09:12:18 -05:00
Huw Pascoe da1c8d1522 Fixed type conversion ambiguity 2017-09-30 09:34:35 +01:00
bunnei e2a34ccd89 Merge pull request #2961 from Subv/load_titles
Loaders: Don't automatically set the current process every time we load an application.
2017-09-29 14:58:42 -04:00
Subv a0054d695e Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.

If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
2017-09-28 11:53:32 -05:00
Subv 11920a6bd1 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
James Rowe 47ca57f00f Merge pull request #2954 from Subv/cache_unmapped_mem
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
2017-09-26 16:55:47 -06:00
Subv 2e78c05d91 Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
2017-09-26 17:40:49 -05:00
Subv 3cb2bf08c3 Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
2017-09-26 17:27:44 -05:00
Subv 04481f6a13 HLE/APT: Always set up the APT parameter when starting a library applet.
Only use the HLE interface if an HLE applet with the desired id was started.

This commit reorganizes the APT code surrounding parameter creation and delivery to make it easier to support LLE applets in the future.

As future work, the HLE applet interface can be reworked to utilize the same facilities as the LLE interface.
2017-09-25 23:47:50 -05:00
Subv bfc70ef1d1 Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions.
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping.

This fixes a crash when loading applets and system modules.
2017-09-25 19:37:45 -05:00
Subv f2b635a73d 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 75f023a48b Merge pull request #2952 from MerryMage/page-tables
Switchable Page Tables
2017-09-25 08:29:32 +02:00
B3n30 c78c4f258d Merge pull request #2948 from Subv/register_service
HLE/SRV: Implemented RegisterService.
2017-09-25 08:22:05 +02:00
Max Thomas 042b389b57 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
B3n30 9ab7d720db Services/UDS: Added a function to send EAPoL-Start packets (#2920)
* Services/UDS: Added a function to generate the EAPoL-Start packet body.

* Services/UDS: Added filter for beacons.

* Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread.

* Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame.

* fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections

* fixup: fix damn clang-format
2017-09-25 08:16:27 +02:00
MerryMage 0e49bffe03 ARM_Interface: Implement PageTableChanged 2017-09-24 23:08:25 +01:00
MerryMage ecf27fbf82 memory: Remove GetCurrentPageTablePointers 2017-09-24 22:43:28 +01:00
MerryMage 6b8ad273fc memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Subv 5a30962cf1 HLE/APT: Always return an error from PrepareToStartNewestHomeMenu so that the Home Menu doesn't try to reboot the system.
As per 3dbrew:
"During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
2017-09-24 08:59:31 -05:00
Subv c3b1470a42 HLE/APT: Prepare the APT Wakeup parameter when the game calls Initialize
We need to know what is being run so we can set the APT parameter destination AppId correctly.
Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
2017-09-24 08:59:30 -05:00
Subv 2e487c9bce HLE/SRV: Implemented RegisterService.
Now system modules can do more than just crash immediately on startup.
2017-09-24 00:12:58 -05:00
B3n30 fdd8a6ef0c WebService: Verify username and token (#2930)
* WebService: Verify username and token; Log errors in PostJson

* Fixup: added docstrings to the functions

* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits

* fixup: fmt warning
2017-09-18 21:18:26 -04:00
Yuri Kunde Schlesner defb247fff Merge pull request #2906 from Subv/ns_new_framework
Services/NS: Port ns:s to the new service framework.
2017-09-16 21:13:51 +02:00
Subv 891916efff Services/NS: Port ns:s to the new service framework. 2017-09-16 10:52:45 -05:00
B3n30 ccdc31ca9f Merge pull request #2842 from Subv/switchable_page_table
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15 22:41:45 +02:00
Subv 85f1a05d7e CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime. 2017-09-15 14:26:22 -05:00
Subv 8932f435fc Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping. 2017-09-15 14:26:18 -05:00
Subv 9200465e55 Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.
We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
2017-09-15 14:26:15 -05:00
Subv 71281c2114 Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer. 2017-09-15 14:26:13 -05:00
bunnei b957876d61 Merge pull request #2915 from wwylele/font-archive-2
APT: load different shared font depending on the region
2017-09-11 21:39:56 -04:00
Subv 23ad87098d Kernel/Memory: Switch the current page table when a new process is scheduled. 2017-09-10 15:14:31 -05:00
Subv 36100ec791 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
Weiyi Wang 312e762696 Merge pull request #2831 from Subv/uds_auth
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
2017-09-05 15:03:56 +03:00
mailwl 4edc09f6b3 Remove _flag in var names 2017-09-04 12:15:15 +03:00
mailwl 977f7eee79 Mii Selector Applet: update Mii structures 2017-09-04 12:04:12 +03:00
wwylele 7bf08b4f6e APT: load different shared font depending on the region 2017-09-03 12:34:11 +03:00
bunnei d181a67df9 Merge pull request #2899 from wwylele/touch-refactor
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
Sebastian Valle 8b1fdb9394 Merge pull request #2905 from danzel/fix-2902
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 09:35:56 -05:00
danzel e16c96d587 Use recursive_mutex instead of mutex to fix #2902 2017-08-29 20:39:55 +12:00
Subv 02af4789cc Services/UDS: Remove an old duplicated declaration of WifiPacket. 2017-08-27 10:48:15 -05:00
Subv 0e1a05aaec Services/UDS: Handle the connection sequence packets.
There is currently no stage tracking, a client is considered "Connected" when it receives the EAPoL Logoff packet from the server, this is not yet implemented.
2017-08-27 10:48:13 -05:00
Subv 088500377e Services/UDS: Store the received beacon frames until RecvBeaconBroadcastData is called, up to 15 beacons at the same time, removing any older beacon frames when the limit is exceeded. 2017-08-27 10:48:11 -05:00
Subv 44350f7ea1 Services/UDS: Add functions to generate 802.11 auth and assoc response frames. 2017-08-27 10:48:09 -05:00
bunnei 0783d36b5a web_services: Refactor to remove dependency on Core. 2017-08-25 23:10:02 -04:00
bunnei d10cd5d7ea qt: Add an option to view/regenerate telemetry ID. 2017-08-25 23:10:02 -04:00
bunnei 3142ed98b6 settings: Add enable_telemetry, citra_username, and citra_token. 2017-08-25 23:10:00 -04:00
bunnei 58d3f0ae1d telemetry_session: Log telemetry ID. 2017-08-25 23:10:00 -04:00
ThaMighty90 791a419280 SidebySide Layout (#2859)
* added a SidebySide Layout

* Reworked, so both screen have the same height and cleaned up screen translates.

* added the option in the UI, hope this is the right way to do it. formated framebuffer_layout.cpp

* delete the x64 files

* deleted ui_configure_graphics.h

* added Option for the Layout in the xml

* got rid of SIDE_BY_SIDE_ASPECT_RATIO because it was useless. pulled translate into variables

* changed shift variables to u32 and moved them in their respective branch. remove notr="true" for the Screen layout drop down

* reworked intends :). changed function description for SideFrameLayout

* some description reworking
2017-08-25 17:53:07 -04:00
wwylele 2814d0fba2 EmuWindow: refactor touch input into a TouchDevice 2017-08-24 15:00:56 +03:00
wwylele 5ec879dfaa HID: use TouchDevice for touch pad 2017-08-24 13:56:43 +03:00
James Rowe 35e185309b Merge pull request #2839 from Subv/global_kernel_lock
Kernel/HLE: Use a mutex  to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
2017-08-23 18:17:44 -06:00
bunnei add21dee2f Merge pull request #2893 from Subv/not_schedule_main_thread
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
2017-08-22 17:45:47 -04:00
Subv 36220f3873 Kernel/Memory: Acquire the global HLE lock when a memory read/write operation falls outside of the fast path, for it might perform an MMIO operation. 2017-08-22 09:30:58 -05:00
Subv 9cf64ca2cf Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures.
2017-08-22 09:30:55 -05:00
Subv 733dfe220e Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs.
2017-08-21 20:54:29 -05:00
Subv 1c6f3ee4ba GPU/Warnings: Explicitly cast the screen refresh ticks to u64. 2017-08-21 08:34:30 -05:00
Subv f94bd67a0d Warnings: Add UNREACHABLE macros to switches that contemplate all possible values. 2017-08-21 08:34:28 -05:00
Subv ecfad8a134 HLE/Applets: Fixed some conversion warnings when creating the framebuffer shared memory objects. 2017-08-21 08:34:27 -05:00
Subv 690eed4d9e CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions. 2017-08-21 08:34:25 -05:00
Subv 015a96a59b Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache.
Fixes a few warnings.
2017-08-21 08:34:23 -05:00
Subv b2d8872e56 Dyncom: Fixed a conversion warning when decoding thumb instructions. 2017-08-21 08:20:36 -05:00
James Rowe df206639cf Merge pull request #2861 from wwylele/motion-refactor
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
wwylele 13014535c1 HID: fix a comment and a warning 2017-08-20 08:37:48 +03:00
B3n30 95fd4a5e9d 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
Yuri Kunde Schlesner e24db32ae8 Merge pull request #2881 from MerryMage/dsp-firm-check
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 20:14:41 -07:00
MerryMage 98edc03737 dsp_dsp: Remove size assertion in LoadComponent 2017-08-15 10:16:50 +01:00
Sebastian Valle ebc3701d0e Merge pull request #2843 from Subv/applet_slots
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System)
2017-08-12 10:27:57 -05:00
wwylele d500f79b8e move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
wwylele 31da8b8353 HID: use MotionDevice for Accelerometer and Gyroscope 2017-08-11 11:03:18 +03:00
Weiyi Wang ed7b0bfad0 Merge pull request #2863 from wwylele/pad-state-zero
HID: zero unused PadState bits
2017-08-10 17:50:18 +03:00
wwylele b05c60172b HID: zero unused PadState bits 2017-08-10 17:01:03 +03:00
bunnei e9c9b0ff53 Merge pull request #2862 from j-selby/update-cryptopp
Update CryptoPP (byte ambiguity)
2017-08-09 16:18:43 -04:00
mailwl 77aedbdc52 Service/dlp: Update function tables according 3dbrew 2017-08-09 16:14:07 +03:00
James b09fccfe6d Update cryptopp 2017-08-08 17:50:09 +10:00
Subv 02b8723f3c Services/APT: Use the AppletAttributes union directly when dealing with applet attrs. 2017-08-07 16:09:55 -05:00
Subv 99fe2f6ec7 Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System).
This gives each applet type its own set of events as per the real NS module.
2017-08-07 14:53:58 -05:00
bunnei df6409c59f telemetry: Add field for OsPlatform. 2017-08-03 20:10:38 -04:00
bunnei 512facf394 telemetry: Add field for BuildName. 2017-08-03 20:10:37 -04:00
bunnei 9d33e7a94c telemetry: Add field for RequiresSharedFont. 2017-08-03 20:10:37 -04:00
bunnei 27e05b885a telemetry_session: Log BuildDate and ProgramName fields. 2017-08-03 20:10:37 -04:00
bunnei 1d3d7645bb core: Expose AppLoader as a public interface. 2017-08-03 20:10:37 -04:00
bunnei e5f2839605 loader: Expose program title. 2017-08-03 20:10:37 -04:00
James 9da055f84c Handle invalid filenames when renaming files/directories 2017-07-31 17:11:53 +10:00
bunnei 43c11bbd89 Merge pull request #2840 from Subv/apt_parameter
Services/APT: Corrected the behavior of the Receive/Send/Glance/CancelParameter functions
2017-07-27 11:14:27 -04:00
Weiyi Wang c40c9bf285 Merge pull request #2799 from yuriks/virtual-cached-range-flush
Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache
2017-07-22 10:15:52 +03:00
Subv 20eb92534e Service/APT: Log Send/Cancel/Receive/GlanceParameter calls even if they return an error. 2017-07-21 15:03:06 -05:00
Subv e0cfa309b6 Services/APT: Return the proper error code when calling SendParameter with an outstanding parameter already in memory. 2017-07-21 14:59:26 -05:00
Subv f8f6966ce1 Services/APT: Reset the APT parameter inside CancelParameter if the conditions are met. 2017-07-21 14:59:25 -05:00
Subv f678b8da42 Services/APT: Properly clear the apt parameter after a successful ReceiveParameter call. 2017-07-21 14:59:22 -05:00
Subv 00128a81d3 Services/APT: Use the right error codes in ReceiveParameter and GlanceParameter when the parameter doesn't exist. 2017-07-21 14:59:21 -05:00
Subv 725a45fe9f Services/APT: Use boost::optional for the APT parameter structure. 2017-07-21 14:59:20 -05:00
bunnei b2bfbf5120 telemetry: Log performance, configuration, and system data. 2017-07-17 21:32:28 -04:00
B3n30 e2992eb321 stubbed frd::UnscrambleLocalFriendCode (#2827) 2017-07-16 21:32:08 -05:00
Weiyi Wang b5e42d338d Merge pull request #2784 from wwylele/font-archive
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei 7927c9b28f web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei d253007194 telemetry_session: Use TelemetryJson to submit real telemetry. 2017-07-11 18:33:40 -04:00
bunnei 061f10e286 web_service: Add skeleton project. 2017-07-10 00:15:40 -04:00
bunnei de913af2c7 settings: Add telemetry endpoint URL. 2017-07-10 00:15:39 -04:00
Sebastian Valle c13e4d7ea4 Merge pull request #2815 from mailwl/bossp
Service/boss:P: Add some functions to FunctionTable
2017-07-08 13:58:40 -05:00
bunnei d08d94d942 Merge pull request #2797 from yuriks/cached-vma-free-crash
Memory: Fix crash when unmapping a VMA covering cached surfaces
2017-07-08 14:07:47 -04:00
mailwl edef1d54bb Service/boss:P: Add some functions to FunctionTable 2017-07-01 12:21:38 +03:00
Sebastian Valle 4f7e8c6f1e Merge pull request #2793 from Subv/replyandreceive
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv 4a8de6bb00 Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest. 2017-06-29 12:30:34 -05:00
wwylele 60f6d78648 gpu: add comments for TextureCopy 2017-06-29 13:09:23 +03:00
wwylele 36a523b7cf gpu: fix edge cases for TextureCopy 2017-06-27 23:20:23 +03:00
Sebastian Valle 0481516faf Merge pull request #2778 from Subv/uds_more
Services/UDS: Stub SendTo to generate the unencrypted data frames with the right headers
2017-06-26 19:35:52 -05:00
Subv 49d391d757 UDS: Use the ToDS and FromDS fields to properly calculate the AAD used during encryption. 2017-06-26 12:24:14 -05:00
Subv 1ae0d3c450 UDS: Move the UDS keyslot used to generate the CCMP key to the AES::KeySlotID enum. 2017-06-26 12:24:13 -05:00
Subv 0a6a3dc5de UDS: Run clang-format. 2017-06-26 12:24:11 -05:00
Subv 7f5c4beca2 UDS: Added functions to encrypt and decrypt the data frames.
The responsibility of encryption and encapsulation into an 802.11 MAC frame will fall into the callers of GenerateDataPayload.
2017-06-26 12:24:09 -05:00
Subv 44f4737f99 Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed. 2017-06-25 23:38:29 -05:00
Subv 820509103c Kernel/SVC: Partially implemented svcReplyAndReceive.
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.

The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-25 23:38:28 -05:00
wwylele e93f183170 apt: load shared font from system archive 2017-06-26 01:38:12 +03:00
wwylele e770625812 apt/shared_font: don't relocate zero offset 2017-06-26 00:43:23 +03:00
Subv d7538409fb Kernel/ServerSession: Keep track of which threads have issued sync requests. 2017-06-25 14:47:25 -05:00
Yuri Kunde Schlesner afa851d0a4 Kernel: Implement AcceptSession SVC 2017-06-23 11:26:37 -07:00
Yuri Kunde Schlesner 0539afd69b Kernel: Fix SVC wrapper for CreatePort
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner cf12983372 Kernel: Implement CreateSessionToPort SVC 2017-06-23 11:22:02 -07:00
Yuri Kunde Schlesner 917e708cfb Merge pull request #2798 from yuriks/svc-create-session
Kernel: Implement CreateSession SVC
2017-06-23 11:18:49 -07:00
Yuri Kunde Schlesner 364ef24f77 Kernel: Implement CreateSession SVC 2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner 1423b3b10e Memory: Add function to flush a virtual range from the rasterizer cache
This is slightly more ergonomic to use, correctly handles virtual
regions which are disjoint in physical addressing space, and checks only
regions which can be cached by the rasterizer.
2017-06-21 22:57:12 -07:00
Yuri Kunde Schlesner 3bc1034465 Memory: Fix crash when unmapping a VMA covering cached surfaces
Unmapping pages tries to flush any cached GPU surfaces touching that
region. When a cached page is invalidated, GetPointerFromVMA() is used
to restore the original pagetable pointer. However, since that VMA has
already been deleted, this hits an UNREACHABLE case in that function.

Now when this happens, just set the page type to Unmapped and continue,
which arrives at the correct end result.
2017-06-21 22:56:31 -07:00
Yuri Kunde Schlesner 75be7907c1 Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional 2017-06-21 22:55:18 -07:00
Yuri Kunde Schlesner 1dd91e371b Memory: Make PhysicalToVirtualAddress return a boost::optional
And fix a few places in the code to take advantage of that.
2017-06-21 22:55:17 -07:00
Yuri Kunde Schlesner b3e13d653f Kernel/IPC: Support translation of null handles
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
2017-06-21 14:27:03 -07:00
Weiyi Wang d910f9cc85 Merge pull request #2789 from yuriks/misc-kernel
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner 03964e9cd2 Merge pull request #2790 from yuriks/remove-movefrom
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner 2cb9a2538b Memory: Add enum definitions for the n3DS FCRAM size 2017-06-20 22:03:25 -07:00
Sebastian Valle b91c1e214c Merge pull request #2779 from Subv/uds_more2
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-21 02:29:00 +00:00
Yuri Kunde Schlesner c27dad4cd1 ResultVal: Remove MoveFrom()
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner ec6a30b8bb ResultVal: Add an rvalue overload of Unwrap() 2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner 41376f050a Kernel: Add comment about the extended linear heap area 2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner 6382e341f8 Kernel/IPC: Make HLERequestContext usable from outside kernel 2017-06-18 16:05:12 -07:00
Subv bc8fe1c226 UDS: Clarify comment about the first 4 bytes of the SecureData header.
It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
2017-06-15 12:08:55 -05:00
Subv 39d3a3aa7e UDS: Return the correct error messages in SendTo when not connected to a network or trying to send to itself. 2017-06-15 12:08:54 -05:00
Subv 2761536b1d UDS: Stub SendTo to generate the unencrypted data frame with the right headers. 2017-06-15 12:08:53 -05:00
Subv 8cc1a34f7e UDS: Added a hook for updating the connection status when a client connects to the network. 2017-06-15 11:57:49 -05:00
Sebastian Valle cc8c999994 Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. (#2738)
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.

This lets the application know that the host was successfully added to the session.

* Services/UDS: Reset the connection status when destroying the network

* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
2017-06-13 22:00:58 +03:00
Yuri Kunde Schlesner 48b7e2b061 Kernel/IPC: Use boost::small_vector for HLE context objects 2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner 192a95390e Kernel: Allow clearing request_objects to re-use buffer space
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner e639024013 Kernel: Basic support for IPC translation for HLE services 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner 7747a25345 Service/sm: Convert srv: to use IPC helpers 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner a74dbc2c24 IPC: Add Pop/PushObjects methods to RequestParser/Builder
These use the context functions to create and look-up handles for the
user.
2017-06-11 13:10:20 -07:00
Yuri Kunde Schlesner 2102e5e907 IPC: Add basic HLERequestContext support to RequestParser/Builder 2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner ccba9e903f Kernel: Add methods in HLERequestContext abstracting handle creation 2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner 1e8c1ed676 ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner 74aaf0d5c7 Merge pull request #2756 from yuriks/service-framework
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner 211fea5441 Service/sm: Convert 'srv:' to ServiceFramework 2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner 5a6d4a2f19 Session: Remove/add some forward declarations 2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner 82a355b3cd Kernel: Ensure objects are kept alive during ClientSession disconnection
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner 147ec9e842 Service: Remove a few redundant namespace qualifiers 2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner 0a7f4f531f Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)

The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe 5639a00972 Merge pull request #2737 from Subv/decryptbeacondata
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner 1e267fd653 Kernel: Remove some unnecessary namespace qualifications 2017-06-06 14:51:42 -07:00
Subv 656f26c4df Services/UDS: Implement DecryptBeaconData.
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner f68fd997cd Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner 0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner d9e7be32de Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner 8a35f3634e Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner 9dd1fd5b9e ResultVal: Add more convenience utils for creating and cascading results 2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner 41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
TheKoopaKingdom e0f8f75f43 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 fa11f957f4 Switched to the ERROR_NOT_FOUND constant from errors.h. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom af0a2f11d9 Moved whitelist checks from FS_User to the Archive_NCCH handler. 2017-06-02 18:40:27 -04:00
TheKoopaKingdom b817071212 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom 4799017aec Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom cee9b78a15 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
TheKoopaKingdom 3a32a33fde Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
TheKoopaKingdom 1b9c3436ab Fixed encrypted ROM error messages. 2017-06-02 18:25:32 -04:00
bunnei c5b12080e7 Merge pull request #2722 from wwylele/cam-ipc-helper
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei 11b66db774 Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner ecfda5317e Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner 6f662625d3 Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner ddbf9cec1b Kernel: Removed HandleTable::GetWaitObject
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner 74aa9efe3e Kernel: Extract dynamic Object pointer cast into its own function 2017-05-29 14:42:27 -07:00
Yuri Kunde Schlesner 49ef9a6270 CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
2017-05-27 22:19:37 -07:00
Yuri Kunde Schlesner dfd2db3e37 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner 97f922e583 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner b78ce2bce5 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 7d74a5daf0 Remove some unnecessary inclusions of video_core.h 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner b868036561 Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 7b560a8b81 Core: Fix some out-of-style includes 2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner e6dc5926fb Move framebuffer_layout from Common to Core
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
wwylele 3342bb1fa9 fixup!cam: use IPCHelper 2017-05-27 21:30:07 +03:00
bunnei 030121014f Merge pull request #2716 from yuriks/decentralized-result
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner 782c6b1923 FS: Remove unused result definition 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 467545ed48 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 6210a1aaf3 GSP_GPU: Move error codes from result.h to local file 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 2d147a1c0d FileSys: Move all result description to errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner f2e65b5cbc result: Make error description a generic integer
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner a786199c4b Make BitField and ResultCode constexpr-initializable 2017-05-24 21:05:59 -07:00
bunnei 68100e88e0 telemetry: Log a few simple data fields throughout core. 2017-05-24 19:16:23 -04:00
bunnei e65f4cc882 core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
wwylele 3b34518bcf cam: move u32->u8 trancation to IPCHelper 2017-05-24 12:50:19 +03:00
wwylele e82ac2e80f cam: use IPCHelper 2017-05-24 12:45:36 +03:00
Sebastian Valle 1483d53541 Merge pull request #2692 from Subv/vfp_ftz
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-22 12:16:53 -05:00
Yuri Kunde Schlesner 464dc927af Merge pull request #2406 from Subv/session_disconnect
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv c67cd54049 fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled. 2017-05-21 18:56:09 -05:00
Subv 8e4b05c22a Kernel/Sessions: Remove the ClientSession::Create function.
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00
Merry aee6dcf1f7 Merge pull request #2694 from Subv/vfp_vsub_ftz
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
2017-05-22 00:50:52 +01:00
bunnei fa45d8a35e Merge pull request #2661 from Subv/uds5
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
emmaus 603f9246e1 use IPCHelper for PTM services 2017-05-19 08:44:58 +00:00
Subv 56031253c4 Services/UDS: Use the new IPC helper functions. 2017-05-15 13:05:17 -05:00
Subv 2472e71eb0 Services/UDS: Implement RecvBeaconBroadcastData.
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
2017-05-15 13:05:16 -05:00
Subv b722ca78a2 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
Subv f98eb7d315 Kernel: Remove a now unused enum and variable regarding a session's status. 2017-05-15 11:22:16 -05:00
Subv 9c496013b3 Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-05-15 11:22:15 -05:00
Yuri Kunde Schlesner d704ab4fea Merge pull request #2687 from yuriks/address-mappings
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
Subv 8533b511e8 Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example,

vsub: -0 - +0 = -0
vadd: -0 + +0 = +0

Now we'll flush the value to +0 inside vsub, and then negate it.
2017-05-13 18:03:41 -05:00
bunnei 5e8debd0b4 Merge pull request #2676 from wwylele/irrst
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
Yuri Kunde Schlesner 2668c26a68 Kernel: Map special regions according to ExHeader
This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner 03ad0ec0e5 DSP: Create backing memory for entire DSP RAM
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner 2af0a2a4b7 Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
2017-05-09 21:43:59 -07:00
Yuri Kunde Schlesner b73cc8d51b Merge pull request #2696 from Subv/vfp_revert
Dyncom/VFP: Revert 7d2670f and fix the FPSCR getting invalid values.
2017-05-08 21:38:45 -07:00
Subv 338eb4204e Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions. 2017-05-09 00:36:23 -05:00
Subv 55a42d3764 Revert "Remove exceptions parameter from normaliseround VFP functions"
This reverts commit 7d2670f08e.

Conflicts:
	src/core/arm/skyeye_common/vfp/vfp_helper.h
	src/core/arm/skyeye_common/vfp/vfpdouble.cpp
	src/core/arm/skyeye_common/vfp/vfpsingle.cpp
2017-05-09 00:36:22 -05:00
Subv 934af07e88 Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
Inputs are still not flushed to 0 if they are denormals.
2017-05-08 14:34:16 -05:00
Yuri Kunde Schlesner 3d5dacdc57 Dyncom: Remove disassembler code
Had licensing issue around it, in addition to several bugs.

Closes #1632, #1280
2017-05-07 15:33:46 -07:00
Yuri Kunde Schlesner 2945356d11 Dyncom: Tweak types and log formatting 2017-05-07 15:33:42 -07:00
Yuri Kunde Schlesner 89fe2c033d Remove unused symbols code 2017-05-07 15:33:39 -07:00
Yuri Kunde Schlesner 88fddcbce4 Remove ability to load symbol maps
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
wwylele 7bec8e32a8 fixup!ir: implement new 3ds HID via ir:rst 2017-05-07 21:53:27 +03:00
B3n30 e719319b10 Create a random console_unique_id (#2668)
* Create a random console_id when config save_file is created

Added button in system config to refresh the console unique id

* Moved the connect for the button from .ui file to constructor of ConfigureSystem

* Added warning and info dialog
Fixup: Make use of qt5 style connects,
  renamed the refresh button,
  removed some duplicate code,
  changed random device and moved all to the generate function

* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message

* Fixup: Set and Create

* Fixup: Added console id label, therfore removed second message box

* Fixup: fixed the endianess

* Fixup: more endianness fixes

* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
wwylele fced3273c1 ir: implement new 3ds HID via ir:rst 2017-05-04 12:59:28 +03:00
bunnei 4906d0617c Merge pull request #2606 from wwylele/ir
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele eef121c30a ir: implement circle pad pro 2017-05-03 09:44:00 +03:00
Yuri Kunde Schlesner 3722af0876 Merge pull request #2532 from wwylele/ldrro-ipc
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
wwylele 3ba860133f ldr_ro: use IPC helper 2017-04-17 10:11:18 +03:00
bunnei fcde0cf890 Merge pull request #2659 from MerryMage/dsp_dsp-correction
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-13 10:43:13 -04:00
MerryMage 1fb8824cac dsp_dsp: Messages are modified by service before being sent to DSP 2017-04-12 21:33:07 +01:00
Sebastian Valle cb844a55d7 Merge pull request #2628 from Subv/uds
Services/UDS: Initial support for hosting local-wlan networks.
2017-04-12 11:57:24 -05:00
bunnei a3eeb4ef71 Merge pull request #2533 from Lectem/apt_ipchelper
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
bunnei 509f1483e2 Merge pull request #2634 from wwylele/battery
shared_page: stub battery state
2017-04-06 14:43:29 -04:00
noah the goodra 4d81244114 error conversion fixes for soc_u 2017-04-03 10:19:42 -05:00
Michael Theall 775ae0634e Fix OutputDebugString syscall 2017-04-01 04:09:39 -05:00
Sebastian Valle 4077eb3545 Services/UDS: Fixed a style mistake in GetChannel. 2017-03-27 13:08:26 -05:00
Subv e6223853f0 Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function. 2017-03-26 08:17:57 -05:00
Subv 6f0271bafe Services/UDS: Signal the connection event when closing down the network. 2017-03-26 08:17:56 -05:00
Subv a177a5dd61 Services/UDS: Do not allow trying to start up a network that only the host can connect to. 2017-03-26 08:17:55 -05:00
Subv 49bd2cb5ab Service/UDS: Schedule an event to broadcast the beacon frames every 102.4ms. 2017-03-26 08:17:53 -05:00
Subv 0755761fb4 Services/UDS: Store the entire NetworkInfo structure that was used to create the network.
It will be needed when generating the beacon frames.
2017-03-26 08:17:52 -05:00
Subv 9439ef2cdd Services/UDS: Initial support for hosting local-wlan networks.
Currently it will let games create a network as hosts, but will not broadcast it anywhere and will not allow clients to connect.
2017-03-26 08:17:51 -05:00
wwylele d38eb8b471 ptm: create SharedExtSave file before openning it 2017-03-25 14:22:07 +03:00
bunnei 141b13c6da Merge pull request #2512 from SonofUgly/custom-layout
Add custom layout settings.
2017-03-21 22:57:31 -04:00
wwylele bff25c5f9c shared_page: stub battery state 2017-03-21 13:25:56 +02:00
Lectem 0fd0d4592c hopefully fix clang-format issues with old version 2017-03-20 22:47:06 +01:00
Lectem 1dcc60410b address more comments 2017-03-19 01:33:56 +01:00
Lectem 582352b85c Cast size_t to u32 for PushStaticBuffer usages 2017-03-18 11:56:21 +01:00
Lectem 268d389a37 IPCHelper Skip method + address comments for apt 2017-03-18 11:47:40 +01:00
wwylele 52b1d8af8b apt: fix RequestBuilder parameters for Unwrap 2017-03-18 11:45:19 +02:00
Lectem 7b87571b09 fix #2560 and other comments 2017-03-18 10:44:01 +01:00
Lectem 48825ceb01 move push out of class body and add u8 u16 bool specializations 2017-03-18 10:44:01 +01:00
Lectem f1e18b1880 refactor APT service to use the new IPC helpers 2017-03-18 10:44:01 +01:00
bunnei 0180121d53 Merge pull request #2497 from wwylele/input-2
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei aa0535cbec Merge pull request #2618 from wwylele/log-less-filename
Reduce host file name and path logging
2017-03-16 23:35:36 -04:00
bunnei ddbefe77a5 Merge pull request #2620 from FernandoS27/syscore_error
Refined thread launch on syscore error messages
2017-03-15 21:17:43 -04:00
wwylele cfccfbfbf9 cfg: implement GenHashConsoleUnique 2017-03-12 12:24:57 +02:00
Fernando Sahmkow b302e3e34d Refined thread launch on syscore error messages 2017-03-09 08:18:18 -05:00
wwylele 2ca691aab8 file_sys: lower log level for setting host path 2017-03-08 17:47:24 +02:00
wwylele 6b607c4b72 loader/ncch: less verbose log for loading game list. only log program ID when booting 2017-03-08 17:37:24 +02:00
wwylele d3f36956e1 loader: lower file name logging level 2017-03-08 17:25:09 +02:00
wwylele 9bdb78f869 Input: remove unused stuff & clean up
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID
2. removed button handling in EmuWindow
3. removed key_map
4. cleanup #include
2017-03-01 23:30:57 +02:00
wwylele 189063ac2d InputCommon: add Keyboard 2017-03-01 23:30:57 +02:00
wwylele 3e561f92f1 HID: use AnalogDevice 2017-03-01 23:30:57 +02:00
wwylele 74b1bf38fe HID: use ButtonDevice 2017-03-01 23:30:57 +02:00
wwylele 55737ec90f Input: add device and factory template 2017-03-01 23:30:57 +02:00
wwylele 67ead14445 Timer: restore missing signaled=true from #2421 2017-02-27 22:49:46 +02:00
bunnei 5e32c84f5c Merge pull request #2594 from wwylele/ir-separate
IR: separate functions of each port to their own files
2017-02-27 14:25:50 -05:00
B3n30 3fef6c1b0b Fix log entry in timer::signal (#2600) 2017-02-27 11:04:03 -05:00
Mat M dc1927a9d1 Doxygen: Amend minor issues (#2593)
Corrects a few issues with regards to Doxygen documentation, for example:

- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.

and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner 9a88ab50f7 Merge pull request #2587 from yuriks/status-bar
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner b50b227f94 PerfStats: Re-order and document members better 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner 5990d020a8 Core: Re-write frame limiter
Now based on std::chrono, and also works in terms of emulated time
instead of frames, so we can in the future frame-limit even when the
display is disabled, etc.

The frame limiter can also be enabled along with v-sync now, which
should be useful for those with displays running at more than 60 Hz.
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner ea78f30e67 Core: Make PerfStats internally locked
More ergonomic to use and will be required for upcoming changes.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 60f90d7c48 PerfStats: Add method to get the instantaneous time ratio 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 3a9447bc16 Add performance statistics to status bar 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 28c24c2c6e Core: Remove unnecessary include in thread.h 2017-02-26 17:22:01 -08:00
wwylele bf2d045b5a IR: separate functions of each port to their own files 2017-02-26 11:11:35 +02:00
bunnei 03277411f3 Merge pull request #2569 from wwylele/wrap-unwrap
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
Yuri Kunde Schlesner 7726bc31f8 Merge pull request #2421 from Subv/timers
Timers: Immediately signal the timer if it was started with an initial value of 0
2017-02-24 20:48:31 -08:00
SonofUgly 4cb28deee5 Add custom layout settings. 2017-02-23 10:49:56 -08:00
Subv be2b4057e5 Timers: Return an error when calling SetTimer with negative timeouts. 2017-02-21 20:51:56 -05:00
Subv f814a914b0 Timers: Immediately signal the timer if it was started with an initial value of 0. 2017-02-21 20:51:54 -05:00
wwylele ba431d1e16 APT: implement Wrap and Unwrap 2017-02-21 23:57:31 +02:00
wwylele ec94c633b7 HW: add AES engine & implement AES-CCM 2017-02-21 23:57:31 +02:00
bunnei 0b9d4fcaac Merge pull request #2585 from MerryMage/sxtb16-sxtab16
dyncom: Correct SXTAB16 and SXTB16
2017-02-19 22:45:46 -05:00
MerryMage c0ec38e745 dyncom: Correct SXTAB16 and SXTB16 2017-02-18 20:04:54 +00:00
Weiyi Wang 071e27ff0b HID: move enable_accelerometer/gyroscope_count initialization into Init() (#2574)
Fixes #2556
2017-02-16 22:04:27 -08:00
wwylele 6f79503576 core: add missing errors.h in CMakeLists.txt 2017-02-15 15:49:07 +02:00
Yuri Kunde Schlesner 1a3ba1314b HLE/IPC: Fix uninitialized variables in helpers (#2568)
Fixes #2567
2017-02-13 21:41:59 -08:00
noah the goodra b7755931aa NWM changed to NIM 2017-02-13 18:34:01 -06:00
noah the goodra 82ebb9e2d3 turned clang format back on 2017-02-13 18:34:01 -06:00
Weiyi Wang 2b5dc25f1c Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00
Yuri Kunde Schlesner 13cecbb439 Merge pull request #2561 from wwylele/fs-rom
file_sys: change RomFS archive to Self NCCH archive
2017-02-13 09:18:23 -08:00
wwylele 05a989965a loader: use self NCCH archive 2017-02-13 13:57:38 +02:00
wwylele 2fff7f897b file_sys: add Self NCCH archive 2017-02-13 13:57:38 +02:00
Yuri Kunde Schlesner 8ceeae2cd2 core: Free AppLoader on shutdown to release file (#2558)
Fixes #2455
2017-02-11 03:29:46 -08:00
Weiyi Wang 924b953308 hid: remove the touch field from PadState (#2557) 2017-02-11 01:11:42 -08:00
Weiyi Wang 0801baa271 Merge pull request #2027 from Lectem/ipcrefactor
IPC helper
2017-02-05 10:22:13 +02:00
Lectem fc81e9226a fix wwylele's comment and use typename in templates 2017-02-05 00:29:07 +01:00
Yuri Kunde Schlesner fa2089a766 Merge pull request #2496 from mailwl/cfg-mem
Core: update Kernel Config Memory to latest version (11.2)
2017-02-03 21:17:48 -08:00
Yuri Kunde Schlesner 8d620d0cae Merge pull request #2518 from MerryMage/coproc
arm_dynarmic: Coprocessor support
2017-02-03 18:22:28 -08:00
bunnei a3c982e873 Merge pull request #2509 from jfmherokiller/settingscastpatch
removed the possibly uneeded cast on values.gdbstub_port
2017-02-03 14:57:44 -05:00
MerryMage 5ba90abf00 arm_dynarmic: Update memory interface 2017-02-03 17:32:51 +00:00
MerryMage c2717d3302 arm_dynarmic: CP15 support 2017-02-03 17:32:47 +00:00
mailwl de4bac64de GSP_GPU::StoreDataCache stubbed (#2428) 2017-02-02 23:07:44 -08:00
noah the goodra f91bebc7e5 removed the possibly uneeded cast on values.gdbstub_port
as far as i could tell this cast is unneeded because [GDBStub::SetServerPort](https://github.com/citra-emu/citra/blob/master/src/core/gdbstub/gdbstub.cpp#L897) takes a u16 and [values.gdbstub_port](https://github.com/citra-emu/citra/blob/master/src/core/settings.h#L116) is already a u16
2017-01-31 11:44:23 -06:00
mailwl 6dc26f9d4e HLE/Applets: Stub Mint (eShop) Applet (#2463)
This allows Phoenix Wright - Dual Destinies to boot.
2017-01-31 01:16:58 -08:00
mailwl 16fef8dfa4 Core: update Kernel Config Memory to latest version (11.2) 2017-01-30 11:29:00 +03:00
Yuri Kunde Schlesner a61b184282 Merge pull request #2368 from wwylele/camera-2
CAM: build the service framework with a dummy implementation
2017-01-29 22:16:39 -08:00
Yuri Kunde Schlesner 0792d17ac9 Merge pull request #2429 from wwylele/auto-language-fix
CFG: move language override to the boot process
2017-01-29 22:14:35 -08:00
Yuri Kunde Schlesner 1ddd931c76 Merge pull request #2494 from Kloen/killing-warnings-2-final-mix
core: inline CPU, 132 warnings fixed on GCC
2017-01-29 15:40:50 -08:00
Yuri Kunde Schlesner 5513d53e57 Merge pull request #2492 from Kloen/killing-warnings-HD1.5ReMIX
Fix OSX build warnings about unhandled enumeration values.
2017-01-29 15:38:49 -08:00
Kloen 0378143301 core: inline CPU, 132 warnings fixed on GCC 2017-01-30 00:12:07 +01:00
Kloen 0aedc28a31 core: fix err_f.cpp warning about unhandled enumeration value on OSX 2017-01-29 22:01:19 +01:00
Kloen e1ee6f6224 core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX 2017-01-29 21:50:25 +01:00
Kloen 806db8e491 core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX 2017-01-29 21:49:36 +01:00
Kloen c6201827f5 core: fix archive_extsavedata.cpp warning on OSX 2017-01-29 21:48:40 +01:00
Kloen 16ea7b3e8d core: emu_window.cpp, fix conversion warnings from float to s16 on MSVC 2017-01-29 16:39:31 +01:00
Kloen Lansfiel 637f58dd1e SDL: Select audio device (#2403)
* Initial Commit

Added Device logic to Sinks
Started on UI for selecting devices

Removed redundant import

* Audio Core: Complete Device Switching

Complete the device switching implementation by allowing the output
device to be loaded, changed and saved through the configurations menu.

Worked with the Sink abstraction and tuned the "Device Selection"
configuration so that the Device List is automatically populated when
the Sink is changed.
This hopefully addresses the concerns and recommendations mentioned in
the comments of the PR.

* Clean original implementation.

* Refactor GetSinkDetails
2017-01-25 22:33:26 -05:00
Yuri Kunde Schlesner c25a9cf64d Merge pull request #2434 from mailwl/nfc-amiibo
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen b377b96ca0 core: fix mic_u warnings on MSVC 2017-01-23 16:53:05 +01:00
wwylele d678c306b8 HID: reset acceleroeter and gyroscope index in Init 2017-01-20 23:33:50 +02:00
wwylele fc7fb21731 CFG: override language setting on boot 2017-01-19 10:28:35 +02:00
Thomas Farr c1d05a2df5 loader: Add support for 3DSX special relocation types, fixes citra-emu/citra#2449
As per devkitPro/3dstools@47bea18
2017-01-19 01:34:58 +13:00
wwylele 34440c54a9 CoreTiming: use named constant for ARM11 clock rate 2017-01-16 09:59:16 +02:00
wwylele 8f807fc8ef HID: manages updating itself using correct ticks 2017-01-16 09:51:44 +02:00
mailwl b777c9ae81 Service/NFC: stub some functions
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl ecf76c326c GSP::WriteHWRegsWithMask: fix register mask 2017-01-14 13:37:04 +03:00
bunnei b1133afc28 Merge pull request #2425 from Subv/cleanup_todos
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei d71a04381c Merge pull request #2308 from mailwl/ac-i
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv a81290ffb4 Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code. 2017-01-11 16:38:05 -05:00
Subv fbe090645c Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority. 2017-01-11 16:38:04 -05:00
Subv c77cafb0a7 Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value. 2017-01-11 16:38:03 -05:00
wwylele caee572f78 CAM: implement basic camera functions with a blank camera 2017-01-11 11:46:44 +02:00
bunnei cb38ee3497 Merge pull request #2397 from Subv/pulse
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei 564207ac20 Merge pull request #2384 from bunnei/internal-res-option
config: Add option for specifying screen resolution scale factor.
2017-01-08 12:25:12 -05:00
bunnei 64cafd74d1 Merge pull request #1951 from wwylele/motion-sensor
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
bunnei d2a2789dda config: Add option for specifying screen resolution scale factor. 2017-01-07 03:23:22 -05:00
bunnei 961bb24cf9 Merge pull request #2410 from Subv/sleepthread
Don't yield execution in SleepThread(0) if there are no available threads to run
2017-01-06 22:01:33 -05:00
bunnei ba71c889f0 Merge pull request #2396 from Subv/sema_acquire
Kernel/Semaphore: Fixed a regression in semaphore waits.
2017-01-06 22:00:12 -05:00
Hyper 82ed89eec2 Kernel: Fix SharedMemory objects always returning error when addr = 0 (#2404)
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei cff8e614bd Merge pull request #2408 from Subv/priority_boosting
Kernel: Removed the priority boost code for starved threads.
2017-01-06 00:40:39 -05:00
Subv 6c6117868a Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.
With this we avoid an useless temporary deschedule of the current thread.
2017-01-05 19:11:34 -05:00
Subv 975f3e0853 Kernel: Remove some unused functions. 2017-01-05 13:17:06 -05:00
Subv d27ef4a5d3 Kernel: Removed the priority boost code for starved threads.
After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.

For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
2017-01-05 13:12:39 -05:00
Subv c6ccb7c6f2 Kernel: Implemented Pulse event and timers.
Closes #1904
2017-01-05 13:06:17 -05:00
Subv f8d98e241d Kernel/Semaphore: Fixed a regression in semaphore waits.
The regression was caused by a missing check in #2260.

The new behavior is consistent with the real kernel.
2017-01-05 13:00:05 -05:00
Sebastian Valle 35aea29a77 Merge pull request #2393 from Subv/synch
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv a0ae8f7c26 Kernel: Add some asserts to enforce the invariants in the scheduler. 2017-01-05 09:40:18 -05:00
Subv 1ba3dd032e Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.
This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
2017-01-05 09:40:15 -05:00
Subv 3ce2c24665 Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on. 2017-01-05 09:40:14 -05:00
Subv bcad1d6f12 Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:

THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.

THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Subv 8503e56689 Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes 2017-01-04 15:58:48 -05:00
Subv d33885b60b Kernel/Mutex: Update a mutex priority when a thread stops waiting on it. 2017-01-04 15:58:47 -05:00
Subv 4e6369d41d Kernel/Mutex: Implemented priority inheritance.
The implementation is based on reverse engineering of the 3DS's kernel.

A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes.
When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
2017-01-04 15:58:46 -05:00
Subv 90570c153b Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.
This will be useful when implementing mutex priority inheritance.
2017-01-04 15:58:45 -05:00
Subv a1718862e3 Kernel/Synch: Do not attempt a reschedule on every syscall.
Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
2017-01-04 15:58:44 -05:00
Jonathan Hao 1df720ed08 Fix some warnings (#2399) 2017-01-04 13:48:29 -03:00
Lectem aff0ef44d2 fix comments alignment 2016-12-30 15:55:42 +01:00
mailwl 45b03ee367 Service/NFC: stub GetTagInRangeEvent
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl d5ca5dd75e Service/AC: add ac:i service 2016-12-30 09:20:11 +03:00
bunnei 7b3737d9bd Merge pull request #2240 from wwylele/auto-region
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele 128190f242 Frontend: make motion sensor interfaced thread-safe 2016-12-29 21:18:36 +02:00
wwylele bf96d8c561 Core: remove unused hle.cpp 2016-12-27 10:27:48 +02:00
Lectem a7eeff24f0 move Pop methods out of class body 2016-12-26 14:42:06 +01:00
Lectem c5bfad527e IPC helpers example 2016-12-26 14:07:29 +01:00
Lectem 09e966a107 IPC helpers 2016-12-26 14:07:29 +01:00
wwylele e844f294a1 Frontend: emulate motion sensor 2016-12-26 10:52:16 +02:00
wwylele 0372b0ea28 Core: reset cpu_core in Shutdown to make IsPoweredOn work properly 2016-12-24 20:55:38 +02:00
MerryMage 4aaaea9758 core: Move emu_window and key_map into core
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl 3a05b161bc Service/NWM: add nwm services 2016-12-22 22:51:27 +03:00
bunnei d4ad36796f Merge pull request #2366 from MerryMage/MemoryReadCode
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei 37e91013ec Merge pull request #2343 from bunnei/core-cleanup
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage 608278503c arm_dynarmic: Provide MemoryReadCode callback
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei 09b7c9788d Merge pull request #2285 from mailwl/csnd-format
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei d445aad022 ThreadContext: Move from "core" to "arm_interface". 2016-12-22 00:27:49 -05:00
bunnei 8cfd0762fd core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei 1fd7cfb69e Address clang-format issues. 2016-12-21 23:48:14 -05:00
bunnei 5d22844f3e core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei d504f6cf08 core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
bunnei 98bf7cc82f core: Consolidate top-level system state into a singleton. 2016-12-21 23:29:04 -05:00
bunnei fdcff791c3 loader: Remove duplicate docstrings. 2016-12-21 23:27:50 -05:00
bunnei 1224db246e Revert "Memory: Always flush whole pages from surface cache" 2016-12-17 19:13:33 -05:00
wwylele c62bc4e616 Thread: remove the thread from the thread list when exiting 2016-12-17 19:23:52 +02:00
bunnei bad8f6c78d Merge pull request #2337 from lioncash/gdb
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry 6da3657eff Merge pull request #2322 from MerryMage/ctx-mnu
game_list: Add a context menu with "Open Save Location"  option
2016-12-16 15:08:04 +00:00
wwylele ea4217939a Kernel: remove object's waiting thread if it is dead 2016-12-16 12:33:18 +02:00
Lioncash cae211f90c gdbstub: const correctness changes
Also uses size_t as the length indicator type, as is common with buffers.
2016-12-16 04:06:26 -05:00
bunnei 034651fa7f Merge pull request #2260 from Subv/scheduling
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
Yuri Kunde Schlesner 89a8f963ce Merge pull request #2328 from wwylele/fix-trace
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner 37dc16c1bb Merge pull request #2332 from lioncash/gdb
gdbstub: Remove global variable from public interface
2016-12-15 21:05:20 -08:00
Yuri Kunde Schlesner ceed2efb4e Merge pull request #2320 from mailwl/cecd-update
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei 7aa9f479d2 Merge pull request #2331 from lioncash/trunc
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele 267f26d7df FS: fix debug build from #2249 2016-12-16 00:22:36 +02:00
Lioncash bec7bc3ec9 gdbstub: Remove global variable from public interface
Currently, this is only ever queried, so adding a function to check if the
server is enabled is more sensible.

If directly modifying this externally is ever desirable, it should be done
by adding a function to the interface, rather than exposing implementation
details directly.
2016-12-15 16:37:22 -05:00
Sebastian Valle 9df75ff6d6 Merge pull request #2330 from lioncash/pragma
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash 7c1a069ab6 hid: Get rid of a double -> float truncation warning
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash cb4293adf1 core: Add missing #pragma once directives where applicable 2016-12-15 15:40:51 -05:00
Lioncash 8e6bf2478f act: Fix docstring typo
These aren't the AM services.
2016-12-15 14:51:45 -05:00
bunnei 338e24ae80 Merge pull request #2314 from mailwl/account
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage af97174940 loader: Implement ReadProgramId 2016-12-15 18:42:38 +00:00
MerryMage 6e2d70a777 archive_source_sd_savedata: Add static method to get a specific save data path 2016-12-15 09:59:41 +00:00
Yuri Kunde Schlesner 415064165a Memory: Always flush whole pages from surface cache
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
2016-12-14 23:46:59 -08:00
mailwl c7a28acce4 Service/CECD: Add cecd:ndm service 2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner c99b5e3122 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 3e80a1a1c1 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:45:36 -05:00
Subv 00decc1180 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
mailwl 11e9681df2 Service/ACT: move ACT services to folder 2016-12-14 09:05:46 +03:00
JamePeng 7af1081bb0 Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code 2016-12-13 17:01:53 +08:00
mailwl a88468d683 csnd:SND reformat source code 2016-12-12 21:19:36 +03:00
Sebastian Valle 7993d67ca9 Merge pull request #2267 from JayFoxRox/fix-mingw-cc
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl e3828ed7fa APT::GetStartupArgument: force clear startup argument 2016-12-11 22:36:12 +03:00
Emmanuel Gil Peyrot 01e0d578d3 Core: Add a forgotten #include <cstring> for memcpy. 2016-12-11 01:20:45 +00:00
Lioncash b0ebdfae34 Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv 7066deff78 Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout. 2016-12-10 13:29:31 -05:00
bunnei 1a981fe1ea Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv 6df6ad46c4 Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. 2016-12-09 12:52:12 -05:00
Subv 79f53e6daa Kernel/IPC: Small codestyle cleanup 2016-12-09 12:39:12 -05:00
Subv d4815e828d WaitSynch: Removed unused variables and reduced SharedPtr copies.
Define a variable with the value of the sync timeout error code.

Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash fd2837ad16 service: Add cfg:nor service 2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner 0154ff2075 Merge pull request #2292 from lioncash/bool
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash 508f17b87c ptm: Use boolean instead of integral value
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash 51f6cd48ba service: Drop '_Interface' from cfg service names 2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner 1441410999 Merge pull request #2287 from lioncash/svc
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle 91fce7f5d2 Merge pull request #2280 from Subv/citrace_size
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv 4650bc60b4 Fixed the gpu command list size when creating CiTraces. 2016-12-08 15:21:02 -05:00
Subv 17d8d69c6e 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 021e732815 Use std::move where appropriate. 2016-12-08 11:06:19 -05:00
Lioncash e7d396142a service: Add the ptm:s service
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash 9becdeada9 service: Add common ptm:u commands to other ptm services
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash aa096138bd service: Drop '_Interface' in ptm service class names
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash 0e025b7b4e service: Add ptm::gets and ptm::sets services 2016-12-08 05:43:08 -05:00
Lioncash c7a1fc1d0a service: Add mvd and qtm services
Adds the two New3DS-only modules.

3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Yuri Kunde Schlesner 9164ea53fb Merge pull request #2284 from lioncash/svc
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner e0dc074739 Merge pull request #2277 from lioncash/explicit
file_sys: Make a few single-argument constructors explicit
2016-12-08 00:29:38 -08:00
Lioncash c74ecaaa85 service: Add nfc services
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner 0666271a28 Merge pull request #2283 from lioncash/svc
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner 5a757542eb Merge pull request #2281 from lioncash/applet
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash 2ab9afdb37 ssl_c: Update function table
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash 80db6356ae ptm: Update ptm_sysm function table
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash 1a85727f71 pm_app: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash 5caec2fcda nwm_uds: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 0f53c14ca1 nim: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 34401e8a9e http_c: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash de5b0f4e25 gsp_lcd: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash b3b4017185 fs_user: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 7033aa361e dlp_srvr: Update function table 2016-12-08 00:56:46 -05:00
Lioncash f9c458cd04 cfg: Update function tables
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash bd088ae36b cecd_u: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 4b7f949d77 boss_p: Update function table 2016-12-08 00:56:45 -05:00
Lioncash 7598d8532c act: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash 523979a6ed apt: Update apt function tables
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash a8f59eab50 Update AM service function tables
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash 6ba0395316 file_sys: Make a few single-argument constructors explicit
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash 7055dbf489 applet: Move common IsRunning underlying variable to the Applet class
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash 748807f130 applet: Make virtual destructor defaulted 2016-12-07 17:04:14 -05:00
Lioncash e214e0fca4 applet: Make constructor protected
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
wwylele a88ec032cd Config: auto-select region and language 2016-12-07 20:52:42 +02:00
bunnei 7da33afec8 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 fdf1d042e0 Use boost remove_erase_if instead of the erase-remove idiom 2016-12-06 19:31:53 -05:00
Subv bf232b89f3 Improved the algorithm for GetHighestPriorityReadyThread. 2016-12-06 19:15:32 -05:00
emmauss 4865993e6f Implement Frame rate limiter (#2223)
* implement frame limiter

* fixes
2016-12-06 14:33:19 -05:00
Subv 06b2b80d31 Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv 7eaf6faa7d HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time. 2016-12-05 13:44:41 -05:00
Jannik Vogel 305cc20144 gdbstub: Remove unused include 2016-12-05 19:09:16 +01:00
Jannik Vogel 89e57a3fb0 Support mingw cross-compile 2016-12-05 19:09:16 +01:00
Subv 708ece3fff 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 728bb5f40b Kernel: Remove the Redirection handle type. 2016-12-05 11:13:22 -05:00
Subv 977039e722 KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it. 2016-12-05 11:02:08 -05:00
Subv 44c59feca6 Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner 6fb4f73dec GSP: Downgrade log severity of SetAxiConfigQoSMode
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Subv 5bc10a74f6 Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Subv 4703561c9e Declare empty ServerSession and ClientSession constructors as default. 2016-12-02 22:58:02 -05:00
Subv 811d684274 Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call. 2016-12-01 10:47:06 -05:00
Subv 4c4f50dfaf Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv 4f2326c8a9 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 d2305d375f IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv edcacd7cdd Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv 96df92e98f fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication. 2016-11-30 23:02:06 -05:00
Subv 302ef594a6 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 662aee1e1d Set client SDK version to Service APIs 2016-11-30 09:51:14 +03:00
wwylele 1e4a1598fd FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele e6de484ec3 FS: add missing MediaType 2016-11-29 23:50:00 +02:00
wwylele 37e9404489 FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner e8dec36ad5 Merge pull request #2196 from Subv/system_mode
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner e3c19b1d04 Merge pull request #2222 from linkmauve/die-frameskip-die
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle 6352bf702c Merge pull request #2132 from wwylele/fix-fs-err
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv 7adac27868 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
Emmanuel Gil Peyrot 87d3afe635 GPU: Remove the broken frame_skip option.
Fixes #1960.
2016-11-27 21:19:56 +00:00
Sebastian Valle 9d5e10abc6 Merge pull request #2168 from mailwl/mic
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
MerryMage eb5be59f9c dynarmic: Add ticks based on ticks executed, not ticks requested 2016-11-26 20:32:33 +00:00
mailwl 9ee8f9297c Output parameters to log 2016-11-25 09:37:20 +03:00
mailwl cdce7ca48b MIC_U: Stub service funcions 2016-11-25 09:37:19 +03:00
James Rowe 13888eac06 Expose page table to dynarmic for optimized reads and writes to the JIT 2016-11-24 20:41:18 -07:00
pippo2931 a92472e7c9 Bravely Default/Second stuck #1822 (#2188)
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub

* Log parameter.

* Taking care of comments

* Sync with 3DBrew

* White space ?

* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner b0119cde40 Merge pull request #2186 from wwylele/config9
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner 2215a3dce4 Merge pull request #1654 from JamePeng/errdisp
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
bunnei 98e23c3ba8 Merge pull request #2193 from Subv/pulse_events
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv d00d0d61e0 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
Subv bb93931096 Kernel/Events: Log an error when trying to create Pulse events and timers.
Related to #1904
2016-11-19 14:00:08 -05:00
Subv f33e1950b6 APT/Applets: Renamed the members of the SignalType enum.
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele 01964d37fb 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 bfc699293f FileSys: remove unused DiskArchive
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele e41a1ff6da PTM & CFG: use the correct path and error code according to the new FileSys policy 2016-11-19 18:55:34 +02:00
wwylele 5506268bf6 FileSys: w->rw permission lift only happens in SDMC archive 2016-11-19 18:55:34 +02:00
wwylele a14bab3b8b FileSys: add SDMCWriteOnlyArchive 2016-11-19 18:55:34 +02:00
wwylele 76c8e607a4 FileSys: add SDMCArchive
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
2016-11-19 18:24:37 +02:00
wwylele 4a80f45637 FileSys: add ExtSaveDataArchive
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele 420091d0e5 FileSys: add SaveDataArchive
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele 1e33d07b86 FileSys: remove Open from FileBackend
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele 4675116401 FileSys: remove Open from DirectoryBackend
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele 37d6cbc200 FileSys: add PathParser 2016-11-19 17:17:19 +02:00
wwylele 4fc15d830f cfg: add config block 0x00090000 2016-11-17 19:34:02 +02:00
bunnei c728fccd9e Merge pull request #2172 from jroweboy/fix-mingw
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
James Rowe f0dcbd3f73 Add mingw compile support 2016-11-13 23:50:46 -07:00
James Rowe 08f830fed4 Support additional screen layouts.
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
mailwl 076afa2614 Style fix 2016-11-02 09:38:44 +03:00
mailwl 6b4d6e03f0 Rename AcConfig, change types u8 to u32 2016-11-02 09:38:44 +03:00
mailwl 3b92e6c3d9 AC_U: Stub functions, used if EULA agreed 2016-11-02 09:38:44 +03:00
wwylele 657bb716f7 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
bunnei f01c907f3c Merge pull request #2126 from wwylele/stub-nwm
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei d76784ed0f Merge pull request #2123 from jbeich/freebsd
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl 14b159aa64 Small fix to let IDA see target.xml 2016-10-28 20:50:45 +03:00
Jan Beich 914ca5ae70 core: some errno values are uncommon on Unix
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
     {ENODATA, 43},
      ^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
     {ENOSR, 53},
      ^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
     {ENOSTR, 54},
      ^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
     {ETIME, 75},
      ^
2016-10-27 23:28:30 +00:00
mailwl 715d981403 FRD: fix GetMyFriendKey 2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga 07fdcf150d Fix typos 2016-10-20 12:26:59 -02:00
wwylele 9ef5b9604b NWM: stub Initialize with an error 2016-10-12 22:33:44 +08:00
bunnei 0486aa3e8b Merge pull request #2024 from JamePeng/update-boss-code
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
JamePeng 876bd2daa8 Rework the code of err:f service 2016-10-06 21:03:12 +08:00
bunnei 79c5d3c2fb Merge pull request #1652 from wwylele/kernal-tool
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei f28267c100 Merge pull request #2106 from wwylele/delete-recursive
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
JamePeng 97d9804d97 Update the stub code of BOSS 2016-10-02 17:36:57 +08:00
wwylele a1a4d92f19 fs: clean up log format 2016-10-02 12:39:28 +08:00
wwylele b2fa64ec75 fs: implement DeleteDirectoryRecursively 2016-10-02 11:29:16 +08:00
wwylele ef9319842c gpu: DisplayTransfer: a less amazing algorithm for flip
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele 2c0cc232fa gpu: keep the old signal strategy for null pointer
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele ff4fe1df8f gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory
prevent further operation with invalid values which may cause assertion failure or divided by zero.
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele 7dcbdc4c43 memory: fix IsValidVirtualAddress for RasterizerCachedMemory
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-29 10:01:34 +08:00
wwylele 287ec158ed gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions
The old code indented too much to read. Split into functions and do general cleanup.
2016-09-29 10:01:34 +08:00
wwylele 1dedb87851 move ResetType to kernel.h 2016-09-22 13:52:52 +08:00
wwylele d1d4b24f76 name objects 2016-09-22 13:52:52 +08:00
wwylele 8b25c12ce8 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner 32bddfa1f5 Remove special rules for Windows.h and library includes 2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner fa5d9d8266 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot 1138ec0d49 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 1e4a5da9f4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot 628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot b26517b08c Dyncom: Disable clang-format on the decoding table. 2016-09-18 09:36:57 +09:00
bunnei 45bc24774f arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg. 2016-09-15 17:58:06 -04:00
bunnei acdc361fc0 arm: ResetContext shouldn't be part of ARM_Interface. 2016-09-15 17:49:30 -04:00
bunnei 5a7c1e9b5d arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. 2016-09-15 17:49:30 -04:00
bunnei 5cf4dd301d dyncom: Use VFP_FPSCR/VFP_FPEXC. 2016-09-15 17:49:29 -04:00
bunnei 678aa9b0f0 core: Add configuration option for CPU JIT. 2016-09-15 17:49:27 -04:00
bunnei f1072aa569 dynarmic: Implement ARM CPU interface. 2016-09-15 17:49:26 -04:00
bunnei fe9d040a82 Merge pull request #2032 from bunnei/qt-graphics
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
MerryMage 0984c45a3f configure_audio: User-configuratble option to enable/disable audio stretching 2016-08-31 16:59:37 +01:00
bunnei c12841c714 Merge pull request #2023 from yuriks/autobase-bcfnt
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00
bunnei e3672db866 system: Add a function to see if the emulator is running. 2016-08-29 21:42:31 -04:00
bunnei cfefb55db2 config: Add a setting for graphics V-Sync. 2016-08-29 21:42:30 -04:00
Yuri Kunde Schlesner 88ba584975 Merge pull request #1948 from wwylele/cro++
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner 743c85eb94 Merge pull request #1987 from Lectem/ipcdescriptors
fix #1942 and add a few IPC functions for descriptors
2016-08-27 09:58:35 -07:00
wwylele 901e7157e3 LDR: Implement CRO 2016-08-27 21:38:06 +08:00
wwylele 913472e010 ARM: add ClearInstructionCache function 2016-08-27 21:38:06 +08:00
wwylele 3008911345 Memory: add ReadCString function 2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner a0d0aa24be Auto-detect original shared_font.bin memory base
This allows a file dumped from either an o3DS or a n3DS (and potentially
even an original unrebased file) to be used.
2016-08-27 01:04:26 -07:00
MerryMage abe5d64fd6 dyncom: Read-after-write in SMLA
In the case when RD === RN, RD was updated before AddOverflow was called
to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-22 15:13:33 +01:00
MerryMage 0da5e44c89 Dyncom: Correct implementation of STM for R15 2016-08-14 00:49:34 +01:00
Lectem 7df4925923 fix #1942 and adds a few IPC functions for descriptors 2016-08-02 16:45:15 +02:00
bunnei 1d27e68bd6 Merge pull request #1950 from JamePeng/fix-apt-0x0055004-and-0x00560000
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-28 20:50:49 -04:00
Henrik Rydgard 58e61fa817 Instead of segfaulting, log an error to remind the user to dump the shared font file 2016-07-28 21:47:57 +02:00
bunnei e249b4a5ef Merge pull request #1959 from MerryMage/revsh-upstream
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage a7711eaf4f dyncom: Fix translation of thumb REVSH 2016-07-28 11:51:29 +01:00
wwylele 9abf787fed CoreTiming: avoid overflow 2016-07-23 14:30:23 +03:00
wwylele eaf9f27128 HLE: implement system time 2016-07-23 14:30:23 +03:00
JamePeng 24ff9f557a Correct APT::0x00550040 and APT::0x00560000 function 2016-07-15 19:47:01 +08:00
Yuri Kunde Schlesner 7b50bcee79 Merge pull request #1894 from wwylele/set-config-block
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
bunnei 5c3394ba22 Merge pull request #1940 from JamePeng/fix-archive-error-code
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle 02f3161c48 Merge pull request #1921 from Subv/fs_funcs
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng c7d5fee7fb Fix the errorcode of archive handle 2016-07-05 00:39:09 +08:00
mailwl 367f5dc215 HLE/Applets: Implement ErrEula applet 2016-07-04 09:54:51 +03:00
Subv e5bc6593a3 HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData) 2016-07-03 13:42:52 -05:00
wwylele 5489701b38 Service::CFG/FS: add and refactor out utilities for front-end 2016-07-03 08:23:59 +03:00
wwylele 9f0ad67398 Service::CFG: move known block ID to an enum 2016-07-03 08:23:59 +03:00
wwylele e8231e3594 Service::CFG: add SetConfigInfoBlk4 2016-07-03 08:23:58 +03:00
wwylele 340c64dbbe Service::CFG: add missing language 2016-07-02 11:44:25 +03:00
wwylele f4156c0f09 Service::CFG: name sound output modes 2016-07-02 11:44:25 +03:00
wwylele ce3e33ef50 Result: fix and update ErrorModule 2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner 6bc2f3e2a8 Merge pull request #1869 from wwylele/dont-be-lazy
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei 2270d7b0f0 Merge pull request #1867 from mailwl/srv-update
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
bunnei 198562daa9 Merge pull request #1877 from wwylele/wait-fix-timeout
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei d699c457af Merge pull request #1898 from archshift/interpreter-split-take2
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
archshift b1f3ae6056 Make arm_dyncom_trans* into a fully fledged compilation unit 2016-06-12 01:54:45 -07:00
archshift 3b371f5816 arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive 2016-06-12 00:31:52 -07:00
bunnei 29f66ef6b9 Merge pull request #1842 from Subv/ports
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv a350b5274f Kernel/SVC: Implemented svcCreatePort. 2016-06-11 08:37:37 -05:00
wwylele 6cc4c40241 hid: add missing header 2016-06-11 08:45:29 +03:00
bunnei 80ca5c518d Merge pull request #1789 from wwylele/input-refactor
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift 090a9166fc arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift 39e3e9c2d9 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-10 18:42:08 -07:00
archshift 31b8dc0ca4 arm_dyncom_interpreter: Rename anonymous enum to TransExtData 2016-06-10 18:35:57 -07:00
archshift 5bf480bf56 arm_dyncom_interpreter.cpp: #include translation info from inc files 2016-06-10 18:25:30 -07:00
archshift d05fcfa487 Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)" 2016-06-10 17:41:15 -07:00
archshift 65d5333ef6 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-08 21:03:49 -07:00
archshift db6bb1477e arm_dyncom_interpreter.cpp: Split by translation and interpreter logic
To facilitate the split, some small changes were made to names of
various structures and functions.
2016-06-08 20:59:24 -07:00
shinyquagsire23 c09f249f90 gdbstub: E0 should be E00 2016-06-08 14:14:59 -07:00
Subv d5f8d90e34 Kernel: Added ClientPort and ServerPort classes.
This is part of an ongoing effort to implement support for multiple processes.
2016-06-05 09:35:31 -05:00
Lioncash 27d37be329 service: Add other DLP services
Specifically, dlp::CLNT and dlp::FKCL

Moves them to their own folder like with other services.
2016-06-04 19:43:33 -04:00
wwylele 1cef298ca9 Thread: update timeout when rerunning WaitSynch 2016-06-04 09:27:16 +03:00
mailwl ee188dbdc6 gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue 2016-06-01 09:40:15 +03:00
mailwl 1aceb1b912 Fix parameter name in EnableNotification 2016-05-31 10:06:00 +03:00
mailwl 1a6c967927 Fix mistakes, add output header codes 2016-05-31 10:06:00 +03:00
mailwl 3457cc52e4 remove ugly function 2016-05-31 10:06:00 +03:00
mailwl ed74a60f41 srv: Update according 3dbrew 2016-05-31 10:06:00 +03:00
wwylele 5e5f9b099a Switch context on the same thread if necessary 2016-05-30 07:34:53 +03:00
bunnei ea512df6da Merge pull request #1692 from Subv/rm_getpointer2
Memory: Remove most usages of GetPointer
2016-05-29 21:57:07 -04:00
bunnei 87b6cde100 Merge pull request #1756 from wwylele/config-cleanup
Config block: clean up
2016-05-28 20:42:17 -04:00
Subv b502c2e4d0 Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions. 2016-05-28 13:52:50 -05:00
Subv 9d36016350 Memory: Make ReadBlock and WriteBlock accept void pointers. 2016-05-28 13:52:49 -05:00
Subv 86dc841611 SOC_U: Remove usage of GetPointer 2016-05-28 13:52:49 -05:00
MerryMage f9568d9ee2 SSL_C: Remove use of Memory::GetPointer 2016-05-28 13:52:48 -05:00
MerryMage 3f8fdddd22 GSP_GPU: Remove use of Memory::GetPointer 2016-05-28 13:52:47 -05:00
MerryMage c3ad268edc Memory: CopyBlock 2016-05-28 13:44:49 -05:00
MerryMage e0ee10c3e9 DSP_DSP: Remove use of Memory::GetPointer 2016-05-28 13:44:49 -05:00
MerryMage dfe7263cd4 FS/Archive: Remove use of Memory::GetPointer 2016-05-28 13:44:44 -05:00
Mat M c59b338a39 Merge pull request #1568 from JayFoxRox/fix-printf
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
bunnei 0109d2fa36 Merge pull request #1810 from JayFoxRox/fix-float-exceptions
Fix float exceptions
2016-05-26 18:28:00 -04:00
Mat M 3a55dfa4b2 Merge pull request #1855 from MerryMage/memory-headers-20160526
Memory: Added necessary headers and removed unnecessary header
2016-05-26 14:19:31 -04:00
MerryMage 1d3892255d Memory: Added necessary headers and removed unnecessary header 2016-05-26 18:55:37 +01:00
bunnei 60b4545493 Merge pull request #1817 from linkmauve/smdh-stuff
Improve SMDH support in loaders and frontends
2016-05-25 16:40:36 -04:00
bunnei 588e3c253f New3DS: Minor style cleanup to #1520. 2016-05-24 17:24:11 -04:00
bunnei a465aaaa54 Merge pull request #1520 from JamePeng/checknew3ds
Implement CheckNew3DS and CheckNew3DSApp
2016-05-24 17:19:26 -04:00
Emmanuel Gil Peyrot 3272e30eec Loader: Split SMDH into its own header and import helpers from QGameList
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
MerryMage 30700dfdaf CFG: Remove use of Memory::GetPointer 2016-05-21 11:14:13 -05:00
MerryMage 44dc46d5e1 APT: Remove use of Memory::GetPointer 2016-05-21 11:14:12 -05:00
MerryMage 0352176f4c Kernel/Thread: Remove use of Memory::GetPointer 2016-05-21 11:14:11 -05:00
MerryMage d4cff12856 Applets/swkdb: Remove use of Memory::GetPointer 2016-05-21 11:14:10 -05:00
MerryMage 73cc880444 Memory: ZeroBlock 2016-05-21 11:14:09 -05:00
MerryMage 4ed7963687 FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock 2016-05-21 11:14:03 -05:00
MerryMage c1c78c27c2 Memory: ReadBlock/WriteBlock 2016-05-21 11:12:36 -05:00
MerryMage b6feee037b Memory: IsValidVirtualAddress/IsValidPhysicalAddress 2016-05-21 11:12:35 -05:00
Emmanuel Gil Peyrot e52461f648 CitraQt: Simplify the game list loader code 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot 85a4eea460 Loader: Add a GetFileType method to get the type of a loaded file 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot b0095b9584 Loader, Frontends: Refactor loader creation and game loading
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
wwylele a9073da0fd SVC::WaitSynchronizationN: Reschedule at the end 2016-05-21 18:29:38 +03:00
Jannik Vogel 7d2670f08e Remove exceptions parameter from normaliseround VFP functions 2016-05-18 16:28:13 +02:00
Jannik Vogel 053fb90466 Fix exception propagation for VFP single precision 2016-05-18 15:24:42 +02:00
Jannik Vogel afa5e151e8 Fix exception propagation for VFP double precision 2016-05-18 15:24:42 +02:00
Jannik Vogel 128981cf3c Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD 2016-05-18 14:03:02 +02:00
András Domonkos af04290f90 Update ACT:U and create ACT:A (#1809)
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
2016-05-17 21:28:25 -04:00
bunnei 79da3c3d83 Merge pull request #1800 from JayFoxRox/set-fpscr
Set fpscr for new threads
2016-05-17 21:24:57 -04:00
Jannik Vogel f39adfffe7 Set fpscr for new threads 2016-05-17 08:59:52 +02:00
Jannik Vogel cc6731695e Fix ftoi behaviour 2016-05-16 15:00:45 +02:00
Jannik Vogel e686f222a9 Respect fpscr in ftoiz 2016-05-16 15:00:45 +02:00
Jannik Vogel c571e1237c Disable VFP3 instructions 2016-05-16 15:00:45 +02:00
Maribel eece919250 DSP_DSP: Remove GetHeadphoneStatus logspam (#1799) 2016-05-15 20:43:01 -04:00
wwylele 3d0953097f fixup! fixup! Refactor input system 2016-05-15 19:35:06 +03:00
wwylele c7bd2af530 implement circle pad modifier 2016-05-15 13:24:22 +03:00
wwylele c1cd474866 Refactor input subsystem 2016-05-15 13:24:22 +03:00
Subv 057cc2f94f Memory: Fixed a regression caused by #1695 and #1689.
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.

Closes #1790
2016-05-14 11:24:19 -05:00
bunnei 8ac23ace82 Merge pull request #1689 from Subv/shmem
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
bunnei 1302ffa822 Merge pull request #1695 from Subv/tls_alloc
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12 21:51:35 -04:00
Subv 3421ea5445 HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block. 2016-05-12 20:01:59 -05:00
Subv d6c25acc6e Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory. 2016-05-12 20:01:59 -05:00
Subv c50dc194ca APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt. 2016-05-12 20:01:54 -05:00
Subv d6223cfecd Kernel/SharedMemory: Log an error when Map fails. 2016-05-12 20:01:27 -05:00
Subv 54871800a9 Kernel: Implemented shared memory permissions. 2016-05-12 20:01:26 -05:00
Subv 9c6e9195ca APT: Implement relocating the shared font to its true address. 2016-05-12 20:01:20 -05:00
Subv 6e4ff1a857 Kernel/Memory: Remove the Shared Memory region from the legacy memory map. 2016-05-12 20:00:33 -05:00
Subv b53900a6ab Kernel/SharedMemory: Properly implemented shared memory support.
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.

Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv b2c771eed7 Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Lioncash 601a094367 gdbstub: Silence missing prototype warnings 2016-05-10 09:17:07 -04:00
Lioncash e4ccba3ffa dyncom: Reset the context into user mode correctly
The other mode was system mode.
2016-05-09 16:30:55 -04:00
bunnei fe04d0f1cc Merge pull request #1766 from Subv/log_cpu
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei 18ac292259 Merge pull request #1718 from alex-laties/fixup-type-conversions
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei c5171ef9f3 Merge pull request #1761 from Subv/applets_fb
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties 17e9bc5392 fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Subv bfee7941e3 Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv d9baef11f2 Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.

This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
Subv 6b0496175d HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets. 2016-05-07 10:01:40 -05:00
wwylele d999f3d0de fix:return proper error 2016-05-06 21:42:13 +03:00
bunnei 200e9d03b2 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei b28918fc2d HLE: Rename RescheduleIsPending to IsReschedulePending. 2016-05-05 21:34:10 -04:00
bunnei 143ebcaed0 Merge pull request #1700 from wwylele/gamelist-icon
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl 5c5954fd5f Layout Mii parameters input/output, and return success as result of applet work 2016-05-05 22:31:33 +03:00
wwylele a23e3f1cd5 add icon & title to game list 2016-05-04 13:02:49 +03:00
wwylele 053c44fee5 clean up config block 2016-05-03 19:27:47 +03:00
bunnei 69da41c235 Merge pull request #1732 from wwylele/config00170000
add config block 0x00170000; remove duplicated content
2016-05-02 19:04:20 -04:00
wwylele 28b16716c7 remove duplicated function declaration 2016-05-01 07:44:55 +03:00
Emmanuel Gil Peyrot c39a267974 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
Emmanuel Gil Peyrot 2d5eb25cad LCD: Remove unneeded #undef with no matching #define. 2016-04-30 13:58:26 +01:00
bunnei 022b08da7d Merge pull request #1729 from MerryMage/null-sink
Audio Config: Implement null sink and implement sink configuration
2016-04-30 03:49:11 -04:00
MerryMage aa47fc2406 Audio: Add sink selection to configuration files 2016-04-30 07:41:02 +01:00
bunnei 63978c1fff Merge pull request #1650 from JamePeng/update-the-ndm-code
Update the stub code of NDM service!
2016-04-30 00:38:15 -04:00
bunnei 86bcd88251 Merge pull request #1647 from mailwl/acu-closeasync
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
2016-04-30 00:11:08 -04:00
bunnei 025c97bcec Merge pull request #1699 from mailwl/gpu-rights
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-29 20:50:08 -04:00
wwylele d3e201e276 add config block 0x00170000 2016-04-29 13:31:29 +03:00
Yuri Kunde Schlesner 2396b01d5d Common: Remove section measurement from profiler (#1731)
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
bunnei 90241218be Merge pull request #1708 from MerryMage/dsp_dsp
DSP Service: Cleanup
2016-04-27 11:34:38 -04:00
MerryMage ed79ec1627 DSP_DSP: Fix log format strings and arguments 2016-04-27 06:35:12 +01:00
MerryMage 70d1edf9c9 DSP_DSP: Add return IPC headers 2016-04-27 06:35:08 +01:00
MerryMage 4827a1bff7 DSP_DSP: Updated interrupt implementation 2016-04-27 06:35:06 +01:00
bunnei 14c69107b7 y2r_u: Cleanup some formatting. 2016-04-26 21:50:56 -04:00
bunnei d7eb6f6a02 Merge pull request #1447 from JamePeng/update-y2r-service
Update the code of service y2r!
2016-04-26 19:29:57 -04:00
Sam Spilsbury 7be34067d5 am: title_id is long long uint 2016-04-24 23:40:41 +08:00
MerryMage 0b06d3db52 DSP_DSP: Remove unused variable 2016-04-24 09:01:53 +01:00
mailwl 592de25b16 return checks if event and memory created 2016-04-23 16:17:03 +03:00
Sam Spilsbury 44a7dad1e4 ncch: Use correct format specifier (for long long uint) 2016-04-23 11:54:02 +08:00
Sam Spilsbury f97406b393 fs: Fix what appears to be a typo (filename_size / file_size) 2016-04-23 11:54:02 +08:00
Sam Spilsbury c098a96f7d gdbstub: Don't check if unsigned int is > 0 2016-04-23 11:54:02 +08:00
mailwl 9d50b79f62 gsp::Gpu: implement AcquireRight, ReleaseRight functions 2016-04-22 21:15:25 +03:00
tfarley 459035a108 HWRasterizer: Texture forwarding 2016-04-21 17:27:56 -04:00
tfarley 621cf30b24 Config: Add scaled resolution option 2016-04-21 17:27:48 -04:00
mailwl b15a0b5419 ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2) 2016-04-21 10:34:45 +03:00
JamePeng 170b4c71c0 Update the stub code of NDM service! 2016-04-21 02:25:58 +08:00
JamePeng a69007f498 Update the code of service y2r! 2016-04-20 18:38:01 +08:00
JamePeng 493a777880 Implement CheckNew3DS and CheckNew3DSApp
Append an item[is_new3ds] to config file[System] group

Implement APT::SetNSStateField,it will update the unknown NS_state_field
2016-04-20 18:12:05 +08:00
bunnei 023e567b3e Merge pull request #1612 from ObsidianX/get-set-sockopt
SOC:U GetSockOpt/SetSockOpt
2016-04-18 20:45:19 -04:00
Lioncash 0e86c22c25 core: Clean out some unnecessary header includes 2016-04-16 00:08:49 -04:00
bunnei a3fd7cc273 Merge pull request #1667 from wwylele/ncch-loader-fix
loader: only decompress code section
2016-04-15 17:13:34 -04:00
JamePeng 68728eef38 Y2R: num_tiles should be allowed when its value is 128 (#1669) 2016-04-14 21:36:07 -07:00
wwylele 5ce844dff6 ncch:only decompress .code section 2016-04-14 18:33:42 +03:00
bunnei 7acdfa9894 Merge pull request #1613 from mailwl/anp
Set Kernel config "Hardware Inited" to 1 (true)
2016-04-11 16:26:47 -04:00
Jannik Vogel ce26f4c099 CitraQt: Apply config at startup 2016-04-11 15:18:00 +02:00
mailwl 00008f93a5 Set Kernel config "Unknown Value" to 0x1 2016-04-11 13:47:52 +03:00
mailwl c4f53f4f6b Fix BLX LR opcode interpretation 2016-04-09 19:11:02 +03:00
bunnei 169c54d6b5 Merge pull request #1644 from polaris-/gdb-fixes
Adopted WinterMute's gdbstub changes
2016-04-08 16:03:40 -04:00
JamePeng 1cd0d7fcde update the code of AM service! (#1623) 2016-04-08 15:44:00 -04:00
mailwl 3eb8b8eebb cecd:u: stub GetCecStateAbbreviated (#1648) 2016-04-08 15:39:52 -04:00
mailwl 1b840ce43c Update cpsr (T)humb bit while creating thread 2016-04-08 18:41:09 +03:00
bunnei 4df81f18e0 Merge pull request #1577 from JamePeng/update-apta-func
Append the missing function name"GetAppletInfo", "SetAppCpuTimeLimit" and "GetAppCpuTimeLimit" to APT:A
2016-04-06 21:07:08 -04:00
mailwl f1fb108e03 Fix thumb ADR instruction alignment 2016-04-06 19:46:58 +03:00
polaris- eae9c73db0 Adopted WinterMute's gdbstub changes
This fixes the comments left on the PR (whitespace, SO_REUSEADDR,
comment changes).
2016-04-06 07:01:00 -04:00
JamePeng 943cdb37a3 append SetAppCpuTimeLimit and GetAppCpuTimeLimit to APT:A 2016-04-06 14:24:09 +08:00
bunnei 8a86b69dcd Merge pull request #1435 from mailwl/frd_u
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment 3cf5e4d51c Merge pull request #1643 from MerryMage/make_unique
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage 9f9c987924 Common: Remove Common::make_unique, use std::make_unique 2016-04-05 13:31:17 +01:00
JamePeng a1f65b8ca9 implement APT::GetStartupArgument 2016-04-05 02:04:58 +08:00
JamePeng 883e0b1292 Append the missing function name"GetAppletInfo" to APT:A 2016-04-05 01:57:18 +08:00
bunnei c430003c26 Merge pull request #1616 from exhalatio/dlp_dummy
Dummy implementation dlp:SRVR Service.
2016-04-03 10:10:58 -04:00
exhalatio ea94aea447 Dummy implementation dlp:SRVR Service. 2016-04-03 06:05:20 +09:00
bunnei bb188d5fbe Merge pull request #1619 from mailwl/cecd
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-04-02 01:43:35 -04:00
Ryan Loebs 4a65ac22db Rework sockopt translation to match the error translation code already in place 2016-04-01 22:19:21 -07:00
bunnei 6e854b4fe3 Merge pull request #1390 from purpasmart96/citra_gsp_error_codes
GSP: Return proper error codes for register writes
2016-04-01 10:50:36 -04:00
Mathew Maidment 723d1b2e3f Merge pull request #1618 from MerryMage/one-step
Prevent cache overflow when single stepping
2016-03-31 11:00:42 -04:00
bunnei d10864da79 Merge pull request #1419 from mailwl/branch-gsp
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 08:52:38 -04:00
mailwl 21655cfb63 cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle 2016-03-31 14:59:10 +03:00
mailwl b6f4f4bb7e Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue 2016-03-31 10:40:25 +03:00
purpasmart96 b1a0f498f2 GSP: Return proper error codes for register writes 2016-03-30 18:31:49 -07:00
Ryan Loebs f2750f5b91 Code style 2016-03-30 13:51:34 -07:00
MerryMage c1d2977e0a DynCom: Optimize single stepping 2016-03-30 18:57:59 +01:00
Ryan Loebs 34aa921efe Added GetSockOptName
Filter out and translate invalid sockopt names.
2016-03-30 00:25:19 -07:00
Ryan Loebs c30f930e19 Derp: win32: typedef int socklen_t; 2016-03-29 14:48:25 -07:00
Ryan Loebs 9e2246851d But of course, Windows uses 'int' while Linux uses 'socklen_t' 2016-03-29 14:33:32 -07:00
Ryan Loebs 8dfc45cc72 Compiling on Windows now 2016-03-29 14:24:03 -07:00
Ryan Loebs 428f2a086b Formatting... 2016-03-29 04:45:17 -07:00
Ryan Loebs 4f9f5c81bf Addressing PR comments 2016-03-29 04:42:58 -07:00
Ryan Loebs 15fc212d1c SOC Updates
-Implement GetSockOpt / SetSockOpt
-Fix bug in RecvFrom where sending from localhost
 does not fill in src_addr/src_addr_len on Linux
2016-03-28 23:34:34 -07:00
Ryan Loebs 3ad6ac2a67 Add common methods to all cfg:* ports 2016-03-28 23:32:25 -07:00
mailwl 32a790dbdc frd:u: Initial stub some functions 2016-03-27 10:08:04 +03:00
wwylele 648b2dc071 use reference instead of pointer 2016-03-26 10:50:02 +03:00
bunnei d6b730fe0b Merge pull request #1549 from wwylele/acc_gyro
hid: implement accelerometer and gyroscope back-end
2016-03-25 21:07:21 -04:00
wwylele 586f6b854c implement GyroscopeCalibrateParam 2016-03-25 12:22:02 +03:00
wwylele 9fe0c0b898 implement accel and gyro backend 2016-03-22 18:35:03 +02:00
bunnei f326ac4c02 Merge pull request #1560 from lioncash/savedata
archive_extsavedata: Fix member initialization order
2016-03-22 11:56:47 -04:00
bunnei 7ed6e2aaa5 Merge pull request #1563 from lioncash/lolfiq
armstate: Correct FIQ register banking
2016-03-22 08:38:48 -04:00
Lioncash 438bbb84e7 armstate: Correct FIQ register banking
FIQ has seven banked registers (R8 to R14), not two.
2016-03-21 18:56:27 -04:00
bunnei d3fd003b1b Merge pull request #1559 from lioncash/vec
soc_u: Get rid of explicit delete and new
2016-03-21 11:19:18 -04:00
Lioncash 29135ab8d1 session: Make helper functions constexpr 2016-03-21 04:07:03 -04:00
Lioncash 327d85b039 loader: Make MakeMagic constexpr 2016-03-21 03:28:22 -04:00
Lioncash 76f892ebb9 hle: Get rid of global access to g_reschedule
This shouldn't be directly exposed if there's already a partial API that operates on it.
We can just provide the rest of that API.
2016-03-21 02:57:12 -04:00
Lioncash 01cd6fbef4 archive_extsavedata: Fix member initialization order
shared appears in the initializer list before mount_point
2016-03-21 02:09:12 -04:00
Lioncash 3bec523130 soc_u: Get rid of explicit delete and new 2016-03-21 01:22:44 -04:00
bunnei ddb87c0f95 Merge pull request #1302 from Subv/save_fix
HLE/FS: Fixed many corner cases in our file handling
2016-03-20 16:11:49 -04: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 0e84970817 HLE/FS: Fixed creating the config savefile when it doesn't exist.
This fixes a regression.
2016-03-20 14:30:03 -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 33fe4fe894 HLE/FS: Corrected the error codes for CreateFile 2016-03-20 14:28:10 -05:00
Subv 3c9508c468 HLE/FS: FS::CreateFile takes an u64 for the file size. 2016-03-20 14:28:08 -05:00
LittleWhite 1cebb2676a Fix missing header 2016-03-20 14:35:51 +01:00
bunnei efbf47bd85 Merge pull request #1505 from pippo2931/fef
GetArchiveResource stub
2016-03-18 00:32:53 -04:00
Lioncash f8c709aaca core/video_core: Make NumIds functions constexpr 2016-03-17 00:29:47 -04:00
Lioncash d04e1ad75c core/video_core: Don't cast away const in subscript operators
Not to say these subscript operators aren't totally ugly as is.
2016-03-17 00:27:15 -04:00
JamePeng 7d60d58ee1 Reorganize the ndm service path for dummy implement function
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons

The NDM file move to /core/hle/service/ndm/ now!
2016-03-15 00:42:47 +08:00
wwylele 0af67d267f hid: fix pad update 2016-03-13 11:19:17 +02:00
Lioncash bc06a2c79e svc: Move ResetType enum to the kernel event header 2016-03-12 21:47:41 -05:00
Lioncash bdaa3dcf06 svc: Remove unused ArbitrationType enum
An equivalent enum already exists within address_arbiter.h
2016-03-12 15:09:13 -05:00
Lioncash 219ecd2ee7 svc: Make ResetType an enum class 2016-03-12 15:06:31 -05:00
pippo2931 cc6c9fa8fd Fix header 2016-03-12 11:05:48 -08:00
pippo2931 589bcfff6a GetArchiveResource stub 2016-03-12 11:01:12 -08:00
bunnei 5858a3a148 Merge pull request #1266 from Subv/miiapplet
HLE/Applets: Implemented a dummy Mii Selector applet.
2016-03-12 11:23:59 -05:00
Subv 32fb947b55 HLE/Applets: Implemented a dummy Mii Selector applet.
This prevents some games (like Super Mario 3D Land) from freezing when trying to launch it, however, it's not complete and won't let you go past Mii selection as the parameter structure hasn't been reverse engineered yet.
2016-03-12 10:59:37 -05:00
bunnei d08af80159 Merge pull request #1500 from lioncash/nullptr
gsp_gpu: Change 0 literal to nullptr
2016-03-12 10:15:02 -05:00
Lioncash 2d0c3f789a gsp_gpu: Change 0 literal to nullptr 2016-03-11 22:59:48 -05:00
Lioncash 282f891de8 hle: Update service function tables 2016-03-11 22:23:51 -05:00
LittleWhite 3009d268e8 Fix missing return 2016-03-09 22:20:08 +01:00
bunnei a62a43a756 Merge pull request #1474 from lioncash/renderer
renderer_base: Minor changes
2016-03-09 10:57:38 -05:00
bunnei ceed7d1030 Merge pull request #1344 from LittleWhite-tb/error-output
Output errors in GUI
2016-03-08 23:12:04 -05:00
Lioncash c9f47a9b3c renderer_base: Don't directly expose the rasterizer unique_ptr
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
2016-03-08 21:31:44 -05:00
LittleWhite 59fe02348a Improve error report from Init() functions
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
MerryMage 447d9a5677 DSP: Implement Pipe 2
Pipe 2 is a DSP pipe that is used to initialize both the DSP hardware (the
application signals to the DSP to initialize) and the application (the DSP
provides the memory location of structures in the shared memory region).
2016-03-06 21:25:44 +00:00
Yuri Kunde Schlesner 46dc35ae20 Memory: Do correct Phys->Virt address translation for non-APP linheap 2016-03-05 22:09:59 -08:00
Mathew Maidment 1e3d77932e Merge pull request #1455 from yuriks/ResultVal-union
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 23:29:14 -05:00
MerryMage adb7e78b17 DSP: Print hash of firmware to console 2016-03-06 00:11:17 +00:00
Yuri Kunde Schlesner 16cb116917 core: Use unrestricted union to hold storage of ResultVal value 2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner 990a3e6038 Loader/NCCH: Log the program ID during loading
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
bunnei 7f45943e6b Merge pull request #1429 from mailwl/branch-acu
ac:u IsConnected implemented
2016-03-05 02:10:25 -05:00
bunnei 60ffdd31be Merge pull request #1389 from yuriks/stub-cam
Stub CAM:U service
2016-03-04 10:11:09 -05:00
mailwl a26b4a58bc ac:u: Stub IsConnected 2016-03-04 15:59:02 +03:00
LittleWhite c4c48d4ab3 Display errors in GUI when loading ROM failed 2016-03-03 22:52:29 +01:00
bunnei 15c904d19d Merge pull request #1434 from Kloen/legend
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -05:00
bunnei 25ba135264 Merge pull request #1297 from Subv/saves
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Kloen c72411acb2 ThreadProcessorId_All on SVC::CreateThread 2016-03-01 12:03:32 +01:00
Yuri Kunde Schlesner f91de86e81 Service/CFG: Fix potential endianess issue 2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner 37a56c1060 Service/CFG: Add block 0x000A0000 (username) to default config file 2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner 599af1f430 Service/CAM: Add doxycomments to all service functions 2016-02-29 22:53:36 -08:00
mailwl 7695b324c9 Initial implementation ir:user 2016-02-26 18:39:28 +03:00
MerryMage d2710b784a AudioCore: Skeleton Implementation
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.

This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
Yuri Kunde Schlesner 56ddccd40e Service/CAM: Dummy implementation of some functions
Thanks to @mailwl for the initial version of the stubs.
2016-02-13 01:16:08 -08:00
MerryMage 867c111e99 BitField: Make trivially copyable and remove assignment operator 2016-02-12 19:51:16 +00:00
Lioncash c731d31b7c services: Get rid of unnecessary includes 2016-02-02 01:40:23 -05:00
Lioncash 9bcfc35ba0 services: Update function tables 2016-02-01 21:49:44 -05:00
bunnei 7a6eac7fa4 Merge pull request #1377 from MerryMage/mmio
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage e614492dca Memory: Implement MMIO 2016-01-30 18:41:04 +00:00
Lioncash f290c57dee elf: Don't cast away const 2016-01-25 02:36:57 -05:00
Lioncash 4a87f38e9c archive_backend: Remove unnecessary const from return types
This doesn't return by reference so const isn't really necessary
2016-01-25 00:14:53 -05:00
rob turner 0d435fe4d8 ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name 2016-01-19 18:42:16 +01:00
Subv 155cba90f3 DiskDirectory: Initialize the directory member with valid info. 2016-01-16 09:30:29 -05:00
bunnei 416bbdb33a Merge pull request #1327 from Subv/unmap_memblock
HLE/SVC: Implement UnmapMemoryBlock.
2016-01-14 22:27:36 -05:00
Subv d9c4c1622f HLE/SVC: Implement UnmapMemoryBlock.
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
bunnei b113fd3b63 Merge pull request #1283 from Subv/soc_fixup
HLE/Sockets: Fixed the buffer offset in recvfrom.
2016-01-05 13:52:25 -05:00
bunnei b5c04be814 Merge pull request #1310 from lioncash/services
services: Update some function tables
2015-12-30 21:30:07 -05:00
Lioncash 49e3979ae6 arm_dyncom_dec: Fix decoding of VMLS
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
2015-12-30 14:23:07 -05:00
Lioncash 58a100d3b7 services: Update some function tables 2015-12-30 11:29:21 -05:00
bunnei 17aef3b4ff Merge pull request #1306 from Subv/sync
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
2015-12-29 22:36:29 -05:00
Subv 9aa852982f HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
Closes #1139
2015-12-29 20:35:25 -05:00
Lioncash a64af28cf2 core: Use unique_ptr for holding the interpreter instances 2015-12-29 18:03:08 -05:00
bunnei 46e5b62d14 Merge pull request #1300 from Subv/arbitrateaddress
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
2015-12-28 22:23:51 -05:00
Lioncash 39609e9d6e dyncom: Handle modifying the APSR via an MRC instruction 2015-12-28 07:52:04 -05:00
Subv a2c2b28b54 SVC: Fixed ArbitrateAddress to behave as it does on hardware.
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
Lioncash 4ab2d11182 svc: Remove superfluous printf argument 2015-12-25 14:21:45 -05:00
Subv 2e01b5d390 HLE/Sockets: Fixed the buffer offset in recvfrom.
Closes #1277
2015-12-24 09:19:27 -05:00
Lioncash 0908f894ca dyncom: Remove PC dispatch from several instructions
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Lioncash 2f0474efa5 dyncom: Handle unprivileged load/store variants correctly
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.

STRT is also allowed to use the PC as an operand
2015-12-19 19:05:50 -05:00
Lioncash 00ca148685 svc: Fix compilation with LOG_TRACE enabled 2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner e73547de5b Merge pull request #1272 from yuriks/merge-rasterizer
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner 102d39fe20 VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner 192829165a VideoCore: Rename HWRasterizer methods to be less confusing 2015-12-06 19:08:37 -08:00
Lioncash 8813673601 dyncom: Remove static keyword from header functions 2015-12-06 15:14:51 -05:00
Lioncash 0f083bdf0f arm_interface: Make GetNumInstructions const 2015-12-06 15:07:59 -05:00
Lioncash dd441a3dd6 arm_interface: directly initialize class members 2015-12-06 15:07:00 -05:00
Lioncash 93cd3dccc5 dyncom: const correctness changes 2015-12-06 15:03:06 -05:00
bunnei 3a96788f4f Merge pull request #1252 from Subv/cam
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
Yuri Kunde Schlesner 5bed732b03 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash af06eaf78d armstate: Zero out the registers on creation
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
Subv a84d5aa51e Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
bunnei ae854d124f Merge pull request #1225 from lioncash/clean
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
bunnei 56f3db72cb Merge pull request #1248 from polaris-/add-ssl-stubs
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-24 16:15:21 -05:00
Subv 092d5b04ec Services/Cam: Added new log type and camera enums from 3dbrew.
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
polaris- 18990ff322 Add stub functions for Initialize and GenerateRandomData in ssl:C 2015-11-22 16:54:51 -05:00
bunnei 2b68cf07c7 Merge pull request #1246 from polaris-/patch-1
Fix read and write register blocks in gdbstub
2015-11-22 13:38:50 -05:00
polaris- 7603ea3da1 Add Initialize and GenerateRandomData stubs 2015-11-22 09:27:46 -05:00
polaris- ec1195c252 Fix read and write register blocks in gdbstub
Previously, the padding wasn't correctly accounted for which caused the gdbstub to read and write everything after R15 (starting with the dummy FPA registers) incorrectly, which caused CPSR to not be handled correctly. Everything appears to be working as expected with this change.
2015-11-22 07:48:26 -05:00
bunnei 5f52cec725 Merge pull request #1122 from polaris-/gdbstub
gdbstub implementation
2015-11-11 23:21:31 -05:00
polaris- 505489551d Fix bug with reading addresses and lengths 2015-11-03 21:50:53 -05:00
polaris- fd7f61becf Change headers 2015-10-29 06:17:29 -04:00
Lioncash 1349faf744 csnd_snd: Get rid of type punning 2015-10-28 16:10:21 -04:00
bunnei 58857f832e Merge pull request #1165 from esoteric-programmer/master
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst 5c7881c4a3 Added CSND stub. 2015-10-28 19:04:01 +01:00
bunnei 62c57400e8 Merge pull request #1208 from archshift/free-bytes
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift 5da25ae7d0 Implement FS_User::GetFreeBytes 2015-10-27 23:33:59 -07:00
Filiph Sandström 23e1121337 Fix copy paste 2015-10-24 13:17:04 +02:00
Filiph Sandström d248fba5e3 Fix wrong branch 2015-10-23 23:58:54 +02:00
Filiph Sandström 29077f65a2 Add GetTotalStepCount Stub 2015-10-23 23:52:13 +02:00
Filiph Sandström bf5793c2f8 Update ptm.h 2015-10-23 23:50:51 +02:00
polaris- ac325ce61a Add some headers so TravisCI will hopefully work 2015-10-22 00:31:49 -04:00
polaris- f4520eb266 Use CHAR_BIT instead of 8 2015-10-22 00:19:44 -04:00
polaris- 4e0ae45d99 Handle changes pointed out in comments on PR 2015-10-22 00:11:25 -04:00
polaris- 37b35180c5 Add a register variable to loops 2015-10-21 07:45:35 -04:00
polaris- 6c4f45627c Update register read loops to go with last commit 2015-10-21 07:40:30 -04:00
polaris- 86a42ff827 Pad responses to gdb for VFP registers 2015-10-21 07:19:03 -04:00
polaris- 82f537482d Try to add support for VFP registers 2015-10-21 07:14:43 -04:00
polaris- 0de246f668 Fix buffer overflow comments 2015-10-21 06:49:49 -04:00
bunnei 7de1f406b8 Merge pull request #1199 from Gareth422/encryption-check
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
polaris- 6621f16576 Remove unnecessary new lines, changed Deinit to Shutdown 2015-10-11 20:07:58 -04:00
Gareth Poole 780fd6247f Loader: Change NCCH header types to be explicitly little-endian 2015-10-10 22:35:22 -04:00
Gareth Poole 1874d33c0b Loader: Implement encryption check 2015-10-10 22:34:17 -04:00
bunnei d52e81d425 Merge pull request #1194 from linkmauve/no-newline
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot b0c7762520 CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
Gareth Poole cfeae1a4f5 Fixed spelling errors 2015-10-09 17:09:52 -04:00
Rohit Nirmal c157d4ddd6 Silence -Wsign-compare warnings. 2015-10-06 22:16:15 -05:00
polaris- 8205925b08 Use BreakpointAddress struct instead of passing address directly 2015-10-04 11:22:31 -04:00
polaris- 1d319e5b46 Implement gdbstub 2015-10-04 11:16:59 -04:00
bunnei bc1663cbb8 Merge pull request #1095 from archshift/game-list
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift 976a199623 Expose loader helper functions for identifying files. 2015-09-30 21:04:47 -07:00
bunnei 5fb9ab82fd Merge pull request #1177 from linkmauve/fix-msvc-todo
Use a constexpr function for country initialization in service/cfg
2015-09-30 11:06:47 -04:00
Lioncash 42e88c9a16 ivfc_archive: Fix a printf specifier 2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot 918f616a46 Service/CFG: Use a constexpr function for country initialization
This fixes a TODO left over from when we supported MSVC 2013.
2015-09-30 04:02:48 +01:00
Martin Lindhe b36b9d6923 fix some xcode 7.0 warnings 2015-09-29 23:11:09 +02:00
bunnei 4a07e855cd Merge pull request #1160 from lioncash/clang
Silence some clang warnings
2015-09-21 21:29:55 -04:00
Cruel aad98addf2 Implement 3dsx RomFS 2015-09-21 13:03:18 -04:00
Lioncash 08147474cb general: Silence some warnings when using clang 2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner 318429ff53 Service/CFG: Add default entry for block 0x000A0001 (birthday) 2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner 6b451adbf2 Service/CFG: Correct flags in 2 default blocks
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner 737572c283 Service/CFG: Add additional blocks to default save data
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 6a8deb9b91 Fix narrowing conversion warning 2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 9a28ef260b Service/CFG: Move several private types from the header to the cpp 2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner 8fa38e6011 Service/CFG: Clean up default block creation 2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner 222d77c31a GSP: Implement command 0x05, used for flushing caches
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash 1ab765ff61 general: Replace 0 literals with nullptr where applicable 2015-09-11 23:11:01 -04:00
Lioncash 5c77b656b8 General: Replace NULL and '0' usages with nullptr where applicable 2015-09-11 14:59:49 -04:00
Yuri Kunde Schlesner 13310a9b26 Merge pull request #1130 from lioncash/block
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
Lioncash 54fa043c92 General: Fix up doxygen comments 2015-09-10 11:20:21 -04:00
Yuri Kunde Schlesner 0a72f8446b Merge pull request #1131 from lioncash/uninit
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash 9f37facda2 memory: Get rid of pointer casts 2015-09-10 00:09:55 -04:00
Lioncash 62c80d9331 disk_archive: Remove unimplemented constructor declarations 2015-09-09 23:49:03 -04:00
Lioncash 42f3cbb213 y2r: Give local variables an initial value
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
archshift 358f54fa1d DynCom: Converted all 0xE condition code checks to ConditionCode::AL 2015-09-05 22:24:42 -07:00
bunnei 1eacf4a3d2 Merge pull request #1101 from archshift/camu-service-names
Add cam:u service function names to its function table
2015-09-03 07:53:18 -04:00
archshift 0b274a5ca5 Add cam:u service function names to its function table 2015-09-03 01:56:59 -07:00
bunnei f4e3d89fdd Merge pull request #1072 from yuriks/GetSystemTick-advance-time
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
2015-09-01 08:21:29 -04:00
bunnei 546ffa0046 Merge pull request #1085 from Subv/fs_stat
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
2015-08-30 11:44:39 -04:00
Yuri Kunde Schlesner e5bcc24426 SVC: Advance time when calling GetSystemTick to escape busy-wait loops
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 -03:00
Subv 3334ae7b74 Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
Closes #1067
2015-08-28 22:01:03 -05:00
Yuri Kunde Schlesner 6bef26d764 Kernel: Fix wrong linear heap base on titles using newer kernels
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
Yuri Kunde Schlesner 990ff3f241 Kernel: Fix assertion failure when ControlMemory is called with size=0 2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner b9b540a222 Core: Improve APT Shared Font hack
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
Lioncash 3fb10e8f62 dyncom: Simplify some comparisons in CondPassed 2015-08-26 00:10:23 -04:00
Lioncash f8425c3dad dyncom: Change return type of CondPassed to bool 2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner 424b0fa646 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner 91fcf7f484 Fix broken boot introduced by last-minute change in #1025 2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner e3936a67b7 Merge pull request #1025 from yuriks/heap-management
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
Yuri Kunde Schlesner 8220a201eb Merge pull request #996 from yuriks/texture-copy
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
Yuri Kunde Schlesner 63a0b6de7b Merge pull request #1033 from bbarenblat/master
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner 209113743f GPU: Implement TextureCopy-mode display transfers
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei e3de8e63c3 Merge pull request #1032 from lioncash/swap
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner 984bea6698 Kernel: Remove unused legacy heap MapBlock_* functions 2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner bad440fdc9 APT: Adjust shared font hack so it works with the new linear heap code 2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner 00e9d19f28 Kernel: Implement svcGetProcessInfo in a basic way
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner e34643a3e4 Kernel: Add more infrastructure to support different memory layouts
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner cbc7419408 HLE: Remove empty ConfigMem and SharedPage Shutdown functions 2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner 6bb23baf0a Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h} 2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner 168d376c67 Memory: Move address type conversion routines to memory.cpp/h
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner 521cb56792 Process: Store kernel compatibility version during loading 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner 8850ade24d Kernel: Properly implement ControlMemory FREE and COMMIT 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner fbcf0558f3 Memory: Move PAGE_MASK and PAGE_BITS to memory.h 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner ce332ef416 VMManager: Introduce names for used ResultCodes 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner f287e6dff4 VMManager: Make LogLayout log level configurable as a parameter 2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner c31e812624 VMManager: Change block offsets to size_t 2015-08-16 01:03:43 -03:00
Lioncash d7335fa5f0 vfp: use std::swap where applicable 2015-08-15 19:08:51 -04:00
bunnei c03924e60e Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
Benjamin Barenblat ef432342ce Properly indicate that CIA support is not implemented yet
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat b57680c39f Give CIA file type a name
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
bunnei 4b7664fe12 Merge pull request #1027 from lioncash/debugger
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
Emmanuel Gil Peyrot fe83e1f777 ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. 2015-08-11 22:38:44 +01:00
aroulin 1af26ea3d8 arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin 0e37ee5692 arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin e752fd5728 arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin 86d63d8fd8 arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin aecd0de63e arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash b104d30596 Merge pull request #1026 from lioncash/disasm
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash daabb4fab3 arm_interface: Implement interface for retrieving VFP registers 2015-08-06 21:24:25 -04:00
Lioncash 59d5358068 arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
aroulin 4721ff6747 Disassembler: ARMv6K REX instructions 2015-08-06 15:50:54 +02:00
aroulin 0d4ad676e9 Disassembler: ARMv6K hint instructions 2015-08-06 15:25:08 +02:00
bunnei ce65925bc3 Merge pull request #1008 from lioncash/pc
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
bunnei a5f77c9886 Merge pull request #1014 from lioncash/unused-warn
core: Eliminate some unused variable warnings
2015-07-29 16:47:44 -04:00
Yuri Kunde Schlesner ea1b04f5da Merge pull request #1013 from lioncash/unused
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00
Lioncash 75631b2a9f core: Eliminate some unused variable warnings 2015-07-29 12:34:18 -04:00
Lioncash 46663d657f dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
Lioncash 12a9e8502c core: Fix missing prototype warnings 2015-07-29 12:12:39 -04:00
Yuri Kunde Schlesner 8165de065b Merge pull request #1009 from lioncash/table
am_net: Update function table data
2015-07-29 08:40:19 -07:00
Lioncash 6b25e93119 am_net: Add missing function to the function table 2015-07-29 11:37:55 -04:00
Lioncash bed3618480 am_net: Add correct function name to the function table 2015-07-29 11:37:09 -04:00
bunnei e5606d9d6e Merge pull request #982 from Subv/home
Service/APT: Return proper parameters in GetLockHandle.
2015-07-29 11:12:17 -04:00
Lioncash 2e420aba3c dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM 2015-07-29 10:57:47 -04:00
Lioncash 2182adff9e dyncom: Handle left-operand PC correctly for data-processing ops
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
bunnei 4ccc171db4 Merge pull request #899 from zawata/Winsock-Deprecation
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -04:00
bunnei fe15cf0019 Merge pull request #1003 from lioncash/armcruft
dyncom: Minor cleanups.
2015-07-28 09:58:42 -04:00
Tony Wasserka 62adb4ee7b Merge pull request #873 from jroweboy/input_array
Move input values into an array.
2015-07-28 13:17:12 +02:00
Lioncash 9be4ef3879 dyncom: Remove an unnecessary typedef 2015-07-28 03:41:25 -04:00
Lioncash 89540ea761 dyncom: Use enum class for instruction decoding results 2015-07-28 02:27:57 -04:00
James Rowe 1bc7829ee9 Move input values into an array 2015-07-27 21:41:21 -06:00
Lioncash 7e4fb4db19 dyncom: Remove code duplication regarding thumb instructions 2015-07-27 22:22:00 -04:00
Lioncash a507ea23c1 dyncom: Migrate exclusive memory access control into armstate 2015-07-27 22:06:59 -04:00
Lioncash db4e99c186 dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
Lioncash 816b1ca776 dyncom: Use std::array for register arrays 2015-07-26 13:21:04 -04:00
Lioncash 0ecc6e2f04 dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
Lioncash 03213f893e dyncom: Remove unnecessary initialization code.
Targeting ARM version variants was only a thing on armemu.

The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash 3257d797e1 dyncom: Remove unnecessary abort-related cruft
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash dfb424b6d1 dyncom: Rename armdefs.h to armstate.h 2015-07-25 22:10:44 -04:00
Lioncash 4bb1a5ca47 dyncom: Get rid of skyeye typedefs 2015-07-25 20:52:10 -04:00
Lioncash 0191c26521 dyncom: Move helper functions to their own header 2015-07-25 20:35:18 -04:00
Lioncash 6b73e4566b dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common 2015-07-25 20:01:44 -04:00
Yuri Kunde Schlesner 453764aefc Merge pull request #989 from lioncash/extern
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Lioncash f7ba683dc3 armdefs: Remove unnecessary extern keywords 2015-07-25 18:32:57 -04:00
Lioncash 43d799fd9d loader: Remove unnecessary else usages 2015-07-25 18:10:13 -04:00
Yuri Kunde Schlesner 24d7c05c8d Merge pull request #888 from zawata/Warning-Fixes-2
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner 9a0f9f12cd Merge pull request #892 from zawata/another-warning-fixes
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Subv 599744921d Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called. 2015-07-23 21:32:30 -05:00
Subv ce31184557 Service/APT: Return proper parameters in GetLockHandle.
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Yuri Kunde Schlesner a989522384 Merge pull request #983 from yuriks/null-memory-fill
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner 3b61dd97e0 GSP: Don't try to write memory fill registers if start address is 0
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Subv 6c0ea5f5e8 Qt/GPU Breakpoints: Added three more breakpoint types:
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei 4a9e97d67d Merge pull request #962 from Subv/am_app
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
2015-07-21 18:26:31 -04:00
bunnei d0b45d45b5 Merge pull request #966 from Subv/log
Services/Logging: Log more useful information when some operations fail.
2015-07-21 15:14:35 -04:00
Subv f5bff67b0b Services/Logging: Log more useful information when some operations fail.
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
bunnei dcc8f1bef2 Merge pull request #957 from Subv/hwtest_crash
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
2015-07-21 12:11:48 -04:00
Lioncash c2689b8c2c dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
Subv 13f93a0188 Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
Named the service functions in am:app as per 3dbrew.

This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Subv 38a7f1b727 Services/CFG: Added some missing functions to cfg:s 2015-07-20 19:52:07 -05:00
Subv 275aaeef9c Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
bunnei cd2bb2dc69 Merge pull request #939 from Subv/queryprocmem
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-20 00:34:41 -04:00
bunnei 863a963911 Merge pull request #951 from Subv/bit5
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
2015-07-19 22:42:44 -04:00
bunnei 21a696abde Merge pull request #946 from archshift/update-frdu
Add more frd:u unknown service commands from 3dbrew
2015-07-19 22:39:51 -04:00
zawata 395e63d5aa SOC:U : Update deprecated function gethostbyname() to getaddrinfo() 2015-07-19 19:32:12 -07:00
Subv 63dbff9b1f GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Lioncash a2f0a3d019 dyncom: Properly retrieve the PC value in BX if used. 2015-07-19 22:20:14 -04:00
archshift 84a88005e2 Change trace/unimplemented service call logs to use hex
Changes the log to use hex in the parameter list instead of decimal.
2015-07-19 13:34:38 -07:00
archshift d1e6afaba1 Add more frd:u unknown service commands from 3dbrew 2015-07-19 13:30:20 -07:00
zawata 972dccc3f6 Core : Change variable type
and fix various warnings
2015-07-19 04:12:39 -07:00
zawata 1be1ff23a9 Core : Fix Conversion Warnings 2015-07-19 03:59:47 -07:00
Yuri Kunde Schlesner 13286903e6 Dyncom: Support for a missing ARMv6 Thumb MOV encoding 2015-07-18 03:41:49 -03:00
Subv 83fa3f977d Kernel/SVC: Implemented svcQueryProcessMemory 2015-07-17 14:55:35 -05:00
Yuri Kunde Schlesner 41513cfb0c Merge pull request #938 from Subv/querymem
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 12:33:26 -07:00
Subv 9e2962081a Kernel/SVC: Implemented svcQueryMemory. 2015-07-17 11:03:56 -05:00
bunnei 32be6a4553 Merge pull request #937 from yuriks/codeset-leak
Ensure all kernel objects are released during shutdown
2015-07-17 11:03:28 -04:00
zawata f723a498e7 Core\HLE : Fix Warning
"signed/unsigned mismatch"
2015-07-17 00:50:53 -07:00
Yuri Kunde Schlesner dc39d06950 Ensure all kernel objects are released during shutdown
This commit fixes several kernel object leaks. The most severe of them
was threads not being removed from the private handle table used for
CoreTiming events. This resulted in Threads never being released, which
in turn held references to Process, causing CodeSets to never be freed
when loading other applications.
2015-07-17 02:24:13 -03:00
Lioncash 23dbbb786a arm_dyncom_interpreter: Simplify assignment in SMLAW
Also a side-benefit of not having implementation-defined behavior.
2015-07-16 22:08:12 -04:00
bunnei 946f0ee2f4 Merge pull request #918 from yuriks/romfs
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
2015-07-16 18:08:46 -04:00
archshift 2501f111a6 Merge pull request #904 from aroulin/y2r-narrowing-warning
Y2R: Fix narrowing warning
2015-07-13 22:07:39 -07:00
Yuri Kunde Schlesner 62c2a262b2 Loader: Fix variable type and remove unused variable 2015-07-13 21:10:13 -03:00
Yuri Kunde Schlesner a1f08788d9 Archive: Correct a few incorrect types in function signatures
Buffer lengths should be size_t, and file offsets should be u64.
2015-07-13 21:10:12 -03:00
Yuri Kunde Schlesner 2d7299a86f Loader: Remove unnecessary pointer indirection to IOFile 2015-07-13 20:00:56 -03:00
condut c385b7767d FS: Stream RomFS from file instead of loading all of it to memory 2015-07-13 19:57:12 -03:00
Tony Wasserka 29abb11e8f CiTrace: Clean up initialization method. 2015-07-13 22:27:21 +02:00
Tony Wasserka fd62580985 CiTrace: Record default vertex attributes. 2015-07-13 22:27:21 +02:00
Tony Wasserka 902fa4da52 Add CiTrace recording support.
This is exposed in the GUI as a new "CiTrace Recording" widget.

Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).
2015-07-13 22:27:20 +02:00
Tony Wasserka 93d66475d4 GPU: Be robust against nullptr addresses; properly reset busy bits in the trigger registers. 2015-07-13 22:27:20 +02:00
Tony Wasserka 256bdfb579 HW: Fix a stupid issue which led to unknown register reads/writes. 2015-07-13 22:27:20 +02:00
bunnei b6719ec922 Merge pull request #921 from linkmauve/fix-applet
Fix applet includes using iwyu
2015-07-12 17:25:55 -04:00
Yuri Kunde Schlesner d4f35fd989 Kernel: Add CodeSet case to Object::IsWaitable 2015-07-12 18:15:16 -03:00
Emmanuel Gil Peyrot fe909b3b5a Core: Fix applet includes using iwyu. 2015-07-12 22:10:37 +01:00
aroulin 1f125a04c3 Y2R: Fix narrowing warning 2015-07-12 03:49:16 -04:00
bunnei f4e1d8ea36 Merge pull request #823 from Subv/applets_drawing
Library applet support (swkbd for now)
2015-07-11 23:56:59 -04:00
Subv 725d5eea78 Applets: Reworked how the Applet update event is handled.
Applets are now cleaned up in AppletUpdateEvent after calling their respective Update method.
2015-07-11 22:32:12 -05:00
Yuri Kunde Schlesner 5c5cf2f8e0 Core: Properly configure address space when loading a binary
The code now properly configures the process image to match the loaded
binary segments (code, rodata, data) instead of just blindly allocating
a large chunk of dummy memory.
2015-07-11 23:54:42 -03:00
Yuri Kunde Schlesner 51820691e7 Memory: Fix unmapping of pages 2015-07-11 23:49:53 -03:00
Yuri Kunde Schlesner 34f5f77507 Loader: Clean up 3dsx loader a bit, fixing a potential buffer overrun 2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner fdbf410bd7 Loader: Make 3dsx loader logs a bit less confusing 2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner d9556912b4 Kernel: Remove unused member from Event 2015-07-11 23:49:51 -03:00
Subv 621ee10eae Applets: Add infrastructure to allow custom drawing and input handling in Applets. 2015-07-11 21:47:23 -05:00
Subv 2a6ebadf66 HLE/APT: Initial HLE support for applets.
Currently only the SWKBD is emulated, and there's currently no way to ask the user for input, so it always returns "Subv" as the text.
2015-07-11 21:47:22 -05:00
Yuri Kunde Schlesner 867c28ae03 Merge pull request #876 from linkmauve/include-cleanups
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
aroulin 769407e4fa Loader: Remove log line causing warning 2015-07-08 00:04:21 +02:00
bunnei 0ef3f12c71 Merge pull request #797 from linkmauve/blended-downscaling
Implement blended downscaling for display transfers
2015-07-06 11:35:55 -04:00
bunnei c19f9945b7 Merge pull request #885 from Subv/ipc_headers
Services/SOC: Added command headers to some of the soc commands.
2015-07-06 11:19:58 -04:00
Lioncash e3e8ad48c1 vfp: Change return type of VFPInit from unsigned int to void. 2015-06-29 14:51:38 -04:00
Lioncash 32a6379bc8 vfp: Handle accesses to FPINST/FPINST2 system registers
Also has a side-benefit of correcting access to the FPEXC register.
2015-06-29 03:27:26 -04:00
Emmanuel Gil Peyrot 641e78bccf GPU: Implement blended downscaling for display transfers. 2015-06-28 15:11:26 +01:00
Emmanuel Gil Peyrot 8ee814ec27 GPU: Use shifts instead of multiplications to calculate the actual size of the output. 2015-06-28 14:31:13 +01:00
Emmanuel Gil Peyrot 4964a359e1 Core: Cleanup hw includes. 2015-06-28 00:46:39 +01:00
Emmanuel Gil Peyrot 7b746914b9 Core: Cleanup soc:U includes. 2015-06-28 00:36:55 +01:00
Emmanuel Gil Peyrot f48b28ad27 Core, VideoCore: Replace or fix exit() calls. 2015-06-28 00:36:55 +01:00
Emmanuel Gil Peyrot e5fcabdd69 Core: Cleanup file_sys includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot aea15f5c73 Core: Cleanup core includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot 45c4781544 CitraQt: Cleanup includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot 596b7c4f63 Common: Cleanup key_map includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot 2d044a67c9 Common: Cleanup memory and misc includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot 8cf9eb7f43 Common: Fix FileUtil includes, and everything relying on those. 2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot c345247431 Services: Use the standard _WIN32 define in soc:U instead of our own EMU_PLATFORM. 2015-06-27 14:43:56 +01:00
Subv bd336cfdce Services/SOC: Added command headers to some of the soc commands. 2015-06-25 12:55:27 -05:00
Yuri Kunde Schlesner 81488d7a6a Add helpers to create IPC command buffer headers and descriptors 2015-06-22 19:24:19 -03:00
Yuri Kunde Schlesner dc09a2ecb5 Merge pull request #860 from yuriks/y2r-color
Color support for Y2R
2015-06-21 17:22:34 -07:00
Yuri Kunde Schlesner 3e6663da43 Y2R: Rework conversion process, enabling support for all formats 2015-06-21 20:58:55 -03:00
bunnei 9850f98339 Merge pull request #855 from purpasmart96/service_rearrangment
Services: Continue separation of services into their own folders
2015-06-21 10:55:02 -04:00
Yuri Kunde Schlesner 29d2b70ea4 Y2R: Re-organize how params are stored. Support SetConversionParams 2015-06-20 19:21:16 -03:00
bunnei 71e8822d23 kernel: Fix svcWaitSynch to always acquire requested wait objects. 2015-06-16 22:34:39 -04:00
Lioncash f1ff0fbf07 Merge pull request #866 from lioncash/typo
hw: Fix mismatched Write call
2015-06-16 17:04:34 -04:00
Lioncash bbe4430922 hw: Fix mismatched Write call 2015-06-16 15:49:22 -04:00
Lioncash 71858fc7cc vfp: Handle accesses to the VFP media feature registers
These are able to be accessed in any privilege mode.
2015-06-12 20:21:51 -04:00
Lioncash e817224f89 vfp: Implement VMOVBCR/VMOVBRC 2015-06-12 02:47:10 -04:00
purpasmart96 7933dbe6a0 Services: Continue separation of services into their own folders 2015-06-11 20:41:59 -07:00
Lioncash 04f204ed00 arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA 2015-06-04 08:42:14 -04:00
Subv 66c1db7288 ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.
Organize the ExtSaveData folders as they are stored in the console.
2015-06-01 21:48:19 -05:00
Lioncash 1974da272d Merge pull request #838 from lioncash/thumb
arm_dyncom_thumb: Implement missing instructions.
2015-05-31 22:19:31 -04:00
Lioncash c00781a908 arm_dyncom_thumb: Fix encoding of BKPT's immediate 2015-05-31 21:51:46 -04:00
Lioncash 85b1dddda1 arm_dyncom_thumb: Implement CPS and SETEND 2015-05-31 21:51:25 -04:00
Lioncash 7caef19c89 arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB. 2015-05-31 21:50:57 -04:00
Lioncash b64dea80ce arm_dyncom_thumb: Implement REV, REV16, and REVSH. 2015-05-31 21:50:18 -04:00
archshift 0414ad20cb Merge pull request #811 from archshift/commonify
Commonify video_core utility headers
2015-05-31 09:55:29 -07:00
bunnei 833936fc64 Merge pull request #832 from yuriks/refresh-rate-option
Remove gpu_refresh_rate configuration option
2015-05-31 04:48:20 -04:00
archshift 76690392bf Move video_core/color.h to common/color.h 2015-05-30 11:17:37 -07:00
Yuri Kunde Schlesner 8a04c65e20 Merge pull request #810 from yuriks/memmap
Kernel: Add VMManager to manage process address spaces
2015-05-29 18:00:17 -07:00
Yuri Kunde Schlesner d65b42a69a Remove gpu_refresh_rate configuration option
Changing it makes emulation inherently inaccurate. It also had a wrong
default value (30, whereas the real system has a refresh rate of 60 Hz)
which, even if changed, would continue to be used unless people manually
removed it from their config files.
2015-05-29 19:39:26 -03:00
Emmanuel Gil Peyrot b1503b2020 Remove every trailing whitespace from the project (but externals). 2015-05-29 21:59:29 +01:00
Lioncash a3cad6c332 hid: Get rid of undefined behavior
Modifying a variable twice across a sequence point.
2015-05-27 12:20:12 -04:00
Yuri Kunde Schlesner 88365a23e7 Memmap: Remove unused global pointers to memory areas 2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner 0a60aa75c2 Kernel: Add VMManager to manage process address spaces
This enables more dynamic management of the process address space,
compared to just directly configuring the page table for major areas.

This will serve as the foundation upon which the rest of the Kernel
memory management functions will be built.
2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner ad883db7a9 Merge pull request #826 from lioncash/tables
arm_dyncom_thumb: Merge STR/LDR table subsets.
2015-05-26 22:05:13 -07:00
Lioncash 0265d950e6 arm_dyncom_thumb: Merge STR/LDR table subsets. 2015-05-26 21:15:29 -04:00
Lioncash 0ff414f561 Merge pull request #825 from lioncash/dync
dyncom: Minor cleanup.
2015-05-26 20:27:48 -04:00
Lioncash f62ab75c67 arm_dyncom_interpreter: Remove unused variable
Thum decoding directly checks if the thumb bit is set instead of using a temporary.
2015-05-26 17:43:08 -04:00
bunnei 4d93c30c97 Merge pull request #821 from Subv/ImportDisplayCaptureInfo
Service/GSP: Implemented ImportDisplayCaptureInfo.
2015-05-26 01:14:21 -04:00
Subv fa397494b0 Service/GSP: Implemented ImportDisplayCaptureInfo. 2015-05-25 23:35:14 -05:00
Subv 732839b1f4 Core/SVC: Map the shared memory created in CreateMemoryBlock to the specified address.
This SharedMemory can be passed to service functions (Which should map the memory into their own address space).
2015-05-25 16:17:26 -05:00
Lioncash 8c1ab1c2c4 arm_dyncom_interpreter: Remove unused macro 2015-05-24 19:21:05 -04:00
Lioncash 6278937a28 dyncom: Get rid of armemu.h 2015-05-23 20:51:02 -04:00
Lioncash ebca3a4902 y2r_u: Remove unused variable in StartConversion 2015-05-23 00:46:22 -04:00
Lioncash 92fd2753c5 dyncom: Remove unused cpu parameter from decode_thumb_instr 2015-05-22 23:42:23 -04:00
Lioncash 097d8282a6 dyncom: remove load_r15 from arm_inst
It's entirely unused. Also allows getting rid of more clunky macros.
2015-05-22 23:38:00 -04:00
Lioncash 8617938441 dyncom: Remove unnecessary parameter for load/store operations 2015-05-22 23:14:22 -04:00
bunnei 41531eeb32 Merge pull request #801 from purpasmart96/hid_stubs
HID: Stub DisableAccelerometer and DisableGyroscopeLow
2015-05-22 20:44:22 -04:00
Lioncash 932aeb333f Merge pull request #802 from bunnei/vfp-trace-log
VFP: Log as trace to get rid of spamming.
2015-05-22 19:44:22 -04:00
bunnei 3a348a90fd VFP: Log as trace to get rid of spamming. 2015-05-22 19:42:44 -04:00
purpasmart96 0c62b7b106 HID: Stub DisableAccelerometer and DisableGyroscopeLow 2015-05-22 15:55:27 -07:00
tfarley 62668688e1 Flush for y2r (moflex) 2015-05-22 15:51:34 -07:00
tfarley 05dc633a8c OpenGL renderer 2015-05-22 15:51:18 -07:00
tfarley 6d995b1ff6 INI hw/sw renderer toggle 2015-05-22 14:37:55 -07:00
Yuri Kunde Schlesner eca2b71fa8 Merge pull request #798 from yuriks/y2r-bw
Service::Y2R: Support for grayscale decoding of specific formats
2015-05-22 14:06:20 -07:00
Yuri Kunde Schlesner 9108482888 Service::Y2R: Support for grayscale decoding of specific formats
Implements unrotated planar YUV 4:2:0 -> RGB24 conversions in Y2R.
Currently only the Y (luma) channel is used, so the results don't
contain color. This will be added in a later PR at some point.

This is enough to get all currently know Moflex videos to decode. (Some
don't display on-screen due to seemingly unrelated reasons.)

Thanks to @archshift for doing the initial implementation which I
cleaned up and then fixed the 8x8 block mode.
2015-05-22 17:57:21 -03:00
Lioncash 572c91a024 dyncom: Eliminate clang warnings
Gets rid of a whole load of missing brace initialization warnings.
2015-05-21 16:43:21 -04:00
Emmanuel Gil Peyrot b8f93e6b18 Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback code to prevent it from happening again. 2015-05-21 20:54:49 +02:00
bunnei 25f14e76f1 y2r_u: Stub StartConversion to prevent moflex games from hanging. 2015-05-20 18:05:47 -04:00
bunnei 0b7d2941cf Kernel: Move reschedules from SVCs to actual mechanisms that reschedule. 2015-05-20 18:05:47 -04:00
bunnei 859707642e Merge pull request #766 from purpasmart96/cfg_service_update
CFG: Update the cfg service to be like other integrated services
2015-05-18 10:18:58 -04:00
bunnei f0365f28c2 Merge pull request #772 from lioncash/warn
core/video_core: Fix a few warnings when compiling on MSVC.
2015-05-18 08:08:49 -04:00
archshift 11057488f9 Implement svcBreak 2015-05-16 22:06:59 -07:00
bunnei 9fb9750411 Merge pull request #781 from archshift/delete
Delete unused hle/coprocessor.cpp
2015-05-16 11:16:29 -04:00
archshift 4b300ba763 Delete unused hle/coprocessor.cpp 2015-05-15 23:24:11 -07:00
purpasmart96 dd9aed9ea9 CFG: Update the cfg service to be like other integrated services 2015-05-15 20:19:29 -07:00
purpasmart96 0fd727f3ad APT/FS: Remove asserts that were causing false positives 2015-05-15 19:25:02 -07:00
Yuri Kunde Schlesner 12f6216741 Merge pull request #774 from lioncash/decodings
dyncom: Add ARMv6K NOP and hint instructions to the interpreter.
2015-05-15 11:36:20 -07:00
bunnei 6abed88092 Merge pull request #770 from lioncash/dyncom_clean
dyncom: Minor cleanup.
2015-05-15 09:44:39 -04:00
Subv d3634d4bf4 Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.

Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
2015-05-14 22:50:13 -05:00
Yuri Kunde Schlesner dd4430609a Memory: Use a table based lookup scheme to read from memory regions 2015-05-15 00:04:43 -03:00
Yuri Kunde Schlesner 52158c1b8d Memory: Read SharedPage directly from Memory::Read 2015-05-15 00:04:41 -03:00
Yuri Kunde Schlesner ec514b16a6 Memory: Read ConfigMem directly from Memory::Read 2015-05-15 00:04:39 -03:00
Yuri Kunde Schlesner 7ada357b2d Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
Yuri Kunde Schlesner a251721bf3 Memmap: Remove unused declarations 2015-05-15 00:04:38 -03:00
Lioncash 8cd72428c9 dyncom: Add ARMv6K NOP and hint instructions to the decoding table 2015-05-14 16:25:02 -04:00
Lioncash 699b67d7cf dyncom: Handle some MSR variants individually
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad.
2015-05-14 16:24:51 -04:00
Lioncash be0119be08 dyncom: Move exclusive load/stores above bbl and swi in the decoding table 2015-05-14 16:24:39 -04:00
Lioncash 1e0255364c dyncom: Remove duplicate enums/prototypes
These are already defined in arm_dyncom_interpreter_dec.cpp.
2015-05-14 14:32:17 -04:00
Lioncash f4921d0f9d dyncom: Remove unnecessary defines
These can simply be const vars.
2015-05-14 14:32:16 -04:00
Lioncash 0530fd2499 dyncom: Make translation-unit functions and variables static 2015-05-14 14:32:07 -04:00
Lioncash 773b1ef6bf vfp: Get rid of warnings
- Unary minus operator applied to unsigned type.
- Unsafe use of bool.
2015-05-14 13:54:15 -04:00
Lioncash 150e700729 process: Get rid of warnings
Sign mismatches and "forcing value to bool" warnings.
2015-05-14 12:59:14 -04:00
Lioncash f3c4de4ce4 dyncom: Remove unnecessary typedefs 2015-05-14 11:51:46 -04:00
Lioncash a48b4ec583 dyncom: Remove unused structs 2015-05-14 11:33:50 -04:00
Lioncash 207087c856 thread: Fix a conditional check in Reschedule 2015-05-14 11:10:04 -04:00
bunnei e83bc5b7ee dyncom: Removed irrelevant log. 2015-05-14 00:24:38 -04:00
Lioncash 832c130ed1 dyncom: Fix decoding of BKPT's immediate
A shift here is intended since the representation is imm12:imm4
2015-05-13 14:11:03 -04:00
bunnei 7d21b0663b Merge pull request #756 from purpasmart96/ptm_service_changes
PTM: Changed the ptm services  to be like the IR, HID, and APT services.
2015-05-12 23:10:54 -04:00
bunnei cb2b2071a8 Merge pull request #748 from Subv/tls_max
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 23:32:28 -04:00
bunnei ee8da4c356 Merge pull request #751 from yuriks/idle-thread
Thread: Remove the idle thread
2015-05-11 23:22:47 -04:00
bunnei 6e26d063a5 Merge pull request #757 from Subv/scheduling
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 22:54:00 -04:00
bunnei 6223496a49 Merge pull request #752 from lioncash/flush
vfp: Handle flush-to-zero mode.
2015-05-11 21:43:33 -04:00
bunnei d22bc68175 Merge pull request #755 from lioncash/mcrr-mrrc
dyncom: Stub MCRR and MRRC
2015-05-11 21:42:45 -04:00
Yuri Kunde Schlesner 4f7a055081 Thread: Remove the idle thread
Instead just use nullptr to represent no thread is active.
2015-05-11 22:39:39 -03:00
Subv dda94e56dd Core/Memory: Add TLS support for creating up to 300 threads 2015-05-11 20:09:23 -05:00
Yuri Kunde Schlesner 820b97787c Merge pull request #750 from Subv/process_svc
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 17:44:26 -07:00
Subv dbc1320923 Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called 2015-05-11 19:38:10 -05:00
purpasmart96 53130fffd9 PTM: Changed the way the ptm services are handled to be like the
IR, HID, and APT services.
2015-05-11 17:11:26 -07:00
Subv 25c010dc7d fixup! 2015-05-11 18:23:45 -05:00
Lioncash dc7ac751f2 dyncom: Stub MCRR and MRRC
There's no other coprocessor outside the VFP (which has its own VMOV variants) in which the MPCore can send/retrieve data from.
Stubbed so citra won't crash and burn on the odd chance someone actually tries to use these.
2015-05-11 18:31:45 -04:00
purpasmart96 046044618d NWM_UDS: Fix a typo in the nwm service port name 2015-05-11 15:18:54 -07:00
Lioncash ffc51161f3 vfp: Handle flush-to-zero mode. 2015-05-11 15:56:02 -04:00
Subv 41f74a16fd Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread 2015-05-11 09:15:10 -05:00
Yuri Kunde Schlesner d16c2bd956 Thread: Correctly set main thread initial stack position 2015-05-11 05:08:47 -03:00
archshift e98fbadf4a Merge pull request #740 from yuriks/gsp-shmem
Fix crashes due to un-initialized GSP shared memory
2015-05-10 18:07:44 -07:00
Subv 115ad8e16a fixup! Set the TLS address in the scheduler 2015-05-10 18:43:59 -05:00
Subv 000876858d Core/Memory: Give every emulated thread it's own TLS area.
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further.
2015-05-10 18:35:37 -05:00
Yuri Kunde Schlesner fd85367621 fixup! GSP: Small tweaks to shared memory initialization 2015-05-10 20:09:41 -03:00
Yuri Kunde Schlesner 1538a34eda GSP: Small tweaks to shared memory initialization 2015-05-10 20:05:30 -03:00
Yuri Kunde Schlesner 774eea8374 Kernel: Zero-fill shared memory blocks when mapping
This works around crashes related to GSP/HID/etc. shared memory blocks
having garbage values. The proper fix requires proper management of
mapped memory blocks in the process.
2015-05-10 20:05:29 -03:00
Yuri Kunde Schlesner c96f22490a Kernel: Capture SharedMemory attributes at creation, not when mapping 2015-05-10 19:47:07 -03:00
Yuri Kunde Schlesner b700b55696 Common: Remove the BIT macro
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
2015-05-09 18:16:46 -03:00
Tony Wasserka e35e72d0a5 Merge pull request #734 from yuriks/memmap
Small memory map definitions cleanup
2015-05-09 15:57:29 +02:00
Yuri Kunde Schlesner 417c867e14 Loader: Add missing include 2015-05-09 05:05:59 -03:00
Yuri Kunde Schlesner 17a8cae003 Memory: Add GetPhysicalPointer helper function 2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner 28a9e4c1d5 Memory: Support more regions in the VAddr-PAddr translation functions
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Yuri Kunde Schlesner e7b6ed7578 Memory: Sort memory region variables by VAddr 2015-05-09 01:31:00 -03:00
Yuri Kunde Schlesner 1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner eb3eb9f75d Loader: Remove .bin file support
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
2015-05-08 23:09:41 -03:00
Yuri Kunde Schlesner 7c50b999fa Kernel: Remove unused g_main_thread variable 2015-05-08 22:12:12 -03:00
Yuri Kunde Schlesner 3cb19c9589 Process: Rename StaticAddressMapping => AddressMapping 2015-05-08 22:12:10 -03:00
Yuri Kunde Schlesner 83ccf85bb2 Process: Add more documentation to the class members 2015-05-08 22:11:49 -03:00
Yuri Kunde Schlesner 2f5904611d Process: Use BitField to store process flags 2015-05-08 22:11:48 -03:00
Yuri Kunde Schlesner 7eb413155f Loader/NCCH: Fix formatting of braces 2015-05-08 22:11:48 -03:00
Yuri Kunde Schlesner 2af30d465f Process: Support parsing of exheader kernel caps 2015-05-08 22:11:44 -03:00
Yuri Kunde Schlesner a5eba2f984 Kernel: Remove g_program_id
This has been obsoleted by the field in Process.
2015-05-08 22:11:03 -03:00
Yuri Kunde Schlesner 6d60acf0f1 Kernel: Introduce skeleton Process class to hold process data 2015-05-08 22:11:02 -03:00
Yuri Kunde Schlesner 0f39cc359b Core: Fix sorting in CMakeFiles.txt 2015-05-08 03:03:04 -03:00
Lioncash 1622068198 Merge pull request #728 from lioncash/vars
dyncom: Remove an unnecessary variable in the interpreter
2015-05-07 21:09:03 -04:00
Lioncash ae0c38a333 Remove unnecessary dyncom header files 2015-05-07 20:45:28 -04:00
Lioncash 31dc8b8890 dyncom: Remove an unnecessary variable in the interpreter
All this was doing was needlessly aliasing a variable.
2015-05-07 19:34:04 -04:00
Yuri Kunde Schlesner 3396f352cb Common: Remove mem_arena.cpp/h
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
2015-05-07 19:01:09 -03:00
Yuri Kunde Schlesner c956e8a686 Fix printf format warning 2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner c0eaa662d4 Clean-up includes 2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner b89f644cfe FileSys: De-inline Path members 2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner 6f89d25f90 FileSys: Clean-up includes, de-inline destructors 2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner c916bcf7b5 Move typedefs from kernel.h to more appropriate places 2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner ecff2351a1 HLE: Clean up SVC dispatch mechanism 2015-05-06 00:24:39 -03:00
Yuri Kunde Schlesner 0749687b8d Core: Remove some unused functions and types 2015-05-04 00:16:43 -03:00
bunnei 5a855bdb2f CoreTiming: Initialize static variables at bootup. 2015-05-01 18:27:05 -04:00
bunnei d3c2f9a4a4 HLE: Properly initialize and shutdown remaining modules. 2015-05-01 18:27:05 -04:00
bunnei bab5abaf46 Dyncom: Move cream cache to ARMul_State. 2015-05-01 18:27:04 -04:00
bunnei c7dc799e19 Kernel: Properly initialize and shutdown all modules. 2015-05-01 18:27:03 -04:00
bunnei 57aaaf92db HW: Properly initialize and shutdown all modules. 2015-05-01 18:27:02 -04:00
bunnei e0cb85691a Services: Initialize all state variables at bootup. 2015-05-01 18:27:02 -04:00
bunnei bbabed8e98 Memory: Properly cleanup & shutdown. 2015-05-01 18:27:01 -04:00
purpasmart96 8716445621 ConfigMem: Remove duplicate retail bit 2015-04-28 16:22:50 -07:00
bunnei 2cc6511039 Merge pull request #692 from purpasmart96/log_improvements
Services/Loader: Use more sensible log formats for certain functions along with more info being logged.
2015-04-28 10:12:50 -04:00
purpasmart96 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
Lioncash 1baab50e7c ptm_sysm: Add static specifier to IsLegacyPowerOff 2015-04-24 18:23:20 -04:00
Lioncash 8b2b620a5e dyncom: Remove more unused/unnecessary code
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-20 16:30:34 -04:00
Lioncash d66a12c6f6 dyncom: Remove unused/unnecessary VFP cruft 2015-04-17 20:46:05 -04:00
bunnei 3ee9f6c5d8 Merge pull request #696 from yuriks/interface-deinline
De-inline functions from Interface, removing them from service.h
2015-04-14 19:14:27 -04:00
Emmanuel Gil Peyrot 2e860bd59c Core_ARM11: Replace debug prints with our own logging functions in vfpsingle. 2015-04-14 21:34:36 +02:00
Emmanuel Gil Peyrot 0d69b2f7bd Kernel: Use the correct format string for u64 hex. 2015-04-14 21:18:31 +02:00
Emmanuel Gil Peyrot bdcf28e3bc Headers: Add some forgotten overrides, thanks clang! 2015-04-14 21:18:25 +02:00
Yuri Kunde Schlesner ad3e25b414 De-inline functions from Interface, removing them from service.h
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
2015-04-14 15:34:28 -03:00
bunnei db4bd98bac SVC: Assert on unsupported CreateThread processor ID. 2015-04-09 22:55:18 -04:00
bunnei c077bcefa9 SVC: Update various SVCs to cause a reschedule.
- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress
2015-04-09 19:06:42 -04:00
bunnei 9c3419ebcc Kernel: Implemented priority inheritance for mutexes. 2015-04-09 19:06:39 -04:00
bunnei 7b9f428b23 Thread: Implement priority boost for starved threads.
SVC: Return correct error code on invalid CreateThread processor ID.

SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
bunnei ee3377b67d SVC: Reschedule on svcCreateThread. 2015-04-09 19:04:20 -04:00
bunnei bdd190363d APT: (Subv) Fix bug where start event was being incorrectly signaled. 2015-04-09 19:04:19 -04:00
bunnei e08f55b1a7 Kernel: Fixed default thread priority. 2015-04-09 19:04:19 -04:00
Gareth Higgins 25a43cd2ec Initialize base address to 0x0 2015-04-08 20:34:41 -04:00
Tony Wasserka 8af5753da5 Merge pull request #689 from lioncash/format
gpu: Fix a missing format specifier
2015-04-08 15:41:21 +02:00
bunnei 114126b216 Merge pull request #688 from lioncash/unused
dyncom: Remove unnecessary enum and typedef
2015-04-07 23:03:08 -04:00
bunnei e630fd2a95 Merge pull request #676 from purpasmart96/ir_service_refc
IR: Move The IR services to their own folder and implement "GetHandles"
2015-04-07 23:01:07 -04:00
Lioncash 7da90dee42 gpu: Fix a missing format specifier 2015-04-07 10:38:49 -04:00
Lioncash a6c9e453b2 dyncom: Remove unnecessary enum and typedef
Also fixes descriptions in the process.
2015-04-07 08:05:41 -04:00
Lioncash 29a4b6c7ed vfp: Make the FPSID values match the MPCore 2015-04-06 16:09:35 -04:00
Lioncash f9cc6d6484 vfp: Get rid of the VFP_OFFSET macro 2015-04-06 16:09:28 -04:00
bunnei 14dcd98653 Merge pull request #685 from lioncash/cpregs
dyncom: Set the MPCore CP15 register reset values on initialization.
2015-04-06 15:06:07 -04:00
Lioncash 8004d35ea1 core: Migrate 3DS-specific CP15 register setting into Init 2015-04-06 13:01:19 -04:00
Lioncash c3ffe8f9c3 arm_interface: Support retrieval/storage to CP15 registers 2015-04-06 12:57:49 -04:00
Lioncash b7b8b67620 Move CP15 enum definitions into their own enum.
Also gets rid of preprocessor mumbo-jumbo
2015-04-06 12:48:35 -04:00
Lioncash 23dd2ca8a6 dyncom: Properly return the value of the user RO thread register 2015-04-06 09:26:04 -04:00
Lioncash e628ed4810 dyncom: Set CP15 reset values on initialization 2015-04-06 09:16:42 -04:00
Lioncash bb7dac022e dyncom: Suppress uninitialized variable warnings
The switch cases will always be hit, but this makes compilers stop complaining.
2015-04-05 23:49:06 -04:00
Yuri Kunde Schlesner 34b009cf38 Clean-up mem_map constants and fix framebuffer translation errors 2015-04-05 20:14:33 -03:00
bunnei 64196976b9 Merge pull request #680 from archshift/bg-color
Allow the user to set the background clear color during emulation
2015-04-04 15:14:14 -04:00
purpasmart96 d6c9af600f IR: Move The IR services to their own folder and implement "GetHandles" 2015-04-03 19:36:03 -07:00
bunnei 3fd2cc566b Merge pull request #641 from purpasmart96/service_stubs
Services: Stubs and minor changes
2015-04-03 22:16:50 -04:00
archshift cae89fb315 Allow the user to set the background clear color during emulation
The background color can be seen at the sides of the bottom screen or when the window is wider than normal.
2015-04-03 15:35:51 -07:00
purpasmart96 198c0ddc72 Services: Stubs and minor changes 2015-04-02 20:05:11 -07:00
Lioncash 490df716f3 dyncom: Move CP15 register writing into its own function.
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02 00:20:52 -04:00
Lioncash 5e5954c63b dyncom: Move CP15 register reading into its own function.
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-04-02 00:19:11 -04:00
Lioncash de6eba0288 dyncom: Migrate InAPrivilegedMode to armsupp
It's a generic helper function, so it should be here anyway.
2015-03-26 09:22:02 -04:00
bunnei c4767f3bb2 Merge pull request #672 from purpasmart96/citra_moar_app_mem
ConfigMem: Set the app memory to be 96MB instead of the default 64MB
2015-03-24 23:22:56 -04:00
bunnei b3d4a10e29 Merge pull request #674 from lioncash/sys-instrs
dyncom: Implement RFE and SRS.
2015-03-24 23:21:44 -04:00
Lioncash a80d93685a dyncom: Implement SRS 2015-03-24 12:44:31 -04:00
Lioncash cde671795c dyncom: Implement RFE 2015-03-24 11:34:48 -04:00
Lioncash 2df10d2284 dyncom: Remove unused/unnecessary macros and macro constants 2015-03-24 09:55:56 -04:00
purpasmart96 e0c72ec871 ConfigMem: Set the app memory to be 96MB instead of the default 64MB 2015-03-23 18:53:22 -07:00
bunnei 03ceb7adf9 Merge pull request #656 from Subv/nz
Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and Del...
2015-03-22 14:58:38 -04:00
Lioncash f23f2a9a42 armmmu: Remove unnecessary enum values
We don't need to care about XScale or Intel specific ARM stuff.
2015-03-20 19:35:32 -04:00
bunnei 1981aa3d7e Merge pull request #659 from lioncash/setend
Implement SETEND.
2015-03-19 21:37:43 -04:00
Subv b9612fe919 Service/FS: Document and log some unknown values.
In CreateExtSaveData, DeleteExtSaveData and CreateSystemSaveData
2015-03-19 17:39:00 -05:00
bunnei 580b317821 Merge pull request #650 from Subv/scaling
GPU: Fixed the bit 25 in the display transfer flags.
2015-03-17 19:13:06 -04:00
Lioncash 9fdb311d6e dyncom: Make Load/Store instructions support big endian 2015-03-17 15:13:32 -04:00
bunnei 0bb4b77b78 Merge pull request #655 from purpasmart96/hid_fixes
HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along  with a stub for GetSoundVolume
2015-03-17 10:19:59 -04:00
purpasmart96 5b1757d6a5 HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along
with a stub for GetSoundVolume
2015-03-16 18:55:58 -07:00
bunnei ef0c4aac86 Merge pull request #660 from purpasmart96/ncch_updates
NCCH: Minor updates to the ncch header
2015-03-16 21:21:54 -04:00
Subv 23b401c3ac GPU/DisplayTransfer: Made the scaling bits a single 2bit value
Rephrased some comments.
2015-03-16 17:54:06 -05:00
Lioncash 8cf81643a9 arm_interface: Get rid of GetTicks.
Removes a TODO.
2015-03-16 12:18:37 -04:00
purpasmart96 061c69a6bb NCCH: Minor updates to the ncch header 2015-03-15 14:17:19 -07:00
Lioncash f280806214 dyncom: Implement SETEND 2015-03-14 23:08:36 -04:00
Subv fb8f47060b GPU: Implemented the flip_data (bit 0) bit in display transfers. 2015-03-14 15:26:42 -05:00
Subv 1d61cd4460 Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveData
Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
2015-03-14 12:00:01 -05:00
bunnei ed5b275d21 Merge pull request #642 from bunnei/touchpad
Touchpad support
2015-03-11 21:28:57 -04:00
bunnei 4bbddda377 hid_user: Removed unnecessary includes. 2015-03-11 00:01:03 -04:00
bunnei e79c27f1e0 HID: Removed unnecessary global variables. 2015-03-11 00:00:39 -04:00
bunnei 85cbccb1d3 HID: Added additional variable comments and some code cleanups. 2015-03-10 23:58:13 -04:00
bunnei d61b26b79f HID: Complete refactor of pad/touch input to fix threading issues. 2015-03-10 23:58:07 -04:00
bunnei b56829df02 Merge pull request #629 from archshift/lcdfb
Implement SetLcdForceBlack and add implementation for color filling in the GPU code
2015-03-10 18:08:55 -04:00
bunnei a1a1a5c6c5 HID: Cleanup how next_touch_index is calculated for Pad and touch. 2015-03-10 18:05:19 -04:00
bunnei 432aa1044c HID: Changed TouchDataEntry valid to a BitField and added some doc strings. 2015-03-10 18:05:19 -04:00
bunnei e9b9f1842b HID: Added static asserts to check register position in shared memory. 2015-03-10 18:05:19 -04:00
bunnei 1a904ded40 HID: Added functions to emulate the touchpad. 2015-03-10 18:05:17 -04:00
bunnei 3229b048d9 HID: Moved some docstrings to the header. 2015-03-10 18:05:17 -04:00
bunnei 83a66dd701 HID: Refactored shared memory decoding for touchpad support. 2015-03-10 18:05:16 -04:00
Subv ae0dfcae1d GPU: Fixed the bit 25 in the display transfer flags.
It is used to downscale the input image horizontally and vertically, previously we were only downscaling it vertically so this caused a hard-to-debug memory corruption problem.
2015-03-10 14:18:25 -05:00
Lioncash e34ba68e1f dyncom: Minor cleanup
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
2015-03-10 08:13:58 -04:00
archshift 041e99b613 Added LCD registers, and implementation for color filling in OGL code. 2015-03-09 15:51:41 -07:00
Tony Wasserka 511bf30a69 Merge pull request #648 from Subv/fill_bit
GPU: Use the correct position for the finished bit in memory fills
2015-03-09 23:17:11 +01:00
Subv 0abba5874c GPU: Use the correct position for the finished bit in memory fills 2015-03-09 17:15:13 -05:00
Tony Wasserka e3a697b9f9 Merge pull request #646 from Subv/24bit_fills
GPU: Corrected the 24 bit memory fills component order
2015-03-09 23:12:30 +01:00
bunnei 8a1cc5b805 Merge pull request #589 from kevinhartman/config-errors
Fix errorcodes for bad config block request
2015-03-09 15:44:34 -04:00
Subv a762f9c176 GPU: Corrected the 24 bit memory fills component order 2015-03-09 09:01:41 -05:00
Lioncash 386dbab5ea dyncom: Fix an indexing bug in STM
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
2015-03-08 22:03:11 -04:00
Lioncash 36dab56c31 dyncom: General cleanup of STM 2015-03-08 22:03:06 -04:00
Lioncash e37425b380 dyncom: Increment addr when accessing LR in LDM 2015-03-08 21:46:57 -04:00
Tony Wasserka 93e32bce72 Merge pull request #538 from yuriks/perf-stat
Add profiling infrastructure and widget
2015-03-07 15:30:40 +01:00
archshift 47010fea31 Implement SetLcdForceBlack, move register enum to hw.h 2015-03-05 19:38:23 -08:00
bunnei 8e4e28aacb Merge pull request #615 from Subv/services
Services: Moved the PTM and APT services to their own folder
2015-03-04 21:27:24 -05:00
Subv 83a8975cb8 Services: Moved the PTM and APT services to their own folder
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.

Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-03-03 21:48:08 -05:00
bunnei 8fc8c51118 Merge pull request #625 from lioncash/warn
vfp: Get rid of warnings
2015-03-03 19:15:32 -05:00
Lioncash 4b89cf9e43 vfp: Get rid of warnings 2015-03-03 19:13:01 -05:00
bunnei 34c31db14a GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
Yuri Kunde Schlesner 44f46254dc Merge pull request #622 from Subv/titles
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
2015-03-02 10:26:56 -03:00
Subv 9a72fb79fc Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
They will always return 0 titles for every media type for now.
This is needed to boot Home Menu further
2015-03-02 08:12:04 -05:00
bunnei d175f2b7f3 Merge pull request #623 from Subv/card
Services/FS: Stubbed CardSlotIsInserted to always return false
2015-03-01 22:49:29 -05:00
bunnei 9a47eb117c Merge pull request #618 from lioncash/ref
result: Make comparison operators take references
2015-03-01 22:27:28 -05:00
bunnei 5d0e557689 Merge pull request #621 from Subv/power
Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
2015-03-01 22:21:08 -05:00
Yuri Kunde Schlesner cd1fbfcf1b Add profiling infrastructure and widget 2015-03-01 21:47:13 -03:00
Subv db1a5d4222 Services/FS: Stubbed CardSlotIsInserted to always return false
We won't be emulating this for the foreseeable future and it is needed for Home Menu to boot further
2015-02-28 23:00:46 -05:00
Subv c36778e602 Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
This allows the Home Menu to boot further
2015-02-28 19:51:13 -05:00
archshift c1d29ac202 Merge pull request #616 from archshift/5551
Added RGBA5551 compatibility in the rasterizer
2015-02-28 13:52:47 -08:00
bunnei d362eb2669 Merge pull request #620 from lioncash/bkpt
arm_disasm: Show conditional code for BKPT instructions.
2015-02-27 22:53:33 -05:00
archshift 7f9ee69a2b Added RGBA5551 compatibility in the rasterizer
This allows Virtual Console games to display properly.
2015-02-27 19:15:08 -08:00
Lioncash 9ed3488925 arm_disasm: Show conditional code for BKPT instructions.
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
2015-02-27 21:59:30 -05:00
Lioncash 1a70782cda arm_disasm: Remove unused variable
Also declared an array as static, as it's only used in this translation unit.
2015-02-27 21:31:36 -05:00
Lioncash 99ff8bbb0c result: Make comparison operators take references
It's unnecessary to make copies for simple comparisons like this.
2015-02-27 21:16:21 -05:00
bunnei c9ef377afa Merge pull request #599 from Subv/morton
GPU: Implemented bits 3 and 1 from the display transfer flags.
2015-02-26 22:40:27 -05:00
Subv c564c21668 GPU: Implemented bits 3 and 1 from the display transfer flags.
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA.
Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-26 21:17:14 -05:00
Lioncash 8812d2fbdb arm: The CP15 Main ID register is not writeable 2015-02-26 09:28:31 -05:00
Yuri Kunde Schlesner 1b5ee96797 Merge pull request #604 from Subv/arc_ssd
Archives: Properly implemented the SystemSaveData archive.
2015-02-25 22:35:55 -03:00
Subv 9db5c9b6dc Archives: Properly implemented the SystemSaveData archive.
Ported to the new factory pattern we have for archives.
2015-02-25 19:37:10 -05:00
Lioncash 1bb400be1b arm: Remove unnecessary booleans
We don't care about any of these.
2015-02-25 10:55:50 -05:00
Subv ef66feaeba Services: Implemented Y2R_U::GetTransferEndEvent
Aero Porter was throwing an "Invalid Handle" fatal error without this.
2015-02-24 08:28:36 -05:00
bunnei 3700263f71 Merge pull request #595 from linkmauve/new-3ds-input
Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
2015-02-23 21:13:29 -05:00
bunnei 50a0c4f14f Merge pull request #581 from archshift/tfe
Added information reporting from ThrowFatalError
2015-02-23 01:23:15 -05:00
Subv b1284222f2 GPU: Fixed RGBA8 as output format in a display transfer.
Verified with hwtests
2015-02-22 15:22:14 -05:00
archshift 0420a4d1de Added information reporting from ThrowFatalError
This was RE'd from the errdisp applet.
2015-02-22 12:19:30 -08:00
Emmanuel Gil Peyrot aa64f69af0 Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one. 2015-02-22 21:09:08 +01:00
bunnei 89a71eb6a4 Merge pull request #471 from archshift/pp3ports3
GPU: Add support for more framebuffer formats in display transfers.
2015-02-22 14:54:56 -05:00
Tony Wasserka 23c6764b2b GPU: Add support for more framebuffer formats in display transfers. 2015-02-22 11:48:02 -08:00
bunnei dfe807b2cd Merge pull request #596 from kevinhartman/unaligned-cleanup
Clean up unaligned 32-bit memory reads
2015-02-22 12:48:28 -05:00
bunnei d120757f32 Merge pull request #594 from Subv/display_transfer
GPU: Fixed the RGBA8 input format and RGB8 output format
2015-02-22 12:44:57 -05:00
Kevin Hartman 05c098a9e7 Cleaned up unaligned access. 2015-02-21 17:25:31 -08:00
Subv fbbfb52a2c GPU: Fixed the RGBA8 input format and RGB8 output format
in Display Transfers, tested with hwtests.
2015-02-21 18:43:53 -05:00
Kevin Hartman a6fdb8f217 Fix error message for bad config block request. 2015-02-20 21:47:58 -08:00
bunnei 5f9939070e Merge pull request #588 from archshift/somebranch
Sweeping cleanup of Common
2015-02-20 11:41:30 -05:00
archshift 4fb75d220a Misc cleanup of common and related functions 2015-02-19 22:26:25 -08:00
archshift 302f0b32f5 Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h 2015-02-19 22:26:25 -08:00
archshift 5efd149ad5 Remove the useless msg_handler compilation unit that was left over from Dolphin 2015-02-18 22:26:22 -08:00
archshift 3c48697ea3 Convert a few C stdlib asserts to Citra's own asserts 2015-02-18 21:52:36 -08:00
bunnei ec8f2210e3 Merge pull request #580 from lioncash/emplace
core/video_core: Use in-place construction where possible
2015-02-18 17:36:34 -05:00
Tony Wasserka 0da6a7e234 GPU: Properly implement memory fills. 2015-02-18 14:02:58 +01:00
bunnei 745b42d236 Merge pull request #570 from purpasmart96/config_mem
ConfigMem: Clean up the Config memory to be more like the shared page
2015-02-18 00:12:37 -05:00
bunnei 8e731b129d Merge pull request #582 from lioncash/warnings
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 23:57:54 -05:00
bunnei 60f9cd6a4a Merge pull request #579 from lioncash/bkpt
dyncom: Support conditional BKPT instructions
2015-02-17 23:54:01 -05:00
Lioncash 4f910bb1a1 vfpinstr: Fix trivial signed/unsigned mismatch warnings 2015-02-17 18:53:50 -05:00
Lioncash 5d2366e1e9 core/video_core: Use in-place construction where possible 2015-02-17 17:57:23 -05:00
Lioncash a7120662e6 dyncom: Support conditional BKPT instructions 2015-02-17 01:37:22 -05:00
purpasmart96 c3c309f33d ConfigMem: Clean up the Config memory to be more like the shared page and moved
the helper macro for padding to common_funcs.h
2015-02-16 15:12:05 -08:00
Subv cb3d254517 Services: Fixed "Tried to connect to named port err:f".
err:f is a named port, not a service
2015-02-16 15:24:15 -05:00
bunnei 2b2b343ce0 Merge pull request #574 from lioncash/warn
vfpdouble: Use %p for printing pointer addresses.
2015-02-16 09:45:43 -05:00
Lioncash 012d1e32ad dyncom: Actually set the destination register for USAD8/USADA8.
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-16 01:03:01 -05:00
Lioncash f0c4bd629c vfpdouble: Use %p for printing pointer addresses. 2015-02-15 17:11:02 -05:00
bunnei 20dc07721c Merge pull request #539 from linkmauve/framebuffer-formats
Framebuffer formats
2015-02-15 10:00:48 -05:00
Emmanuel Gil Peyrot c439b3074d video_core: Implement the remaining framebuffer formats in the OpenGL renderer. 2015-02-15 14:08:12 +00:00
Lioncash 473afa4530 arm: Set the A bit on reset.
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
2015-02-15 00:35:50 -05:00
bunnei 12181c8a64 Merge pull request #529 from Subv/master
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
Lioncash 0c6434c379 core: Apply static to local functions 2015-02-13 10:48:32 -05:00
Lioncash a75e1ff6e6 arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 2015-02-12 21:54:28 -05:00
Lioncash c3211c9c80 dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12 21:50:51 -05:00
Lioncash df9e0c0f81 dyncom: Remove warning for SXTAH
This is tested to work correctly.
2015-02-12 20:11:20 -05:00
Lioncash e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 -05:00
Subv 8e2b248e05 Build: Fixed some warnings 2015-02-12 09:25:35 -05:00
Lioncash f48b0100a6 armdefs: Remove unnecessary extern C 2015-02-12 08:29:57 -05:00
Kevin Hartman a56f3f290e Implemented WriteHWRegsWithMask for GSP. 2015-02-11 11:03:17 -08:00
Lioncash 49a22acd02 arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 -05:00
bunnei c51b23b052 Merge pull request #559 from lioncash/clean
arm: Some cleanup. Also fixed the initial ARM mode that is emulated.
2015-02-11 12:02:35 -05:00
Lioncash c94c41f95a arm: Get rid of some magic constants. Specify proper ARM mode.
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11 10:49:55 -05:00
Lioncash 93cd199633 arm: Change some more constants into enums 2015-02-11 10:14:20 -05:00
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei 168eb27aee GSP: Fixed typo in SignalInterrupt 2015-02-10 19:57:48 -05:00
bunnei 76e7d41f88 Merge pull request #552 from bunnei/setbufferswap-fix
GSP SetBufferSwap fix
2015-02-10 19:21:48 -05:00
bunnei 9eae2400c0 GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. 2015-02-10 19:05:56 -05:00
bunnei ca22ee3239 Merge pull request #526 from purpasmart96/citra_stubs
Services: Stub some functions
2015-02-10 18:39:37 -05:00
bunnei 5b735bdeea Merge pull request #556 from lioncash/clean
arm: Remove TRUE/FALSE defines
2015-02-10 18:28:30 -05:00
bunnei 8f35772bd7 Merge pull request #555 from lioncash/lut
arm_dyncom_thumb: Make lookup tables static
2015-02-10 18:27:47 -05:00
Lioncash 088fab743f arm: Remove TRUE/FALSE defines
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
2015-02-10 13:09:41 -05:00
Subv 0d2b6dd656 PTM: Fixed a problem with the gamecoin PTM file. 2015-02-10 13:43:46 -02:00
Subv 1bbf0567b1 Archives: Made the Format function more generic. 2015-02-10 13:43:46 -02:00
Subv 071663e074 Archives: Expose the File and Directory classes to HLE 2015-02-10 13:43:45 -02:00
Subv ca1a87ef7d ResultVal: Fixed compilation when reassigning a ResultVal. 2015-02-10 13:43:44 -02:00
Yuri Kunde Schlesner 3f1a3952d7 FS: Allow multiple instances of the same archive type to be open at once 2015-02-10 13:43:44 -02:00
Yuri Kunde Schlesner 4468625080 FS: Get rid of completely useless Archive class 2015-02-10 13:43:43 -02:00
Lioncash 8d2fb3bb2b arm_dyncom_thumb: Make lookup tables static
These don't need to be recreated all the time.
2015-02-10 10:42:09 -05:00
bunnei 67db6aa4ce Merge pull request #553 from lioncash/denorm
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 10:09:45 -05:00
Lioncash 3eccc66abf dyncom: Add more regs to MCR/MRC
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 -05:00
Lioncash a86d5e2752 vfp: Normalize accumulator for multiply accumulate instructions 2015-02-10 08:16:26 -05:00