public ClearScreenOrReturnFromSubroutine(CHIP8Configuration configuration) { _localCode = 0x0; _programCounter = configuration.ProgramCounter; _screen = configuration.Screen; _stackPointer = configuration.StackPointer; }
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(); }
public CallSubroutine(CHIP8Configuration configuration) { _localCode = 0x2; _programCounter = configuration.ProgramCounter; _stackPointer = configuration.StackPointer; }