// Token: 0x060017A0 RID: 6048 RVA: 0x00029FB8 File Offset: 0x00028FB8
        public static void Subscribe <T>(MessageHandler <T> messageHandler, uint port) where T : Message
        {
            uint key = Hash.Hash32(typeof(T).ToString());
            List <IPortHandler> list;

            if (Messenger.MessageHandlers.TryGetValue(key, out list))
            {
                using (List <IPortHandler> .Enumerator enumerator = list.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        IPortHandler    portHandler  = enumerator.Current;
                        PortHandler <T> portHandler2 = (PortHandler <T>)portHandler;
                        if (portHandler2.Port == port)
                        {
                            portHandler2.Handler += messageHandler;
                            return;
                        }
                    }
                    goto IL_78;
                }
            }
            list = new List <IPortHandler>();
            Messenger.MessageHandlers.Add(key, list);
IL_78:
            PortHandler <T> portHandler3 = new PortHandler <T>(port);

            portHandler3.Handler += messageHandler;
            list.Add(portHandler3);
        }
Exemple #2
0
        private string ImproveOperand(IOperand op)
        {
            IPortHandler handler = Parent.FindHandler(op);

            if (handler != null)
            {
                return(handler.Identify(op.AbsoluteAddress.Value));
            }

            return(op.ToString());
        }
Exemple #3
0
        public void AcquireROM()
        {
            using (var f = File.Open(Filename, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                ROM = new byte[f.Length];
                f.Read(ROM, 0, (int)f.Length);
            }

            Header = new RomHeader(Tool.Slice(ROM, 0x100, 0x150));
            MBC    = GetMBC(Header.MBC);
            Ports.Insert(0, MBC);
        }