diff options
Diffstat (limited to 'src/core/hw/hw.cpp')
| -rw-r--r-- | src/core/hw/hw.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hw/hw.cpp b/src/core/hw/hw.cpp index bf4722cf7..bed50af50 100644 --- a/src/core/hw/hw.cpp +++ b/src/core/hw/hw.cpp | |||
| @@ -6,17 +6,19 @@ | |||
| 6 | 6 | ||
| 7 | #include "core/hw/hw.h" | 7 | #include "core/hw/hw.h" |
| 8 | #include "core/hw/gpu.h" | 8 | #include "core/hw/gpu.h" |
| 9 | #include "core/hw/lcd.h" | ||
| 9 | 10 | ||
| 10 | namespace HW { | 11 | namespace HW { |
| 11 | 12 | ||
| 12 | template <typename T> | 13 | template <typename T> |
| 13 | inline void Read(T &var, const u32 addr) { | 14 | inline void Read(T &var, const u32 addr) { |
| 14 | switch (addr & 0xFFFFF000) { | 15 | switch (addr & 0xFFFFF000) { |
| 15 | |||
| 16 | case VADDR_GPU: | 16 | case VADDR_GPU: |
| 17 | GPU::Read(var, addr); | 17 | GPU::Read(var, addr); |
| 18 | break; | 18 | break; |
| 19 | 19 | case VADDR_LCD: | |
| 20 | LCD::Write(var, addr); | ||
| 21 | break; | ||
| 20 | default: | 22 | default: |
| 21 | LOG_ERROR(HW_Memory, "unknown Read%lu @ 0x%08X", sizeof(var) * 8, addr); | 23 | LOG_ERROR(HW_Memory, "unknown Read%lu @ 0x%08X", sizeof(var) * 8, addr); |
| 22 | } | 24 | } |
| @@ -25,11 +27,12 @@ inline void Read(T &var, const u32 addr) { | |||
| 25 | template <typename T> | 27 | template <typename T> |
| 26 | inline void Write(u32 addr, const T data) { | 28 | inline void Write(u32 addr, const T data) { |
| 27 | switch (addr & 0xFFFFF000) { | 29 | switch (addr & 0xFFFFF000) { |
| 28 | |||
| 29 | case VADDR_GPU: | 30 | case VADDR_GPU: |
| 30 | GPU::Write(addr, data); | 31 | GPU::Write(addr, data); |
| 31 | break; | 32 | break; |
| 32 | 33 | case VADDR_LCD: | |
| 34 | LCD::Write(addr, data); | ||
| 35 | break; | ||
| 33 | default: | 36 | default: |
| 34 | LOG_ERROR(HW_Memory, "unknown Write%lu 0x%08X @ 0x%08X", sizeof(data) * 8, (u32)data, addr); | 37 | LOG_ERROR(HW_Memory, "unknown Write%lu 0x%08X @ 0x%08X", sizeof(data) * 8, (u32)data, addr); |
| 35 | } | 38 | } |
| @@ -54,6 +57,7 @@ void Update() { | |||
| 54 | /// Initialize hardware | 57 | /// Initialize hardware |
| 55 | void Init() { | 58 | void Init() { |
| 56 | GPU::Init(); | 59 | GPU::Init(); |
| 60 | LCD::Init(); | ||
| 57 | LOG_DEBUG(HW, "initialized OK"); | 61 | LOG_DEBUG(HW, "initialized OK"); |
| 58 | } | 62 | } |
| 59 | 63 | ||