2009-06-24 09:27:00 +02:00

51 lines
871 B
C++

#include <../base.hpp>
#include <../cart/cart.hpp>
#include "cmmio.hpp"
void CMMIO::init() {
}
void CMMIO::enable() {
memory::mmio.map(0x3000, *this);
memory::mmio.map(0x3001, *this);
memory::mmio.map(0x3002, *this);
memory::mmio.map(0x3004, *this);
}
void CMMIO::power() {
reset();
}
void CMMIO::reset() {
}
uint8 CMMIO::mmio_read(unsigned addr) {
addr &= 0xffff;
//printf("CMMIO::mmio_read 0x%x",addr);
return cpu.regs.mdr;
}
void CMMIO::mmio_write(unsigned addr, uint8 data) {
addr &= 0xffff;
//fflush(stdout);
//printf("CMMIO::mmio_write 0x%04x 0x%02x (%i)\n",addr,data,data);
/* debug to stderr */
if (addr == 0x3000){
fprintf(stderr,"%c",data);
fflush(stderr);
}
#if 0
if (addr == 0x3001){
fprintf(stderr,"Trigger IRQ\n");
fflush(stderr);
cpu.triggerIRQ();
}
#endif
}
CMMIO::CMMIO() {
}