Log In  


I am definitely seeing a way to store more than 256-bytes at a time.

cartdata("mister_1")

for i=0,63 do
  dset(0,i)
end

cartdata("mister_2")

for i=0,63 do
  dset(0,i)
end

And then I'm greeted with this message:
CARTDATA() CAN ONLY BE CALLED ONCE

Really ... really ? I mean if you could have multiple Cartdata() commands you could save, well, gee, I don't know, 8192 bytes perhaps ??

Good grief. There's one things in setting limitations in a programming language for nostalgic purposes and then there's just outright imprisoning your data ... 😨



Yes, that's correct. Think of it as the PICO-8 cartridge having a limited amound of battery-backed presistent RAM, like Game Boy had (although it of course had multiple banks...).

If you need to save more data, consider using CSTORE()/RELOAD() to write to the "ROM" of multiple cartridges.


The B&W Gameboy saves 16k. And yes, I would use CSTORE, if it was available at all modes including EXE and local .JS.

https://www.lexaloffle.com/bbs/?tid=31613

As it is, I'm thinking I need to make a cart with 16-files to squeeze 256-bytes out of each.


Yes, like I said Game Boy had multiple RAM banks. I do homebrew Game Boy dev, and I'm pretty sure the Game Boy can save 2K, 8K or 32K (not 16K?) with an MBC1, actually, or as much as 128K with MBC5 ;P

The analogy is just that the cartdata lives on the cart, like the battery-backed SRAM on Game Boy, and it can't be swapped out. It's not the best analogy since carts can share it, but still, it's not meant for storing large amounts of data.

What are you making where you need to make a cart with 16 files to squeeze so much cart data out of them? And at what point will you consider PICO-8's limitations too harsh for your needs?


(1) 32k would be nice.

(2) At the programmer's discretion.

(3) Considering I doodle daily in 8x8 pixels, doesn't seem too likely. Pretty sure I can work in both RFA and PICO.



[Please log in to post a comment]