public ClearScreenOrReturnFromSubroutine(CHIP8Configuration configuration) { _localCode = 0x0; _programCounter = configuration.ProgramCounter; _screen = configuration.Screen; _stackPointer = configuration.StackPointer; }
public DrawSprite(CHIP8Configuration configuration) { _instructionRegister = configuration.InstructionRegister; _localCode = 0xD; _memory = configuration.Memory; _registers = configuration.Registers; _screen = configuration.Screen; _screenHeight = configuration.Screen.ScreenHeight(); _screenWidth = configuration.Screen.ScreenWidth(); }
public CHIP8(ICHIP8OpCodesDirector opCodesDirector, CHIP8Configuration configuration) { _delayTimer = configuration.DelayTimer; _generalPurposeRegisters = configuration.Registers; _instructionRegister = configuration.InstructionRegister; _memory = configuration.Memory; _opCodesDirector = opCodesDirector; _programCounter = configuration.ProgramCounter; _screen = configuration.Screen; _soundTimer = configuration.SoundTimer; _stackPointer = configuration.StackPointer; _cpuTimer = new CHIP8Timer(configuration.CPURefreshRate); _cpuTimer.TimerExpired += CPUTimerExpired; _screenRefreshTimer = new CHIP8Timer(configuration.ScreenRefreshRate); _screenRefreshTimer.TimerExpired += ScreenRefreshTimerExpired; opCodesDirector.Initialize(configuration); LoadFont(); _cpuTimer.Start(); _screenRefreshTimer.Start(); }