From 234e174b7d28c133fc089fe2d73d255a2ec4fec6 Mon Sep 17 00:00:00 2001 From: DH Date: Mon, 19 Aug 2013 02:06:11 +0300 Subject: [PATCH] - Implemented send open system menu cmd. - Added cellSysutil module. - Improved OpenGL renderer. - Added cube & hello world homebrews. - Implemented more GCM syscalls. --- Utilities/Thread.h | 2 +- bin/dev_hdd0/game/TEST12345/USRDIR/cube.elf | Bin 0 -> 356532 bytes .../game/TEST12345/USRDIR/hello_world.elf | Bin 0 -> 343036 bytes rpcs3/Emu/Cell/PPCThread.cpp | 15 +- rpcs3/Emu/Cell/PPCThread.h | 1 + rpcs3/Emu/Cell/PPCThreadManager.cpp | 19 +- rpcs3/Emu/Cell/PPCThreadManager.h | 4 + rpcs3/Emu/Cell/PPUThread.cpp | 9 +- rpcs3/Emu/GS/GL/FragmentProgram.cpp | 26 +- rpcs3/Emu/GS/GL/FragmentProgram.h | 1 + rpcs3/Emu/GS/GL/GLGSRender.cpp | 220 +++++++++++++--- rpcs3/Emu/GS/GL/GLGSRender.h | 10 +- rpcs3/Emu/GS/GSManager.h | 7 - rpcs3/Emu/GS/GSRender.h | 4 + rpcs3/Emu/GS/RSXThread.h | 82 ++++++ rpcs3/Emu/SysCalls/Callback.cpp | 1 - rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp | 74 ++++++ rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp | 240 ++++++++++++++++++ rpcs3/Emu/SysCalls/SysCalls.h | 2 + rpcs3/Emu/SysCalls/lv2/SC_GCM.cpp | 22 +- rpcs3/Emu/SysCalls/lv2/SC_PPU_Thread.cpp | 3 +- rpcs3/Emu/SysCalls/lv2/SC_SysUtil.cpp | 2 +- rpcs3/Emu/System.cpp | 3 +- rpcs3/Gui/InterpreterDisAsm.cpp | 3 + rpcs3/Gui/MainFrame.cpp | 31 ++- rpcs3/Gui/MainFrame.h | 2 + rpcs3/rpcs3.vcxproj | 1 + rpcs3/rpcs3.vcxproj.filters | 3 + 28 files changed, 702 insertions(+), 85 deletions(-) create mode 100644 bin/dev_hdd0/game/TEST12345/USRDIR/cube.elf create mode 100644 bin/dev_hdd0/game/TEST12345/USRDIR/hello_world.elf create mode 100644 rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp diff --git a/Utilities/Thread.h b/Utilities/Thread.h index e2c2a7e3a1..f98c22107b 100644 --- a/Utilities/Thread.h +++ b/Utilities/Thread.h @@ -63,7 +63,7 @@ public: m_parent = nullptr; - //if(wait) + if(wait) { Delete(); //wxCriticalSectionLocker lock(m_wait_for_exit); diff --git a/bin/dev_hdd0/game/TEST12345/USRDIR/cube.elf b/bin/dev_hdd0/game/TEST12345/USRDIR/cube.elf new file mode 100644 index 0000000000000000000000000000000000000000..020b9b4ec2076f2eb28d207db5e33e9a06d37d0b GIT binary patch literal 356532 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%0A(hxM)ioFyKQ?C~Q@5_`i%=w#Bb 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�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 literal 0 HcmV?d00001 diff --git a/rpcs3/Emu/Cell/PPCThread.cpp b/rpcs3/Emu/Cell/PPCThread.cpp index 4f63d6832b..45ba83d0ec 100644 --- a/rpcs3/Emu/Cell/PPCThread.cpp +++ b/rpcs3/Emu/Cell/PPCThread.cpp @@ -18,6 +18,7 @@ PPCThread::PPCThread(PPCThreadType type) , m_offset(0) , m_sync_wait(false) , m_wait_thread_id(-1) + , m_free_data(false) { } @@ -28,6 +29,11 @@ PPCThread::~PPCThread() void PPCThread::Close() { + if(IsAlive()) + { + m_free_data = true; + } + if(DisAsmFrame) { DisAsmFrame->Close(); @@ -261,7 +267,7 @@ void PPCThread::Stop() wxGetApp().SendDbgCommand(DID_STOP_THREAD, this); m_status = Stopped; - ThreadBase::Stop(); + ThreadBase::Stop(false); Reset(); DoStop(); Emu.CheckStatus(); @@ -284,7 +290,7 @@ void PPCThread::ExecOnce() void PPCThread::Task() { - ConLog.Write("%s enter", PPCThread::GetFName()); + //ConLog.Write("%s enter", PPCThread::GetFName()); const Array& bp = Emu.GetBreakPoints(); @@ -336,5 +342,8 @@ void PPCThread::Task() ConLog.Error("Exception: %s", e); } - ConLog.Write("%s leave", PPCThread::GetFName()); + //ConLog.Write("%s leave", PPCThread::GetFName()); + + if(m_free_data) + free(this); } diff --git a/rpcs3/Emu/Cell/PPCThread.h b/rpcs3/Emu/Cell/PPCThread.h index c16bb90c18..6fd153bbce 100644 --- a/rpcs3/Emu/Cell/PPCThread.h +++ b/rpcs3/Emu/Cell/PPCThread.h @@ -35,6 +35,7 @@ protected: Array argv_addr; u64 m_offset; u32 m_exit_status; + bool m_free_data; public: u64 stack_size; diff --git a/rpcs3/Emu/Cell/PPCThreadManager.cpp b/rpcs3/Emu/Cell/PPCThreadManager.cpp index d94375e3ed..37580c518e 100644 --- a/rpcs3/Emu/Cell/PPCThreadManager.cpp +++ b/rpcs3/Emu/Cell/PPCThreadManager.cpp @@ -20,6 +20,8 @@ void PPCThreadManager::Close() PPCThread& PPCThreadManager::AddThread(PPCThreadType type) { + std::lock_guard lock(m_mtx_thread); + PPCThread* new_thread; char* name; switch(type) @@ -40,6 +42,8 @@ PPCThread& PPCThreadManager::AddThread(PPCThreadType type) void PPCThreadManager::RemoveThread(const u32 id) { + std::lock_guard lock(m_mtx_thread); + for(u32 i=0; iClose(); - delete thr; + if(thr->IsAlive()) + { + thr->Close(); + } + else + { + thr->Close(); + delete thr; + } + + + m_threads.RemoveFAt(i); i--; } diff --git a/rpcs3/Emu/Cell/PPCThreadManager.h b/rpcs3/Emu/Cell/PPCThreadManager.h index 8775ab9b54..593e1fdba8 100644 --- a/rpcs3/Emu/Cell/PPCThreadManager.h +++ b/rpcs3/Emu/Cell/PPCThreadManager.h @@ -7,6 +7,9 @@ class PPCThreadManager //ArrayF m_ppu_threads; //ArrayF m_spu_threads; ArrayF m_threads; + std::mutex m_mtx_thread; + wxSemaphore m_sem_task; + Stack m_delete_threads; public: PPCThreadManager(); @@ -23,4 +26,5 @@ public: //IdManager& GetIDs() {return m_threads_id;} void Exec(); + void Task(); }; \ No newline at end of file diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 618966d7c5..548d8ca9ba 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -63,8 +63,8 @@ void PPUThread::InitRegs() const u32 pc = Memory.Read32(entry); const u32 rtoc = Memory.Read32(entry + 4); - ConLog.Write("entry = 0x%x", entry); - ConLog.Write("rtoc = 0x%x", rtoc); + //ConLog.Write("entry = 0x%x", entry); + //ConLog.Write("rtoc = 0x%x", rtoc); SetPc(pc); @@ -132,9 +132,11 @@ void PPUThread::InitRegs() GPR[29] = GPR[3]; GPR[31] = GPR[5]; + LR = Emu.GetPPUThreadExit(); CTR = PC; CR.CR = 0x22000082; VSCR.NJ = 1; + TB = 0; } u64 PPUThread::GetFreeStackSize() const @@ -202,14 +204,13 @@ void PPUThread::DoCode(const s32 code) { is_last_enabled = false; } - +#endif if(++cycle > 220) { cycle = 0; TB++; } -#endif m_dec->Decode(code); } diff --git a/rpcs3/Emu/GS/GL/FragmentProgram.cpp b/rpcs3/Emu/GS/GL/FragmentProgram.cpp index bd30fb2a45..712c7a435d 100644 --- a/rpcs3/Emu/GS/GL/FragmentProgram.cpp +++ b/rpcs3/Emu/GS/GL/FragmentProgram.cpp @@ -37,9 +37,17 @@ void FragmentDecompilerThread::AddCode(wxString code) if(cond.Len()) { - ConLog.Error("cond! [eq: %d gr: %d lt: %d] (%s)", src0.exec_if_eq, src0.exec_if_gr, src0.exec_if_lt, cond); - Emu.Pause(); - return; + + static const char f[4] = {'x', 'y', 'z', 'w'}; + wxString swizzle = wxEmptyString; + swizzle += f[src0.cond_swizzle_x]; + swizzle += f[src0.cond_swizzle_y]; + swizzle += f[src0.cond_swizzle_z]; + swizzle += f[src0.cond_swizzle_w]; + cond = wxString::Format("if(rc.%s %s 0.0) ", swizzle, cond); + //ConLog.Error("cond! [eq: %d gr: %d lt: %d] (%s)", src0.exec_if_eq, src0.exec_if_gr, src0.exec_if_lt, cond); + //Emu.Pause(); + //return; } if(src1.scale) @@ -60,13 +68,12 @@ void FragmentDecompilerThread::AddCode(wxString code) } } - if(dst.fp16) + if(dst.saturate) { - //HACK! TODO: fp16 -> fp32 - code = "/*" + code + "*/ vec4(1.0, 1.0, 1.0, 1.0)"; + code = "clamp(" + code + ", 0.0, 1.0)"; } - code = AddReg(dst.dest_reg, dst.fp16) + GetMask() + " = " + code + GetMask(); + code = cond + (dst.set_cond ? AddCond(dst.fp16) : AddReg(dst.dest_reg, dst.fp16)) + GetMask() + " = " + code + GetMask(); main += "\t" + code + ";\n"; } @@ -96,6 +103,11 @@ wxString FragmentDecompilerThread::AddReg(u32 index, int fp16) wxString::Format((fp16 ? "h%d" : "r%d"), index), (index || fp16) ? -1 : 0); } +wxString FragmentDecompilerThread::AddCond(int fp16) +{ + return m_parr.AddParam(PARAM_NONE , "vec4", (fp16 ? "hc" : "rc"), -1); +} + wxString FragmentDecompilerThread::AddConst() { mem32_t data(m_addr + m_size + m_offset); diff --git a/rpcs3/Emu/GS/GL/FragmentProgram.h b/rpcs3/Emu/GS/GL/FragmentProgram.h index 54a0b6b784..bcf6885b5d 100644 --- a/rpcs3/Emu/GS/GL/FragmentProgram.h +++ b/rpcs3/Emu/GS/GL/FragmentProgram.h @@ -117,6 +117,7 @@ struct FragmentDecompilerThread : public ThreadBase void AddCode(wxString code); wxString AddReg(u32 index, int fp16); + wxString AddCond(int fp16); wxString AddConst(); wxString AddTex(); diff --git a/rpcs3/Emu/GS/GL/GLGSRender.cpp b/rpcs3/Emu/GS/GL/GLGSRender.cpp index 60215814a4..e56ca4320d 100644 --- a/rpcs3/Emu/GS/GL/GLGSRender.cpp +++ b/rpcs3/Emu/GS/GL/GLGSRender.cpp @@ -11,7 +11,7 @@ #define CMD_LOG(...) #endif -gcmBuffer gcmBuffers[2]; +gcmBuffer gcmBuffers[8]; void printGlError(GLenum err, const char* situation) { @@ -176,14 +176,16 @@ void GLRSXThread::Task() if(draw) { p.m_frame->Flip(); - if(p.m_flip_handler) - { - p.m_flip_handler.Handle(1, 0, 0); - p.m_flip_handler.Branch(false); - } } + p.m_gcm_current_buffer = ++p.m_gcm_current_buffer % p.m_gcm_buffers_count; p.m_flip_status = 0; + if(p.m_flip_handler) + { + p.m_flip_handler.Handle(1, 0, 0); + p.m_flip_handler.Branch(false); + } + if(SemaphorePostAndWait(p.m_sem_flip)) continue; } @@ -198,7 +200,7 @@ void GLRSXThread::Task() if(cmd & CELL_GCM_METHOD_FLAG_JUMP) { u32 addr = cmd & ~(CELL_GCM_METHOD_FLAG_JUMP | CELL_GCM_METHOD_FLAG_NON_INCREMENT); - addr &= ~0x1000; + addr -= 0x1000; ConLog.Warning("rsx jump(0x%x) #addr=0x%x, cmd=0x%x, get=0x%x, put=0x%x", addr, p.m_ioAddress + get, cmd, get, put); re(p.m_ctrl->get, addr); continue; @@ -621,17 +623,14 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c case NV4097_SET_ALPHA_TEST_ENABLE: m_set_alpha_test = args[0] ? true : false; - //Enable(args[0] ? true : false, GL_ALPHA_TEST); break; case NV4097_SET_BLEND_ENABLE: m_set_blend = args[0] ? true : false; - //Enable(args[0] ? true : false, GL_BLEND); break; case NV4097_SET_DEPTH_BOUNDS_TEST_ENABLE: m_set_depth_bounds_test = args[0] ? true : false; - //Enable(args[0] ? true : false, GL_DEPTH_CLAMP); break; case NV4097_SET_ALPHA_FUNC: @@ -680,47 +679,51 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c m_clip_max = (float&)clip_max; CMD_LOG("clip_min=%.01f, clip_max=%.01f", m_clip_min, m_clip_max); - - //glDepthRangef(m_clip_min, m_clip_max); } break; case NV4097_SET_DEPTH_FUNC: m_set_depth_func = true; m_depth_func = args[0]; - //glDepthFunc(m_depth_func); break; case NV4097_SET_DEPTH_TEST_ENABLE: m_depth_test_enable = args[0] ? true : false; - //Enable(args[0] ? true : false, GL_DEPTH_TEST); break; case NV4097_SET_FRONT_POLYGON_MODE: - glPolygonMode(GL_FRONT, args[0]); + m_set_front_polygon_mode = true; + m_front_polygon_mode = args[0]; + //glPolygonMode(GL_FRONT, args[0]); break; case NV4097_CLEAR_SURFACE: { - const u32 mask = args[0]; - GLbitfield f = 0; - if (mask & 0x1) f |= GL_DEPTH_BUFFER_BIT; - if (mask & 0x2) f |= GL_STENCIL_BUFFER_BIT; - if (mask & 0x10) f |= GL_COLOR_BUFFER_BIT; - glClear(f); + m_set_clear_surface = true; + m_clear_surface_mask = args[0]; } break; case NV4097_SET_BLEND_FUNC_SFACTOR: { - const u16 src_rgb = args[0] & 0xffff; - const u16 dst_rgb = args[0] >> 16; - const u16 src_alpha = args[1] & 0xffff; - const u16 dst_alpha = args[1] >> 16; - CMD_LOG("src_rgb=0x%x, dst_rgb=0x%x, src_alpha=0x%x, dst_alpha=0x%x", - src_rgb, dst_rgb, src_alpha, dst_alpha); + m_set_blend_sfactor = true; + m_blend_sfactor_rgb = args[0] & 0xffff; + m_blend_sfactor_alpha = args[0] >> 16; - glBlendFuncSeparate(src_rgb, dst_rgb, src_alpha, dst_alpha); + if(count >= 2) + { + m_set_blend_dfactor = true; + m_blend_dfactor_rgb = args[1] & 0xffff; + m_blend_dfactor_alpha = args[1] >> 16; + } + } + break; + + case NV4097_SET_BLEND_FUNC_DFACTOR: + { + m_set_blend_dfactor = true; + m_blend_dfactor_rgb = args[0] & 0xffff; + m_blend_dfactor_alpha = args[0] >> 16; } break; @@ -822,12 +825,20 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c if(args[0]) { //begin + if(Emu.GetCallbackManager().m_exit_callback.m_callbacks.GetCount()) + { + //Emu.GetCallbackManager().m_exit_callback.Handle(0x0121, 0); + } m_draw_mode = args[0] - 1; } else { //end ExecCMD(); + if(Emu.GetCallbackManager().m_exit_callback.m_callbacks.GetCount()) + { + //Emu.GetCallbackManager().m_exit_callback.Handle(0x0122, 0); + } } } break; @@ -941,19 +952,66 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c break; case NV4097_SET_LOGIC_OP_ENABLE: - Enable(args[0] ? true : false, GL_LOGIC_OP); + m_set_logic_op = args[0] ? true : false; break; case NV4097_SET_CULL_FACE_ENABLE: - Enable(args[0] ? true : false, GL_CULL_FACE); + m_set_cull_face = args[0] ? true : false; break; case NV4097_SET_DITHER_ENABLE: - Enable(args[0] ? true : false, GL_DITHER); + m_set_dither = args[0] ? true : false; break; case NV4097_SET_STENCIL_TEST_ENABLE: - Enable(args[0] ? true : false, GL_STENCIL_TEST); + m_set_stencil_test = args[0] ? true : false; + break; + + case NV4097_SET_STENCIL_MASK: + m_set_stencil_mask = true; + m_stencil_mask = args[0]; + break; + + case NV4097_SET_STENCIL_FUNC: + m_set_stencil_func = true; + m_stencil_func = args[0]; + if(count >= 2) + { + m_set_stencil_func_ref = true; + m_stencil_func_ref = args[1]; + + if(count >= 3) + { + m_set_stencil_func_mask = true; + m_stencil_func_mask = args[2]; + } + } + break; + + case NV4097_SET_STENCIL_FUNC_REF: + m_set_stencil_func_ref = true; + m_stencil_func_ref = args[0]; + break; + + case NV4097_SET_STENCIL_FUNC_MASK: + m_set_stencil_func_mask = true; + m_stencil_func_mask = args[0]; + break; + + case NV4097_SET_STENCIL_OP_FAIL: + m_set_stencil_fail = true; + m_stencil_fail = args[0]; + if(count >= 2) + { + m_set_stencil_zfail = true; + m_stencil_zfail = args[1]; + + if(count >= 3) + { + m_set_stencil_zpass = true; + m_stencil_zpass = args[2]; + } + } break; case NV4097_SET_TWO_SIDED_STENCIL_TEST_ENABLE: @@ -984,8 +1042,11 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c break; case NV4097_SET_BLEND_COLOR: - glBlendColor(args[0] & 0xff, (args[0] >> 8) & 0xff, - (args[0] >> 16) & 0xff, (args[0] >> 24) & 0xff); + m_set_blend_color = true; + m_blend_color_r = args[0] & 0xff; + m_blend_color_g = (args[0] >> 8) & 0xff; + m_blend_color_b = (args[0] >> 16) & 0xff; + m_blend_color_a = (args[0] >> 24) & 0xff; break; case NV4097_SET_BLEND_COLOR2: @@ -993,8 +1054,9 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c break; case NV4097_SET_BLEND_EQUATION: - glBlendEquationSeparate(args[0] & 0xffff, args[0] >> 16); - //glBlendEquation + m_set_blend_equation = true; + m_blend_equation_rgb = args[0] & 0xffff; + m_blend_equation_alpha = args[0] >> 16; break; case NV4097_SET_REDUCE_DST_COLOR: @@ -1002,7 +1064,8 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c break; case NV4097_SET_DEPTH_MASK: - glDepthMask(args[0]); + m_set_depth_mask = true; + m_depth_mask = args[0]; break; case NV4097_SET_SCISSOR_VERTICAL: @@ -1025,10 +1088,6 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c m_scissor_y = args[1] & 0xffff; m_scissor_h = args[1] >> 16; } - - CMD_LOG("x=%d, y=%d, w=%d, h=%d", m_scissor_x, m_scissor_y, m_scissor_w, m_scissor_h); - - //glScissor(m_scissor_x, m_scissor_y, m_scissor_w, m_scissor_h); } break; @@ -1148,6 +1207,20 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c } break; + case NV4097_SET_LINE_SMOOTH_ENABLE: + m_set_line_smooth = args[0] ? true : false; + break; + + case NV4097_SET_LINE_WIDTH: + m_set_line_width = true; + m_line_width = args[0]; + break; + + case NV4097_SET_SHADE_MODE: + m_set_shade_mode = true; + m_shade_mode = args[0]; + break; + case NV4097_SET_ZSTENCIL_CLEAR_VALUE: case NV4097_SET_ZCULL_CONTROL0: case NV4097_SET_ZCULL_CONTROL1: @@ -1165,6 +1238,7 @@ void GLGSRender::DoCmd(const u32 fcmd, const u32 cmd, mem32_t& args, const u32 c { case 1: data = std::chrono::steady_clock::now().time_since_epoch().count(); + data *= 1000000; break; default: @@ -1285,6 +1359,15 @@ void GLGSRender::ExecCMD() { if(LoadProgram()) { + if(m_set_clear_surface) + { + GLbitfield f = 0; + if (m_clear_surface_mask & 0x1) f |= GL_DEPTH_BUFFER_BIT; + if (m_clear_surface_mask & 0x2) f |= GL_STENCIL_BUFFER_BIT; + if (m_clear_surface_mask & 0x10) f |= GL_COLOR_BUFFER_BIT; + glClear(f); + } + if(m_set_color_mask) { glColorMask(m_color_mask_r, m_color_mask_g, m_color_mask_b, m_color_mask_a); @@ -1303,10 +1386,45 @@ void GLGSRender::ExecCMD() glScissor(m_scissor_x, m_scissor_y, m_scissor_w, m_scissor_h); } + if(m_set_front_polygon_mode) + { + glPolygonMode(GL_FRONT, m_front_polygon_mode); + } + Enable(m_depth_test_enable, GL_DEPTH_TEST); Enable(m_set_alpha_test, GL_ALPHA_TEST); Enable(m_set_depth_bounds_test, GL_DEPTH_CLAMP); Enable(m_set_blend, GL_BLEND); + Enable(m_set_logic_op, GL_LOGIC_OP); + Enable(m_set_cull_face, GL_CULL_FACE); + Enable(m_set_dither, GL_DITHER); + Enable(m_set_stencil_test, GL_STENCIL_TEST); + Enable(m_set_line_smooth, GL_LINE_SMOOTH); + + if(m_set_stencil_mask) + { + glStencilMask(m_stencil_mask); + } + + if(m_set_stencil_func && m_set_stencil_func_ref && m_set_stencil_func_mask) + { + glStencilFunc(m_stencil_func, m_stencil_func_ref, m_stencil_func_mask); + } + + if(m_set_stencil_fail && m_set_stencil_zfail && m_set_stencil_zpass) + { + glStencilOp(m_stencil_fail, m_stencil_zfail, m_stencil_zpass); + } + + if(m_set_shade_mode) + { + glShadeModel(m_shade_mode); + } + + if(m_set_depth_mask) + { + glDepthMask(m_depth_mask); + } if(m_set_depth_func) { @@ -1318,6 +1436,26 @@ void GLGSRender::ExecCMD() glDepthRangef(m_clip_min, m_clip_max); } + if(m_set_line_width) + { + glLineWidth(m_line_width / 255.f); + } + + if(m_set_blend_equation) + { + glBlendEquationSeparate(m_blend_equation_rgb, m_blend_equation_alpha); + } + + if(m_set_blend_sfactor && m_set_blend_dfactor) + { + glBlendFuncSeparate(m_blend_sfactor_rgb, m_blend_dfactor_rgb, m_blend_sfactor_alpha, m_blend_dfactor_alpha); + } + + if(m_set_blend_color) + { + glBlendColor(m_blend_color_r, m_blend_color_g, m_blend_color_b, m_blend_color_a); + } + if(m_indexed_array.m_count && m_draw_array_count) { ConLog.Warning("m_indexed_array.m_count && draw_array_count"); diff --git a/rpcs3/Emu/GS/GL/GLGSRender.h b/rpcs3/Emu/GS/GL/GLGSRender.h index 1736ea74f2..dad0efcb84 100644 --- a/rpcs3/Emu/GS/GL/GLGSRender.h +++ b/rpcs3/Emu/GS/GL/GLGSRender.h @@ -113,9 +113,17 @@ public: checkForGlError("GLTexture::Init() -> glTexImage2D"); break; + case 0x94://FIXME + glTexImage2D(GL_TEXTURE_2D, 0, GL_R16, m_width, m_height, 0, GL_RED, GL_SHORT, Memory.GetMemFromAddr(m_offset)); + checkForGlError("GLTexture::Init() -> glTexImage2D"); + break; + default: ConLog.Error("Init tex error: Bad tex format (0x%x)", m_format); break; } + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); //Unbind(); } @@ -269,8 +277,6 @@ private: virtual void OnSize(wxSizeEvent& event); }; -extern gcmBuffer gcmBuffers[2]; - struct GLRSXThread : public ThreadBase { wxWindow* m_parent; diff --git a/rpcs3/Emu/GS/GSManager.h b/rpcs3/Emu/GS/GSManager.h index bac7ce4233..7ab4fda396 100644 --- a/rpcs3/Emu/GS/GSManager.h +++ b/rpcs3/Emu/GS/GSManager.h @@ -38,15 +38,8 @@ struct gcmBuffer u32 pitch; u32 width; u32 height; - bool update; - - gcmBuffer() : update(false) - { - } }; -extern gcmBuffer gcmBuffers[2]; - class GSManager { GSInfo m_info; diff --git a/rpcs3/Emu/GS/GSRender.h b/rpcs3/Emu/GS/GSRender.h index aa08b9cdb7..d32220163f 100644 --- a/rpcs3/Emu/GS/GSRender.h +++ b/rpcs3/Emu/GS/GSRender.h @@ -51,6 +51,10 @@ struct GSRender volatile bool m_draw; Callback m_flip_handler; + u32 m_gcm_buffers_addr; + u32 m_gcm_buffers_count; + u32 m_gcm_current_buffer; + GSRender(); virtual void Init(const u32 ioAddress, const u32 ioSize, const u32 ctrlAddress, const u32 localAddress)=0; diff --git a/rpcs3/Emu/GS/RSXThread.h b/rpcs3/Emu/GS/RSXThread.h index 9cf1e9c458..4b877f5990 100644 --- a/rpcs3/Emu/GS/RSXThread.h +++ b/rpcs3/Emu/GS/RSXThread.h @@ -36,6 +36,67 @@ protected: u16 m_scissor_w; u16 m_scissor_h; + bool m_set_front_polygon_mode; + u32 m_front_polygon_mode; + + bool m_set_clear_surface; + u32 m_clear_surface_mask; + + bool m_set_blend_sfactor; + u16 m_blend_sfactor_rgb; + u16 m_blend_sfactor_alpha; + + bool m_set_blend_dfactor; + u16 m_blend_dfactor_rgb; + u16 m_blend_dfactor_alpha; + + bool m_set_logic_op; + bool m_set_cull_face; + bool m_set_dither; + bool m_set_stencil_test; + + bool m_set_stencil_mask; + u32 m_stencil_mask; + + bool m_set_stencil_func; + u32 m_stencil_func; + + bool m_set_stencil_func_ref; + u32 m_stencil_func_ref; + + bool m_set_stencil_func_mask; + u32 m_stencil_func_mask; + + bool m_set_stencil_fail; + u32 m_stencil_fail; + + bool m_set_stencil_zfail; + u32 m_stencil_zfail; + + bool m_set_stencil_zpass; + u32 m_stencil_zpass; + + bool m_set_blend_equation; + u16 m_blend_equation_rgb; + u16 m_blend_equation_alpha; + + bool m_set_depth_mask; + u32 m_depth_mask; + + bool m_set_line_smooth; + + bool m_set_line_width; + u32 m_line_width; + + bool m_set_shade_mode; + u32 m_shade_mode; + + bool m_set_blend_color; + u8 m_blend_color_r; + u8 m_blend_color_g; + u8 m_blend_color_b; + u8 m_blend_color_a; + public: ExecRSXCMDdata() { @@ -55,6 +116,27 @@ public: m_set_viewport_vertical = false; m_set_scissor_horizontal = false; m_set_scissor_vertical = false; + m_set_front_polygon_mode = false; + m_set_clear_surface = false; + m_set_blend_sfactor = false; + m_set_blend_dfactor = false; + m_set_logic_op = false; + m_set_cull_face = false; + m_set_dither = false; + m_set_stencil_test = false; + m_set_stencil_mask = false; + m_set_stencil_func = false; + m_set_stencil_func_ref = false; + m_set_stencil_func_mask = false; + m_set_stencil_fail = false; + m_set_stencil_zfail = false; + m_set_stencil_zpass = false; + m_set_blend_equation = false; + m_set_depth_mask = false; + m_set_line_smooth = false; + m_set_line_width = false; + m_set_shade_mode = false; + m_set_blend_color = false; } virtual void ExecCMD()=0; diff --git a/rpcs3/Emu/SysCalls/Callback.cpp b/rpcs3/Emu/SysCalls/Callback.cpp index 62c2857016..def71a0e83 100644 --- a/rpcs3/Emu/SysCalls/Callback.cpp +++ b/rpcs3/Emu/SysCalls/Callback.cpp @@ -60,7 +60,6 @@ void Callback::Branch(bool wait) new_thread.SetArg(0, a1); new_thread.SetArg(1, a2); new_thread.SetArg(2, a3); - ((PPUThread&)new_thread).LR = Emu.GetPPUThreadExit(); new_thread.Run(); new_thread.Exec(); diff --git a/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp b/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp index c497e25c6c..6ee40bfdd6 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "Emu/SysCalls/SysCalls.h" #include "Emu/SysCalls/SC_FUNC.h" +#include "Emu/GS/GCM.h" void cellGcmSys_init(); Module cellGcmSys(0x0010, cellGcmSys_init); @@ -17,6 +18,68 @@ s64 cellGcmSetFlipCommandWithWaitLabel() return 0; } +int cellGcmInitCursor() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmSetCursorPosition(s32 x, s32 y) +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmSetCursorDisable() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmSetVBlankHandler() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmUpdateCursor() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmSetCursorEnable() +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +int cellGcmSetCursorImageOffset(u32 offset) +{ + UNIMPLEMENTED_FUNC(cellGcmSys); + return CELL_OK; +} + +u32 cellGcmGetDisplayInfo() +{ + cellGcmSys.Warning("cellGcmGetDisplayInfo() = 0x%x", Emu.GetGSManager().GetRender().m_gcm_buffers_addr); + return Emu.GetGSManager().GetRender().m_gcm_buffers_addr; +} + +int cellGcmGetCurrentDisplayBufferId(u32 id_addr) +{ + cellGcmSys.Warning("cellGcmGetCurrentDisplayBufferId(id_addr=0x%x)", id_addr); + + if(!Memory.IsGoodAddr(id_addr)) + { + return CELL_EFAULT; + } + + Memory.Write32(id_addr, Emu.GetGSManager().GetRender().m_gcm_current_buffer); + + return CELL_OK; +} + void cellGcmSys_init() { cellGcmSys.AddFunc(0x055bd74d, cellGcmGetTiledPitchSize); @@ -39,4 +102,15 @@ void cellGcmSys_init() cellGcmSys.AddFunc(0xd9b7653e, cellGcmUnbindTile); cellGcmSys.AddFunc(0xa75640e8, cellGcmUnbindZcull); cellGcmSys.AddFunc(0xa41ef7e8, cellGcmSetFlipHandler); + cellGcmSys.AddFunc(0xa114ec67, cellGcmMapMainMemory); + cellGcmSys.AddFunc(0xf80196c1, cellGcmGetLabelAddress); + cellGcmSys.AddFunc(0x107bf3a1, cellGcmInitCursor); + cellGcmSys.AddFunc(0x1a0de550, cellGcmSetCursorPosition); + cellGcmSys.AddFunc(0x69c6cc82, cellGcmSetCursorDisable); + cellGcmSys.AddFunc(0xa91b0402, cellGcmSetVBlankHandler); + cellGcmSys.AddFunc(0xbd2fa0a7, cellGcmUpdateCursor); + cellGcmSys.AddFunc(0xc47d0812, cellGcmSetCursorEnable); + cellGcmSys.AddFunc(0xf9bfdc72, cellGcmSetCursorImageOffset); + cellGcmSys.AddFunc(0x0e6b0dae, cellGcmGetDisplayInfo); + cellGcmSys.AddFunc(0x93806525, cellGcmGetCurrentDisplayBufferId); } diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp new file mode 100644 index 0000000000..1602f4fc52 --- /dev/null +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp @@ -0,0 +1,240 @@ +#include "stdafx.h" +#include "Emu/SysCalls/SysCalls.h" +#include "Emu/SysCalls/SC_FUNC.h" + +enum +{ + CELL_SYSUTIL_SYSTEMPARAM_ID_LANG = 0x0111, + CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN = 0x0112, + CELL_SYSUTIL_SYSTEMPARAM_ID_DATE_FORMAT = 0x0114, + CELL_SYSUTIL_SYSTEMPARAM_ID_TIME_FORMAT = 0x0115, + CELL_SYSUTIL_SYSTEMPARAM_ID_TIMEZONE = 0x0116, + CELL_SYSUTIL_SYSTEMPARAM_ID_SUMMERTIME = 0x0117, + CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL = 0x0121, + CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL0_RESTRICT = 0x0123, + CELL_SYSUTIL_SYSTEMPARAM_ID_CURRENT_USER_HAS_NP_ACCOUNT = 0x0141, + CELL_SYSUTIL_SYSTEMPARAM_ID_CAMERA_PLFREQ = 0x0151, + CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_RUMBLE = 0x0152, + CELL_SYSUTIL_SYSTEMPARAM_ID_KEYBOARD_TYPE = 0x0153, + CELL_SYSUTIL_SYSTEMPARAM_ID_JAPANESE_KEYBOARD_ENTRY_METHOD = 0x0154, + CELL_SYSUTIL_SYSTEMPARAM_ID_CHINESE_KEYBOARD_ENTRY_METHOD = 0x0155, + CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_AUTOOFF = 0x0156, +}; + +enum +{ + CELL_SYSUTIL_LANG_JAPANESE = 0, + CELL_SYSUTIL_LANG_ENGLISH_US = 1, + CELL_SYSUTIL_LANG_FRENCH = 2, + CELL_SYSUTIL_LANG_SPANISH = 3, + CELL_SYSUTIL_LANG_GERMAN = 4, + CELL_SYSUTIL_LANG_ITALIAN = 5, + CELL_SYSUTIL_LANG_DUTCH = 6, + CELL_SYSUTIL_LANG_PORTUGUESE_PT = 7, + CELL_SYSUTIL_LANG_RUSSIAN = 8, + CELL_SYSUTIL_LANG_KOREAN = 9, + CELL_SYSUTIL_LANG_CHINESE_T = 10, + CELL_SYSUTIL_LANG_CHINESE_S = 11, + CELL_SYSUTIL_LANG_FINNISH = 12, + CELL_SYSUTIL_LANG_SWEDISH = 13, + CELL_SYSUTIL_LANG_DANISH = 14, + CELL_SYSUTIL_LANG_NORWEGIAN = 15, + CELL_SYSUTIL_LANG_POLISH = 16, + CELL_SYSUTIL_LANG_PORTUGUESE_BR = 17, + CELL_SYSUTIL_LANG_ENGLISH_GB = 18, +}; + +enum +{ + CELL_SYSUTIL_ENTER_BUTTON_ASSIGN_CIRCLE = 0, + CELL_SYSUTIL_ENTER_BUTTON_ASSIGN_CROSS = 1, +}; + +enum +{ + CELL_SYSUTIL_DATE_FMT_YYYYMMDD = 0, + CELL_SYSUTIL_DATE_FMT_DDMMYYYY = 1, + CELL_SYSUTIL_DATE_FMT_MMDDYYYY = 2, +}; + +enum +{ + CELL_SYSUTIL_TIME_FMT_CLOCK12 = 0, + CELL_SYSUTIL_TIME_FMT_CLOCK24 = 1, +}; + +enum +{ + CELL_SYSUTIL_GAME_PARENTAL_OFF = 0, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL01 = 1, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL02 = 2, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL03 = 3, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL04 = 4, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL05 = 5, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL06 = 6, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL07 = 7, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL08 = 8, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL09 = 9, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL10 = 10, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL11 = 11, +}; + +enum +{ + CELL_SYSUTIL_GAME_PARENTAL_LEVEL0_RESTRICT_OFF = 0, + CELL_SYSUTIL_GAME_PARENTAL_LEVEL0_RESTRICT_ON = 1, +}; + +enum +{ + CELL_SYSUTIL_CAMERA_PLFREQ_DISABLED = 0, + CELL_SYSUTIL_CAMERA_PLFREQ_50HZ = 1, + CELL_SYSUTIL_CAMERA_PLFREQ_60HZ = 2, + CELL_SYSUTIL_CAMERA_PLFREQ_DEVCIE_DEPEND = 4, +}; + +enum +{ + CELL_SYSUTIL_PAD_RUMBLE_OFF = 0, + CELL_SYSUTIL_PAD_RUMBLE_ON = 1, +}; + +enum +{ + CELL_KB_MAPPING_101, + CELL_KB_MAPPING_106, + CELL_KB_MAPPING_106_KANA, + CELL_KB_MAPPING_GERMAN_GERMANY, + CELL_KB_MAPPING_SPANISH_SPAIN, + CELL_KB_MAPPING_FRENCH_FRANCE, + CELL_KB_MAPPING_ITALIAN_ITALY, + CELL_KB_MAPPING_DUTCH_NETHERLANDS, + CELL_KB_MAPPING_PORTUGUESE_PORTUGAL, + CELL_KB_MAPPING_RUSSIAN_RUSSIA, + CELL_KB_MAPPING_ENGLISH_UK, + CELL_KB_MAPPING_KOREAN_KOREA, + CELL_KB_MAPPING_NORWEGIAN_NORWAY, + CELL_KB_MAPPING_FINNISH_FINLAND, + CELL_KB_MAPPING_DANISH_DENMARK, + CELL_KB_MAPPING_SWEDISH_SWEDEN, + CELL_KB_MAPPING_CHINESE_TRADITIONAL, + CELL_KB_MAPPING_CHINESE_SIMPLIFIED, + CELL_KB_MAPPING_SWISS_FRENCH_SWITZERLAND, + CELL_KB_MAPPING_SWISS_GERMAN_SWITZERLAND, + CELL_KB_MAPPING_CANADIAN_FRENCH_CANADA, + CELL_KB_MAPPING_BELGIAN_BELGIUM, + CELL_KB_MAPPING_POLISH_POLAND, + CELL_KB_MAPPING_PORTUGUESE_BRAZIL, +}; + +void cellSysutil_init(); +Module cellSysutil(0x0015, cellSysutil_init); + +void cellVideoOutGetDeviceInfo() +{ + UNIMPLEMENTED_FUNC(cellSysutil); +} + +int cellSysutilGetSystemParamInt(int id, u32 value_addr) +{ + cellSysutil.Log("cellSysutilGetSystemParamInt(id=0x%x, value_addr=0x%x)", id, value_addr); + + if(!Memory.IsGoodAddr(value_addr)) + { + return CELL_EFAULT; + } + + switch(id) + { + case CELL_SYSUTIL_SYSTEMPARAM_ID_LANG: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_LANG"); + Memory.Write32(value_addr, CELL_SYSUTIL_LANG_ENGLISH_US); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN"); + Memory.Write32(value_addr, CELL_SYSUTIL_ENTER_BUTTON_ASSIGN_CROSS); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_DATE_FORMAT: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_DATE_FORMAT"); + Memory.Write32(value_addr, CELL_SYSUTIL_DATE_FMT_DDMMYYYY); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_TIME_FORMAT: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_TIME_FORMAT"); + Memory.Write32(value_addr, CELL_SYSUTIL_TIME_FMT_CLOCK24); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_TIMEZONE: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_TIMEZONE"); + Memory.Write32(value_addr, 3); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_SUMMERTIME: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_SUMMERTIME"); + Memory.Write32(value_addr, 1); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL"); + Memory.Write32(value_addr, CELL_SYSUTIL_GAME_PARENTAL_OFF); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL0_RESTRICT: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_GAME_PARENTAL_LEVEL0_RESTRICT"); + Memory.Write32(value_addr, CELL_SYSUTIL_GAME_PARENTAL_LEVEL0_RESTRICT_OFF); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_CURRENT_USER_HAS_NP_ACCOUNT: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_CURRENT_USER_HAS_NP_ACCOUNT"); + Memory.Write32(value_addr, 0); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_CAMERA_PLFREQ: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_CAMERA_PLFREQ"); + Memory.Write32(value_addr, CELL_SYSUTIL_CAMERA_PLFREQ_DISABLED); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_RUMBLE: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_RUMBLE"); + Memory.Write32(value_addr, CELL_SYSUTIL_PAD_RUMBLE_OFF); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_KEYBOARD_TYPE: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_KEYBOARD_TYPE"); + Memory.Write32(value_addr, 0); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_JAPANESE_KEYBOARD_ENTRY_METHOD: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_JAPANESE_KEYBOARD_ENTRY_METHOD"); + Memory.Write32(value_addr, 0); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_CHINESE_KEYBOARD_ENTRY_METHOD: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_CHINESE_KEYBOARD_ENTRY_METHOD"); + Memory.Write32(value_addr, 0); + break; + + case CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_AUTOOFF: + cellSysutil.Warning("cellSysutilGetSystemParamInt: CELL_SYSUTIL_SYSTEMPARAM_ID_PAD_AUTOOFF"); + Memory.Write32(value_addr, 0); + break; + + default: + return CELL_EINVAL; + } + + return CELL_OK; +} + +void cellSysutil_init() +{ + cellSysutil.AddFunc(0x0bae8772, cellVideoOutConfigure); + cellSysutil.AddFunc(0x189a74da, cellSysutilCheckCallback); + cellSysutil.AddFunc(0x1e930eef, cellVideoOutGetDeviceInfo); + cellSysutil.AddFunc(0x40e895d3, cellSysutilGetSystemParamInt); + cellSysutil.AddFunc(0x887572d5, cellVideoOutGetState); + cellSysutil.AddFunc(0x9d98afa0, cellSysutilRegisterCallback); + cellSysutil.AddFunc(0xe558748d, cellVideoOutGetResolution); +} \ No newline at end of file diff --git a/rpcs3/Emu/SysCalls/SysCalls.h b/rpcs3/Emu/SysCalls/SysCalls.h index 2a2d60a446..70e6ae446b 100644 --- a/rpcs3/Emu/SysCalls/SysCalls.h +++ b/rpcs3/Emu/SysCalls/SysCalls.h @@ -271,6 +271,8 @@ extern int sys_time_get_current_time(u32 sec_addr, u32 nsec_addr); extern s64 sys_time_get_system_time(); extern u64 sys_time_get_timebase_frequency(); +#define UNIMPLEMENTED_FUNC(module) module.Error("Unimplemented function: "__FUNCTION__) + #define SC_ARGS_1 CPU.GPR[3] #define SC_ARGS_2 SC_ARGS_1,CPU.GPR[4] #define SC_ARGS_3 SC_ARGS_2,CPU.GPR[5] diff --git a/rpcs3/Emu/SysCalls/lv2/SC_GCM.cpp b/rpcs3/Emu/SysCalls/lv2/SC_GCM.cpp index 0eaab5d5b3..5f834dd9e3 100644 --- a/rpcs3/Emu/SysCalls/lv2/SC_GCM.cpp +++ b/rpcs3/Emu/SysCalls/lv2/SC_GCM.cpp @@ -62,6 +62,10 @@ int cellGcmInit(u32 context_addr, u32 cmdSize, u32 ioSize, u32 ioAddress) ctrl.get = 0; ctrl.ref = -1; + Emu.GetGSManager().GetRender().m_gcm_buffers_addr = Memory.Alloc(sizeof(gcmBuffer) * 8, sizeof(gcmBuffer)); + Emu.GetGSManager().GetRender().m_gcm_buffers_count = 0; + Emu.GetGSManager().GetRender().m_gcm_current_buffer = 0; + Emu.GetGSManager().GetRender().Init(ctx_begin, ctx_size, gcm_info.control_addr, local_addr); return CELL_OK; @@ -122,13 +126,19 @@ int cellGcmSetDisplayBuffer(u32 id, u32 offset, u32 pitch, u32 width, u32 height { cellGcmSys.Warning("cellGcmSetDisplayBuffer(id=0x%x,offset=0x%x,pitch=%d,width=%d,height=%d)", id, offset, width ? pitch/width : pitch, width, height); - if(id > 1) return CELL_EINVAL; + if(id > 7) return CELL_EINVAL; - gcmBuffers[id].offset = offset; - gcmBuffers[id].pitch = pitch; - gcmBuffers[id].width = width; - gcmBuffers[id].height = height; - gcmBuffers[id].update = true; + gcmBuffer* buffers = (gcmBuffer*)Memory.GetMemFromAddr(Emu.GetGSManager().GetRender().m_gcm_buffers_addr); + + buffers[id].offset = re(offset); + buffers[id].pitch = re(pitch); + buffers[id].width = re(width); + buffers[id].height = re(height); + + if(id + 1 > Emu.GetGSManager().GetRender().m_gcm_buffers_count) + { + Emu.GetGSManager().GetRender().m_gcm_buffers_count = id + 1; + } return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/lv2/SC_PPU_Thread.cpp b/rpcs3/Emu/SysCalls/lv2/SC_PPU_Thread.cpp index b1c7dc4a98..fddb80a40e 100644 --- a/rpcs3/Emu/SysCalls/lv2/SC_PPU_Thread.cpp +++ b/rpcs3/Emu/SysCalls/lv2/SC_PPU_Thread.cpp @@ -23,7 +23,7 @@ int sys_ppu_thread_exit(int errorcode) PPUThread& thr = GetCurrentPPUThread(); thr.SetExitStatus(errorcode); - wxGetApp().SendDbgCommand(DID_EXIT_THR_SYSCALL, &thr); + Emu.GetCPU().RemoveThread(thr.GetId()); return CELL_OK; } @@ -157,7 +157,6 @@ void sys_ppu_thread_once(u32 once_ctrl_addr, u32 entry) PPCThread& new_thread = Emu.GetCPU().AddThread(PPC_THREAD_PPU); new_thread.SetEntry(entry); - ((PPUThread&)new_thread).LR = Emu.GetPPUThreadExit(); new_thread.Run(); new_thread.Exec(); diff --git a/rpcs3/Emu/SysCalls/lv2/SC_SysUtil.cpp b/rpcs3/Emu/SysCalls/lv2/SC_SysUtil.cpp index 4af1e69c9a..4a223aeab0 100644 --- a/rpcs3/Emu/SysCalls/lv2/SC_SysUtil.cpp +++ b/rpcs3/Emu/SysCalls/lv2/SC_SysUtil.cpp @@ -201,4 +201,4 @@ int cellSysutilUnregisterCallback(int slot) wxGetApp().SendDbgCommand(DID_UNREGISTRED_CALLBACK); return CELL_OK; -} \ No newline at end of file +} diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index eed635de4b..a202c5813b 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -138,9 +138,10 @@ void Emulator::Load() callback_data += SC(2); callback_data += BCLR(0x10 | 0x04, 0, 0, 0); - m_ppu_thr_exit = Memory.MainMem.Alloc(4 * 3); + m_ppu_thr_exit = Memory.MainMem.Alloc(4 * 4); mem32_t ppu_thr_exit_data(m_ppu_thr_exit); + ppu_thr_exit_data += ADDI(3, 0, 0); ppu_thr_exit_data += ADDI(11, 0, 41); ppu_thr_exit_data += SC(2); ppu_thr_exit_data += BCLR(0x10 | 0x04, 0, 0, 0); diff --git a/rpcs3/Gui/InterpreterDisAsm.cpp b/rpcs3/Gui/InterpreterDisAsm.cpp index fd61e070ac..1fe944d2a5 100644 --- a/rpcs3/Gui/InterpreterDisAsm.cpp +++ b/rpcs3/Gui/InterpreterDisAsm.cpp @@ -302,6 +302,9 @@ void InterpreterDisAsmFrame::HandleCommand(wxCommandEvent& event) switch(event.GetId()) { case DID_STOPED_EMU: + UpdateUnitList(); + break; + case DID_PAUSED_EMU: //DoUpdate(); break; diff --git a/rpcs3/Gui/MainFrame.cpp b/rpcs3/Gui/MainFrame.cpp index 0825fecdc8..393cea6820 100644 --- a/rpcs3/Gui/MainFrame.cpp +++ b/rpcs3/Gui/MainFrame.cpp @@ -20,6 +20,7 @@ enum IDs id_boot_game, id_sys_pause, id_sys_stop, + id_sys_send_open_menu, id_sys_send_exit, id_config_emu, id_config_vfs_manager, @@ -35,8 +36,9 @@ wxString GetPaneName() } MainFrame::MainFrame() - : FrameBase(NULL, wxID_ANY, "", "MainFrame", wxSize(800, 600)) + : FrameBase(nullptr, wxID_ANY, "", "MainFrame", wxSize(800, 600)) , m_aui_mgr(this) + , m_sys_menu_opened(false) { SetLabel(wxString::Format(_PRGNAME_ " " _PRGVER_)); wxMenuBar& menubar(*new wxMenuBar()); @@ -57,6 +59,7 @@ MainFrame::MainFrame() menu_sys.Append(id_sys_pause, "Pause")->Enable(false); menu_sys.Append(id_sys_stop, "Stop\tCtrl + S")->Enable(false); menu_sys.AppendSeparator(); + menu_sys.Append(id_sys_send_open_menu, "Send open system menu cmd")->Enable(false); menu_sys.Append(id_sys_send_exit, "Send exit cmd")->Enable(false); menu_conf.Append(id_config_emu, "Settings"); @@ -75,6 +78,7 @@ MainFrame::MainFrame() Connect( id_sys_pause, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::Pause) ); Connect( id_sys_stop, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::Stop) ); + Connect( id_sys_send_open_menu, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::SendOpenCloseSysMenu) ); Connect( id_sys_send_exit, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::SendExit) ); Connect( id_config_emu, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::Config) ); @@ -272,6 +276,13 @@ void MainFrame::SendExit(wxCommandEvent& event) Emu.GetCallbackManager().m_exit_callback.Handle(0x0101, 0); } +void MainFrame::SendOpenCloseSysMenu(wxCommandEvent& event) +{ + Emu.GetCallbackManager().m_exit_callback.Handle(m_sys_menu_opened ? 0x0132 : 0x0131, 0); + m_sys_menu_opened = !m_sys_menu_opened; + UpdateUI(wxCommandEvent()); +} + void MainFrame::Config(wxCommandEvent& WXUNUSED(event)) { //TODO @@ -410,6 +421,7 @@ void MainFrame::UpdateUI(wxCommandEvent& event) is_runned = false; is_stopped = true; is_ready = false; + m_sys_menu_opened = false; break; case DID_PAUSE_EMU: @@ -432,11 +444,14 @@ void MainFrame::UpdateUI(wxCommandEvent& event) is_ready = true; break; - default: + case DID_REGISTRED_CALLBACK: is_runned = Emu.IsRunned(); is_stopped = Emu.IsStopped(); is_ready = Emu.IsReady(); break; + + default: + return; } } else @@ -449,15 +464,19 @@ void MainFrame::UpdateUI(wxCommandEvent& event) wxMenuBar& menubar( *GetMenuBar() ); wxMenuItem& pause = *menubar.FindItem( id_sys_pause ); wxMenuItem& stop = *menubar.FindItem( id_sys_stop ); - wxMenuItem& send_exit = *menubar.FindItem( id_sys_send_exit ); - + wxMenuItem& send_exit = *menubar.FindItem( id_sys_send_exit ); + wxMenuItem& send_open_menu = *menubar.FindItem( id_sys_send_open_menu ); pause.SetText(is_runned ? "Pause\tCtrl + P" : is_ready ? "Start\tCtrl + C" : "Resume\tCtrl + C"); pause.Enable(!is_stopped); stop.Enable(!is_stopped); //send_exit.Enable(false); - send_exit.Enable(!is_stopped && Emu.GetCallbackManager().m_exit_callback.m_callbacks.GetCount()); + bool enable_commands = !is_stopped && Emu.GetCallbackManager().m_exit_callback.m_callbacks.GetCount(); - m_aui_mgr.Update(); + send_open_menu.SetText(wxString::Format("Send %s system menu cmd", m_sys_menu_opened ? "close" : "open")); + send_open_menu.Enable(enable_commands); + send_exit.Enable(enable_commands); + + //m_aui_mgr.Update(); //wxCommandEvent refit( wxEVT_COMMAND_MENU_SELECTED, id_update_dbg ); //GetEventHandler()->AddPendingEvent( refit ); diff --git a/rpcs3/Gui/MainFrame.h b/rpcs3/Gui/MainFrame.h index 955a160fda..43909bcd76 100644 --- a/rpcs3/Gui/MainFrame.h +++ b/rpcs3/Gui/MainFrame.h @@ -7,6 +7,7 @@ class MainFrame : public FrameBase GameViewer* m_game_viewer; wxAuiManager m_aui_mgr; AppConnector m_app_connector; + bool m_sys_menu_opened; public: MainFrame(); @@ -24,6 +25,7 @@ private: void Pause(wxCommandEvent& event); void Stop(wxCommandEvent& event); void SendExit(wxCommandEvent& event); + void SendOpenCloseSysMenu(wxCommandEvent& event); void Config(wxCommandEvent& event); void ConfigVFS(wxCommandEvent& event); void ConfigVHDD(wxCommandEvent& event); diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj index f65f9194e6..162773f50a 100644 --- a/rpcs3/rpcs3.vcxproj +++ b/rpcs3/rpcs3.vcxproj @@ -247,6 +247,7 @@ + diff --git a/rpcs3/rpcs3.vcxproj.filters b/rpcs3/rpcs3.vcxproj.filters index 728fc0fe06..b57aac8b3f 100644 --- a/rpcs3/rpcs3.vcxproj.filters +++ b/rpcs3/rpcs3.vcxproj.filters @@ -280,6 +280,9 @@ Gui + + Emu\SysCalls\Modules +