// by James Hammons\r
// (C) 2010 Underground Software\r
//\r
+// Modified by Jean-Paul Mari\r
+//\r
\r
#ifndef __MAINWIN_H__\r
#define __MAINWIN_H__\r
\r
//Hrm. uh??? I thought this wasn't the way to do this stuff...???\r
-#include <QtWidgets>\r
+#include <QtWidgets/QtWidgets>\r
#include "tom.h"\r
\r
#define RING_BUFFER_SIZE 32\r
\r
-// Forward declarations\r
+// Main windows\r
class GLWidget;\r
-class VideoWindow;\r
+//class VideoWindow;\r
class AboutWindow;\r
class HelpWindow;\r
class FilePickerWindow;\r
+class VideoOutputWindow;\r
+//class DasmWindow;\r
+class EmuStatusWindow;\r
+\r
+// Alpine\r
class MemoryBrowserWindow;\r
class StackBrowserWindow;\r
class CPUBrowserWindow;\r
class OPBrowserWindow;\r
class M68KDasmBrowserWindow;\r
class RISCDasmBrowserWindow;\r
-//class VideoOutputWindow;\r
-class DasmWindow;\r
+class HWRegsBrowserWindow;\r
+\r
+// Debugger\r
+class SourcesWindow;\r
class m68KDasmWindow;\r
class GPUDasmWindow;\r
class DSPDasmWindow;\r
-class EmuStatusWindow;\r
class AllWatchBrowserWindow;\r
class LocalBrowserWindow;\r
+class CallStackBrowserWindow;\r
class HeapAllocatorBrowserWindow;\r
class Memory1BrowserWindow;\r
-class BrkWindow;\r
+class BreakpointsWindow;\r
+class NewFnctBreakpointWindow;\r
class ExceptionVectorTableBrowserWindow;\r
+class FilesrcListWindow;\r
+class CartFilesListWindow;\r
+class SaveDumpAsWindow;\r
+\r
\r
+// \r
class MainWin: public QMainWindow\r
{\r
// All Qt apps require this macro for signal/slot functionality to work\r
MainWin(bool);\r
void LoadFile(QString);\r
void SyncUI(void);\r
- void RefreshDebuggerWindows(void);\r
- void ResetDebuggerWindows(void);\r
- void RefreshAlpineWindows(void);\r
+ void DebuggerRefreshWindows(void);\r
+ void ViewRefreshWindows(void);\r
+ void RefreshWindows(void);\r
+ void CommonRefreshWindows(void);\r
+ void AlpineRefreshWindows(void);\r
+ void DebuggerResetWindows(void);\r
+ void CommonResetWindows(void);\r
+ void CommonReset(void);\r
+ void DebuggerReset(void);\r
\r
protected:\r
void closeEvent(QCloseEvent *);\r
void LoadSoftware(QString);\r
void ToggleCDUsage(void);\r
void FrameAdvance(void);\r
- void TraceStepOver(void);\r
- void TraceStepInto(void);\r
void ToggleFullScreen(void);\r
- void Restart(void);\r
- void NewBreakpointFunction(void);\r
- void ShowMemoryBrowserWin(void);\r
- void ShowStackBrowserWin(void);\r
- void ShowCPUBrowserWin(void);\r
- void ShowOPBrowserWin(void);\r
- void ShowM68KDasmBrowserWin(void);\r
- void ShowRISCDasmBrowserWin(void);\r
- void ShowVideoOutputWin(void);\r
- void ShowDasmWin(void);\r
void ShowEmuStatusWin(void);\r
+ void MakeScreenshot(void);\r
+ // Debugger\r
+ void DebuggerTraceStepOver(void);\r
+ void DebuggerTraceStepInto(void);\r
+ void DebuggerRestart(void);\r
void ShowAllWatchBrowserWin(void);\r
void ShowLocalBrowserWin(void);\r
+ void ShowCallStackBrowserWin(void);\r
void ShowHeapAllocatorBrowserWin(void);\r
void ShowMemory1BrowserWin(int NumWin);\r
void ShowExceptionVectorTableBrowserWin(void);\r
+ void ShowNewFunctionBreakpointWin(void);\r
+ void ShowBreakpointsWin(void);\r
+ void DeleteAllBreakpoints(void);\r
+ void DisableAllBreakpoints(void);\r
+ void ShowSaveDumpAsWin(void);\r
+ void SelectdasmtabWidget(const int);\r
+ void ShowVideoOutputWin(void);\r
+ //void ShowDasmWin(void);\r
+ void ShowCartFilesListWin(void);\r
+ // Alpine\r
+ void ShowMemoryBrowserWin(void);\r
+ void ShowStackBrowserWin(void);\r
+ void ShowCPUBrowserWin(void);\r
+ void ShowOPBrowserWin(void);\r
+ void ShowM68KDasmBrowserWin(void);\r
+ void ShowHWRegsBrowserWin(void);\r
+ void ShowRISCDasmBrowserWin(void);\r
\r
private:\r
void HandleKeys(QKeyEvent *, bool);\r
void WriteSettings(void);\r
void WriteUISettings(void);\r
\r
-// public:\r
- GLWidget * videoWidget;\r
+ private:\r
+ GLWidget *videoWidget;\r
QMdiArea *mainWindowCentrale;\r
QMdiSubWindow *VideoOutputWindowCentrale;\r
- AboutWindow * aboutWin;\r
- HelpWindow * helpWin;\r
- FilePickerWindow * filePickWin;\r
- EmuStatusWindow * emuStatusWin;\r
- MemoryBrowserWindow * memBrowseWin;\r
- StackBrowserWindow * stackBrowseWin;\r
- CPUBrowserWindow * cpuBrowseWin;\r
- OPBrowserWindow * opBrowseWin;\r
- M68KDasmBrowserWindow * m68kDasmBrowseWin;\r
- RISCDasmBrowserWindow * riscDasmBrowseWin;\r
- //VideoOutputWindow * VideoOutputWin;\r
- AllWatchBrowserWindow * allWatchBrowseWin;\r
- LocalBrowserWindow * LocalBrowseWin;\r
+ AboutWindow *aboutWin;\r
+ HelpWindow *helpWin;\r
+ FilePickerWindow *filePickWin;\r
+ EmuStatusWindow *emuStatusWin;\r
+ MemoryBrowserWindow *memBrowseWin;\r
+ StackBrowserWindow *stackBrowseWin;\r
+ CPUBrowserWindow *cpuBrowseWin;\r
+ OPBrowserWindow *opBrowseWin;\r
+ M68KDasmBrowserWindow *m68kDasmBrowseWin;\r
+ RISCDasmBrowserWindow *riscDasmBrowseWin;\r
+ HWRegsBrowserWindow *hwRegsBrowseWin;\r
+ VideoOutputWindow *VideoOutputWin;\r
+ AllWatchBrowserWindow *allWatchBrowseWin;\r
+ LocalBrowserWindow *LocalBrowseWin;\r
+ CallStackBrowserWindow *CallStackBrowseWin;\r
ExceptionVectorTableBrowserWindow *exceptionvectortableBrowseWin;\r
HeapAllocatorBrowserWindow *heapallocatorBrowseWin;\r
- Memory1BrowserWindow ** mem1BrowseWin;\r
- DasmWindow * DasmWin;\r
+ Memory1BrowserWindow **mem1BrowseWin;\r
+ //DasmWindow * DasmWin;\r
QTabWidget *dasmtabWidget;\r
//QDockWidget *dasmtabWidget;\r
+ SourcesWindow *SourcesWin;\r
m68KDasmWindow *m68kDasmWin;\r
GPUDasmWindow *GPUDasmWin;\r
DSPDasmWindow *DSPDasmWin;\r
- BrkWindow *brkWin;\r
- QTimer * timer;\r
+ FilesrcListWindow *FilesrcListWin;\r
+ BreakpointsWindow *BreakpointsWin;\r
+ NewFnctBreakpointWindow *NewFunctionBreakpointWin;\r
+ CartFilesListWindow *CartFilesListWin;\r
+ SaveDumpAsWindow *SaveDumpAsWin;\r
+ QTimer *timer;\r
bool running;\r
int zoomLevel;\r
bool powerButtonOn;\r
bool showUntunedTankCircuit;\r
+\r
public:\r
bool cartridgeLoaded;\r
+\r
private:\r
bool allowUnknownSoftware;\r
bool CDActive;\r
bool keyHeld[8];\r
bool fullScreen;\r
bool scannedSoftwareFolder;\r
+\r
public:\r
bool plzDontKillMyComputer;\r
uint32_t oldTimestamp;\r
uint32_t ringBufferPointer;\r
uint32_t ringBuffer[RING_BUFFER_SIZE];\r
+\r
private:\r
QPoint mainWinPosition;\r
// QSize mainWinSize;\r
int lastEditedProfile;\r
- QMenu * fileMenu;\r
- QMenu * helpMenu;\r
- QMenu * debugMenu, * debugWindowsMenu, *debugWindowsBrowsesMenu, *debugWindowsWatchMenu, *debugWindowOutputMenu, *debugWindowExceptionMenu, *debugWindowsMemoryMenu, *debugNewBreakpointMenu;\r
+ QMenu *fileMenu;\r
+ QMenu *helpMenu;\r
+ QMenu *debugMenu, *debugWindowsMenu, *debugWindowsBrowsesMenu, *debugWindowsWatchMenu, *debugWindowOutputMenu, *debugWindowExceptionMenu, *debugWindowsMemoryMenu, *debugNewBreakpointMenu;\r
+ QMenu *viewMenu, *viewCartMenu;\r
QToolBar * toolbar;\r
QToolBar * debugbar;\r
QToolBar * debuggerbar;\r
QActionGroup * zoomActs;\r
QActionGroup * tvTypeActs;\r
\r
- QAction * quitAppAct;\r
- QAction * powerAct;\r
- QAction * pauseAct;\r
- QAction * x1Act;\r
- QAction * x2Act;\r
- QAction * x3Act;\r
- QAction * ntscAct;\r
- QAction * palAct;\r
- QAction * blurAct;\r
- QAction * aboutAct;\r
- QAction * helpAct;\r
- QAction * filePickAct;\r
- QAction * configAct;\r
- QAction * emustatusAct;\r
- QAction * useCDAct;\r
- QAction * frameAdvanceAct;\r
- QAction *traceStepOverAct;\r
- QAction *traceStepIntoAct;\r
- QAction *restartAct;\r
- QAction * fullScreenAct;\r
+ QAction *quitAppAct;\r
+ QAction *powerAct;\r
+ QAction *pauseAct;\r
+ QAction *x1Act;\r
+ QAction *x2Act;\r
+ QAction *x3Act;\r
+ QAction *ntscAct;\r
+ QAction *palAct;\r
+ QAction *blurAct;\r
+ QAction *aboutAct;\r
+ QAction *helpAct;\r
+ QAction *filePickAct;\r
+ QAction *configAct;\r
+ QAction *emustatusAct;\r
+ QAction *useCDAct;\r
+ QAction *frameAdvanceAct;\r
+ QAction *fullScreenAct;\r
+ //QAction *DasmAct;\r
+ QAction *screenshotAct;\r
\r
+ // Alpine\r
QAction *memBrowseAct;\r
QAction *stackBrowseAct;\r
QAction *cpuBrowseAct;\r
QAction *opBrowseAct;\r
QAction *m68kDasmBrowseAct;\r
+ QAction *hwRegsBrowseAct;\r
QAction *riscDasmBrowseAct;\r
+\r
+ // Debugger\r
+ QAction *traceStepOverAct;\r
+ QAction *traceStepIntoAct;\r
+ QAction *restartAct;\r
QAction *VideoOutputAct;\r
- QAction *DasmAct;\r
QAction *heapallocatorBrowseAct;\r
QAction *allWatchBrowseAct;\r
QAction *LocalBrowseAct;\r
+ QAction *CallStackBrowseAct;\r
QAction **mem1BrowseAct;\r
- QAction *newBreakpointFunctionAct;\r
+ QAction *newFunctionBreakpointAct;\r
+ QAction *BreakpointsAct;\r
+ QAction *deleteAllBreakpointsAct;\r
+ QAction *disableAllBreakpointsAct;\r
+ QAction *saveDumpAsAct;\r
QAction *exceptionVectorTableBrowseAct;\r
+ QAction *CartFilesListAct;\r
\r
QIcon powerGreen;\r
QIcon powerRed;\r