[Solved] Bootloader version 3 is ready!

Hello

I am so close to getting the whole thing together, but a nagging issue persists.

The mbed online compiler sticks some bytes after the key in the memory and apparently it needs those bytes. I’ve tried to move them but to no avail

I know where the problem is, I am working on it, there are many ways to solve this but I want to get it working so that newbie users using the mbed online ide do not have to worry about it.

So, its ongoing.

But do not be alarmed if you can’t load from the SD at the moment. I know theres a bug.

Here’s the bug for those who are interested. After copying the game asterock.bin from SD card, you see that the bytes after the bootloader key are different. And the stupid mbed compiler forces these somehow and they are needed.

1 Like

Honestly I’ve also faced the problem with bootloader working only the first time. I was sure @jonne was already aware of the problem so just a matter of time to get it fixed.

https://pbs.twimg.com/media/C_i6HCeVYAAq7_c.jpg

2 Likes

Yes.

And while I am at it, I am going to fix some other things as well, as in: auto-updating & versioning of the bootloader. I already noticed that maintaining it is a chore, so now its going to be automagic.

2 Likes

Hello all

I am working on a new loader (am testing it already).

The big benefit of this new loader is that it is “auto-updating”. I noticed when I was constantly recompiling the binaries on mbed community page, that maintaining a new version of loader is going to get very complicated over time.

The way it works is as follows:

  1. pokitto boots, and user asks for loader
  2. pokitto checks what is the version of loader resident in memory
  3. if POK_ENABLE_LOADER_UPDATES is true, Pokitto looks for a file called LOA.DER on SD
  4. Pokitto checks if version on SD card is more recent than the one in memory
  5. If yes, Pokitto reprograms loader from SD to memory

In this way, if you want to keep the loader up-to-date, the only thing you need to do is to keep a new version of LOA.DER on SD card. All programs will automatically update loader if necessary.

An added bonus here is that the SD card loading can be accelerated a little bit. But more on that later.

4 Likes

Ohhh yeah… this IS the way

Works like a dream now

EDIT: offline works, now need to implement in mbed online as well

YES. It works. No more glitches.

Updates to libraries & instructions coming up later (maybe not today)

5 Likes

Its a beauty.

  1. it works
  2. it auto-updates from SD
  3. its faster

A full instructions and files coming up soon

HOWTO use it:

Here is a .zip file of the binaries I am using: pokibins.zip (303.2 KB)

  • Put 1 of the .bin files on pokitto (does not matter which one)
  • put everything on SD card (LOA.DER is the actual loader v3 program)
  • reset and go to loader, it will start the update process and install the loader
5 Likes

Awesome! works perfect in my pokitto :smiley: (I can C!)

Just one little suggestion, can we have an option to skip everything if no key is pressed?

4 Likes

Currently you can set these on a per-game basis when compiling, but I agree that it should be an option in the boot loader instead. Is this possible @jonne ?

3 Likes

Yes it is possible. We can store settings in EEPROM.

In fact, suggestions for things to put in the settings tab are most welcome.

1 Like

@eried’s proposals are very nice. Having options to skip the 2 screens (bootloader & volume) would really be a great start.

2 Likes

Using a similar design to the .arduboy files (or maybe just a txt file near the bin file) it would be also nice to provide a little text while the game is loading. Example:

pixonia.bin
pixonia.txt

Pixonia

The adventure begins when blah blah

Controls: bla blah

So when the file is loading you get a little textbox that makes the experience feel faster

But, I guess you are super overloaded with stuff to do :smiley: right now. These suggestions can wait until I get fully into pokitto hacking.

1 Like

Very clever… :sunglasses:

1 Like

There is this UI spec that already covers description & icon for the game in SD card:

3 Likes

To be honest, bootloader is going to be frozen for a while now.

This week I plan on sending 100 more Pokittos so I have my hands full

2 Likes

Oh! did see that, looks super sweet, so the same data could be used in the loader, awesome. And the icon.

Maybe the whole collection can look like tiny catridges in shelves, no text list. And you get the author, description and controls after loading (loading screen contains all that information and B goes back to the list, A loads the game retaining the info in screen), something like:

4 Likes