protected virtual void InitM_test6502() { Disp_Raster dr; stateName = "test6502"; interval = 1; InstructsPerMilisec = 2; refreshVal = 8; _programMemory = _workingMemory = new Mem_Base(4069); m_video = new Vid_Base(); m_cpu = cpu_test6502 = new C_6502(_programMemory, m_video); m_display = new Disp_Raster(m_video); m_video.resolution = new Size(64, 32); dr = (Disp_Raster)m_display; }
protected virtual void InitM_C64() { //byte[] bts; Disp_Raster dr; stateName = "C64"; interval = 1; InstructsPerMilisec = 2; refreshVal = 8; _programMemory = _workingMemory = new Mem_Base(80000); #region Connect ROMs #region Basic _basicROM = new Mem_ROM( (0xBFFF - 0xA000) , file.LoadBytes(dir.Join( _pathSettings.bios_commodore_c64 , "Basic.bin" )) ); #endregion #region Kernal _kernalROM = new Mem_ROM( (0xFFFF - 0xE000) , file.LoadBytes(dir.Join( _pathSettings.bios_commodore_c64 , "Kernal.bin" )) ); #endregion #endregion m_video = new Vid_Base(); m_cpu = cpu_6502 = new C_6502(_programMemory, m_video); m_display = new Disp_Raster(m_video); m_video.resolution = new Size(320, 200); dr = (Disp_Raster)m_display; m_cpu.PC = (ushort)( (_programMemory._bank[0xFFFD] << 8) | _programMemory._bank[0xFFFC] ); }
protected virtual void InitM_Chip8() { _memStartAdress = 0x0200; Disp_Raster dr; stateName = "CHIP8"; interval = 1; InstructsPerMilisec = 2; refreshVal = 8; //refreshVal = 10; _programMemory = new Mem_Chip8(); _workingMemory = _programMemory; m_video = new Vid_Chip8(); m_cpu = cpu_Chip8 = new C_Chip8(_programMemory, m_video); _keyboard = new Keyboard_Chip8(m_cpu.keys); m_display = new Disp_Raster(m_video); m_video.resolution = new Size(64, 32); dr = (Disp_Raster)m_display; //m_video.buffer = dr.pixels; //_keyboard.ConnectTo(m_display); //interval = 16.666666666666666666666666666667; //interval = 6.6; }