Log In  

So, this may not work in future versions of Pico-8, but right now, I've noticed that if you do a load() within your game game code, you still have your base ram untouched until you run run(). With that info, you can use objelisks technique (https://www.lexaloffle.com/bbs/?tid=1860) and use cstore(x,y,z) and some empty space in the spritesheet to transfer info from one cartrige to another. Then use run() to switch to the new cartrige and peek to read back the transfered info. A single sprite equals 32 bytes with is good enough for a metroidvania.

As I said, there's no guarantee that load() will work like that in the future and it probably wouldn't work like that on a "real" Pico-8 console, so in a way it could be considered cheating. But right now it works.

P#10224 2015-04-26 06:17 ( Edited 2016-11-08 16:46)

:: jph

I like it,. multi-ROM games are like mega carts where in hardware, . .

P#10227 2015-04-26 08:40 ( Edited 2015-04-26 12:40)

One way around it might be to use a password system between carts.
Would feel very old school.

P#10818 2015-05-20 18:30 ( Edited 2015-05-20 22:30)

password....no ugly and awesome at the same time....

P#30518 2016-10-10 04:20 ( Edited 2016-10-10 08:20)
:: Scathe

It unfortunately also wouldn't work in the web player, which is probably how the vast majority of PICO-8 games are played. By a longshot.

P#30951 2016-10-14 17:03 ( Edited 2016-10-14 21:03)

If you don't want to load(), you can always reload().

Also, haven't found it yet but I swear multi-cart support was high on a list of upcoming web-version features.

P#30970 2016-10-14 23:38 ( Edited 2016-10-15 04:01)

You can also use the GPIO pins in the web browser. I don't think the BBS does anything with them, but you can if you're self-hosting the games. Since the GPIO pins are written to a javascript array, you can store data in to that and have the website switch cartridges (and then read the data back from GPIO pins.)

There's no way to automatically know when the cart has written to the GPIO array though*.

  • You can manually patch the .js file so it runs a callback upon write, which would let you do this smoothly in the browser. I haven't tested that much.
P#32335 2016-11-08 11:46 ( Edited 2016-11-08 16:46)

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2020-03-28 09:52 | 0.012s | 2097k | Q:24