Skip to main content

Module ram

Module ram 

Source
Expand description

A read-only view of a paused calculator’s user memory: the HOME directory tree, the current directory, the data stack and the flags, read straight from RAM through the ROM’s own system pointers. Nothing is written and the calculator does not change mode, so a host can show it at any time; the values are those the ROM left when it last went idle (in its outer loop, the stack showing), which is where a paused machine normally sits.

Locations per model (48SX, 48GX, 49G) and the layouts: wiki: hardware/hp48-system-ram. The 38G, 39G and 40G keep aplets, not a HOME tree, and the 42S has no RPL user memory (its RAM holds HP-41-style programs and registers; wiki: hardware/hp42s); neither is covered.

Structs§

Flags
The flags as 64-flag words, flag 1 (or -1) in bit 0 of the first.
Layout
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.
UserMemory
User memory of a paused machine, read through layout.
Variable
A variable of a directory as the calculator lists it (VARS order, BYTES size and checksum).

Functions§

change_counter
See UserMemory::change_counter.
crc
The calculator’s CRC over nibbles (wiki: hardware/crc; BYTES zeroes the CRC register and reads the object).
current_path
The current directory of machine, e.g. ["HOME", "A"].
flags
The flags of machine.
memory_tree
HOME’s variables of machine, newest first, with sub-directories.
stack_objects
The data stack of machine, level 1 first.