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"
92 typedef std::map<int, ExtraSidBank*> sidBankMap_t;
123 sidBankMap_t extraSidBanks;
141 static double getCpuFreq(
model_t model);
151 inline void interruptIRQ(
bool state)
override;
158 inline void interruptNMI()
override { cpu.
triggerNMI(); }
163 inline void interruptRST()
override { cpu.
triggerRST(); }
172 inline void setBA(
bool state)
override;
177 inline void lightpen(
bool state)
override;
192 uint_least32_t getTimeMs()
const
194 return static_cast<uint_least32_t
>((eventScheduler.
getTime(EVENT_CLOCK_PHI1) * 1000) / cpuFrequency);
204 void debug(
bool enable, FILE *out) { cpu.debug(enable, out); }
207 void resetCpu() { cpu.
reset(); }
254 const char* ciaCredits()
const {
return cia1.
credits(); }
255 const char* vicCredits()
const {
return vic.credits(); }
258 sidmemory& getMemInterface() {
return mmu; }
260 uint_least16_t getCia1TimerA()
const {
return cia1.getTimerA(); }
263void c64::interruptIRQ(
bool state)
280void c64::setBA(
bool state)
283 if (state == oldBAState)
292void c64::lightpen(
bool state)
Definition ColorRAMBank.h:44
Definition DisconnectedBusBank.h:43
Definition EventScheduler.h:62
event_clock_t getTime(event_phase_t phase) const
Definition EventScheduler.h:158
void clock()
Definition EventScheduler.h:136
void setRDY(bool newRDY)
Definition mos6510.cpp:128
void triggerNMI()
Definition mos6510.cpp:193
static const char * credits()
Definition mos6510.cpp:2203
void triggerRST()
Definition mos6510.cpp:179
void reset()
Definition mos6510.cpp:2184
void triggerIRQ()
Definition mos6510.cpp:209
void clearIRQ()
Definition mos6510.cpp:225
static const char * credits()
Definition mos652x.cpp:112
void clearLightpen()
Definition mos656x.cpp:700
void triggerLightpen()
Definition mos656x.cpp:693
model_t
Definition c64.h:76
@ PAL_B
PAL C64.
Definition c64.h:77
@ PAL_N
C64 Drean.
Definition c64.h:80
@ PAL_M
C64 Brasil.
Definition c64.h:81
@ OLD_NTSC_M
Old NTSC C64.
Definition c64.h:79
@ NTSC_M
NTSC C64.
Definition c64.h:78
bool addExtraSid(c64sid *s, int address)
Definition c64.cpp:155
void setCiaModel(cia_model_t model)
Definition c64.cpp:144
const char * cpuCredits() const
Definition c64.h:253
void setBaseSid(c64sid *s)
Definition c64.cpp:150
double getMainCpuSpeed() const
Definition c64.h:224
void setModel(model_t model)
Definition c64.cpp:134
void clearSids()
Definition c64.cpp:192
void clock()
Definition c64.h:202
EventScheduler * getEventScheduler()
Definition c64.h:190
cia_model_t
Definition c64.h:85
@ OLD_4485
Old CIA, special batch labeled 4485.
Definition c64.h:88
@ OLD
Old CIA.
Definition c64.h:86
@ NEW
New CIA.
Definition c64.h:87