Freeing up some more storage space

@bigjosh.

So I hit a wall again with Hexxagon where I am at 99% storage usage and I want to add some new features. I was thinking about ways to do that and I started wondering…

As I understand it, currently a Blink has 2 partitions (maybe 3 due to the bootloader?): 1 for the resident game and another one for the learned game.

Also as I understand it, BlinkBIOS is backed inside both partitions as it is part of the game image itself (is this correct?).

Would it be possible/worth to move it to a separate partition so that both games could use it from there and thus save the space used for an extra BlinkBIOS copy? The reason I asked is because looking at the Hexxagon generated files, I see this:

-rw-rw-r-- 1 bga bga 16554 Dec  1 09:49 blinks-hexxagon.ino.hex
-rw-rw-r-- 1 bga bga 28388 Dec  1 09:49 blinks-hexxagon.ino.with_bootloader.hex

It looks like BlinkBIOS itself takes around 11Kb so more than double of the space available for a game currently.

If what I inferred has any merit (i.e. what I am describing is not what already happens) it looks like if this was possible a game could use around double the storage space it uses currently. That would be REALLY useful. :slight_smile:

Forget it. I guess Blinks only have 16 kb of flash total. With 6 kb going to game storage (each one) that only leaves around 4 kb for blinkbios so I assume there is only a single copy of it in the blink. Oh well.

1 Like

Correct, a single copy of the BIOS firmware lives in the special bootlader area of the chip.

The “active” game lives in the bottom half of application flash memory and an image of the the “built-in” game lives in the top half. The “built-in” game is copied to the “active” area any time the blink is powered up or you enter seed mode by holding the button down while the blink is alone.

Note that it would technically be possible to make a game that only lived in the active area and so could span all of application flash memory, but this would mean that it could only share its game to blinks that did not have any built in game (or else that built in game would get covered). This becomes less of an issue where there is another way to seed games rather than directly from an existing blink (hint hint).

2 Likes

I am looking forward to this new way to seed games, buts mostly because I want the extra storage space badly. :slight_smile: