pub struct LoadedApp {
pub ppc: Option<PpcLoadedApp>,
pub code0_header: Code0Header,
pub a5_base: u32,
pub jump_table: Vec<JumpTableEntry>,
pub segment_bases: HashMap<i16, u32>,
pub loaded_image_end: u32,
pub initial_sp: u32,
pub size_resource: Option<ApplicationSizeResource>,
}Expand description
State produced by loading a 68k application: parsed CODE 0 header, resolved A5 placement, jump-table slot vector, per-segment load addresses, the end of the direct-loaded image, and the initial stack pointer the runner will seed.
Returned by
FixtureRunner::load_app
and consumed by
FixtureRunner::init_app.
Fields§
§ppc: Option<PpcLoadedApp>Loaded PowerPC PEF application state, when the selected executable is a native CFM/PEF app instead of a classic 68k CODE app.
code0_header: Code0HeaderParsed CODE 0 header bytes (above_a5 / below_a5 / jt_size / jt_offset).
a5_base: u32Guest address chosen for A5; A5-relative globals + jump table are placed relative to this base.
jump_table: Vec<JumpTableEntry>Materialised jump-table slot vector; one entry per CODE call site.
segment_bases: HashMap<i16, u32>Map from CODE resource ID to the guest address where each segment was loaded.
loaded_image_end: u32First byte after direct loader-owned memory (A5 world, CODE 0, jump table, and preloaded CODE segments). Heap allocations must start at or above this boundary.
initial_sp: u32Initial stack pointer (top of below-A5 region) the runner seeds A7 with before the first instruction.
size_resource: Option<ApplicationSizeResource>Parsed application 'SIZE' launch settings, preferring a valid ID 0
resource over the developer-provided ID -1 resource.