Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MbcWisdomTree : public Mbc {
- public:
- explicit MbcWisdomTree(MemPtrs &memptrs)
- : memptrs_(memptrs)
- , rombank_(0)
- {
- }
- virtual unsigned char curRomBank() const {
- return rombank_;
- }
- virtual void romWrite(unsigned const p, unsigned const data, unsigned long const /*cc*/) {
- rombank_ = (p & 0xFF) << 1;
- setRombank();
- }
- virtual void saveState(SaveState::Mem &ss) const {
- ss.rombank = rombank_;
- }
- virtual void loadState(SaveState::Mem const &ss) {
- rombank_ = ss.rombank;
- setRombank();
- }
- private:
- MemPtrs &memptrs_;
- unsigned char rombank_;
- void setRombank() const {
- memptrs_.setRombank0(rombank_ & (rombanks(memptrs_) - 1));
- memptrs_.setRombank((rombank_ + 1) & (rombanks(memptrs_) - 1));
- }
- virtual bool isAddressWithinAreaRombankCanBeMappedTo(unsigned addr, unsigned bank) const {
- return (addr < 0x8000);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement