/// <summary> /// Removes all expansion modules /// </summary> public void RemoveExpansions(ITVComputer in_computer) { for (int i = 0; i < m_expansions.Count; i++) { m_expansions[i].ExpansionClass.Remove(in_computer); } }
public void Install(ITVComputer in_parent) { m_tvcomputer = in_parent; m_SN76489_audio_channel_index = TVCManagers.Default.AudioManager.OpenChannel(RenderSN76489Audio); m_SAA1099_audio_channel_index = TVCManagers.Default.AudioManager.OpenChannel(RenderSAA1099Audio); }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_multicart = new SDCart(); m_multicart.SetSettings((SDCartSettings)Settings); in_computer.InsertCartridge(m_multicart); }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_kilocart = new TVCKiloCart(); m_kilocart.SetSettings((KiloCartSettings)Settings); in_computer.InsertCartridge(m_kilocart); }
/// <summary> /// Installs HBF card to the system /// </summary> /// <param name="in_tvcomputer"></param> public void Install(ITVComputer in_tvcomputer) { m_tvcomputer = in_tvcomputer; // set timing m_index_pulse_period = in_tvcomputer.MicrosecToCPUTicks(IndexPulsePeriod); m_index_pulse_width = in_tvcomputer.MicrosecToCPUTicks(IndexPulseWidth); }
/// <summary> /// Installs expansion modules and starts them /// </summary> public void InstallExpansions(ITVComputer in_computer) { // initialize modules for (int i = 0; i < m_expansions.Count; i++) { m_expansions[i].ExpansionClass.Install(in_computer); } }
public void Remove(ITVComputer in_computer) { TVCManagers.Default.AudioManager.CloseChannel(m_audio_channel_index); in_computer.Ports.RemovePortWriter(0xfe, PortWriteFEH); in_computer.Ports.RemovePortWriter(0xff, PortWriteFFH); m_audio_channel_index = -1; m_sound_chip = null; }
public void Install(ITVComputer in_computer) { m_tvcomputer = in_computer; m_sound_chip = new SAA1099(); m_sound_chip.Initialize(TVCManagers.Default.AudioManager.SampleRate); in_computer.Ports.AddPortWriter(0xfe, PortWriteFEH); in_computer.Ports.AddPortWriter(0xff, PortWriteFFH); m_audio_channel_index = TVCManagers.Default.AudioManager.OpenChannel(RenderAudio); }
/// <summary> /// Updates settigns /// </summary> public void SettingsChanged(ITVComputer in_computer, ref bool in_restart_tvc) { bool reload_modules = false; List <ExpansionSettingsBase> module_list = m_settings_file.GetExpansionList(); List <ExpansionSettingsBase> old_module_list = SettingsFile.Previous.GetExpansionList(); // check if module config has been changed if (module_list.Count != old_module_list.Count) { reload_modules = true; } else { for (int i = 0; i < module_list.Count && !reload_modules; i++) { if (!module_list[i].Equals(old_module_list[i])) { reload_modules = true; } } } if (reload_modules) { // remove current expansions for (int i = 0; i < m_expansions.Count; i++) { m_expansions[i].ExpansionClass.Remove(in_computer); } // load new expansions LoadExpansions(); InstallExpansions(in_computer); } else { // update settings for all expansions for (int i = 0; i < m_expansions.Count; i++) { m_expansions[i].ExpansionClass.SettingsChanged(ref in_restart_tvc); } } if (reload_modules) { in_restart_tvc = true; } }
/// <summary> /// Initializes cartridge /// </summary> /// <param name="in_parent">TVC hardware class</param> public void Initialize(ITVComputer in_parent) { // allocate cartridge memory Memory = new byte[CartMemLength]; // load cartridge content try { TVCConfigurationSettings settings = SettingsFile.Default.GetSettings <TVCConfigurationSettings>(); if (settings != null && !string.IsNullOrEmpty(settings.CartridgeFileName) && settings.CartridgeActive) { ReadCartridgeFile(settings.CartridgeFileName); } } catch { ClearCartridge(); } }
/// <summary> /// Initializes card class /// </summary> /// <param name="in_parent"></param> public void Install(ITVComputer in_parent) { m_tvcomputer = in_parent; // init internal variables m_eprom_buffer = new byte[MaxEEPROMSize]; m_eprom_type = EPROMType.Unknown; m_eprom_mode = EPROMMode.Unknown; // Create PPI chips m_ppi1 = new I8255(); m_ppi2 = new I8255(); // set event handlers m_ppi1.PortAChanged += PPI1PortAChanged; m_ppi1.PortBChanged += PPI1PortBChanged; m_ppi1.PortCChanged += PPI1PortCChanged; m_eprom_mode = EPROMMode.Unknown; }
/// <summary> /// Removes expansion module from the computer /// </summary> /// <param name="in_computer"></param> public override void Remove(ITVComputer in_computer) { in_computer.RemoveCard(((NanoSDCardSettings)Settings).SlotIndex); }
public void Remove(ITVComputer in_parent) { TVCManagers.Default.AudioManager.CloseChannel(m_audio_channel_index); }
public override void Install(ITVComputer in_computer) { m_floppy_card = new HBFCard(); m_floppy_card.SetSettings((HBFCardSettings)Settings); in_computer.InsertCard(((HBFCardSettings)Settings).SlotIndex, m_floppy_card); }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_nano_sd_card = new NanoSDCard(this); m_nano_sd_card.SetSettings((NanoSDCardSettings)Settings); in_computer.InsertCard(((NanoSDCardSettings)Settings).SlotIndex, m_nano_sd_card); }
/// <summary> /// Installs this expansion to the emulated computer /// </summary> public virtual void Install(ITVComputer in_computer) { }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_game_card = new GameCard(this); m_game_card.SetSettings((GameCardSettings)Settings); in_computer.InsertCard(((GameCardSettings)Settings).SlotIndex, m_game_card); }
/// <summary> /// Installs this expansion to the emulated computer /// </summary> public override void Install(ITVComputer in_computer) { }
/// <summary> /// Removes expansion module from the computer /// </summary> /// <param name="in_computer"></param> public override void Remove(ITVComputer in_computer) { m_sound_quartett.Remove(in_computer); }
/// <summary> /// Removes expansion module from the computer /// </summary> /// <param name="in_computer"></param> public override void Remove(ITVComputer in_computer) { in_computer.RemoveCartridge(); }
/// <summary> /// Initializes expansion module /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_eprom_programmer_card = new HBECard(); m_eprom_programmer_card.SetSettings((HBECardSettings)Settings); in_computer.InsertCard(((HBECardSettings)Settings).SlotIndex, m_eprom_programmer_card); }
/// <summary> /// Removes this expansion module from the emulated computer /// </summary> public virtual void Remove(ITVComputer in_computer) { }
public void Initialize(ITVComputer in_parent) { }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_sound_magic = new SoundMagicCard(); m_sound_magic.SetSettings((SoundMagicSettings)Settings); in_computer.InsertCard(((SoundMagicSettings)Settings).SlotIndex, m_sound_magic); }
/// <summary> /// Removes card from the system /// </summary> public void Remove(ITVComputer in_parent) { // no action needed }
/// <summary> /// Removes this expansion module from the emulated computer /// </summary> public override void Remove(ITVComputer in_computer) { }
/// <summary> /// Removes expansion module from the computer /// </summary> /// <param name="in_computer"></param> public override void Remove(ITVComputer in_computer) { m_sound_magic.Remove(in_computer); }
/// <summary> /// Installs expansion module into the computer /// </summary> /// <param name="in_computer"></param> public override void Install(ITVComputer in_computer) { m_sound_quartett = new SoundQuartettCard(); m_sound_quartett.SetSettings((SoundQuartettSettings)Settings); in_computer.InsertCard(((SoundQuartettSettings)Settings).SlotIndex, m_sound_quartett); }
public void Remove(ITVComputer in_parent) { }
public void Install(ITVComputer in_parent) { m_tvcomputer = in_parent; }