Cart Builder: Difference between revisions
No edit summary |
No edit summary |
||
| Line 78: | Line 78: | ||
[[File:CartBuilder_UploadGame.gif|thumb]] | [[File:CartBuilder_UploadGame.gif|thumb]] | ||
New games can be added to the cart to share with the community or to include on your own bespoke cart. | |||
To upload a game, you must include a <code>.hex</code> file and a 128 x 64 pixel, black and white <code>.png</code> file for display in the bootloader menu. Optionally, the game might have one or two <code>.bin</code> files that store additional graphics or other assets and to save program data. These will typically be named <code>{gameName}-data.bin</code> and <code>{gameName}-save.bin</code> respectively. | |||
Revision as of 08:02, 16 June 2024
The Cart Builder is a website that allows you update an Arduboy FX or Arduboy Mini variant with the latest games contributed by the community. There are a number of existing cart definitions ranging from the 'Full Enchilada' - which contains all games available - to speciality carts including Filmote's curated list of games, a Press Play on Tape fan cart and others.
The site also allows you to contribute games and to create your own cart with custom categories, etc. Contributed games can be made available to the community or kept hidden and only available to the contributor.
Due to the different wiring of the Arduboy FX and Mini variants, there are a number of different URLs that specify the Arduboy variant and the initial cart configuration. These URLs are enumerated below:
Arduboy FX
- The Whole Enchilada This cart contains all the games that have been published for the Arduboy FX.
- Filmotes Curated List This cart is a selection of games that curated by Filmote, the site's owner. The intent is to keep the list to approximately 100 - 125 titles.
- PPOT Flash Cart This cart contains all Filmotes's & PPOT games in one collection.
Arduboy Mini
- Full Enchilada This cart contains all the games that have been published for the Arduboy Mini. This is also appropriate for any device that uses the PE2/HWB pin for CS on the flash chip.
Flashing a Cart to an Arduboy
Most users will simply want to flash the entire cart to their Arduboy periodically. When using a recent version of Google Chrome, this can be done directly from the site. When using other browsers, there are additional steps and software involved.
Flashing a Cart using Chrome / WebSerial

Uploading a cart using Google Chrome is the easiest way to update an Arduboy. It uses a new technology, called WebSerial, which is not available in other browsers at time of writing. Before using, ensure that your instance of Chrome is up to date.
- navigate to the Cart Builder website using the appropriate link above.
- ensure your Arduboy is plugged in and powered on.
- click the 'Upload' button in the top-left corner of the website.
- the website will generate a cart for you based on the selections you have made. This may take up to a few minutes depending on the number of games included in the cart.
- once the cart has been finalised, click 'Upload' on the presented dialogue. At this point, Chrome will enumerate the USB ports of the device and present a dialogue showing these connections. Select the USB port that the Arduboy is connected to and click 'Connect'
- the cart will be flashed to the Arduboy. Depending on size, this can take a few minutes.
Flashing a Cart using the Arduboy Toolset

Uploading a cart using the Arduboy Toolset can be achieved following the steps below.
- navigate to the Cart Builder website using the appropriate link above.
- ensure your Arduboy is plugged in and powered on.
- click the 'Download Bin' button in the top-left corner of the website.
- the website will generate a cart for you based on the selections you have made and download it as a
.binfile into your downloads directory. This may take up to a few minutes depending on the number of games included in the cart. - open the Arduboy Toolset and select the 'Flashcart' tab.
- the Arduboy Toolset should indicate that it has detected your Arduboy. If not, turn the device off and back on again so that id at the Arduboy bootloader screen.
- click the 'Open File' button and select the newly created
.binfile then click 'Upload' to flash the cart image to the Arduboy device.
Flashing a Cart using the Python Scripts

Uploading a cart using the Python Scripts can be achieved following the steps below.
Prerequisites
Before attempting to flash a cart, you will need to install Python and some additional libraries:
- install Python 3 Download and install Python 3 from the download website. When installing on Windows, check option 'Add python.exe to path' when installing)
- install PySerial For Windows, run
python -m pip install pyserialfrom command line. For OSX, runeasy_install pyserialfrom a terminal window. - install Pillow For Windows, run
python -m pip install pillowfrom command line. For OSX, runeasy_install pillowfrom a terminal window. - download Mr.Blinky's Python Utilities from the GitHub repository here. This is a zip file and can be expanded into a convenient directory.
Process
- navigate to the Cart Builder website using the appropriate link above.
- ensure your Arduboy is plugged in and powered on.
- click the 'Download Bin' button in the top-left corner of the website.
- the website will generate a cart for you based on the selections you have made and download it as a
.binfile into your downloads directory. This may take up to a few minutes depending on the number of games included in the cart. - open a command window and navigate to the directory where the Python Utilities were expanded to. Run the command
python flashcart-writer.py {path to bin file}/flashcart-image.bin
Adding a Game to the Cart

New games can be added to the cart to share with the community or to include on your own bespoke cart.
To upload a game, you must include a .hex file and a 128 x 64 pixel, black and white .png file for display in the bootloader menu. Optionally, the game might have one or two .bin files that store additional graphics or other assets and to save program data. These will typically be named {gameName}-data.bin and {gameName}-save.bin respectively.