pub struct FixtureRunnerConfig {
pub max_instructions: usize,
pub load_address: u32,
pub arrows_as_numpad: bool,
pub menu_bar_policy: MenuBarPolicy,
pub ui_theme: UiThemeId,
pub theme_metrics_mode: ThemeMetricsMode,
pub addressing_32_bit: bool,
pub screen_depth: u16,
}Expand description
Configuration knobs for FixtureRunner. Use
FixtureRunnerConfig::default for the canonical defaults
(10M-instruction budget, 0x10000 load base, arrow-keys NOT
remapped to numpad, guest-controlled menu bar) — only override fields you
actually need.
Fields§
§max_instructions: usizeHard cap on instructions executed by the simpler unbounded
FixtureRunner::run entry point. Not consulted by
FixtureRunner::run_steps, which uses its own per-call
max_steps argument. Default: 10,000,000.
load_address: u32Base address where 68k CODE segments are loaded into guest RAM. Default: 0x10000 (64 KiB above the low-mem globals). Most games tolerate the default; a few with hardcoded expectations about A5 placement may need a higher value.
arrows_as_numpad: boolWhen true, arrow key virtual key codes are remapped to their numpad equivalents. Useful on keyboards without a numeric keypad, since many classic Mac games use the numpad for movement. Inside Macintosh Volume V, V-191.
Host presentation policy for the classic Mac menu bar. The default
honors guest MBarHeight and fullscreen transitions.
ui_theme: UiThemeIdSelected UI rendering provider. The default classic-system7 provider
represents the existing renderer; non-classic themes are explicit and
must not alter guest-visible Toolbox behavior in classic metrics mode.
theme_metrics_mode: ThemeMetricsModeDeclares whether theme rendering preserves classic guest metrics or opts into future themed hit/measurement behavior.
addressing_32_bit: boolUse the full 32-bit guest address, or mask memory accesses to the low 24 bits as on classic Macs running in 24-bit addressing mode.
screen_depth: u16Initial 68K main-framebuffer depth. Supported values are 1, 2, 4, and
8; the default remains 8-bit/256-color mode. Native PowerPC launches
retain their architecture default unless
FixtureRunner::set_powerpc_screen_depth is called explicitly.
Implementations§
Source§impl FixtureRunnerConfig
impl FixtureRunnerConfig
Sourcepub fn with_screen_depth(self, screen_depth: u16) -> Result<Self, String>
pub fn with_screen_depth(self, screen_depth: u16) -> Result<Self, String>
Validate and select the initial 68K indexed main-framebuffer depth.
Use FixtureRunner::set_powerpc_screen_depth for an explicit native
PowerPC launch depth.