From 3fb36e1be312acec8770ed29868291fd20a14936 Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Thu, 28 May 2020 14:51:44 +0200
Subject: [PATCH] Remplacing the DMA viewer by a registers viewer
---
CMakeLists.txt | 6 +-
.../DMA/DMADebug.cpp => RegisterViewer.cpp} | 14 +-
.../DMA/DMADebug.hpp => RegisterViewer.hpp} | 26 ++--
sources/Renderer/QtRenderer/QtSFML.cpp | 15 +--
sources/Renderer/QtRenderer/QtSFML.hpp | 2 +-
sources/SNES.cpp | 12 +-
sources/SNES.hpp | 14 +-
ui/dmaView.ui | 125 ------------------
ui/registersView.ui | 75 +++++++++++
9 files changed, 119 insertions(+), 170 deletions(-)
rename sources/Debugger/{CPU/DMA/DMADebug.cpp => RegisterViewer.cpp} (56%)
rename sources/Debugger/{CPU/DMA/DMADebug.hpp => RegisterViewer.hpp} (51%)
delete mode 100644 ui/dmaView.ui
create mode 100644 ui/registersView.ui
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2a26978..72fa0bd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -223,9 +223,9 @@ add_executable(ComSquare
sources/PPU/Background.hpp
sources/CPU/DMA/DMA.cpp
sources/CPU/DMA/DMA.hpp
- sources/Debugger/CPU/DMA/DMADebug.cpp
- sources/Debugger/CPU/DMA/DMADebug.hpp
- ui/dmaView.ui
+ ui/registersView.ui
+ sources/Debugger/RegisterViewer.cpp
+ sources/Debugger/RegisterViewer.hpp
)
target_compile_definitions(ComSquare PUBLIC DEBUGGER_ENABLED)
diff --git a/sources/Debugger/CPU/DMA/DMADebug.cpp b/sources/Debugger/RegisterViewer.cpp
similarity index 56%
rename from sources/Debugger/CPU/DMA/DMADebug.cpp
rename to sources/Debugger/RegisterViewer.cpp
index 4222c97..56178a9 100644
--- a/sources/Debugger/CPU/DMA/DMADebug.cpp
+++ b/sources/Debugger/RegisterViewer.cpp
@@ -2,13 +2,13 @@
// Created by anonymus-raccoon on 5/28/20.
//
-#include "DMADebug.hpp"
-#include "../../../SNES.hpp"
+#include "RegisterViewer.hpp"
+#include "../SNES.hpp"
namespace ComSquare::Debugger
{
- DMADebug::DMADebug(SNES &snes)
- : _window(new ClosableWindow(*this, &DMADebug::disableDebugger)),
+ RegisterViewer::RegisterViewer(SNES &snes)
+ : _window(new ClosableWindow(*this, &RegisterViewer::disableDebugger)),
_ui(),
_snes(snes)
{
@@ -20,13 +20,13 @@ namespace ComSquare::Debugger
this->_window->show();
}
- void DMADebug::focus()
+ void RegisterViewer::focus()
{
this->_window->activateWindow();
}
- void DMADebug::disableDebugger()
+ void RegisterViewer::disableDebugger()
{
- this->_snes.disableDMADebugging();
+ this->_snes.disableRegisterDebugging();
}
}
\ No newline at end of file
diff --git a/sources/Debugger/CPU/DMA/DMADebug.hpp b/sources/Debugger/RegisterViewer.hpp
similarity index 51%
rename from sources/Debugger/CPU/DMA/DMADebug.hpp
rename to sources/Debugger/RegisterViewer.hpp
index 6bf2aa0..e1853ab 100644
--- a/sources/Debugger/CPU/DMA/DMADebug.hpp
+++ b/sources/Debugger/RegisterViewer.hpp
@@ -2,12 +2,12 @@
// Created by anonymus-raccoon on 5/28/20.
//
-#ifndef COMSQUARE_DMADEBUG_HPP
-#define COMSQUARE_DMADEBUG_HPP
+#ifndef COMSQUARE_REGISTERVIEWER_HPP
+#define COMSQUARE_REGISTERVIEWER_HPP
#include
-#include "../../ClosableWindow.hpp"
-#include "../../../../ui/ui_dmaView.h"
+#include "ClosableWindow.hpp"
+#include "../../ui/ui_registersView.h"
namespace ComSquare
{
@@ -15,12 +15,12 @@ namespace ComSquare
namespace Debugger
{
- class DMADebug : public QObject {
+ class RegisterViewer : public QObject {
private:
//! @brief The QT window for this debugger.
- ClosableWindow *_window;
+ ClosableWindow *_window;
//! @brief A widget that contain the whole UI.
- Ui::DMAView _ui;
+ Ui::RegistersView _ui;
//! @brief The snes instance to read/write to DMA channels.
SNES &_snes;
@@ -28,11 +28,11 @@ namespace ComSquare
//! @brief Called when the window is closed. Turn off the debugger.
void disableDebugger();
- explicit DMADebug(SNES &snes);
- DMADebug(
- const DMADebug &) = delete;
- DMADebug &operator=(const DMADebug &) = delete;
- ~DMADebug() =default;
+ explicit RegisterViewer(SNES &snes);
+ RegisterViewer(
+ const RegisterViewer &) = delete;
+ RegisterViewer &operator=(const RegisterViewer &) = delete;
+ ~RegisterViewer() =default;
//! @brief Focus the debugger's window.
void focus();
@@ -40,4 +40,4 @@ namespace ComSquare
};
}
-#endif //COMSQUARE_DMADEBUG_HPP
+#endif //COMSQUARE_REGISTERVIEWER_HPP
diff --git a/sources/Renderer/QtRenderer/QtSFML.cpp b/sources/Renderer/QtRenderer/QtSFML.cpp
index 8c234a4..7cbdc5f 100644
--- a/sources/Renderer/QtRenderer/QtSFML.cpp
+++ b/sources/Renderer/QtRenderer/QtSFML.cpp
@@ -9,7 +9,6 @@
#include
#include "QtSFML.hpp"
#include "../../Exceptions/InvalidOpcode.hpp"
-#include "../../Exceptions/InvalidAddress.hpp"
#include "../../Exceptions/InvalidAction.hpp"
#ifdef Q_WS_X11
@@ -33,7 +32,7 @@ namespace ComSquare::Renderer
this->_window.setCentralWidget(this->_sfWidget.get());
QMenu *file = this->_window.menuBar()->addMenu("&File");
- //TODO implement rom openning from this menu.
+ //TODO implement rom opening from this menu.
(void)file;
QMenu *game = this->_window.menuBar()->addMenu("&Game");
@@ -74,10 +73,10 @@ namespace ComSquare::Renderer
QMainWindow::connect(cgramDebugger, &QAction::triggered, this->_sfWidget.get(), &QtFullSFML::enableCgramViewer);
debugger->addAction(cgramDebugger);
- QAction *dmaDebugger = new QAction("DMA Viewer", &this->_window);
- dmaDebugger->setShortcut(Qt::Key_F7);
- QMainWindow::connect(dmaDebugger, &QAction::triggered, this->_sfWidget.get(), &QtFullSFML::enableDMAViewer);
- debugger->addAction(dmaDebugger);
+ QAction *registerDebugger = new QAction("Registers Viewer", &this->_window);
+ registerDebugger->setShortcut(Qt::Key_F7);
+ QMainWindow::connect(registerDebugger, &QAction::triggered, this->_sfWidget.get(), &QtFullSFML::enableRegisterViewer);
+ debugger->addAction(registerDebugger);
this->_window.show();
}
@@ -147,8 +146,8 @@ namespace ComSquare::Renderer
this->_snes.enableCgramDebugging();
}
- void QtFullSFML::enableDMAViewer()
+ void QtFullSFML::enableRegisterViewer()
{
- this->_snes.enableDMADebugging();
+ this->_snes.enableRegisterDebugging();
}
}
\ No newline at end of file
diff --git a/sources/Renderer/QtRenderer/QtSFML.hpp b/sources/Renderer/QtRenderer/QtSFML.hpp
index fc9d45a..4d4e077 100644
--- a/sources/Renderer/QtRenderer/QtSFML.hpp
+++ b/sources/Renderer/QtRenderer/QtSFML.hpp
@@ -36,7 +36,7 @@ namespace ComSquare::Renderer
//! @brief Action called when clicking on the enable Palette viewer button.
void enableCgramViewer();
//! @brief Action called when clicking on the enable DMA viewer button.
- void enableDMAViewer();
+ void enableRegisterViewer();
//! @brief Action called when clicking on the reset button.
void reset();
diff --git a/sources/SNES.cpp b/sources/SNES.cpp
index 8ccbed3..a107aaf 100644
--- a/sources/SNES.cpp
+++ b/sources/SNES.cpp
@@ -154,20 +154,20 @@ namespace ComSquare
#endif
}
- void SNES::disableDMADebugging()
+ void SNES::disableRegisterDebugging()
{
#ifdef DEBUGGER_ENABLED
- this->_dmaViewer = nullptr;
+ this->_registerViewer = nullptr;
#endif
}
- void SNES::enableDMADebugging()
+ void SNES::enableRegisterDebugging()
{
#ifdef DEBUGGER_ENABLED
- if (this->_dmaViewer)
- this->_dmaViewer->focus();
+ if (this->_registerViewer)
+ this->_registerViewer->focus();
else
- this->_dmaViewer = std::make_unique(*this);
+ this->_registerViewer = std::make_unique(*this);
#endif
}
}
diff --git a/sources/SNES.hpp b/sources/SNES.hpp
index 3755434..146ffb5 100644
--- a/sources/SNES.hpp
+++ b/sources/SNES.hpp
@@ -16,7 +16,7 @@
#include "Debugger/MemoryViewer.hpp"
#include "Debugger/HeaderViewer.hpp"
#include "Debugger/CGramDebug.hpp"
-#include "Debugger/CPU/DMA/DMADebug.hpp"
+#include "Debugger/RegisterViewer.hpp"
#endif
@@ -32,8 +32,8 @@ namespace ComSquare
std::unique_ptr _headerViewer;
//! @brief The window that allow the user to view the CGRAM.
std::unique_ptr _cgramViewer;
- //! @brief The window that allow the user to view the DMA's properties.
- std::unique_ptr _dmaViewer;
+ //! @brief The window that allow the user to view registers.
+ std::unique_ptr _registerViewer;
#endif
//! @brief The memory bus that map addresses to components.
std::shared_ptr _bus;
@@ -80,10 +80,10 @@ namespace ComSquare
void disableCgramDebugging();
//! @brief Enable the Cgram's debugging window.
void enableCgramDebugging();
- //! @brief Disable the DMA's debugging window.
- void disableDMADebugging();
- //! @brief Enable the DMA's debugging window.
- void enableDMADebugging();
+ //! @brief Disable the Register's debugging window.
+ void disableRegisterDebugging();
+ //! @brief Enable the Register's debugging window.
+ void enableRegisterDebugging();
//! @brief Create all the components using a common memory bus for all of them.
SNES(const std::string &ramPath, Renderer::IRenderer &renderer);
diff --git a/ui/dmaView.ui b/ui/dmaView.ui
deleted file mode 100644
index 10f622e..0000000
--- a/ui/dmaView.ui
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
- DMAView
-
-
-
- 0
- 0
- 795
- 534
-
-
-
- DMA's Debugger
-
-
-
- :/resources/Logo.png:/resources/Logo.png
-
-
-
- -
-
-
- QAbstractScrollArea::AdjustIgnored
-
-
- 28
-
-
- 86
-
-
- 61
-
-
-
- Channel 1
-
-
-
-
- Channel 2
-
-
-
-
- Channel 3
-
-
-
-
- Channel 4
-
-
-
-
- Channel 5
-
-
-
-
- Channel 6
-
-
-
-
- Channel 7
-
-
-
-
- Channel 8
-
-
-
-
- Mode
-
-
-
-
- Fixed
-
-
-
-
- Increment
-
-
-
-
- Direction
-
-
-
-
- Port
-
-
-
-
- A Address
-
-
-
-
- Count
-
-
-
-
- Enabled
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/registersView.ui b/ui/registersView.ui
new file mode 100644
index 0000000..44e26db
--- /dev/null
+++ b/ui/registersView.ui
@@ -0,0 +1,75 @@
+
+
+ RegistersView
+
+
+
+ 0
+ 0
+ 431
+ 646
+
+
+
+ Registers's Debugger
+
+
+
+ :/resources/Logo.png:/resources/Logo.png
+
+
+
+ -
+
+
+ 0
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+
+ CPU
+
+
+
-
+
+
+
+
+
+
+ PPU
+
+
+ -
+
+
+
+
+
+
+ DMA
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+