Skip to main content

Module machine_profile

Module machine_profile 

Source
Expand description

Canonical guest machine profile used by Systemless’s accuracy harness.

Frozen reference values for “what does the guest see when it asks about the host machine” — Gestalt selectors, screen geometry, RAM size, VBL rate, etc. There’s exactly one shipped profile (BASILISK_II_PLAY_PROFILE); a const alias ORACLE_MACHINE_PROFILE exposes it under the role-name the trap dispatcher uses.

Library consumers don’t normally need to read this directly — the Memory Manager, Gestalt, and screen-mode init paths in crate::trap consult it on the consumer’s behalf.

Structs§

MachineProfile
Bag of constants describing one canonical guest machine: Gestalt selector responses, screen geometry, RAM size, VBL rate, realtime CPU MHz target.

Constants§

BASILISK_II_PLAY_PROFILE
Basilisk maps model ID 14 to a Quadra 900 / Gestalt machine type 20. gestalt_native_cpu_type = 4 per IM:Operating System Utilities 1994 (line 1439, line 2299): gestaltCPU68040 = $004 under the gestaltNativeCPUtype (‘cput’) selector — value 5 there is gestaltCPU68LC040, which contradicts this profile’s 68040 FPU. gestalt_processor_type = 5 because the legacy gestaltProcessorType (‘proc’) selector uses its own numbering where gestalt68040 = 5 (IM:OSU line 1470).
ORACLE_MACHINE_PROFILE

Functions§

oracle_machine_profile
Returns the oracle machine profile, optionally overridden by SYSTEMLESS_SCREEN_WIDTH and SYSTEMLESS_SCREEN_HEIGHT environment variables.