/**************************************************************************** * * * Project64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ #pragma once class CDumpMemory; class CDebugMemoryView; class CDebugMemorySearch; class CDebugTlb; class CDebugCommandsView; class CDebugScripts; class CDebugSymbols; class CDebugDMALogView; class CDebugStackView; class CDebugStackTrace; class CDMALog; class CBreakpoints; class CScriptSystem; __interface CDebugger { virtual void TLBChanged ( void ) = 0; virtual bool CPUStepStarted ( void ) = 0; virtual void CPUStep ( void ) = 0; virtual void FrameDrawn ( void ) = 0; }; class CDebuggerUI : public CDebugger { CDumpMemory * m_MemoryDump; CDebugMemoryView * m_MemoryView; CDebugMemorySearch * m_MemorySearch; CDebugTlb * m_DebugTLB; CDebugCommandsView * m_CommandsView; CDebugScripts * m_Scripts; CDebugSymbols * m_Symbols; CDebugDMALogView * m_DMALogView; CDebugStackTrace * m_StackTraceView; CDebugStackView * m_StackView; CBreakpoints * m_Breakpoints; CScriptSystem * m_ScriptSystem; CDMALog * m_DMALog; vector * m_StackTrace; void BreakpointHit(void); protected: CDebuggerUI(); virtual ~CDebuggerUI(); void TLBChanged ( void ); bool CPUStepStarted ( void ); void CPUStep ( void ); void FrameDrawn ( void ); public: void Debug_Reset ( void ); void Debug_ShowMemoryDump ( void ); void Debug_ShowMemoryWindow ( void ); void Debug_ShowMemoryLocation ( uint32_t Address, bool VAddr ); void Debug_ShowMemorySearch ( void ); void Debug_ShowTLBWindow ( void ); void Debug_RefreshTLBWindow ( void ); void Debug_ShowCommandsWindow ( void ); void Debug_ShowCommandsLocation ( uint32_t address, bool top ); void Debug_ShowScriptsWindow ( void ); void Debug_LogScriptsWindow ( const char* text ); void Debug_ClearScriptsWindow ( void ); void Debug_RefreshScriptsWindow ( void ); void Debug_RefreshSymbolsWindow ( void ); void Debug_ShowSymbolsWindow ( void ); void Debug_ShowStackTrace ( void ); void Debug_ShowStackWindow ( void ); void Debug_RefreshStackWindow ( void ); void Debug_ShowDMALogWindow ( void ); CBreakpoints* Breakpoints(); CDebugSymbols* Symbols(); CScriptSystem* ScriptSystem(); CDebugScripts* ScriptConsole(); CDMALog* DMALog(); vector * StackTrace(); static void GameReset ( CDebuggerUI * _this ); };