GameBoy emulator

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

1 Like

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)?

1 Like

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!!

1 Like

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.

2 Likes

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 :fire:

1 Like

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.

1 Like

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.

2 Likes