1 #ifndef _BASE_IO_h
2 #define _BASE_IO_h
3 
4 class BASE_IO
5 {
6 protected:
7 	memptr hw_offset;
8 	uint32 hw_size;
9 
getHWoffset()10 	memptr getHWoffset() { return hw_offset; }
getHWsize()11 	uint16 getHWsize()   { return hw_size; }
12 
13 public:
BASE_IO(memptr addr,uint32 size)14 	BASE_IO(memptr addr, uint32 size) {
15 		hw_offset = addr;
16 		hw_size = size;
17 	}
reset()18 	virtual void reset() {};
~BASE_IO()19 	virtual ~BASE_IO() {};
isMyHWRegister(memptr addr)20 	virtual bool isMyHWRegister(memptr addr) { return (addr >= hw_offset && addr < (hw_offset + hw_size)); }
21 
22 	virtual uae_u8 handleRead(memptr addr);
23 	virtual uae_u16 handleReadW(memptr addr);
24 	virtual uae_u32 handleReadL(memptr addr);
25 	virtual void handleWrite(memptr addr, uint8 value);
26 	virtual void handleWriteW(memptr addr, uint16 value);
27 	virtual void handleWriteL(memptr addr, uint32 value);
28 };
29 #endif //_BASE_IO_h
30