Yuri Kunde Schlesner
6aa90e13f9
Memory: Do correct Phys->Virt address translation for non-APP linheap
2016-03-05 22:09:59 -08:00
Mathew Maidment
8ee230fe1c
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
5b0fe77140
DSP: Print hash of firmware to console
2016-03-06 00:11:17 +00:00
Yuri Kunde Schlesner
6dd05e610a
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner
b967a581a1
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
987d85a33b
Merge pull request #1429 from mailwl/branch-acu
...
ac:u IsConnected implemented
2016-03-05 02:10:25 -05:00
bunnei
878562c291
Merge pull request #1389 from yuriks/stub-cam
...
Stub CAM:U service
2016-03-04 10:11:09 -05:00
mailwl
d6be7ff683
ac:u: Stub IsConnected
2016-03-04 15:59:02 +03:00
LittleWhite
7ad669a911
Display errors in GUI when loading ROM failed
2016-03-03 22:52:29 +01:00
bunnei
ea0ca17215
Merge pull request #1434 from Kloen/legend
...
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -05:00
bunnei
cddb9bd2aa
Merge pull request #1297 from Subv/saves
...
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Kloen
1149e66820
ThreadProcessorId_All on SVC::CreateThread
2016-03-01 12:03:32 +01:00
Yuri Kunde Schlesner
1912c4691b
Service/CFG: Fix potential endianess issue
2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner
228d8ac14a
Service/CFG: Add block 0x000A0000 (username) to default config file
2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner
338a0f01f2
Service/CAM: Add doxycomments to all service functions
2016-02-29 22:53:36 -08:00
mailwl
2e13b7f3ca
Initial implementation ir:user
2016-02-26 18:39:28 +03:00
MerryMage
8b00954ec7
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
fc6fa0f088
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
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
0937bed8d8
services: Get rid of unnecessary includes
2016-02-02 01:40:23 -05:00
Lioncash
5e5bb0c32e
services: Update function tables
2016-02-01 21:49:44 -05:00
bunnei
cd0b31fd73
Merge pull request #1377 from MerryMage/mmio
...
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage
2b93313348
Memory: Implement MMIO
2016-01-30 18:41:04 +00:00
Lioncash
a89e32b157
elf: Don't cast away const
2016-01-25 02:36:57 -05:00
Lioncash
3ed5ecd67a
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
d29578d467
ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name
2016-01-19 18:42:16 +01:00
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
bunnei
190b1bbf1f
Merge pull request #1327 from Subv/unmap_memblock
...
HLE/SVC: Implement UnmapMemoryBlock.
2016-01-14 22:27:36 -05:00
Subv
d90d5a0ee6
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
848effe9c3
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
085c8f2987
Merge pull request #1310 from lioncash/services
...
services: Update some function tables
2015-12-30 21:30:07 -05:00
Lioncash
532dc797c9
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
744f4af3ab
services: Update some function tables
2015-12-30 11:29:21 -05:00
bunnei
4bc961d5fd
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
6cccc36505
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
cee8df6ff0
core: Use unique_ptr for holding the interpreter instances
2015-12-29 18:03:08 -05:00
bunnei
73740d74ed
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
fddfe946c8
dyncom: Handle modifying the APSR via an MRC instruction
2015-12-28 07:52:04 -05:00
Subv
29032ce9b6
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
270cbb0119
svc: Remove superfluous printf argument
2015-12-25 14:21:45 -05:00
Subv
282f2c8042
HLE/Sockets: Fixed the buffer offset in recvfrom.
...
Closes #1277
2015-12-24 09:19:27 -05:00
Lioncash
d09b7a3c12
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
5a531d7ec2
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
84afaaa10c
svc: Fix compilation with LOG_TRACE enabled
2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner
31764c48fb
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
195fedccf0
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
03835d04f4
VideoCore: Rename HWRasterizer methods to be less confusing
2015-12-06 19:08:37 -08:00
Lioncash
56e22e6aac
dyncom: Remove static keyword from header functions
2015-12-06 15:14:51 -05:00
Lioncash
1ea0702eaa
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
Lioncash
de9a625c7e
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
Lioncash
d03e7f08ff
dyncom: const correctness changes
2015-12-06 15:03:06 -05:00
bunnei
87df493b5b
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
84a22cb594
Kernel: Implement svcGetSystemInfo
...
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash
5e2b66d2a4
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
1d02eb0587
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
e906165229
Merge pull request #1225 from lioncash/clean
...
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
bunnei
c642dc459b
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
434ae89a6a
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-
4179e91baf
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-22 16:54:51 -05:00
bunnei
78b0d9c8b0
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-
912e53323d
Add Initialize and GenerateRandomData stubs
2015-11-22 09:27:46 -05:00
polaris-
2732ec758d
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
43bb29edc5
Merge pull request #1122 from polaris-/gdbstub
...
gdbstub implementation
2015-11-11 23:21:31 -05:00
polaris-
bcea959910
Fix bug with reading addresses and lengths
2015-11-03 21:50:53 -05:00
polaris-
b6422038b5
Change headers
2015-10-29 06:17:29 -04:00
Lioncash
a1bd909294
csnd_snd: Get rid of type punning
2015-10-28 16:10:21 -04:00
bunnei
7c12ee9ecc
Merge pull request #1165 from esoteric-programmer/master
...
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst
3d89e0a94c
Added CSND stub.
2015-10-28 19:04:01 +01:00
bunnei
af26b7a0bc
Merge pull request #1208 from archshift/free-bytes
...
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift
5dfd2dba70
Implement FS_User::GetFreeBytes
2015-10-27 23:33:59 -07:00
Filiph Sandström
a06a32c05d
Fix copy paste
2015-10-24 13:17:04 +02:00
Filiph Sandström
0c84d59a27
Fix wrong branch
2015-10-23 23:58:54 +02:00
Filiph Sandström
844b9970b4
Add GetTotalStepCount Stub
2015-10-23 23:52:13 +02:00
Filiph Sandström
f61c9da7d3
Update ptm.h
2015-10-23 23:50:51 +02:00
polaris-
a7eb6a4045
Add some headers so TravisCI will hopefully work
2015-10-22 00:31:49 -04:00
polaris-
45ed9e7e5e
Use CHAR_BIT instead of 8
2015-10-22 00:19:44 -04:00
polaris-
a5ab8accc2
Handle changes pointed out in comments on PR
2015-10-22 00:11:25 -04:00
polaris-
d1f73c424f
Add a register variable to loops
2015-10-21 07:45:35 -04:00
polaris-
d7e346239b
Update register read loops to go with last commit
2015-10-21 07:40:30 -04:00
polaris-
8a0d848646
Pad responses to gdb for VFP registers
2015-10-21 07:19:03 -04:00
polaris-
53aa55fcaa
Try to add support for VFP registers
2015-10-21 07:14:43 -04:00
polaris-
9f66580d7e
Fix buffer overflow comments
2015-10-21 06:49:49 -04:00
bunnei
c717d1551d
Merge pull request #1199 from Gareth422/encryption-check
...
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
polaris-
2b7316a379
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
Gareth Poole
721475420d
Loader: Change NCCH header types to be explicitly little-endian
2015-10-10 22:35:22 -04:00
Gareth Poole
2706394384
Loader: Implement encryption check
2015-10-10 22:34:17 -04:00
bunnei
04325e5980
Merge pull request #1194 from linkmauve/no-newline
...
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot
14af5919ba
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
be217bca70
Fixed spelling errors
2015-10-09 17:09:52 -04:00
Rohit Nirmal
32391cffdd
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
polaris-
42928659e8
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
31dee93e84
Implement gdbstub
2015-10-04 11:16:59 -04:00
bunnei
11a64acf23
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift
bba12520c4
Expose loader helper functions for identifying files.
2015-09-30 21:04:47 -07:00
bunnei
bcaafb826e
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
a97d9613a7
ivfc_archive: Fix a printf specifier
2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot
57722fb192
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
bafb7afba2
fix some xcode 7.0 warnings
2015-09-29 23:11:09 +02:00
bunnei
09f43c0975
Merge pull request #1160 from lioncash/clang
...
Silence some clang warnings
2015-09-21 21:29:55 -04:00
Cruel
d60a9be5c6
Implement 3dsx RomFS
2015-09-21 13:03:18 -04:00
Lioncash
751fbfdcc3
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner
bbf92a54e5
Service/CFG: Add default entry for block 0x000A0001 (birthday)
2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner
13a8e39813
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
d91f1c0624
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
6c89d4ca26
Fix narrowing conversion warning
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
1fe72dcc04
Service/CFG: Move several private types from the header to the cpp
2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner
ac4f7b0fde
Service/CFG: Clean up default block creation
2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner
1ed7f3e028
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
07bfe0abbb
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Lioncash
60b3fc01a2
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
Yuri Kunde Schlesner
abc34ddb88
Merge pull request #1130 from lioncash/block
...
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
Lioncash
d3efa637b4
General: Fix up doxygen comments
2015-09-10 11:20:21 -04:00
Yuri Kunde Schlesner
248b2993e8
Merge pull request #1131 from lioncash/uninit
...
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash
9cf1cfe3fd
memory: Get rid of pointer casts
2015-09-10 00:09:55 -04:00
Lioncash
d7bfda3e26
disk_archive: Remove unimplemented constructor declarations
2015-09-09 23:49:03 -04:00
Lioncash
f87093686e
y2r: Give local variables an initial value
...
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
bunnei
bc59aaccb1
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
e0c10019a9
Add cam:u service function names to its function table
2015-09-03 01:56:59 -07:00
bunnei
5e3536f66f
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
5906d8b01c
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
18c1c39d5e
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
ce6a65cec9
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
0ee3e2c25e
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
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner
687d973980
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner
0fcabd2b11
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
78735e2ada
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner
3efb205a68
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
a9fc659809
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
0aa443a871
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
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