Commit graph

1800 commits

Author SHA1 Message Date
kd-11 78f09d7645 asmjit: Minimal locking when reading, also only lock when actually writing to the db 2017-07-19 23:28:33 +03:00
RipleyTom 0136215ef1 Minor sceNpBasicGetEvent Fix 2017-07-19 21:41:37 +03:00
Dangles91 7426eb285f Fixes for save_op_get_list_item
Only return data for dir and bind where requested. Some games like Akiba's Trip call this function but don't ask for any data back.
2017-07-18 15:22:49 +03:00
Nekotekina f91f2e3e6d Patch: add floating point support
Also count applied entries
2017-07-17 18:36:54 +03:00
Nekotekina e39ee10105 Patch system improved
SPU patch rewritten
PPU patch implemented
2017-07-17 16:49:46 +03:00
Nekotekina 2ef2f0f63b PPU LLVM: simplify module loading 2017-07-17 16:49:46 +03:00
Dangles 6610abcd5f Minor changes for save data utility (#3005) 2017-07-16 19:10:45 +03:00
Nekotekina d8abe75526 Improved sprx boot (for devs only) 2017-07-14 01:47:00 +03:00
scribam ce7b55871b Add sceNp2* functions 2017-07-14 01:46:07 +03:00
scribam 9d8fa28dd9 Add sceNp* functions 2017-07-14 01:46:07 +03:00
scribam 3a3e9770f3 Add cellHttp* functions 2017-07-14 01:46:07 +03:00
Robbie ab595d2b95 Improve Save Manager (#2951)
* Add the save icons to the save data entry and manager.

* Simplify code slightly since I have an else now so no need for == false

* Move the icon to the top of the list because it looks better.  Remove redundant settitle.

* Fix size.  It's a bit forced but there wasn't any better way as far as I could see on stack overflow.

Also, add an error dialog if you have no entries.

Simplify the logic slightly for the selected since with the no data case handled, I can make more assumptions about the return value.

* save_data_utility: fix dialog sizes

* CELL_OK

* Retcon dialog to instead be error in log.

* Dangle92 and I had some fun. Everything should be good now.

* In dangle's code he disabled the icon, in mine I hide it if there is nothing. Having both isn't needed.  Yay merges resulting in doing stupid things.

* Fix leek

* Default size to zero for sanity. Shared pointer is fine handling null (tested with disgaea and renaming icon file)

* Simplifying. Thanks for review and advice all
2017-07-13 18:38:13 +03:00
Nekotekina 7702eb2fa7 PPU: clean linkage info 2017-07-12 21:29:09 +03:00
Nekotekina a5c431c2b7 _lv2prx mutex implemented 2017-07-12 19:11:51 +03:00
Nekotekina 5ba23ac4c4 sys_lwmutex_locker aux class 2017-07-12 19:09:53 +03:00
Nekotekina ff53ff3bbf Force HLE for net-related libraries 2017-07-12 14:00:38 +03:00
Nekotekina 4a512694d9 Implemented _sys_memchr 2017-07-12 14:00:38 +03:00
Nekotekina 8202352452 Do not load sprx twice 2017-07-12 14:00:38 +03:00
Nekotekina 73a2a937c4 PPU LLVM: reuse loaded executables 2017-07-12 14:00:38 +03:00
Nekotekina 3278062c29 PPU: load only libsysmodule.sprx 2017-07-12 14:00:38 +03:00
Nekotekina 74f2be7307 PPU: free prx segments 2017-07-12 14:00:38 +03:00
Nekotekina 9a38d63661 Store sys_spu_image value 2017-07-12 14:00:38 +03:00
Nekotekina bab537c7e2 PPU LLVM: unuse FP_SAT_OP 2017-07-12 14:00:38 +03:00
RipleyTom 34709eb399 Fix Stswi instruction 2017-07-10 18:42:02 +03:00
kd-11 41d921808b spu: Reimplement FCGT and FCMGT to handle corner cases (such as comparisons against infinites and denormals)
- Also optimize FMA/FMS/FNMS for recompiler
2017-07-08 14:52:16 +03:00
kd-11 ab97a0a5a3 spu: dma tweaks 2017-07-08 14:52:16 +03:00
RipleyTom d793f8ad78 Implements sys_fs_disk_free 2017-07-04 16:16:32 +03:00
Nekotekina dda274afb0 Fix Miku OP video
And break something else
2017-07-04 02:04:22 +03:00
Nekotekina f0d184f38b PPU LLVM: relocation support 2017-07-04 02:04:22 +03:00
Robbie 458968658f Fix akiba with cell cancel 2017-07-03 23:56:55 +03:00
Robbie 190a59ce03 Basic Save Manager (#2924)
* The basic unstubbing.  Save entries will be listed and you can select a save.  If you select none, then it'll work as well.  WIP

* Filled out the trivial parts of the info dialog.

* Finish implementation and clean up.  No "maintain" dialog or context menu for now until the copy/delete functions are implemented.

* Fix crash

* Update cellSaveData.cpp
2017-07-01 21:42:09 +03:00
Inviuz 645f0e63ab REF 57 plus FREF fix
kept bothering me until i realized what was wrong with it
2017-06-30 14:24:00 +03:00
Nekotekina c087a9534a PPU LLVM: SSA reordering
Fetch indirect jump target
Flush registers earlier
2017-06-29 17:48:55 +03:00
Nekotekina da87bb6710 PPU LLVM: minor fix 2017-06-29 17:48:55 +03:00
Nekotekina 3c064439b3 PPU LLVM: new mptr/cptr format 2017-06-29 17:48:55 +03:00
Nekotekina 85f8a42bd2 PPU: MTOCRF optimization 2017-06-29 17:48:55 +03:00
Nekotekina ef55d6fa0c PPU LLVM: less trash, fix crash 2017-06-29 17:48:55 +03:00
Nekotekina aa34fa8baa PPU LLVM: some passes disabled 2017-06-29 17:48:55 +03:00
Nekotekina 2629f9be44 PPU: VREFP, VRSQRTEFP changed 2017-06-29 17:48:55 +03:00
Nekotekina fc2a45d6d6 Removed unnecessary code 2017-06-29 17:48:55 +03:00
kd-11 9cbaacb13f cellVideoOut: Enable 59.94 Hz required for some games 2017-06-29 13:13:19 +03:00
Nekotekina 89f676de75 PPU: preparations (no fixes) 2017-06-26 16:56:13 +03:00
Nekotekina 061c92ba1f PPU LLVM: Improve FlushRegisters 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 45fae363c6 PPU LLVM: MFCR optimized 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
Inviuz 81ab6ab8b4 FREFS/weak imports and VREFS 4 and 6 2017-06-26 14:17:34 +03:00
Nekotekina 6561ddae41 PPU LLVM: multithread compilation 2017-06-24 19:12:19 +03:00
Nekotekina d86858da64 Fix tabs 2017-06-24 14:25:11 +03:00
Nekotekina d0b37777c3 Remove throw cpu_flag 2017-06-23 20:09:33 +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 a29d7d3962 LLVM: implement STSWI, LSWI...
Fix DIVD, DIVDU, DIVW, DIVWU, MULHW
Removed __adde_get_ca in ADDE, SUBFE
2017-06-23 20:09:33 +03:00
Nekotekina 82a296f900 PPUOpcodes.h updated 2017-06-23 20:09:33 +03:00
Jan Beich 392d91b604 Improve portability for BSDs (#2813)
* sys_net: don't use fds_bits from a system header on FreeBSD

rpcs3/Emu/Cell/Modules/sys_net.cpp:137:14: error: no member named '__fds_bits' in
      'sys_net::fd_set'; did you mean 'fds_bits'?
                                if (src->fds_bits[i] & (1 << bit))
                                         ^~~~~~~~
                                         fds_bits
/usr/include/sys/select.h:75:18: note: expanded from macro 'fds_bits'
#define fds_bits        __fds_bits
                        ^
rpcs3/Emu/Cell/Modules/sys_net.h:114:13: note: 'fds_bits' declared here
                be_t<u32> fds_bits[32];
                          ^

* GUI: fallback to xdg-open on other Unices

rpcs3/Gui/GameViewer.cpp:289:26: error: use of undeclared identifier 'command'
        wxExecute(fmt::FromUTF8(command));
                                ^

* File: FreeBSD never supported copyfile(3) but sendfile(2) works fine

Utilities/File.cpp:114:10: fatal error: 'copyfile.h' file not found
#include <copyfile.h>
         ^~~~~~~~~~~~

* Thread: add signal handling for BSDs

Utilities/Thread.cpp:761:23: error: use of undeclared identifier 'REG_RAX'
static const decltype(REG_RAX) reg_table[] =
                      ^
Utilities/Thread.cpp:763:2: error: use of undeclared identifier 'REG_RAX'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
        ^
Utilities/Thread.cpp:763:11: error: use of undeclared identifier 'REG_RCX'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                 ^
Utilities/Thread.cpp:763:20: error: use of undeclared identifier 'REG_RDX'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                          ^
Utilities/Thread.cpp:763:29: error: use of undeclared identifier 'REG_RBX'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                                   ^
Utilities/Thread.cpp:763:38: error: use of undeclared identifier 'REG_RSP'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                                            ^
Utilities/Thread.cpp:763:47: error: use of undeclared identifier 'REG_RBP'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                                                     ^
Utilities/Thread.cpp:763:56: error: use of undeclared identifier 'REG_RSI'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                                                              ^
Utilities/Thread.cpp:763:65: error: use of undeclared identifier 'REG_RDI'
        REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI,
                                                                       ^
Utilities/Thread.cpp:764:2: error: use of undeclared identifier 'REG_R8'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
        ^
Utilities/Thread.cpp:764:10: error: use of undeclared identifier 'REG_R9'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                ^
Utilities/Thread.cpp:764:18: error: use of undeclared identifier 'REG_R10'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                        ^
Utilities/Thread.cpp:764:27: error: use of undeclared identifier 'REG_R11'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                 ^
Utilities/Thread.cpp:764:36: error: use of undeclared identifier 'REG_R12'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                          ^
Utilities/Thread.cpp:764:45: error: use of undeclared identifier 'REG_R13'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                                   ^
Utilities/Thread.cpp:764:54: error: use of undeclared identifier 'REG_R14'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                                            ^
Utilities/Thread.cpp:764:63: error: use of undeclared identifier 'REG_R15'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                                                     ^
Utilities/Thread.cpp:764:72: error: use of undeclared identifier 'REG_RIP'
        REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP
                                                                              ^
Utilities/Thread.cpp:792:26: error: no member named 'gregs' in '__mcontext'
                const u64 reg_value = *X64REG(context, reg - X64R_RAX);
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:804:21: error: no member named 'gregs' in '__mcontext'
                out_value = (u8)(*X64REG(context, reg - X64R_AL));
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:809:21: error: no member named 'gregs' in '__mcontext'
                out_value = (u8)(*X64REG(context, reg - X64R_AH) >> 8);
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:815:31: error: no member named 'gregs' in '__mcontext'
                const s8 imm_value = *(s8*)(RIP(context) + i_size - 1);
                                            ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:827:33: error: no member named 'gregs' in '__mcontext'
                const s16 imm_value = *(s16*)(RIP(context) + i_size - 2);
                                              ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:836:33: error: no member named 'gregs' in '__mcontext'
                const s32 imm_value = *(s32*)(RIP(context) + i_size - 4);
                                              ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:846:20: error: no member named 'gregs' in '__mcontext'
                out_value = (u32)RCX(context);
                                 ^~~~~~~~~~~~
Utilities/Thread.cpp:779:18: note: expanded from macro 'RCX'
#define RCX(c) (*X64REG((c), 1))
                 ^~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:851:19: error: no member named 'gregs' in '__mcontext'
                const u32 _cf = EFLAGS(context) & 0x1;
                                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:851:19: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:852:19: error: no member named 'gregs' in '__mcontext'
                const u32 _zf = EFLAGS(context) & 0x40;
                                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:852:19: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:853:19: error: no member named 'gregs' in '__mcontext'
                const u32 _sf = EFLAGS(context) & 0x80;
                                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:853:19: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:854:19: error: no member named 'gregs' in '__mcontext'
                const u32 _of = EFLAGS(context) & 0x800;
                                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:854:19: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:855:19: error: no member named 'gregs' in '__mcontext'
                const u32 _pf = EFLAGS(context) & 0x4;
                                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:855:19: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:885:12: error: no member named 'gregs' in '__mcontext'
                case 1: *X64REG(context, reg - X64R_RAX) = value & 0xff | *X64REG(context, re...
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:885:62: error: no member named 'gregs' in '__mcontext'
  ...*X64REG(context, reg - X64R_RAX) = value & 0xff | *X64REG(context, reg - X64R_RAX) & 0xffffff...
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:886:12: error: no member named 'gregs' in '__mcontext'
                case 2: *X64REG(context, reg - X64R_RAX) = value & 0xffff | *X64REG(context, ...
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:886:64: error: no member named 'gregs' in '__mcontext'
  ...reg - X64R_RAX) = value & 0xffff | *X64REG(context, reg - X64R_RAX) & 0xffff0000; return true;
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:887:12: error: no member named 'gregs' in '__mcontext'
                case 4: *X64REG(context, reg - X64R_RAX) = value & 0xffffffff; return true;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:888:12: error: no member named 'gregs' in '__mcontext'
                case 8: *X64REG(context, reg - X64R_RAX) = value; return true;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:913:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x1; // set CF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:913:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:917:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x1; // clear CF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:917:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:922:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x40; // set ZF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:922:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:926:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x40; // clear ZF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:926:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:931:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x80; // set SF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:931:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:935:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x80; // clear SF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:935:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:940:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x800; // set OF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:940:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:944:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x800; // clear OF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:944:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:953:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x4; // set PF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:953:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:957:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x4; // clear PF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:957:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:962:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) |= 0x10; // set AF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:962:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:966:3: error: no member named 'gregs' in '__mcontext'
                EFLAGS(context) &= ~0x10; // clear AF
                ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:966:3: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:976:7: error: no member named 'gregs' in '__mcontext'
                if (EFLAGS(context) & 0x400 /* direction flag */)
                    ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:769:49: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                         ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:976:7: error: use of undeclared identifier 'REG_EFL'
Utilities/Thread.cpp:769:55: note: expanded from macro 'EFLAGS'
#define EFLAGS(context) ((context)->uc_mcontext.gregs[REG_EFL])
                                                      ^
Utilities/Thread.cpp:1020:25: error: no member named 'gregs' in '__mcontext'
        auto code = (const u8*)RIP(context);
                               ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:1146:3: error: no member named 'gregs' in '__mcontext'
                RIP(context) += i_size;
                ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:1368:47: error: no member named 'gregs' in '__mcontext'
        const bool is_writing = context->uc_mcontext.gregs[REG_ERR] & 0x2;
                                ~~~~~~~~~~~~~~~~~~~~ ^
Utilities/Thread.cpp:1368:53: error: use of undeclared identifier 'REG_ERR'
        const bool is_writing = context->uc_mcontext.gregs[REG_ERR] & 0x2;
                                                           ^
Utilities/Thread.cpp:1393:89: error: no member named 'gregs' in '__mcontext'
  ...%s location %p at %p.", cause, info->si_addr, RIP(context)));
                                                   ^~~~~~~~~~~~
Utilities/Thread.cpp:784:18: note: expanded from macro 'RIP'
#define RIP(c) (*X64REG((c), 16))
                 ^~~~~~~~~~~~~~~
Utilities/Thread.cpp:767:55: note: expanded from macro 'X64REG'
#define X64REG(context, reg) (&(context)->uc_mcontext.gregs[reg_table[reg]])
                               ~~~~~~~~~~~~~~~~~~~~~~ ^

* Thread: add explict casts for incomplete pthread_t on some platforms

Utilities/Thread.cpp:1467:17: error: no viable overloaded '='
        ctrl->m_thread = thread;
        ~~~~~~~~~~~~~~ ^ ~~~~~~
Utilities/Atomic.h:776:12: note: candidate function not viable: cannot convert argument of
      incomplete type 'pthread_t' (aka 'pthread *') to 'const atomic_t<unsigned long>' for 1st
      argument
        atomic_t& operator =(const atomic_t&) = delete;
                  ^
Utilities/Atomic.h:902:7: note: candidate function not viable: cannot convert argument of
      incomplete type 'pthread_t' (aka 'pthread *') to 'const type' (aka 'const unsigned long') for
      1st argument
        type operator =(const type& rhs)
             ^
Utilities/Thread.cpp:1656:3: error: no matching function for call to 'pthread_detach'
                pthread_detach(m_thread.raw());
                ^~~~~~~~~~~~~~
/usr/include/pthread.h:218:6: note: candidate function not viable: no known conversion from 'type'
      (aka 'unsigned long') to 'pthread_t' (aka 'pthread *') for 1st argument
int             pthread_detach(pthread_t);
                ^

* build: dlopen() maybe in libc

/usr/bin/ld: cannot find -ldl
c++: error: linker command failed with exit code 1 (use -v to see invocation)

* build: iconv() maybe available on some BSDs in libc

/usr/bin/ld: cannot find -liconv
c++: error: linker command failed with exit code 1 (use -v to see invocation)

* build: hidapi-hidraw is only built on Linux

/usr/bin/ld: cannot find -lhidapi-hidraw
c++: error: linker command failed with exit code 1 (use -v to see invocation)

* Thread: use getrusage() on more POSIX-like systems

* Qt: don't return NULL handle on other platforms

rpcs3/rpcs3qt/gs_frame.cpp:120:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^

* build: properly disable Vulkan on other platforms

In file included from rpcs3/rpcs3_app.cpp:40:
In file included from rpcs3/Emu/RSX/VK/VKGSRender.h:3:
rpcs3/Emu/RSX/VK/VKHelpers.h:1209:42: error: unknown type name 'device_queues'
                        std::vector<VkBool32> supportsPresent(device_queues);
                                                              ^
rpcs3/Emu/RSX/VK/VKHelpers.h:1211:4: error: expected member name or ';' after declaration specifiers
                        for (u32 index = 0; index < device_queues; index++)
                        ^
rpcs3/Emu/RSX/VK/VKHelpers.h:1221:4: error: expected member name or ';' after declaration specifiers
                        for (u32 i = 0; i < device_queues; i++)
                        ^
rpcs3/Emu/RSX/VK/VKHelpers.h:1256:4: error: expected member name or ';' after declaration specifiers
                        if (graphicsQueueNodeIndex != presentQueueNodeIndex)
                        ^
rpcs3/Emu/RSX/VK/VKHelpers.h:1261:4: error: expected member name or ';' after declaration specifiers
                        CHECK_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR(dev, surface, &formatCount, nullptr));
                        ^
[...]
/usr/bin/ld: cannot find -lvulkan
c++: error: linker command failed with exit code 1 (use -v to see invocation)

* build: make install/strip work by moving commands

* Qt: create surface for GL context if it wasn't ready

  #0  strlen (str=0x0) at /usr/src/lib/libc/string/strlen.c:100
  #1  0x000000000090f02e in std::__1::char_traits<char>::length (__s=0x0)
      at /usr/include/c++/v1/__string:215
  #2  std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string (__s=0x0, this=<optimized out>) at /usr/include/c++/v1/string:1547
  #3  gl::capabilities::initialize (this=0x2ba32a0 <gl::g_driver_caps>)
      at rpcs3/Emu/RSX/GL/GLHelpers.h:133
  #4  0x000000000090d3dd in gl::get_driver_caps () at rpcs3/Emu/RSX/GL/GLHelpers.cpp:56
  #5  0x00000000008fa511 in GLGSRender::on_init_thread (this=0x838d30018)
      at rpcs3/Emu/RSX/GL/GLGSRender.cpp:484
  #6  0x0000000000938f9e in rsx:🧵:on_task (this=0x838d30018)
      at rpcs3/Emu/RSX/RSXThread.cpp:334
  #7  0x0000000000abc329 in task_stack::task_type<named_thread::start_thread(std::__1::shared_ptr<void> const&)::$_10>::invoke() ()
  #8  0x0000000000abc114 in thread_ctrl::start(std::__1::shared_ptr<thread_ctrl> const&, task_stack)::$_7::__invoke(void*) ()
  #9  0x0000000801e60c35 in thread_start (curthread=0x843650a00)
      at /usr/src/lib/libthr/thread/thr_create.c:289
  #10 0x0000000000000000 in ?? ()

* build: don't abort without git metadata

-- Found Git: /usr/local/bin/git (found version "2.13.1")
fatal: Not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Warning at git-version.cmake:12 (message):
  git rev-list failed, unable to include version.

* build: non-parallel needs git-version.h earlier

rpcs3/rpcs3_version.cpp:3:10: fatal error: 'git-version.h' file not found
 #include "git-version.h"
          ^~~~~~~~~~~~~~~
1 error generated.
2017-06-22 21:03:41 +03:00
clienthax ac12fc8b44 HLE cellHttpUtilParseUri, Also initalise networking with windows. (#2879)
TODO: rewrite with <regex>
2017-06-22 20:27:12 +03:00
scribam fe67d51e5e Stub cellMsgDialogOpenSimulViewWarning 2017-06-22 20:08:21 +03:00
scribam 4d294e7a69 Stub sys_rsxaudio_ functions 2017-06-22 20:08:21 +03:00
scribam 45dc7fbac8 Stub some cellHttpAuth* functions 2017-06-22 20:08:21 +03:00
Jake 72590e2c93 cellGem: Fix headers 2017-06-21 19:28:05 +03:00
Jake d3df83a3ea Sprx: loading / reloc fixes 2017-06-21 19:28:05 +03:00
Jake 03268b0838 Trophy: return size for GetRequiredDiskSpace again 2017-06-21 19:28:05 +03:00
Jake f77e9f8bc1 kb/mouse: fix max in init 2017-06-21 19:28:05 +03:00
Zion Nimchuk 0c4cc34488 Implement strncasecmp and strrchr 2017-06-12 20:25:03 +03:00
Jake 195f24507b cellPad: Clear info structs before setting 2017-06-02 19:40:22 +03:00
Jake 56b21fd411 cellPadPeriphGetData impl 2017-06-02 19:40:22 +03:00
Jake 80fc471067 Ignore LLE savedata modules 2017-05-21 18:07:43 +03:00
Jake 4bcafb3e75 Fix C00 SPRX loading 2017-05-21 18:07:43 +03:00
Jake 7ccc5d3910 Set TrophyRequiredSize to 0 2017-05-21 18:07:43 +03:00
Nekotekina f010b5b235 Configuration simplified 2017-05-20 16:01:48 +03:00
Nekotekina d5107aab47 cfmt improved 2017-05-19 01:13:23 +03:00
Nekotekina b613fb70f1 Fix MFC_WrTagUpdate 2017-05-19 01:13:23 +03:00
Zion c133db6721 Update asmjit submodule (Testers wanted!) (#2782)
* Update asmjit submodule

* Add myself as a contributor 	😉
2017-05-18 14:22:45 +03:00
raven02 f54628fcfd Stub cellGcmSetWaitFlipUnsafe() (#2786) 2017-05-16 07:33:37 +08:00
Nekotekina 7ac64a6725 CELL_OK cleanup 2017-05-15 14:58:32 +03:00
Nekotekina 81c8d3f27a Added CELL_CANCEL 2017-05-15 14:37:05 +03:00
Nekotekina 88fef183a3 config.yml: Log section optimized 2017-05-15 14:37:05 +03:00
scribam 299f627321 Stub cell (#2785)
* Update cellGcmSys

* Update cellStorage

* Update cellSubdisplay

* Update sceNpTrophy
- Use error_code as return type
- Add few checks

* Update cellKey2char

* Update cellKb:
- Use error_code as return type
- Replace UNIMPLEMENTED_FUNC by .todo

* Update cellNetCtl

* Update cellSpudll

* Update cellSysutilAp

* Update cellUserInfo

* Stub sys_mempool_allocate_block (bad idea)
2017-05-15 14:30:14 +03:00
Nekotekina 8df95dbe39 Stub sys_fs syscalls 2017-05-11 19:05:41 +03:00
Nekotekina 75017345be cellFsGetPath implemented 2017-05-11 19:05:41 +03:00
Nekotekina 08c955d177 Remove AutoPause.cpp 2017-05-11 19:05:41 +03:00
Nekotekina 8209e6c1e3 ppu_initialize_syscalls draft 2017-05-11 19:05:41 +03:00
Nekotekina 3a5efe9809 sys_ppu_thread_register_atexit implemented 2017-05-11 19:05:41 +03:00
Nekotekina 5ffb4766b0 sys_ppu_thread_once rewritten
sys_initialize_tls moved
sys_interrupt_thread_disestablish moved
2017-05-11 19:05:41 +03:00
kd-11 df7b466656 spu: Speed hacks - Do not starve PPU threads
optionally hint to the OS scheduler to give less attention to SPUs

ui: Add speed 'hacks' as configurable options
2017-05-10 21:50:14 +03:00
Nekotekina b1e8eefad0 cellFs fixes
cellFsAllocateFileAreaWithoutZeroFill implemented
2017-05-07 15:24:07 +03:00
Nekotekina e8d76ede14 sys_fs_fsync fix 2017-05-05 00:11:57 +03:00
Jake 6bb32e4e80 DS4 Support. Supports sixaxis and vibrate 2017-05-04 23:35:09 +03:00
scribam e33c01131e Update sceNpSns (#2732) 2017-05-01 21:35:49 +03:00
Nekotekina 95c6278863 Organize cellDaisy 2017-04-30 21:10:27 +03:00
Nekotekina eba44261c7 Preserve original function names 2017-04-30 21:10:27 +03:00
Nekotekina b349100d9d Stack overflow detection
Added a gap between stack allocations
PPU callstack improved
2017-04-30 21:10:27 +03:00
Wilfried Rabouin 7ab210432e PPU interpreter (precise): SAT bit implemented (#2736) 2017-04-30 21:05:50 +03:00
Pierre Vezien f40dcbfa30 Stub sceNp functions to return an offline status until further developement is done. 2017-04-30 18:21:34 +03:00
scribam 84ba7c3e73 Stub cellFiber module (#2704) 2017-04-29 02:44:42 +03:00
Jake ff366f4e4e Partially implement cellPadGetDataExtra 2017-04-29 01:26:03 +03:00
Jake 5f470b316a Fix cellPadGetData button reports 2017-04-29 01:26:03 +03:00
Jake c8252d2b28 Fix cellGameContentErrorDialog freeze 2017-04-29 01:26:03 +03:00
Jake 16d7eb4f55 [Crypto] Edat cleanup 2017-04-29 01:26:03 +03:00
Nekotekina 5f26c2fc8f REG_FUNC+ macro improved
This includes REG_FNID, REG_VAR, REG_VNID
Allows to specify alternative function name
2017-04-26 23:38:24 +03:00
Nekotekina f6383f6e06 cellAudioAdd2chData fixed
cellAudioAdd6chData fixed
Speculatively.
2017-04-26 23:05:49 +03:00
Nekotekina 8055d83da2 sys_fs_fget_block_size improved 2017-04-26 20:31:39 +03:00
Nekotekina b0a83cdb56 sys_fs_lsn_get_cda_size stub 2017-04-26 20:26:29 +03:00
Nekotekina 3f5951c9f8 sys_fs_fcntl update 2017-04-26 16:10:26 +03:00
Nekotekina c3c442ccb1 cellFsGetFreeSize implemented 2017-04-26 02:27:35 +03:00
Nekotekina a95a63a58a sys_fs_lsn_lock implemented 2017-04-26 02:27:35 +03:00
Nekotekina 1bbb76fa20 sys_fs_test implemented 2017-04-26 02:27:35 +03:00
Nekotekina f42b830ce9 fs::statfs implemented 2017-04-26 02:27:35 +03:00
Nekotekina 256dfc5729 sys_fs_fsync implemented
sys_fs_fdatasync implemented as equal function
2017-04-26 02:27:34 +03:00
Nekotekina 19fd8c109e cellFsSdataOpenByFd fixed 2017-04-26 02:27:34 +03:00
Nekotekina 634f353ed4 Fix module initialization 2017-04-26 02:27:34 +03:00
Nekotekina d7c3d1ce12 sys_fs: 0xc0000006 stub 2017-04-26 02:27:34 +03:00
Nekotekina a626bbf635 PPU Debug fix 2017-04-26 02:27:34 +03:00
Nekotekina 0f95736c36 cellFsGetDirectoryEntries rewritten 2017-04-26 02:27:34 +03:00
Nekotekina d05b6135c6 Use libfs.sprx (LLE) 2017-04-26 02:27:34 +03:00
scribam 8b2473251d Stub new modules
- cellGamePs1Emu
- cellSysconfPs1emu
- sysBdMediaId (which included sys_get_bd_media_id)
- sysConsoleId (which included sys_get_console_id)
- sysPs2Disc
2017-04-23 16:02:57 +03:00
Nekotekina 463e18f893 Disable SPUJIT.log (opt-in) 2017-04-20 00:52:31 +03:00
Nekotekina f7cb1aea64 Fix Lib Loading 2017-04-20 00:52:11 +03:00
Nekotekina 9b43203111 offset32(): pointer-to-member arithmetic 2017-04-20 00:17:16 +03:00
Megamouse ff5295de32 Lib Loader Radiobutton (#2689) 2017-04-20 00:16:55 +03:00
scribam 8060cf9b19 Add cellRtcAlarm module (#2703) 2017-04-19 21:24:52 +03:00
scribam ba9fdfa802 Add cellFsAccess function 2017-04-19 03:42:44 +03:00
scribam df8a0517dc Add FT_Done_Library function 2017-04-19 03:42:44 +03:00
scribam d27c3eee24 Add FTFaceH_GetMaxVerticalAdvance function 2017-04-19 03:42:44 +03:00
Ryan Gonzalez e447f071ce Misc compile fixes 2017-04-18 22:37:17 +03:00
Nekotekina 4ceaab10a5 _mxr000 hack moved 2017-04-16 17:44:20 +03:00
Nekotekina 402df68235 sys_spu_image loading rewritten 2017-04-16 17:44:20 +03:00
Nekotekina db1b012a26 SPU fix 2017-04-16 17:44:20 +03:00
Nekotekina b1f1a5885b PPU LLVM improved 2017-04-16 17:44:19 +03:00
Nekotekina 2fd58dc7e8 sys_prx updated 2017-04-16 17:44:19 +03:00
Nekotekina 7428bb3025 HLE linkage rewritten 2017-04-16 17:44:19 +03:00
Jeremiah 14f02b23c2 Properly overwrite param.sfo in savedata (#2690) 2017-04-16 01:45:50 +03:00
Ofek 617746606d Trophy fixed (#2687) 2017-04-14 13:08:17 +03:00
kd-11 65bdcaed29 spu: Check exponent bits in FMA ops (#2683) 2017-04-13 23:02:51 +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
Ani 94ab3ae7cf Misc (#2614)
* cellSysmodule: Register libad modules

Register libad_core, libad_async, libad_billboard_util

* Misc

sys_ss_get_console_open_psid (Called on Project Diva F 2nd),
sys_ss_get_console_id
Stub cellWebBrowserGetUsrdataOnGameExit for Professional Baseball
Spirits 2015
Fix two logs on GcmSys
2017-04-13 19:30:25 +03:00
Jeremiah 370c2ecac5 Update cellSaveDataGetListItem 2017-04-13 18:42:38 +03:00
scribam 9ba0a9189b Update sys_spu
- Implement sys_spu_thread_group_set_priority
- Implement sys_spu_thread_group_get_priority
2017-04-10 04:08:55 +03:00
scribam 7cd15a6202 Add functions to cellSsl 2017-04-10 03:25:45 +03:00
scribam 49ba4bbfb5 Typo 2017-04-10 02:39:52 +03:00
Nekotekina 77aa3142a9 Audio: downmix to stereo 2017-04-10 00:18:12 +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 fb9b09d004 PPU disasm: print HLE index 2017-04-08 23:51:54 +03:00
Nekotekina d7c66fc949 ppu_analyse: use entry point 2017-04-08 23:51:54 +03:00
Zangetsu38 b3cb827526 Registers more functions missing.
Implement and stub cell_FreeType2.
Reorder cellRtc.
2017-04-08 22:32:59 +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 69d86e39b9 Fixed auto LLE 2017-04-08 00:56:38 +03:00
Nekotekina ed7883ba07 PPU Analyser fix 2017-04-08 00:56:38 +03:00
scribam 7a1fd27ecc Update cellSpudll
- Stub cellSpudllGetImageSize
- Implement cellSpudllHandleConfigSetDefaultValues
2017-04-08 00:09:06 +03:00
scribam d160c862c7 Stub cellScreenshot module 2017-04-07 22:40:23 +03:00
scribam 4c4b353766 Stub cellVideoUpload module (#2642) 2017-04-07 19:45:38 +03:00
scribam 22ec8c4dd2 Stub cellSysconf module 2017-04-07 18:53:00 +03:00
scribam 219dba8aae Stub cellBgdl module 2017-04-07 16:36:51 +03:00
scribam 7c2af5ceae Register cellSpursRemoveSystemWorkloadForUtility
Before
! LDR: **** cellSpurs export: [0x31F5196B] at 0x13ab56c

After
! LDR: **** cellSpurs export: [cellSpursRemoveSystemWorkloadForUtility] at 0x13ab56c
2017-04-07 16:13:14 +03:00
scribam a1cc40e7b1 Add cellLibprof module (#2637) 2017-04-07 15:48:59 +03:00
ikki84 27ea4285ef Imejp: cellImeJpEnterChar (#2600) 2017-04-07 15:30:07 +03:00
jjsat d8dc4f4474 Fix isdenormal() for MS VC. 2017-04-06 20:58:02 +03:00
scribam ba8aa580a1 Add few functions in cellSysutil. 2017-04-06 14:58:03 +03:00
scribam c863da278f Add cellRtc functions 2017-04-06 12:55:33 +03:00
Inviuz 22e679e23e cellSave fix plus bugfixes (#2631)
* cellSave fix plus bugfixes

allows allocation of last byte in memory block
prevents rpcs3 from crashing when closing non existent socket

* Fix overflow

* add more socket options
fix typo

prevent sys_net from operating on nullptr sockets
2017-04-05 16:08:58 +03:00
Nekotekina 65488078a4 cellSaveData workaround 2017-04-03 16:02:43 +03:00
Andrey 215a9f9e11 Gdb debug server (#2542) 2017-04-02 21:10:06 +03:00
scribam b54ba47870 Stub cellHttpUtil (#2611) 2017-04-02 15:32:53 +03:00
Nekotekina 3ec156b2f2 Enable patch engine for SPU images 2017-03-30 12:04:59 +03:00
Nekotekina 77e88741bc Alternative TLS allocation
Should fix "out of TLS memory"
2017-03-30 12:04:59 +03:00
Inviuz 632287afe7 Add simple divide to get kbytes
integer division
2017-03-28 23:13:25 +03:00
Inviuz 08c9a7c184 Check for invalid arguments
Caused crash when recvfrom was using null buffer
2017-03-28 23:13:25 +03:00
Inviuz 149c08ba78 implement getSizeKB functions
bugfix in sys_net. id 0 is acceptable socket id
2017-03-28 23:13:25 +03:00
Nekotekina 6b471d50eb libmedi fix 2017-03-27 01:15:41 +03:00
Nekotekina e8984d976c _sys_sprintf implemented
_sys_printf, _sys_snprintf fixed
2017-03-27 01:15:41 +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 f1f53de24b PPU analyser fix 2017-03-27 01:15:41 +03:00
Nekotekina cd9bd79639 AutoLLE: libhttp.sprx added 2017-03-27 01:15:41 +03:00
Nekotekina 0393c7f52c fs:: handle negative seek 2017-03-27 01:15:41 +03:00
Nekotekina e12a708036 LLVM: fix for mingw 2017-03-27 01:15:41 +03:00
Zangetsu38 0f9f787a55 Move module in correct path 2017-03-26 01:50:22 +03:00
Ani 7ae2a8840b Register HLE libmedi, cellCrossController, cellSysutilNpEula
Motorstorm Apocalypse calls for cellMediatorGetSignatureLength,
cellMediatorCreateContext, cellMediatorGetProviderUrl,
cellMediatorGetStatus

LittleBigPlanet 2 and 3 may call for 0x37E1F502 (unknown name) on
cellCrossController

Resistance 3 and Uncharted 2 may call for the functions registered
on cellSysutilNpEula
2017-03-26 01:04:39 +03:00
Ani 7d59f7e69c cellSysmodule: Register 0xF044, 0x0054, 0x005C modules
cellSysmodule: Register 0xF044 module (cellSysutilNpEula)
Found by debugging Uncharted 2 Demo (NPEA90055)
Helps in all games that register sys module configuration 'multi-player'

cellSysmodule: Register 0x0054 module (libmedi)
Found on Motorstorm Apocalypse [NPEA00315] (thanks Zangetsu for the log)

cellSysmodule: Register 0x005C module (cellCrossController)
Found on LittleBigPlanet 2 [BCES00850] (thanks Zangetsu for the log)
2017-03-26 01:04:39 +03:00
Jake 65696bf6a3 Crypto: fix sprx/self check in npDrm and edata fixes 2017-03-25 14:26:27 +03:00
clienthax 44e62c5c92 Fixs for klics 2017-03-25 14:26:27 +03:00
Svyatoslav 620ec7ef25 PVS-Studio: fix V547 (#2543) 2017-03-25 13:27:42 +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 4fc8276f0f LLVM: fix FCTIW, FCTID 2017-03-21 20:16:41 +03:00
Nekotekina aad035c4b5 LLVM: fix FCTIWZ, FCTIDZ 2017-03-21 20:16:41 +03:00
Nekotekina c2cd0c994f LLVM: volatile load for state 2017-03-21 20:16:41 +03:00
Inviuz c729d6d65a Use sys_vm_memory_map plus add default value for sys_allocate (#2560)
for different memory map(unconfirmed) also handle default action.
Fixes unknown syscall 313 error
Issue 2510
2017-03-21 16:02:00 +03:00
scribam 5785ebb384 Update cellOvis
- Add parameters to cellOvisInitializeOverlayTable, cellOvisFixSpuSegments and cellOvisInvalidateOverlappedSegments functions
- Modify return type for cellOvisFixSpuSegments and cellOvisInvalidateOverlappedSegments functions
- Replace UNIMPLEMENTED_FUNC by cellOvis.todo
2017-03-20 16:40:44 +03:00
scribam b32ad80c23 Update PPUFunction.cpp
Source:
- http://www.psdevwiki.com/ps3/LV2_Functions_and_Syscalls
- http://www.psdevwiki.com/ps3/VSH_Exports
2017-03-19 20:12:11 +03:00
Nekotekina 2b79a3691f cellVdec: default FRC workaround 2017-03-17 20:51:06 +03:00
Nekotekina c4bdc930ca Fix UB in PPU interpreter 2017-03-17 20:23:03 +03:00
Nekotekina d45d8eb4bc Stub sys_crash_dump_set_user_log_area 2017-03-17 20:08:00 +03:00
al0xf c5e6665010 Fix async OSK loading (#2531) 2017-03-16 12:34:47 +03:00
Nekotekina 1b5a479bbd Auto LLE: cellSsl 2017-03-14 19:21:03 +03:00
Nekotekina 63a107acbc Small fix 2017-03-14 16:12:03 +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 3648a058d1 Auto LLE update
libdtslbrdec.sprx removed
Some encoders added
2017-03-14 16:12:03 +03:00
Nekotekina 90479eaad6 sys_lv2coredump, sys_crashdump modules 2017-03-14 16:12:03 +03:00
Nekotekina 1c8cb3b7d3 Boot messages 2017-03-13 18:03:38 +03:00
Nekotekina d09dd29054 utils::memory_protect 2017-03-13 13:16:22 +03:00
ikki84 c8b9cc9fe5 Stub cellAvconfExt
Changed "fmt::throw_exception("Unimplemented" HERE); "
into:
"UNIMPLEMENTED_FUNC(cellAvconfExt); "
"return CELL_OK;"

Allow NPEB01283 to go further in boot (pass the intro and reaches the menu)...
2017-03-13 12:19:38 +03:00
Inviuz b70a1edbc7 Mmapper with Neko's review fixes (#2503) 2017-03-12 03:15:22 +03:00
Nekotekina 7b65f93953 SPU ch69 2017-03-11 21:55:50 +03:00
Nekotekina ce35554a55 Fixes (sys_memory, sys_mmapper)
DeS
2017-03-11 21:37:18 +03:00
Nekotekina 4739eb3601 Reservation fix 2017-03-11 15:48:43 +03:00
Inviuz 40a84dd477 Handles directory creation in cellGameDataCheckCreate2 (#2488)
* Handle directory creation in cellGameDataCheckCreate2

Stops some games from displaying information about not enough memory on
hdd

* Returning CELL_OK causes some games to loop on sceNp functions

for "shaman magic"

* cellGameDataCheckCreate2 added param.sfo creating/rewriting

* fix fs::file null

and one readability change

* For debugging purposes

When fs::file problem is located will be improved

* Fixed wrong operators

* Conversion from vfs to fs

Should take care of fs::null

* Cleanup

removed some unnecessary logging

* Fix successive function calls

second call was always ending in error since it didn't create the conent
permission

* Changes according to Neko's review

* Change to use u32 value
2017-03-11 11:59:50 +03:00
Jake 309f409554 Fixes: cellMsgDialog, cellPad 2017-03-11 01:13:53 -06:00
Jake a6f8e4f6b3 Edat / Sdata: On the fly decryption for edat, fix EDAT_FLAG_0x20 decryption 2017-03-10 19:39:01 -06:00
Nekotekina 5e3bacbd9b New reservations
Memory system cleanup
sys_memory_get_page_attribute
2017-03-10 15:51:40 +03:00
Ani 7cdb5f3123 Add missing system languages
Adds Portuguese (BR) which was introduced in firmware 4.00 alongside
with English (UK)
Adds Turkish which was introduced in firmware 4.30
2017-03-08 19:59:34 +03:00
Jake 87fe93ee9a Mself / Sdata: on the fly partial decoding support (#2468) 2017-03-07 08:59:05 +08:00
Nekotekina 3baf79f929 ror64 added 2017-03-04 17:34:59 +03:00
Nekotekina 74d47943e9 sceNpDrmVerifyUpgradeLicense fixed 2017-03-04 17:14:51 +03:00
Nekotekina 8e4a09d9e5 cellFsSdataOpenByFd draft
LLE-compatible implementation
lv2_file::make_view implemented
2017-03-04 16:54:49 +03:00
Wilfried Rabouin 67ac8bf070 PPUInterpreter: Fix undefined behavior of left rotate functions (#2469)
* PPUInterpreter: Fix undefined behavior of rol8 and rol16 with inline assembly

* PPUInterpreter: Fix undefined behavior of rol32 and rol64

* PPUInterpreter: Change left rotate functions to inline functions and move to types.h
2017-03-04 16:41:40 +03:00
Nekotekina 48b0583866 Default LLE option 2017-03-03 01:40:27 +03:00
clienthax bd85f23ed9 Stub sys_gamepad ycon interface (#2435)
* Attempt to add sys_gamepad...

* Stub ycon methods

Signed-off-by: clienthax <clienthax@gmail.com>
2017-02-28 19:15:11 +03:00
Ani 557e1c3694 Fix cellDiscGameGetBootDiscInfo (#2430)
cellDiscGameGetBootDiscInfo is called by non-disc games for some reason.
That wasn't accounted for and therefore it would try to read PARAM.SFO
from an unmounted path and throw an access violation.

Tested with NBA Live 08 Demo NPUB90029, probably fixes similar games as
well
2017-02-28 18:42:45 +03:00
Nekotekina c785b14c18 LLVM fix 2017-02-28 17:16:32 +03:00
Ani 01ef9ecca4 sceNp: Fix ExitSpawn, Implement VerifyUpgradeLicense (#2428)
* sceNp: Fix ExitSpawn and ExitSpawn2

Fixes sceNpDrmProcessExitSpawn and sceNpDrmProcessExitSpawn2
functions

The problem was that first argument klicensee was missing, therefore
shifting every other argument out of place and throwing an access
violation at the end.

* Use npDrmIsAvailable on sceNpDrmProcessExitSpawn

Tries to decrypt DRM file with provided klicensee

* Implement sceNpDrmVerifyUpgradeLicense

Implements sceNpDrmVerifyUpgradeLicense / sceNpDrmVerifyUpgradeLicense2
2017-02-26 23:44:48 +03:00
Nekotekina 0eb6bf6a67 LLVM: splitting and caching 2017-02-26 20:14:18 +03:00
Ani 4d9b56c7f1 libnet: recvfrom() fix (#2427)
Prevents emulator crash when invalid socket is provided to the function
2017-02-25 23:27:31 +00:00
Nekotekina d0afef47f8 LLVM: block borders fixed 2017-02-25 21:30:28 +03:00
Nekotekina af53ce6f76 Stack overflow constrained 2017-02-25 19:29:31 +03:00
Nekotekina 8369cb2af6 Complex STOP 0x0 hack 2017-02-24 16:57:09 +03:00
Nekotekina 07d49b1bd8 sys_spu_thread_send_event fix 2017-02-24 16:57:09 +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
Jake 47fdaf6902 Improve cellPngDec (#2394)
* Improve cellPngDec
- ReadHeader and SetParam corrected
- Partial loading Implemented
- Interlace Support added
- Improve error handling

* Use custom exception

* Change to catch ref
2017-02-19 14:59:49 +03:00
gmoralis b4557789f8 Implemented cellDiscGameGetBootDiscInfo 2017-02-15 10:49:18 +02:00
georgemoralis 5d705c0e9c fix up an issue with sceNpTrophyCreateContext (#2382) 2017-02-14 20:46:56 +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 8891d85f75 Hack for 0x0 2017-02-13 18:32:54 +03:00
Nekotekina d2ddb9882f SPU: IRET, SN event 2017-02-13 16:29:32 +03:00
Nekotekina 64ac6a59c4 REG_FUNC simplified 2017-02-13 16:29:32 +03:00
Nekotekina acd9d6ff24 Stub some modules 2017-02-12 21:35:55 +03:00
Nekotekina f4b95c0226 PPU analyser improved 2017-02-12 21:12:08 +03:00
Nekotekina 177084b1f4 cellSysutil functions
E1EC7B6A implemented
2017-02-12 21:03:08 +03:00
Nekotekina aff0484ea2 Stub some functions 2017-02-12 02:55:09 +03:00
clienthax b407d12ed1 Make APP packages bootable - from BlackDaemon (#2368) 2017-02-11 22:11:04 +03:00
Nekotekina e8bfce4ebd decrypt_self() function
Fixed SPU self decryption
Fixed PSV debug self load
2017-02-11 21:36:48 +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
raven02 a1189fa37a finding from @3141card on PS3 console 2017-02-08 23:33:43 +03:00
raven02 5a2a2f49ed add missing LV2 error code 2017-02-08 23:33:43 +03:00
Ani 6c372d1781 cellL10n: Small adjustements (#2320)
l10n: Partial jstrnchk
l10n: SBCSstoUTF8s
l10n: Replace fmt::throw_exception() for cellL10n.todo() and
return ConversionOK for String methods, 0 for character methods
and the character itself for specific methods;
2017-02-08 03:25:10 +03:00
Oil 1669d0fdbd Minor changes (#2352)
* More initial values for rsx method registers

* Implemented spu decrementer event

* Remove u32 cast
2017-02-07 23:59:59 +03:00
Nekotekina 47b4c649f1 PPU fixes 2017-02-07 16:37:30 +03:00
Nekotekina ead67d8e67 Minor changes
Fix psv loader
2017-02-07 16:37:30 +03:00
☠Emulator_Team☠ 8c4ba3257c Some changes (#2350)
cellSysutilAvc2: Use UNIMPLEMENTED_FUNC macro instead of fmt::throw_exception.
2017-02-07 15:28:19 +03:00
ikki84 05c4aa5017 cellMsgDialogOpen: Go further using cellMsgDialogOpen2. (#2345)
Notes:
Needs proper implementation (!)
The functions shows similarities but the bits in argument "type" may vary a little.
Comparing both functions but testing in NPJA00014 I believe it could be acceptable until it be implemented properly

Feel free to reject if it´s not allowed

Update cellMsgDialog.cpp
2017-02-07 13:00:19 +03:00
ikki84 9b122e5449 cellMusic.cpp Change Throw Exception into UNIMPLEMENTED_FUNC
Also return CELL_OK in function until the it become properly developed.
2017-02-05 19:39:21 +03:00
Nekotekina 246b9f3182 CHECK_EMU_STATUS removal 2017-02-05 17:35:27 +03:00
Nekotekina bf6854d121 LV2_LOCK removed 2017-02-05 16:35:10 +03:00
Nekotekina eebd48e51d cellHddGameGetSizeKB w/a 2017-02-05 16:07:26 +03:00
Nekotekina 11b0b6958f sys_spu diag 2017-02-05 15:48:11 +03:00
Nekotekina ec943b38a2 sys_spu... 2017-02-05 02:26:57 +03:00
Nekotekina 68f0393cf3 sys_interrupt... 2017-02-04 20:39:04 +03:00
Nekotekina fe26db4d36 idm::last_id cleanup 2017-02-04 20:39:04 +03:00
Nekotekina e3e4decabf sys_timer... 2017-02-04 20:39:04 +03:00
Nekotekina 6537909fd2 sys_event_queue... 2017-02-04 20:39:04 +03:00
Nekotekina 26ced19e18 sys_event_flag... 2017-02-04 20:39:03 +03:00
Nekotekina 3d85a89cc9 sys_lwcond, sys_lwmutex 2017-02-04 20:39:03 +03:00
Nekotekina 16944b0c4c sys_cond, sys_mutex 2017-02-04 20:39:03 +03:00
Nekotekina c4cc3ad81e sys_rwlock... 2017-02-04 20:39:03 +03:00
Nekotekina 0674a58502 idm::check extended
idm::check_unlocked
idm::find_unlocked
idm::get_unlocked
2017-02-04 20:39:03 +03:00
O1L 57ef6dae91 Implemented cellGcmSetDefaultCommandBufferAndSegmentWordSize 2017-02-04 19:32:54 +03:00
ikki84 5aaee670d1 Update ErrorCodes.h (#2332) 2017-02-03 02:10:16 +03:00
Ani 9916f0e5c5 [O1L] cellVideoOut: X8B8G8R8 fix
O1L's fix for cellVideoOut.
2017-02-02 21:15:40 +03:00
gmoralis 9eba0ac58c proper error code when file not found . This should fix issue #1923 at least bomberman works 2017-02-01 14:22:30 +03:00
Nekotekina 213527ca71 sys_semaphore... 2017-01-31 19:36:17 +03:00
Nekotekina dc7ac22f84 sys_ppu
LV2_LOCK removal
error_code introduction
2017-01-31 18:03:09 +03:00
Ani 35b7cf4c98 Misc changes (#2309)
AppVeyor: Improve artifact name
Travis: Update notification email
README: Fix forum link and remove coveralls
sceNp2: Use UNIMPLEMENTED_FUNC macro instead of fmt::throw_exception
VK: Fix pathing for linux
AboutDialog: Fix forum link
2017-01-31 01:16:47 +03:00
Nekotekina c733d03525 cellVdec mem limit 2017-01-30 01:50:20 +03:00
Nekotekina b21fce4d6f IdManager improved
lv2_obj for kernel objects
Simple lookup (vector)
Another idm API refactoring
2017-01-29 21:37:04 +03:00
Nekotekina a5a2d43d7c Thread.cpp refinement
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Zangetsu38 da878c36bd fix osk dialog (#2302) 2017-01-29 13:21:58 +08:00
Ryan Gonzalez 11e2965b5c Switch to always using a steady clock (closes #2200) 2017-01-29 03:07:08 +03:00
Nekotekina d4c3905355 Debug build fix 2017-01-28 15:32:45 +03:00
Nekotekina 5ee0cea672 cellAudio fix 2017-01-28 03:21:11 +03:00
Nekotekina df6607e236 Minor fixes 2017-01-28 03:21:11 +03:00
Nekotekina 8693031b06 cellVdec: minor fix 2017-01-28 03:21:10 +03:00
Ani 5e8852af80 sceNp: Register missing functions (#2291)
Registers missing named functions exported from sceNp on firmware 4.76
2017-01-27 20:17:34 +03:00
Zangetsu38 b6f8eface7 Register missing cellSysutil and sysPrxForUser function. 2017-01-27 17:27:22 +03:00
Nekotekina bdca52a95d cellVdec: 2997/50 support 2017-01-26 20:01:16 +03:00
Nekotekina 33d2618e5b cellOskDialog fixes 2017-01-26 20:01:16 +03:00
Nekotekina 2bc8723824 cellVdecDecodeAu mode implemented 2017-01-26 20:01:16 +03:00
Nekotekina 4ecf05aa13 cellFsUtime implemented 2017-01-26 20:01:16 +03:00
Nekotekina 1705638e25 MFVSCR error removed 2017-01-26 20:01:16 +03:00
Nekotekina 5db0f47710 lv2_fs_object fix 2017-01-26 04:22:15 +03:00
Nekotekina ee173dc3a2 IdManager fix 2017-01-26 04:22:15 +03:00
Nekotekina 591a6c8671 IdManager improved 2017-01-25 23:29:36 +03:00
Nekotekina a06223b844 IdManager sugar 2017-01-25 04:43:12 +03:00
Nekotekina 9232ddf0ab Minor changes 2017-01-25 04:43:12 +03:00
Nekotekina 1c14d872a8 New shared_mutex
Experimental sync utils
New semaphore<>
New cond_variable
New owned_mutex
2017-01-25 00:38:07 +03:00
Ivan 46dde3f8f7 Fixes (#2279)
Fixed appveyor icon
PPUAnalyser fix
OSK dialog fix
2017-01-24 00:56:27 +03:00
Nekotekina d07ea31400 cellOskDialog fix 2017-01-23 21:25:29 +03:00
al0xf aa357b9ae8 Add OSK GUI (#2275)
* Initial commit of OSK GUI

Also handles character encoding, you can for instance input in Chinese.

* Fixes for osk gui
2017-01-23 20:14:12 +03:00
Nekotekina 78ecb115f3 LLVM: progress dialog 2017-01-22 22:44:26 +03:00
al0xf f2ba41af46 Stub cellOsk (#2264)
* Stub cellOsk

Returns the word "rpcs3" as OSK input for now. Tested and working in
Terraria, Nier, and some homebrew. The next step would be to hook it up
to the GUI so the user can enter any text.

* Fix commit

* Fix formatting

* cellOsk improvements

* cellOsk improvements
2017-01-19 01:01:25 +03:00
Viktor Ivanov 1a4b5413bd Log call to cellGameDataGetSizeKB 2016-12-05 21:47:23 +03:00
itmo153277 124f5d0097 Allow UE3 games to startup 2016-12-05 20:35:05 +03:00
Yishuai Li 80a9abcfc8 fix type conflict with macOS (#2157) 2016-10-20 03:42:14 +03:00
Melissa Goad 22b1400018 Revamp PFIFO command submission emulation (#2179) 2016-10-01 22:13:15 +03:00
raven02 be9cebbc8f Workaround id_min/max (#2079) 2016-08-20 21:27:50 +08:00
Nekotekina c20756136a Minor diagnostic added 2016-08-18 13:29:53 +03:00
Nekotekina 066e3006bf cellGameCreateGameData fixed
cellGameDataCheck fixed
PARAM.SFO creation fixed
2016-08-17 21:59:42 +03:00
Nekotekina bbb0effe23 Minor fixes
cellSyncMutexTryLock fixed
2016-08-17 19:50:20 +03:00
Nekotekina ad174eb12c error_code implemented
Reports based on formatting system
ppu_error_code removed
arm_error_code removed
2016-08-16 18:57:44 +03:00
Nekotekina 1c33c012ad ERROR_CODE macro removed 2016-08-15 19:18:05 +03:00
Nekotekina 3c82e1a58d Silly macro removed-3 2016-08-15 18:30:33 +03:00
Nekotekina dbcb5df172 WRAP_EXPR macro removed 2016-08-15 17:11:45 +03:00
Nekotekina 84d0d396ed EXPECTS usage removed 2016-08-15 16:29:38 +03:00
Nekotekina 56b9b38c9c verify() fix 2016-08-15 14:59:19 +03:00
Nekotekina 05fb57baff VERIFY macro removed 2016-08-15 03:13:31 +03:00
Nekotekina 1f3433464c ENSURES usage removed 2016-08-14 22:41:01 +03:00
Nekotekina 0f87c4485d Silly macro removed-2 2016-08-14 18:19:42 +03:00
Nekotekina 5e0489dcc0 cpu_init removed 2016-08-14 18:07:34 +03:00
Nekotekina 7a2802a5e0 Silly macro removed 2016-08-12 19:31:28 +03:00
Nekotekina fc56e70172 vm::ptr<char> formatting 2016-08-11 16:47:20 +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 f7dcaa4a68 cellSysutilCheckCallback fix 2016-08-04 22:36:41 +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
raven02 61c6f82f74 Regression fix #1995 (#2014) 2016-08-01 19:47:14 +08: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
raven02 2a3029a62c PPU: register undocumented functions in cellSysmodule (#1987) 2016-07-25 08:43:02 +08: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 712c04b2ad PPU Analyser update
WIP, nothing changed
2016-07-24 21:06:10 +03:00
Nekotekina 39dadad534 PPU executable memory protection
Experimental commit, not improved for PRX
Also fixed minor bug in PRX loader
2016-07-24 21:06:09 +03:00
Nekotekina a026d35c97 sys_interrupt_thread_eoi fixed
thread_ctrl::interrupt improved
BIND_FUNC improved: preparations
2016-07-24 21:06:07 +03:00
Nekotekina 7ccdea7822 Removed std::enable_shared_from_this
Minor ID manager refactoring
2016-07-24 21:06:05 +03:00
Nekotekina 5eb98b745f cellVdec fixed (requires LLE dmux)
Basic MPEG2 support
2016-07-22 18:29:05 +03:00
Nekotekina 0227c03366 GUI logging improved
logs::listener resurrected
rpcs3 version: constexpr
2016-07-21 01:54:39 +03:00
Nekotekina fc9fdca3f6 Make TLS great again
And clean System.h a bit
2016-07-19 14:06:39 +03:00
Nekotekina 438e057dc8 Partial commit: sys_fs 2016-07-17 02:27:52 +03:00
Nekotekina 96728a83f6 Partial commit: sys_memory, sys_mmapper 2016-07-16 14:46:01 +03:00
Nekotekina f5e65e4ad9 Partial commit: sys_tty 2016-07-16 14:45:59 +03:00
Nekotekina c95f6c8c56 Partial commit: sys_vm 2016-07-16 14:45:58 +03:00
Nekotekina 73c2115968 BEType: explicit alignment specifier 2016-07-16 14:45:57 +03:00
Nekotekina c77dec6d6a PPU Analyser improved
Fix for old homebrews
2016-07-15 13:42:22 +03:00
AnnieL dc34d5b350 cell: add several error (return) codes and definitions (#1914)
* cellHttp: add error codes

Adds error codes for cellHttp and cellHttps

* libDaisy: adds error codes and definitions

Adds error codes, assertations and definitions for cellDaisy.

* cellHttpUtil: add error codes

Adds error codes for cellHttpUtil.

* cellCelp8Enc: moves error codes, adds definitions

Moves error codes to cellCelp8Enc.h, adds some definitions.

* cellCelpEnc: moves error codes, adds definitions

* cellJpgEnc: adds error codes and definitions

Moves the existant error codes to cellJpgEnc.h and adds more error codes
/ definitions.

* cellVoice: moves error codes, adds definitions

Moves error codes to cellVoice.h, adds most cellVoice definitions

* Fix typos
2016-07-15 00:02:07 +03:00
AnnieL ca835ba68a cellGame: unknown category temporary fix (hack) (#1909)
All the games I've been trying to load from outside RPCS3's bin directory are returning me empty directories
```
{PPU[0x3] Thread (main_thread) [0x011223d8]} class fmt::exception thrown: cellGameBootCheck(): Unknown CATEGORY: 
```

This is a hack for when the category is empty or unknown. 
We assume it's a disk game and proceed with the emulation.
2016-07-14 23:12:26 +03:00
raven02 d60b292ef1 Modules: savedata fix (#1910) 2016-07-15 00:28:26 +08:00
Nekotekina eb377f425c PPU LLVM: Analyser fix
ppu_branch_target removed
2016-07-14 16:27:14 +03:00
Nekotekina 0a5b518aea PPU Analyser fix 2016-07-13 02:54:34 +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
raven02 d4da0e052d sys_net: add few socket options (#1874) 2016-07-10 02:30:56 +08:00
Ivan 77594dc66c PPU LLVM: New analyser (#1858)
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
Lena 869e10027d Add optimal build options to CMakeLists (#1841)
Provides two options when building RPCS3

    USE_SYSTEM_FFMPEG BOOL (default: OFF)
    USE_SYSTEM_LIBPNG BOOL (default: OFF)

These options lets the user select between the system provided and builtin libraries of ffmpeg and libpng to overcome possible system issues.

Also adds support for older libpng releases if the user doesn't have libpng 1.5 or higher.
2016-07-01 12:07:16 +08: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
DH 55bc9eda9a Do not throw exception if cellDiscGame* executed
That not a critical situation, simple message in the log should be a good enough
2016-06-26 21:32:48 +03:00
raven02 4a08e8cd0b sys_ppu_thread_create break fix (#1824) 2016-06-25 22:36:48 +08:00
raven02 091b6711ae sys_net: set other options using setockopt() (#1815)
* sys_net: set other options using setockopt()

* typo fix

* Typo fix #2
2016-06-23 09:54:46 +08:00
Nekotekina 251fb86ab0 PPU LLVM: Some instructions simplified 2016-06-21 18:08:21 +03:00
Nekotekina 860926d731 File op buffer 2016-06-21 13:22:07 +03:00
raven02 c96057296a Fix invalid map<K, T> key error (#1801) 2016-06-20 06:43:13 +08:00
Nekotekina a8bebcba55 LLVM AOT 2016-06-19 21:29:48 +03:00
Nekotekina 6fa5e2cc7c PPUAnalyser.h added 2016-06-19 20:50:21 +03:00
Raul Tambre 2e5d20c315
sys_net: Use IDM, initialize networking on startup 2016-06-03 08:56:37 +03:00
Raul Tambre 31ec26a7a1
Big sys_net improvements and fixes
* Error codes are now properly handled
* Couple more functions implemented
* Support for setting certain socket information
* socketselect() handles Unix waiting behaviour on Windows
* accept() fixed
2016-06-03 08:56:37 +03:00
Raul Tambre 8d2b6f6054
Implement sceNpUtilCmpNpId
Will need a full implementation of emulated network to be "fully"
implemented.
2016-06-03 08:56:37 +03:00
Raul Tambre b073ead988
cellUserInfo: Cleanup, notify about errors 2016-06-03 08:56:37 +03:00
Raul Tambre 97083ebba4
Implement cellFsAllocateFileAreaWithoutZeroFill
And a couple minor null pointer checks in sys_fs.
2016-06-03 08:56:37 +03:00
Nekotekina e2d82394f6 Cell 2016-05-23 16:22:23 +03:00
John ce3fdeda5e Replace math macros by function calls from cmath. (#1695) 2016-05-19 19:15:56 +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
Ivan 75fe95eeb1 GSL moved from stdafx.h (#1676)
Added GSL.h helper for correct including
2016-04-20 02:32:27 +03:00
Ivan efc8779275 SPU channel optimization (#1675) 2016-04-19 16:04:02 +03:00
Nekotekina 4cf41305e0 Partial commit: Cell (deletions) 2016-04-15 19:22:35 +03:00
Nekotekina c4e99dbdb2 Partial commit: Cell 2016-04-15 19:22:34 +03:00
Nekotekina 42e1d4d752 Partial commit: Syscalls 2016-04-15 19:22:30 +03:00
Nekotekina 5637c22363 Partial commit: Modules (cell) 2016-04-15 19:22:29 +03:00
Nekotekina 7e30a0f464 Partial commit: Modules 2016-04-15 19:22:25 +03:00
Vincent Lejeune 72375d9e3d build: Add a separate project for ppu llvm recompiler
Fix some defect found by static analysis.
2016-03-02 14:53:14 +01:00
Nekotekina 960668ecf1 For #1355
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina 38531459df Logging system rewritten
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +03:00
Nekotekina b3e3c68f15 File utility improved
+ minor fixes
2016-01-13 14:12:04 +03:00
Raul Tambre 3afc62e525 Fix #1368 2016-01-08 08:39:34 +02:00
Vincent Lejeune 082815f93e llvm: Implement trap instructions 2015-12-29 22:25:19 +01:00
Vincent Lejeune 243bc0d06e PPU/LLVM: Use interp version of some instruction for debugging purpose. 2015-12-23 17:03:01 +01:00
Vincent Lejeune e7df81ade0 PPU/LLVM: Call fast_stop when function returns and PC corresponds 2015-12-23 17:02:56 +01:00
Vincent Lejeune 743f5f07cb llvm: Reenable debug info dump 2015-12-23 17:02:51 +01: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 321e6d3a86 fs::get_config_dir, fs::get_executable_dir 2015-12-20 15:41:06 +03:00
DHrpcs3 8a21e0fcb8 Implemented some cellSaveData functions
Implemented cellSaveDataListSave, cellSaveDataListLoad,
cellSaveDataFixedSave, cellSaveDataFixedLoad, cellSaveDataAutoSave,
cellSaveDataAutoLoad
2015-12-20 10:39:07 +02:00
DHrpcs3 416d66a438 Ignore SPU sync channels 2015-12-20 10:16:31 +02:00
Vincent Lejeune 8e451126ac llvm: Make Compiler class a module builder only class. 2015-12-06 23:51:50 +01:00
Vincent Lejeune 7ae1b51753 llvm: Remove PPULLVMRecompilerTests.cpp 2015-12-05 22:17:28 +01:00
Nekotekina 3465106456 Shared PCH (experimental)
"Rebuild" is broken though.
2015-12-04 23:37:44 +03:00
Nekotekina 82cb8fe5bd SharedMutex improved 2015-12-04 23:37:39 +03:00
Nekotekina ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +03:00
Nekotekina 5f6caf33f0 MINGW64: Compilation fix 2015-11-16 19:12:51 +03:00
Nekotekina a4db58f5f2 Added fs::file_ptr, fom::rewrite, cleanup 2015-11-14 20:26:40 +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 fd628d8345 Minor changes 2015-10-22 22:38:34 +03: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
Danila Malyutin 11eeab0a1a PPU/LLVM: Added noexcept and some fixes 2015-09-19 17:09:50 +03:00
Danila Malyutin 3208a7713f PPU/LLVM: Fix for crashes on exit with jit 2015-09-19 17:09:49 +03:00
Vincent Lejeune 05c5058dfd PPU/LLVM: Remove useless call to NotifyBlockStart
Likely a rebase error, with this Metal Slug can run at 60 fps again.
2015-09-16 22:39:49 +02:00
Vincent Lejeune c407c786cc PPU/LLVM: Do not notify already compiled block.
Also flush m_pending_address_start to avoid memory consumption
explosion.
2015-09-15 19:21:40 +02:00
Vincent Lejeune ecb3d93918 PPU/LLVM: Remove lock in GetCompiledExecutableIfAvailable
This should increase performance a lot in some case.
2015-09-15 19:21:40 +02:00
Vincent Lejeune 667cb64c29 PPU/LLVM: Rename ProcessExecutionTrace to better reflect what it does. 2015-09-15 19:21:40 +02:00
Vincent Lejeune 359258c3d3 PPU/LLVM: Increase recompiler thread responsiveness. 2015-09-15 19:21:39 +02:00
Vincent Lejeune 9d18bba1df PPU/LLVM: Propagate exceptions
It fixes a crash in Retro City Rampage with low (ie 10) llvm threshold.
2015-09-15 19:21:39 +02:00
Nekotekina 7e01c81154 SPU Recompiler fixed 2015-09-07 00:36:32 +03:00
Nekotekina 817fec9684 SPU Cleanup
SPURecompiler improved
Old SPU decoder removed
SPU Interpreters merged
2015-09-02 00:38:44 +03:00
Vincent Lejeune 58181c5c17 PPU/LLVM: Remove indirect call completly 2015-09-01 18:58:14 +03:00
Vincent Lejeune 02a1bffc12 PPU/LLVM: Simplify trace management 2015-09-01 18:58:11 +03:00
Vincent Lejeune f2c8db75bf PPU/LLVM: Do not recompile blocks 2015-09-01 18:58:10 +03:00
Vincent Lejeune 5fe3ea6440 PPU/LLVM: Use a big table instead of an unordered_map to get compilation result.
The hashmap overhead may be really big in some case.
2015-08-26 22:22:01 +02:00
Vincent Lejeune 942f26509b Memory: Factorize virtual memory reservation/allocation code in function 2015-08-26 21:54:40 +02:00
Vincent Lejeune 241dedef4e PPU/LLVM: Properly print verification string 2015-08-26 21:54:40 +02:00
Vincent Lejeune eb90e509f9 PPU/LLVM: Avoid using an indirect call for function call 2015-08-26 21:54:39 +02:00
Vincent Lejeune b2ca9edde2 PPU/LLVM: Use ExecuteFunction in ExecuteTillReturn 2015-08-26 21:54:39 +02:00
Vincent Lejeune f81192373f PPU/LLVM: Replace magic number with opcode enum in GetBranchTypeFromInstruction. 2015-08-26 21:54:39 +02:00
Danila Malyutin 3468a7ebcf PPU/LLVM: Add regression tests for SUBFIC 2015-08-26 14:39:50 +03:00
Danila Malyutin 8ea7da56ec PPU/LLVM: Fix SUBFIC instruction
Fixes sprites in Disgaea 3
2015-08-26 14:39:48 +03: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 ce494f8847 fmt::by_value, fmt::Format removed 2015-08-24 21:22:42 +03:00
Nekotekina 15057ffc5e wtf? 2015-08-24 21:22:40 +03:00
Nekotekina 73b108765e fs:: const renaming, fs::g_tls_error stub 2015-08-24 21:22:39 +03:00
Nekotekina be9a599beb PPU Decoder Cache improved 2015-08-24 21:22:35 +03:00
Nekotekina eb63558c6d KernelExplorer improved 2015-08-24 21:22:34 +03:00
Nekotekina 6f3c50eba2 u128 renamed to v128
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina dd665e7363 ID manager simplified
ID manager refactoring, redundant "type" information removed
2015-08-24 21:22:19 +03:00
Danila Malyutin aeee0758c2 Ignore warnings in VS from llvm headers 2015-08-16 23:40:03 +03:00
Raul Tambre a775b428f4 Merge pull request #1173 from vlj/llvm36-debug
Add debug options for llvm compiler
2015-08-12 17:53:49 +03:00
Raul Tambre d10c44ed3a Merge pull request #1175 from danilaml/appveyor-cmake
Make it possible to compile rpcs3 on win via cmake and make win builds available for download on appveyor
2015-08-11 20:44:22 +03:00
Vincent Lejeune e459d01927 PPU/LLVM: Add debug tool for LLVM recompiler 2015-08-11 18:10:32 +02:00
Vincent Lejeune 6e8a5f3a5f PPU/LLVM: Avoid recompiler thread spinning forever 2015-08-10 20:32:22 +02:00
Vincent Lejeune 53769ae1bd PPU/LLVM: Fix recursive call crashing llvm backend 2015-08-10 19:59:30 +02:00
Raul Tambre fd5fbab115 Merge pull request #1171 from vlj/llvm-fix
Fix Sonic CD music with LLVM backend
2015-08-08 18:35:29 +03:00
Danila Malyutin ddff65d288 Make it possible to build rpcs3 via cmake/vs2015 combo. 2015-08-08 04:43:08 +03:00
Danila Malyutin a3c22eb836 Add MTOCRF tests 2015-08-06 03:43:49 +03:00
Danila Malyutin 98a3cbdf84 Fix MTOCRF instruction
to be the same as interpreter.
2015-08-06 03:43:48 +03:00
Vincent Lejeune 09347ba92a PPU/LLVM: Fix MTOCRF instruction 2015-08-05 17:27:59 +02:00
Vincent Lejeune fc3314ea96 PPU/LLVM: Print PPC block before translated LLVM bytecode 2015-08-05 17:27:59 +02:00
Hykem 0541371a0e Merge pull request #1161 from Nekotekina/master
Various changes
2015-08-02 16:54:27 +01:00
Nekotekina 6da5138683 sysPrxForUser module split 2015-08-02 05:15:49 +03:00
Danila Malyutin eac63f7265 Fix crashes in tests with unresolved "func" errors
and uncomment fixed tests
2015-08-02 04:16:44 +03:00
Vincent Lejeune 8f490e8ecd PPU/LLVM: Try to fix crash (again) when cleaning modules 2015-08-01 21:56:44 +02:00
Nekotekina ff1f6d3d4f PPUInterpreter formal fix (affects nothing) 2015-08-01 14:38:53 +03:00
Nekotekina ffc11bfda3 b8 type 2015-08-01 14:38:45 +03:00
Danila Malyutin 582329ffc6 Fixes for some of clang warnings 2015-07-26 23:24:37 +03:00
Danila Malyutin 5ae6586803 Add missing override specifiers 2015-07-26 18:37:14 +03:00
Danila Malyutin e810eabd32 Clean up and fixes 2015-07-26 18:09:33 +03:00
Danila Malyutin 6849192b39 Tabify 2015-07-26 18:09:31 +03:00
Danila Malyutin 6832910187 Update llvm tests to work with new mcjit recomp
WIP, also found some offending instructions with it.
2015-07-26 18:09:29 +03:00
vlj 26f6b89530 PPU/LLVM: Remove duplicate m_address_to_ordinal map and improve cleaning 2015-07-22 02:11:00 +03:00
vlj 501c14fc65 PPU/LLVM: Clean code
Replace auto with real type, reduce indent and useless variables...
2015-07-22 02:10:58 +03:00
vlj 4adb9a2683 PPU/LLVM: Do not cache block 2015-07-22 02:10:57 +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
vlj 7592b87a90 PPU/LLVM: Fix build 2015-07-22 02:10:54 +03:00
Nekotekina b3dfa4f5a2 VS2015 2015-07-22 02:10:14 +03:00
vlj cfa0079c3d PPU/LLVM: Fix branch detection
Thanks Nekotekina for the fix
2015-07-22 01:32:19 +03:00
Vincent Lejeune b7d5d70a92 PPU/LLVM: Fix for callback spinning undefinitly
Thanks for Nekoteki for the fix
2015-07-22 01:32:18 +03:00
Nekotekina 0aefaec46e sys_event improved, some unnamed functions named 2015-07-21 23:14:38 +03:00
Nekotekina 6255f3b07d sys_event_flag improved 2015-07-21 23:14:34 +03:00
Nekotekina bc91ad0f4d sys_event improved 2015-07-21 23:14:33 +03:00
Nekotekina 2f7fe35f5c Minor style change 2015-07-21 23:14:31 +03:00
Nekotekina 8175630619 sys_cond/sys_mutex improved 2015-07-21 23:14:29 +03:00
Nekotekina 43d3ccce95 SPU Channels improved 2015-07-21 23:14:28 +03:00
Nekotekina 5bd83516ba SPU Interrupt Enable Status implemented
SPU Interrupts are still NOT implemented
2015-07-21 23:14:25 +03:00
Nekotekina a7668ff57f SPU_EVENT_LR improved 2015-07-21 23:14:22 +03:00
Nekotekina a8fcf71f9c Minor bugfix, cleanup 2015-07-21 23:14:04 +03:00
Nekotekina 3bc6c53eb3 sys_interrupt improved 2015-07-18 03:12:10 +03:00
Nekotekina b8a27d8a4c Silly bugs fixed 2015-07-18 03:12:08 +03:00
Nekotekina 48c75105e2 "Memory" eliminated 2015-07-18 03:12:06 +03:00
Nekotekina 2d37c6b5e2 sys_memory, sys_mmapper rewritten
LogBase::Fatal() removed
2015-07-10 20:37:12 +03:00
Nekotekina 4bacfcf847 sys_lv2dbg added, bugfix 2015-07-10 04:31:41 +03:00
Nekotekina daa93a7226 ARMv7 func binder improved (faster compilation) 2015-07-10 04:31:39 +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 83321c5be7 sys_time_get_current_time fixed, CALL_FUNC draft 2015-07-10 04:31:30 +03:00
Nekotekina 22e1da5e76 Minor cleanup 2015-07-10 04:31:29 +03:00
Nekotekina 3064cf8101 CHECK_EMU_STATUS, autojoin_thread_t 2015-07-10 04:31:27 +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 c598fe7aa9 atomic_op() rewritten, atomic.h refactoring
cellSync refactoring, wait_op() rewritten, bugfixes
2015-07-10 04:31:10 +03:00
Nekotekina 39f836b495 re32/se32/... macro eliminated, some fixes 2015-07-10 04:31:09 +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
S Gopal Rajagopal 5b7f701878 SPURS: Implement SPURS SPU thread exit using throw
Conflicts:
	rpcs3/Emu/SysCalls/Modules/cellSpursSpu.cpp
2015-07-10 04:30:56 +03:00
Nekotekina a7f77c27f7 ARMv7Context used through multiple inheritance
Forgive me...
2015-07-10 04:30:49 +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 1256d648c1 be_t simplified, vm::ref improved
remove_be_t renamed to to_ne_t (to native endianness)
le_t and to_le_t draft, bugfixes
2015-06-15 19:21:07 +03:00
Danila Malyutin ee715d9d36 Make ppuJIT testlog more compact and easier to read 2015-06-02 23:11:46 +03:00
Nekotekina b84d831d8f MFF_NO_RETURN flag introduced 2015-05-29 01:49:50 +03:00
Nekotekina 78fdcf75e7 Attribute macro changed
__forceinline -> force_inline
__noinline -> never_inline
printf_alike(x,y) added
2015-05-28 18:14:22 +03:00
Nekotekina f83306b0bf Fix 2015-05-27 15:49:54 +03:00
Nekotekina 22b78fec71 IdManager improved, atomic_t improved
Various changes
2015-05-27 06:11:59 +03:00
Nekotekina f92c10ef71 Minor fixes 2015-05-08 12:45:21 +03:00
Nekotekina ff359ed118 SPU Interpreter2 initialization fix 2015-04-26 01:56:58 +03:00
Hykem d18d19870f Merge pull request #1062 from Nekotekina/master
SPURecompiler improved
2015-04-25 19:32:47 +01:00
Nekotekina 74b3580b69 rfile_t renamed 2015-04-25 00:38:11 +03:00
Nekotekina b449545ae0 Compilation fix 2015-04-24 18:12:40 +03:00
Nekotekina 743421881e Some code disabled 2015-04-22 00:18:34 +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
luxsie 0f1bb8545d Tab to Space. 2015-04-18 03:12:25 +08:00
Nekotekina 4d85a49666 SPURS fixed 2015-04-13 20:39:38 +03:00
Nekotekina 85b63de631 Events improved 2015-04-13 16:32:09 +03:00
luxsie 0233fbff51 Thanks to @Nekotekina, about his patience on SPUThread.h. 2015-04-13 00:37:58 +08:00
Nekotekina ea5110cec3 Various changes 2015-04-12 04:36:25 +03:00
luxsie 147c50e7ca Removed some useless comments, thank Neko. 2015-04-11 00:27:20 +08:00
luxsie 900389d857 CppCheck: Tried to classify and marked some lines that weird. 2015-04-10 20:13:25 +08:00
luxsie cd23a2ecaf CppCheck: About assert side-effect and remove_if that i don't know enough.. 2015-04-10 19:29:45 +08:00
Nekotekina d1fbccc9ce SPURecompiler improved 2015-04-05 21:01:15 +03:00
Nekotekina d2883fc554 SPURecompiler cleanup 2015-04-04 21:21:49 +03:00
B1ackDaemon 952098c00f Merge pull request #1046 from Nekotekina/new_interpreter
Alternative interpreters
2015-04-04 20:03:18 +03:00
Nekotekina 26b5eebc17 Bugfixes 2015-04-04 19:00:02 +03:00
Nekotekina 1c82e8b1d5 Bugfixes 2015-04-03 19:56:57 +03:00
Nekotekina 59effb3412 PPU: some instructions replaced 2015-04-02 18:22:43 +03:00
Nekotekina 6b9a6c50fe PPU: some instructions replaced 2015-04-01 17:01:04 +03:00
Nekotekina 72fdcf120c PPU: some instructions replaced 2015-03-31 17:54:41 +03:00
Nekotekina 3247152ff7 PPU: some instructions replaced 2015-03-29 14:00:10 +03:00
Nekotekina d640aba903 PPU: some instructions replaced 2015-03-26 21:42:12 +03:00
Nekotekina 75fa95c7ff PPU: some instruction replaced 2015-03-24 22:54:15 +03:00
Nekotekina ec8519b969 LLVM stack overflow fix 2015-03-24 18:17:53 +03:00
Nekotekina f095dec43d Compilation fix 2015-03-22 02:22:24 +03:00
Nekotekina dc6c21833d SPU: completed 2015-03-22 01:03:28 +03:00
Nekotekina 08dd95e52b SPU: Floating Interpolate implemented 2015-03-21 22:39:56 +03:00
Nekotekina a86317ce5a SPU: some instructions updated 2015-03-21 21:07:37 +03:00
Nekotekina e477a0b8fc SPU: some instructions updated 2015-03-21 18:36:56 +03:00
Nekotekina ff1708a899 SPU: some instructions updated 2015-03-21 17:29:33 +03:00
Nekotekina ef563f038d SPU: some instructions updated 2015-03-21 02:36:05 +03:00
Nekotekina c8bb83b824 spu_opcode_t 2015-03-20 20:30:13 +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 573f112b37 Small update 2015-03-17 03:44:35 +03:00
Nekotekina 0ca4c189a5 Small update 2015-03-17 02:18:13 +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 3e34bd64bf Compilation fix 2015-03-13 04:59:25 +03:00
Nekotekina c88e0a0eb9 Small cleanup 2015-03-13 04:09:53 +03:00
Nekotekina a3d400b5cc Minor cleanup 2015-03-11 18:30:50 +03:00
Nekotekina 1d2351bf85 Attempt to fix bug 2015-03-08 00:20:38 +03:00
Nekotekina 961fc27215 Minor cleanup 2015-03-07 16:39:07 +03:00
Nekotekina d234493b4a Compilation fix 2015-03-07 01:58:42 +03:00
Nekotekina ef65299dff Lv2 Cond/Mutex rewritten, bugfixes 2015-03-07 01:10:04 +03:00
Nekotekina e2a2709ad0 Event Flag refactoring, bugfixes 2015-03-06 00:29:05 +03:00
Nekotekina 5d768bd3cf Bugfix, sys_spu_thread_group_connect_event implemented 2015-03-05 16:18:06 +03:00
Nekotekina f22001d527 Bugfix
+sys_spu_thread_group_disconnect_event_all_threads
2015-03-05 02:34:20 +03:00
Nekotekina 9e49a33b3c SPU syscall improvements 2015-03-05 00:51:14 +03:00
Nekotekina ad38e9f0fe event_queue_t, event_port_t rewritten 2015-03-04 07:42:04 +03:00
Nekotekina 78c37ff8b6 Some bicycle for PSV 2015-03-03 23:09:23 +03:00
Nekotekina 8587ae5883 Compilation fix 2015-03-03 02:34:49 +03:00
Nekotekina 5f8cf18a5a SPU refactoring 2015-03-03 00:09:20 +03:00
Nekotekina bc94d92cba nyu 2015-03-02 05:10:41 +03:00
Nekotekina eaf3787ae6 Imports fixed 2015-02-28 21:47:37 +03:00
Nekotekina 942d984dc5 sys_process_get_paramsfo implemented 2015-02-28 17:41:15 +03:00
Nekotekina 6cbdeb9411 Unused code removed 2015-02-28 15:37:06 +03:00
Nekotekina d62e95d0f8 Success log level fixed 2015-02-27 21:11:07 +03:00
Nekotekina ae21783680 sys_libc.cpp with memcpy 2015-02-26 23:08:48 +03:00
Nekotekina 88476fe698 Insignificant changes 2015-02-26 21:26:44 +03:00
Nekotekina be4e85f0f2 PPCThread removed (it does nothing anyway) 2015-02-26 03:54:49 +03:00
Nekotekina 0b21474b79 Logging fixed 2015-02-25 14:48:12 +03:00
Nekotekina 9ee9523680 StaticFuncManager removed 2015-02-21 17:07:22 +03:00
Nekotekina faaef03604 Fix 2015-02-21 14:30:26 +03:00
Nekotekina 152feb898e libmixer fix 2015-02-19 22:17:30 +03:00
Nekotekina 2d1d996c50 Small fix 2015-02-19 14:18:28 +03:00
S Gopal Rajagopal 4272ec7a82 PPUJIT: Convert tabs to spaces 2015-02-19 00:37:09 +05:30
S Gopal Rajagopal 85648da706 Merge remote-tracking branch 'upstream/master' 2015-02-18 23:43:37 +05:30
S Gopal Rajagopal 681fb1eeaa PPUJIT: Support stopping/pausing threads (does not always work) 2015-02-18 23:40:04 +05:30
Nekotekina af986d8f4c Loader improved, ModuleManager refactored 2015-02-18 19:22:06 +03:00
Nekotekina 1f2eafc4f2 Loader fixed 2015-02-17 18:27:15 +03:00
S Gopal Rajagopal 1365c830b2 PPUJIT: Fix EOL issues 2015-02-16 23:07:22 +05:30
S Gopal Rajagopal 3a2b13c02b PPUJIT: Fix unit tests 2015-02-16 23:00:41 +05:30
S Gopal Rajagopal e7f278b5d2 PPUJIT: Support exception based MMIO and reservations 2015-02-16 22:49:17 +05:30
Nekotekina e6c628caba Memory (unfinished) 2015-02-16 04:53:53 +03:00
Nekotekina 1189503b4d Some cleanup 2015-02-15 20:13:06 +03:00
Nekotekina f01059283a Some cleanup 2015-02-14 00:45:36 +03:00
Nekotekina 0d489518ab Compilation fix 2015-02-13 23:24:18 +03:00
Nekotekina 5fc77fe89e Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2015-02-13 23:15:35 +03:00
Hykem fcd300ad4d Merge pull request #1008 from robxu9/master
Fix building on OS X 10.10
2015-02-13 15:55:08 +00:00
Nekotekina 267de68441 Memory cleanup, page flags implemented
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina 0eebfb0aaa Memory cleanup: u64 -> u32, empty TLS fixed
cellGameContentPermit fixed
2015-02-12 23:10:25 +03:00
Nekotekina 250fb15592 Compilation fix 3 2015-02-11 15:25:20 +03:00
Nekotekina fdc5fa34be Bugfix 2015-02-11 14:39:51 +03:00
S Gopal Rajagopal 853234f7d7 Merge remote-tracking branch 'upstream/master' into spurs_taskset 2015-02-11 15:00:46 +05:30
Robert Xu 00e637645c Fix building on OS X 10.10 2015-02-10 23:17:39 -05:00
Nekotekina 31bbf56ff1 Reservations improved 2015-02-08 18:25:50 +03:00
Nekotekina 19acaf3f86 Bugfix, ECIWX/ECOWX disabled 2015-02-08 16:38:08 +03:00
Nekotekina 39db6bb461 Reservations improved 2015-02-07 16:46:42 +03:00
Nekotekina 1af4848324 New reservations (not finished) 2015-02-07 02:39:51 +03:00
S Gopal Rajagopal d1a7c85e95 Merge remote-tracking branch 'upstream/master' into spurs_taskset
Conflicts:
	rpcs3/emucore.vcxproj.filters
2015-02-03 23:12:26 +05:30
S Gopal Rajagopal ba6ac5019e SPURS: Implement some portions of taskset policy manager 2015-02-02 01:32:40 +05:30
Nekotekina e5dd03dbcb ARMv7: argc, argv setting, LDRSB_IMM, bugfixes 2015-02-01 16:52:34 +03:00
Nekotekina 8a945a1a52 Fixes 2015-02-01 10:09:24 +03:00
S Gopal Rajagopal 61342946a4 SPURS: Implement some portions of taskset pm 2015-02-01 02:16:06 +05:30
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
S Gopal Rajagopal 507638e6d8 SPURS: Update system service workload to use lock line reservations 2015-01-31 00:36:58 +05:30
S Gopal Rajagopal 62e2d8d9a7 SPURS: Update kernel to use lock line reservations 2015-01-29 20:20:34 +05:30
B1ackDaemon 1fa301b719 Merge pull request #981 from Nekotekina/master
ARMv7 progress, some changes in vm_ptr
2015-01-29 01:57:42 +02:00
Nekotekina 579a88b7c4 vm_ptr: function format changed 2015-01-28 15:59:16 +03:00
Raul Tambre be50130c3f Various fixes
Fixes to dead code and a couple self-assignings
2015-01-24 21:50:26 +02:00
Nekotekina 1a5d5c96ed Compilation fix 2015-01-22 00:39:25 +03:00
Nekotekina 79d03ece66 ARMv7 decoder improved 2015-01-22 00:09:37 +03:00
S Gopal Rajagopal 411dfd9a3f Merge remote-tracking branch 'upstream/master' into spurs_taskset
Conflicts:
	rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp
	rpcs3/Emu/SysCalls/Modules/cellSpurs.h
	rpcs3/emucore.vcxproj.filters
2015-01-21 01:13:53 +05:30
Nekotekina ec2e53dc6b Formatting changes 2015-01-20 02:15:43 +03:00
Nekotekina c4558d2ca7 cast_armv7_gpr added 2015-01-19 21:02:33 +03:00
Nekotekina f3c9143a81 cast_to_ppu_gpr(), cast_from_ppu_gpr() updated 2015-01-19 17:16:31 +03:00
Nekotekina 0d28f378a7 fmt::format() optimization (fmt::unveil template) 2015-01-19 01:54:56 +03:00
B1ackDaemon d9dd3a7eda Merge pull request #969 from achurch/spu-interpreter-fixes
Fix SPU interpreter to match real hardware
2015-01-18 20:54:12 +02:00
Andrew Church e64f6a1db3 Implement full floating-point support. 2015-01-19 03:19:10 +09:00
Andrew Church 4375422c09 Implement the mfspr and mtspr instructions. 2015-01-19 03:18:36 +09:00
Andrew Church 03b059c1d5 Implement the SRR0 register. 2015-01-19 03:18:03 +09:00
Andrew Church a87de1b565 Implement the FPSCR register. 2015-01-19 03:17:51 +09:00
Andrew Church 3a87a40593 Implement host FP exception checking for PPU floating-point instructions. 2015-01-18 21:14:31 +09:00
Andrew Church 04902965fe Set host FP rounding mode for PPU floating-point instructions. 2015-01-18 21:14:19 +09:00
B1ackDaemon 26f1e2c9e3 Merge pull request #965 from Nekotekina/master
cellAudio update, thread_t
2015-01-18 02:40:03 +02:00
Andrew Church c9df9c93ed Implement VSCR_NJ for all vector FP instructions. 2015-01-18 07:05:48 +09:00
Andrew Church 9a310c312e Fix intermediate truncation in vector FP fused multiply-add. 2015-01-18 07:05:38 +09:00
Andrew Church 3eb3f66e96 Fix vmaxfp/vminfp with mixed signs of zero. 2015-01-18 07:05:30 +09:00
Andrew Church 10c706d9a5 Handle NaNs correctly in vector FP instructions. 2015-01-18 07:05:18 +09:00
Andrew Church 2e2dbf6c33 Reduce code duplication for vcmp instructions. 2015-01-18 07:05:08 +09:00
Andrew Church 0fa0946a46 Fix vsumsws clobbering input registers and reading from the wrong word. 2015-01-18 07:04:56 +09:00
Andrew Church 14e0cbde9c Catch invalid and zero-division exceptions in FPU instructions. 2015-01-18 07:04:45 +09:00
Andrew Church 43e74a9c61 Fix intermediate rounding of fused multiply-add instructions. 2015-01-18 07:04:35 +09:00
Andrew Church fee20573d2 Fix fcti rounding. 2015-01-18 07:04:22 +09:00
Andrew Church 5fd88bf801 Fix invalid double constant. 2015-01-18 07:04:13 +09:00
Andrew Church 46fa645555 Reduce code duplication in FPU instruction implementations. 2015-01-18 07:04:01 +09:00
Andrew Church bbe12bf4b1 Fix mftbu returning the wrong half of the timebase register. 2015-01-18 07:03:48 +09:00
Andrew Church 74cbf1877b Fix stwcx. and stdcx. not properly clearing the reservation address. 2015-01-18 07:03:16 +09:00
Andrew Church d78fe3b4d4 Fix detection of denormals in frsp. 2015-01-18 07:03:02 +09:00
Andrew Church b7761beee9 Fix lfs/stfs with SNaNs. 2015-01-18 07:02:50 +09:00
Andrew Church 42b55c60e7 Fix fcmp. 2015-01-18 07:02:18 +09:00
Andrew Church 6cd3310171 Fix FPSCR manipulation instructions. 2015-01-18 07:02:11 +09:00
Andrew Church ee508f85b4 Fix handling of VRSAVE, and remove references to nonexistent USPRG registers. 2015-01-18 07:01:52 +09:00
Andrew Church e47d21024c Fix mtcrf. 2015-01-18 07:01:25 +09:00
Andrew Church 54827f7267 Fix conditional bcctr. 2015-01-18 07:01:16 +09:00
Andrew Church ae4420e604 Implement missing PPU instructions. 2015-01-18 07:00:58 +09:00
Nekotekina 42b748a881 Syscall name resolving improved 2015-01-14 22:45:36 +03:00
Nekotekina 809ba66290 vm::cast in PPUInterpreter 2015-01-14 19:48:50 +03:00
Nekotekina bf7cf0ee9d .ToLE() changed to .value() or removed 2015-01-14 02:08:00 +03:00
Nekotekina 1c4e89d2bf Formatting fixes, ToBE() replaced with data() 2015-01-13 17:54:36 +03:00
Nekotekina b6ec618f97 Experimental template formatting with be_t<> support 2015-01-12 21:12:06 +03:00
Nekotekina da09477be8 Callback syntax changed
call() became overloaded () operator
2015-01-11 13:43:40 +03:00
Nekotekina 056f93f3e4 Linux fixes 2015-01-09 01:17:26 +03:00
Nekotekina bd71c1200e CB_FUNC/SC_FUNC fixed 2015-01-07 19:44:47 +03:00
S Gopal Rajagopal 2d94db4945 Merge upstream 2015-01-05 16:44:26 +05:30
S Gopal Rajagopal c1df79b713 SPURS: Integrate SPURS kernel and system service workload. Also, fixed some bugs. 2015-01-03 15:59:22 +05:30
Nekotekina d8664c8da4 Bugfix 2015-01-02 19:02:31 +03:00
Nekotekina 318d7276c0 Warning fix 2015-01-02 18:29:57 +03:00
Nekotekina f3cd908d5c Sync primitives reworked
(rwlock rewritten)
2015-01-02 02:41:29 +03:00
Nekotekina be2d606193 Conflicts fixed 2014-12-26 17:06:36 +03:00
Nekotekina 7613d749ec SQueue renamed and moved 2014-12-25 01:24:17 +03:00
Nekotekina d8239a39c9 std::shared_ptr in IdManager 2014-12-24 02:38:13 +03:00
Nekotekina b2de24db73 SMutex eliminated 2014-12-23 02:31:11 +03:00
Nekotekina 0fb092f2a5 Syscalls: minor fixes 2014-12-22 03:56:04 +03:00
Raul Tambre 688e5a3af6 Fix compiling 2014-12-21 21:44:07 +02:00
S Gopal Rajagopal 698f4fd450 SPURS: Improve the readability of the SPURS2 kernel at the cost of some performance 2014-12-21 01:37:29 +05:30
S Gopal Rajagopal 5db254f3a5 PPU: Corrected SC instruction format to comply with the PowerISA 2014-12-11 19:13:17 +05:30
S Gopal Rajagopal 1f60d6374c Merge remote-tracking branch 'upstream/master' 2014-12-02 00:49:18 +05:30
Nekotekina 697b699873 Some bugs fixed
ARMv7 partially restored
2014-12-01 01:04:47 +03:00
S Gopal Rajagopal 6cc6ca9f3c PPU: Implemented more instructions 2014-12-01 02:09:48 +05:30
S Gopal Rajagopal ce0f713f03 PPU: Implement more instructions in the recompiler. Fix some instructions in the interpreter. 2014-11-30 02:46:29 +05:30
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