Exemple #1
0
 public MiscFCodes(CHIP8Configuration configuration)
 {
     _delayTimer          = configuration.DelayTimer;
     _instructionRegister = configuration.InstructionRegister;
     _keyManager          = configuration.KeyManager;
     _localCode           = 0xF;
     _memory     = configuration.Memory;
     _registers  = configuration.Registers;
     _soundTimer = configuration.SoundTimer;
 }
 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();
 }
Exemple #3
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();
        }