public ClearScreenOrReturnFromSubroutine(CHIP8Configuration configuration)
 {
     _localCode      = 0x0;
     _programCounter = configuration.ProgramCounter;
     _screen         = configuration.Screen;
     _stackPointer   = configuration.StackPointer;
 }
Пример #2
0
        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();
        }
Пример #3
0
 public CallSubroutine(CHIP8Configuration configuration)
 {
     _localCode      = 0x2;
     _programCounter = configuration.ProgramCounter;
     _stackPointer   = configuration.StackPointer;
 }