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}