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); }
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; }
public static void Init(ICentralProcessingUnit cpu, IGraphicsProcessingUnit gpu, IMemoryManagementUnit mmu) { CPU = cpu; GPU = gpu; MMU = mmu; }