#2 Memory management functions.

open
nobody
TNT Basic (8)
6
2006-02-03
2006-02-03
Danny (nods)
No

The addition of a group of memory management functions with which to
create, locate, navigate and alter the contents of 'memory banks' (to coin
an AMOS / STOS phrase). Suggested functions (lifted directly from the
manuals for the previously mentioned apps):

"Reserve As (bankNum, lengthInBytes)" //Create a user defined block of
[zeroed] memory on the tb heap

"addr=Start(bankNum)" //loads the int addr with the address of the first
byte of memblock bankNum

"size=Length(bankNum)" // returns memblock size in bytes

"Erase(bankNum)" //Delete the memblock bankNum

"byte=Peek(addr); word=Deek(addr); long=Leek(addr)" //Get values held
at addr

"Poke(byte, addr); Doke(word, addr); Loke(long, addr)" //Set values held at
addr

"addr=Varptr(variableName)" //Get address of variable

"bool=Exists(bankNum)" //Has bankNum been defined. Not originally
present, but a handy addition

If this were to be implemented, it would also be 'really' handy to be able
to define the values of integers in hex and binary string notation (for
masking and other binary operations).

Discussion

  • Danny (nods)
    Danny (nods)
    2006-02-03

    • priority: 5 --> 6