bunnei
4fcdbed9f6
Thread: Wait current thread on svc_SleepThread
...
- Removed unused VBLANK sleep mode
- Added error log for bad context switch
- Renamed VerifyWait to CheckWaitType to be more clear
2014-12-20 23:20:19 -05:00
Lioncash
855eda6f85
armemu: Implement SADD8/SSUB8
2014-12-20 23:10:35 -05:00
bunnei
2e5869c939
Merge pull request #316 from yuriks/thread-handle
...
Kernel: Implement support for current thread pseudo-handle
2014-12-20 16:36:01 -05:00
bunnei
0e9262885d
Merge pull request #296 from lioncash/dyn
...
dyncom: Implement UMAAL
2014-12-20 16:24:12 -05:00
bunnei
993afd3bf0
Merge pull request #310 from lioncash/ssat16
...
armemu: Fix SSAT16.
2014-12-20 16:23:54 -05:00
Lioncash
2a097f0990
armemu: Should be using labs for USAD8/USADA8
2014-12-20 15:34:14 -05:00
bunnei
7095c4959b
Merge pull request #311 from lioncash/usada
...
armemu: Implement USAD8 and USADA8
2014-12-20 15:21:25 -05:00
bunnei
52bc58283d
Merge pull request #313 from lioncash/smlsd
...
armemu: Implement SMLSD
2014-12-20 15:18:52 -05:00
bunnei
1c50a036dd
Merge pull request #314 from lioncash/qsax-qasx
...
armemu: Implement QASX and QSAX
2014-12-20 15:18:05 -05:00
Tony Wasserka
08f42c2b8c
Pica/VertexShader: Promote a log message to critical status.
2014-12-20 18:06:56 +01:00
Tony Wasserka
17f31de364
Pica/VertexShader: Small optimization.
2014-12-20 18:06:56 +01:00
Tony Wasserka
a664574ecb
Pica/VertexShader: Be robust against invalid inputs.
...
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
2014-12-20 18:06:56 +01:00
Tony Wasserka
ad5db467d7
Pica/VertexShader: Clarify a comment.
2014-12-20 18:06:56 +01:00
Tony Wasserka
871418e62b
Pica/DebugUtils: Further cleanups to LookupTexture.
2014-12-20 18:06:56 +01:00
Tony Wasserka
88e9efe4b8
Pica/DebugUtils: Fix two warnings.
2014-12-20 18:06:56 +01:00
Tony Wasserka
6e275778c9
Pica/DebugUtils: Better document LookupTexture.
2014-12-20 18:06:55 +01:00
Tony Wasserka
e4e9710d18
Pica/Rasterizer: Get rid of C-style casts.
2014-12-20 18:06:55 +01:00
Tony Wasserka
d81370682f
Pica/DebugUtils: Make a number of variables static.
...
Makes for cleaner and faster code.
2014-12-20 18:06:55 +01:00
Tony Wasserka
6bd41de276
Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
22afb9d830
Pica/VertexShader: Run instruction handlers according to the effective opcode.
...
This allows for proper emulation of the different CMP/LRP/MAD instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cd163fb59a
Pica/VertexShader: Implement MAX instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
aff808b2fd
Pica: Add support for boolean uniforms.
2014-12-20 18:06:55 +01:00
Tony Wasserka
67618a2c55
Pica/VertexShader: Add support for MOVA, CMP and IFC.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cb1804e0ab
Pica/VertexShader: Move code around a bit.
2014-12-20 18:06:55 +01:00
Tony Wasserka
b85524c760
Pica/VertexShader: Some cleanups using std::array.
2014-12-20 18:06:55 +01:00
Tony Wasserka
ce36ad454e
Pica/VertexShader: Support negating src2.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cc5746abfe
Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones.
2014-12-20 18:06:55 +01:00
Tony Wasserka
8ce1d32460
Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones.
2014-12-20 18:06:55 +01:00
Tony Wasserka
79c29243ed
Pica/DebugUtils: Add an event triggered after loading a vertex.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cd322e328e
Pica/PrimitiveAssembly: Implement triangle strips.
2014-12-20 18:06:54 +01:00
Tony Wasserka
346012f29e
Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations.
2014-12-20 18:06:54 +01:00
Tony Wasserka
1e960e9ee2
Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are accessed for different attributes.
2014-12-20 18:06:54 +01:00
Tony Wasserka
1c972ef3b9
Add support for a ridiculous number of texture formats.
2014-12-20 18:06:54 +01:00
Tony Wasserka
40f123b7c0
Pica: Unify ugly address translation hacks.
2014-12-20 18:06:53 +01:00
Tony Wasserka
7e210e0229
Pica: Further improve Tev emulation.
2014-12-20 18:05:53 +01:00
Tony Wasserka
3df88d59b0
Pica: Merge texture lookup logic for DebugUtils and Rasterizer.
...
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20 18:05:53 +01:00
Tony Wasserka
0fba1d48a6
Pica: Implement texture wrapping.
2014-12-20 18:05:53 +01:00
Tony Wasserka
c81f1a9ebc
Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats.
2014-12-20 18:05:53 +01:00
Tony Wasserka
782592e6d3
citra-qt: Fix invalid memory read upon program startup.
...
This was caused by the framebuffer display widget not checking whether we are actually in a valid emulation state or not.
2014-12-20 18:05:53 +01:00
Tony Wasserka
fd2539121c
Pica: Initial support for multitexturing.
2014-12-20 18:05:53 +01:00
Tony Wasserka
95be6a09b2
BitField: Add an explicit Assign method.
...
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Tony Wasserka
8cd0d9c000
citra-qt: static-constify a map.
2014-12-20 18:05:52 +01:00
bunnei
2b0d7a1d29
Merge pull request #315 from chinhodado/master
...
Clean up some warnings
2014-12-20 11:59:18 -05:00
Chin
e795692614
Clean up some warnings
2014-12-20 10:03:36 -05:00
Yuri Kunde Schlesner
82528ba7df
Common: Add a clone of std::make_unique
2014-12-20 03:45:02 -02:00
Yuri Kunde Schlesner
adee775f44
Kernel: Implement support for current thread pseudo-handle
...
This boots a few (mostly Nintendo 1st party) games further.
2014-12-20 03:27:47 -02:00
bunnei
f1309e6bf0
Merge pull request #306 from Subv/even_more_savedata
...
SaveData: Added some documentation to FormatSaveData
2014-12-19 23:20:31 -05:00
Subv
fc73bef692
FS_U: Added the command to the docs of SaveData functions
2014-12-19 22:45:39 -05:00
bunnei
eb394ac0af
Merge pull request #309 from chinhodado/patch-1
...
Properly erase/remove a DebuggerObserver
2014-12-19 16:47:42 -05:00
bunnei
245abb4125
Merge pull request #294 from lioncash/var
...
armemu: Narrow the scope of some variables in handle_v6_insn
2014-12-19 16:46:56 -05:00
bunnei
dc5d1a9061
Merge pull request #305 from lioncash/paren
...
armemu: Get rid of bitwise parenthesis warnings
2014-12-19 16:46:36 -05:00
chinhodado
d31c23e958
Properly erase/remove an observer
2014-12-19 14:24:44 -05:00
Lioncash
4b506cec01
armemu: Implement QASX and QSAX
2014-12-19 14:09:18 -05:00
Lioncash
0f3a6a161c
armemu: Implement SMLSD
2014-12-19 09:53:54 -05:00
Lioncash
4a646ace1f
dyncom: Implement UMAAL
2014-12-19 04:02:14 -05:00
bunnei
017e6a488e
Merge pull request #302 from purpasmart96/flushshutup
...
GSP_GPU: Shut up FlushDataCache
2014-12-18 23:40:10 -05:00
Lioncash
00e8ec4a9e
armemu: Implement USAD8 and USADA8
2014-12-18 23:38:57 -05:00
Lioncash
92c53fe522
armemu: Fix SSAT16
...
The lower-bound would never be negative like it should
2014-12-18 20:35:14 -05:00
Lioncash
b9fc0b4b80
armemu: Clean up naming and formatting for SSAT16
2014-12-18 20:34:22 -05:00
purpasmart96
b2c64eb5ff
GSP_GPU: Shut up FlushDataCache
2014-12-18 16:39:55 -08:00
bunnei
765dbabdb6
Merge pull request #308 from Subv/more_savedata
...
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:05:03 -05:00
Subv
78e0f36857
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:01:47 -05:00
bunnei
24b5e87279
Merge pull request #304 from lioncash/sflags
...
armemu: Set GE flags properly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 17:46:10 -05:00
bunnei
4959e3b2c0
Merge pull request #307 from lioncash/usat16
...
armemu: Fix USAT16.
2014-12-18 17:45:25 -05:00
bunnei
c71f8840e5
Merge pull request #301 from Subv/more_savedata
...
SaveData: Implemented the SystemSaveData archive.
2014-12-18 17:29:34 -05:00
Subv
f9472eda0a
SystemSaveData: Added a TODO to move it to the NAND.
...
Maybe sometime when we actually implement that
2014-12-18 16:58:42 -05:00
Lioncash
e683f654ce
armemu: Fix lower-bounds clamping for USAT16
2014-12-18 16:54:01 -05:00
Subv
77f0cdfaf4
SaveData: Added some documentation to FormatSaveData
...
We still don't know what the other parameters do, but they appear to be very similar to those of FormatThisUserSaveData.
Most likely FormatThisUserSaveData is just an alias for FormatSaveData with LowPathType Empty
2014-12-18 15:30:28 -05:00
Lioncash
6b632bbe37
armemu: More concise names for USAT16-related variables
2014-12-18 14:25:07 -05:00
Lioncash
eaae0ad502
armemu: Get rid of bitwise parenthesis warnings
2014-12-18 12:07:18 -05:00
Lioncash
4dc8eb40be
armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 11:45:40 -05:00
bunnei
8ac22e7efc
Merge pull request #299 from lioncash/join
...
Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-18 10:04:31 -05:00
Subv
bec527fa24
SaveData: Implemented the SystemSaveData archive.
...
It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
2014-12-17 23:44:32 -05:00
bunnei
797efbde1a
Merge pull request #298 from lioncash/flags
...
armemu: Unset GE flags for UADD8 if results are < 0x100
2014-12-17 22:06:27 -05:00
bunnei
a968adf50e
Merge pull request #295 from lioncash/umaal
...
armemu: Implement UMAAL
2014-12-17 21:44:13 -05:00
Lioncash
85c318078d
armemu: Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-17 21:17:54 -05:00
bunnei
075126247f
Merge pull request #292 from lioncash/backports
...
Backport more skyeye fixes from 3dmoo
2014-12-17 20:58:00 -05:00
bunnei
e00e303275
Merge pull request #297 from lioncash/ssub16
...
armemu: Fix SSUB16
2014-12-17 20:56:37 -05:00
bunnei
7bae450379
Merge pull request #185 from purpasmart96/mem_perm
...
Kernel: Add missing permissions
2014-12-17 20:56:04 -05:00
Subv
ea9ce0fba7
Filesystem/Archives: Implemented the SaveData archive
...
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found
2014-12-17 19:21:38 -05:00
Lioncash
41fee1c940
armemu: Unset GE flags for UADD8 if results are < 0x100
...
Reference manual states these must be set to zero if this case is true.
2014-12-17 17:54:49 -05:00
Lioncash
58dc554733
armemu: Fix SSUB16
...
Broken from the same reason SADD16 was.
The lo part of the result should only be constructed from the lo halfwords of rm and rn.
The hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 15:40:10 -05:00
bunnei
e6f440ea7f
Merge pull request #293 from lioncash/sops
...
armemu: Fix SADD16
2014-12-17 14:54:24 -05:00
bunnei
3e9d4a7917
Merge pull request #287 from lioncash/qaddsub16
...
armemu: Join QADD16/QSUB16 and fix saturation clamping.
2014-12-17 12:34:52 -05:00
Lioncash
5820dba6b7
armemu: Implement UMAAL
2014-12-17 12:21:21 -05:00
Lioncash
2d91164bb9
armemu: Narrow the scope of some variables in handle_v6_insn
...
There's no reason to have these in the outer-most scope.
2014-12-17 10:26:20 -05:00
Lioncash
5289a496a7
armemu: Fix SADD16
...
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 09:36:25 -05:00
Normmatt
73211dc8fe
armemu: Fix PKHTB
2014-12-17 03:26:12 -05:00
Normmatt
8045df14d2
armemu: Implement REVSH
2014-12-17 03:26:01 -05:00
Normmatt
bc81cc9490
armemu: Fix UXTAB/UXTAH
2014-12-17 03:24:25 -05:00
Normmatt
b5dbd6f2a2
armemu: Fix SXTAB
2014-12-17 03:17:44 -05:00
Normmatt
efebd5589a
armemu: Fix SXTAH
2014-12-17 03:16:40 -05:00
bunnei
fdb4ef5210
Merge pull request #289 from lioncash/smops
...
Join SMUAD, SMUSD, and SMLAD ops. Also fix them as well.
2014-12-17 00:08:43 -05:00
bunnei
ec9ac2f51a
Merge pull request #290 from lioncash/vsub
...
armemu: Backport some VFP fixes from 3dmoo.
2014-12-16 23:22:58 -05:00
Normmatt
9c127f4a01
armemu: Fix FTOUI NaN sign.
2014-12-16 05:56:06 -05:00
Normmatt
2ed03c10e0
armemu: Fix FSUBS bug where NaN shouldn't be negated
2014-12-16 05:54:00 -05:00
Lioncash
d5bcddb77c
armemu: Fix SMUAD, SMUSD, and SMLAD
...
Wrong values were being multiplied together.
2014-12-16 03:13:06 -05:00
Lioncash
0f9e3baf39
armemu: Join SMUAD, SMUSD, and SMLAD
2014-12-16 03:11:50 -05:00
Lioncash
4c53799229
armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.
2014-12-16 00:11:51 -05:00
Lioncash
49817e89d9
armemu: Join QADD16 and QSUB16 together.
...
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
2014-12-16 00:11:19 -05:00
bunnei
cdfa7157eb
Merge pull request #286 from yuriks/msvc-fix
...
Comment out empty arrays causing compile errors in MSVC
2014-12-15 22:52:35 -05:00
Yuri Kunde Schlesner
082bf803ab
Comment out empty arrays causing compile errors in MSVC
2014-12-16 01:37:13 -02:00
bunnei
a8098187aa
Merge pull request #285 from lioncash/uxtab16
...
armemu: Implement UXTAB16
2014-12-15 22:29:12 -05:00
bunnei
cd2a31eaf4
Merge pull request #283 from yuriks/archive-refactor
...
Archive refactor
2014-12-15 22:15:08 -05:00
Yuri Kunde Schlesner
666f6deb47
Work around libstdc++'s lack of support for std::hash on enums
2014-12-16 01:09:21 -02:00
Yuri Kunde Schlesner
83e6e4ffec
FS.Archive: Clean up treatment of archives and their handles
...
- Refactor FS::Archive internals to make Archive creation and lifetime
management clearer.
- Remove the "Archive as a File" hack.
- Implement 64-bit Archive handles.
2014-12-16 01:08:44 -02:00
Yuri Kunde Schlesner
0931a42af0
Service.FS: Rename FileSys::File to FileBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
d51afab0bc
Service.FS: Rename FileSys::Directory to DirectoryBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
82fe821e87
Service.FS: Rename FileSys::Archive to ArchiveBackend
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
f6153679b0
Service.FS: Do archive registration using IdCode instead of name
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
ca67bb7945
HLE: Rename namespaces to match move & fix initialization order
2014-12-16 01:08:38 -02:00
Yuri Kunde Schlesner
c72ccfa6db
HLE: Move kernel/archive.* to service/fs/
2014-12-16 01:08:14 -02:00
Lioncash
1c7f77334c
armemu: Implement UXTAB16
2014-12-15 20:47:27 -05:00
bunnei
5df176425b
Merge pull request #282 from archshift/services
...
Added stubs for ldr:ro, cecd:u, nim:aoc, and am:app services
2014-12-15 19:28:13 -05:00
bunnei
0fd731ee63
Merge pull request #281 from lioncash/uxtb16
...
armemu: Fix UXTB16
2014-12-15 18:56:02 -05:00
archshift
89eef9eb6d
Added stub for nim:aoc service...
2014-12-15 15:32:42 -08:00
archshift
1356a6b313
Added stub for cecd:u service...
...
I couldn't find any information about this service...
2014-12-15 15:32:42 -08:00
archshift
6117fad036
Added stub for ldr:ro service...
2014-12-15 15:32:42 -08:00
archshift
6b51683bb1
Added am:app service stub.
...
Apparently nothing at all is known about this service...
2014-12-15 15:32:41 -08:00
Yuri Kunde Schlesner
06f31e8b47
Clean up CMake library specification
...
The X11 libraries don't need to be specified when doing dynamic linking
2014-12-15 19:34:17 -02:00
Yuri Kunde Schlesner
e321decf98
Remove SyncRequest from K::Object and create a new K::Session type
...
This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
2014-12-15 18:26:17 -02:00
Lioncash
2b0acd36e1
armemu: Fix UXTB16
...
Rotation bits are 10 and 11, not 9 and 10.
2014-12-14 23:00:31 -05:00
bunnei
1ee740898a
Merge pull request #276 from lioncash/decrappify
...
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
bunnei
17b4d6747a
Merge pull request #246 from Subv/cbranch_1
...
SVC: Implemented Semaphores
2014-12-14 22:03:28 -05:00
bunnei
2cac148ff3
Merge pull request #273 from bunnei/more-skyeye-fixes
...
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:58:05 -05:00
bunnei
d26b7146ce
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:51:46 -05:00
Lioncash
f6cb8c1927
Clean up armdefs.h
2014-12-14 02:00:42 -05:00
Yuri Kunde Schlesner
ac87c3b0d0
Restore the original console color after logging a message.
...
Fixes #277
2014-12-14 02:10:41 -02:00
purpasmart96
23ae8aa4d3
MemMap: Added AXI_WRAM & SHARED_PAGE along with other stuff
...
Got rid of I/O address's since the I/O addresses range's overlap with other
address's types such as vram, these I/O addresses need to be done in an different
way.
2014-12-13 18:29:57 -08:00
Subv
1051795c32
Kernel/Semaphores: Fixed build
2014-12-13 13:43:01 -05:00
Subv
ea95876431
Kernel/Semaphore: Small style change
2014-12-13 13:40:19 -05:00
Subv
effb181888
Kernel/Semaphores: Invert the available count checking.
...
Same semantics, idea by @yuriks
2014-12-13 13:40:18 -05:00
Subv
5e25986235
Kernel/Semaphores: Addressed some issues.
2014-12-13 13:40:16 -05:00
Subv
cc81a510e3
Semaphore: Removed an unneeded function
2014-12-13 13:40:15 -05:00
Subv
61434651d8
Semaphores: Addressed some style issues
2014-12-13 13:40:13 -05:00
Subv
abff4a7ee2
Semaphore: Implemented the initial_count parameter.
2014-12-13 13:40:12 -05:00
Subv
49b31badba
SVC: Implemented ReleaseSemaphore.
...
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13 13:40:10 -05:00
Subv
82c84883a5
SVC: Implemented svcCreateSemaphore
...
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
Lioncash
cfc0ee9c60
kernel: Remove unused log arguments
2014-12-13 10:15:58 -05:00
Yuri Kunde Schlesner
4d2a6f8b9b
Remove old logging system
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0e0a007a25
Add configurable per-class log filtering
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner
6390c66e95
Implement text path trimming for shorter paths.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
6b0fb62c47
Re-add coloring to the console logging output.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
616d874443
New logging system
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
04b1f2936c
Add SCOPE_EXIT macro to conveniently execute cleanup actions
2014-12-13 01:59:51 -02:00
Yuri Kunde Schlesner
eda30c36ee
Added missing include in common_funcs.h
2014-12-13 01:59:50 -02:00
Yuri Kunde Schlesner
8a681cdf3d
Remove redundant include from common_funcs.h
2014-12-13 01:59:50 -02:00
bunnei
a6791e4fc7
Merge pull request #267 from bunnei/apt-shared-font
...
APT shared font loading
2014-12-12 22:12:12 -05:00
bunnei
6fe61d3deb
APT_U: Added GetSharedFont service function.
2014-12-12 22:06:10 -05:00
Tony Wasserka
33e61ef514
Merge pull request #261 from neobrain/boost
...
Add Boost as a submodule and add some minor cleanups using Boost.Range
2014-12-12 17:32:57 +01:00
bunnei
988998cca5
DSP: Added stub for ReadPipeIfPossible.
2014-12-12 00:53:51 -05:00
bunnei
5bac72282a
Common: Add "sysdata" to GetUserPath and cleanup.
2014-12-12 00:15:47 -05:00
bunnei
4cb7a44d4e
MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.
...
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-12 00:15:47 -05:00
bunnei
3a75c8069e
Merge pull request #256 from Subv/mutex
...
Kernel/Mutex: Properly lock the mutex when a thread enters it
2014-12-10 22:52:55 -05:00
Emmanuel Gil Peyrot
5a3b1b5f44
CFG:U: Store country codes as u16 instead of char pointers, and return the correct error in GetCountryCodeID.
2014-12-10 22:33:23 +00:00
bunnei
ae3c6e82f7
Merge pull request #243 from bunnei/fix-gsp-synch
...
Fix gsp synch
2014-12-10 09:20:05 -05:00
archshift
4763fca9f8
Explicitly specify LE strings to iconv, fixes paths in Steel Diver
2014-12-09 22:07:28 -08:00
bunnei
f94d8f9603
GSP: Trigger GPU interrupts at more accurate locations.
2014-12-09 19:07:14 -05:00
bunnei
e90b37b935
GSP: Updated TriggerCmdReqQueue to return success code.
2014-12-09 19:07:14 -05:00
bunnei
3e1654eaa8
GSP: Updated RegisterInterruptRelayQueue to return expected magic number.
2014-12-09 19:07:14 -05:00
bunnei
170123982d
GPU: Fixed bug in command list size decoding.
2014-12-09 19:07:13 -05:00
Yuri Kunde Schlesner
521e1cb7e0
Remove unused NDMA module
2014-12-09 18:27:16 -02:00
Tony Wasserka
8b8131baec
More cleanups.
2014-12-09 16:37:34 +01:00
Tony Wasserka
0305435edd
Pica: Re-enable command names on MSVC.
...
The affected code is no longer limited by compiler support on that platform.
2014-12-09 16:37:34 +01:00
Tony Wasserka
ac4d7462cb
citra-qt: Rename "Stop Tracing" to "Finish Tracing".
...
This better reflects that no commands are supposed to show up until you hit the button a second time.
2014-12-09 16:37:34 +01:00
Tony Wasserka
79bb403089
More coding style fixes.
2014-12-09 16:37:34 +01:00
Tony Wasserka
0cd27a511e
Some code cleanup.
2014-12-09 16:37:34 +01:00
Tony Wasserka
55ce9aca71
citra-qt: Add pica framebuffer widget.
2014-12-09 16:37:34 +01:00
Tony Wasserka
2793619dce
citra_qt: Add enhanced texture debugging widgets.
...
Double-clicking a texture parameter command in the pica command lists will spawn these as a new tab in the pica command list dock area.
2014-12-09 16:37:34 +01:00
Tony Wasserka
fd194d95b0
citra-qt: Add texture viewer to Pica command list.
...
The texture viewer is enabled when selecting a write command to one of the texture config registers.
2014-12-09 16:37:34 +01:00
Tony Wasserka
c63a495de6
Add GUI widget for controlling pica breakpoints.
2014-12-09 16:37:34 +01:00
Tony Wasserka
2c71ec7052
Pica/DebugUtils: Add breakpoint functionality.
2014-12-09 16:37:34 +01:00
Tony Wasserka
706f9c5574
citra-qt: Polish the pica tracing widget.
...
Changed start/stop button to reflect current tracing status.
Properly labeled column headers.
2014-12-09 16:37:34 +01:00
Tony Wasserka
bf6b23f4a0
citra-qt: Add a utility spinbox class called CSpinBox.
...
This class has a few advantages over the regular QSpinBox:
- QSpinBox stores its as signed 32 bit integers, which for instance is unsuitable for representing memory addresses. CSpinBox uses 64 bit integers instead.
- QSpinBox does not provide an easy way to handle number input from bases different than 10.
- QSpinBox is quite inflexible in general and almost any sort of customization requires reimplementing it anyway.
2014-12-09 16:37:34 +01:00
Tony Wasserka
8db65723d2
Build fix for something which shouldn't have compiled successfully to begin with.
2014-12-09 16:37:34 +01:00
Tony Wasserka
27280f178b
Fix some headers to include their dependencies properly.
2014-12-09 16:37:34 +01:00
bunnei
b7327f807c
Merge pull request #217 from archshift/cmd_buff
...
Log the cmd_buff arguments when citra comes across an unimplemented function
2014-12-08 23:13:07 -05:00
bunnei
dd203f7068
Thread: Fixed to wait on address when in arbitration.
2014-12-08 19:44:10 -05:00
bunnei
a6bf3fd613
Merge pull request #244 from bunnei/cleanup-memmap
...
MemMap: Updated memory map to subtract base address instead of mask.
2014-12-08 19:34:54 -05:00
bunnei
f1ec1a0d2c
Merge pull request #263 from lioncash/sasx
...
Fix emulation of SASX and SSAX instructions.
2014-12-08 19:17:54 -05:00
bunnei
ff560a9428
Merge pull request #259 from ichfly/master
...
Loader: Add 3DSX support
2014-12-08 19:16:40 -05:00
bunnei
1f4953e1bb
Merge pull request #264 from Subv/files
...
Kernel/File: Fixed file read/write hwtests
2014-12-08 18:05:03 -05:00
bunnei
72ad73519c
Merge pull request #260 from archshift/opendir
...
Make OpenDirectory fail if the directory doesn't exist
2014-12-08 18:03:48 -05:00
Subv
1d1078fd8b
Kernel/File: Fixed file read/write hwtests
...
The 3DS allows the user to read from files opened with the Write access modifier, even if he did not specify the Read access modifier.
Open the files in binary mode so that we can prevent CR/LF problems in Windows, where a line-end is replaced by these two bytes instead of just 0xA, this was causing problems with the GetSize test
2014-12-08 17:45:17 -05:00
Lioncash
905e3b616a
armemu: Fix SSAX
2014-12-08 15:47:20 -05:00
ichfly
1aa969741d
Loader: Add 3DSX support
2014-12-08 18:06:43 +01:00
Lioncash
62fd564854
armemu: Fix SASX
2014-12-08 01:44:37 -05:00
Lioncash
b4256431aa
armemu: Fix parenthesis warnings regarding bitwise ops
2014-12-07 23:58:12 -05:00
Tony Wasserka
3d8c6e61be
StringUtil: Perform some minimal cleanup.
2014-12-07 23:52:17 +01:00
Tony Wasserka
4d4572c697
Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp.
2014-12-07 23:52:17 +01:00
archshift
20d2ed0950
Make OpenDirectory fail if the directory doesn't exist
...
This is in line with what the hardware itself does.
It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
2014-12-07 14:47:14 -08:00
Subv
bc318c464b
Mutex: Remove some forward declarations
...
Moved Mutex::WaitSynchronization to the end of the file.
2014-12-07 15:57:28 -05:00
Subv
64128aa61a
Mutex: Release all held mutexes when a thread exits.
2014-12-07 15:44:21 -05:00
bunnei
2aa2d341d0
Merge pull request #245 from rohit-n/null-nullptr
...
Change NULLs to nullptrs.
2014-12-07 13:40:04 -05:00
Subv
e3c8e4901c
Mutex: Properly lock the mutex when a thread enters it
...
Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
2014-12-05 23:40:43 -05:00
bunnei
17fae11fc7
Merge pull request #250 from Subv/cbranch_2
...
SVC: Implemented GetThreadId.
2014-12-04 22:15:03 -05:00
bunnei
5056329a80
Merge pull request #222 from archshift/renamexyz
...
Implemented RenameFile and RenameDirectory in FS:USER
2014-12-04 22:07:47 -05:00
bunnei
21d183e1e6
Merge pull request #248 from lioncash/kernel
...
Misc minor kernel-related changes.
2014-12-04 22:05:20 -05:00
Subv
6fac2bf0ab
Threads: Remove a redundant function.
...
Use the next_thread_id variable directly.
2014-12-04 14:59:56 -05:00
Subv
ef1d5cda06
Threads: Implemented a sequential thread id
2014-12-04 08:13:53 -05:00
archshift
139a4d91d9
Updated archive.cpp functions for proper error handling
2014-12-03 22:50:44 -08:00
Subv
029ff9f1fd
SVC: Implemented GetThreadId.
...
For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
2014-12-04 00:25:35 -05:00
bunnei
846dc72a37
Merge pull request #249 from lioncash/enum
...
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-04 00:01:13 -05:00
bunnei
306b5392ca
Merge pull request #247 from lioncash/const
...
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 23:56:35 -05:00
Lioncash
3ba32d2b53
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-03 23:36:45 -05:00
bunnei
abbc340957
Merge pull request #238 from archshift/dsp
...
Add stub for ConvertProcessFromDspDram
2014-12-03 23:35:06 -05:00
archshift
a404ad5272
Add stub for ConvertProcessFromDspDram
...
Should theoretically push retail stuff further along
2014-12-03 20:03:57 -08:00
Lioncash
208598dbe2
kernel: Shorten GetCount
2014-12-03 22:52:02 -05:00
Lioncash
9b68d5e074
kernel: Make some functions const
2014-12-03 19:48:34 -05:00
Lioncash
7ff8f0d916
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 19:33:54 -05:00
purpasmart96
16fc98af64
PTM_U: Added a stub for GetBatteryLevel & GetBatteryChargeState & GetAdapterState
2014-12-03 15:09:59 -08:00
Rohit Nirmal
8a62423970
Change NULLs to nullptrs.
2014-12-03 12:57:57 -06:00
bunnei
63b1453dd8
Merge pull request #236 from rohit-n/sign-compare
...
Silence a few -Wsign-compare warnings.
2014-12-03 10:04:47 -05:00
bunnei
e5b2733801
Merge pull request #231 from purpasmart96/serv_ac_wifi_status
...
AC_U: Added a stub for GetWifiStatus
2014-12-03 10:00:13 -05:00
bunnei
e2e56c7bac
Merge pull request #219 from Subv/ptm
...
PTM_U: Implemented the GetShellState function.
2014-12-03 09:58:52 -05:00
bunnei
e3886adc22
MemMap: Updated memory map to subtract base address instead of mask.
...
- More readable, a little less error prone.
Conflicts:
src/core/mem_map.h
src/core/mem_map_funcs.cpp
2014-12-03 01:23:29 -05:00
purpasmart96
32d420330d
AC_U: Added a stub for GetWifiStatus
2014-12-02 15:30:42 -08:00
Rohit Nirmal
f9b53c3e94
Silence a few -Wsign-compare warnings.
2014-11-30 22:29:23 -06:00
bunnei
d5be332d21
Merge pull request #237 from vaguilar/fix-viewport
...
Fixed viewport error caused by rounding
2014-11-30 23:24:16 -05:00
bunnei
884ecd58ea
Merge pull request #224 from bunnei/dsp-service-improvements
...
Dsp service improvements
2014-11-30 23:21:34 -05:00
bunnei
b0a5b3d986
Merge pull request #214 from Subv/master
...
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString
2014-11-30 23:19:07 -05:00
bunnei
1827bb1fcc
Merge pull request #196 from archshift/settings
...
Merge Config::ReadXYZs
2014-11-30 23:17:45 -05:00
bunnei
3e286fff7c
DSP: Added stubs for several commonly used DSP service functions.
2014-11-30 23:14:57 -05:00
bunnei
45fd3fe5c4
DSP: Fixed typo in port name.
2014-11-30 23:14:48 -05:00
Subv
4cdaac44d3
PTM_U: Implemented the GetShellState function.
2014-11-30 19:50:14 -05:00
vaguilar
95b33ee0a7
Fixed viewport error caused by rounding
2014-11-30 09:53:50 -08:00
bunnei
e3d1ffff4b
Merge pull request #225 from bunnei/fix-release-mutex
...
Mutex: Changed behavior to always release mutex for all threads.
2014-11-30 08:47:49 -05:00
bunnei
a5afad0937
Merge pull request #226 from bunnei/svc-and-thread-fixes
...
Svc and thread fixes
2014-11-30 08:41:49 -05:00
bunnei
2ad9ad9297
Merge pull request #228 from linkmauve/glfw-error
...
GLFW: Add an error callback before calling glfwInit()
2014-11-30 08:41:17 -05:00
bunnei
13005d54aa
Merge pull request #235 from yuriks/dyncom-map
...
dyncom: Use unordered_map rather than the terrible 2-level bb_map
2014-11-30 08:35:03 -05:00
Subv
5753da89e4
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString.
2014-11-29 21:16:28 -05:00
Emmanuel Gil Peyrot
648743cf66
GLFW: Add an error callback before calling glfwInit()
...
It will print a message to know what happened in case something went wrong in a GLFW call.
Also replace every printf() in the glfw emu-window by ERROR_LOG().
2014-11-29 23:03:04 +00:00
Yuri Kunde Schlesner
4a68e91a62
dyncom: Use unordered_map rather than the terrible 2-level bb_map
...
Seems (probably just placebo/wishful thinking) to make it slightly
faster. Also reduces memory usage and makes shutdown when debugging from
MSVC fast.
2014-11-29 17:42:39 -02:00
Lioncash
4f28861008
arm_dyncom_interpreter: Get rid of unused var warnings
2014-11-29 14:13:29 -05:00
darkf
a19354aced
Add comment regarding __WIN32__ in SkyEye code
2014-11-28 21:50:50 -08:00
darkf
459502e48c
Fix MinGW build
2014-11-28 21:38:20 -08:00
vaguilar
223e76d51d
Fixed formatting and switch statement warnings
2014-11-27 02:59:14 -08:00
bunnei
de851ba1a1
Thread: Check that thread is actually in "wait state" when verifying wait.
2014-11-26 15:04:08 -05:00
bunnei
f985469901
SVC: Add debug log to ArbitrateAddress.
2014-11-26 15:04:07 -05:00
bunnei
e0e7443517
SVC: SleepThread should yield to the next ready thread.
2014-11-26 15:04:07 -05:00
bunnei
a449e0e11a
Mutex: Changed behavior to always release mutex for all threads.
2014-11-26 14:38:42 -05:00
Emmanuel Gil Peyrot
f8c05e53c4
Remove unused includes to common/thread.h
2014-11-25 20:39:25 +00:00
archshift
43a682a106
Log the cmd_buff arguments when citra comes across an unimplemented function
2014-11-24 15:51:48 -08:00
archshift
e5ff01c2cd
Implemented RenameDirectory in FS:USER
2014-11-24 15:09:12 -08:00
archshift
45afc15aa6
Implemented RenameFile in FS:USER
2014-11-24 15:09:11 -08:00
Yuri Kunde Schlesner
8189593255
Use pointers instead of passing handles around in some functions.
2014-11-24 17:08:37 -02:00
Yuri Kunde Schlesner
22c86824a4
Remove duplicated docs/update them for changed parameters.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
c2588403c0
HLE: Revamp error handling throrough the HLE code
...
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.
This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.
One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.
The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.
Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
924bbde89b
Change some SkyEye defines to const ints
...
This prevents them from interfering with other constants defined in
different namespaces.
2014-11-24 16:47:01 -02:00
bunnei
ef1b16a7eb
Merge pull request #191 from archshift/deletexyz
...
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 20:02:23 -05:00
archshift
8aeadbd95a
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 00:33:43 -08:00
purpasmart96
9821bfcb8e
Add more services and some fixes, along with more "override"
...
in the service's headers
2014-11-20 17:09:57 -08:00
bunnei
c0cd0fa78e
Merge pull request #211 from linkmauve/master
...
Remove trailing spaces from the entire project
2014-11-19 15:24:46 -05:00
bunnei
112768f436
Merge pull request #208 from lioncash/statics
...
Add static to some variables
2014-11-19 09:39:20 -05:00
Emmanuel Gil Peyrot
739bb58c3a
Remove tabs in all files except in skyeye imports and in generated GL code
2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
2014-11-19 09:03:07 +00:00
Lioncash
7cbecde2ca
Add static to some variables
2014-11-18 20:04:00 -05:00
purpasmart96
66431bceda
Kernel:Add missing permissions in shared memory & svc
2014-11-18 15:57:25 -08:00
bunnei
40acd63631
Merge pull request #165 from neobrain/viewport-scaling
...
Stretch emulation output to render window and be display density independent
2014-11-18 18:32:01 -05:00
archshift
06c9712bc7
Merge Config::ReadXYZs
2014-11-18 15:12:49 -08:00
Tony Wasserka
219628d1c8
Merge pull request #207 from lioncash/docs
...
Fix documentation of parameters
2014-11-18 16:55:58 +01:00
Tony Wasserka
d218a547fa
Merge pull request #209 from lioncash/warn
...
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 16:54:56 +01:00
Tony Wasserka
ed4e599008
Merge pull request #210 from lioncash/typedef
...
system: Get rid of an unnecessary enum typedef
2014-11-18 16:54:37 +01:00
Lioncash
b37f91c617
system: Get rid of an unnecessary enum typedef
2014-11-18 09:00:32 -05:00
Lioncash
548c49dfe9
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 08:51:03 -05:00
Lioncash
64cc6cb6cf
Fix documentation of parameters
2014-11-18 08:31:24 -05:00
Lioncash
1a8f466217
Remove extraneous semicolons
2014-11-18 08:27:16 -05:00
Tony Wasserka
963c923d59
citra GLFW: Ignore minimal window size hints.
...
GLFW provides no proper support for this, hence we just allow any window size to be used.
2014-11-18 13:16:02 +01:00
Tony Wasserka
5785f764ab
EmuWindow: Add some explicit documentation and set proper minimal client area size.
2014-11-18 13:16:02 +01:00
Tony Wasserka
688a5c033e
citra-qt: Small cleanup.
2014-11-18 13:16:02 +01:00
Tony Wasserka
6a6464807a
EmuWindow: Add a TODO.
...
Implementing this function currently is not critical, as we don't perform any configuration changes, yet.
However, the interface is a good starting point for adding this functionality.
2014-11-18 13:16:02 +01:00
Tony Wasserka
e02ff0121f
MathUtil: Make Rectangle work with unsigned types.
2014-11-18 13:15:59 +01:00
Tony Wasserka
c5c6e095f0
OpenGL Renderer: Cleanup viewport extent calculation.
2014-11-18 13:09:01 +01:00
Tony Wasserka
19bb01c223
EmuWindow: Better document the purpose of OnMinimalClientAreaChangeRequest.
2014-11-18 13:09:01 +01:00
Tony Wasserka
182476c96a
EmuWindow: Remove window title getters/setters.
...
The window title is none of the emulation core's business. The GUI code is free to put whatever it wants there.
Providing properly thread-safe window title getters and setters is a mess anyway.
2014-11-18 13:09:01 +01:00
Tony Wasserka
ded9c8a826
EmuWindow: Add documentation.
2014-11-18 13:09:01 +01:00
Tony Wasserka
722ce22589
EmuWindow: Add support for specifying minimal client area sizes.
2014-11-18 13:09:01 +01:00
Tony Wasserka
bd8f491e4c
Fixup EmuWindow interface and implementations thereof.
2014-11-18 13:09:01 +01:00
Kevin Hartman
221a9b023d
Viewport scaling and display density independence
...
The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.
2014-11-18 13:06:05 +01:00
Tony Wasserka
c8d933a142
Add a GUI logging channel.
...
Replace asserts with _dbg_assert_.
2014-11-18 13:03:02 +01:00
Lioncash
72846c418e
core: Mark some hle functions as static
...
These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
2014-11-17 22:41:49 -05:00
bunnei
11641b5e79
Archive: Fixed to not destroy archive handle on close.
2014-11-17 22:19:14 -05:00
bunnei
bcb0dbf7e1
Archive: Fixed close archive before freeing.
2014-11-17 22:19:14 -05:00
bunnei
3e09c07378
FS_User: Support FileSye::Path in a more generic way.
...
added a todo to kernel archive
2014-11-17 22:18:58 -05:00
bunnei
a3107a6b57
FileSys: Updated backend code to use FileSys::Path instead of string for paths.
2014-11-17 21:49:24 -05:00
bunnei
c04a04189a
FileSys: Added DebugStr method to Path class.
2014-11-17 18:42:37 -05:00
bunnei
4ac4c3caf1
Merge pull request #201 from archshift/boss
...
Add missing boss:U service
2014-11-17 17:46:18 -05:00
bunnei
77fe4b5c9e
Merge pull request #199 from lioncash/prototype
...
mem_map: Add missing prototype for Write64
2014-11-17 15:21:41 -05:00
archshift
e27f169acb
Add missing boss:U service, needed according to Nintendo Zone logs.
2014-11-17 07:31:37 -08:00
Lioncash
827e7a1898
emu_window: Fix initializer list order.
...
Gets rid of a warning on OSX.
2014-11-17 09:27:59 -05:00
Lioncash
cfea27a615
mem_map: Add missing prototype for Write64
2014-11-16 22:50:13 -05:00
Tony Wasserka
8717c79fe4
Merge pull request #195 from lioncash/control
...
vertex_shader: Fix control reaches end of function warning
2014-11-16 22:50:00 +01:00
Lioncash
bd76783d91
vertex_shader: Fix control reaches end of function warning
2014-11-16 16:44:14 -05:00
Tony Wasserka
80e9c02bd6
Merge pull request #159 from SeannyM/enable_log
...
Add support for disabling log from settings
2014-11-15 12:42:08 +01:00
bunnei
26622818ae
Merge pull request #193 from lioncash/fmt
...
Fix two format strings.
2014-11-15 01:41:28 -05:00
bunnei
613627205c
Merge pull request #194 from lioncash/virt
...
ARM_Interface: Make destructor virtual
2014-11-15 01:38:51 -05:00
Lioncash
e8f4361d76
ARM_Interface: Make destructor virtual
...
Fixes some warnings on OSX.
2014-11-14 12:10:35 -05:00
Lioncash
ac58b76e71
Fix two format strings.
2014-11-14 12:08:26 -05:00
bunnei
3cfdabb2e3
Merge pull request #183 from archshift/lowpath
...
Add support for UTF-16 strings for LowPaths in FS:USER
2014-11-12 22:56:27 -05:00
archshift
1f7c4ab7f6
Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functions
2014-11-12 19:30:17 -08:00
bunnei
a490490336
Merge pull request #188 from bunnei/apt-fixes
...
APT_U: Various improvements and bug fixes.
2014-11-12 00:06:45 -05:00
bunnei
9fb549cb84
APT_U: Added stub for function AppletUtility.
2014-11-11 23:51:54 -05:00
bunnei
19cfcfe8c0
APT_U: Set a valid parameter buffer size in GlanceParameter.
...
- Also Clarified GlanceParameter/ReceiveParameter documentation.
2014-11-11 23:51:54 -05:00
bunnei
8eced1b697
APT_U: Release service lock on initialization.
2014-11-11 23:51:54 -05:00
bunnei
0df9c34410
APT_U: Fixes for GetLockHandle to boot system titles.
...
- Also added comment to GetLockHandle function.
2014-11-11 23:51:33 -05:00
bunnei
b8e6f52419
ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).
...
- Fixes single stepping in debugger.
2014-11-11 19:54:18 -05:00
bunnei
ce1125d490
Core: Changed RunLoop iterations to 1000 (slightly better performance).
2014-11-11 19:54:09 -05:00
bunnei
0fab380801
Citra-Qt: Use Core::RunLoop when not single stepping.
2014-11-11 19:53:47 -05:00
bunnei
573756e241
ARM: Removed unnecessary goto with each instruction.
2014-11-11 19:53:46 -05:00
bunnei
3409790668
ARM: Fixed several dyncom bugs.
...
- Fixed NZCVT flags to properly save state when function returns.
- Fixed counter to keep track of the actual number of instructions executed.
- Fixed single-step mode to only execute one instruction at a time.
- DefaultIni: Removed comment that no longer applied to dyncom.
2014-11-11 19:53:19 -05:00
archshift
37e582c395
Add FRD:U service and functions
2014-11-10 22:43:45 -08:00
archshift
0ad5964c8b
Add support for UTF-16 strings for LowPaths in FS:USER
2014-11-10 10:53:26 -08:00
archshift
1efb83bf53
Qt: Auto-start game when selected, play game that's passed via argv[1].
...
Also moves system initialization to when the game is booted.
2014-11-04 21:44:03 -08:00
Sean
371b61f3ea
Add support for disabling log from settings
2014-11-03 17:00:32 -05:00
Sean Maas
d06420807c
Fix compilation errors
2014-11-02 18:43:52 -05:00
bunnei
9be17e4d84
Merge pull request #163 from archshift/create-directory
...
Added CreateDirectory function to service/fs.cpp, and in Archive.
2014-11-02 17:15:52 -05:00
bunnei
be1fb2c5f2
Merge pull request #179 from Gareth422/myradicalbranch
...
Fixed capitalization issues
2014-11-02 17:12:16 -05:00
bunnei
7f9bcacdf7
Merge pull request #166 from bunnei/skyeye-vfp-fixes
...
SkyEye ARM/VFP fixes
2014-11-02 17:09:35 -05:00
archshift
04c90c395d
Added CreateDirectory function to service/fs.cpp, and in Archive.
2014-11-02 10:48:28 -08:00
archshift
40a84833ae
Added ReceiveNotification, PublishToSubscriber unimplemented functions to SRV
2014-11-01 23:15:38 -07:00
bunnei
0832cf7cd7
ARM: Merged additional ARMv6 instructions implemented by 3dmoo.
2014-11-02 01:04:54 -05:00
bunnei
bc6989b075
ARM: Merge latest VFP fixes from 3dmoo team.
2014-11-02 01:04:41 -05:00
Gareth Poole
1c074ced94
Fixed capitalization issues
2014-11-01 23:08:06 -04:00
archshift
c22923f8c4
Added stub err:f service.
2014-11-01 20:07:59 -07:00
bunnei
6e6947118b
Merge pull request #135 from purpasmart96/master
...
Added a bunch of services
2014-11-01 19:03:01 -04:00
purpasmart96
539b4c883d
Added a bunch of services
2014-11-01 15:28:35 -07:00
Yuri Kunde Schlesner
c6e3c7df62
Fix VFP compilation errors with gcc
2014-10-30 22:24:03 -02:00
bunnei
01e37962e7
Merge pull request #162 from SeannyM/warning-fixes
...
Fix some warnings
2014-10-29 21:07:27 -04:00
archshift
ed797a4354
FS:USER - Implemented IsSdmcDetected
2014-10-29 17:43:48 -07:00
Sean
9a012ff007
Fix some warnings
2014-10-29 20:26:15 -04:00
Gareth Poole
38df9e96dd
Renamed souce files of services to match port names
2014-10-29 15:55:51 -04:00
bunnei
48f80bb79e
Merge pull request #151 from archshift/dyncom-enabled
...
Use configuration files to enable or disable the new dyncom interpreter.
2014-10-27 22:51:10 -04:00
archshift
09e19f9f1e
Added `gpu_refresh_rate` config setting for the new interpreter speed hack.
2014-10-27 19:42:01 -07:00
archshift
0783498f57
Use configuration files to enable or disable the new dyncom interpreter.
2014-10-27 18:35:21 -07:00
bunnei
a110b06fb6
Merge pull request #141 from archshift/crash-hunt
...
hid.cpp: Fixed crash when updating pad data while null
2014-10-27 21:35:01 -04:00
bunnei
19d91a45f5
Merge pull request #153 from yuriks/add-override
...
Add override keyword where appropriate
2014-10-27 21:23:16 -04:00
Lioncash
d155586801
vfp_helper: Get rid of integer type redefinitions
2014-10-26 14:19:47 -04:00
Yuri Kunde Schlesner
d72708c1f5
Add `override` keyword through the code.
...
This was automated using `clang-modernize`.
2014-10-26 16:18:05 -02:00
Yuri Kunde Schlesner
da564d3fe0
Fix compile errors in Clang
2014-10-26 16:18:04 -02:00
Tony Wasserka
a7a57c04c6
Merge pull request #150 from lioncash/typo
...
bit_field: Fix a typo in the sample usage.
2014-10-25 21:19:43 +02:00
bunnei
70058f8151
Merge pull request #148 from archshift/no-cstring
...
Removed some uses of raw c-string manipulation functions.
2014-10-25 15:19:05 -04:00
Lioncash
2dce9b2ead
bit_field: Fix a typo in the sample usage.
2014-10-25 15:18:34 -04:00
bunnei
818ba32746
ARM: Removed unnecessary and unused SkyEye MMU code.
...
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25 14:11:41 -04:00
bunnei
3c823c0028
ARM: Removed unused armos code from SkyEye.
2014-10-25 14:11:40 -04:00
bunnei
130efd461d
ARM: Updated dyncom core to use fast label lookup table on clang.
2014-10-25 14:11:40 -04:00
bunnei
53a22b84da
ARM: Integrate SkyEye faster "dyncom" interpreter.
...
Fixed typo (make protected member public)
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
ARM: Fixed a type error in dyncom interpreter.
ARM: Updated dyncom to use unique_ptr for internal ARM state.
2014-10-25 14:11:39 -04:00
bunnei
b5e6524594
ARM: Reorganized file structure to move shared SkyEye code to a more common area.
...
Removed s_ prefix
2014-10-25 14:11:39 -04:00
Emmanuel Gil Peyrot
2d960f5040
Don’t fail on empty filename in OpenFileDirectly, return the archive handle instead
2014-10-25 16:12:57 +00:00
archshift
7fa4dbd0c6
Removed uses of raw c-string manipulation functions.
2014-10-23 21:44:10 -07:00
bunnei
ce8390ac03
Merge pull request #133 from archshift/sdmc-enabled
...
Use config files to store whether SDMC is enabled or not, auto-create SDMC dir.
2014-10-23 18:51:54 -04:00
Yuri Kunde Schlesner
b75ac24391
Use std sized types instead of platform specific typedefs
2014-10-22 22:43:15 -02:00
archshift
a7c7946867
Common: Return from CreateFullPath early if the directory creation fails
2014-10-22 15:24:25 -07:00
archshift
a59f57d504
Use config files to store whether SDMC is enabled or not
...
Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs).
2014-10-22 15:24:25 -07:00
Yuri Kunde Schlesner
15c59f3974
Only check OpenGL shader log if size is >1.
...
This prevents a crash when the buffer size returned by the driver is 0,
in which case no space is allocated to store even the NULL byte and
glGetShaderInfoLog errors out.
Thanks to @Relys for the bug report.
2014-10-21 16:07:39 -02:00
archshift
36c04ae2ee
emu_window_glfw.cpp: Fixed graceful quitting
...
In PR #143 , the name of the function IsOpen was originally ShouldClose, but was changed. The function's caller was changed to reflect this, but the return value wasn't.
2014-10-19 00:53:49 -07:00
archshift
ccb59a9d28
Implemented graceful closing of the GLFW window, along with emulation.
2014-10-17 14:56:17 -07:00
archshift
366ae1b351
hid.cpp: Fixed crash when updating pad data while null
...
Fixes #137
2014-10-13 22:18:03 -07:00
Yuri Kunde Schlesner
ac54cd13db
OpenGL renderer: Request a forward compatible context in citra-qt
...
This should fix context creation on OS X. Also requests a core context on all platforms in Citra-GLFW, for consistency.
2014-10-12 14:39:02 +02:00
Yuri Kunde Schlesner
11642fd3a2
Rework OpenGL renderer.
...
The OpenGL renderer has been revised, with the following changes:
- Initialization and rendering have been refactored to reduce the number of
redundant objects used.
- Framebuffer rotation is now done directly, using texture mapping.
- Vertex coordinates are now given in pixels, and the projection matrix
isn't hardcoded anymore.
2014-10-12 14:38:53 +02:00
Yuri Kunde Schlesner
fec7f6b035
Rename GPU::Regs::FramebufferFormat to PixelFormat
...
This name better represents what the enum does, and is less overloaded
in the context. (The whole register the enum is part of is also called
'format'.)
2014-10-12 14:37:24 +02:00
Yuri Kunde Schlesner
5f598a5e2c
OpenGL renderer: Shuffle initialization code around and rename functions.
2014-10-12 14:37:24 +02:00
Yuri Kunde Schlesner
787a1b047c
Remove virtual inheritance from RendererOpenGL
...
Also make destructor virtual so that instances are properly destructed.
2014-10-12 14:37:24 +02:00
bunnei
8fb064cd62
Merge pull request #119 from lioncash/warn
...
Fix warnings in video_core
2014-10-08 23:06:28 -04:00
Lioncash
eb5054e6eb
Fix warnings in video_core
2014-10-07 20:35:13 -04:00
bunnei
8d1154c24e
Merge pull request #128 from purpasmart96/master
...
APT:U Added a stub fuction for "GlanceParameter"
2014-10-07 20:30:21 -04:00
purpasmart96
20f15f31dd
APT: Added a stub for the "GlanceParameter" function.
2014-10-07 17:10:54 -07:00
bunnei
a171000cbe
Merge pull request #108 from archshift/config
...
Configuration files
2014-10-07 19:44:13 -04:00
archshift
e6594f9f53
Added configuration file system.
...
Uses QSettings on citra-qt, and inih on citra-cli.
2014-10-07 15:09:37 -07:00
Emmanuel Gil Peyrot
fbd72fd6bf
Common: Add a helper function to generate a 8.3 filename from a long one.
...
Core: Fix the SDMC Directory implementation to make blargSnes work.
2014-10-06 19:58:43 +02:00
Emmanuel Gil Peyrot
19c2a96ab0
FileSys: Add static asserts for the Directory struct, and fix its fields position.
2014-10-06 19:58:43 +02:00
Emmanuel Gil Peyrot
0be5c03176
FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.
...
Kernel: Return an invalid handle to OpenFile when it failed to open.
2014-10-06 19:58:42 +02:00
Emmanuel Gil Peyrot
23c2fbfc7a
FileSys/Kernel: Implement SetSize service call for File objects.
2014-10-06 19:58:37 +02:00
Emmanuel Gil Peyrot
d34673990b
FileSys: Add forgotten docstrings.
2014-10-06 19:54:50 +02:00
purpasmart96
1d0ac47832
Added some more names to the function table
...
Added "SetApplicationCpuTimeLimit" and "GetApplicationCpuTimeLimit" to apt.cpp
2014-10-04 15:01:36 -07:00
purpasmart96
7d6f7684e1
added "StoreDataCache" to the function table
...
seems simple enough
2014-09-30 09:13:29 -07:00
Lioncash
ca2f0de08a
Fix warnings in core and common
2014-09-28 11:44:14 -04:00
bunnei
ee7cfc71bd
Merge pull request #118 from lioncash/chunk-file
...
chunk_file: General cleanup
2014-09-22 22:02:51 -04:00
Lioncash
ff442d6cf9
chunk_file: General cleanup
...
- Remove unnecessary ifdefs
- Remove commented out code. Can be retrieved later if needed.
2014-09-21 18:36:14 -04:00
archshift
1966f7b0ad
Use the citra user path for the sdmc directory
2014-09-21 09:34:33 -07:00
Emmanuel Gil Peyrot
3a570a9fee
Kernel: Implement the Close command for Archive, File and Directory.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
99bfa4ae1f
FS: Implement OpenArchive, OpenDirectory, OpenFile and OpenFileDirectly calls.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
c197ce2180
Kernel: Add a Directory object and a getter for it from an Archive object.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
c14e5713f5
Core: Add a method to obtain a Directory from an Archive.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
33b0d1081e
Core: Add a Directory object, with both a stub and a passthrough implementations.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
19d04f3abe
Kernel: Add a File object and a getter for it from an Archive object.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
e73caaefe5
Core: Add a passthrough backend for the filesystem, exposed as SDMC.
2014-09-17 14:35:45 +00:00
Emmanuel Gil Peyrot
9251f7e2f8
Core: Add a new File class, obtainable from an Archive, and a stub implementation.
2014-09-17 14:35:45 +00:00
Emmanuel Gil Peyrot
6b7b36a874
Common: Rename the File namespace to FileUtil, to match the filename and prevent collisions.
2014-09-17 14:35:45 +00:00
Emmanuel Gil Peyrot
edaf59a759
Common: Return the number of items read/written in IOFile’s methods instead of a boolean.
2014-09-17 14:35:45 +00:00
bunnei
1c79a4f10c
Merge pull request #107 from lioncash/sprintf
...
Core: Replace a sprintf in core_timing with StringFromFormat
2014-09-16 16:54:41 -04:00
bunnei
73b6f85f9a
Merge pull request #109 from lioncash/cruft
...
Core: Get rid of unnecessary switch statement in Kernel
2014-09-15 00:47:13 -04:00
Lioncash
741321ac24
Core: Get rid of unnecessary switch statement in Kernel
2014-09-14 21:31:09 -04:00
bunnei
31d9cf4d17
Merge pull request #110 from lioncash/warnings
...
Core: Fix warnings in gpu.cpp
2014-09-14 21:28:44 -04:00
bunnei
5481115e71
Merge pull request #97 from archshift/cleanup
...
Small, general code cleanup
2014-09-13 22:58:58 -04:00
Lioncash
6cc7c73b80
Core: Fix warnings in gpu.cpp
2014-09-13 22:55:41 -04:00
Lioncash
093d6fbcdc
Core: Replace a sprintf in core_timing with StringFromFormat
2014-09-12 21:18:46 -04:00
Kevin Hartman
02fd19b2f6
Added support for multiple input device types for KeyMap and connected Qt.
2014-09-12 01:15:14 -07:00
Kevin Hartman
4a94ec934a
Initial HID PAD work, with GLFW only.
2014-09-11 22:43:42 -07:00
Kevin Hartman
bb7ddede15
Created structure for PAD.
2014-09-11 22:43:42 -07:00
bunnei
532a9e80a0
Merge pull request #99 from archshift/ext-check
...
loader.cpp: improved file extension checking, made Upper/LowerStr useful, moved string_util into Common namespace
2014-09-11 00:04:36 -04:00
bunnei
d79fe3ebaa
Merge pull request #103 from archshift/prune
...
Prune redundant includes
2014-09-10 18:44:08 -04:00
bunnei
249a567834
Merge pull request #104 from archshift/removal
...
Removed fixed_size_queue.h
2014-09-09 20:56:28 -04:00
bunnei
8891c27425
Merge pull request #101 from lioncash/inf-loop
...
Common: Fix a potential infinite loop in StringUtil's ReplaceAll
2014-09-09 20:53:33 -04:00
archshift
727bad24a2
Removed fixed_size_queue.h
...
It's unused and doesn't look like it compiles anyway :/
2014-09-08 18:49:41 -07:00
archshift
6e606c515f
core: Prune redundant includes
2014-09-08 17:54:14 -07:00
archshift
9d7cc2bedc
common: Prune all redundant includes
2014-09-08 17:25:43 -07:00
archshift
8fe5f2e2fe
Moved common_types::Rect from common to Common namespace
2014-09-08 15:43:36 -07:00
archshift
5472fd4d9b
Added string_util to common, small changes in loader.cpp
2014-09-08 15:43:22 -07:00
archshift
4ed24a0619
loader.cpp: improved file extension checking, made Upper/LowerStr useful
...
Instead of forcibly taking the last 4 characters, it now finds the last extension separator (the period) and takes a substr of its location.
2014-09-08 15:41:58 -07:00
Lioncash
5b65decf91
Common: Remove HAVE_CXX11_SYNTAX define from Common.h
2014-09-08 15:01:15 -04:00
Lioncash
2f6ef914db
Common: Fix a potential infinite loop in StringUtil's ReplaceAll
2014-09-08 14:48:59 -04:00
bunnei
335082e74e
Merge pull request #95 from lioncash/disassembler
...
core: Make the ARM disassembler use std::string internally
2014-09-08 00:10:13 -04:00
bunnei
85f1b76cd8
Merge pull request #87 from archshift/remove-cruft
...
Removed redundant headers for std implementations
2014-09-07 22:08:06 -04:00
archshift
498d1a37f1
Removed common/std_xyz, instead using the std header
2014-09-07 14:31:07 -07:00
archshift
81baa477b5
renderer_opengl.cpp: improved alignment for readability
2014-09-07 12:09:02 -07:00
archshift
1c02c03e32
Dead code removal: video_core.cpp, load_symbol_map.cpp
2014-09-07 12:09:02 -07:00
archshift
9c0efdb75b
bootmanager::EmuThread: fixed initialization order
2014-09-07 12:09:02 -07:00
archshift
0167e9140e
utils: cleaned up DumpTGA, removing redundancies
2014-09-07 12:09:02 -07:00
Lioncash
403c84cdab
core: Make the ARM disassembler use std::string internally
2014-09-06 14:45:56 -04:00
bunnei
a130086587
Merge pull request #93 from lioncash/ref
...
core: Pass string by reference in FetchFromPortName and DeleteService
2014-09-06 14:06:37 -04:00
Lioncash
f68776ce13
ncch: Remove C-style struct typedefs
...
In C++ you can simply just declare it as is.
2014-09-06 13:38:03 -04:00
Lioncash
26cd696843
ncch: inline declare some variables in LZSS_Decompress
2014-09-06 13:36:49 -04:00
Lioncash
d30747efea
core: Pass string by reference in FetchFromPortName and DeleteService
2014-09-06 13:30:27 -04:00
archshift
4795a64fc8
Removed common/atomic, instead using std::atomic
2014-09-02 22:40:02 -07:00
Yuri Kunde Schlesner
c57de3e404
Remove hand-crafted Visual Studio solution.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
b15d631d99
Avoid LOGGING redefinition warnings.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
45976da975
CMake cleanup
...
Several cleanups to the buildsystem:
- Do better factoring of common libs between platforms.
- Add support to building on Windows.
- Remove Qt4 support.
- Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
478289140d
Replace GLEW with a glLoadGen loader.
...
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
2014-09-01 17:41:56 -03:00
bunnei
76372feb19
Merge pull request #84 from bunnei/fix-hw-synchronization
...
Fix GPU/HW synchronization
2014-08-31 00:53:07 -04:00
bunnei
038a51aac1
Merge pull request #82 from yuriks/addr-types
...
Introduce VAddr and PAddr typedefs for ARM addresses.
2014-08-30 23:27:46 -04:00
bunnei
aabfcfe6ad
GPU: Improve frame synchronization, increases compatibility with both homebrew and retail applications.
2014-08-30 23:24:14 -04:00
bunnei
eb36d3fc90
Core: Refactor core to use only one function for execution.
...
Core: Cleaned up comment to be more readable.
Citra: Changed loop to be more readable.
2014-08-30 23:23:38 -04:00
bunnei
738b88293c
Loader: Added support for loading raw BIN executables.
...
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
2014-08-30 23:23:33 -04:00
bunnei
3ade84cb7b
Threading: Fix thread starting to execute first instruction correctly.
2014-08-30 23:23:32 -04:00
bunnei
ae93adddd1
srv::Initialize: Return "success" status code.
2014-08-30 23:23:31 -04:00
Yuri Kunde Schlesner
83c3d2bcd1
Introduce VAddr and PAddr typedefs for ARM addresses.
2014-08-31 00:04:11 -03:00
bunnei
06864c93fd
Merge pull request #80 from bunnei/fix-latest-libctru
...
Fixes Citra for the latest changes made to the "refactor" branch of libctru.
- For reference, see: https://github.com/smealum/ctrulib/tree/refactor/libctru
2014-08-28 18:07:45 -04:00
bunnei
6966fdf025
Loader: Added support for loading raw BIN executables.
...
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
2014-08-28 17:51:49 -04:00
bunnei
304999dfeb
Threading: Fix thread starting to execute first instruction correctly.
2014-08-28 17:51:49 -04:00
bunnei
fb908b9395
srv::Initialize: Return "success" status code.
2014-08-28 17:51:41 -04:00
Yuri Kunde Schlesner
9d172ab550
Downgrade GLSL version to 1.50 (compatible with GL 3.2)
2014-08-28 05:38:13 -03:00
bunnei
20d169e4a1
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
2014-08-26 17:34:52 -04:00
Kevin Hartman
cbfd6b6e52
Rewrite of OpenGL renderer, including OS X support
...
Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads.
Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk.
2014-08-25 20:56:59 -07:00
Tony Wasserka
a79644c9ba
Pica/Rasterizer: Clarify a TODO.
2014-08-25 22:03:19 +02:00
Tony Wasserka
697b50c3ff
Pica/VertexShader: Fix a bug in the call stack handling.
2014-08-25 22:03:19 +02:00
Tony Wasserka
b5b3aeb576
Math: Warning fixes.
2014-08-25 22:03:19 +02:00
Tony Wasserka
941762a573
GPU: Fix a compiler warning about redundant semicolons.
2014-08-25 22:03:19 +02:00
Tony Wasserka
2f1c129f64
Pica: Consolidate the primitive assembly code in PrimitiveAssembly and GeometryDumper.
2014-08-25 22:03:19 +02:00
Tony Wasserka
9679d231df
Pica/Rasterizer: Add texturing support.
2014-08-25 22:03:18 +02:00
Tony Wasserka
34fa0b6d9c
Pica/DebugUtils: Add convenient tev setup printer.
2014-08-25 22:03:18 +02:00
Tony Wasserka
27cab6477e
Pica/Rasterizer: Add initial implementation of texture combiners.
2014-08-25 22:03:18 +02:00
Tony Wasserka
c4691b784b
Pica: Add support for dumping textures.
2014-08-25 22:03:18 +02:00
Tony Wasserka
162d641a30
Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.
...
- Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work).
- The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors.
- Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
2014-08-25 22:03:18 +02:00
Tony Wasserka
62c36a4ef0
Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers.
2014-08-25 22:03:18 +02:00
Tony Wasserka
26ade98411
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
2014-08-25 22:03:18 +02:00
Tony Wasserka
0465adf206
Pica/CommandProcessor: Implement parameter masking.
2014-08-25 22:03:18 +02:00
Tony Wasserka
f37e39deb9
Pica: Add debug utilities for dumping shaders.
2014-08-25 22:03:18 +02:00
Tony Wasserka
6ea003c7b5
Pica: Add debug utility functions for dumping geometry data.
2014-08-25 22:03:18 +02:00
Tony Wasserka
14b24a75b3
GSP: Update framebuffer information when necessary.
2014-08-25 22:03:18 +02:00
Tony Wasserka
590c206ac8
GSP: Implement SetBufferSwap.
2014-08-25 22:03:18 +02:00
Tony Wasserka
e832bbe554
GSP: Add a helper function for convenience.
2014-08-25 22:02:33 +02:00
Sacha
1b1205cf73
Pass format to the QGLWidget and use atomic instead of mutex.
2014-08-25 03:42:52 +10:00
Sacha
b044510fa9
Fix EmuThread loop by ensuring it exits properly.
...
Note: There is a pre-existing issue with booting a new game in that it keeps the old EmuThread.
The GL code now supports this but the Core still doesn't.
2014-08-25 01:49:34 +10:00
Sacha
a3a70e56ac
Fix the threading for GL Context in Qt5.
...
Connect the emu_thread start/finish to a moveContext slot.
2014-08-25 00:47:00 +10:00
bunnei
0ffc966e42
Merge pull request #68 from archshift/readfile
...
Added FS functions to Archive and Archive_RomFS
2014-08-22 18:50:00 -04:00
archshift
4c4a01bf41
Added FS functions to Archive and Archive_RomFS
2014-08-22 15:45:10 -07:00
bunnei
c3c66ad34d
Merge pull request #46 from archshift/citrah
...
Removed unused citra.h
2014-08-21 18:27:54 -04:00
bunnei
59d512484a
Merge pull request #58 from lioncash/clamp
...
Common: Add a clamp function to math_utils.h
2014-08-21 11:31:43 -04:00
Emmanuel Gil Peyrot
ef27770a53
ARM: Remove a forgotten const in vfp.
2014-08-20 17:50:27 +00:00
archshift
d93dc81953
Revert "Removed redundant loop in EmuThread::run()"
2014-08-20 10:15:12 -07:00
archshift
80c4d7bf48
Removed unused citra.h
2014-08-19 22:22:12 -07:00
bunnei
bc64261d29
Merge pull request #60 from xsacha/qt5
...
Use Qt5 by default for citra-qt project.
2014-08-19 19:08:01 -04:00
bunnei
0db986d92a
Merge pull request #61 from lioncash/kernel-stuff
...
Core: Use std::array for managing kernel object space
2014-08-19 19:01:22 -04:00
bunnei
39fbb0d508
Merge pull request #59 from lioncash/fwddecl
...
Common: Get rid of an unnecessary forward declaration in symbols.h
2014-08-19 19:00:22 -04:00
Sacha
90f23020f5
Add Qt5 option. Use Qt5 by default.
2014-08-19 21:34:00 +10:00
Lioncash
2f571a0d9d
Common: Add a clamp function to math_utils.h
2014-08-19 03:37:38 -04:00
Lioncash
ab4648d3ca
Core: Use std::array for managing kernel object space
...
These avoid relying on memset for clearing the arrays.
2014-08-19 00:32:48 -04:00
bunnei
e9c5c563a5
Merge pull request #55 from lioncash/string
...
Core: Alter the kernel string functions to use std::string instead of const char*.
2014-08-18 21:42:44 -04:00
bunnei
10f25866e2
SVC: Added support for svc_GetSystemTick.
...
Changed HLE function return methods to be static inline functions.
2014-08-18 21:26:20 -04:00
Lioncash
85a20a9b19
Common: Get rid of an unnecessary forward declaration in symbols.h
2014-08-18 16:40:17 -04:00
bunnei
0a1aab5b42
Merge pull request #57 from lioncash/str
...
Common: Don't return a reference to a string when calling GetName in symbols.cpp
2014-08-18 15:35:47 -04:00
Lioncash
a49a5fa4d9
Common: Don't return a reference to a string when calling GetName in symbols.cpp
...
Returning a copy of the string is what was likely meant to be done.
2014-08-18 01:59:03 -04:00
Sacha
b7ecc9543a
CMake Cleanup
2014-08-18 14:35:44 +10:00
Lioncash
98fa3f7cba
Core: Alter the kernel string functions to use std::string instead of const char*.
...
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
2014-08-17 23:12:20 -04:00
bunnei
68c81f28d9
Merge pull request #52 from lioncash/memory
...
Common: Correctly set ptr to null if mmap fails in memory_util
2014-08-17 20:38:28 -04:00
bunnei
3cd5ede355
Merge pull request #49 from archshift/redundantloop
...
Removed redundant loop in EmuThread::run()
2014-08-17 20:35:18 -04:00
bunnei
54d5d4477f
Merge pull request #48 from linkmauve/master
...
Replace insecure temporary file creation with devshm.
2014-08-17 20:33:47 -04:00
bunnei
b26f25356d
Merge pull request #51 from lioncash/pragma
...
Common: Move header guards over to pragma once.
2014-08-17 20:32:04 -04:00
bunnei
7ed73af78f
Merge pull request #53 from lioncash/memmap
...
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
2014-08-17 20:30:30 -04:00
Lioncash
986dd27392
Core: Fix a formatting error in svc.cpp
...
entry_point would not be added to the string. Also used StringFromFormat
so that the buffer is unnecessary.
2014-08-17 14:28:39 -04:00
Lioncash
da18671166
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
2014-08-17 14:23:54 -04:00
Lioncash
cc9f352b66
Common: Correctly set ptr to null if mmap fails in memory_util
...
On POSIX systems mmap will return MAP_FAILED ((void*)-1) instead of a null pointer.
2014-08-17 14:08:43 -04:00
Lioncash
da6f24b374
Common: Move remaining C header includes over to their C++ equivalent
2014-08-17 13:54:06 -04:00
Lioncash
90e994471a
Common: Move header guards over to pragma once
...
Also replaced C headers with the C++ equivalent ones
2014-08-17 13:45:55 -04:00
archshift
9a4e58c370
Removed redundant loop in EmuThread::run()
2014-08-16 23:31:25 -07:00
Emmanuel Gil Peyrot
c91d9fd837
mem_arena: Replace insecure temporary file creation with devshm, importing Dolphin’s code.
2014-08-16 10:12:30 +02:00
archshift
6096b289b7
Bootmanager: changed `filename` to std::string
2014-08-14 23:59:31 -07:00
bunnei
73c53b5eb8
Merge pull request #43 from archshift/iftree
...
Simplified if-tree in extended_trace.cpp
2014-08-13 13:16:03 -04:00
bunnei
388356f629
Merge pull request #42 from archshift/glexp
...
Use glewExperimental to fix crashes with citra-glfw
2014-08-13 13:10:45 -04:00
archshift
662a1993e6
float24: Remove private default constructor
...
Fixes building with clang.
2014-08-13 02:54:16 -07:00
bunnei
bf7bc3dacd
Merge pull request #39 from bunnei/hid-minor-improvements
...
Hid minor improvements
2014-08-12 18:23:17 -04:00
bunnei
091f6cf55b
HID: Added new function entries from 3dbrew to FunctionTable.
...
HID: Fix typo with DisableGyroscopeLow command.
2014-08-12 18:08:09 -04:00
archshift
a7c549a40c
Simplified if-tree in extended_trace.cpp
2014-08-12 14:34:25 -07:00
archshift
d71af1bd20
Use glewExperimental on Linux in order to fix GLFW-mode
2014-08-12 13:42:04 -07:00
bunnei
0ccd026a6d
Merge pull request #41 from archshift/itr
...
Changed iterators to use auto, many of which using range-based loops
2014-08-12 10:12:39 -04:00
Tony Wasserka
94d742fe17
Pica: Add basic rasterizer.
2014-08-12 13:50:07 +02:00
Tony Wasserka
94aa9da562
Pica: Add triangle clipper.
2014-08-12 13:49:33 +02:00
Tony Wasserka
9a76a2d061
Pica: Add primitive assembly stage.
2014-08-12 13:48:56 +02:00
Tony Wasserka
c526512619
Pica: Add vertex shader implementation.
2014-08-12 13:48:10 +02:00
Tony Wasserka
d443f0a921
Pica: Implement vertex loading.
2014-08-12 13:47:31 +02:00
Tony Wasserka
1a43f69477
Pica: Add register definition for vertex loading and rendering.
2014-08-12 13:47:31 +02:00
Tony Wasserka
76a586de49
Pica: Add command processor.
2014-08-12 13:47:30 +02:00
Tony Wasserka
98ad16a45b
Pica: Add float24 structure.
...
24-bit floating points are used internally for calculations on the GPU, however the current code will still emulate that with 32-bit floating points.
In the future we might want to accurately perform the calculations with correct bitness in the future, but for now we just wrap the calculations around this class.
2014-08-12 13:46:24 +02:00
Tony Wasserka
8528c810cf
Video core: Add utility class for vector operations.
...
I wrote most of this for ppsspp, so I hold full copyright over it.
In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.
2014-08-12 13:46:20 +02:00
Tony Wasserka
7b6a7d7dfb
Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
...
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible.
This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
2014-08-12 13:32:56 +02:00
Tony Wasserka
bd798390d5
GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore.
2014-08-12 13:32:18 +02:00
archshift
1a2604902f
break_points.cpp: return directly from conditionals
2014-08-12 04:04:54 -07:00
archshift
e3efc613fd
break_points: cleaned up, added `find_if`s
2014-08-12 03:48:11 -07:00
archshift
5a7c3ad194
Changed iterators to use auto, some of which using range-based loops
2014-08-11 17:53:23 -07:00
Tony Wasserka
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-12 02:17:21 +02:00
Anthony J. Bentley
dad3655a6d
Use pthread_set_name_np() on OpenBSD.
2014-08-07 22:56:58 -06:00
bunnei
552287498a
HID: Implemented HID_User::GetIPCHandles service function.
2014-08-07 20:27:56 -04:00
bunnei
66f91b4346
SVC: Fixed typo with MapMemoryBlock DEBUG_LOG call.
2014-08-07 20:27:11 -04:00
bunnei
0805ecbaca
GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line).
2014-08-06 18:20:02 -04:00
bunnei
7ada2625fe
GPU: Updated horizontal sync line counter to use framebuffer height.
2014-08-06 18:20:01 -04:00
bunnei
d4bd2f2e5d
Thread: Added more descriptive comment to WaitCurrentThread.
2014-08-06 18:19:59 -04:00
bunnei
cad2f21985
GSP: Cleaned up command buffer decoding.
...
GSP: Cleaned up code and added additional comments.
GSP: Removed unnecessary TODO comment.
GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned.
2014-08-06 18:19:56 -04:00
bunnei
36fd1c169e
GSP: Added reinitialization of other state objects.
2014-08-05 23:58:00 -04:00
bunnei
4e9f305ed2
GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.
...
- Various other cleanups.
2014-08-05 23:58:00 -04:00
bunnei
99e404e221
GSP: Removed unnecessary GX_FinishCommand function.
2014-08-05 23:57:59 -04:00
bunnei
ec14ffe1cd
GSP: Implements preliminary command synchronization via GPU interrupts.
...
Core: Added a comment to explain the logic for the RunLoop iterations.
2014-08-05 23:57:53 -04:00
bunnei
c48ab0bd9e
MemMap: Fixed typo with GetPointer to VRAM address.
2014-08-05 23:54:28 -04:00
bunnei
2542350b85
AddressArbiter: Removed unnecessary HLE::Reschedule.
2014-08-05 23:54:28 -04:00
bunnei
60078baab1
AddressArbiter: Fixed bug with break statements missing from case statements.
2014-08-05 23:54:27 -04:00
bunnei
1b247b8031
SRV: Updated GetProcSemaphore to create an event instead of a mutex.
2014-08-05 23:54:27 -04:00
bunnei
4d4607041b
SVC: Removed ArbitrateAddress log message that spams to much.
2014-08-05 23:53:58 -04:00
bunnei
7a1f813be1
Kernel: Updated Event and Mutex to specify handle that they are blocking for.
2014-08-05 20:14:51 -04:00
bunnei
2003ccf09d
Qt: Removed unnecessary HW::Update.
2014-08-05 20:14:49 -04:00
bunnei
90aaab1df0
Merge pull request #36 from bunnei/fix-memory-unaligned-reads
...
Fix memory unaligned reads
2014-08-05 20:09:04 -04:00
bunnei
967e5629de
MemMap: Added an error for unaligned 16-bit memory reads.
2014-08-05 20:05:06 -04:00
bunnei
da81742439
MemMap: Removed Read64 function.
...
- Unused code
- Was not correct for unaligned memory reads
2014-08-05 20:01:55 -04:00
bunnei
81fa804b3c
FS: Fix port name (old port name was based on an unaligned memory read).
2014-08-05 19:58:33 -04:00
bunnei
2b52ec4829
MemMap: Fix Read32 for unaligned memory reads.
...
MemMap: Cleaned up Read32 unaligned memory access.
2014-08-05 19:58:28 -04:00
bunnei
77fc029a00
ARM: Synchronize Citra's SkyEye core with 3dmoo's.
2014-07-23 19:16:40 -04:00
bunnei
866d2a62e9
Merge pull request #27 from neobrain/disassembly_view_rewrite
...
citra-qt: Rewrite disassembly view.
2014-07-23 10:43:46 -04:00
Tony Wasserka
c131fb2c27
citra-qt: Show function names in disassembler based on bunnei's suggestion.
2014-07-23 00:58:52 +02:00
Tony Wasserka
456b9feb25
Disassembler: Chose slightly lower value for chunk size.
2014-07-23 00:50:28 +02:00
Tony Wasserka
9fd2537e93
Use uniform formatting when printing hexadecimal numbers.
2014-07-23 00:44:31 +02:00
Tony Wasserka
afcb250b31
Fix a few warnings.
...
Templates shouldn't be marked as inline if they aren't defined in the header.
2014-07-23 00:44:31 +02:00
Tony Wasserka
2eb61dafc0
GPU: Clarify display transfer code.
...
Also makes the illogical component order more obvious.
2014-07-23 00:44:31 +02:00
Tony Wasserka
61e2ffd448
GPU: Add documentation.
2014-07-23 00:44:31 +02:00
Tony Wasserka
4b141791ed
GSP: Add a few comments.
2014-07-23 00:44:31 +02:00
Tony Wasserka
9b0d0c81a0
GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.
...
Anonymous structs are not standard C++, hence don't use them.
2014-07-23 00:44:31 +02:00
Tony Wasserka
246cb75584
RegisterSet: Simplify code by using structs for register definition instead of unions.
2014-07-23 00:33:08 +02:00
Tony Wasserka
75775e9ef4
GPU: Make use of RegisterSet.
2014-07-23 00:33:08 +02:00
Tony Wasserka
357d893b26
GPU: Make framebuffer code format-aware.
2014-07-23 00:33:08 +02:00
Tony Wasserka
c6fdeb7b23
Renderer: Fix component order in bottom framebuffer.
2014-07-23 00:33:08 +02:00
Tony Wasserka
cb6f97b2eb
Renderer: Respect the active_fb GPU register.
2014-07-23 00:33:08 +02:00
Tony Wasserka
9b96407e8e
Renderer: Add a few TODOs.
2014-07-23 00:33:08 +02:00
Tony Wasserka
9d618d0b70
GPU: Interface cleanup.
2014-07-23 00:33:08 +02:00
Tony Wasserka
46950ee4de
GPU: Initialize GPU registers to some sensible default state.
2014-07-23 00:33:08 +02:00
Tony Wasserka
baf0aa04f5
GPU: Emulate memory fills.
2014-07-23 00:33:08 +02:00
Tony Wasserka
0b4055c152
GPU: Add proper framebuffer register handling.
2014-07-23 00:33:08 +02:00
Tony Wasserka
bbc6f314eb
GPU: Properly implement display transfers.
2014-07-23 00:33:08 +02:00
Tony Wasserka
16bbc4f81b
GPU: Add display transfer configuration.
2014-07-23 00:33:08 +02:00
Tony Wasserka
ec9511e1db
GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.
2014-07-23 00:33:08 +02:00
Tony Wasserka
cb8f49b7ea
GSP: Implement ReadHWRegs and WriteHWRegs properly.
2014-07-23 00:33:05 +02:00
Tony Wasserka
994d29f416
Use a more compatible choice of initial framebuffer addresses.
2014-07-22 22:27:27 +02:00
Tony Wasserka
a4d89edd9b
GPU debugger: Don't keep track of debugging data if no debugger views are active.
2014-07-22 22:27:27 +02:00
bunnei
97d47d55f3
Merge pull request #32 from yuriks/master
...
[build] Search for the git binary in the default msysgit install dir
2014-07-21 10:51:51 -04:00
Lioncash
8761461003
core: Kill off type redefenitions in armdefs.h
2014-07-19 22:02:21 -04:00
Yuri Kunde Schlesner
78eb8ba844
[build] Search for the git binary in the default msysgit install dir
...
The Git for Windows installer doesn't add the Git binaries to the path
by default. (Due to risk of conflicts with built-in windows commands.)
Unless you have configured your system specially this causes the
scm_rev_gen.js script to fail to find Git. Added more paths to the
script so that it searches in the default msysgit installation
directory, eliminating the need to set the PATH for most environments.
2014-07-19 17:16:05 -03:00
Tony Wasserka
0da8e2eacc
BitField: Cast enum values to proper integer type.
2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9
BitField: Add a static_assert.
...
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5
BitField: Delete copy assignment to prevent obscure bugs.
...
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d
BitField: Add an explicit evaluation method.
...
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
3eb89f3e98
Kernel: Added preliminary support for address arbiters.
...
AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace.
2014-07-08 18:46:38 -04:00
bunnei
ba840d3200
Thread: Added functions to resume threads from address arbitration.
...
Thread: Cleaned up arbitrate address functions.
Thread: Cleaned up ArbitrateAllThreads function.
2014-07-08 18:46:15 -04:00
bunnei
59f2750482
function_wrappers: Fixed incorrect wrapper, added another.
2014-07-07 22:13:40 -04:00
bunnei
7ff92c36ed
SharedMemory: Updated MapSharedMemory to use an enum for permissions.
...
- Also added some safety checks to MapSharedMemory.
2014-07-05 10:24:54 -04:00
bunnei
882dc07929
Memory: Removed deprecated MapBlock_Shared function.
2014-07-05 10:24:54 -04:00
bunnei
7b7a435094
GSP: Fixed to use real shared memory object, various cleanups.
...
- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew)
GSP: Added name for shared memory.
GSP: Cleaned up assertion message.
2014-07-05 10:24:52 -04:00
bunnei
e547128185
Kernel: Added support for shared memory objects.
...
SharedMemory: Added optional name field for tracking known objects.
2014-07-05 01:21:05 -04:00
bunnei
3013015a0c
mem_map: Updated interface to expose template functions to other modules.
2014-07-04 23:46:16 -04:00
bunnei
b70c4fb48e
NCCH: Updated ExeFS memory allocation to be safer.
2014-07-04 20:37:51 -04:00
bunnei
542700ccb7
Archive: Added Init/Shutdown methods to reset kernel archive state.
2014-07-04 20:37:51 -04:00
bunnei
1099d83455
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override".
2014-07-04 20:37:50 -04:00
bunnei
2d734bb6c5
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final"
2014-07-04 20:37:49 -04:00
bunnei
2c62d92551
Loader: Updated read methods to be const
...
- Required "file" handle to be made local and explicitly opened/closed as needed
2014-07-04 20:37:49 -04:00
bunnei
1ccdb6a769
Qt: Updated open dialog to include NCCH formats.
2014-07-04 20:37:48 -04:00
bunnei
17a6148f9d
FileSys: Added preliminary support for applications reading the RomFS archive.
...
Archive: Fixed brace ugliness for neobrain :)
FS: Commented out unused local variables to prevent warnings.
...But keeping them here for future use.
archive_romfs: Removed unused #include.
2014-07-04 20:37:45 -04:00
bunnei
82702fedb8
APT: Added stubbed ReceiveParameter and various cleanups.
...
APT: More cleanups.
APT: Changed SignalType to be type u32.
2014-07-04 14:18:16 -04:00
Tony Wasserka
fd78786828
citra-qt: Rewrite disassembly view.
2014-07-02 21:16:36 +02:00
bunnei
d8da707bb9
Loader: Refactored interface such that data is no longer stored by loader.
...
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
2014-06-27 17:49:01 -04:00
bunnei
48e39fc992
FS: Added stubbed code to intercept and decode file system service functions.
...
FS: Added to CMakeLists.txt
2014-06-27 16:58:30 -04:00
bunnei
8b8c8f4c13
Kernel: Added stubbed code to support creation of kernel Archive objects.
2014-06-27 16:58:30 -04:00
bunnei
0cc3e85685
Core: Removed unused directory_file_system and meta_file_system modules.
...
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
2014-06-27 16:58:30 -04:00
bunnei
469fe42fad
Merge pull request #22 from bunnei/loader-improvements
...
Refactor loader code and add preliminary NCCH support
2014-06-25 09:46:14 -04:00
bunnei
a7f1c54490
Loader: Refactored loading functions to only read data from binary if called.
...
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
2014-06-24 19:30:08 -04:00
bunnei
6aebd4ac98
MemMap: Added a WriteBlock function to write a buffer of data to memory.
2014-06-24 19:30:08 -04:00
bunnei
cedc28dcc6
ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
2014-06-24 19:30:07 -04:00
bunnei
62b444cd17
Loader: Refactored use of const.
2014-06-24 19:30:06 -04:00
bunnei
a8c4648520
NCCH: Added RomFS loading.
2014-06-24 19:30:06 -04:00
bunnei
3da2bc6830
NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
...
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
2014-06-24 19:30:05 -04:00
bunnei
7889cafc76
Loader: Implemented AppLoader interface for abstracting application loading.
...
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.
NCCH: Removed extra qualification typos.
Loader: Removed unnecessary #include's.
NCCH: Improved readability of memcmp statements.
NCCH: Added missing space.
Elf: Removed unnecessary usage of unique_ptr.
Loader: Removed unnecessary usage of unique_ptr.
2014-06-24 19:29:58 -04:00
bunnei
4e4a028ecd
citra_qt: Removed autogenerated files from repo and fixed build issues.
2014-06-22 16:37:07 -04:00
bunnei
79a48082e2
NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
2014-06-17 06:30:14 -04:00
bunnei
c144ed5058
Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
2014-06-17 06:23:46 -04:00
bunnei
13bdaa6c60
Loader: Cleaned up and removed unused code, refactored ELF namespace.
2014-06-16 23:43:33 -04:00
bunnei
1da361c7ab
Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
2014-06-16 23:43:32 -04:00
bunnei
3577dd027d
Loader: Added support for booting NCCH executables.
...
NCCH: Fixed typo in printing NCCH filename.
2014-06-16 23:43:29 -04:00
bunnei
0aca202ae9
Loader: Moved elf and loader modules to a "loader" subdirectory.
2014-06-16 18:03:13 -04:00
bunnei
2d7c46c874
Loader: Added stubbed detection of CXI and CCI files.
2014-06-16 17:53:25 -04:00
bunnei
10ae45b5e7
Loader: Removed unused CXI and DAT loading code.
2014-06-16 17:51:04 -04:00
bunnei
004df76795
Merge branch 'threading' of https://github.com/bunnei/citra
...
Conflicts:
src/core/hle/function_wrappers.h
src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
b45a38f557
Kernel: Removed unnecessary "#pragma once".
2014-06-13 09:51:20 -04:00
bunnei
f49ac3a2d7
Kernel: Added freeing of kernel objects on emulator shutdown.
2014-06-13 09:51:19 -04:00
bunnei
83a4ad2885
Event: Updated several log messages to be assertions.
2014-06-13 09:51:18 -04:00
bunnei
edaefe9fa6
HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
2014-06-13 09:51:18 -04:00
bunnei
8957622d10
SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
2014-06-13 09:51:17 -04:00
bunnei
b62ef4bbd2
Thread: Renamed occurrences of "t" to "thread" to improve readability.
2014-06-13 09:51:17 -04:00
bunnei
5b7cf50a77
Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.
2014-06-13 09:51:16 -04:00
bunnei
4620e2a741
HLE: Removed usnused EatCycles function.
2014-06-13 09:51:16 -04:00
bunnei
862db811f0
SVC: Cleaned up function wrappers to pass in correct argument types.
2014-06-13 09:51:15 -04:00
bunnei
bfdd874b1f
Thread: Moved position of * in arguments.
2014-06-13 09:51:14 -04:00
bunnei
12e2a59565
Thread: Updated VerifyWait to be more readable (but functionally the same).
2014-06-13 09:51:14 -04:00
bunnei
4d6c96b7d8
SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
2014-06-13 09:51:13 -04:00
bunnei
c95972275e
HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
2014-06-13 09:51:13 -04:00
bunnei
5365ca157d
Kernel: Updated various kernel function "name" arguments to be const references.
2014-06-13 09:51:12 -04:00
bunnei
d7363322c7
HLE: Updated various handle debug assertions to be more clear.
2014-06-13 09:51:11 -04:00
bunnei
780a443b08
Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
2014-06-13 09:51:11 -04:00
bunnei
8cac527c94
Kernel: Updated several member functions to be const
2014-06-13 09:51:10 -04:00
bunnei
0deeda54ee
Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles
2014-06-13 09:51:09 -04:00
bunnei
3449aaa350
Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)
2014-06-13 09:51:09 -04:00
bunnei
b774b8b04e
Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
2014-06-13 09:51:08 -04:00
bunnei
aae9fcf4a4
Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
2014-06-13 09:51:08 -04:00
bunnei
f5c7c15434
Kernel: Added real support for thread and event blocking
...
- SVC: Added ExitThread support
- SVC: Added SignalEvent support
- Thread: Added WAITTYPE_EVENT for waiting threads for event signals
- Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
- Thread: Added debug function for printing current threads ready for execution
- Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
- Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
- Event: Added support for blocking threads on event signalling
Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.
2014-06-13 09:51:02 -04:00
Tony Wasserka
c34ba38001
GPU debugger: Const correctness and build fix.
2014-06-12 06:10:56 -04:00
bunnei
b919158050
Removed definition of MAX_PATH, this is already defined in common_paths.h.
2014-06-12 06:10:55 -04:00
archshift
ee4717aaae
Preprocessor: #if's out OSX-specific GL changes on other platforms
2014-06-12 06:10:55 -04:00
bunnei
06ef8f001a
Common: Removed duplicate "LONG" and "MAX_PATH" definitions.
2014-06-12 06:10:54 -04:00
Tony Wasserka
4c2bff61e5
Pica: Use some template magic to define register structures efficiently.
2014-06-12 06:10:54 -04:00
Tony Wasserka
f82410e633
Further refine GPU command list debugging.
2014-06-12 06:10:53 -04:00
Tony Wasserka
b0051b2203
Refine command list debugging functionality and its qt interface.
2014-06-12 06:10:52 -04:00
Tony Wasserka
6893732348
citra-qt: Add command list view.
2014-06-12 06:10:52 -04:00
Tony Wasserka
5d62f5d92a
GPU debugger: Add functionality to inspect command lists.
2014-06-12 06:10:51 -04:00
Tony Wasserka
50b2b73be4
video core: added PICA definitions file.
2014-06-12 06:10:51 -04:00
Tony Wasserka
d4530765ce
GPU: Cleanup register definitions.
2014-06-12 06:10:50 -04:00
Tony Wasserka
1dfa392824
Rename LCD to GPU.
2014-06-12 06:10:49 -04:00
Tony Wasserka
87e98ff97b
citra-qt: Add GX command history viewer.
2014-06-12 06:10:49 -04:00
Tony Wasserka
31666632ca
Add initial graphics debugger interface.
2014-06-12 06:10:48 -04:00
Tony Wasserka
82d3260359
GSP: Define more GX commands.
2014-06-12 06:10:48 -04:00
Tony Wasserka
b1c8bad9a6
Pica: Add command list registers.
2014-06-12 06:10:47 -04:00
bunnei
a002abf171
qt: updated disassembler to show 2X as many instructions
2014-06-05 01:08:54 -04:00
bunnei
174cc9a0ed
hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger)
2014-06-05 00:26:48 -04:00
bunnei
6cdad8390c
arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected
2014-06-05 00:25:32 -04:00
bunnei
ce1c561278
kernel: changed current default thread priority back to 0x30 - I think this is more correct
2014-06-05 00:20:58 -04:00
bunnei
9ece9da50d
arm: fixed bug in how thread context switch occurs with SkyEye
2014-06-05 00:20:11 -04:00
bunnei
870c6146e7
service: added a error log messages for unimplemented WaitSynchronization
2014-06-04 18:50:50 -04:00
bunnei
c330a0a1d6
arm: reverting a change made with cb0663de
- this has to have been a typo!
2014-06-04 18:41:44 -04:00
bunnei
b78aff8585
svc: added optional name field to Event and Mutex (used for debugging)
2014-06-02 20:38:34 -04:00
bunnei
8c0f02a70c
kernel: moved position of * for GetTypeName and GetName
2014-06-02 20:36:58 -04:00
bunnei
2773360f84
coprocessor: reenabled debug log
2014-06-02 20:36:34 -04:00
bunnei
477b0caca4
svc: updated WaitSynchronizationN to properly use first pointer argument
2014-06-02 17:54:07 -04:00
bunnei
4819e9a60f
svc: changed DuplicateHandle log message from "error" to "debug"
2014-06-01 22:33:53 -04:00
bunnei
3fb31fbc57
svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
2014-06-01 22:12:54 -04:00
bunnei
10447d1f48
kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
2014-06-01 21:42:50 -04:00
bunnei
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
2014-06-01 21:40:10 -04:00
bunnei
15c7d81706
svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments
2014-06-01 20:48:29 -04:00
Disruption
0be75c13ee
Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field
2014-06-01 21:08:26 +02:00
bunnei
00adbc7817
log: updated MAX_LOGLEVEL to use correct log level enum type
2014-06-01 11:49:58 -04:00
bunnei
5cd922d151
log: updated GenericLog __attribute__ for newly added parameter
2014-06-01 11:05:48 -04:00
bunnei
2f55c9e55b
svc: added missing function wrapper for SleepThread
2014-06-01 10:41:41 -04:00
bunnei
7dd18a8df9
gsp: always pass through synchronization barrier for commands
2014-06-01 10:41:23 -04:00
bunnei
f2f638492b
svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)
2014-06-01 10:37:19 -04:00
bunnei
ba98e25e97
thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
2014-06-01 10:35:42 -04:00
bunnei
f7cececc5c
event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments
2014-06-01 10:33:55 -04:00
bunnei
55325dea4c
hle: added stubbed service for ndm_u
2014-05-30 00:24:04 -04:00
bunnei
c451ad2835
service: cleaned up log messages
2014-05-30 00:22:39 -04:00
bunnei
2482be13df
service: removed PT_A from, as this was just an alias for APT_U
2014-05-30 00:22:25 -04:00
bunnei
007b7edada
srv: fix to log unimplemented service (instead of crash)
2014-05-29 23:54:09 -04:00
bunnei
d8a2c8c657
mutex: fixed typo in ReleaseMutex
2014-05-29 23:31:01 -04:00
bunnei
c404d22036
hle: cleaned up log messages
2014-05-29 23:26:58 -04:00
bunnei
b0bad47c0e
svc: updated OutputDebugString to use OS_LOG
2014-05-29 23:04:18 -04:00
bunnei
55a540eb02
arm: removed unnecessary code when calling SVC from skyeye
2014-05-29 23:03:47 -04:00
bunnei
6fc62f8c93
log: fixed to not print twice, enabled coloring, added OS print logging as its own type
2014-05-29 23:03:03 -04:00
bunnei
9839f3b6cd
core: changed time delay before kernel reschedule to "approximate" a screen refresh
2014-05-29 20:30:17 -04:00
bunnei
6d267142ad
svc: changed unimplemented SVC log messages from "debug" messages to "error" messages
2014-05-29 20:26:27 -04:00
bunnei
58af0da792
svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixes
...
- force kernel reschedule after svcWaitSynchronization
- fixed some bugs with passing in pointer arguments
- cleaned up some comments and log messages
2014-05-29 20:24:51 -04:00
bunnei
d51c84dde2
event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
2014-05-29 20:00:44 -04:00
bunnei
545e6919ce
service: added additional hack to return success on unimplemented service calls
2014-05-29 18:54:59 -04:00
bunnei
b08b3c154f
srv: changed a NOTICE_LOG to DEBUG_LOG
2014-05-29 18:53:45 -04:00
bunnei
e7202e5b2d
svc: added ArbitrationType enumeration
2014-05-29 18:52:57 -04:00
bunnei
4b4a6de1d8
apt: added stubbed function for InquireNotification
2014-05-28 23:33:24 -04:00
bunnei
c4b5168b45
hle: properly cast 64-bit function wrapper parameters to (u64)
2014-05-28 22:03:10 -04:00
bunnei
9fd5d6c7d8
hle: removed PARAM64 macro (this was incorrect), made several bug fixes accordingly for decoding U64 function parameters
2014-05-28 21:20:00 -04:00
bunnei
46aef01d04
lcd: moved kFrameTicks to lcd.h for use in other modules
2014-05-28 21:19:13 -04:00
bunnei
70af9d620b
service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot further
2014-05-28 18:39:28 -04:00
bunnei
3972d4ca8b
APT_U: added stubbed function for APT_U::Enable, fixed some log messages to be more consistent
2014-05-27 23:56:08 -04:00
bunnei
2ed6652f10
mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
2014-05-27 22:42:16 -04:00
bunnei
47e781e80a
svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent
2014-05-27 22:41:09 -04:00
bunnei
94b30e8a38
APT_U: added event creation to Initialize method
2014-05-27 22:29:11 -04:00
bunnei
ea8627d536
event: fixed typos and updated CMakeLists
2014-05-27 22:14:38 -04:00
bunnei
beea6f054a
event: added SetEventLocked method to change status an events lock
2014-05-27 22:14:00 -04:00
bunnei
fd69fd0325
kernel: added event module to support creation of CTR "Event" objects
2014-05-27 20:16:13 -04:00
bunnei
d493d725ac
mutex: removed docstring comment that is no longer relevant
2014-05-26 22:49:11 -04:00
bunnei
93cd5a0691
mutex: added additional docstrings
2014-05-26 22:47:47 -04:00
bunnei
a432dc8f39
kernel: added WaitSynchronization method to Kernel::Object
2014-05-26 22:17:49 -04:00
bunnei
58a3adcdd2
kernel: updated SyncRequest to take boolean thread wait result as a parameter
2014-05-26 22:12:46 -04:00
bunnei
6e51c56fe4
svc: added some assertions
2014-05-26 21:57:10 -04:00
bunnei
16fea415d0
service: Renamed Sync to SyncRequest
2014-05-26 21:56:51 -04:00
bunnei
3d7693f75f
kernel: added enum for known CurrentThread and CurrentProcess handles
2014-05-26 21:56:23 -04:00
bunnei
96b2105524
srv: added a real mutex for GetProcSemaphore (instead of stubbed)
2014-05-26 21:55:55 -04:00
bunnei
9f7ed2d027
svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)
2014-05-26 21:17:10 -04:00
bunnei
d73d782ba7
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
2014-05-26 21:01:27 -04:00
bunnei
15d2ab1b33
svc: added stub for DuplicateHandle SVC call
2014-05-26 20:55:48 -04:00
bunnei
0aa582bf89
service: fixed typo that MSVC did not catch as an error
2014-05-22 23:48:37 -04:00
bunnei
420971a849
core: fixed headers in CMakeLists
2014-05-22 23:39:25 -04:00
bunnei
32c314c992
Merge branch 'threading'
2014-05-22 22:57:45 -04:00
bunnei
1de7e8cbe4
Merge branch 'master' of https://github.com/bunnei/citra
2014-05-22 22:54:56 -04:00
bunnei
51f636b3d4
core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions
2014-05-22 22:54:07 -04:00
bunnei
f8a98ab022
svc: added a check to ensure that a service was implemented before attempting to connect to its port
2014-05-22 22:49:29 -04:00
bunnei
7bb66421a0
lcd: added thread wait after (faked) vblank interrupt (would have) occurred
2014-05-22 20:01:04 -04:00
bunnei
b99ac2c3d6
thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
2014-05-22 19:36:56 -04:00
bunnei
7c0b006076
thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
2014-05-22 19:32:45 -04:00
bunnei
d26f3d4c1f
kernel: refactored function naming to remove "__" prefix
2014-05-22 19:06:12 -04:00
bunnei
ac21e8f2db
core: moved armcopro.cpp to correct filter folder (arm/interpreter)
2014-05-22 18:51:55 -04:00
bunnei
14bd37c5dc
thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset
2014-05-22 18:50:36 -04:00
bunnei
9fddba6843
APT_U: added a debug log on calling GetLockHandle
2014-05-22 18:48:14 -04:00
bunnei
481d936d34
arm_interpreter: fixed load context to currently resume a thread
2014-05-22 18:47:42 -04:00
bunnei
6a78be5930
thread: fixed bug where result of __NextThread was not being properly checked when NULL
2014-05-21 21:42:18 -04:00
bunnei
06e3c3d55a
svc: added Kernel::Reschedule to svc WaitSynchronization1, updated log messages to include newly created handles
2014-05-21 21:41:40 -04:00
bunnei
706584f007
svc: enabled use of newly created kernel thread handle
2014-05-20 23:36:35 -04:00
bunnei
eb537c560a
mutex: refactored the interface to code to return a Mutex* handle
2014-05-20 23:23:58 -04:00
bunnei
978e1d4653
mutex: initial commit of HLE module
2014-05-20 23:03:45 -04:00
bunnei
08e6a9bf89
svc: added some comments
2014-05-20 22:57:54 -04:00
bunnei
1c5802c35a
kernel: fixed include, in general include "common.h" not "common_types.h"
2014-05-20 22:27:46 -04:00
bunnei
9bf7ce535a
service: removed redundant include of common_types.h
2014-05-20 22:27:12 -04:00
bunnei
a721a4eb33
arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it)
2014-05-20 22:26:40 -04:00
bunnei
22eb9a8981
armemu: missed rename of "Syscall" to "SVC"
2014-05-20 22:25:40 -04:00
bunnei
203541da11
thread: added correct lowest thread priority, added a thread priority check, and added some comments
2014-05-20 21:02:35 -04:00
bunnei
bed4e920fa
thread: exposed ResumeThreadFromWait function for use in other kernel modules
2014-05-20 21:00:10 -04:00
bunnei
75c6d2a8fa
thread: moved threading calls to the Kernel namespace
2014-05-20 19:37:46 -04:00
bunnei
0012802456
ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide
2014-05-20 18:52:54 -04:00
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
2014-05-20 18:50:16 -04:00
bunnei
143bba2045
renamed "syscall" module to "svc" (more accurate naming)
2014-05-20 18:28:38 -04:00
bunnei
f654a03f1f
thread: whitespace change - fixed * and & placement
2014-05-20 18:20:35 -04:00
bunnei
44336329ed
- created a Kernel namespace
...
- cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues)
- added handle types for all different CTROS handles
2014-05-20 18:13:25 -04:00
bunnei
0886dc70ed
apt: changed stubbed handle to be something other than 0xDEADBEEF (used as a magic value in other places) so that I can track how it propagates through the app code
2014-05-19 22:21:17 -04:00