Skip to content
Snippets Groups Projects
manager.hpp 512 B
Newer Older
#pragma once
#include <memory>
Geo Ster's avatar
Geo Ster committed
#include <vector>
#include <cpu/ee.hpp>

Geo Ster's avatar
Geo Ster committed
constexpr uint32_t MEMORY_RANGE = 0x20000000;

/* This class act as the "motherboard" of sorts */
class ComponentManager {
public:
    ComponentManager();
    ~ComponentManager() = default;

Geo Ster's avatar
Geo Ster committed
    void tick_components();

protected:
    void read_bios();

public:
    /* Components */
    std::unique_ptr<EmotionEngine> ee;
    
Geo Ster's avatar
Geo Ster committed
    /* Since we have more than enough RAM, let's allocate this all at once */
    std::vector<uint8_t> memory;