Files
BreadedSNES/src/system.h

38 lines
598 B
C++

//
// Created by Palindromic Bread Loaf on 7/21/25.
//
#ifndef SYSTEM_H
#define SYSTEM_H
#include <memory>
#include <string>
#include "cpu.h"
#include "ppu.h"
#include "apu.h"
#include "bus.h"
// Main SNES System class
class System {
std::unique_ptr<CPU> cpu;
std::unique_ptr<PPU> ppu;
std::unique_ptr<APU> apu;
std::unique_ptr<Bus> bus;
std::vector<uint8_t> cartridge_data;
bool running;
public:
System();
~System();
bool LoadROM(const std::string& filename);
void Reset();
void Run();
void Step();
void Shutdown();
};
#endif //SYSTEM_H