Go to the documentation of this file.
17 #ifdef DEBUGGER_ENABLED
35 #ifdef DEBUGGER_ENABLED
36 std::optional<Debugger::CPU::CPUDebug> _cpuDebugger;
39 std::optional<Debugger::MemoryBusDebug> _busDebugger;
41 std::optional<Debugger::APU::APUDebug> _apuDebugger;
44 std::optional<Debugger::MemoryViewer> _ramViewer;
46 std::optional<Debugger::HeaderViewer> _headerViewer;
48 std::optional<Debugger::CGramDebug> _cgramViewer;
50 std::optional<Debugger::RegisterViewer> _registerViewer;
52 std::optional<Debugger::TileViewer> _tileViewer;
91 void loadRom(
const std::string& path);
93 #ifdef DEBUGGER_ENABLED
94 void disableCPUDebugging();
97 void enableCPUDebugging(
bool pause =
false);
102 void disableRamViewer();
104 void enableRamViewer();
106 void disableHeaderViewer();
108 void enableHeaderViewer();
110 void disableAPUDebugging();
112 void enableAPUDebugging();
114 void disableMemoryBusDebugging();
116 void enableMemoryBusDebugging();
118 void disableCgramViewer();
120 void enableCgramViewer();
122 void disableRegisterViewer();
124 void enableRegisterViewer();
126 void disableTileViewer();
128 void enableTileViewer();
The memory bus is the component responsible of mapping addresses to components address and transmitti...
Definition: MemoryBus.hpp:22
SNES & operator=(const SNES &)=delete
A SNES can't be assigned.
The main CPU.
Definition: CPU.hpp:26
Ram::Ram wram
Work Ram shared by all the components.
Definition: SNES.hpp:61
Memory::MemoryBus bus
The memory bus that map addresses to components.
Definition: SNES.hpp:56
CPU::CPU cpu
Central Processing Unit of the SNES.
Definition: SNES.hpp:65
void loadRom(const std::string &path)
Load the rom at the given path.
Definition: SNES.cpp:46
Cartridge::Cartridge cartridge
Cartridge containing instructions (ROM).
Definition: SNES.hpp:59
SNES(Renderer::IRenderer &renderer)
Create all the components using a common memory bus for all of them.
Definition: SNES.cpp:10
Container of all the components of the SNES.
Definition: SNES.hpp:32
PPU::PPU ppu
Picture Processing Unit of the SNES.
Definition: SNES.hpp:67
APU::APU apu
Audio Processing Unit if the SNES.
Definition: SNES.hpp:69
~SNES()=default
A default destructor.
Contains the rom's memory/instructions.
Definition: Cartridge.hpp:78
Definition: DebuggableError.hpp:11
Definition: IRenderer.hpp:15
void update()
Call this function to update all the components.
Definition: SNES.cpp:34
Ram::Ram sram
Save Ram residing inside the Cartridge in a real SNES.
Definition: SNES.hpp:63
The class containing all the registers of the PPU.
Definition: PPU.hpp:46