Commit graph

610 commits

Author SHA1 Message Date
Nekotekina 9fc7197c4f cellGameContentPermit: extremely DANGEROUS bug fixed
And few tiny changes.
2014-11-29 20:41:18 +03:00
S Gopal Rajagopal 6ea50567b6 PPU: Implemented some instructions in the recompiler. Fixed some bugs in the interpreter. 2014-11-29 01:39:59 +05:30
S Gopal Rajagopal 205e1d88b3 PPU LLVM recompiler: Implement more instructions 2014-11-26 00:53:24 +05:30
S Gopal Rajagopal 631675fdd6 Merge remote-tracking branch 'upstream/master'
Conflicts:
	rpcs3/Emu/Cell/PPUInterpreter.h
2014-11-25 23:26:16 +05:30
S Gopal Rajagopal a9645eda73 Implement some more FP instructions in the PPU LLVM recompiler 2014-11-25 02:14:12 +05:30
S Gopal Rajagopal bb1e08a6be Remove code left in comments from the PPU LLVM recompiler. Also cause the emulator to pause if unsupported instructions are required to be compiled. 2014-11-24 23:49:06 +05:30
S Gopal Rajagopal d92344f383 Implement more instructions in the PPU LLVM recompiler 2014-11-24 01:41:25 +05:30
S Gopal Rajagopal 5934132b55 Implemented VPK* 2014-11-23 20:47:00 +05:30
S Gopal Rajagopal 921ee1464b Implemented some vector instructions 2014-11-23 19:06:20 +05:30
Raul Tambre 16b4b9bf40 Fix Travis compiling 2014-11-21 15:52:01 +02:00
DHrpcs3 cdfef3bf9e Fixed compilation errors
Implemented converter_le_be
2014-11-20 21:41:04 +02:00
S Gopal Rajagopal 5addbcbbb0 Direct UT output to PPULLVMRecompiler.log 2014-11-21 00:04:59 +05:30
S Gopal Rajagopal 6661018691 Fixed the unit test framework for the PPU LLVM recompiler. Added tests for ANDC. Fixed an issues that prevented LMW/STMW from being generated properly. 2014-11-20 23:38:10 +05:30
S Gopal Rajagopal 13acb06d1a Implemented ANDC and also added support for TB and TBH in MFSPR 2014-11-20 01:03:51 +05:30
S Gopal Rajagopal e8582c8655 Improved the logic that detects which functions should be recompiled 2014-11-20 00:42:07 +05:30
DHrpcs3 598d929aba Implemented LLE Modules Manager (draft)
Improved loader core.
Implemented *_thread wrappers.
Minor fixes.
Temporary disabled ELF Compiler & DisAsm frame.
2014-11-19 16:16:30 +02:00
Raul Tambre f99353f649 Fix for TB SPR and disable writing to TB SPR
Now use get_time() like MFTB instead of reading for the time-based SPR.
2014-11-18 18:03:49 +02:00
Hykem 19d1a6babc Merge pull request #858 from gopalsr83/ppu_llvm_recompiler
Improved tracer for the PPU recompiler
2014-11-15 15:19:40 +00:00
Raul Tambre 3af57957d5 cellSail fixes and GetRegBySPR split up
* Fixed cellSailPlayerAddDescriptor
* Fixed cellSailDescriptorSetAutoSelection
* Fixed cellSailDescriptorIsAutoSelection
* Split GetRegBySPR into ReadSPR and WriteSPR
* Added 0x10c for ReadSPR and WriteSPR (Time-based register)
2014-11-15 16:45:02 +02:00
S Gopal Rajagopal 1568d2d602 Fixed some more gcc/clang compilation errors 2014-11-10 14:32:41 +05:30
S Gopal Rajagopal 87accc624f Fixed some errors thrown by gcc/clang 2014-11-10 12:49:48 +05:30
S Gopal Rajagopal 06a4c301cd Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/Emu/Cell/PPULLVMRecompiler.cpp
	rpcs3/Emu/Cell/PPULLVMRecompiler.h
	rpcs3/Emu/Cell/PPUThread.cpp
	rpcs3/emucore.vcxproj.filters
	rpcs3/rpcs3.vcxproj
