Bootloader UI Discussion

I don’t know if fullscreen titles would be best for us. If we want to have something a little smaller so that the user knows that they’re in the main menu.

image

image

This is kinda what I was imagining. If we do a title string and author string, that would be nice.

Actually, this brings up another issue. With @Mr.Blinky’s main menu, he sorted through by the author, then selected by the game. I don’t think that’s wise.

image

This is another layout. With some kind of scrollbar, it would make sense to use the left/right arrow keys to ‘jump’ down the list farther, so you don’t have to scroll down one at a time through the potentially tens of games.

I also think that we could employ a hold-to-scroll-faster feature.

Another thing, the first game on the list could be something that isn’t a game. Like, it’s just the Arduboy logo or something. The game on the list (accessed by going ‘up’ in the list from the first game) could be a settings program, like we previously discussed.

Oh, and if we could save the game number into EEPROM upon launch, we can show the same game when you boot up the device, preventing the need to scroll through them.

Sorry that this may seem off-topic.

I think the screen is too small to add author string. The A something B something are redundant as they always have the same function and are explained on the loader screen.

The arrows are redundent too. you can always move left /right when there is at least one group. If the intention is to indicate it is the last group by not adding an arrow then you’ll need to change the titlescreen in case a new group is added.

A title string is also redundant when the title screen holds the name already.

However If the PC side manager would add the arrows and title as an overlay to an title screen, it also becomes posible to use a blank screen when there is no title screen.

@Mr.Blinky, is there a technical way to ‘exit’ from within a game and jump back to the main menu without restarting the system?

The games can be sorted in any way you like with the manager. I chose by Author as I was lazy. Technically a game could be linked in another group so you could put the same game in a author group as a catagory group.

If you wan’t all the fancy graphic stuff like scroll bars it needs to be done by the PC side manager. The bootloader is just capable of showing 1K static screens.

None of the graphics are to scale and the arrows don’t have to be that large. I added them in Circuit Dude because they look nice and solidify the fact that you can scroll through menu options, even though it was likely obvious to most.

image

My layouts were based off the idea that these games are not grouped in any way.

Why is it called the PC side manager? What is that supposed to be?

I don’t have a better name for it and PC as in Personal Computer (not only x86 / Windows)

That is what I thought and that just leads to further questions.

What does the scroll bars have to do with the PC side manager? I am not talking about anything on the PC. I’m talking about a user interface that the player sees as soon as they start the Arduboy FX up where they can scroll through games, then select and launch one.

Here, you allow people to scroll through lists. I’m suggesting that we have a single list. In fact, I am suggesting we skip this screen entirely and just go to a default menu program. I think showing someone the instructions for buttons on a single screen, then hiding that isn’t a good idea.

It isn’t exactly intuitive to look at this screenshot and to think that you are looking at a menu where you can click to play one of my games. There’s no arrows to show the user to scroll around and there’s no telling people what the A and B button are. I think it’s just a little better to show those hints to the user the entire time that they’re in the menu instead of just once before they see the menu.

Are you suggesting that in order to get scrollbars and UI and stuff in this menu that the PC program that burns the games needs to modify/create these images that are put onto the Arduboy, to make it look like there’s actually UI programmed when there isn’t any?

The very first time the user turns on the device from the factory, let’s call it fresh boot. I think it should auto-run a demo game with fancy video and tell you the story of Arduboy.

Then after that this is my suggestion for the operation of the boot menu. It’s a combination of intuitive and unobtrusive to someone who knows how it works.

Also, I think we should probably hold back a lot of this questions or judgments until I get dev kits distributed to everyone. It seems like a wealth of these questions could be answered with some first hand experience with the device.

Furthermore, I’m sure looking into the code would help a lot too. I know I haven’t bothered to do that yet so that’s why I haven’t asked too many questions related to the software.

1 Like

Yes. Because the bootloader has very little space it shows only a screen stored on the flash memory. So arrows,scroll bars titles etc has to be done by the manager. When not done by the manager you put it in the hands of the author him/her self (and scroll bars/limiting arrows are not possible)

Ah so we probably don’t have much space to store an overlay? Or, could we store an overlay in a dedicated section of our external memory and bring it in that way so it’s not actually stored in the bootloader flash? That reserved memory that holds the overlays could also maybe hold some easter eggs for the loader menu :smiley:

OR what we can do is require that the author upload a 48pxX96px bitmap logo along with the game title string… The image will be added to a static background, the text converted to bitmap form, and a scrollbar is placed into it all to make a composite image by the PC manager thing. Scrolling through the games, it will not look like a static image if it appears that the scroll bars are moving and the name is changing, for instance. :smiley:

Instead of editing them offline, I would be in favor of using an overlay graphic stored in reserved memory to get this done.

Not being able to store/retrieve/show the title and author information if we don’t have the code space to do that isn’t a huge issue. But I would like the overlay to come on after a delay.

And yeah I don’t think we need a 2 dimensional array for the games (lists), just one array that is ordered according to most recently played. If possible. If not just store the last game played which seems to already be happening.

Also keep in mind lets not rag on @Mr.Blinky you know he has been doing this for a long time and now all of a sudden we have all of these questions. I’m sure playing around with the hardware will help.

1 Like

InB4 “It won’t fit in the bootloader”.

It’s @Mr.Blinky’s new leitmotiv. :P

It would take up exactly the same amount of space. XD

You’ve checked the size of the assembly instructions that would be required to do the drawing?

@crait is suggesting we prepare the images offline to only LOOK like a menu to the user.

2 Likes

Yes, I have. The assembly instructions to draw an image is equal to itself. :smiley:

@bateske is right. I am suggesting we prepare the images ourselves to incorporate the UI into them if space is a concern. We’re going to have to actually go through and prepare the selection screens, anyway.