-
-
Notifications
You must be signed in to change notification settings - Fork 492
pmem
pmem(index) -> val32
Retrieve value from persistent memory
pmem(index, val32) -> prior_val32
Save new value to persistent memory, retrieve prior value.
- index : an index (0..255) into the persistent memory of a cartridge.
- val32 : the 32-bit integer value you want to store. Omit this parameter to read vs write.
- val32 : the current/prior value saved to the specified memory slot.
The name "pmem" means persistent memory. 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 integer (i.e. in the range 0 to 4294967295, default is 0).
When writing a new value, the previous value is returned.
- pmem depends on the cartridge hash (md5) and therefore existing data will be erased if the script is changed.
- Specifiying saveid: with a personalized string in the header metadata will override the default MD5 calculation. This allows the user to update a script without losing saved data.
Use pmem to save how many times the cart has been started.
--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
TIC-80 tiny computer https://tic80.com | Twitter | Telegram | Terms
Built-in Editors
Console
Platform
RAM & VRAM | Display | Palette | Bits per Pixel (BPP) |
.tic
Format | Supported Languages
Other
Tutorials | Code Snippets | Libraries | External Tools | FFT
API
- BDR (0.90)
- BOOT (1.0)
- MENU
- OVR (deprecated)
- SCN (deprecated)
- TIC
- btn & btnp
- circ & circb
- clip
- cls
- elli & ellib (0.90)
- exit
- fget & fset (0.80)
- font
- key & keyp
- line
- map
- memcpy & memset
- mget & mset
- mouse
- music
- peek, peek4
- peek1, peek2 (1.0)
- pix
- pmem
- poke, poke4
- poke1, poke2 (1.0)
- rect & rectb
- reset
- sfx
- spr
- sync
- ttri (1.0)
- time
- trace
- tri & trib (0.90)
- tstamp (0.80)
- vbank (1.0)