예제 #1
0
        public override void BusInit(IBusManager bmgr)
        {
            base.BusInit(bmgr);
            m_cpu = bmgr.CPU;
            m_ulaProfi = bmgr.FindDevice<UlaProfi3XX>();

            bmgr.SubscribeWRIO(0x8002, 0x0000, writePort7FFD);
            bmgr.SubscribeWRIO(0xFFFF, 0xDFFD, writePortDFFD);
            bmgr.SubscribeRDMEM_M1(0xC000, 0x4000, readRamM1);
            bmgr.SubscribeRDMEM_M1(0xC000, 0x8000, readRamM1);
            bmgr.SubscribeRDMEM_M1(0xC000, 0xC000, readRamM1);

            bmgr.SubscribeRESET(busReset);
        }
예제 #2
0
        public override void BusInit(IBusManager bmgr)
        {
            m_cpu      = bmgr.CPU;
            m_ulaProfi = bmgr.FindDevice <UlaProfi3XX>();

            bmgr.Events.SubscribeWrIo(0x8002, 0x7FFD & 0x8002, BusWritePort7FFD);
            bmgr.Events.SubscribeWrIo(0x2002, 0xDFFD & 0x2002, BusWritePortDFFD);

            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);
            bmgr.Events.SubscribeNmiRq(BusNmiRq);
            bmgr.Events.SubscribeNmiAck(BusNmiAck);

            // Subscribe before MemoryBase.BusInit
            // to handle memory switches before read
            base.BusInit(bmgr);
        }