You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
961 B
C
62 lines
961 B
C
void coldBootCPU();
|
|
void executeInsn();
|
|
|
|
struct cpustruct
|
|
{
|
|
|
|
int addrPOR;
|
|
int addrBRK;
|
|
int regSP;
|
|
int regPC;
|
|
int regA;
|
|
int regB;
|
|
int regX;
|
|
int regY;
|
|
int regR;
|
|
int regI;
|
|
int regD;
|
|
|
|
unsigned char flagC;
|
|
unsigned char flagZ;
|
|
unsigned char flagID;
|
|
unsigned char flagD;
|
|
unsigned char flagBRK;
|
|
unsigned char flagO;
|
|
unsigned char flagN;
|
|
unsigned char flagE;
|
|
unsigned char flagM;
|
|
unsigned char flagX;
|
|
|
|
int mmuRBB;
|
|
int mmuRBA;
|
|
int mmuRBW;
|
|
|
|
unsigned char mmuEnRB;
|
|
unsigned char mmuEnRBW;
|
|
|
|
int byte0; // = 2;
|
|
int byte1; // = 1;
|
|
|
|
int cycles;
|
|
|
|
int waiTimeout;
|
|
int rbTimeout;
|
|
int rbCache;
|
|
|
|
int breakpoint_count;
|
|
int ticks;
|
|
int brk;
|
|
|
|
int breakpoints[32];
|
|
|
|
int cycles_per_tick;
|
|
int mmu_type;
|
|
int no_io_penality;
|
|
|
|
unsigned char interrupt_waiting[256];
|
|
unsigned char interrupt_type[256];
|
|
};
|
|
|
|
struct cpustruct cpu;
|
|
extern int nospbug;
|