Skip to content

feature: Mini Micro BIOS screen #37

@JoeStrout

Description

@JoeStrout

Summary

Perhaps Mini Micro needs a "BIOS" (Basic Input-Output System) screen to let the user change global preferences through a UI.

This would be a custom UI that appears above all other display layers, pausing the VM while it is up. The user would interact with this UI with mouse and/or keyboard.

Note that unlike bootOpts.grfon, which is often shipped with a bundled project, most these settings are meant to be set only by the user (particularly for security reasons). In other words: bootOpts.grfon is "settings that go with this app," while BIOS gets you to "settings I (the user) prefer for my machine".

BIOS Content

Settings to consider including:

We could also consider including some features that just allow you to view the machine state, for debugging purposes. This could include the state of the 8 display layers, and perhaps what sounds are playing.

Invocation

You could bring up the BIOS screen in two ways:

  1. During app launch: hold down prescribed modifier keys (I think control + shift should work on all platforms)
  2. While running: click or right-click on the Mini Micro logo on the bezel, or press control + shift + f12.

Once the BIOS screen is up, you dismiss it by simply pressing Esc.

Disabled on WebGL, and via bootOpts.grfon

I currently see no need for the WebGL build to have a BIOS screen, and devs deploying games to the web would probably prefer not to have it. So, let's just ignore the usual invocation triggers on WebGL.

In addition, let's add a new bios true/false (defaults to true) key to bootOpts.grfon, allowing project devs to disable the bios for their shipped games. In this case, all the machine settings would revert to defaults (/usr2 and /lib unmounted for example).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions