Skip to content

v0.0.7 Beta

Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 17 Sep 10:29
c780f72

It's been a long time coming

It's been about 6 months since I tagged a new release and a lot has changed.

Daft Freak has, as usual, been an absolute legend; carrying the torch with numerous 32Blit software improvements while we've been tangled up surviving lockdown.

The codebase has moved forward to embrace C++17 features such as string_view, which now requires a minimum GCC version of 7, which added experimental support for these features. Ubuntu 20.04 is recommended and includes GCC 9. @Daft-Freak also supplies a PPA with a GCC backport for 18.04 users.

New Tooling Requirements

  • CMake minimum version is now 3.8
  • GCC minimum version is now GCC 7
  • Python minimum version is 3.6

Screenshots

@Daft-Freak has graced 32Blit's firmware with the ability to dump the framebuffer into a .bmp file.

image

Just use the "Take Screenshot" option in the menu, and a numerically ordered "screenshotX.bmp" will be saved to the SD card.

Palette Mode

Also gracing this release, albeit it's been around for a while, is palette mode. We don't know if this is its final form but it makes a lot of sense for DOS ports. If my lockdown-addled, tired and rusty memory serves it was added by @Daft-Freak to support his DOOM port - https://github.com/Daft-Freak/32BlitDoom

Nicer Firmware Menu

@Daft-Freak has also ported some of our firmware menu enhancements into the master branch, this - at long last - brings the ability to have more games on 32Blit than is possible to fit on a single screen.

TLDR

Documentation:

Thank you to @shane-powell, @ahnlak and @mylogon341 for contributing to the documentation.

New stuff:

  • new paletted screen mode! (thanks @Daft-Freak)
  • Embedded/concatenated assets can be treated as files (thanks @Daft-Freak)
  • Rename/remove added to file API (thanks @Daft-Freak)
  • vec2 * vec2 (multiply operator) (thanks @Daft-Freak)
  • firmware menu has a screenshot button! (thanks @Daft-Freak)
  • firmware game list now scrolls, whee! (thanks @lowfatcode and @Daft-Freak)
  • hard faults will now reset back to firmware, with an error screen (thanks @Daft-Freak)

API changes:

  • blit::pi is the new math_pi or M_PI (thanks @Daft-Freak)
  • all basic types are moved into the blit namespace (thanks @Daft-Freak)
  • various methods converted to snake_case and other tidying (clang-tidy) (thanks @Daft-Freak)
  • clip argument removed from text, now uses global clipping rect (thanks @Daft-Freak)
  • blit::buttons is now a struct with .pressed and .released tracking (thanks @Daft-Freak)

Fixes, tweaks & tidyup:

  • QSPI switched to 4-byte addressing for those tasty tasy high bytes (thanks @Daft-Freak)
  • i2c bus speed bumped to 400KHz
  • fixes to battery voltage ADC reading, increasing integration time
  • multiple tweaks for code size reduction (thanks @Daft-Freak)
  • fixed overflow/loading bugs in Surface (thanks @ymauray)
  • fix audio timing from ~21633Hz to ~22048Hz (thanks @Daft-Freak)
  • numerous SD card tweaks, fixes and performance enhancements (thanks @Daft-Freak)
  • fixes & tweaks to 32Blit uploader tool (cpp) (thanks @illbewithee & @sminifie2)
  • fixed game template not compiling with VS2019 (thanks @lenardg)
  • tweaks to mass storage- can manually exit if not mounted, resets when USB disconnected (thanks @Daft-Freak)

Examples:

I've tried to highlight everything noteworthy- but it's a huge changeset. For a complete list of commits in this release, see: v0.0.6...v0.0.7