diff options
Diffstat (limited to 'gearboy/src/RomOnlyMemoryRule.h')
| -rw-r--r-- | gearboy/src/RomOnlyMemoryRule.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gearboy/src/RomOnlyMemoryRule.h b/gearboy/src/RomOnlyMemoryRule.h new file mode 100644 index 00000000..53079e3b --- /dev/null +++ b/gearboy/src/RomOnlyMemoryRule.h @@ -0,0 +1,46 @@ +/* + * Gearboy - Nintendo Game Boy Emulator + * Copyright (C) 2012 Ignacio Sanchez + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/ + * + */ + +#ifndef ROMONLYMEMORYRULE_H +#define ROMONLYMEMORYRULE_H + +#include "MemoryRule.h" + +class RomOnlyMemoryRule : public MemoryRule +{ +public: + RomOnlyMemoryRule(Processor* pProcessor, Memory* pMemory, + Video* pVideo, Input* pInput, Cartridge* pCartridge, Audio* pAudio); + virtual ~RomOnlyMemoryRule(); + virtual u8 PerformRead(u16 address); + virtual void PerformWrite(u16 address, u8 value); + virtual void Reset(bool bCGB); + virtual void SaveRam(std::ostream &file); + virtual bool LoadRam(std::istream &file, s32 fileSize); + virtual size_t GetRamSize(); + virtual u8* GetRamBanks(); + virtual u8* GetCurrentRamBank(); + virtual int GetCurrentRamBankIndex(); + virtual u8* GetRomBank0(); + virtual int GetCurrentRomBank0Index(); + virtual u8* GetCurrentRomBank1(); + virtual int GetCurrentRomBank1Index(); +}; + +#endif /* ROMONLYMEMORYRULE_H */ |
