Commit graph

482 commits

Author SHA1 Message Date
Nekotekina 6229b3ca8d Fixes for booting PS1 games 2018-06-23 17:30:16 +03:00
Nekotekina e4da284176 SPU: analyser v4 and fixes
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
SPU LLVM: implement function chunk table
New simple memory manager for LLVM (bugfix)
2018-06-21 22:29:34 +03:00
Nekotekina b0ee369135 Rewrite LLVM compilation progress dialog
Use a single dialog
2018-05-30 20:35:35 +03:00
Nekotekina 72574b11ff SPU: use reservation spinlocks on writes (non-TSX)
This should decrease contention by avoiding global lock
2018-05-21 21:56:14 +03:00
Nekotekina 6fd402bcf8 Transactions: drop RDTSC usage
Use simple increment (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina 33a1c743a4 Transactions: move loops inside
Rewrite loops in assembler (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina 67391322f4 Transactions: touch memory only after a failure
Minor optimization
2018-05-17 22:19:26 +03:00
Nekotekina 367f039523 Build transactions at runtime
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Nekotekina 4c7afb6952 Opt-in set DAZ and FTZ 2018-05-13 00:03:08 +03:00
Nekotekina 737db90058 Set DAZ and FTZ 2018-05-09 23:38:26 +03:00
Nekotekina 5d15d64ec8 Memory mirror support
Implemented utils::memory_release (not used)
Implemented utils::shm class (handler for shared memory)
Improved sys_mmapper syscalls
Rewritten ppu_patch function
Implemented vm::get_super_ptr (ignores memory protection)
Minimal allocation alignment increased to 0x10000
2018-05-09 23:35:34 +03:00
Nekotekina fe4c3c4d84 Implement SPU recompiler cache
Shared between ASMJIT/LLVM recompilers, compiled at startup
2018-05-09 23:35:18 +03:00
Nekotekina f4af3f2987 PPU: improve LWARX/LDARX consistency 2018-05-08 13:05:29 +03:00
Robbie 477522210e Refactor debugger_frame into subclasses. Mostly trying to simplify
breakpoints.
2018-04-21 22:21:51 +04:00
Nekotekina 0797164fac SPU: fix possible livelock
The bug affects TSX path
2018-04-07 20:51:21 +03:00
Nekotekina 2b5cf2455f SPU: improve TSX usage
Reduce transaction failure amount
Remove vm::try_to_lock
2018-04-06 21:47:54 +03:00
Nekotekina d392379c7a Use vm::passive_lock for SPU threads 2018-04-06 15:47:00 +03:00
Nekotekina 402ca480cd Fix vm::check_addr usage 2018-04-01 22:39:48 +03:00
Nekotekina a3db2774f1 [LLVM] Fix thread limiter
Allow to apply max llvm threads setting as usual
2018-03-31 20:35:30 +03:00
Nekotekina 19944eeed0 Implement SPRX precompilation
Automatically precompile firmware modules
Add "Create LLVM Cache" menu (for games)
Reimplement jit_compiler::cpu as static method
2018-03-22 23:24:58 +03:00
Jake 7bbadfd08b ppu/sys_interrupt: add stack_reset command to fix sys_interrupt stack overflowing 2018-03-09 20:30:59 +04:00
Andrey e0f53ace19 Improve GDB debug server (#4027)
* Made GDB debugger working with IDA

* Added async interrupts support

* Report proper thread after pausing

* Support attaching debugger before running app
2018-02-28 19:31:39 +04:00
Nekotekina cce0ad0c35 Clean vm::ps3 namespace use 2018-02-09 17:49:37 +03:00
Megamouse b9c10a186d Qt/Core: implement max llvm compile threads 2018-01-26 01:57:05 +04:00
kd-11 cbc8bf01a1 cell/scheduler: Manage thread placement depending on cpu hardware 2018-01-19 12:03:57 +03:00
TGEnigma d770a42349 Fix debug build 2018-01-06 04:45:55 +04:00
Nekotekina 198e9dce1d Fix #4005 regression
Delay unregister EH frames (Linux)
2018-01-01 10:41:07 +03:00
VelocityRa 383c501a35 [gui] Show total number of llvm compilation dialogs
- Doesn't account for dynamic libraries loaded after the fact,
  but usually good enough since
  1) Those aren't even present in some games
  2) They usually only have about 1 or 2 fragments (dialogs) each.
2017-12-31 22:08:17 +03:00
Nekotekina d40aaf0391 PPU: use shared jit_compiler instance
(Linux) Fix deregisterEHFrames error message
2017-12-31 22:08:17 +03:00
Nekotekina 0a89f1db39 Fix primary stack size 2017-12-25 21:08:15 +03:00
Nekotekina 83da7f9b63 PPU: remove SSSE3 dependency 2017-12-20 01:21:15 +03:00
Nekotekina ac64792d99 Optimize PPU module loading
I'm garbage 🤦
2017-10-11 20:06:33 +03:00
Nekotekina efe140bc0c Fix instruction editor a bit 2017-10-11 20:06:33 +03:00
Nekotekina e5f756205c sys_net full rewrite
Implement sys_net syscalls
Clean libnet functions
Use libnet.sprx
Use libhttp.sprx
Use libssl.sprx
Use librudp.sprx
Implement sys_ss_random_number_generator
2017-10-05 19:51:37 +03:00
Nekotekina b9b71ccbc1 Implemented syscall _sys_process_exit 2017-09-19 15:07:07 +03:00
Robbie 47685bef39 If the loop is never entered, then the jit is null. 2017-09-10 18:51:59 +03:00
Ofek caab400258 Various fixes (Trophy, Gcm corrections, stack alloc) (#2894)
* Fixed sys_get_random_number generating less bytes than needed, and ceiling the buffer size in 0x1000 instead of failing
* Corrected alignment check in libgcm
* Now calling callback of sceNpManagerRegisterCallback
* Fixed trophies
2017-09-02 14:43:44 +03:00
Nekotekina a85caaee1d Set PPU stack bounds 2017-09-01 21:24:43 +03:00
Nekotekina 2bc57fbee3 LLVM: Add error message 2017-07-23 11:03:38 +03:00
Nekotekina 42b06af577 Force recompiling liblv2.sprx 2017-07-23 11:03:38 +03:00
Nekotekina b24eb621ae Use RTM instructions (skylake+) 2017-07-20 17:22:09 +03:00
Nekotekina 2ef2f0f63b PPU LLVM: simplify module loading 2017-07-17 16:49:46 +03:00
Nekotekina 73a2a937c4 PPU LLVM: reuse loaded executables 2017-07-12 14:00:38 +03:00
Nekotekina f0d184f38b PPU LLVM: relocation support 2017-07-04 02:04:22 +03:00
Nekotekina 3c064439b3 PPU LLVM: new mptr/cptr format 2017-06-29 17:48:55 +03:00
Nekotekina aa34fa8baa PPU LLVM: some passes disabled 2017-06-29 17:48:55 +03:00
Nekotekina fc2a45d6d6 Removed unnecessary code 2017-06-29 17:48:55 +03:00
Nekotekina 89f676de75 PPU: preparations (no fixes) 2017-06-26 16:56:13 +03:00
Nekotekina 8034196c25 ppu_syscall_code type added (for fmt) 2017-06-26 16:56:13 +03:00
Nekotekina f49a30bc1a PPU LLVM: disable unnecessary passes 2017-06-26 16:56:13 +03:00
Nekotekina 1196e9decc PPU LLVM: remove unnecessary code 2017-06-26 16:56:13 +03:00
Nekotekina cd4f290d3d PPU LLVM: v2, simplification (no allocas) 2017-06-26 16:56:13 +03:00
Nekotekina 9738ce0cf6 LLVM: fix cancellation 2017-06-26 16:56:13 +03:00
Nekotekina e5ae32e5f3 Fix #ifdef style 2017-06-26 16:56:13 +03:00
Nekotekina 6561ddae41 PPU LLVM: multithread compilation 2017-06-24 19:12:19 +03:00
Nekotekina aea094730b PPU LLVM: paradigm shift
For now, compile only one block at time
Use tail calls to move between blocks
Fully write PPU context (except CIA)

This fixes many compatibility problems
2017-06-23 20:09:33 +03:00
Nekotekina f010b5b235 Configuration simplified 2017-05-20 16:01:48 +03:00
Nekotekina b349100d9d Stack overflow detection
Added a gap between stack allocations
PPU callstack improved
2017-04-30 21:10:27 +03:00
Nekotekina a626bbf635 PPU Debug fix 2017-04-26 02:27:34 +03:00
Nekotekina b1f1a5885b PPU LLVM improved 2017-04-16 17:44:19 +03:00
Nekotekina 7428bb3025 HLE linkage rewritten 2017-04-16 17:44:19 +03:00
Ofek a5fd7abcf7 Trophy update (#2655)
* Added checksum check to TROPHY.TRP loader

* Implemented sceNpTrophyGetGameProgress, sceNpTrophyGetGameIcon & sceNpTrophyGetTrophyIcon

* Updates to up to date APIs and tiny changes

* Code style fixes for checksum verifier, and another fix for trophy functions

* Format fix
2017-04-13 20:29:47 +03:00
Nekotekina dc3d38c255 PPU Analyser: TOC detection
Improved TOC detection logic
Added "PPU Debug" option
2017-04-09 00:16:53 +03:00
Nekotekina ac79654d1b Warn about libfiber.sprx
It's currently incompatible with LLVM
Also fixed breakpoint bug
2017-04-08 00:56:38 +03:00
Nekotekina ed7883ba07 PPU Analyser fix 2017-04-08 00:56:38 +03:00
Andrey 215a9f9e11 Gdb debug server (#2542) 2017-04-02 21:10:06 +03:00
Nekotekina 37a97a71e3 vm::g_exec_addr added
s_ppu_compiled renamed
Exception handling enabled
2017-03-27 01:15:41 +03:00
Nekotekina e12a708036 LLVM: fix for mingw 2017-03-27 01:15:41 +03:00
Nekotekina 3bfe17a14f PPU: HACK instruction removed
Breakpoints fixed
2017-03-22 23:23:47 +03:00
Nekotekina ddd6ebc58d LLVM: Bump obj version 2017-03-22 01:33:50 +03:00
Nekotekina 1b5c0c68dd LLVM: enable New GVN Pass 2017-03-22 01:21:19 +03:00
Nekotekina 3e6f9faf71 Use LLVM 4.0 2017-03-21 23:32:14 +03:00
Nekotekina 07646c2124 LLVM CPU override option 2017-03-14 16:12:03 +03:00
Nekotekina b45cea1434 Opt-in LLVM logs 2017-03-14 16:12:03 +03:00
Nekotekina d09dd29054 utils::memory_protect 2017-03-13 13:16:22 +03:00
Nekotekina 4739eb3601 Reservation fix 2017-03-11 15:48:43 +03:00
Nekotekina 5e3bacbd9b New reservations
Memory system cleanup
sys_memory_get_page_attribute
2017-03-10 15:51:40 +03:00
Nekotekina 0eb6bf6a67 LLVM: splitting and caching 2017-02-26 20:14:18 +03:00
Nekotekina af53ce6f76 Stack overflow constrained 2017-02-25 19:29:31 +03:00
Nekotekina 7c418f7ea5 PPU: block info fix 2017-02-23 00:35:29 +03:00
Nekotekina 9000407a77 cpu_thread::test_state added
lv2_obj::sleep adjustment
synchronization fixes
2017-02-22 13:23:21 +03:00
Nekotekina 598c90f376 PPU thread scheduler 2017-02-13 22:26:11 +03:00
Nekotekina e4962054a4 LLVM: add check state 2017-02-13 20:51:56 +03:00
Nekotekina 3356a76c9b PPU fix 2017-02-11 17:17:07 +03:00
Nekotekina e899de88ff Log empty functions 2017-02-11 02:43:31 +03:00
Nekotekina bb111d325f memory fix 2017-02-10 23:27:58 +03:00
Nekotekina b20d7ff48c PPU breakpoints resurrected
Now with zero overhead
2017-02-10 16:33:22 +03:00
Nekotekina 8262d56574 PPU interpreter improved 2017-02-10 16:33:22 +03:00
Nekotekina 257b9a2015 Debugger fix
Crash fixes
GUI fixes
Debug enhancements
2017-02-10 16:33:22 +03:00
Nekotekina 47b4c649f1 PPU fixes 2017-02-07 16:37:30 +03:00
Nekotekina 11b0b6958f sys_spu diag 2017-02-05 15:48:11 +03:00
Nekotekina a5a2d43d7c Thread.cpp refinement
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Nekotekina d4c3905355 Debug build fix 2017-01-28 15:32:45 +03:00
Nekotekina df6607e236 Minor fixes 2017-01-28 03:21:11 +03:00
Nekotekina 591a6c8671 IdManager improved 2017-01-25 23:29:36 +03:00
Nekotekina 78ecb115f3 LLVM: progress dialog 2017-01-22 22:44:26 +03:00
Nekotekina 5e0489dcc0 cpu_init removed 2016-08-14 18:07:34 +03:00
Nekotekina bdeccd889f cpu_type removed, system_type added
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina 46735d6b3d New bitsets (experimental) 2016-08-08 16:29:37 +03:00
Nekotekina c9a789bf76 PPU LLVM fix 2016-08-06 13:39:03 +03:00
Nekotekina 5a36c57c57 Formatting system improved
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina e6bd91ada0 id_manager: embedded RTTI 2016-08-01 12:51:47 +03:00
Nekotekina f8719c1230 PPUThread refactoring
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina 44bee7d0ba LLVM: Use small code model
Global variables modified:
__mptr: pointer to memory base addr
__cptr: pointer to function map addr

Use 32 bit pointers in function map
2016-07-25 18:26:02 +03:00
Nekotekina 5c9f83c3a8 PPU LLVM: New "stack" strategy
Minor pessimization: all memory accesses are volatile
Special handling of prologues and epilogues
Minor optimizing assumption for SP
2016-07-24 21:47:45 +03:00
Nekotekina 94da0dbd4d PPU LLVM improvements
Removed interpreter dependencies
Reciprocal instructions improved
2016-07-12 17:33:13 +03:00
Nekotekina 06c6c8212d Minor fixes
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
Ivan 77594dc66c PPU LLVM: New analyser (#1858)
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
Nekotekina 0ea0c21fed LLVM: Indirect call map 2016-06-27 19:34:14 +03:00
Nekotekina 7a921cbdf9 cpu_thread compressed 2016-06-27 16:43:57 +03:00
Nekotekina 9db7de29fb Syscall analysis implemented 2016-06-27 16:43:56 +03:00
Nekotekina a19b721c26 LLVM: Added JIT.cpp
Refactoring, used -fno-rtti option
2016-06-27 16:43:53 +03:00
Nekotekina 73ea020525 PPU LLVM: Thread context argument 2016-06-27 16:43:50 +03:00
Nekotekina 251fb86ab0 PPU LLVM: Some instructions simplified 2016-06-21 18:08:21 +03:00
Nekotekina a8bebcba55 LLVM AOT 2016-06-19 21:29:48 +03:00
Nekotekina e2d82394f6 Cell 2016-05-23 16:22:23 +03:00
Ivan aafcf44581 Header optimizations (#1684)
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan da7472fe81 Optimizations (#1680)
* Optimizations

1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)

* any_pod<> implemented

Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina c4e99dbdb2 Partial commit: Cell 2016-04-15 19:22:34 +03:00
Nekotekina 960668ecf1 For #1355
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina 3ed603074c Changes done by [DH] rewritten
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +03:00
O1L c0255208cc Old ini-manager only partially used in VFS. Global configuration used as defualt. 2015-10-27 01:09:31 +04:00
O1L 1673ba217c Do not try to change default config, use state configs. 2015-10-24 22:48:07 +04:00
Nekotekina a974ee009e vm::var improved, cleanup
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina 8ae3401ffa Some things improved
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Nekotekina 59f1077a36 Cleanup, be_t fixed
Some functions renamed:
get_ps3_function_name
execute_syscall_by_index
2015-09-22 13:28:34 +03:00
Vincent Lejeune 942f26509b Memory: Factorize virtual memory reservation/allocation code in function 2015-08-26 21:54:40 +02:00
Nekotekina e551e2bc5d Bugfix 2015-08-24 21:22:49 +03:00
Nekotekina 5e14310071 noexcept usage fixed
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina be9a599beb PPU Decoder Cache improved 2015-08-24 21:22:35 +03:00
Nekotekina dd665e7363 ID manager simplified
ID manager refactoring, redundant "type" information removed
2015-08-24 21:22:19 +03:00
vlj abd61538ea PPU/LLVM: Rename ExecutionEngine to CPUHybridDecoderRecompiler
In order to avoid naming conflict with llvm own ExecutionEngine
2015-07-22 02:10:55 +03:00
Nekotekina 2f7fe35f5c Minor style change 2015-07-21 23:14:31 +03:00
Nekotekina 48c75105e2 "Memory" eliminated 2015-07-18 03:12:06 +03:00
Nekotekina 4bacfcf847 sys_lv2dbg added, bugfix 2015-07-10 04:31:41 +03:00
Nekotekina 82781e620a Small fixes 2015-07-10 04:31:36 +03:00
Nekotekina c0f13f7084 sleep_queue_t rewritten, used in sys_cond/sys_mutex
Some synchronization fixes
2015-07-10 04:31:34 +03:00
Nekotekina 22e1da5e76 Minor cleanup 2015-07-10 04:31:29 +03:00
Nekotekina 8f9e1100c8 SPU fixes, various fixes 2015-07-10 04:31:25 +03:00
Nekotekina 721ad404d2 VM_CAST macro 2015-07-10 04:31:23 +03:00
Nekotekina 32d3d1fbe5 EXCEPTION() macro usage, sceNpTrophy improved 2015-07-10 04:31:20 +03:00
Nekotekina 6f1e76198a Some fixes 2015-07-10 04:31:18 +03:00
Nekotekina 3aefa2b4e1 ThreadBase rewritten (wip) 2015-07-10 04:31:16 +03:00
Nekotekina ef6f9f6ded be_t constructor implemented, make() eliminated
be_t enums are forbidden, le_t improved, some operators cleaned.
2015-07-10 04:31:07 +03:00
Nekotekina 714da1aa7c vm::var fix, vm::ptr improved
GetCurrentPPUThread() removed
2015-07-10 04:31:00 +03:00
Nekotekina 6c4148a949 Bugfix 2015-07-10 04:30:47 +03:00
Nekotekina edb9595721 Using vm::ps3 namespace moved in proper places
Various fixes
2015-07-10 04:30:41 +03:00
Nekotekina 935302b620 Bugfix 2015-04-20 02:49:13 +03:00
Nekotekina b1f7543436 PPU stack fixed (2) 2015-04-18 04:35:58 +03:00
Nekotekina b7fd09740b PPU stack fixed 2015-04-18 03:25:26 +03:00
Nekotekina ef563f038d SPU: some instructions updated 2015-03-21 02:36:05 +03:00
Nekotekina 63276a3f84 SPU interpreter (basic concept) 2015-03-20 19:53:54 +03:00
Nekotekina 620e937473 Basic load 2015-03-17 23:03:24 +03:00
Nekotekina a71cb5f521 Basic concept 2015-03-17 00:38:21 +03:00
Nekotekina 6a0ce1850a Initial commit 2015-03-16 21:50:59 +03:00
Nekotekina 3e412a2a1f Syscall names registered 2015-03-15 16:26:01 +03:00
Nekotekina 961fc27215 Minor cleanup 2015-03-07 16:39:07 +03:00
Nekotekina 9e49a33b3c SPU syscall improvements 2015-03-05 00:51:14 +03:00
Nekotekina 5f8cf18a5a SPU refactoring 2015-03-03 00:09:20 +03:00
Nekotekina be4e85f0f2 PPCThread removed (it does nothing anyway) 2015-02-26 03:54:49 +03:00
Nekotekina 9ee9523680 StaticFuncManager removed 2015-02-21 17:07:22 +03:00
Nekotekina 2d1d996c50 Small fix 2015-02-19 14:18:28 +03:00
Nekotekina 1f2eafc4f2 Loader fixed 2015-02-17 18:27:15 +03:00
Nekotekina 267de68441 Memory cleanup, page flags implemented
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina e5dd03dbcb ARMv7: argc, argv setting, LDRSB_IMM, bugfixes 2015-02-01 16:52:34 +03:00
Nekotekina 61a5459ccb TLS for ARMv7 threads 2015-01-31 19:44:26 +03:00
Nekotekina 4ea1b8cffc Fixed TLS for PPU threads 2015-01-30 23:01:13 +03:00
Andrew Church ee508f85b4 Fix handling of VRSAVE, and remove references to nonexistent USPRG registers. 2015-01-18 07:01:52 +09:00
Nekotekina 809ba66290 vm::cast in PPUInterpreter 2015-01-14 19:48:50 +03:00
Nekotekina 056f93f3e4 Linux fixes 2015-01-09 01:17:26 +03:00
Nekotekina 697b699873 Some bugs fixed
ARMv7 partially restored
2014-12-01 01:04:47 +03:00
Nekotekina 9fc7197c4f cellGameContentPermit: extremely DANGEROUS bug fixed
And few tiny changes.
2014-11-29 20:41:18 +03:00
DHrpcs3 cdfef3bf9e Fixed compilation errors
Implemented converter_le_be
2014-11-20 21:41:04 +02:00
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
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 5c468d7591 Disabled call stack tracing when using the PPU LLVM recompiler 2014-11-09 11:50:01 +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 160b58cf61 Fixed compilation issues 2014-10-25 06:56:57 +05:30
S Gopal Rajagopal 024c15d4d3 Some cleanup 2014-10-20 01:16:35 +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 2bb63ad051 LLVM based PPU Recompiler. Intial commit 2014-10-13 15:18:17 +05:30
Nekotekina 05a7466a5a m_custom_task thread member 2014-09-24 22:44:26 +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 43a61d0ab9 Memory.Write*/Read* replaced 2014-09-06 17:33:01 +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 a8cfefac07 vm::ptr for u8/char types, mem_list_ptr_t removed 2014-08-31 19:01:48 +04:00
Nekotekina 3269c88d02 Some warnings fixed, some code removed 2014-08-30 21:51:00 +04:00
Nekotekina 693e7a38fa Some std include moved 2014-08-28 20:29:05 +04:00
Nekotekina 78cbb90ef6 Some leaks fixed 2014-08-26 03:55:37 +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 9eb280c367 SetCurrentNamedThread() 2014-08-20 18:23:48 +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 cb58a773c9 Some hack 2014-08-15 16:50:59 +04:00
boxingcow a4f73bc705 Fix broken OS X build with isnan and MAP_ANONYMOUS 2014-07-12 22:06:43 +01:00
Sacha a1158c9515 Remove some indirect headers. 2014-07-12 17:46:14 +10: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
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
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
darkf 090f7f8cfb Add SPU decoder mode selection to GUI/Config 2014-04-23 05:06:19 -07: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
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
lioncash d0c9d7c0ae Use spaces for vertical alignment 2014-04-04 09:25:38 -04:00
Peter Tissen 8ac226ae69 replace all instances of wxString with std::string in all cases not
directly involved in either the GUI or other wxWidget classes like wxFile
2014-04-01 16:23:03 +02:00
Alexandro Sánchez Bach 2c7269e3de PSF Loader improved & issue #126 fixed
* Improved PSF Loader: Now you can get the value of the PARAM.SFO
entries directly with the GetString(key), GetInteger(key) methods.
GameInfo related lines were removed since they have nothing to do with
PSF files.
* cellGame, cellSysutil, and GameViewer are modified because of the PSF
Loader changes.
* Removed unnecessary null pointer checks:
https://github.com/DHrpcs3/rpcs3/issues/126
2014-03-28 05:20:13 +01:00
Nekotekina 3127543b6e sys_ppu_thread_join, sys_ppu_thread_exit fixed
Some diagnostic messages in mutexes
2014-03-07 16:03:42 +04:00
Nekotekina 384536ba4f prx_mem memory leak fixed
CPUThread::ExecAsCallback (experimental)
2014-03-04 23:18:17 +04:00
Alexandro Sánchez Bach 4d98826259 Directory-related functions implemented
* cellFsOpendir, cellFsReaddir, cellFsClosedir functions implemented.
* vfsDirBase: m_entryes, GetEntryes renamed to m_entries, GetEntries
respectively.
* vfsLocalDir: Read() function added to get the entries one by one.
* Moved IsExists() from vfsLocalDir to vfsDirBase to avoid "R6025 pure
virtual function call" error.
* Other minor changes in some functions of sys_fs
2014-02-09 22:53:48 +01:00
Nekotekina 6c606be09f Reservation implemented
Some SPU bugs fixed;
sys_spu_thread_get_exit_status
sys_spu_thread_group_destroy
2014-02-07 02:55:48 +04:00
Nekotekina a0c8e116df Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-02-03 01:20:48 +04:00
Nekotekina 7fce5589f8 Memory alignment fix
Some mutexes added, _sys_heap_memalign implemented
2014-02-02 23:49:10 +04:00
DH beb19633e9 Implemented vfsLocalDir & vfsDirBase.
Improved ThreadBase.
Minor fixes.
2014-02-02 21:42:32 +02:00
Alexandro Sánchez Bach 382ae8a78f Improved cellResc module
* cellResc module improved

* Many changes in this commit are from [DH]: The implementation of
cellRescSetConvertAndFlip, cellRescSetWaitFlip and cellRescSetSrc as
well as all the other changes that are not in cellResc module.

* Fixed another conflict from O1L/rpcs3 (master): Deleted
"cellPhotoUtility" (which already exists in cellPhotoExport)
Now all the conflicts are solved. :-)

NOTE: We should search for a better name for 's_rescInternalInstance'.
This one is just too long and some lines don't even fit in my screen
because of this.
2013-11-16 01:38:22 +01:00
DH 6b22e7d90a - Implemented ARM9Interpreter & ARM9DisAsm.
- Implemented MemoryBlockLE & DynamicMemoryBlockLE.
- Implemented CPUDecoder.
2013-11-05 20:12:18 +02:00
DH 0b35be32a4 - Implemented ARM9Thread.
- Improved OpenGL Renderer.
- Improved RAW SPU mfc.
2013-11-03 21:23:16 +02:00
DH eebe859f83 Improved mem_t.
- Implemented mem_ptr_t.
- Fixed issue 3.
2013-09-25 00:11:29 +03:00
DH 234e174b7d - Implemented send open system menu cmd.
- Added cellSysutil module.
- Improved OpenGL renderer.
- Added cube & hello world homebrews.
- Implemented more GCM syscalls.
2013-08-19 02:06:11 +03:00
DH 2f5fa75bb4 - Fixed sys_ppu_thread_exit.
- Disabled some dbg tools.
2013-08-17 19:23:03 +03:00
DH 0aff049960 - Improved Vertex & Fragment Shader Decompilers.
- Fixed some FPR instructions.
- Implemented more GCM syscalls.
- Fixed callbacks alert.
2013-08-17 01:22:26 +03:00
DH 559852a8fc - Implemented RAW SPU.
- Implemented memory mapping.
2013-07-12 15:42:17 +03:00
DH fb57bb9c4e - Implemented MTCRF instruction.
- Implemented sys_spu_thread_set_argument syscall.
- Improved Debugger.
2013-07-08 16:24:46 +03:00
DH 6d7d3acb43 - Fixed loading modules in debug mode.
- Improved Lwmutex.
- Implemented events syscalls.
- Fixed SPU local storage.
2013-07-06 02:49:38 +03:00
DH 5753edf6ef - Improved sc function binder.
- Improved GLGSRender.
2013-06-30 11:46:29 +03:00
DH a90b5cf37a http://code.google.com/p/rpcs3/source/detail?r=44 2012-11-15 01:39:56 +02:00