Yuri Kunde Schlesner
74d4bc0af1
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
c39b52f974
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
69c3021a8d
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
e2c7954be5
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
a12a30c9e0
Process: Store kernel compatibility version during loading
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
cdeeecf080
Kernel: Properly implement ControlMemory FREE and COMMIT
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
306408d174
VMManager: Introduce names for used ResultCodes
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
b9a9ad9742
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
785407d06f
VMManager: Change block offsets to size_t
2015-08-16 01:03:43 -03:00
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
2015-07-29 12:34:18 -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
bunnei
4ccc171db4
Merge pull request #899 from zawata/Winsock-Deprecation
...
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -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
James Rowe
1bc7829ee9
Move input values into an array
2015-07-27 21:41:21 -06:00
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
2015-07-25 22:10:44 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
purpasmart96
7933dbe6a0
Services: Continue separation of services into their own folders
2015-06-11 20:41:59 -07: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
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
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
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
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
ebca3a4902
y2r_u: Remove unused variable in StartConversion
2015-05-23 00:46: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
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
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
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
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
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
Lioncash
150e700729
process: Get rid of warnings
...
Sign mismatches and "forcing value to bool" warnings.
2015-05-14 12:59:14 -04:00
Lioncash
207087c856
thread: Fix a conditional check in Reschedule
2015-05-14 11:10:04 -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
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
purpasmart96
046044618d
NWM_UDS: Fix a typo in the nwm service port name
2015-05-11 15:18:54 -07: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
Yuri Kunde Schlesner
1c0b87edc2
Memory: Re-organize and rename memory area address constants
2015-05-09 01:29:52 -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
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
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
bunnei
d3c2f9a4a4
HLE: Properly initialize and shutdown remaining modules.
2015-05-01 18:27:05 -04:00
bunnei
c7dc799e19
Kernel: Properly initialize and shutdown all modules.
2015-05-01 18:27:03 -04:00
bunnei
e0cb85691a
Services: Initialize all state variables at bootup.
2015-05-01 18:27:02 -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
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
0d69b2f7bd
Kernel: Use the correct format string for u64 hex.
2015-04-14 21:18:31 +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
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
Yuri Kunde Schlesner
34b009cf38
Clean-up mem_map constants and fix framebuffer translation errors
2015-04-05 20:14:33 -03: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
purpasmart96
198c0ddc72
Services: Stubs and minor changes
2015-04-02 20:05:11 -07: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
Subv
b9612fe919
Service/FS: Document and log some unknown values.
...
In CreateExtSaveData, DeleteExtSaveData and CreateSystemSaveData
2015-03-19 17:39:00 -05: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
Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
...
Removes a TODO.
2015-03-16 12:18:37 -04: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
archshift
041e99b613
Added LCD registers, and implementation for color filling in OGL code.
2015-03-09 15:51:41 -07: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
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
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
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
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
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
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
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
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
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
3c48697ea3
Convert a few C stdlib asserts to Citra's own asserts
2015-02-18 21:52:36 -08: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
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
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
Subv
8e2b248e05
Build: Fixed some warnings
2015-02-12 09:25:35 -05:00
Kevin Hartman
a56f3f290e
Implemented WriteHWRegsWithMask for GSP.
2015-02-11 11:03:17 -08: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
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
Kevin Hartman
5fcbfc06eb
Scheduler refactor Pt. 1
...
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.
Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09 21:47:12 -08:00
bunnei
1b0bf00cbc
Mutex: Locks should be recursive.
2015-02-09 22:06:09 -05:00
bunnei
caa58acc84
WaitSynch: Always reschedule (verified behavior on hw).
2015-02-09 22:05:39 -05:00
purpasmart96
60ce36f721
Services: Stub some functions
2015-02-07 17:34:59 -08:00
Lioncash
676daef3c7
core: Fix some warnings on OSX
2015-02-03 08:14:42 -05:00
Yuri Kunde Schlesner
88a4a808c6
Kernel: Stop creating useless Handles during object creation
...
They're finally unnecessary, and will stop cluttering the application's
handle table.
2015-02-02 15:37:09 -02:00
Yuri Kunde Schlesner
52f58e64ef
Kernel: Make WaitObjects share ownership of Threads waiting on them
...
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.
If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.
The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
Yuri Kunde Schlesner
7725256f64
Explicitly instantiate constructors/destructors for Kernel objects
...
This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.)
2015-02-02 15:37:07 -02:00
Yuri Kunde Schlesner
4e84df8be3
Mutex: Replace g_mutex_held_locks with a set inside Thread
2015-02-02 15:37:06 -02:00
Yuri Kunde Schlesner
0f69668fc6
HID: Fix crash when pressing a key when the emulator is stopped
2015-02-02 15:37:05 -02:00
Yuri Kunde Schlesner
c4208c1171
SVC: Enable CloseHandle, clean up DuplicateHandle
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
e8330dd162
Kernel: Fix bug in HandleTable::Close
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
5354a479bc
Kernel: Remove Object::GetHandle (it's not used anymore :D)
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
869ec46683
Kernel: Introduce unique Object ids for debugging
2015-02-02 15:37:03 -02:00
Yuri Kunde Schlesner
a9b86db3cf
Kernel: Use separate Handle tables for CoreTiming userdata
...
This is to support the removal of GetHandle soon
2015-02-02 15:37:03 -02:00
Yuri Kunde Schlesner
ec9c773251
Kernel: Remove previous scheduled event when a Timer is re-Set
2015-02-02 15:37:02 -02:00
Yuri Kunde Schlesner
8441591659
FS: Remove use of GetHandle
2015-02-02 15:37:01 -02:00
Yuri Kunde Schlesner
664c79ff47
Thread: Modernize two functions that slipped through previous rebases
2015-02-02 15:37:01 -02:00
Yuri Kunde Schlesner
6e11570862
Service: Store function names as const char* instead of std::string
...
Uses less memory (strings and function table is stored in constant data)
and speeds up start up (no need to allocate and copy strings).
2015-02-02 15:37:00 -02:00
Yuri Kunde Schlesner
a79d21c83e
Service: Clean-up Interface
2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
8779b31fe6
Make Port/Service registration and querying more HW-accurate
2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
5e91fc0d1a
Filesys: Move creation of Handles for File/Directory to service handlers
2015-02-02 15:36:58 -02:00
Lioncash
3f00dd9117
arm: Clean up ARMul_State
...
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
Tony Wasserka
73a7a379d6
Merge pull request #512 from lioncash/assignment
...
shared_memory: Fix assignments in SharedMemory::Map
2015-01-31 12:59:00 +01:00
Lioncash
96c174aed4
shared_memory: Fix assignments in SharedMemory::Map
2015-01-30 11:37:53 -05:00
Lioncash
551264f815
archive: Fix initializer list order for the File class.
2015-01-30 11:30:22 -05:00
Lioncash
0c53cc52bd
apt_u: Fix missing printf specifiers
2015-01-30 11:28:09 -05:00
Yuri Kunde Schlesner
d917a9bf77
Kernel: Mark all appropriate kernel objects as "final"
2015-01-30 11:49:46 -02:00
Yuri Kunde Schlesner
58b544db99
SVC: Use CASCADE_RESULT in SVC handlers
2015-01-30 11:49:46 -02:00
Yuri Kunde Schlesner
09ae6e1fa3
Remove result.h InvalidHandle
...
It was only being used in two places, where it was replaced by a local
constant.
2015-01-30 11:49:45 -02:00
Yuri Kunde Schlesner
44f90340dc
SVC: Change return type of handlers to ResultCode
2015-01-30 11:49:44 -02:00
Yuri Kunde Schlesner
d52d859936
Kernel: Convert Event to not use Handles
2015-01-30 11:49:43 -02:00
Yuri Kunde Schlesner
ad80ff1e32
Kernel: Convert Timer to (mostly) not use Handles
2015-01-30 11:47:07 -02:00
Yuri Kunde Schlesner
882b6fed75
Kernel: Convert Mutex to not use Handles
2015-01-30 11:47:06 -02:00
Yuri Kunde Schlesner
38e7122f23
Kernel: Convert AddressArbiter to not use Handles
2015-01-30 11:47:06 -02:00
Yuri Kunde Schlesner
d9b19be1d9
Kernel: Convert Semaphore to not use Handles
2015-01-30 11:47:05 -02:00
Yuri Kunde Schlesner
4bb33dfc30
Kernel: Convert SharedMemory to not use Handles
2015-01-30 11:47:04 -02:00
Yuri Kunde Schlesner
afc416c607
Additions to ResultVal to make it more convenient to use.
2015-01-30 11:47:02 -02:00
Yuri Kunde Schlesner
b5ee4f9df9
Move VAddr/PAddr typedefs to kernel.h
2015-01-30 11:47:01 -02:00
Yuri Kunde Schlesner
9a345de2bd
Kernel: Remove useless/duplicated comments; mark functions static
2015-01-30 11:47:01 -02:00
bunnei
206cabc0e4
Merge pull request #412 from purpasmart96/svc_table_cleanup
...
SVC: Update the SVC function table
2015-01-28 17:36:23 -05:00
purpasmart96
62f4365db1
SVC: Update the SVC function table
2015-01-26 20:42:28 -08:00
bunnei
326c451758
Merge pull request #345 from purpasmart96/apt_stubs
...
APT_U: Stub some functions & misc changes
2015-01-26 23:13:54 -05:00
bunnei
e7dd4d34aa
Merge pull request #485 from Subv/more_servs
...
Services: Stubbed more services.
2015-01-25 22:13:13 -05:00
Subv
2ea60bdc7f
Services/HID: Removed some files due to a rebase error
2015-01-24 15:54:24 -05:00
Subv
c2e9990149
Services: Stubbed more services.
...
Implemented FSUser::CreateExtSaveData
2015-01-24 15:44:40 -05:00
purpasmart96
2dd23b6467
APT_U: Stub some functions & misc changes
2015-01-22 16:03:48 -08:00
archshift
92a75df9b1
cam_u.h: fix indentation
...
Withholding my profanity towards Xcode.
2015-01-22 12:51:53 -08:00
bunnei
92550013cf
Merge pull request #493 from archshift/ptmplay
...
Stubbed some services
2015-01-22 13:25:19 -05:00
bunnei
731154f79e
WaitSynchronization: Added a result code for invalid result, fixed bug.
2015-01-21 20:49:43 -05:00
bunnei
68ddaaa2f5
Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.
2015-01-21 20:48:46 -05:00
bunnei
4255f25647
Thread: Use std::find in CheckWait_WaitObject.
2015-01-21 20:48:46 -05:00
bunnei
2f3020a102
Mutex: Cleanup and remove redundant code.
2015-01-21 20:48:36 -05:00
bunnei
f09806aed2
Kernel: Renamed some functions for clarity.
...
- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
2015-01-21 20:48:30 -05:00
bunnei
15b6a4d9ad
Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.
2015-01-21 20:47:49 -05:00
bunnei
c68eb15695
WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.
2015-01-21 20:47:49 -05:00
bunnei
69c5830ef2
Event: Fix implementation of "non-sticky" events.
2015-01-21 20:47:48 -05:00
bunnei
9e6ec3b6cd
Session: Change to a WaitObject.
2015-01-21 20:47:47 -05:00
bunnei
d2759c578e
Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.
2015-01-21 20:47:47 -05:00
bunnei
dde02f79af
Mutex: Fix a bug where the thread should not wait if it already has the mutex.
2015-01-21 20:47:46 -05:00
bunnei
9412996c8f
Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.
2015-01-21 20:47:46 -05:00
bunnei
c06d64528a
SVC: Removed a Sleep that made no sense
...
- Would deadlock the calling thread
- Code would never get hit anyways
2015-01-21 20:47:45 -05:00
bunnei
254e4ebd58
AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.
2015-01-21 20:47:45 -05:00
bunnei
e5a9f1c644
Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.
2015-01-21 20:47:38 -05:00
bunnei
6deb1a0119
WaitSynchronizationN: Improved comments
2015-01-21 19:12:51 -05:00
bunnei
6643673f28
WaitSynchronizationN: Refactor to fix several bugs
...
- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles
2015-01-21 19:11:47 -05:00
bunnei
aa01c57ae9
Kernel: Separate WaitSynchronization into Wait and Acquire methods.
2015-01-21 19:10:24 -05:00
bunnei
627e96fc15
WaitSynchronizationN: Handle case where handles=nullptr.
2015-01-21 19:09:10 -05:00
bunnei
f5c6d367c9
WaitSynchronizationN: Handle case where handle_count is invalid.
2015-01-21 19:09:09 -05:00
bunnei
064be2b86f
WaitSynchronizationN: Handle case where handle_count=0.
2015-01-21 19:09:09 -05:00
bunnei
7faf2d8e06
WaitSynchronizationN: Implement return values
2015-01-21 19:09:03 -05:00
bunnei
e4a5d8ad4f
Event: Fixed some bugs and cleanup (Subv)
2015-01-21 18:43:50 -05:00
bunnei
1f7a04f05a
Thread: Keep track of multiple wait objects.
2015-01-21 18:42:04 -05:00
bunnei
14cbbf4d9b
Event: Get rid of permanent_lock hack.
2015-01-21 18:42:04 -05:00
bunnei
5e77e2e1de
WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.
2015-01-21 18:41:58 -05:00
bunnei
c22bac6398
Kernel: Added WaitObject and changed "waitable" objects inherit from it.
2015-01-21 18:41:00 -05:00
archshift
1f109c6b49
Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx
2015-01-21 13:31:10 -08:00
archshift
a68dda6328
Stubbed cam:u service
2015-01-21 12:50:18 -08:00
archshift
7516ceaf93
Stubbed ptm:play service
2015-01-21 12:50:18 -08:00
Lioncash
a3f5e5605c
core: Fix a few docstrings
2015-01-20 13:52:44 -05:00
bunnei
cbbe9e1500
Merge pull request #492 from archshift/apt
...
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-20 12:55:53 -05:00
bunnei
be8f665142
Merge pull request #383 from zhuowei/shared_page
...
Add some support for the shared page
2015-01-18 18:31:52 -05:00
archshift
4d316cbd8e
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-18 15:15:14 -08:00
Zhuowei Zhang
edb8450420
Add some support for the shared page (currently 3d slider is implemented)
2015-01-15 22:16:13 -05:00
bunnei
2572a62480
APT: Fix typo in setting return code for NotifyToWait
2015-01-15 18:23:53 -05:00
bunnei
350c5a7e32
DSP: Removed useless spam log for SignalInterrupt
2015-01-15 18:20:58 -05:00
bunnei
4b47ed6194
Merge pull request #482 from yuriks/fix-vblank
...
Correctness fixes for GPU flipping and interrupts
2015-01-15 18:11:03 -05:00
bunnei
3ff5a80d46
Merge pull request #481 from Subv/hm_b
...
APTU: Stubbed NotifyToWait, taken from 3dmoo.
2015-01-14 21:39:49 -05:00
Sebastian Valle
fd1b600e05
APT: Fixed the comment style in some variables
2015-01-14 10:14:22 -05:00
bunnei
394d44cf74
Merge pull request #480 from Subv/arb_2
...
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-14 10:04:33 -05:00
Yuri Kunde Schlesner
7630b31672
GSP: Fix appending of interrupts to the shared memory buffer
...
The code was previously appending the interrupt to after the end of the
buffer, instead of at the end.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
5961a2852d
GSP: Update framebuffer info on all interrupts
...
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.
This also reverts the hack introduced in #404 . It made a few games
behave better, but I believe it's incorrect and also breaks other games.
2015-01-14 05:20:12 -02:00
Yuri Kunde Schlesner
98e3274935
GPU: Fire GPU interrupts at the correct places.
...
PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a
HBlank interrupt and fired many more times than it should. They now both
fire together at 60 Hz. This puzzlingly *improves* apparent framerate on
many applications.
A few other interrupts were being fired inside the GSP command
processing instead of on the actual GPU register writes, so they were
moved there, which should cover direct writes tho those registers not
going through the GX command queue.
2015-01-14 05:07:35 -02:00
Subv
728c932dba
APTU: Stubbed NotifyToWait, taken from 3dmoo.
...
Also renamed some handles in the APT:U service to be more descriptive.
Fixed a typo in InquireNotification
2015-01-13 19:18:10 -05:00
Subv
9e2ae289b8
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-13 14:49:26 -05:00
Subv
cf071cd897
Services: Added some missing services.
...
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
2015-01-13 14:43:30 -05:00
darkf
67c644e317
Fix building on MinGW
2015-01-11 20:22:08 -08:00
bunnei
b33380ca59
Merge pull request #456 from Subv/waitsync1
...
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 18:52:09 -05:00
bunnei
542b0b0057
Merge pull request #466 from Subv/wake
...
Thread: Prevent waking a thread multiple times.
2015-01-11 13:39:23 -05:00
Subv
b68d51ed30
Thread: Prevent waking a thread multiple times.
...
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11 13:18:52 -05:00
Subv
38da198aa1
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 10:42:59 -05:00
archshift
3b555e2512
Stubbed y2r:u IsBusyConversion
...
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift
95be6ad7ae
Added Archive ID to fs:USER debug logs involving opening the archive.
2015-01-10 14:32:11 -08:00
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
2015-01-10 14:32:10 -08:00
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner
d751de7341
Kernel: Don't re-assign object's handle when duplicating one
2015-01-09 19:43:51 -02:00
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 -05:00
bunnei
86e07124ad
Merge pull request #436 from kevinhartman/system-core
...
Warn if a new thread is intended to be run on the system CPU core
2015-01-09 11:14:35 -05:00
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
2015-01-09 04:02:28 -02:00
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
2015-01-09 04:02:17 -02:00
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
2015-01-09 04:02:15 -02:00
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
2015-01-09 03:51:55 -02:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
bunnei
d46f650036
Merge pull request #255 from Subv/cbranch_3
...
Implemented timers
2015-01-08 22:38:33 -05:00
Subv
07044651ef
SVC: Implemented the Timer service calls.
2015-01-08 21:22:14 -05:00
Subv
dfc440785a
SVC: Fixed SleepThread.
...
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-08 18:39:12 -05:00
Subv
60a373a786
Threads: Use a dummy idle thread when no other are ready.
...
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
2015-01-07 20:31:31 -05:00
bunnei
b659cac2dc
Merge pull request #404 from bunnei/more-frame-synch-fixes
...
GPU: Toggle active framebuffer each frame
2015-01-07 18:13:48 -05:00
bunnei
f7a3f45f1e
GSP: Toggle active framebuffer each frame
2015-01-07 18:06:00 -05:00
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 -05:00
Kevin Hartman
63be6aaadd
Warn if a new thread is intended to be run on the system CPU core until we implement correct scheduling for such a thread.
2015-01-07 14:14:48 -08:00
Yuri Kunde Schlesner
122c2bb324
Common: Clean up ThreadQueueList
...
Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.
Also clean the rest of the code to follow our code style.
2015-01-07 18:38:25 -02:00
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
2015-01-07 17:32:31 -02:00
bunnei
088863c921
Merge pull request #376 from Subv/arc_reorder
...
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00
Subv
32dbb76e00
Archives: Changed the unimplemented archives comment.
...
It now refers to me as the PoC
2015-01-06 15:34:37 -05:00
Subv
5244ac0e9c
Archives: Addressed some comments
2015-01-06 15:02:30 -05:00
bunnei
9eaef4e04a
Merge pull request #413 from purpasmart96/serv_clean
...
Services: Clean up a few things and add a few function names
2015-01-05 22:48:58 -05:00
bunnei
9b83f0e158
Merge pull request #272 from rohit-n/sign-compare
...
Silence some -Wsign-compare warnings.
2015-01-05 22:10:56 -05:00
purpasmart96
379b39e583
Services: Clean up a few things and add a few function names
2015-01-05 16:07:15 -08:00