1 /* Copyright 2012-2013 Theo Berkau <cwx@cyberwarriorx.com> 2 3 This file is part of Yabause. 4 5 Yabause is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 Yabause is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with Yabause; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 #ifndef UIDEBUGSH2_H 20 #define UIDEBUGSH2_H 21 22 #include "UIDebugCPU.h" 23 #include "../QtYabause.h" 24 25 class UIDebugSH2 : public UIDebugCPU 26 { 27 Q_OBJECT 28 private: 29 SH2_struct *debugSH2; 30 public: 31 UIDebugSH2( UIDebugCPU::PROCTYPE proc, YabauseThread *mYabauseThread, QWidget* parent = 0 ); 32 void updateRegList(); 33 void updateCodeList(u32 addr); 34 void updateBackTrace(); 35 void updateTrackInfLoop(); 36 void updateAll(); 37 u32 getRegister(int index, int *size); 38 void setRegister(int index, u32 value); 39 bool addCodeBreakpoint(u32 addr); 40 bool delCodeBreakpoint(u32 addr); 41 bool addMemoryBreakpoint(u32 addr, u32 flags); 42 bool delMemoryBreakpoint(u32 addr); 43 void stepInto(); 44 void stepOver(); 45 void stepOut(); 46 void reserved1(); 47 void reserved2(); 48 void reserved3(); 49 protected: 50 51 protected slots: 52 }; 53 54 #endif // UIDEBUGSH2_H 55