public override void BusInit(IBusManager bmgr) { m_cpu = bmgr.CPU; m_ulaAtm = bmgr.FindDevice <UlaAtm450>(); bmgr.Events.SubscribeRdIo(0x0001, 0x0000, BusReadPortFE); // bit Z emulation bmgr.Events.SubscribeWrIo(0x0001, 0x0000, BusWritePortFE); bmgr.Events.SubscribeRdIo(0x0004, 0x00FB & 0x0004, BusReadPortFB); // CPSYS [(addr & 0x7F)==0x7B] bmgr.Events.SubscribeWrIo(0x8202, 0x7FFD & 0x8202, BusWritePort7FFD); bmgr.Events.SubscribeWrIo(0x8202, 0xFDFD & 0x8202, BusWritePortFDFD); bmgr.Events.SubscribeWrIo(0x8202, 0x7DFD & 0x8202, BusWritePort7DFD); // atm_writepal(val); bmgr.Events.SubscribeRdMemM1(0xFF00, 0x3D00, BusReadMem3D00_M1); bmgr.Events.SubscribeRdMemM1(0xC000, 0x4000, BusReadMemRamM1); bmgr.Events.SubscribeRdMemM1(0xC000, 0x8000, BusReadMemRamM1); bmgr.Events.SubscribeRdMemM1(0xC000, 0xC000, BusReadMemRamM1); //bmgr.Events.SubscribeRdIo(0x0005, 0x00FE & 0x0005, BusReadPortFE); // bit Z emulation //bmgr.Events.SubscribeWrIo(0x0005, 0x00FE & 0x0005, BusWritePortFE); //bmgr.Events.SubscribeRdIo(0x0005, 0x00FB & 0x0005, BusReadPortFB); // CPSYS [(addr & 0x7F)==0x7B] //bmgr.Events.SubscribeWrIo(0x8202, 0x7FFD & 0x8202, BusWritePort7FFD); //bmgr.Events.SubscribeWrIo(0x8202, 0xFDFD & 0x8202, BusWritePortFDFD); //bmgr.Events.SubscribeWrIo(0x8202, 0x7DFD & 0x8202, BusWritePort7DFD); // atm_writepal(val); //bmgr.Events.SubscribeRdMemM1(0xFF00, 0x3D00, BusReadMem3D00_M1); //bmgr.Events.SubscribeRdMemM1(0xC000, 0x4000, BusReadMemRamM1); //bmgr.Events.SubscribeRdMemM1(0xC000, 0x8000, BusReadMemRamM1); //bmgr.Events.SubscribeRdMemM1(0xC000, 0xC000, BusReadMemRamM1); bmgr.Events.SubscribeReset(BusReset); // Subscribe before MemoryBase.BusInit // to handle memory switches before read base.BusInit(bmgr); }
public override void BusInit(IBusManager bmgr) { m_cpu = bmgr.CPU; m_ulaAtm = bmgr.FindDevice <UlaAtm450>(); OnSubscribeIo(bmgr); bmgr.Events.SubscribeRdMemM1(0x0000, 0x0000, BusReadM1); bmgr.Events.SubscribeReset(BusReset); // Subscribe before MemoryBase.BusInit // to handle memory switches before read base.BusInit(bmgr); }
public override void BusInit(IBusManager bmgr) { base.BusInit(bmgr); m_cpu = bmgr.CPU; m_ulaAtm = base.m_ula as UlaAtm450; bmgr.SubscribeRDIO(0x0001, 0x0000, busReadPortFE); // bit Z emulation bmgr.SubscribeWRIO(0x0001, 0x0000, busWritePortFE); bmgr.SubscribeRDIO(0x0004, 0x00FB & 0x0004, busReadPortFB); // CPSYS [(addr & 0x7F)==0x7B] bmgr.SubscribeWRIO(0x8202, 0x7FFD & 0x8202, busWritePort7FFD); bmgr.SubscribeWRIO(0x8202, 0xFDFD & 0x8202, busWritePortFDFD); bmgr.SubscribeWRIO(0x8202, 0x7DFD & 0x8202, busWritePort7DFD); // atm_writepal(val); bmgr.SubscribeRESET(busReset); }
public override void BusInit(IBusManager bmgr) { base.BusInit(bmgr); m_cpu = bmgr.CPU; m_ulaAtm = base.m_ula as UlaAtm450; bmgr.SubscribeRDIO(0x0001, 0x0000, busReadPortFE); // bit Z emulation bmgr.SubscribeWRIO(0x009F, 0x00FF & 0x009F, busWritePortXXFF_PAL); // atm_writepal(val); bmgr.SubscribeRDIO(0x8202, 0x7FFD & 0x8202, busReadPort7FFD); // bit Z emulation bmgr.SubscribeWRIO(0x00FF, 0xFF77 & 0x00FF, busWritePortFF77_SYS); bmgr.SubscribeWRIO(0x00FF, 0x3FF7 & 0x00FF, busWritePortXFF7_WND); //ATM3 mask=0x3FFF bmgr.SubscribeWRIO(0x8202, 0x7FFD & 0x8202, busWritePort7FFD_128); bmgr.SubscribeRESET(busReset); }