Homemade arduboy with flash memory

Hi all,

First i want to say that i am impressed with the arduboy community!

After building a Gameboy One and MintyPi (https://www.sudomod.com/forum for more info), this is a great project to get involved with.

But i have A question…

I already made a breadboard arduboy, and i can say it works great (with big thumbs up to mr Blinky for his great work).
Already ordered some flash memory chips, so i can load more than one game.
Now my question is, to get this up and running which Sketch do i load?

Can i load any game sketch (with the cathy 3K bootloader of course), or do i only burn the bootloader?
As i said i already have a running homemade ardu, this is the only part i could not find any info on (maybe I’m not looking in the right place).

Hope anyone can point me in the right direction, thanks in advance…

2 Likes

It’s a two step process, first you need a separate isp programmer (or another arduino) to burn the bootloader, then you’ll need to use Blinky’s python script to write the multi-game bin to the flash chip normally over the micro usb port.

1 Like

Ok, thanks for the info.

But isn’t the bootloader loaded onto the micro when you upload a sketch, using the Arduino ide with mr blinky’s addon?

You can only program a bootloader with an external programmer. Actually, when you are using Arduino you are talking to the bootloader that is programmed onto the chip. Without the bootloader, Arduino cannot do anything (over the USB cable only).

1 Like

The game loader is not a special sketch you download (as with gamebuino) but is embedded in a custom bootloader. In order to upgrade the stock bootloader on the arduino to the custom bootloader, you need an ISP programmer like an USBasp or a 2nd Arduino like @sjm4306 mentioned.

An USBasp can already be bought for $1.25 if your patient

1 Like

Ah all clear, i have both (Usbasp, and multiple arduino’s) lying around so burning the bootloader should not be a problem.

Done this before, i assume all settings are correct (eg fuses) when doing this through the Arduino ide with mr Blinky’s package loaded.

Is there by any chance a faq/wiki/howto available on this subject?
Tried searching the forum/google but have not found it yet.

1 Like

What did you search? Searching “burn bootloader” on the forum brings up these two results first:

I was under the impression that the custom bootloader was already loaded with uploading a sketch (been using arduino’s for years and i should have known that’s not the case :blush:).
So my search focus was more on flash memory and how to use it… on the wrong track i realise now :grin:.

So to recap,

1 burn the bootloader (cathy 3k)
2 ? Just put games in flash memory ?
3 play any game and have fun!

Thanks (again) for showing the right direction.

For some more detailed step by step instructions you might try this:

This picks up from the point you’ve flashed a bootloader on the chip and connected the flash cart.

You’ll need the utilities to burn the cart.

Flash succeeded!
Got the usb boot logo, and a test sketch loaded successfully.
Now awaiting the memory chips.
To be continued…

3 Likes

Nice! Did you flash the updated bootloader from yesterday? It allowes you to use the reset button as a soft on / off button

1 Like

I will check, used the arduino ide.
Does your package use the update function in the ide?

I now know how to load it :wink:

A arduino with soft off, nice :+1:

1 Like

No I’ve not made an updated pakage yet (still working on something I want to add). But the package source is up to date. you can copy it over the installed package or just upload the bootloader hex file with avrdude.

2 Likes

Will do that, thanks (again :slightly_smiling_face:).

2 Likes

Okay, partial succes…
I hooked up a W25Q128 chip and succeeded to load the games demo bin onto the chip.

.
I can create a backup from the chip as well.
But now i can’t get the ardu to boot into the menu, i only get the usb boot logo and nothing else.
Pressing a/b only gets me to the game that was on the ardu…
Feel like a noob am i missing something?

Edit: at “cold” boot i have to press a/b too boot in game/sketch at “hot” boot (eg after flash) it’s boots straight into the game/sketch.
With sketch i mean the one that I’ve loaded on the arduino, not from flash memory.

This is all with the latest bootloader, didn’t use the previous long enough to say this behaved different.

You can run the test sketch and poll the device ID of the flash cart, but if you are able to write to it this shouldn’t be the issue.

My guess is the cart is built without a main menu splash screen perhaps?

1 Like

I used the test bin file included in mr Blinky’s python utility’s.
I assume this is a “ready to go file”, but maybe I’m assuming too much :wink:

It should be fine… Can you press left or right?

1 Like

Yes, i tried that but with no result.
I’m working at the moment will have another try tomorrow.
Don’t think it’s a big issue, maybe overlooking something…

Please try again using the latest flascart-writer script

Edit:

The newer version of the bootloader boots up in bootloader mode (menu mode) by default.
If you wish to auto start the last selected/uploaded sketch like before you can clear bit 7 of EEPROM addres 0x0001 (EEPROM_SYS_FLAGS)

When running the writer tool the device and manufacturer ID is also displayed (which is displayed correctly in the above screenshot)

1 Like