2014-11-10 02:31:35 +05:30
S Gopal Rajagopal c12a98510c Utilize idle time to combine blocks 2014-11-10 01:04:21 +05:30
S Gopal Rajagopal 71c12360c7 Always inline functions 2014-11-09 14:03:36 +05:30
S Gopal Rajagopal 5c468d7591 Disabled call stack tracing when using the PPU LLVM recompiler 2014-11-09 11:50:01 +05:30
S Gopal Rajagopal 80294e1034 Fixed some bugs 2014-11-09 02:00:19 +05:30
S Gopal Rajagopal 34e34910fd Integrated execution engine, tracer, recompilation engine and compiler 2014-11-08 09:52:23 +05:30
S Gopal Rajagopal ee6a239679 Generate code from a CFG 2014-11-07 16:24:59 +05:30
Nekotekina 5d63c6b526 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-11-05 19:20:44 +03:00
S Gopal Rajagopal 7c3c5ae08e Construct CFG from execution traces 2014-11-05 01:01:20 +05:30
Hykem 5a27a84f5a Merge branch 'master' of https://github.com/gopalsr83/rpcs3 into gopalsr83-master 2014-11-04 16:45:25 +00:00
S Gopal Rajagopal 7846fa5829 Made changes to tracer so that it understand compiled blocks 2014-11-01 01:22:39 +05:30
Nekotekina 7aeda3b0c7 ARMv7: more opcodes 2014-10-30 18:17:51 +03:00
Nekotekina 0f602e0e13 Bugfix 2014-10-28 19:46:14 +03:00
Nekotekina 65ddf980e0 Small fix 2014-10-28 15:30:37 +03:00
raven02 f54a5c6591 Stub DCBI instruction 2014-10-26 06:30:43 +08:00
S Gopal Rajagopal 160b58cf61 Fixed compilation issues 2014-10-25 06:56:57 +05:30
S Gopal Rajagopal 6bc0ce8046 Intial commit for advanced tracer 2014-10-25 06:38:47 +05:30
Nekotekina 6df5ddb973 Few warnings fixed 2014-10-24 17:24:09 +04:00
raven02 4eb4186b5c Support FCTID/FCTIW instructions 2014-10-24 08:46:14 +08:00
Nekotekina 973e3f8f7e Few instructions simplified 2014-10-24 02:06:15 +04:00
Nekotekina 7777be6fc1 Some things simplified 2014-10-23 02:53:44 +04:00
S Gopal Rajagopal dfd3425e65 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-22 00:01:16 +05:30
raven02 00486d39e2 Add test against interpreter 2014-10-21 22:43:46 +08:00
raven02 20a5bf424f Support FSQRT/FSQRTS instructions 2014-10-21 22:20:52 +08:00
S Gopal Rajagopal 4514fc12bd Updated Travis CI configuration to compile LLVM 2014-10-21 02:17:00 +05:30
Hykem ab0a907c7a Merge pull request #846 from gopalsr83/master
Fixed the implementation of LSWI and STSWI. Simplified the implementation of VSL and VSR.
2014-10-20 16:43:20 +01:00
S Gopal Rajagopal 7e1413badf Fixed the implementation of LSWI and STSWI. Simplified the implementation
of VSL and VSR.
2014-10-20 17:19:01 +05:30
S Gopal Rajagopal 024c15d4d3 Some cleanup 2014-10-20 01:16:35 +05:30
S Gopal Rajagopal 8a7ba5a709 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-19 02:36:26 +05:30
S Gopal Rajagopal ce4d04290e Support more instructions 2014-10-19 01:57:54 +05:30
B1ackDaemon 3d415d653b Merge pull request #841 from Nekotekina/master
Small cellSpurs / cellSync update
2014-10-17 01:13:27 +03:00
S Gopal Rajagopal 817947e373 Made minor fixes to some instructions in the PPU interpreter. Also changed the implementation of MFTB so that it always increments at a constant rate. 2014-10-16 17:03:46 +05:30
S Gopal Rajagopal 35a0e0c625 Support more instructions 2014-10-16 15:28:57 +05:30
S Gopal Rajagopal b95cddb0c7 Fix compilation errors caused by rebase 2014-10-14 14:23:50 +05:30
S Gopal Rajagopal cd154ad357 Support more instructions 2014-10-13 15:40:42 +05:30
S Gopal Rajagopal 143f542bd6 Fixed some bugs 2014-10-13 15:40:42 +05:30
S Gopal Rajagopal 9c99fc7bb1 Disabled unit tests 2014-10-13 15:40:41 +05:30
S Gopal Rajagopal 3e7d42b023 Support some instructions 2014-10-13 15:40:41 +05:30
S Gopal Rajagopal 1bd235616f Implemented branch instructions and some basic block combining. 2014-10-13 15:40:40 +05:30
gopalsr83 d5e86f7190 Fixed compilation in Linux. Have not tested it though. 2014-10-13 15:40:39 +05:30
S Gopal Rajagopal f210180aa6 Disabled the use of BMI instructions since older processors do not support it 2014-10-13 15:40:39 +05:30
S Gopal Rajagopal e687a91243 Implemented some FP instructions but did not add support for updating the FPSCR. Many misc changes. 2014-10-13 15:40:38 +05:30
S Gopal Rajagopal ccc37b5dc5 Print disassembly to log 2014-10-13 15:40:38 +05:30
S Gopal Rajagopal c72d97c64a Implemented LF*, STF*, RL* and a few more instructions 2014-10-13 15:30:58 +05:30
S Gopal Rajagopal e485047a10 Enabled some LLVM analysis/transform passes
Implement mul, neg, nor, subf
2014-10-13 15:26:10 +05:30
S Gopal Rajagopal d69de9c332 Fixed some bugs that prevented the recompiler from terminating properly 2014-10-13 15:26:09 +05:30
S Gopal Rajagopal 840ae2f86b Run recompilation in the background 2014-10-13 15:26:09 +05:30
S Gopal Rajagopal 1f3a117744 Disabled tests 2014-10-13 15:26:08 +05:30
S Gopal Rajagopal f5188cdb32 Some refactoring. Added support for some load/store instructions. 2014-10-13 15:26:08 +05:30
S Gopal Rajagopal 1be5222e66 Made changes so that there is a single LLVM context instead of one per PPU. If separate LLVM contexts are used per PPU and if different PPUs execute the same address then the address will have to compiled once per PPU. 2014-10-13 15:26:07 +05:30
S Gopal Rajagopal a4bb9eaa55 Made changes so that the recompiler output may be verfied against that of the interpreter. This seems to be a better strategy for testing the recompiler. The best strategy would be to verify its output against a real PPU core but I dont have access to one. 2014-10-13 15:26:07 +05:30
S Gopal Rajagopal 791f8e3b9a Compilation Fix 2014-10-13 15:25:02 +05:30
S Gopal Rajagopal 6135b450c2 Implemented fallback to PPU Interpreter 2014-10-13 15:22:39 +05:30
S Gopal Rajagopal aa614e83f2 Refactoring + new instructions 2014-10-13 15:22:39 +05:30
S Gopal Rajagopal 878926f57c Support few more instructions 2014-10-13 15:22:38 +05:30
S Gopal Rajagopal ac86ee8fa9 Added support for MULLI 2014-10-13 15:22:38 +05:30
S Gopal Rajagopal eaa644dc20 Added support for a few more vector instructions 2014-10-13 15:22:37 +05:30
S Gopal Rajagopal d8d0c0d2fe Added support for 3 more instructions 2014-10-13 15:21:25 +05:30
S Gopal Rajagopal 659a3d88c6 Added more tests 2014-10-13 15:21:24 +05:30
S Gopal Rajagopal 66d0b25448 Moved tests to a new file 2014-10-13 15:21:24 +05:30
S Gopal Rajagopal 2ea881301a Implemented a basic UT framework for PPULLVMRecompiler 2014-10-13 15:18:53 +05:30
S Gopal Rajagopal 2bb63ad051 LLVM based PPU Recompiler. Intial commit 2014-10-13 15:18:17 +05:30
Nekotekina b7d0bfa972 SPU branch D/E flags workaround 2014-10-10 01:38:02 +04:00
Nekotekina 9a02add930 Bugfix 2014-10-08 16:29:29 +04:00
Nekotekina fd7da9d61a Compilation fix 2014-10-08 01:53:50 +04:00
Nekotekina 237ab974dd SPURS kernel v1 2014-10-07 17:35:44 +04:00
Nekotekina 74007d5e5d Small changes in memory and RSXIOMem
Some bugs fixed, some other changes.
2014-10-04 18:43:46 +04:00
Nekotekina 6b0857dcff Conflicts fixed 2014-10-02 16:19:52 +04:00
Nekotekina 752449bbc0 Small update 2014-10-02 14:29:20 +04:00
DHrpcs3 eada1fe12c Improved be_t
Fixed NV4097_SET_TWO_SIDE_LIGHT_EN
Added LIS, ORI, NOP & BLR to PPU Jit
2014-10-01 12:45:43 +03:00
Nekotekina ce97a7e7a6 Channel<> rewritten 2014-09-30 23:06:04 +04:00
Nekotekina 7d95311a01 Some %x fixed 2014-09-29 19:38:04 +04:00
Nekotekina 05a7466a5a m_custom_task thread member 2014-09-24 22:44:26 +04:00
Nekotekina e5a485e50b More changes 2014-09-23 03:07:40 +04:00
Nekotekina 3ab08e0d7a vm::atomic update (or, and, xor)
CellSyncMutex, CellSyncBarrier, CellSyncRwm refactoring
2014-09-21 03:29:42 +04:00
Raul Tambre 6360ef1790 Added sceNpBasicGetFriendListEntryCount and sceNpBasicGetMessageEntryCount
Fixed (?) sometimes functions being unloaded when they shouldn't.
Also reverted the SPUThread hack.
2014-09-20 19:09:18 +03:00
Nekotekina bb77249ac8 CellSpurs initialization 2014-09-19 04:19:22 +04:00
Raul Tambre fcfdd1551b Added a camera option
Also a couple minor optimizations
2014-09-18 21:19:10 +03:00
Nekotekina 0044141631 sys_process_is_spu_lock_line_reservation_address
Formatting changed a bit
2014-09-17 17:15:17 +04:00
Nekotekina 626133c0eb declCPU removed, PPUThread& is passed as argument
Added experimental feature: passing PPUThread& to syscall
2014-09-16 21:49:50 +04:00
Nekotekina 5f1253598c Fix formatting 2014-09-15 23:04:18 +04:00
Nekotekina c9132a4bdb Compilation fix + CellSpursAttribute 2014-09-15 22:17:30 +04:00
Nekotekina 4243558319 Compilation fix 3 2014-09-15 02:52:22 +04:00
Nekotekina 38746a5ef9 Compilation fix 2 2014-09-15 02:34:59 +04:00
Nekotekina 597d07bf24 Small refactoring 2014-09-15 02:17:24 +04:00
Nekotekina 860d7bd3f1 Small fix 2 2014-09-13 18:25:02 +04:00
Nekotekina c1da446653 FastCall() removed 2014-09-12 23:27:33 +04:00
Nekotekina 3e1c04b356 Small fix 2014-09-12 01:10:44 +04:00
Nekotekina 8cde1c18c4 Cb fix 2014-09-12 00:46:11 +04:00
Nekotekina 82433d946e u128
Only useful as vector type anyway.
2014-09-06 20:30:13 +04:00
Nekotekina 43a61d0ab9 Memory.Write*/Read* replaced 2014-09-06 17:33:01 +04:00
Nekotekina 12becc6120 MemoryBase::operator[] replaced 2014-09-06 02:12:10 +04:00
Nekotekina db9cbe6cdd MemoryBase::operator+ replaced 2014-09-06 00:26:36 +04:00
Nekotekina 225dba754d GetMemFromAddr, VirtualToRealAddr replaced
Some arg types changed
2014-09-05 21:23:00 +04:00
Nekotekina f298d0451e Attempt to fix some warnings 2014-09-05 15:24:37 +04:00
Nekotekina 964c1bfd6c WriteString replaced
strcpy_trunc (defined in GNU.h) is better for fixed-length char arrays
2014-09-05 03:23:36 +04:00
Nekotekina 9f2afffca1 Some functions removed 2014-09-04 21:32:20 +04:00
Nekotekina 05cebd1017 re() removed, added be_t<const T> specialization 2014-09-04 13:21:23 +04:00
Nekotekina 5a20d41fb2 Conflicts fixed 2014-09-02 05:25:57 +04:00
Nekotekina b952017a3a mem_ptr_t replaced 2014-09-02 05:05:13 +04:00
Lioncash 82840282fb Core: Apply const to some functions 2014-08-31 16:12:09 -04:00
Nekotekina a8cfefac07 vm::ptr for u8/char types, mem_list_ptr_t removed 2014-08-31 19:01:48 +04:00
Nekotekina fb1d7d3982 Some warnings fixed 2014-08-30 22:35:18 +04:00
Nekotekina 3269c88d02 Some warnings fixed, some code removed 2014-08-30 21:51:00 +04:00
Nekotekina 8dfe7138df (nothing, really) 2014-08-30 17:52:12 +04:00
Nekotekina d14f22d059 Compilation fix 2 2014-08-30 00:26:27 +04:00
Nekotekina 028ce2dd9f stdafx_gui.h created, wx removed from stdafx.h 2014-08-29 02:49:26 +04:00
Nekotekina 693e7a38fa Some std include moved 2014-08-28 20:29:05 +04:00
Nekotekina d5aa7aae43 sys_spu_thread_group_exit 2014-08-28 01:04:55 +04:00
Nekotekina 0fb45cccbc cellSync2 stub 2014-08-27 17:11:34 +04:00
Nekotekina 78cbb90ef6 Some leaks fixed 2014-08-26 03:55:37 +04:00
Nekotekina f6ba1eaebd SPU spr name table 2014-08-25 21:01:40 +04:00
Nekotekina 61c4a88ab4 rFile.h, Thread.h, IdManager.h includes moved 2014-08-25 18:56:13 +04:00
Nekotekina 50b5d72bb2 Include cleaning 2014-08-24 21:42:19 +04:00
Nekotekina 4ffd03fe3e Include clearing 2014-08-24 00:40:04 +04:00
Nekotekina b005ee3cda Log include fixes 2014-08-23 18:51:51 +04:00
Nekotekina efa538f9d7 include clearing 2014-08-23 04:16:54 +04:00
Nekotekina 861ce9e733 include clearing 2014-08-23 01:15:02 +04:00
Nekotekina 652c5901f8 Another try 2014-08-22 20:36:27 +04:00
Nekotekina 5abd3fabfa Attempt to remove some includes 2014-08-22 18:21:55 +04:00
Nekotekina a169c5bcac Reservation global struct removed
It wasn't solving anything, unfortunately.
2014-08-22 01:37:45 +04:00
Nekotekina 184007e1e0 sys_spu_thread_throw_event 2014-08-21 16:55:28 +04:00
Nekotekina f153143c9d still FSCRRD 2014-08-21 06:20:41 +04:00
Nekotekina 1f3f6f4664 sys_event_flag_set_bit_impatient 2014-08-21 05:31:45 +04:00
Nekotekina 1941f3d916 Interrupt handling changed 2014-08-21 05:02:55 +04:00
Nekotekina 126b636edf Light hack for FSCRRD and FSCRWR
SPU_*Event* channels implemented for LR event
MFC_RdTagMask implemented
2014-08-21 02:12:56 +04:00
Nekotekina 9eb280c367 SetCurrentNamedThread() 2014-08-20 18:23:48 +04:00
Nekotekina ffa258d334 Some fixes 2014-08-20 04:32:25 +04:00
Nekotekina 89b944c397 REG_FUNC macros
And some auxiliary changes
2014-08-19 22:17:20 +04:00
Nekotekina afe984ca29 Small fix 2014-08-19 02:33:21 +04:00
Nekotekina 07a5720c17 SPU: some instructions removed
They can't be used on PS3.
Bitfields for interrupt flags added.
2014-08-18 04:23:05 +04:00
Nekotekina 8a785fefc2 SPR are not used 2014-08-18 02:46:39 +04:00
Nekotekina 55ee7065be SPR removed from SPU 2014-08-18 02:39:25 +04:00
Nekotekina cb58a773c9 Some hack 2014-08-15 16:50:59 +04:00
Nekotekina c9cd80c089 Memory bugs fixed 2014-08-14 16:02:01 +04:00
Nekotekina 18e1799980 Last syscall registering 2014-08-09 20:25:05 +04:00
Nekotekina dfd5fd388e Little cleanup 2014-08-08 22:13:17 +04:00
Nekotekina b00e0fcf69 sys_event_flag.cpp restored 2014-08-08 19:55:12 +04:00
Nekotekina 8f04ab07ed IsGood() check elimination
Reasons: 1) It's unsafe - we cannot guarantee that address is still good
while it is used. 2) It's wrong in many modules which are usually just
compare pointer with zero.
2014-08-05 14:18:22 +04:00
Nekotekina 424d5e22d2 GetCount for Out_IntrMBox 2014-08-04 22:43:42 +04:00
Nekotekina fa5311718e Small SPU cleanup 2014-07-21 22:35:44 +04:00
Nekotekina 1f46098b23 Name fix (SPU JIT)
Unnecessary check removed
2014-07-20 21:03:41 +04:00
Nekotekina ecbc9d1b08 RawSPU cleanup 2014-07-16 20:10:18 +04:00
Nekotekina 694a2b774e SPU Recompiler fix 2014-07-16 16:15:20 +04:00
Nekotekina 3d0983e7d0 SPU Interpreter fix
(these bugs weren't in SPURecompiler)
2014-07-16 16:13:11 +04:00
Nekotekina d94ce7094e Rounding mode set 2014-07-16 16:09:20 +04:00
Nekotekina b487dcee27 RawSPU initialization fix 2014-07-16 16:06:58 +04:00
Nekotekina 51b54a4d6b SSE4.1 detection 2014-07-15 01:32:32 +04:00
Nekotekina a71053ae15 Asmjit updated 2014-07-14 13:24:10 +04:00
boxingcow a4f73bc705 Fix broken OS X build with isnan and MAP_ANONYMOUS 2014-07-12 22:06:43 +01:00
Nekotekina 1908842255 Build fix
Non-ASCII characters replaced in PPUThread.h
Some cleanup
2014-07-12 18:53:36 +04:00
Sacha a1158c9515 Remove some indirect headers. 2014-07-12 17:46:14 +10:00
Sacha 9816ec3aa0 Fix conflicts. 2014-07-12 17:02:39 +10:00
Sacha 6e06fdf638 Stdafx: Major header cleanup 2014-07-12 16:33:04 +10:00
Nekotekina ad524798fa Compilation fix 2014-07-11 13:39:51 +04:00
Nekotekina 125359e30e Some fixes 2014-07-11 13:18:23 +04:00
Nekotekina 259b57c64a Fixed conflicts 2014-07-11 10:09:38 +04:00
Sacha f256153a2b Warnings: Fix several warnings. 2014-07-11 05:08:05 +10:00
Nekotekina 22b9afdb60 Some cleanup 2 2014-07-10 04:13:04 +04:00
Nekotekina d1fff053c2 Some cleanup 2014-07-07 21:22:36 +04:00
Alexandro Sánchez Bach 230ba0d360 Fixed conflicts and minor changes (2) 2014-07-06 18:05:52 +02:00
Alexandro Sánchez Bach 08d61163ea Removed external functions from SysCalls.h
* Replace `int` with `s32` as return type for syscalls.
* Renamed `SC_Something.*` files with the proper lv2 name
`sys_something.*`.
* Moving away from the lv2, those functions and folders that doesn't
correspond to lv2 functions. E.g. module functions from sys_io,
sysPrxForUser, cellGcmSys.
* Splitted some files (memory -> memory+mmapper) and merged other ones
(event+event_flag ->event, spu+spu_thread -> spu), according to common
sense, PSDevWiki docs, and checking firmware files.
* Removed external functions from `SysCalls.h`.

NOTE: What should we do about: cellGcmCallback? It's not a lv2 syscall
but it appears on the sc_table and it is actually called in games. Is
this some kind of hack?
2014-07-06 16:23:37 +02:00
Nekotekina d16953d392 SPU Decrementer 2014-07-05 23:23:34 +04:00
Peter Tissen 95f1a0e645 use only one set of logging macros instead of two and don't use free() as a function name 2014-06-27 15:28:17 +02:00
Peter Tissen 21da317453 Logging system rework
* use one central unified log with channels/priorities ad-hoc listener registration and de-registration
* disable buffering by default
* add multi-threaded ringbuffer implementation
* use buffered listener for the gui (using the ringbuffer)
2014-06-26 17:34:28 +02:00
Nekotekina 2200e6f4d9 Small fixes 2014-06-25 02:16:44 +04:00
Nekotekina f9c592098f Work on RawSPU: interrupt mailbox
Achievement unlocked: run spu_test!
2014-06-23 05:03:16 +04:00
Nekotekina 30b8e51234 rCriticalSection & rSemaphore removed
SC_Semaphore errors fixed
Room for interrupt threads
2014-06-22 14:59:28 +04:00
Nekotekina 90b9861043 SMutex partially replaced with std::mutex
SPURecompiler.h: SETcc bug fixed
2014-06-20 15:00:36 +04:00
Nekotekina 4fedf5749e cellSysmoduleLoadModule modified
cellSysutilEnableBgmPlayback draft
cellSurMixerGetCurrentBlockTag
cellSurMixerGetTimestamp
Interval.h draft
2014-06-09 17:35:35 +04:00
Peter Tissen e85abdeb2c remove unexplained commented out code that I added myself with the last PR
* remove unexplained commented out code that I added myself
* revert asmjit settings change that was meant to only be local for me
2014-06-09 02:55:16 +02:00
Peter Tissen c37905e465 initial start to eliminate static func init, not compilable atm
move module initialization into a module manager, still has some issues like stopping not working and debug crashing

add #idef 0 to modules that aren't in the windows project

don't double initialize and don't de-initialize for now, since many modules don't expect it and it leads to many errors

remove duplicate module lists for empty modules and implemented ones, make Module non-copyable but movable

add secondary project, no real use for it now

add some memleak config to the emucore and add asmjit path to rpcs3

small rebase error fixed to get it to compile again

add filters for emucore

re-add the module manager and static file

WIP commit, linker errors abound

some more abstraction layer stuff

fix the remaining linker errors, re-enable platform specific mouse, pad and keyboard handlers

rebasing

fix memset undefined and re() usage of se_t before declaration

Add wxGUI define by default for cmake builds

fix copy constructors of Datetime header

fix copy constructors of other wx interface classes

remove static declarations of global variables

make wxGLCanvas constructor non-ambiguous even with wx2.8. compat mode, fix wrong std::exception constructor calls

remove duplicate definition for FromUTF8 and ToUTF8

temp changes
2014-06-08 23:16:06 +02:00
B1ackDaemon c4e3ec825e Merge pull request #322 from raven02/patch-16
cellSpurs : create new taskset using attr
2014-06-08 19:36:58 +03:00
raven02 f051011fd1 cellSpurs: create new taskset using attr 2014-06-08 23:29:16 +08:00
Peter Tissen 4d84507c96 try include guards to circumvent a weird error with gcc and unity builds 2014-06-08 16:58:40 +02:00
DH 7bb966ba82 Improved PPU Interpreter
- Fixed UpdateCR0
- Fixed XER.CA updating
2014-06-08 08:27:57 +03:00
DH a4740d5f09 Improved unknown HLE functions logging
Fixed Fragment Shader Decompiler
2014-06-07 18:08:14 +03:00
raven02 7855ebcd9f cellSpurs : initialize eventFlag 2014-06-07 20:31:07 +08:00
Peter Tissen 40add8f9a2 Seperate ConLog.h and ConLogFrame.h (for now only seperate headers)
make precompiled header slimmer under Linux to increase CI and dev-machine build-times

make sure unused modules don't compile
add unused modules to the VS project to easier keep track of them
2014-06-06 02:50:22 +02:00
Peter Tissen 96e229abfa add primitive InterlockedOr64 implementation
use non msvc specific type for int64_t

add umul for gcc
2014-06-02 19:29:22 +02:00
Alexandro Sánchez Bach 82c6d8d68b Removed 32-bit related #if(n)def's 2014-06-02 14:08:32 +02:00
raven02 41d0163781 cellSpursAttributeSetMemoryContainerForSpuThread() 2014-05-31 10:31:43 +08:00
Unknown W. Brackets f49d3d6a28 Fix the DCBZ instruction.
Needs to zero memory.
2014-05-23 09:57:13 -07:00
Unknown W. Brackets 82d60ee48d Do not set the CA bit in ADD().
Thanks Ashe`.
2014-05-23 09:20:58 -07:00
Unknown W. Brackets 493bf93a5a Update LR only when cond passes.
It should not be updated otherwise.  In most cases, won't matter.

Also, reorder slightly so SetBranch() can safely set PC directly.
2014-05-23 09:20:57 -07:00
Unknown W. Brackets ff89e06fd6 Add missing ICBI instruction. 2014-05-07 23:53:19 -07:00
Unknown W. Brackets 9290453d2e Add missing STFSUX/STFDUX instructions. 2014-05-07 23:48:27 -07:00
Unknown W. Brackets 592e13b6a0 Add missing LSWX and STSWX instructions. 2014-05-07 23:39:45 -07:00
Unknown W. Brackets a5c18b2a09 Add missing TD instruction. 2014-05-07 23:36:13 -07:00
Unknown W. Brackets d54237b0a3 Fix SRAWI instruction decoding.
It's SH, not sh.  Lowercase combines bits from two fields.
2014-05-07 23:23:23 -07:00
Unknown W. Brackets 134e891068 Fix operand order in DSTST instruction.
No functional change.  Also, switch SC to use a u32 for more typesafe
opcode decoding - also no functional change.
2014-05-07 23:22:03 -07:00
Hykem 90896560bb Merge pull request #209 from unknownbrackets/warnings
Fix a bunch of warnings
2014-04-28 17:15:12 +01:00
Unknown W. Brackets bdb08c58d3 Clarify a no-content loop. 2014-04-28 07:43:11 -07:00
Unknown W. Brackets 1fb8060263 Clarify precedence in macro. 2014-04-28 07:43:10 -07:00
Unknown W. Brackets 563aa2d2ca Log unhandled case in FPSCR::checkSliceRounding(). 2014-04-28 07:43:07 -07:00
Unknown W. Brackets e4c0b0310c Don't ask twice if MemoryBlocks can read mem.
They already check on Read32(), so just use that to iterate.
2014-04-28 00:15:37 -07:00
Unknown W. Brackets 42d5da633a Fix an unused variable warning. 2014-04-27 21:31:42 -07:00
Unknown W. Brackets 5f6a2e498a Fix some type comparion warnings. 2014-04-27 21:31:41 -07:00
Peter Tissen 870fa5a153 explicit cast from void(*)() to void * 2014-04-27 20:23:32 +02:00
Peter Tissen 0bcadaf155 explicitER casting, why you heff to be mad Clang 2014-04-27 20:13:47 +02:00
Peter Tissen 9d3d7b09b3 explicit casting 2014-04-27 19:55:31 +02:00
Peter Tissen 85be97e6a2 add explicit casts for the ptrdiffs 2014-04-27 19:15:35 +02:00
Peter Tissen 60a7fe17b5 remove .m128i_uxx subscripts because they're non standard 2014-04-27 18:51:24 +02:00
Peter Tissen f906d031fa remove more offsetof calls on linux and add asmjit linkage 2014-04-27 18:37:21 +02:00
Peter Tissen 1ba5cafc5f enable SPU recompiler on linux 2014-04-27 18:18:04 +02:00
Bigpet eea3aa9729 This is squashed commit from the follwing commits:
* various changes to make it compile with clang

* don't compile recompiler on linux yet but make the CMake build include asmjit already

* add experimental travis bot

* modify yml to match

* try to build and install wxWidgets, since it's not in the travis repo

* use newer cmake version for travis

* add keys with sudo

* use sudo for all apt- commands

* Add additional dependencies

* use version approriate gcc flags for c++11

* try clang, gcc too old

* set c++0x flag for clang

* use gcc 4.8

* use gcc 4.8 and add the repo for it

* use gcc 4.8 even for clang to get newer headers

* fix ambiguous conversions

* add lz from hykem and more explicit conversions from be for x86

* more switch disambiguation

* more switch disambiguation

* add additional unigned int casts to deal with be_t conversion ambiguity

* remove unnecessary clang flag

* add lz.cpp to vcxproj and cast to u32 instead of unsigned int

* correct temporaray #ifdefs
2014-04-27 00:41:46 +02:00
Nekotekina 0d375809b1 Useless code removed 2014-04-26 00:28:43 +04:00
Nekotekina a24cb250d8 Compilation fix again 2014-04-26 00:09:23 +04:00
Nekotekina 555d053e32 Compilation fixes 2014-04-25 16:48:27 +04:00
darkf 090f7f8cfb Add SPU decoder mode selection to GUI/Config 2014-04-23 05:06:19 -07:00
Nekotekina 525084e7cc Some stuff 2014-04-20 23:36:53 +04:00
Nekotekina e1bbedd4bf Accuracy improved 2014-04-20 02:53:42 +04:00
Nekotekina 7875738391 More opcodes 2014-04-19 02:11:07 +04:00
Nekotekina 62df7eb499 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3
Conflicts:
	rpcs3/rpcs3.vcxproj.filters

Conflicts fixed
2014-04-18 16:59:31 +04:00
Nekotekina 5d091411a3 More opcodes 2014-04-18 00:25:02 +04:00
nohbdy d136adc73f RSX Bugfixes and plugging memory leaks
BUGFIX: Add break after NV4097_SET_TEXTURE_BORDER_COLOR in RSXThread.cpp
BUGFIX: Fix parameters passed to RSXTexture::SetControl3 (they were being
passed in reverse order)
BUGFIX: Remove invalid, non-sensical call to glPixelStorei in GLGSRender.h
BUGFIX: Fix signed/unsigned comparison compiler warnings in GLGSRender.h
CHANGE: Make GLFragmentProgram::Decompiler synchronous by default
CHANGE: Update wxWidgets submodule to latest commit
BUGFIX: Fix several memory leaks
ADDED: Created a new MSVC debug configuration to output locations
  of allocations that end up leaking after the program
  is closed.
BUGFIX: Fix the stupid PadHandler crash due to the lack of a virtual d'tor
2014-04-17 15:15:43 -05:00
Nekotekina 29d2ea7513 Some bugs fixed 2014-04-17 03:28:21 +04:00
Nekotekina a57841d006 Some comments cleared 2014-04-16 15:36:20 +04:00
Nekotekina dab0751300 ... 2014-04-16 15:09:06 +04:00
Nekotekina c41317dd82 New bugs added 2014-04-14 13:42:55 +04:00
Nekotekina 180f8aac5d SPU Interpreter fix 2014-04-12 14:27:27 +04:00
Bigpet 25c3aa8e19 fixes to get llvm to compile (excepti for utils.cpp, that'll get fixed
later)

Eradicate the Array almost everywhere, some usages like Stack still
remains
2014-04-12 12:06:52 +02:00
Nekotekina a7057f5205 Conflicts fixed 2014-04-10 02:00:01 +04:00
Nekotekina 33f7afd6e6 Some bugs fixed 2014-04-08 19:10:07 +04:00
Nekotekina 4e9dc8ab9c SPU JIT: more asm 2014-04-07 22:27:30 +04:00
Lioncash f019bd995a Fix typo in SUBFZE for the PPUInterpreter. 2014-04-07 11:48:30 -04:00
Nekotekina f9b68bc012 SPU JIT fix
Nothing changed in interpreter.
2014-04-07 17:06:13 +04:00
Nekotekina e614a7313c SPU JIT WIP 2014-04-06 23:23:32 +04:00
Nekotekina 4a9310755f Working on simple SPU JIT
No, it doesn't work.
2014-04-05 20:30:08 +04:00