Debugger/Memory: Add support for address spaces

Different address spaces can be chosen in the memory view panel.
 * Effective (or virtual): Probably the view people mostly want. Address
   translation goes through MMU.
 * Auxiliary: ARAM address space. Does not display anything in Wii mode.
 * Physical: Physical address space. Only supports mem1 and mem2 (wii
   mode) so far.
This commit is contained in:
booto
2019-04-11 01:50:52 -04:00
parent 3b16d2261a
commit 2ff0486335
14 changed files with 668 additions and 105 deletions

View File

@ -9,6 +9,7 @@
#include <QDockWidget>
#include "Common/CommonTypes.h"
#include "Core/HW/AddressSpace.h"
class MemoryViewWidget;
class QCheckBox;
@ -38,6 +39,7 @@ private:
void LoadSettings();
void SaveSettings();
void OnAddressSpaceChanged();
void OnTypeChanged();
void OnBPLogChanged();
void OnBPTypeChanged();
@ -51,6 +53,7 @@ private:
void OnDumpMRAM();
void OnDumpExRAM();
void OnDumpARAM();
void OnDumpFakeVMEM();
std::vector<u8> GetValueData() const;
@ -66,6 +69,7 @@ private:
QPushButton* m_set_value;
QPushButton* m_dump_mram;
QPushButton* m_dump_exram;
QPushButton* m_dump_aram;
QPushButton* m_dump_fake_vmem;
// Search
@ -75,6 +79,11 @@ private:
QRadioButton* m_find_hex;
QLabel* m_result_label;
// Address Spaces
QRadioButton* m_address_space_physical;
QRadioButton* m_address_space_effective;
QRadioButton* m_address_space_auxiliary;
// Datatypes
QRadioButton* m_type_u8;
QRadioButton* m_type_u16;