8 months ago
I'm starting to design game a little more ambitious than all I tried before, and I'm facing that the memory question with the Gamebuino META is still quite unclear for me.
So I have a bunch of questions that should help me to get my head clear and concieve my game the right way :
What part of the compiled code exactly is loaded into the RAM, and what part is loaded is the flash memory ? For example if I store a bank of image assets in a "images.h", and then I use them to provide a Sprite class or a Map class or whatever, how can I keep an eye on memory occupation ?
And for example if I load an image in gb.display that is wider than the screen (say much wider), I'm not sure if only a part of the whole image is buffered into the RAM and then swaped as needed (if I move camera for example), or if the whole asset if loaded.
I don't know if those questions are actually relevants but as I said the memory problem is still unclear for me, so thank you if someone can help me to update a little my vision :) !
NEW 8 months ago
What part of the compiled code exactly is loaded into the RAM
None typically. The address space on this CPU includes the flash so program code is read and executed from flash - and the same with data (images, sprites, etc). Most of the built-in graphics routines if you're loading an image that's been compiled into flash then the only memory used is to keep track of the image metadata (it's frame, width, height, pointer to the data in flash, etc).
And for example if I load an image in gb.display that is wider than the screen (say much wider), I'm not sure if only a part of the whole image is buffered into the RAM
The largest "buffer" is the "VRAM" or buffer used for the screen itself. So depending on your graphics mode that is a large chunk... so if you draw something to screen it's read from flash and then written to the "VRAM" so that it appears on the screen. Again other than metadata the full image shouldn't be taking up a lot of space in memory.
You an also allocate images directly in RAM if you want to do so and the pointer to the image data will then point to a large piece of RAM, not flash.... but that's only if you choose to do so.
NEW 8 months ago
Someone could explain fully the recipes of the META Memory, with a memory map like schemes below ?
(Draws below are just example, not matching with META)
I think it's could be a good start point to explain how memory works, we could define the differents types of memory and show what go in the differents zones and how to use wich / know how many space is free, asw...
NEW 7 months ago
Here is the Datasheet, our Chip is a SAMD21G18A-xxx: