Strange, because I don’t have this problem. During a game, I press Select + Start, which saves the current state of the game onto the SD card (and ram). If I turn off the PicoCalc and then turn it back on, I just have to press Start to resume the game from where I left off.
that is a savestate, whereas i believe jblanked is asking for SRAM (“battery save”) feature
Yes or maybe even to flash
The save state would work I think too, but it’s not working for me either. I can hit Select + Start but even when rebooting a pressing Start, it still starts the game over
Just to be clear:
]
is A[
is B=
is Start-
is Select
Correct?
Yes, that’s right. Do you get back to the menu by pressing Start + Select?
I also tested with Pokémon Blue without any issues.
Could you try the latest build of my bootloader-compatible version (https://github.com/TheKiwil/PocketPico/tree/bootloader/prebuild)?
Ahh I see the trick now (I also just tried your latest RP2350 build)
For me, inside of the game, I had to hold -
then click =
, to get to the on-boot menu. From there, I’m able to turn off the PicoCalc and the state will save. Now when I reboot and then press -
+ =
on the on-boot menu, it brings me get back to my game state
Great work on this!!
I tried your build for RP2040 too! Great job getting to build (I tried for a couple hours the other day and decided to move on). However, none of my roms are working with it (it says loading, then it freezes after it loads)
Hi @jblanked, I reconnected my Pico1 to the PicoCalc and was able to identify the source of the issue.
If a save file (.bin
on the SD card) was created with a Pico2, the program crashes because the memory layout is different (the Pico2 has more memory than the Pico1). I made a few optimizations for the RP2040 and tested them.
However, you need to make sure that no save file created with an RP2350 is present before starting the game. I believe this specific case (going from a Pico2 to a Pico1) will be very rare and doesn’t require further attention.
The new RP2040 prebuild is available in the repository.
Amazing work!
What’s the ram usage on something like this, as I want to make this an available app for Astralixi OS in the future if possible.
It’s working now!! GREAT job. The Save State feature works with the RP2040 too
The emulator is loaded into RAM (compiled with the copy_to_ram option). On the RP2040, it uses 93% of the memory, which is 243 KB, while on the RP2350, it uses 44.73%, which is 234 KB of RAM.
Any limitations for the ROMs? The NES emulator, as far as I understood, can run ROMs up to ~41k
Limitation related to the Pico’s memory size (2 MB for Pico 1 and 4 MB for Pico 2). For example, Pokemon is one of the largest games and takes up 1 MB.