CodeWindow: Made boot to pause optional, readded the tooltips in the Release build

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1784 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
John Peterson 2009-01-05 02:52:55 +00:00
parent 6359f53343
commit 6c57f63280
9 changed files with 343 additions and 592 deletions

View File

@ -35,7 +35,7 @@ struct SCoreStartupParameter
void* hMainWindow; void* hMainWindow;
// flags // flags
bool bEnableDebugging; bool bAutomaticStart; bool bEnableDebugging; bool bAutomaticStart; bool bBootToPause;
bool bUseJIT; bool bUseJIT;
bool bJITUnlimitedCache, bJITOff; // JIT bool bJITUnlimitedCache, bJITOff; // JIT

View File

@ -27,9 +27,21 @@
// * A flush simply does a conditional write to the appropriate CRx. // * A flush simply does a conditional write to the appropriate CRx.
// * If flag available, branch code can become absolutely trivial. // * If flag available, branch code can become absolutely trivial.
//////////////////////////////////////////////////////////////////////////////////////////
// Settings
// ¯¯¯¯¯¯¯¯¯¯
#define JIT_OFF_OPTIONS // Compile with JIT off options
////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
// Include
// ¯¯¯¯¯¯¯¯¯¯
#ifdef JITTEST #ifdef JITTEST
#include "../Jit64IL/Jit.h" #include "../Jit64IL/Jit.h"
#else #else
#ifndef _JIT_H #ifndef _JIT_H
#define _JIT_H #define _JIT_H
@ -40,29 +52,40 @@
#include "x64Analyzer.h" #include "x64Analyzer.h"
#ifdef _WIN32 #ifdef _WIN32
#include <windows.h>
#endif
///////////////////////////////////
#include <windows.h>
#else //////////////////////////////////////////////////////////////////////////////////////////
// Declarations and definitions
// ¯¯¯¯¯¯¯¯¯¯
// A bit of a hack to get things building under linux. We manually fill in this structure as needed void Jit(u32 em_address);
// from the real context.
struct CONTEXT #ifndef _WIN32
{
#ifdef _M_X64 // A bit of a hack to get things building under linux. We manually fill in this structure as needed
u64 Rip; // from the real context.
u64 Rax; struct CONTEXT
#else {
u32 Eip; #ifdef _M_X64
u32 Eax; u64 Rip;
#endif u64 Rax;
}; #else
u32 Eip;
u32 Eax;
#endif
};
#endif #endif
// Use these to control the instruction selection
// #define INSTRUCTION_START Default(inst); return; // #define INSTRUCTION_START Default(inst); return;
// #define INSTRUCTION_START PPCTables::CountInstruction(inst); // #define INSTRUCTION_START PPCTables::CountInstruction(inst);
#define INSTRUCTION_START #define INSTRUCTION_START
///////////////////////////////////
class TrampolineCache : public Gen::XCodeBlock class TrampolineCache : public Gen::XCodeBlock
{ {
@ -292,7 +315,5 @@ public:
extern Jit64 jit; extern Jit64 jit;
void Jit(u32 em_address); #endif // _JIT_H
#endif // JITTEST
#endif
#endif

View File

@ -545,6 +545,10 @@
RelativePath=".\src\CodeWindow.h" RelativePath=".\src\CodeWindow.h"
> >
</File> </File>
<File
RelativePath=".\Src\CodeWindowSJP.cpp"
>
</File>
<File <File
RelativePath=".\src\Debugger.cpp" RelativePath=".\src\Debugger.cpp"
> >

File diff suppressed because it is too large Load Diff

View File

@ -59,7 +59,8 @@ class CCodeWindow
bool UseInterpreter(); bool UseInterpreter();
bool AutomaticStart(); bool BootToPause();
bool AutomaticStart();
//bool UseDualCore(); // not used //bool UseDualCore(); // not used
void JumpToAddress(u32 _Address); void JumpToAddress(u32 _Address);
@ -72,7 +73,7 @@ class CCodeWindow
// CPU Mode // CPU Mode
IDM_INTERPRETER = 2000, // These cannot interfere with enums in Globals.h! IDM_INTERPRETER = 2000, // These cannot interfere with enums in Globals.h!
//IDM_DUALCORE, // not used //IDM_DUALCORE, // not used
IDM_AUTOMATICSTART, IDM_AUTOMATICSTART, IDM_BOOTTOPAUSE,
IDM_JITUNLIMITED, IDM_JITOFF, // jit IDM_JITUNLIMITED, IDM_JITOFF, // jit
IDM_JITLSOFF, IDM_JITLSLXZOFF, IDM_JITLSLWZOFF, IDM_JITLSLBZXOFF, IDM_JITLSOFF, IDM_JITLSLXZOFF, IDM_JITLSLWZOFF, IDM_JITLSLBZXOFF,
IDM_JITLSPOFF, IDM_JITLSFOFF, IDM_JITLSPOFF, IDM_JITLSFOFF,
@ -142,7 +143,7 @@ class CCodeWindow
}; };
// Settings // Settings
bool bAutomaticStart; bool bAutomaticStart; bool bBootToPause;
bool bLogWindow; bool bLogWindow;
bool bRegisterWindow; bool bRegisterWindow;
bool bBreakpointWindow; bool bBreakpointWindow;
@ -208,15 +209,18 @@ class CCodeWindow
void OnJITOff(wxCommandEvent& event); void OnJITOff(wxCommandEvent& event);
void CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParameter); void CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParameter);
void CreateSymbolsMenu();
void UpdateButtonStates(); void UpdateButtonStates();
void UpdateLists(); void UpdateLists();
void RecreateToolbar(); void RecreateToolbar();
void PopulateToolbar(wxToolBar* toolBar); void PopulateToolbar(wxToolBar* toolBar);
void InitBitmaps(); void OnStatusBar(wxMenuEvent& event); void OnStatusBar_(wxUpdateUIEvent& event);
void CreateGUIControls(const SCoreStartupParameter& _LocalCoreStartupParameter); void DoTip(wxString text);
void OnKeyDown(wxKeyEvent& event); void OnKeyDown(wxKeyEvent& event);
void InitBitmaps();
void CreateGUIControls(const SCoreStartupParameter& _LocalCoreStartupParameter);
}; };
#endif /*CODEWINDOW_*/ #endif /*CODEWINDOW_*/

