I've been playing around with the Orange Pi. I know the original BASIC Engine didn't have much video memory, and I experienced having to resize sprite sheets to make them load (for example making them wider and narrower to load successfully).
With the Orange Pi I'm trying to load a 192x272px sprite sheet and getting an "Out of video memory" error. My guess is that there is enough memory available. Is this something that needs updating in the build, or something I need to do to make this work? NOTE that I cannot see the free memory amount when running SYSINFO on the OPi.
Answer: I remembered that you are loading images into the extra "off screen" memory. You can work out how much of this there is by looking at the difference between PSIZE(1) AND PSIZE(2).
In my screen mode, the difference was 270 (2px shy of my image!) so it wouldn't fit. Making it wider and reorganising the sprite sheet a bit has made it load successfully.
I am curious if we can extend this buffer though by using more RAM?
Bumping this thread, because I've wondered the same!
Fun observation: the way that the memory allocation works, the order of the sprites matters. So if (like me) you have a three large-ish ones that should fit depending on how they're organised, you can experiment with the order and find that it will start working.
davegardnerisme Are you loading large images (larger than 32x32 pixels) and scaling them down?
I'm loading sprite sheets that are 144px square roughly.
If the automatic off-screen memory allocation doesn't work well for you, you can load the graphics to a fixed location and specify the sprite pattern position manually.
I have thought about making video modes more customizable, and adding more off-screen memory would be quite easy (it's just RAM, and we have tons of that), but it is still something that has to be implemented, tested and documented, and I'm strapped for time ATM.