mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 01:22:37 -06:00
Memory: create MemorySystem class
This commit is contained in:
parent
ab0dba6a8b
commit
6992f76acf
3 changed files with 27 additions and 0 deletions
|
@ -172,6 +172,8 @@ void System::Reschedule() {
|
|||
System::ResultStatus System::Init(EmuWindow& emu_window, u32 system_mode) {
|
||||
LOG_DEBUG(HW_Memory, "initialized OK");
|
||||
|
||||
memory = std::make_unique<Memory::MemorySystem>();
|
||||
|
||||
timing = std::make_unique<Timing>();
|
||||
|
||||
kernel = std::make_unique<Kernel::KernelSystem>(system_mode);
|
||||
|
@ -250,6 +252,14 @@ const Timing& System::CoreTiming() const {
|
|||
return *timing;
|
||||
}
|
||||
|
||||
Memory::MemorySystem& System::Memory() {
|
||||
return *memory;
|
||||
}
|
||||
|
||||
const Memory::MemorySystem& System::Memory() const {
|
||||
return *memory;
|
||||
}
|
||||
|
||||
Cheats::CheatEngine& System::CheatEngine() {
|
||||
return *cheat_engine;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
class EmuWindow;
|
||||
class ARM_Interface;
|
||||
|
||||
namespace Memory {
|
||||
class MemorySystem;
|
||||
}
|
||||
|
||||
namespace AudioCore {
|
||||
class DspInterface;
|
||||
}
|
||||
|
@ -188,6 +192,12 @@ public:
|
|||
/// Gets a const reference to the timing system
|
||||
const Timing& CoreTiming() const;
|
||||
|
||||
/// Gets a reference to the memory system
|
||||
Memory::MemorySystem& Memory();
|
||||
|
||||
/// Gets a const reference to the memory system
|
||||
const Memory::MemorySystem& Memory() const;
|
||||
|
||||
/// Gets a reference to the cheat engine
|
||||
Cheats::CheatEngine& CheatEngine();
|
||||
|
||||
|
@ -236,6 +246,9 @@ private:
|
|||
/// AppLoader used to load the current executing application
|
||||
std::unique_ptr<Loader::AppLoader> app_loader;
|
||||
|
||||
/// Memory system
|
||||
std::unique_ptr<Memory::MemorySystem> memory;
|
||||
|
||||
/// ARM11 CPU core
|
||||
std::unique_ptr<ARM_Interface> cpu_core;
|
||||
|
||||
|
|
|
@ -254,4 +254,8 @@ void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode);
|
|||
/// Gets offset in FCRAM from a pointer inside FCRAM range
|
||||
u32 GetFCRAMOffset(u8* pointer);
|
||||
|
||||
class MemorySystem {
|
||||
|
||||
};
|
||||
|
||||
} // namespace Memory
|
||||
|
|
Loading…
Reference in a new issue