Arduboy Live Dev

External flash memory is coming to the Arduboy! Inspired by @Mr.Blinky and his efforts to add external memory to the Arduboy, I’m learning how to work with the hardware and software so it can be integrated into the production hardware.

image

The eternally gracious @Mr.Blinky has offered to tutor my learning and by directing me through chat while I broadcast a twitch live stream trying to follow his instructions.

If you would like to play from home you’ll need to be using hardware described in this post:

6 Likes

Here is the first recorded stream where we performed the following:

I had music on at parts, so it mutes the audio you have to click to unmute, I’ll do better next time!

Here is the things we covered:

  1. Install Arduino
  2. Install Python
  3. Download Game
    https://github.com/MrBlinky/Arduboy
  4. Install Arduboy2 Library
  5. Run Flash Cart Test
  6. Get pyhton utilities from github
    https://github.com/MrBlinky/Arduboy-Python-Utilities
    install into working directory
    make sure python is set in path
    Path = %CD%Python;%CD%Python\Scripts;%PATH%
  7. Install pyserial
    python -m pip install pyserial
  8. Test if pyserial works
    python eeprom-backup.py
  9. Upload video
    python flashcart-writer.py -d .\flashcart\test-sketch\thedoor-frames.bin
  10. Upload ball data
    python flashcart-writer.py -d .\flashcart\test-sketch\drawballs-test\drawballs-test.bin
  11. Flash ball test sketch

There were some bugs in the python script causing corruption of the data which we spent the second half of the stream debugging. It was figured out off line the cause and has since been fixed so you no longer need to change the memory address manually.

3 Likes

Will be doing another live stream with @mr.blinky on Friday May 24th at 2pm PDT. Sorry for those who the time is inconvenient, but the stream will be archived.

For those who can attend, please do! It was a lot of fun, more fun than I expected!

On the agenda:

Flash the ball game and video data to the cart and also load the games so that you can run the video demo and the ball demo from the bootloader menu.

i.e. run all the demos without it attached to the pc

4 Likes

I think you mean PDT. (In which case that’s UTC-07:00.)

This is cool! is there is a way to make a tiny pcb that can be attached to a genuine Arduboy to add all that goodness?

PS: I am really late to the full Flash cart(ridge) thingy :smiley: but I have order a ROM chip to play one day.

1 Like

Working on it! You’ll still have to flash the bootloader.

Yes I suppose it is daylight savings. For the record, not a fan.

4 Likes

AWESOME! I need one for… research reasons

1 Like

HaHa don’t we all? :smile: :wink:

2 Likes

For exciting news about how to get development kits tune into the stream!

2 Likes

Going live now! Tune in:

Well sorry folks, I forgot to Archive the stream before I started… :frowning:

The good news is what we covered was very simple, so you can probably follow along from the notes, but also we will cover it again in the next session.

  1. Install pillow
    python -m pip install pillow
  2. Prepare one of each filetype, for each game
    .HEX - The compiled game code
    .BIN - The external memory resources for the game
    .PNG - 128x64 pixel 1bit image for the game title within the bootloader
  3. Create a CSV that describes the cart image you want to create
List Description Title screen Hex file Data file Save file
0 Bootloader title arduboyloader.png
1 Ball Test game drawballs-test.png drawballs-test.hex drawballs-test.bin
1 Video Test game flashcart-test.png flashcart-test.hex Thedoor-frames.bin
  1. Prepare a flash cart for both games
    python flashcart-builder.py .\flashcart\livestream-flashcart\flashcart-1.csv
  2. Upload flash cart image
    python flashcart-writer.py .\flashcart\livestream-flashcart\flashcart-1-image.bin

The end result is an Arduboy with 2 games and their respective external resources stored on the external memory so the bootloader can switch between the games. The Description and Save file are not being used yet.

Pro-Tip: If you have added python to your path directory, you can drag and drop the source files onto the pyhton script you want to use and it will automatically execute, you don’t need to open a command window unless you need to run some options or see error results.

1 Like

Are this videos available?

Thanks

Yes, on Twitch, here:

Oh great! Don’t know why it wasn’t loading… working now! Thanks!

1 Like

Sadly not any more :confused:

What the heck, I chose to save the videos. Oh man. I’ll have to redo them, I guess just turn them into youtube videos.

Frmo the twitch help:

For non-turbo users your videos will be saved for 14 days before being deleted. Twitch Partners and Twitch Turbo users will have their broadcasts saved for 60 days before being deleted

So twitch is no good for archiving indefinitely

1 Like

That is the auto-archive. Once they are archived, your supposed to be able to click save and keep them forever.

Anyway to get the videos back? Thanks!

Working on recording a new one and putting it on Youtube!

1 Like