Skip to content

v0.1.5 Beta

Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 29 Dec 21:37
· 1384 commits to master since this release
9892ac2

December Momentum

A few folks have found the time in December to start chipping away at some of the rough edges of the 32blit codebase. This is awesome. As a consequence this release includes improvements, bug fixes, tweaked examples, a fancier system menu, some Visual Studio TLC and more.

Launch Time

With internal flash storage being precious and dwindling fast, it was high time to investigate separating the Launcher into its own binary to it could be free to flourish and bloat beyond our wildest dreams. @Daft-Freak took the lead on this and fixed up the necessary plumbing to make it work. Keeping the ability for the launcher to flash/delete games - since it's actively running out of external flash - was no small feat!

This means to things:

  1. You can now make your own launcher if you don't like the default one.
  2. You need to install launcher.blit or you wont be able to launch games!

When you upgrade to this release, don't forget to stick launcher.blit onto your SD card or flash it with the 32blit tool.

Home & Menu Swapped At Last

The Home (House button on final units, burger menu on beta) and Menu (vice versa) button functions have been swapped to their intended states. Now the left-most button (Home) will display the system menu with a short press, and exit the current game with a long press. The right-most button (Menu) is for use in your games.

More Awesomer System Menu

The system menu also has some improvements championed by @lenardg, including sub menus to tuck some of the less widely used options out of the way.

Most notably is a new button bind for "mute/unmute" so you can quickly turn off sound without affecting your saved volume level. Additionally both volume and brightness now have fewer individual steps, so it doesn't take a year to navigate through them.

Juicy details about the battery have been moved into "Battery Info" where you can still see the voltage, VBUS source and charge status.

A new "About 32blit" menu also joins the ranks, showing firmware version and build date plus whether the device is beta/retail (I imagine mods will make this less physically obvious in future).

Overall the menu is really starting to feel like a menu now. Yay!

Flippin' Fast

STM32 wizard @zenodante has returned with more low-level trickery, bringing a lores DMA2d flip that somehow manages to accomplish pixel doubling from the 160x120 back-buffer to the 320x240 front buffer in a three step process.

While this doesn't really get us any speed gains yet, it offloads some crucial processing to a hardware peripheral rather than the CPU and opens up the door for interleaving 32blit system tasks with the individual DMA2d steps.

The LTDC back-buffer has also changed to RGB565 from RGB888, freeing up 150KB RAM. This is a slightly controversial change since there's an 18-bit connection between the STM32 and the display (RGB666) so technically we lose 1-bit of colour-depth from red and blue.

But... c'mon... 150KB is a whole bunch of RAM! And 16-bit colour is more retro, right?

Mass Storage

@Daft-Freak found a setting for MSC (Mass Storage) mode that increases the packet size and, in some cases, makes it faster. Handy!

TLDR

When you upgrade to this release, don't forget to stick launcher.blit onto your SD card or flash it with the 32blit tool.

Home and Menu have swapped.

All The Things

  • Prevented accidental "install" of invalid games/null selections - thanks @a2
  • Improved system menu with battery info - thanks @lenardg
  • Added a "mute" shortcut to the system menu, and reduced number of vol/backlight steps to something more manageable - thanks @lenardg
  • Added "About" to the system menu - thanks @lenardg
  • Fix tween starting position - thanks @ahnlak
  • New custom font and point alignment examples in text dem - thanks @ahnlak

Thanks to @lenardg, @ahnlak, @a2, @zenodante and - as always - @Daft-Freak for helping pack this release with tweaks and fixes.

As usual the complete list of changes is available here: v0.1.4...v0.1.5