public ClearScreenOrReturnFromSubroutine(CHIP8Configuration configuration)
 {
     _localCode      = 0x0;
     _programCounter = configuration.ProgramCounter;
     _screen         = configuration.Screen;
     _stackPointer   = configuration.StackPointer;
 }
示例#2
0
 public SkipOnKeyState(CHIP8Configuration configuration)
 {
     _keyManager     = configuration.KeyManager;
     _localCode      = 0xE;
     _programCounter = configuration.ProgramCounter;
     _registers      = configuration.Registers;
 }
示例#3
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;
 }
示例#4
0
 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();
 }
示例#5
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();
        }
示例#6
0
 public CallSubroutine(CHIP8Configuration configuration)
 {
     _localCode      = 0x2;
     _programCounter = configuration.ProgramCounter;
     _stackPointer   = configuration.StackPointer;
 }
 public JumpToLocation(CHIP8Configuration configuration)
 {
     _localCode      = 0x1;
     _programCounter = configuration.ProgramCounter;
 }
示例#8
0
 public SetInstructionRegister(CHIP8Configuration configuration)
 {
     _instructionRegister = configuration.InstructionRegister;
     _localCode           = 0xA;
 }
示例#9
0
 public LoadValueIntoRegister(CHIP8Configuration configuration)
 {
     _localCode = 0x6;
     _registers = configuration.Registers;
 }
 public JumpAheadByRegisterValue(CHIP8Configuration configuration)
 {
     _localCode      = 0xB;
     _programCounter = configuration.ProgramCounter;
     _registers      = configuration.Registers;
 }
示例#11
0
 public SkipIfNotEqualToRegisterValue(CHIP8Configuration configuration)
 {
     _localCode      = 0x4;
     _programCounter = configuration.ProgramCounter;
     _registers      = configuration.Registers;
 }
示例#12
0
 public RandomValue(CHIP8Configuration configuration)
 {
     _localCode = 0xC;
     _registers = configuration.Registers;
 }
示例#13
0
 public IncreaseRegisterValue(CHIP8Configuration configuration)
 {
     _localCode = 0x7;
     _registers = configuration.Registers;
 }
示例#14
0
 public SkipIfRegistersEqual(CHIP8Configuration configuration)
 {
     _localCode      = 0x5;
     _programCounter = configuration.ProgramCounter;
     _registers      = configuration.Registers;
 }
示例#15
0
 public Arithmetic(CHIP8Configuration configuration)
 {
     _localCode = 0x8;
     _registers = configuration.Registers;
 }