From 566c480787db39f3afc8edd87c75506e68e6ba70 Mon Sep 17 00:00:00 2001 From: slack Date: Tue, 10 Jun 2008 22:27:57 +0200 Subject: [PATCH] Fixes para que compile de nuevo --- GBMemory.cc | 8 ++++---- GBVideo.h | 5 +++++ gbcore.cc | 1 + gbcore.h | 2 ++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/GBMemory.cc b/GBMemory.cc index 26994ef..d9dd160 100644 --- a/GBMemory.cc +++ b/GBMemory.cc @@ -9,12 +9,12 @@ void GBMemory::write(int addr, u8 value) { if (addr < 0x8000) mbc->write(addr, value); - else if (addr < 0xA000) core->video->write_VRAM(addr, value); + else if (addr < 0xA000) core->video.write_VRAM(addr, value); else if (addr < 0xC000) mbc->write(addr, value); else if (addr < 0xD000) WRAM0[addr - WRAM0_BASE] = value; else if (addr < 0xE000) WRAM1[addr - WRAM1_BASE] = value; else if (addr < 0xFDFF) write(addr-0x2000, value); - else if (addr < 0xFEA0) core->video->write_OAM (addr, value); + else if (addr < 0xFEA0) core->video.write_OAM (addr, value); else if (addr >= 0xFF00 && addr <= 0xFF7F) { IO.write(addr,value); } @@ -33,12 +33,12 @@ void GBMemory::write(int addr, u8 value) u8 GBMemory::read(int addr) const { if (addr < 0x8000) return mbc->read(addr); - else if (addr < 0xA000) return core->video->read_VRAM(addr); + else if (addr < 0xA000) return core->video.read_VRAM(addr); else if (addr < 0xC000) return mbc->read(addr); else if (addr < 0xD000) return WRAM0[addr - WRAM0_BASE]; else if (addr < 0xE000) return WRAM1[addr - WRAM1_BASE]; else if (addr < 0xFDFF) return read(addr-0x2000); - else if (addr < 0xFEA0) return core->video->read_OAM (addr); + else if (addr < 0xFEA0) return core->video.read_OAM (addr); else if (addr >= 0xFF00 && addr <= 0xFF7F) return IO.read(addr); else if (addr >= 0xFF80 && addr <= 0xFFFE) return HRAM[addr - HRAM_BASE]; diff --git a/GBVideo.h b/GBVideo.h index 8ae19a9..8f0df09 100644 --- a/GBVideo.h +++ b/GBVideo.h @@ -5,6 +5,11 @@ class GBVideo u8 VRAM[8192]; u8 OAM[]; + public: + u8 read_VRAM (int addr) const; + u8 read_OAM (int addr) const; + void write_VRAM(int addr, u8 value); + void write_OAM (int addr, u8 value); }; diff --git a/gbcore.cc b/gbcore.cc index 5603e40..392afcc 100644 --- a/gbcore.cc +++ b/gbcore.cc @@ -11,6 +11,7 @@ GameBoy::GameBoy(std::string rom_name, GameBoyType type): gameboy_type(type), memory(this), + video(), rom(0), regs(), IME(1), diff --git a/gbcore.h b/gbcore.h index 0929523..3ee274a 100644 --- a/gbcore.h +++ b/gbcore.h @@ -3,6 +3,7 @@ #include "sized_types.h" #include "GBMemory.h" +#include "GBVideo.h" #include union GBRom; @@ -29,6 +30,7 @@ class GameBoy friend class GBMemory; GBMemory memory; + GBVideo video; GBRom *rom; // CPU Registers -- 2.34.1