Arduboy Crosscompiling

Créations

Sorunome

il y a 6 ans

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.

Voir la création

STUDIOCRAFTapps

NEW il y a 6 ans

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

il y a 6 ans

Of course! Porting a game is prefered!

Sorunome

NEW il y a 6 ans

STUDIOCRAFTapps STUDIOCRAFTapps

Of course! Porting a game is prefered!

deeph

NEW il y a 6 ans

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 il y a 6 ans

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

NightWolf

NEW il y a 6 ans

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

geed

NEW il y a 6 ans

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

Sorunome

il y a 6 ans

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

Sorunome

NEW il y a 6 ans

geed geed

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

Blixten

NEW il y a 6 ans

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 il y a 6 ans

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

Blixten

NEW il y a 6 ans

Sorunome Sorunome

Sorunome

il y a 6 ans

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 il y a 6 ans

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

il y a 6 ans

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 il y a 6 ans

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 il y a 6 ans

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. ;)

Juice_Lizard

NEW il y a 6 ans

Hello, I try to port my Arduboy game "Cutie E" but I have this message: Gamebuino-EEPROM.h: No such file or directory. Do you know what I need to do?

Sorunome

il y a 6 ans

You need to install the Gamebuino-EEPROM emulation library, you can find it here: https://github.com/Gamebuino/Gamebuino-EEPROM

Sorunome

NEW il y a 6 ans

Juice_Lizard Juice_Lizard

You need to install the Gamebuino-EEPROM emulation library, you can find it here: https://github.com/Gamebuino/Gamebuino-EEPROM

Juice_Lizard

il y a 6 ans

Thank you! That works much better. I can now "play" (read) "The guy who never complains" on my Gamebuino Meta. It is a little bit slower than on Arduboy but it works. (I have to press the buttons longer.) I can also display the title screen from my other game "Cutie E", but it happens nothing when I press some buttons.