Beispiel #1
0
        public IChip8Device Build(IKeyboard keyboard, IDisplay display)
        {
            IArithmeticLogicUnit   alu          = BuildALU();
            IMemoryManagementUnit  mmu          = new MemoryManagementUnit();
            ISystemBridge          systemBridge = BuildBridge(mmu, alu, display, keyboard);
            ICentralProcessingUnit cpu          = BuildCPU(alu, mmu, systemBridge);

            Chip8Device device = new Chip8Device(cpu, mmu, systemBridge, keyboard, display);

            LoadFonts(mmu, Fontset, FontOffset);

            return(device);
        }
Beispiel #2
0
        public Chip8Device(
            ICentralProcessingUnit cpu,
            IMemoryManagementUnit mmu,
            ISystemBridge systemBridge,
            IKeyboardDataSource keyboard,
            IDisplay display)

        {
            // TODO: subscribe to device events
            CPU      = cpu;
            MMU      = mmu;
            Bridge   = systemBridge;
            Keyboard = keyboard;
            Display  = display;
        }
Beispiel #3
0
 public static void Init(ICentralProcessingUnit cpu, IGraphicsProcessingUnit gpu, IMemoryManagementUnit mmu)
 {
     CPU = cpu;
     GPU = gpu;
     MMU = mmu;
 }