31 #include "Banks/IOBank.h"
32 #include "Banks/ColorRAMBank.h"
33 #include "Banks/DisconnectedBusBank.h"
34 #include "Banks/SidBank.h"
35 #include "Banks/ExtraSidBank.h"
37 #include "EventScheduler.h"
39 #include "c64/c64env.h"
40 #include "c64/c64cpu.h"
41 #include "c64/c64cia.h"
42 #include "c64/c64vic.h"
58 virtual void load(
const char *) =0;
89 typedef std::map<int, ExtraSidBank*> sidBankMap_t;
94 void operator() (sidBankMap_t::value_type &e) { e.second->reset(); }
129 sidBankMap_t extraSidBanks;
141 static double getCpuFreq(
model_t model);
150 uint8_t cpuRead(uint_least16_t addr) {
return mmu.
cpuRead(addr); }
158 void cpuWrite(uint_least16_t addr, uint8_t data) { mmu.
cpuWrite(addr, data); }
167 inline void interruptIRQ(
bool state);
174 inline void interruptNMI() { cpu.
triggerNMI (); }
179 inline void interruptRST() { cpu.
triggerRST (); }
188 inline void setBA(
bool state);
190 inline void lightpen(
bool state);
192 #ifdef PC64_TESTSUITE
195 void loadFile(
const char *file)
207 #ifdef PC64_TESTSUITE
208 void setTestEnv(testEnv *env)
224 void debug(
bool enable, FILE *out) { cpu.debug(enable, out); }
227 void resetCpu() { cpu.
reset(); }
234 void setRoms(
const uint8_t* kernal,
const uint8_t* basic,
const uint8_t* character)
236 mmu.setRoms(kernal, basic, character);
278 sidmemory *getMemInterface() {
return &mmu; }
280 uint_least16_t getCia1TimerA()
const {
return cia1.getTimerA(); }
283 void c64::interruptIRQ(
bool state)
300 void c64::setBA(
bool state)
303 if (state == oldBAState)
312 void c64::lightpen(
bool state)
const char * cpuCredits() const
Definition: c64.h:273
Definition: EventScheduler.h:55
const char * vicCredits() const
Definition: c64.h:275
Definition: ColorRAMBank.h:37
void setRDY(bool newRDY)
Definition: mos6510.cpp:116
void reset()
Definition: mos6510.cpp:2167
Definition: DisconnectedBusBank.h:36
const EventScheduler & getEventScheduler() const
Definition: c64.h:221
double getMainCpuSpeed() const
Definition: c64.h:244
uint8_t cpuRead(uint_least16_t addr) const
Definition: mmu.h:123
Old NTSC C64.
Definition: c64.h:84
model_t
Definition: c64.h:80
bool addExtraSid(c64sid *s, int address)
Definition: c64.cpp:135
void cpuWrite(uint_least16_t addr, uint8_t data)
Definition: mmu.h:131
void setBaseSid(c64sid *s)
Definition: c64.cpp:130
static const char * credits()
Definition: mos6526.h:252
PAL C64.
Definition: c64.h:82
const char * ciaCredits() const
Definition: c64.h:274
void clearLightpen()
Definition: mos656x.cpp:681
void setModel(model_t model)
Definition: c64.cpp:120
void triggerNMI()
Definition: mos6510.cpp:185
NTSC C64.
Definition: c64.h:83
void triggerIRQ()
Definition: mos6510.cpp:199
void clearIRQ()
Definition: mos6510.cpp:213
Definition: sidmemory.h:30
void triggerRST()
Definition: mos6510.cpp:171
EventScheduler * getEventScheduler()
Definition: c64.h:220
void clearSids()
Definition: c64.cpp:166
C64 Drean.
Definition: c64.h:85
void triggerLightpen()
Definition: mos656x.cpp:668