io: add display unit

added rendering for modes 3,4,5
also changed how memory structuring works

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2024-06-22 04:16:12 +05:30
parent 54fc472399
commit 58a503d2c4
13 changed files with 652 additions and 275 deletions

View File

@@ -1,11 +1,14 @@
#pragma once
#include "lcd.hh"
#include "display/display.hh"
#include "dma.hh"
#include "sound.hh"
#include <cstdint>
#include <memory>
namespace matar {
class Bus;
class Bus; // forward declaration
class IoDevices {
public:
IoDevices(std::weak_ptr<Bus>);
@@ -30,9 +33,11 @@ class IoDevices {
bool low_power_mode;
} system = {};
struct lcd lcd = {};
struct sound sound = {};
display::Display display = {};
Sound sound = {};
Dma dma = {};
std::weak_ptr<Bus> bus;
friend class Bus;
};
}