From fdfa0fc0d67a9e8232a881b46789e2ef17aa04d9 Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Fri, 29 May 2020 21:32:50 +0200
Subject: [PATCH] Adding the first dma channel to the register viewer
---
sources/Debugger/RegisterViewer.cpp | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/sources/Debugger/RegisterViewer.cpp b/sources/Debugger/RegisterViewer.cpp
index d6ae10f..9f49c4c 100644
--- a/sources/Debugger/RegisterViewer.cpp
+++ b/sources/Debugger/RegisterViewer.cpp
@@ -26,9 +26,30 @@ namespace ComSquare::Debugger
{
for (int i = 0; i < 8; i++) {
RegistersViewerModel *model = new RegistersViewerModel(this->_snes);
- model->addRegister(Register(0x420B, "-0", "Enabled", [i](SNES &snes) {
+ model->addRegister(Register(0x420B, ":0", "Enabled", [i](SNES &snes) {
return snes.cpu->_dmaChannels[i].enabled;
}, nullptr, Boolean));
+ model->addRegister(Register(0x4302, "-4", "A address", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._aAddress.raw;
+ }, nullptr, TwentyFourBits));
+ model->addRegister(Register(0x4301, "", "B address", [i](SNES &snes) {
+ return 0x2100 | snes.cpu->_dmaChannels[i]._port;
+ }, nullptr, SixteenBits));
+ model->addRegister(Register(0x4305, "-6", "Count", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._count.raw;
+ }, nullptr, SixteenBits));
+ model->addRegister(Register(0x4300, ":7", "B To A", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._controlRegister.direction;
+ }, nullptr, Boolean));
+ model->addRegister(Register(0x4300, ":3", "Fixed", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._controlRegister.fixed;
+ }, nullptr, Boolean));
+ model->addRegister(Register(0x4300, ":4", "Increment", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._controlRegister.increment;
+ }, nullptr, Boolean));
+ model->addRegister(Register(0x4300, ":0-2", "Mode", [i](SNES &snes) {
+ return snes.cpu->_dmaChannels[i]._controlRegister.increment;
+ }, nullptr, EightBits));
this->_ui.dmaChannel1->setModel(model);
this->_models.push_back(model);
}