1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 10:42:36 +01:00

Logging CheckBox, cellGame stuff and other fixes

* cellGameContentPermit and cellGameBootCheck updated.
* Checkbox in the Settings dialog, for enabling logging.
* Fixed GUI issue in the InterpreterDisAsmFrame.
* Fixed -dirty flag in wxWidgets submodule.
This commit is contained in:
Alexandro Sánchez Bach 2014-02-13 20:05:23 +01:00
parent 2b63888782
commit eb93e87b7f
11 changed files with 40 additions and 29 deletions

1
.gitmodules vendored
View File

@ -1,3 +1,4 @@
[submodule "wxWidgets"] [submodule "wxWidgets"]
path = wxWidgets path = wxWidgets
url = https://github.com/DHrpcs3/wxWidgets.git url = https://github.com/DHrpcs3/wxWidgets.git
ignore = dirty

View File

@ -69,7 +69,7 @@ private:
{ {
SysCalls::DoSyscall(CPU.GPR[11]); SysCalls::DoSyscall(CPU.GPR[11]);
if(enable_log) if(Ini.HLELogging.GetValue())
{ {
ConLog.Warning("SysCall[%lld] done with code [0x%llx]! #pc: 0x%llx", CPU.GPR[11], CPU.GPR[3], CPU.PC); ConLog.Warning("SysCall[%lld] done with code [0x%llx]! #pc: 0x%llx", CPU.GPR[11], CPU.GPR[3], CPU.PC);
if(CPU.GPR[11] > 1024) if(CPU.GPR[11] > 1024)

View File

@ -514,7 +514,7 @@ public:
case MFC_PUT_CMD: case MFC_PUT_CMD:
case MFC_GET_CMD: case MFC_GET_CMD:
{ {
if (enable_log) ConLog.Write("DMA %s%s%s: lsa = 0x%x, ea = 0x%llx, tag = 0x%x, size = 0x%x, cmd = 0x%x", if (Ini.HLELogging.GetValue()) ConLog.Write("DMA %s%s%s: lsa = 0x%x, ea = 0x%llx, tag = 0x%x, size = 0x%x, cmd = 0x%x",
wxString(op & MFC_PUT_CMD ? "PUT" : "GET").wx_str(), wxString(op & MFC_PUT_CMD ? "PUT" : "GET").wx_str(),
wxString(op & MFC_BARRIER_MASK ? "B" : "").wx_str(), wxString(op & MFC_BARRIER_MASK ? "B" : "").wx_str(),
wxString(op & MFC_FENCE_MASK ? "F" : "").wx_str(), wxString(op & MFC_FENCE_MASK ? "F" : "").wx_str(),
@ -541,7 +541,7 @@ public:
case MFC_PUTLLUC_CMD: case MFC_PUTLLUC_CMD:
case MFC_PUTQLLUC_CMD: case MFC_PUTQLLUC_CMD:
{ {
if (enable_log) ConLog.Write("DMA %s: lsa=0x%x, ea = 0x%llx, (tag) = 0x%x, (size) = 0x%x, cmd = 0x%x", if (Ini.HLELogging.GetValue()) ConLog.Write("DMA %s: lsa=0x%x, ea = 0x%llx, (tag) = 0x%x, (size) = 0x%x, cmd = 0x%x",
wxString(op == MFC_GETLLAR_CMD ? "GETLLAR" : wxString(op == MFC_GETLLAR_CMD ? "GETLLAR" :
op == MFC_PUTLLC_CMD ? "PUTLLC" : op == MFC_PUTLLC_CMD ? "PUTLLC" :
op == MFC_PUTLLUC_CMD ? "PUTLLUC" : "PUTQLLUC").wx_str(), op == MFC_PUTLLUC_CMD ? "PUTLLUC" : "PUTQLLUC").wx_str(),

View File

@ -408,7 +408,7 @@ void Module::SetName(const std::string& name)
void Module::Log(const u32 id, wxString fmt, ...) void Module::Log(const u32 id, wxString fmt, ...)
{ {
if(enable_log) if(Ini.HLELogging.GetValue())
{ {
va_list list; va_list list;
va_start(list, fmt); va_start(list, fmt);
@ -419,7 +419,7 @@ void Module::Log(const u32 id, wxString fmt, ...)
void Module::Log(wxString fmt, ...) void Module::Log(wxString fmt, ...)
{ {
if(enable_log) if(Ini.HLELogging.GetValue())
{ {
va_list list; va_list list;
va_start(list, fmt); va_start(list, fmt);

View File

@ -118,12 +118,12 @@ int cellGameBootCheck(mem32_t type, mem32_t attributes, mem_ptr_t<CellGameConten
if (!type.IsGood() || !attributes.IsGood() || !size.IsGood() || !dirName.IsGood()) if (!type.IsGood() || !attributes.IsGood() || !size.IsGood() || !dirName.IsGood())
return CELL_GAME_ERROR_PARAM; return CELL_GAME_ERROR_PARAM;
wxString dir ("/dev_hdd0/game/" + Emu.m_title_id + "/USRDIR"); wxString dir = wxEmptyString;
type = CELL_GAME_GAMETYPE_DISC; type = CELL_GAME_GAMETYPE_DISC;
attributes = 0; attributes = 0;
size->hddFreeSizeKB = 40000000; //40 GB, TODO: Use the free space of the computer's HDD where RPCS3 is being run. size->hddFreeSizeKB = 40000000; //40 GB, TODO: Use the free space of the computer's HDD where RPCS3 is being run.
size->sizeKB = CELL_GAME_SIZEKB_NOTCALC; size->sizeKB = 0;
size->sysSizeKB = 0; size->sysSizeKB = 0;
Memory.WriteString(dirName.GetAddr(), dir); Memory.WriteString(dirName.GetAddr(), dir);
@ -150,6 +150,8 @@ int cellGameContentPermit(mem_list_ptr_t<u8> contentInfoPath, mem_list_ptr_t<u8
if (!contentInfoPath.IsGood() || !usrdirPath.IsGood()) if (!contentInfoPath.IsGood() || !usrdirPath.IsGood())
return CELL_GAME_ERROR_PARAM; return CELL_GAME_ERROR_PARAM;
Memory.WriteString(contentInfoPath.GetAddr(), "/dev_bdvd/PS3_GAME");
Memory.WriteString(usrdirPath.GetAddr(), "/dev_bdvd/PS3_GAME/USRDIR");
return CELL_OK; return CELL_OK;
} }

View File

@ -297,8 +297,6 @@ static func_caller* sc_table[1024] =
null_func, null_func, null_func, bind_func(cellGcmCallback), //1024 null_func, null_func, null_func, bind_func(cellGcmCallback), //1024
}; };
bool enable_log = false;
void default_syscall() void default_syscall()
{ {
declCPU(); declCPU();
@ -332,8 +330,8 @@ void default_syscall()
return; return;
case 1000: case 1000:
enable_log = !enable_log; Ini.HLELogging.SetValue(!Ini.HLELogging.GetValue());
ConLog.Warning("Log %s", wxString(enable_log ? "enabled" : "disabled").wx_str()); ConLog.Warning("Log %s", wxString(Ini.HLELogging.GetValue() ? "enabled" : "disabled").wx_str());
return; return;
} }

View File

@ -14,8 +14,6 @@
#define declCPU PPUThread& CPU = GetCurrentPPUThread #define declCPU PPUThread& CPU = GetCurrentPPUThread
extern bool enable_log;
class SysCallBase //Module class SysCallBase //Module
{ {
private: private:
@ -33,7 +31,7 @@ public:
void Log(const u32 id, wxString fmt, ...) void Log(const u32 id, wxString fmt, ...)
{ {
if(enable_log) if(Ini.HLELogging.GetValue())
{ {
va_list list; va_list list;
va_start(list, fmt); va_start(list, fmt);
@ -44,7 +42,7 @@ public:
void Log(wxString fmt, ...) void Log(wxString fmt, ...)
{ {
if(enable_log) if(Ini.HLELogging.GetValue())
{ {
va_list list; va_list list;
va_start(list, fmt); va_start(list, fmt);

View File

@ -375,7 +375,7 @@ int sys_spu_initialize(u32 max_usable_spu, u32 max_raw_spu)
// return CELL_ENOMEM; // return CELL_ENOMEM;
//} //}
//enable_log = true; //Ini.HLELogging.SetValue(true);
//dump_enable = true; //dump_enable = true;
return CELL_OK; return CELL_OK;

View File

@ -45,15 +45,14 @@ InterpreterDisAsmFrame::InterpreterDisAsmFrame(wxWindow* parent)
s_b_main.Add(m_btn_pause, wxSizerFlags().Border(wxALL, 5)); s_b_main.Add(m_btn_pause, wxSizerFlags().Border(wxALL, 5));
s_b_main.Add(m_choice_units, wxSizerFlags().Border(wxALL, 5)); s_b_main.Add(m_choice_units, wxSizerFlags().Border(wxALL, 5));
//Registers
m_regs = new wxTextCtrl(this, wxID_ANY, wxEmptyString, m_regs = new wxTextCtrl(this, wxID_ANY, wxEmptyString,
wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_DONTWRAP|wxNO_BORDER|wxTE_RICH2); wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_DONTWRAP|wxNO_BORDER|wxTE_RICH2);
m_regs->SetMinSize(wxSize(495, 100));
m_regs->SetEditable(false); m_regs->SetEditable(false);
//Call Stack //Call Stack
m_calls = new wxTextCtrl(this, wxID_ANY, wxEmptyString, m_calls = new wxTextCtrl(this, wxID_ANY, wxEmptyString,
wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_DONTWRAP|wxNO_BORDER|wxTE_RICH2); wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_DONTWRAP|wxNO_BORDER|wxTE_RICH2);
m_calls->SetMinSize(wxSize(495, 100));
m_calls->SetEditable(false); m_calls->SetEditable(false);
m_list ->SetFont(wxFont(8, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL)); m_list ->SetFont(wxFont(8, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL));

View File

@ -356,13 +356,15 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
wxStaticBoxSizer* s_round_gs_aspect( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Default aspect ratio") ) ); wxStaticBoxSizer* s_round_gs_aspect( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Default aspect ratio") ) );
wxStaticBoxSizer* s_round_io( new wxStaticBoxSizer( wxVERTICAL, &diag, _("IO") ) ); wxStaticBoxSizer* s_round_io( new wxStaticBoxSizer( wxVERTICAL, &diag, _("IO") ) );
wxStaticBoxSizer* s_round_pad_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Pad Handler") ) ); wxStaticBoxSizer* s_round_io_pad_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Pad Handler") ) );
wxStaticBoxSizer* s_round_keyboard_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Keyboard Handler") ) ); wxStaticBoxSizer* s_round_io_keyboard_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Keyboard Handler") ) );
wxStaticBoxSizer* s_round_mouse_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Mouse Handler") ) ); wxStaticBoxSizer* s_round_io_mouse_handler( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Mouse Handler") ) );
wxStaticBoxSizer* s_round_audio( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Audio") ) ); wxStaticBoxSizer* s_round_audio( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Audio") ) );
wxStaticBoxSizer* s_round_audio_out( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Audio Out") ) ); wxStaticBoxSizer* s_round_audio_out( new wxStaticBoxSizer( wxVERTICAL, &diag, _("Audio Out") ) );
wxStaticBoxSizer* s_round_hle( new wxStaticBoxSizer( wxVERTICAL, &diag, _("HLE") ) );
wxComboBox* cbox_cpu_decoder = new wxComboBox(&diag, wxID_ANY); wxComboBox* cbox_cpu_decoder = new wxComboBox(&diag, wxID_ANY);
wxComboBox* cbox_gs_render = new wxComboBox(&diag, wxID_ANY); wxComboBox* cbox_gs_render = new wxComboBox(&diag, wxID_ANY);
wxComboBox* cbox_gs_resolution = new wxComboBox(&diag, wxID_ANY); wxComboBox* cbox_gs_resolution = new wxComboBox(&diag, wxID_ANY);
@ -376,6 +378,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
wxCheckBox* chbox_gs_dump_depth = new wxCheckBox(&diag, wxID_ANY, "Dump Depth Buffer"); wxCheckBox* chbox_gs_dump_depth = new wxCheckBox(&diag, wxID_ANY, "Dump Depth Buffer");
wxCheckBox* chbox_gs_dump_color = new wxCheckBox(&diag, wxID_ANY, "Dump Color Buffers"); wxCheckBox* chbox_gs_dump_color = new wxCheckBox(&diag, wxID_ANY, "Dump Color Buffers");
wxCheckBox* chbox_gs_vsync = new wxCheckBox(&diag, wxID_ANY, "VSync"); wxCheckBox* chbox_gs_vsync = new wxCheckBox(&diag, wxID_ANY, "VSync");
wxCheckBox* chbox_hle_logging = new wxCheckBox(&diag, wxID_ANY, "Log all SysCalls");
//cbox_cpu_decoder->Append("DisAsm"); //cbox_cpu_decoder->Append("DisAsm");
cbox_cpu_decoder->Append("Interpreter & DisAsm"); cbox_cpu_decoder->Append("Interpreter & DisAsm");
@ -411,6 +414,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
chbox_gs_dump_depth->SetValue(Ini.GSDumpDepthBuffer.GetValue()); chbox_gs_dump_depth->SetValue(Ini.GSDumpDepthBuffer.GetValue());
chbox_gs_dump_color->SetValue(Ini.GSDumpColorBuffers.GetValue()); chbox_gs_dump_color->SetValue(Ini.GSDumpColorBuffers.GetValue());
chbox_gs_vsync->SetValue(Ini.GSVSyncEnable.GetValue()); chbox_gs_vsync->SetValue(Ini.GSVSyncEnable.GetValue());
chbox_hle_logging->SetValue(Ini.HLELogging.GetValue());
cbox_cpu_decoder->SetSelection(Ini.CPUDecoderMode.GetValue() ? Ini.CPUDecoderMode.GetValue() - 1 : 0); cbox_cpu_decoder->SetSelection(Ini.CPUDecoderMode.GetValue() ? Ini.CPUDecoderMode.GetValue() - 1 : 0);
cbox_gs_render->SetSelection(Ini.GSRenderMode.GetValue()); cbox_gs_render->SetSelection(Ini.GSRenderMode.GetValue());
@ -435,16 +439,18 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
s_round_gs->Add(chbox_gs_dump_color, wxSizerFlags().Border(wxALL, 5)); s_round_gs->Add(chbox_gs_dump_color, wxSizerFlags().Border(wxALL, 5));
s_round_gs->Add(chbox_gs_vsync, wxSizerFlags().Border(wxALL, 5)); s_round_gs->Add(chbox_gs_vsync, wxSizerFlags().Border(wxALL, 5));
s_round_pad_handler->Add(cbox_pad_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io_pad_handler->Add(cbox_pad_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_keyboard_handler->Add(cbox_keyboard_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io_keyboard_handler->Add(cbox_keyboard_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_mouse_handler->Add(cbox_mouse_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io_mouse_handler->Add(cbox_mouse_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_io->Add(s_round_pad_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io->Add(s_round_io_pad_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_io->Add(s_round_keyboard_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io->Add(s_round_io_keyboard_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_io->Add(s_round_mouse_handler, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_io->Add(s_round_io_mouse_handler, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_audio_out->Add(cbox_audio_out, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_audio_out->Add(cbox_audio_out, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_audio->Add(s_round_audio_out, wxSizerFlags().Border(wxALL, 5).Expand()); s_round_audio->Add(s_round_audio_out, wxSizerFlags().Border(wxALL, 5).Expand());
s_round_hle->Add(chbox_hle_logging, wxSizerFlags().Border(wxALL, 5).Expand());
wxBoxSizer* s_b_panel(new wxBoxSizer(wxHORIZONTAL)); wxBoxSizer* s_b_panel(new wxBoxSizer(wxHORIZONTAL));
s_b_panel->Add(new wxButton(&diag, wxID_OK), wxSizerFlags().Border(wxALL, 5).Center()); s_b_panel->Add(new wxButton(&diag, wxID_OK), wxSizerFlags().Border(wxALL, 5).Center());
@ -454,11 +460,11 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
s_subpanel1->Add(s_round_cpu, wxSizerFlags().Border(wxALL, 5).Expand()); s_subpanel1->Add(s_round_cpu, wxSizerFlags().Border(wxALL, 5).Expand());
s_subpanel1->Add(s_round_gs, wxSizerFlags().Border(wxALL, 5).Expand()); s_subpanel1->Add(s_round_gs, wxSizerFlags().Border(wxALL, 5).Expand());
s_subpanel1->Add(s_b_panel, wxSizerFlags().Border(wxALL, 8).Expand());
s_subpanel2->Add(s_round_io, wxSizerFlags().Border(wxALL, 5).Expand()); s_subpanel2->Add(s_round_io, wxSizerFlags().Border(wxALL, 5).Expand());
s_subpanel2->Add(s_round_audio, wxSizerFlags().Border(wxALL, 5).Expand()); s_subpanel2->Add(s_round_audio, wxSizerFlags().Border(wxALL, 5).Expand());
s_subpanel1->Add(s_b_panel, wxSizerFlags().Border(wxALL, 8).Expand()); s_subpanel2->Add(s_round_hle, wxSizerFlags().Border(wxALL, 5).Expand());
s_subpanel2->AddSpacer(180);
s_panel->Add(s_subpanel1, wxSizerFlags().Border(wxALL, 5).Expand()); s_panel->Add(s_subpanel1, wxSizerFlags().Border(wxALL, 5).Expand());
s_panel->Add(s_subpanel2, wxSizerFlags().Border(wxALL, 5).Expand()); s_panel->Add(s_subpanel2, wxSizerFlags().Border(wxALL, 5).Expand());
@ -478,6 +484,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
Ini.KeyboardHandlerMode.SetValue(cbox_keyboard_handler->GetSelection()); Ini.KeyboardHandlerMode.SetValue(cbox_keyboard_handler->GetSelection());
Ini.MouseHandlerMode.SetValue(cbox_mouse_handler->GetSelection()); Ini.MouseHandlerMode.SetValue(cbox_mouse_handler->GetSelection());
Ini.AudioOutMode.SetValue(cbox_audio_out->GetSelection()); Ini.AudioOutMode.SetValue(cbox_audio_out->GetSelection());
Ini.HLELogging.SetValue(chbox_hle_logging->GetValue());
Ini.Save(); Ini.Save();
} }

View File

@ -104,6 +104,7 @@ public:
IniEntry<u8> KeyboardHandlerMode; IniEntry<u8> KeyboardHandlerMode;
IniEntry<u8> MouseHandlerMode; IniEntry<u8> MouseHandlerMode;
IniEntry<u8> AudioOutMode; IniEntry<u8> AudioOutMode;
IniEntry<bool> HLELogging;
IniEntry<int> PadHandlerLeft; IniEntry<int> PadHandlerLeft;
IniEntry<int> PadHandlerDown; IniEntry<int> PadHandlerDown;
@ -164,6 +165,9 @@ public:
path = DefPath + "\\" + "Audio"; path = DefPath + "\\" + "Audio";
AudioOutMode.Init("AudioOutMode", path); AudioOutMode.Init("AudioOutMode", path);
path = DefPath + "\\" + "HLE";
HLELogging.Init("HLELogging", path);
} }
void Load() void Load()
@ -180,6 +184,7 @@ public:
KeyboardHandlerMode.Load(0); KeyboardHandlerMode.Load(0);
MouseHandlerMode.Load(0); MouseHandlerMode.Load(0);
AudioOutMode.Load(0); AudioOutMode.Load(0);
HLELogging.Load(false);
PadHandlerLeft.Load(static_cast<int>('A')); PadHandlerLeft.Load(static_cast<int>('A'));
PadHandlerDown.Load(static_cast<int>('S')); PadHandlerDown.Load(static_cast<int>('S'));
@ -213,6 +218,7 @@ public:
KeyboardHandlerMode.Save(); KeyboardHandlerMode.Save();
MouseHandlerMode.Save(); MouseHandlerMode.Save();
AudioOutMode.Save(); AudioOutMode.Save();
HLELogging.Save();
PadHandlerLeft.Save(); PadHandlerLeft.Save();
PadHandlerDown.Save(); PadHandlerDown.Save();