This is a set of patches updating the tildagon firmware to the latest ctx version, as well as making it use the callback mode - not for saving memory but speeding up applications where most content is static, like tetris and arc pong.

The value of gc.mem_free() was requested from mpremote just after launch, with at least for some of the values gc.collect() first.

Storing in IRAM has a bigger impact when it is the full framebuffer rather than just a scratch buffer - since there is less cache contention with a small scratch buffer.

things that didn't work/improve things:

iram allocationgc.mem_free()menu idle at toparc pongwormholebubblestarfieldspinning cube
the cases with drawlist - suffer from some edge handling in wormhole, and gradient offsets in matrix rain, the full-fb variants have no tearing though
iram, new-ctx, drawlist, fullfb11520019055201817.7515916
psram, new-ctx, drawlist, fullfb017744641817511.6916
the following setups have tearing visible in badgemon green transitions and wormhole
iram, new-ctx, drawlist14400190542418174151016.5
psram, new-ctx, drawlist0187054418174141016
the ones below render all frames always, but have constant memory overhead
iram, new-ctx115200190368017158101317
iram115200193627216.712.56.79.51216.5
psram, new-ctx0178476814.511781116.7
psram0180708813.6116.0810.216.1
0001-Add-an-option-to-show-the-runnings-fps-in-display.patch
0002-sync-with-upstream-ctx.patch
0003-Add-partial-blit-support-to-flow3r-gc9a01-code.patch
0004-Add-option-for-ctx-cb-mode-to-save-memory-100kb-save.patch
0005-Add-more-options-to-scratch-framebuffer-management-f.patch