pub struct Layout {
pub home_ptr: u32,
pub home_end_ptr: u32,
pub context_ptr: u32,
pub stack_ptr: u32,
pub stack_end_ptr: u32,
pub system_flags: u32,
pub user_flags: u32,
pub flag_words: usize,
pub menu_ptr: u32,
pub menu_page: u32,
}Expand description
Where a model’s ROM keeps its system pointers and flags in RAM (wiki:
hardware/hp48-system-ram). Each *_ptr field is the address of a
5-nibble pointer.
Fields§
§home_ptr: u32The HOME directory object.
home_end_ptr: u32The nibble after HOME.
context_ptr: u32The current (context) directory object.
stack_ptr: u32The saved data stack pointer (D1): level 1’s entry.
stack_end_ptr: u32The nibble after the data stack’s 0 end marker.
system_flags: u32The system flags -1, -2, … (bit 0 of the first nibble is -1).
user_flags: u32The user flags 1, 2, …
flag_words: usize64-flag words of each kind: 1 on the 48, 2 on the 49G.
Pointer to the menu the soft keys show: its definition (48SX) or an XLIB name of the menu library’s entry for it (48GX, 49G); wiki: hardware/hp48-system-ram, “Menu”.
The number of the first key the menu’s page shows, from 1: 1 on the first page, 7 after NXT, 13 after another (a 5-nibble field; wiki: hardware/hp48-system-ram, “Menu”).