Skip to content
Josh Goebel edited this page Nov 3, 2021 · 26 revisions

pmem

pmem index -> val Retrieve data from persistent memory

pmem index val -> val Save data to persistent memory

Parameters

  • index : an index (0..255) into the persistent memory of a cartridge.
  • val : the value you want to store. Omit this parameter to read vs write.

Returns

  • val : when the function is call with only an index parameter, it returns the current value saved in that memory slot.

Description

This function allows you to save and retrieve data in one of the 256 individual 32-bit slots available in the cartridge's persistent memory. This is useful for saving high-scores, level advancement or achievements. Data is stored as unsigned 32-bit integers (from 0 to 4294967295).

Tips

  • pmem depends on the cartridge hash (md5), so don't change your lua script if you want to keep the data.
  • Use saveid: with a personalized string in the header metadata to override the default MD5 calculation. This allows the user to update a cart without losing their saved data.

Example

Example

--pmem demo
--load saved value at slot zero and save it back
--incremented by 1
pmem(0,pmem(0)+1)

function TIC()
 cls()
 print("Started "..pmem(0).." times");
end
Clone this wiki locally