Prince of Arabia FX

OK, I have fixed it but need to repackage it.

Thanks for pointing it out.


Version 1.3 released … thanks @wesbat for the tip.

Best to get it from the cart.


Do you mean from Cart Builder?

I ask because it still says V1.0.0

Damn forgot to update the database ,… this is definitely V1.3 not V1.0

1 Like

The challenges of revision control! Thanks for keeping your repo up to date, I know many people appreciate it!

1 Like


is there some kind of HowTo to get this awesome looking game on my device? I have two ArduboyFX’ and none of them seems to get it loaded.
With the latest build from Git I tried the following:

  • uploading with the Arduboy uploader: just a red error screen
  • uploading with ArduinoIDE 1.8.19 (board: Arduboy FX): Error while compiling: Sketch uses 30000 bytes (101%) of program storage space. Maximum is 29696 bytes.text section exceeds available space in board

Global variables use 2055 bytes (80%) of dynamic memory, leaving 505 bytes for local variables. Maximum is 2560 bytes.
Sketch too big; see for tips on reducing it.
Error compiling for board Arduboy FX.

  • uploading with the python tools in PrinceOfArabia\fydata\Arduboy-Python-Utilities: Shows Upload success!! but the Arduboy screen just turns black and must be rebooted.

Can someone please give instructions on how to upload correctly? Thanks sooo much!


Strongly recommend the Arduboy Toolset as the easiest way to manage the games on an FX right now.

Incidentally, @bateske (the creator of the Arduboy) will be streaming a tour of it today.

1 Like

Ah it’s a bit more complicated than that. Assuming you don’t have FX save data already (meaning you haven’t played Dark and Under 2 or you don’t care about the saves) the best path would be:

  • Go to Cart Builder and download the .bin for the latest full cart. There should be buttons in the top left corner to do so. This cart includes Prince of Arabia
  • Download + open Arduboy Toolset
  • Connect your arduboy and turn it on. Arduboy toolset should recognize it
  • Go to the Flashcart tab and open file for upload. Choose the large bin file you downloaded (something like 10mb)
  • Click Upload and wait for it to complete.
  • When it’s done, you can safely disconnect arduboy. Prince of Arabia will be under “Adventure”

Thanks both of you. I did not know that such a tool was available. And the cartbuilder looks awesome. Pretty good work! I will test this tomorrow.

I should clarify that I wrote the Arduboy Toolset, it’s not an official tool, just a community-made one. And I only started writing it a month or two ago lol, so there’s not a lot out there on it.

Hi there,
used the cart builder and the from the PrinceOfArabia subfolder and it worked great. Also did a EEPROM and flashcart backup with the Toolset (as shown in the stream) and all worked well! This made the Arduboy even better!! Loads of new games to explore - awesome jobs!
I fell in love with AVR programming this year and one (chain of) question came to my mind: When trying to upload the PoA with ArduinoIDE, there is not enough space in flash for this game. So, is there only the flashcart saved in the ATMega’s flash and the actual program data is put on the FX chip? Can I see how much more space is available there? And was the classic Arduboy limited to only one game at the time? (bit off topic I know…)

Other way around - the machine code is loaded onto the ATmega32u4, and (in Prince of Arabia’s case at least) all the level data, graphics, et cetera are stored off-board on the FX chip.

Games are free to decide which data they keep on the FX chip, so you might have e.g. graphics stored in progmem and levels stored on the FX chip.

The only thing you can’t store on the FX chip is machine code because the 32u4, and presumably the majority of AVR boards, are only able to execute machine code stored on the on-board flash. They are unable to execute machine code stored anywhere else.

Theoretically that should be possible, but I’m not sure which tool (if any) would have that facility.

Yes. It doesn’t have the off-board FX chip, it only has the 32u4’s three memory pools (progmem, RAM, and EEPROM).

You can do a rough calculation.

The current .bin file is 11.3Mb of an available 16Mb on the FX chip.

@haloopdy that could be a nice little feature for the cart capability in your toolset. A running total of the overall cart size versus available.

When compiling I set the compiler as shown below:

The result:

Sketch uses 29576 bytes (99%) of program storage space. Maximum is 29696 bytes.
Global variables use 2055 bytes (80%) of dynamic memory, leaving 505 bytes for local variables. Maximum is 2560 bytes.

That’s 120 spare bytes. You could make another level with that!

Shouldn’t that be 1.13 MB out of 16 MB?