Yuri Kunde Schlesner
9ae5a09655
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei
5989a6ac57
Merge pull request #1032 from lioncash/swap
...
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner
840b85690b
Kernel: Remove unused legacy heap MapBlock_* functions
2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
38bfbe1b2b
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
14eca982f4
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
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
ccab02c723
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
2015-08-16 01:03:44 -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
46b0277cbf
vfp: use std::swap where applicable
2015-08-15 19:08:51 -04:00
bunnei
094ae6fadb
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
c0a87bc89f
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
cd8be1846b
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
cebf245504
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
5115d0177e
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
38c87733d9
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
4a1db13072
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
0be8e1bfb6
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
e4ff244288
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin
47657a1817
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
f48a89af8b
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash
3b457a5876
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
3425cfe54a
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
aroulin
5d81a2fd48
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