00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef C64ENV_H
00024 #define C64ENV_H
00025
00026 #include "sidplayfp/event.h"
00027
00028 #ifdef HAVE_CONFIG_H
00029 # include "config.h"
00030 #endif
00031
00037 class c64env
00038 {
00039 private:
00040 EventContext &m_context;
00041
00042 public:
00043 c64env (EventContext *context) :
00044 m_context (*context) {}
00045
00046 EventContext &context() const { return m_context; }
00047
00048 virtual uint8_t cpuRead(uint_least16_t addr) =0;
00049 virtual void cpuWrite(uint_least16_t addr, uint8_t data) =0;
00050
00051 #ifdef PC64_TESTSUITE
00052 virtual void loadFile(const char *file) =0;
00053 #endif
00054
00055 virtual void interruptIRQ(bool state) = 0;
00056 virtual void interruptNMI() = 0;
00057 virtual void interruptRST() = 0;
00058
00059 virtual void setBA (bool state) = 0;
00060 virtual void lightpen() = 0;
00061
00062 protected:
00063 ~c64env() {}
00064 };
00065
00066 #endif // C64ENV_H