Arduboy Crosscompiling

Creations

Sorunome

6 months ago

So, some time ago I worked on cross-compilation of Arduboy games.

For those of you who don't know, Arduboy is an Arduino-based gaming system, similar to the Gamebuino Classic but with a different screen and with a different MCU. You can find their website here: https://arduboy.com/


Anyhow, here is a screenshot of cross-compiled Mystic Balloon:

And the settings page:

There are two display modes: fast and recordable. In fast display mode games should actually run at 60FPS.

Frameskip happens automatically if CPU usage goes up, and gets disabled again automatically if enough CPU time is free.


To cross-compile your own games you need to replace the Arduboy includes with the correct cross-compile library ones:

You will also need to remove everything that has to do with Serial.

If a game defines its own main function, comment that out / remove it.


On that note, use this at your own risk, some games may work better than others.

View full creation

STUDIOCRAFTapps

NEW 6 months ago

Nice! I would still prefer porting 100% the game and adapt the screen size to the gamebuino meta's one but this does it for now.

Sorunome

6 months ago

Of course! Porting a game is prefered!

Sorunome

NEW 6 months ago

STUDIOCRAFTapps STUDIOCRAFTapps

Of course! Porting a game is prefered!

deeph

NEW 6 months ago

I missed that but this is really awesome and you certainly spent a lot of time on this ! Well done :)

Will you spread compiled binaries ? (with the original author's agreement if needed ?) It would greatly expand the Meta game collection !

Sorunome

NEW 6 months ago

I do not plan on spreading compiled binaries, it should however be very easy to cross-compile games yourself ;)

NightWolf

NEW 5 months ago

I'd like to see Arduman and Squario cross-compiled. I'll see if I can figure out how to do that. 

geed

NEW 3 months ago

I tried to convert MicroCity and Evade2 but it wrote "compilation error". I must compile for "GBMeta" or something other ?

Sorunome

3 months ago

Yeah, you have to select "Gamebuino Meta" as board

Sorunome

NEW 3 months ago

geed geed

Yeah, you have to select "Gamebuino Meta" as board

Blixten

NEW 2 months ago

I just tried to cross-compile Mystic Balloon, but I get:
undefined reference to `Gamebuino_Meta::transfer_is_done'
undefined reference to `Gamebuino_Meta::myDMA'
in  ...\libraries\gamebuino-arduboy2\src/Gamebuino-Arduboy-Compat.cpp

The only changes I did in Mystic Balloon was in globals.h, where I replaced:
  #include <Arduboy2.h>
  #include <ArduboyTones.h>
with:
  #include <Gamebuino-Arduboy2.h>
  #include <Gamebuino-ArduboyTones.h>

Any suggestions?

Sorunome

NEW 2 months ago

You need to make sure both your gamebuino library and the cross-compile library are at the latest version

Blixten

NEW 2 months ago

Sorunome Sorunome

Sorunome

2 months ago

The repos moved to github, sorry! The only one that needs updating is https://github.com/Sorunome/Gamebuino-Arduboy2

I'll go right ahead and edit the top post with the new repo URLs

Sorunome

NEW 2 months ago

Blixten Blixten

The repos moved to github, sorry! The only one that needs updating is https://github.com/Sorunome/Gamebuino-Arduboy2

I'll go right ahead and edit the top post with the new repo URLs

Blixten

2 months ago

Thanks!

I did find out that if I used release 1.0.6 of https://github.com/Gamebuino/Gamebuino-META/ then it worked, but now I changed to the latest and using the moved cross-compile library, and that also works.
It always feels best using the latest revision.
Thanks again for you help!

Blixten

NEW 2 months ago

Sorunome Sorunome

Thanks!

I did find out that if I used release 1.0.6 of https://github.com/Gamebuino/Gamebuino-META/ then it worked, but now I changed to the latest and using the moved cross-compile library, and that also works.
It always feels best using the latest revision.
Thanks again for you help!

jicehel

NEW 3 weeks ago

Please when you succed cross compile a game (from Arduboy or other port), please share it in a creation to let other profit of your works. ;)

Please log in to join the discussion!

Log in