Draw bitmap from RAM

Since gb.display.drawBitmap draws bitmaps only from PROGMEM, is it possible to somehow make it draw from RAM? The Gamebuino library is LGPL, but I want to license my game under a different license than GPL which I can’t if I modify the Gamebuino library to make it draw bitmaps from RAM. I like the drawing routines of the Gamebuino library. Could I contribute to the library in order to avoid the GPL-ification of my game?

@Zvoc47, I think that you should ask Aurelien Rodot from Gamebuino about this as he is the main creator of the Gamebuino library and he decided to share the library under LGPL.

You can find him over on the Gamebuino community forum:


1 Like

Thank you very much! Aurelien solved my problem by giving me a big explanation on a topic there.
https://gamebuino.com/community/topic/modifying-the-gamebuino-classic-library-to-display-bitmaps-from-ram-without-licensing-my-game-with-lgpl-gpl#c852 This is where it is.

“gb.display.getBuffer ()” can be used to display images directly from memory.

uint8_t *disp;

disp = gb.display.getBuffer();
*(disp) = 0xaa;
*(disp + 1) = 0x55;

Did something appear on the top left?
By applying this we can create a function to display bitmap.

But how is the bitmap format supposed to be rendered? What is its format like? I want to know without looking at the original code because it would count as if my code is a derivative work of the LGPL’d library.

This is based on GLCD’s standard data format.
NOKIA 5110 This is RAW data of GLCD itself.
The address (pointer) obtained by gb.display.getBuffer() has a length of 504 bytes.
There are six pages worth of portrait with 84 bytes as one page.
It is a very simple (but not familiar) system, so it is recommended to try various things.

It is sample once.

I was also a bit inconvenienced about the license of the gamebuino library being LGPL.
With the exception of the SD boot function, gamebuino and Makerbuino are equivalent to ordinary Arduino.
I think big for the existence of SD boot.
But if you compromise, at least GLCD, SD, button. Speakers can be used in the same way as Arduino.
Many of the Arduino Library also adopt LGPL.

To use them without using the library …
The BBC micro: bit source code may be helpful.
For example.