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 + + + + + + + + + + + + + + + + +