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