#include "SDL.h"
#include "app.h"
-#include "glwidget.h"
#include "about.h"
-#include "help.h"
-#include "settings.h"
-#include "filepicker.h"
#include "configdialog.h"
+#include "filepicker.h"
+#include "gamepad.h"
#include "generaltab.h"
+#include "glwidget.h"
+#include "help.h"
+#include "settings.h"
#include "version.h"
-#include "debug/memorybrowser.h"
#include "debug/cpubrowser.h"
+#include "debug/m68kdasmbrowser.h"
+#include "debug/memorybrowser.h"
+#include "debug/opbrowser.h"
#include "dac.h"
#include "jaguar.h"
filePickWin = new FilePickerWindow(this);
memBrowseWin = new MemoryBrowserWindow(this);
cpuBrowseWin = new CPUBrowserWindow(this);
+ opBrowseWin = new OPBrowserWindow(this);
+ m68kDasmBrowseWin = new M68KDasmBrowserWindow(this);
videoWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
// memBrowseAct->setCheckable(true);
connect(cpuBrowseAct, SIGNAL(triggered()), this, SLOT(ShowCPUBrowserWin()));
+ opBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("OP Browser"), this);
+ opBrowseAct->setStatusTip(tr("Shows the Jaguar OP browser window"));
+// memBrowseAct->setCheckable(true);
+ connect(opBrowseAct, SIGNAL(triggered()), this, SLOT(ShowOPBrowserWin()));
+
+ m68kDasmBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("68K Listing Browser"), this);
+ m68kDasmBrowseAct->setStatusTip(tr("Shows the 68K disassembly browser window"));
+// memBrowseAct->setCheckable(true);
+ connect(m68kDasmBrowseAct, SIGNAL(triggered()), this, SLOT(ShowM68KDasmBrowserWin()));
+
// Misc. connections...
connect(filePickWin, SIGNAL(RequestLoad(QString)), this, SLOT(LoadSoftware(QString)));
connect(filePickWin, SIGNAL(FilePickerHiding()), this, SLOT(Unpause()));
debugMenu = menuBar()->addMenu(tr("&Debug"));
debugMenu->addAction(memBrowseAct);
debugMenu->addAction(cpuBrowseAct);
+ debugMenu->addAction(opBrowseAct);
+ debugMenu->addAction(m68kDasmBrowseAct);
}
helpMenu = menuBar()->addMenu(tr("&Help"));
debugbar = addToolBar(tr("&Debug"));
debugbar->addAction(memBrowseAct);
debugbar->addAction(cpuBrowseAct);
+ debugbar->addAction(opBrowseAct);
+ debugbar->addAction(m68kDasmBrowseAct);
}
// Create status bar
}
+void MainWin::HandleGamepads(void)
+{
+ Gamepad::Update();
+
+ for(int i=BUTTON_FIRST; i<=BUTTON_LAST; i++)
+ {
+ if (vjs.p1KeyBindings[i] & (JOY_BUTTON | JOY_HAT))
+ joypad_0_buttons[i] = (Gamepad::GetState(0, vjs.p1KeyBindings[i]) ? 0x01 : 0x00);
+
+ if (vjs.p2KeyBindings[i] & (JOY_BUTTON | JOY_HAT))
+ joypad_1_buttons[i] = (Gamepad::GetState(1, vjs.p2KeyBindings[i]) ? 0x01 : 0x00);
+ }
+}
+
+
void MainWin::Open(void)
{
}
else
{
// Otherwise, run the Jaguar simulation
+ HandleGamepads();
JaguarExecuteNew();
}
}
+void MainWin::ShowOPBrowserWin(void)
+{
+ opBrowseWin->show();
+ opBrowseWin->RefreshContents();
+}
+
+
+void MainWin::ShowM68KDasmBrowserWin(void)
+{
+ m68kDasmBrowseWin->show();
+ m68kDasmBrowseWin->RefreshContents();
+}
+
+
void MainWin::ResizeMainWindow(void)
{
// videoWidget->setFixedSize(zoomLevel * 320, zoomLevel * (vjs.hardwareTypeNTSC ? 240 : 256));