Mise a jour gamebuino meta - By Odolyte

Author :  Odolyte

Il serait utile dans la rubrique "mettre √† jour votre gamebuino" de conna√ģtre quelle est la derni√®re version du loader et du bootloader en cours ainsi que les am√©liorations apport√©es de fa√ßon √† savoir si il est utile de mettre √† jour sa GB...

Merci !

Author :  Max

Ça c'est bien vrai ! 

Author :  Steph

Effectivement, tu as raison, ce serait + visible. Et je dirais m√™me plus, √ßa pourrait carr√©ment appara√ģtre dans l'en-t√™te des pages d'accueil, de l'Acad√©mie et du Forum communautaire avec des pastilles dans ce genre l√† (par exemple) :

Mais tu peux aussi suivre le projet sur GitHub et être prévenu automatiquement à chaque mise à jour :

Author :  mike_j503

I also thought about this in the past; what's the latest boot loader version and if I already had it.


Author :  Sorunome

Latest one is 1.2.1. Pretty sure sold units were only either 1.2.0 or 1.2.1, the difference between the later two are just internal optimizations. There are no known bugs in either bootloader version.

Author :  Steph

And what is this?

Loader-META/loader/loader/loader.ino

Author :  Sorunome

That is the loader, and not the bootloader! ^^ The latest one is 1.2.6 and you can easily update it by just dropping the new binary into your sd card

EDIT: to clarify:

Loader: Program called loader.bin at the root of your SD card - it takes care of easily displaying different games with the nice icon and title screen, you can view your screenshots, set your console language, and change other settings!

Bootloader: 32K program residing at the top of flash, always, and is not replaceable. It takes care of things like upload through USB working, switching between different binary files from the SD card, some bootup stuff like automatic program validation and thelike

Author :  Thierry

Can we summarize vocabulary and source of current versions?

Is there a link between all those versions?

Author :  Sorunome

Library

The C++ library which you use to make your own games etc. It provides interfaces on how to communicate with the hardware easily. Repository is here.

Loader

Program that displays all your games on your SD card neatly, allows you to easily browse them and switch between them. Also has features such as setting the default name and viewing all screenshots of a game. Repository is here.

Bootloader

Little program that always resides in the top of flash. The bootloader is what first runs when you turn your console on. It does some things like initializing some clocks on the board and verifying that a valid program is currently loaded. If no valid program is loaded it automatically tries to load the Loader from the SD card, if that fails it has other fallbacks etc. The bootloader is also invoked when switching between games, it reads binary files and flashes them into the gamebuinos flash memory. Unfortunately no source code available.

Arduino IDE board definition

A simple JSON file which tells the arduino IDE how to use the gamebuino as a board to compile sketches and upload stuffs to it. You can see its json file here. The json file is auto-created using some php scripts based on SQL data, the repo for that is here.


EDIT: And everything has its own version numbering as they are basically independant. The only thing with similar version numbers are bootloader and board definition as they, at least in early development, went a lot hand-in-hand.

Author :  Thierry

In case of issue with bootloader, where can we get it to flash it back? (I only mean binary file as source is not available)

Author :  Sorunome

You really shouldn't be able to accidentally break the bootloader, if you end up having a problem, please contact us (gamebuino team)

Author :  Steph

This can happen if you want to install the official distribution of CircuitPython, since the bootloader must be changed in this case.
Therefore, I share the question of Thierry: how to reinstall the META bootloader?

I found no information anywhere on this subject, neither on the forum, nor on the Academy, nor on the showcase site. I think it's a shame... It gives the impression that it's locked...

Author :  Steph

How did Adafruit achieve this? They must have had access to an uf2 file, right?

I think it would be great to document the installation of the bootloader on META!

Author :  Sorunome

This can happen if you want to install the official distribution of CircuitPython, since the bootloader must be changed in this case.

To be able to do that you would, yes, need to modify the bootloader, but to be able to modify that at all you'd need an external programmer controller. The USB upload can never modify the bootloader (at least with the META bootloader, other arduino bootloaders often don't have that protection)

Author :  Sorunome

I think it would be great to document the installation of the bootloader on META!

Due to large copycat potential we currently do not distribute binaries, sorry

Author :  Sorunome

How did Adafruit achieve this? They must have had access to an uf2 file, right?

It seems more like they used the open-source library to cross-compile and SD switching isn't working for them. This is just speculation.

Author :  Steph

Ok... indeed, it seems that they only installed METAtris in their demo :-)

"to be able to modify that at all you'd need an external programmer controller".

Do you mean that it is impossible (for us, simple users) to install the official version of CircuitPython on META?

"we currently do not distribute binaries"

So you mean that, assuming that it is possible to install the official version of CircuitPython on META, it would be impossible for me to then return to the official Gamebuino program? I must admit, I'm a little shocked!

Author :  Thierry

So what I read here is : if you have problem, with a device made for learning, you fully depends on us.

I own devices that are 20+ old and I am more than concerned by proprietary locking. 

Let's resume:

  • no source access to several pieces, including CircuitPython which is an open source project itself.
  • no access at least to binaries to restore the Meta by myself
  • documentation, tutorials and help handled on a large part by the community

Please, tell me I'm wrong, this project has such a wonderful potential...

Author :  Sorunome

Do you mean that it is impossible (for us, simple users) to install the official version of CircuitPython on META?

Due to the different bootloader size, yes

So you mean that, assuming that it is possible to install the official version of CircuitPython on META, it would be impossible for me to then return to the official Gamebuino program? I must admit, I'm a little shocked!

Nah. Feel free to try out: your meta will crash and load back the loader from the sd card with no damage done. Either that or it freezes, in which case you double-click the reset button, also loading the loader.bin

Author :  Sorunome

  • no source access to several pieces, including CircuitPython which is an open source project itself.

Which all several pieces do you mean? As for CircuitPython, as previously announced, we are working on releasing the source code of our fork soon!