GameSlots - save multi games at the same time

Brief:

  • This is an additional feature of bootloader, to Save/Load games into exFlash. Based on https://github.com/mmoskal/uf2-stm32f, v2.8.2
  • And each games saved with Settings at that time as well.
  • Eg: Meowbit can save 4 games at most at the same time, or 5 if the game in main flash counts.
  • Only Meowbit edition provided by now, for I have no other Arcade device to test.
  • NOT Kittenbot official, developed by Aqee independently

Some Terms:

  • console: Arcade game console, Arcade game device.
  • U-drive: The removable flash drive when Arcade console pluged into computer.
  • Main flash: Main flash, the storage inside the main chip of Arcade console, in which BootLoader&Settings&Game stored, when you downlaod at Arcade editor web page.
  • exFlash: The storage provide by a additional chip, W25Qxx, SPI interface, but never used before by Makecode Arcade. Meowbit exFlash capacity is of 2MByte, OOB
  • slot: Space in exFlash be splited into slots, 512KB each. So Meowbit can save 4 games at most.

How to use:

  • Update bootloader(first time, once)

    • !!! Backup all files in U-drive before continue !!!
      image

    • Plug USB cable onto computer, drag Meowbit_GameSlots0.1_Bootloader2.8.2.uf2 to U-drive, then reset
      image
      image

    • Volumn Label should changed to “ARCADE-F4gs”, in which “gs” means GameSlots edtion.

  • Save/Load Game (with Settings at that time)

    • Download load game as usual (games saved into main flash)
    • Press A+Reset, to enter Gameslots management interface.
      • Slots will show at right as bars, if your console can save games.
      • Current game name will shown at left underneath the console icon, if there’s game in console.
    • operations:
      • Key Up/Down choose slot
      • Key Right for choose “Save To” (write game from main flash to slot, game in slot will be covered.)
      • Key Left for choose “Load From” (write game from slot to main flash, game in main flash will be covered.)
      • A to excute
      • B to quit
Further Infos

Recover:

  • If U-drive works
  • U-drive doesn’t work
    • Very very seldom, never happend to me
    • Should have become a half-brick (chips with SWD interface should not be a real brick)
    • Ask a STM chip expert helping to repair, with your backup file(or official bootloader updater file provided) with professional tools(hardware&software).

Other device possibility

  • Very possibly if claimed CircuitPython/MicroPython supported.
  • Very possible if defined PIN_FLASH_CS in config. Check by draging CONFIG.BIN or CURRENT.UF2 onto https://microsoft.github.io/uf2/patcher/.
  • Almost all stm32 dev board has a SPI Flash. Or designed, but not soldered on.
12 Likes

sadly my meowbit broke yesterday, woest timing

1 Like

So badly.
Hope it can be fixed.

2 Likes

This is awesome! I just tried it out on my MeowBit, and it works great!

3 Likes

i dont think it can, the battery was leaking battery acid.

1 Like

That’s not good😬

1 Like

Great to heard!
Thanks for the trust very much, and for your trying with a little risk :sweat_smile:

2 Likes

Actually, any lipo can replace it, as long as the connector is same. You can reused the connector of brocken one if the new one have a diff connector.

1 Like

Really? GameSlots? What issue have you met ?

3 Likes

I’m guessing that was in response to the batteries and not gameslots :wink:

This is super cool, I’ll give it a shot with one of my meowbits :slight_smile:

4 Likes

Hah, hope so. :rofl:

Thanks for your trying, looking forward for your feedback.

2 Likes

Yeah it was for the batteries😅

3 Likes

Just as an update, it does not work on the Kitronik Arcade.

3 Likes

That is to be expected. A bootloader config file with code written expressly for the meowbit will not directly work on another platform.

2 Likes

Yup, this is Meowbit edition on STM32F4 serial MCU.
While Kitronik is SAMD51 serial, doesn’t support yet.

2 Likes

Yes, but this bootloader was wroten setup hardware with configs, so it’s possible work on other STM32F4 consoles by replacing with config part of that device.
Later I will public a “Volunteer Wanted”, to provide updater for other F4 console owners.

2 Likes

Thanks, good to know.

2 Likes

2 short demo videos:

Add storing multi games feature for Arcade consoles(Meowbit STM32F4 by now).
By dragging the new bootloader file into U-drive of your console.

Switch games anytime, offline(unplugging USB cable).

2 Likes

Pretty nice firmware. Easy to use, and useful. I do have a problem though where after testing out with two games being installed on it, I now get an error that says “Slot Init Failed!” and that means I can no longer install other games on it. Completely restarting the device by the slide switch did work though, which is a relief. Two suggestions though:

  • Save settings from other games, it isn’t necessary but it’ll be nice to have your progress for example for an RPG game be kept when loading other games.
  • SD card support, the MicroPython (Or should I say CircuitPython, that was in boot_out.txt) firmware does support it out of the box and you can easily put the files there (Boot takes more time to initialize SD card) so maybe it’s possible to add SD card support?

But even without these, it’s pretty nice (It’s fine if you don’t add them, I know how hard fixing bugs and how implementing certain features are), very good for the very first version and I like it.

2 Likes

Here’s a step-to-step tutorial on how to install GameSlots and put multiple games for anyone that don’t know how to put in games into GameSlots:

  • Connect your MeowBit to your computer
  • Go to the bootloader screen (Hold A when pressing RESET if you’re on version v2.8.2)
  • On your computer drag & drop the GameSlots firmware file (Also a UF2 file) to your MeowBit’s drive
  • When the MeowBit is playing the game, hold A when pressing RESET
  • Now you’re on the slot screen, select which slot you want with UP and DOWN buttons to save to and press the RIGHT button to go into SAVE state
  • Press the A button and wait for the progress bar to completely get to the right
  • (Optional) Now, disconnect your MeowBit from your computer and connect it to a different power source.
  • Go to the slot screen (Hold A when pressing RESET)
  • Select your slot with your game by using the UP and DOWN buttons, then press the LEFT button to go into LOAD state
  • Press the A button and wait for your MeowBit to load the game
  • You are finished!
    Note that the save data between your games will not be saved. (Things like highscores will not be saved when resetting)
2 Likes