View File

@ -11,6 +11,7 @@ files = ["LogWindow.cpp",
"CodeView.cpp", "CodeView.cpp",
"BreakpointWindow.cpp", "BreakpointWindow.cpp",
"CodeWindow.cpp", "CodeWindow.cpp",
"CodeWindowSJP.cpp",
"CodeView.cpp", "CodeView.cpp",
"Debugger.cpp", "Debugger.cpp",
"MemoryCheckDlg.cpp", "MemoryCheckDlg.cpp",

View File

@ -84,6 +84,7 @@ bool BootCore(const std::string& _rFilename)
{ {
// StartUp.bUseDualCore = code_frame->UseDualCore(); // StartUp.bUseDualCore = code_frame->UseDualCore();
StartUp.bUseJIT = !g_pCodeWindow->UseInterpreter(); StartUp.bUseJIT = !g_pCodeWindow->UseInterpreter();
StartUp.bBootToPause = g_pCodeWindow->BootToPause();
StartUp.bAutomaticStart = g_pCodeWindow->AutomaticStart(); StartUp.bAutomaticStart = g_pCodeWindow->AutomaticStart();
} }
else else
@ -202,7 +203,7 @@ bool BootCore(const std::string& _rFilename)
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
// Boot to pause or not // Boot to pause or not
Core::SetState((g_pCodeWindow && !StartUp.bAutomaticStart) Core::SetState((g_pCodeWindow && StartUp.bBootToPause)
? Core::CORE_PAUSE : Core::CORE_RUN); ? Core::CORE_PAUSE : Core::CORE_RUN);
#else #else
Core::SetState(Core::CORE_RUN); Core::SetState(Core::CORE_RUN);

View File

@ -134,9 +134,9 @@ void CFrame::CreateMenu()
wxMenu* pOptionsMenu = new wxMenu; wxMenu* pOptionsMenu = new wxMenu;
m_pPluginOptions = pOptionsMenu->Append(IDM_CONFIG_MAIN, _T("Co&nfigure...")); m_pPluginOptions = pOptionsMenu->Append(IDM_CONFIG_MAIN, _T("Co&nfigure..."));
pOptionsMenu->AppendSeparator(); pOptionsMenu->AppendSeparator();
pOptionsMenu->Append(IDM_CONFIG_GFX_PLUGIN, _T("&GFX settings")); pOptionsMenu->Append(IDM_CONFIG_GFX_PLUGIN, _T("&Graphics settings"));
pOptionsMenu->Append(IDM_CONFIG_DSP_PLUGIN, _T("&DSP settings")); pOptionsMenu->Append(IDM_CONFIG_DSP_PLUGIN, _T("&DSP settings"));
pOptionsMenu->Append(IDM_CONFIG_PAD_PLUGIN, _T("&PAD settings")); pOptionsMenu->Append(IDM_CONFIG_PAD_PLUGIN, _T("&Pad settings"));
pOptionsMenu->Append(IDM_CONFIG_WIIMOTE_PLUGIN, _T("&Wiimote settings")); pOptionsMenu->Append(IDM_CONFIG_WIIMOTE_PLUGIN, _T("&Wiimote settings"));
#ifdef _WIN32 #ifdef _WIN32
pOptionsMenu->AppendSeparator(); pOptionsMenu->AppendSeparator();
@ -193,7 +193,7 @@ void CFrame::PopulateToolbar(wxToolBar* toolBar)
#endif #endif
toolBar->AddSeparator(); toolBar->AddSeparator();
toolBar->AddTool(IDM_CONFIG_MAIN, _T("Config"), m_Bitmaps[Toolbar_PluginOptions], _T("Configure...")); toolBar->AddTool(IDM_CONFIG_MAIN, _T("Config"), m_Bitmaps[Toolbar_PluginOptions], _T("Configure..."));
toolBar->AddTool(IDM_CONFIG_GFX_PLUGIN, _T("Gfx"), m_Bitmaps[Toolbar_PluginGFX], _T("Gfx settings")); toolBar->AddTool(IDM_CONFIG_GFX_PLUGIN, _T("Gfx"), m_Bitmaps[Toolbar_PluginGFX], _T("Graphics settings"));
toolBar->AddTool(IDM_CONFIG_DSP_PLUGIN, _T("DSP"), m_Bitmaps[Toolbar_PluginDSP], _T("DSP settings")); toolBar->AddTool(IDM_CONFIG_DSP_PLUGIN, _T("DSP"), m_Bitmaps[Toolbar_PluginDSP], _T("DSP settings"));
toolBar->AddTool(IDM_CONFIG_PAD_PLUGIN, _T("Pad"), m_Bitmaps[Toolbar_PluginPAD], _T("Pad settings")); toolBar->AddTool(IDM_CONFIG_PAD_PLUGIN, _T("Pad"), m_Bitmaps[Toolbar_PluginPAD], _T("Pad settings"));
toolBar->AddTool(IDM_CONFIG_WIIMOTE_PLUGIN, _T("Wiimote"), m_Bitmaps[Toolbar_Wiimote], _T("Wiimote settings")); toolBar->AddTool(IDM_CONFIG_WIIMOTE_PLUGIN, _T("Wiimote"), m_Bitmaps[Toolbar_Wiimote], _T("Wiimote settings"));

View File

@ -16,7 +16,6 @@
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
// File description // File description
/* ¯¯¯¯¯¯¯¯¯ /* ¯¯¯¯¯¯¯¯¯
@ -26,23 +25,22 @@
////////////////////////*/ ////////////////////////*/
////////////////////////////////////////////////////////////////////////////////////////
// Settings
// ¯¯¯¯¯¯¯¯¯
// Build with music modification. Define MUSICMOD here.
#include "../../../Branches/MusicMod/Main/Src/Setup.h"
//////////////////////////
#ifndef _GLOBALS_H #ifndef _GLOBALS_H
#define _GLOBALS_H #define _GLOBALS_H
#include "Common.h" #include "Common.h"
////////////////////////////////////////////////////////////////////////////////////////
// Build with music modification
// ¯¯¯¯¯¯¯¯¯
#include "../../../Branches/MusicMod/Main/Src/Setup.h" // Define MUSICMOD here
//////////////////////////
enum enum
{ {
IDM_LOADSTATE = 200, // File IDM_LOADSTATE = 200, // File menu
IDM_SAVESTATE, IDM_SAVESTATE,
IDM_SAVESLOT1, IDM_SAVESLOT1,
IDM_SAVESLOT2, IDM_SAVESLOT2,
@ -68,12 +66,12 @@ enum
IDM_STOP, IDM_STOP,
IDM_BROWSE, IDM_BROWSE,
IDM_MEMCARD, // Misc IDM_MEMCARD, // Misc menu
IDM_CHEATS, IDM_CHEATS,
IDM_CHANGEDISC, IDM_CHANGEDISC,
IDM_PROPERTIES, IDM_PROPERTIES,
IDM_HELPABOUT, IDM_HELPABOUT, // Help menu
IDM_HELPWEBSITE, IDM_HELPWEBSITE,
IDM_HELPGOOGLECODE, IDM_HELPGOOGLECODE,