Skip to content

v2.9.0

Compare
Choose a tag to compare
@stevesims stevesims released this 04 Jun 19:05
· 67 commits to main since this release
d5b1737

2.9.0 release of the Agon Console8 VDP

This is the sixteenth official release of the Agon Console8 variant of the VDP firmware. It is suitable to be installed and run on any and all Agon Console8 and Agon Light machines, and is fully compatible with either versions 1.04 or later of the Agon Quark MOS or version 2.0.0 or later of the Agon Console8 MOS software.

Supporting development

If you would like to support the development of the Agon Console8 and Agon Light firmware, you can sponsor me on GitHub or join my Patreon.

Please also consider supporting @breakintoprogram on Ko-Fi

Release notes

This is a "minor" release that contains several new features and bug fixes.

Arguably the most significant new feature in this release is the support for drawing bitmaps with an "affine transform". For those that don't speak maths, that means plotting bitmaps with rotation, scaling, shearing, etc - where any and all of those operations can be combined. Thanks are owed to @calc84maniac and @astralaster for helping debug this new feature. At this time, this feature is still experimental, as it is expected that other drawing operations may gain support for affine transforms, and the exact features of the API may change as it evolves. As a result whilst this feature is present in this release to access it a feature flag must be set.

Several other new features have been added in this release.

In summary, the new features in the 2.9.0 release are as follows:

  • Feature flag API
    • Some new features may be added behind a "feature flag".
      This may be done for a new feature that is ready for developers to start using but with an API that may change as the feature is developed further
  • CRC16/32 verification added to hexload, enhancing communications integrity (from @envenomator)
  • "Print buffer" command for fast printing of the contents of a buffer
  • "Expand bitmap" command allows other depths of bitmaps to be converted into a format the Agon VDP can use
  • The ability to plot bitmaps with an "affine transform"
    • This is an experimental feature available behind a feature flag
    • An API is provided to create and modify 2D affine transforms, supporting many common operations such as translate, rotate, scale, skew, etc.

This version also includes a bug fix for setting text viewports in mode 7 (from @lennart-benschop)

Upgrading from a Console8 2.x version, or Quark 1.4 RC3

If you are already using a Console8 version 2 release of the VDP (including Alpha releases), or Quark 1.4 RC3 or later, then you are strongly recommended to use the agon-flash utility, the latest release of which (v1.6 at the time of writing) can be downloaded here.

Simply download the firmware.bin release file below, place it on your Agon's SD card, and follow the instructions.

Upgrading from earlier VDP versions (or from the 2.8.0 release)

If you are using Quark 1.03 or 1.04 (before 1.4 RC3) or the Agon Console8 2.8.0 VDP then the easiest way to update your VDP is to use the online Agon VDP installer.

Another option is to upgrade by building from source using PlatformIO.

Alternatively instead of building one can use esptool from the command line of a Windows, Linux, or MacOS machine, or the ESP Flash tool on Windows using the bootloader.bin, partitions.bin and firmware.bin files attached to this release. Some advice on how to do that can be found here.

This release was built using PlatformIO.

What's Changed

Full Changelog: v2.8.1...v2.9.0