public Z80(ReadOnlyArray<byte> rom, IMemoryManagementUnit mmu) { InitOpcodes(); this.mmu = mmu; this.rom = rom; }
public InstructionReader(IMemoryManagementUnit mmu, IInstructionPointerRegister ipr) { MMU = mmu; IP = ipr; IP.OnJump += OnJump; Reset(); }
public Z80(ReadOnlyArray <byte> rom, IMemoryManagementUnit mmu) { InitOpcodes(); this.mmu = mmu; this.rom = rom; }
private void LoadFonts(IMemoryManagementUnit mmu, Byte[] fonts, int fontsOffset) { for (int i = 0; i < fonts.Length; i++) { mmu[i + fontsOffset] = fonts[i]; } }
private ICentralProcessingUnit BuildCPU(IArithmeticLogicUnit alu, IMemoryManagementUnit mmu, ISystemBridge bridge) { IInstructionConfigurator configurator = new InstructionConfigurator(bridge); IInstructionParser parser = new InstructionParser(configurator); InstructionReader reader = new InstructionReader(mmu, alu.IP); ICentralProcessingUnit cpu = new CentralProcessingUnit(alu, parser, reader); return(cpu); }
public SystemBridge(IMemoryManagementUnit mmu, IArithmeticLogicUnit alu, IDisplay display, IKeyboard keyboard) { _mmu = mmu; _alu = alu; _display = display; _keyboard = keyboard; // TODO: calculate according to display settings? _spriteBuffer = new Byte[MaxSpriteSize]; }
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; }
private ISystemBridge BuildBridge(IMemoryManagementUnit mmu, IArithmeticLogicUnit alu, IDisplay display, IKeyboard keyboard) { ISystemBridge bridge = new SystemBridge(mmu, alu, display, keyboard); return(bridge); }
private static void Reset() { GPU = null; CPU = null; MMU = null; }
public static void Init() { CPU = new CPU(); GPU = new GPU(); MMU = new MMU(); }
public static void Init(ICentralProcessingUnit cpu, IGraphicsProcessingUnit gpu, IMemoryManagementUnit mmu) { CPU = cpu; GPU = gpu; MMU = mmu; }