}
int nmi6502(void) {
- dprint("nmi...\n");
+ //dprint("nmi...\n");
//nmi6502 is always called when current instruction execution is done.
switch (current_exec_index++) {
return;
if (addr_bus & ROM_BIT) {
+ extern int critical_error;
+ dprint("invalid write!!!!\n");
+ critical_error = TRUE;
//no write to ROM
}
else if ((addr_bus & IO_APU_BIT) == IO_APU_BIT) {
start_bus();
end_bus();
- cpu_addr_buffer = addr;
cpu_data_buffer = data;
}
void d1_set(int on_off) {}
void d2_set(int on_off) {}
void d3_set(int on_off) {}
+void clean_clock(void){}
/*
* ppu test function
if (addr < 2 * PATTERN_TBL_SIZE) {
//dprint("invalid vram write addr:%04x, data:%2x\n", addr, data);
//do nothing. pattern table is read only.
+ extern int critical_error;
+ dprint("invalid vram write!!!!\n");
+ critical_error = TRUE;
}
else if (addr >= PALETTE_START) {
// bg/sprite palette table.
static void null_write (unsigned short addr, unsigned char data) {}
static void dump_vram_write (unsigned short addr, unsigned char data) {
+ dprint(" ");
dprint("vram_data_set addr:%04x, data:%2x\n", addr, data);
}
//dprint("%d, %d, colind:%d\n", j, i, pi);
set_data->l[i].d[7 - j] = plt.col[pi];
}
+ else {
+ //TODO
+ //for the time being, transparent bg color is black..
+ set_data->l[i].d[7 - j].r = 0;
+ set_data->l[i].d[7 - j].g = 0;
+ set_data->l[i].d[7 - j].b = 0;
+ }
}
}