public DirectedGraphNode Add <AddressT, DataT>(MemoryRam <AddressT, DataT> ram)
            where AddressT : BusData, new()
            where DataT : BusData, new()
        {
            if (!Visit(ram))
            {
                return(FindNode(ram));
            }

            DirectedGraphNode node = AddNode <MemoryRam <AddressT, DataT> >(ram.Name);

            SetNodeMap(ram, node);

            if (!DisplayComponents)
            {
                node = null;
            }

            LinkContains(node, Add(ram.Address, ram.Name));
            LinkContains(node, Add(ram.Data, ram.Name));
            LinkContains(node, Add(ram.ChipEnable, ram.Name));
            LinkContains(node, Add(ram.OutputEnable, ram.Name));
            LinkContains(node, Add(ram.WriteEnable, ram.Name));

            return(node);
        }
        public static MemoryRam <BusData16, BusData8> NewRam(byte[] buffer)
        {
            var mem = new MemoryRam <BusData16, BusData8>();

            if (buffer != null)
            {
                mem.Write(buffer);
            }

            return(mem);
        }
Exemple #3
0
        public static MemoryRam <BusData16, BusData8> NewRam(byte[] buffer)
        {
            var mem = new MemoryRam <BusData16, BusData8>();

            if (buffer != null)
            {
                var writer = new MemoryWriter <BusData16, BusData8>(mem);
                writer.CopyFrom(CreateBinaryReader(buffer));
            }

            return(mem);
        }
Exemple #4
0
        public void UsePC()
        {
            IRam ram = new MemoryRam();

            //contructor
            Computer computer = new Computer(ram);

            //property
            computer.Disk = new HardDrive();

            //Parameter
            computer.Turn_On(new MotherBoard());
        }
Exemple #5
0
        private static PCTower ConfigurePCTower(ComponentFactory componentFactory, ProductFactory productFactory)
        {
            string  answer;
            PCTower pcTower;

            Console.WriteLine("Insert CPU frequency in GHz\n");
            answer = Console.ReadLine();
            CPU cpu = componentFactory.CreateComponent("CPU") as CPU;

            if (!cpu.SetValue(answer))
            {
                WrongInput();
                return(productFactory.CreateProduct("PCTower") as PCTower);
            }

            Console.WriteLine("Insert size of Memory Ram in GB\n");
            answer = Console.ReadLine();
            MemoryRam memoryRam = componentFactory.CreateComponent("MemoryRam") as MemoryRam;

            if (!memoryRam.SetValue(answer))
            {
                WrongInput();
                return(productFactory.CreateProduct("PCTower") as PCTower);
            }

            pcTower = productFactory.CreateProduct("PCTower") as PCTower;
            if (!pcTower.SetMemoryRam(memoryRam))
            {
                //handle exception demek
                WrongInput();
                return(productFactory.CreateProduct("PCTower") as PCTower);
            }
            if (!pcTower.SetCPU(cpu))
            {
                //handle exception
                WrongInput();
                return(productFactory.CreateProduct("PCTower") as PCTower);
            }
            return(pcTower);
        }
Exemple #6
0
 internal bool SetMemoryRam(MemoryRam memoryRam)
 {
     MemoryRam = memoryRam;
     return(true);
 }
Exemple #7
0
 public PCTower(CPU cpu, MemoryRam memoryRam)
 {
     CPU       = cpu;
     MemoryRam = MemoryRam;
 }