v2.9.0
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
- Some new features may be added behind a "feature flag".
- 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
- Adding CRC16/32 verification to hexload by @envenomator in #214
- Fixed text viewport setting in MODE7 by @lennart-benschop in #219
- add “print buffer” command by @stevesims in #220
- add “expand bitmap” buffer command by @stevesims in #221
- Transformed bitmap plots by @stevesims in #222
- bump version to 2.9.0 by @stevesims in #224
Full Changelog: v2.8.1...v2.9.0