pub struct EditorLayout {
pub text_end_ptr: u32,
pub stack_end_ptr: u32,
pub cursor: u32,
pub entry: u32,
pub line: u32,
pub keys: u32,
pub alpha_lock: u32,
pub program: u32,
pub message: u32,
pub message_box: bool,
pub chars_position: Option<u32>,
}Expand description
Where a model’s ROM keeps its editor in RAM (wiki:
hardware/command-line). *_ptr fields hold 5-nibble pointers; the
others are nibbles whose bits are listed with them.
Fields§
§text_end_ptr: u32Pointer just past the text’s first character (the temporary
environments, local_vars in the 1991 address list).
stack_end_ptr: u32Pointer past the data stack, the lowest the text may reach.
cursor: u32The cursor, 5 nibbles, in characters from the start.
entry: u32Bit 1 insert mode, bit 2 algebraic entry.
line: u32Bit 1 a command line is open, bit 2 lowercase lock.
keys: u32Bit 0 left shift, bit 1 right shift, bit 2 alpha.
alpha_lock: u32Bit 0 alpha lock.
program: u32Bit 0 program entry.
message: u32The message nibble: on the 48 bit 0 is set while the header shows a message (an error); on the 49G it, or the nibble after it, reads #F while an error box has the keyboard.
message_box: boolErrors show in a box (49G), not in the header (48).
chars_position: Option<u32>The byte the 49G’s CHARS application opens on (it remembers the
last one); None where CHARS always opens on 128 (48GX) or does
not exist (48SX).
Implementations§
Source§impl EditorLayout
impl EditorLayout
Sourcepub const HP48SX: EditorLayout
pub const HP48SX: EditorLayout
48SX (ROM J).
Sourcepub const HP48GX: EditorLayout
pub const HP48GX: EditorLayout
48GX (ROM R).
Sourcepub const HP49G: EditorLayout
pub const HP49G: EditorLayout
49G (ROM 2.10).
Sourcepub fn of(model: Model) -> Option<EditorLayout>
pub fn of(model: Model) -> Option<EditorLayout>
The layout of model, or None for the aplet models and the 42S.
Sourcepub fn require(model: Model) -> Result<EditorLayout>
pub fn require(model: Model) -> Result<EditorLayout>
The layout of model or an error naming what the model lacks.