//1// Copyright (c) 2004 K. Wilkins2//3// This software is provided 'as-is', without any express or implied warranty.4// In no event will the authors be held liable for any damages arising from5// the use of this software.6//7// Permission is granted to anyone to use this software for any purpose,8// including commercial applications, and to alter it and redistribute it9// freely, subject to the following restrictions:10//11// 1. The origin of this software must not be misrepresented; you must not12// claim that you wrote the original software. If you use this software13// in a product, an acknowledgment in the product documentation would be14// appreciated but is not required.15//16// 2. Altered source versions must be plainly marked as such, and must not17// be misrepresented as being the original software.18//19// 3. This notice may not be removed or altered from any source distribution.20//2122//23// Generic Lynx base class.24//2526#ifndef LYNXBASE_H27#define LYNXBASE_H2829//30// bank0 - Cartridge bank 031// bank1 - Cartridge bank 132// ram - all ram33// cpu - system memory as viewed by the cpu34//35enum EMMODE {bank0,bank1,ram,cpu};3637class CLynxBase38{39// Function members4041public:42virtual ~CLynxBase() {};4344public:45virtual void Reset(void) {};4647virtual void Poke(uint32 addr,uint8 data)=0;48virtual uint8 Peek(uint32 addr)=0;49virtual void PokeW(uint32 addr,uint16 data) {}; // ONLY mSystem overloads these, they are never use by the clients50virtual uint16 PeekW(uint32 addr) {return 0;};51virtual void BankSelect(EMMODE newbank){};52virtual uint32 ObjectSize(void) {return 1;};5354};55#endif565758