00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SIDMEMORY_H
00022 #define SIDMEMORY_H
00023
00024 #include <stdint.h>
00025
00030 class sidmemory
00031 {
00032 public:
00038 virtual uint8_t readMemByte(uint_least16_t addr) =0;
00039
00045 virtual uint_least16_t readMemWord(uint_least16_t addr) =0;
00046
00053 virtual void writeMemByte(uint_least16_t addr, uint8_t value) =0;
00054
00061 virtual void writeMemWord(uint_least16_t addr, uint_least16_t value) =0;
00062
00070 virtual void fillRam(uint_least16_t start, uint8_t value, unsigned int size) =0;
00071
00079 virtual void fillRam(uint_least16_t start, const uint8_t* source, unsigned int size) =0;
00080
00086 virtual void installResetHook(uint_least16_t addr) =0;
00087
00093 virtual void installBasicTrap(uint_least16_t addr) =0;
00094
00100 virtual void setBasicSubtune(uint8_t tune) =0;
00101
00102 protected:
00103 ~sidmemory() {}
00104 };
00105
00106 #endif