rustzx_core/
settings.rs

1use crate::{utils::EmulationMode, zx::machine::ZXMachine};
2
3#[cfg(all(feature = "sound", feature = "ay"))]
4use crate::zx::sound::ay::ZXAYMode;
5
6pub struct RustzxSettings {
7    pub machine: ZXMachine,
8    pub emulation_mode: EmulationMode,
9    pub tape_fastload_enabled: bool,
10    pub kempston_enabled: bool,
11    pub mouse_enabled: bool,
12    #[cfg(all(feature = "sound", feature = "ay"))]
13    pub ay_mode: ZXAYMode,
14    #[cfg(all(feature = "sound", feature = "ay"))]
15    pub ay_enabled: bool,
16    #[cfg(feature = "sound")]
17    pub beeper_enabled: bool,
18    #[cfg(feature = "sound")]
19    pub sound_enabled: bool,
20    #[cfg(feature = "sound")]
21    pub sound_volume: u8,
22    #[cfg(feature = "sound")]
23    pub sound_sample_rate: usize,
24    #[cfg(feature = "embedded-roms")]
25    pub load_default_rom: bool,
26    #[cfg(feature = "autoload")]
27    pub autoload_enabled: bool,
28}