Skip to content

Releases: AgonConsole8/agon-vdp

v2.9.2

17 Jun 10:53
3e0e3a9
Compare
Choose a tag to compare

2.9.2 release of the Agon Console8 VDP

This is the eighteenth 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 release contains a bug fix related to text printing that had been observed to affect the MC file manager program, and may have affected other programs too.

For more information on the new features that arrived in the 2.9.0, such as transformed bitmap plotting, and other fixes in 2.9.1, please see the release notes for those releases.

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.9.1...v2.9.2

v2.9.1

16 Jun 13:34
278e311
Compare
Choose a tag to compare

2.9.1 release of the Agon Console8 VDP

This is the seventeenth 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 release contains several minor bug fixes and overall code improvements from the 2.9.0 release. Thanks to @tomm for identifying and resolving some code quality issues, and @jblang for helping resolve a minor issue with the new "print buffer" command.

For more information on the new features that arrived in the 2.9.0, such as transformed bitmap plotting, please see the release notes for that release.

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

  • Fix off-by-one error in charToBitmap, and bad indexing by signed char (on platforms with a signed char) by @tomm in #226
  • Fix memory corruption due to out-of-bounds vdu_palette calls by @tomm in #228
  • Audio subsystem rework by @tomm in #229
  • use enum class where appropriate by @stevesims in #230
  • fix printBuffer by @stevesims in #231
  • optimised print routine by @stevesims in #233
  • bump version to 2.9.1 by @stevesims in #232

Full Changelog: v2.9.0...v2.9.1

v2.9.0

04 Jun 19:05
d5b1737
Compare
Choose a tag to compare

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

v2.8.1

27 Apr 14:50
Compare
Choose a tag to compare

2.8.1 release of the Agon Console8 VDP

This is the fifteenth 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 patch release that contains no new features, only bug fixes.

The most notable fixes address issues seen using agon-flash, hexload, address some minor performance issues, and allows version 1.01 of Bad Apple to run correctly.

Upgrading from Console8 2.8.0

A bug, fixed in this release, prevents updates using the usually recommended tool agon-flash to be used for upgrades. The easiest way to upgrade is to use the online Agon VDP installer.

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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.0...v2.8.1

v2.8.0

17 Apr 10:01
896be8a
Compare
Choose a tag to compare

2.8.0 release of the Agon Console8 VDP

This is the fourteenth 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

Technically, this is a "minor" release, which includes quite a few significant new features and bug fixes.

The biggest two features are the addition of a font management API, which allows for different fonts of different sizes to be uploaded to the VDP and used in place of the system font, and a graphics system context management API. The context management API will allow you to temporarily save the current graphics system context/state to a stack so you can make changes and then easily restore back to that saved state. Additionally completely separate context stacks can be selected; this can for example allow for multiple separate text viewports which can have different cursor settings and active fonts.

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

  • Font management API
    • Upload fonts to buffers
    • Easily select and use multiple fonts
  • Context management API
    • Save/restore current graphics state to a context stack
    • Allow the selection and use of multiple separate/independent contexts
    • Easily reset individual areas of graphics state
  • Optimised text printing (measured at up to 50% faster)
  • Enhanced viewport and graphics origin management commands
    • Set text and/or graphics viewports and graphics origin from graphics cursor positions
  • Added a "flush drawing queue" command
  • VDP now boots into mode 0, a 16 colour mode
  • Significant performance improvements to buffered commands API (from @calc84maniac )
    • Greatly increases the speed in processing most buffer commands, especially "adjust" operations
  • Compression and decompression of buffers (from @TurboVega )
    • Allows significant performance boost for loading data onto the VDP
  • Support for multi-direction scrolling in MODE 7 (from @lennart-benschop )

Full documentation on these new features is found in the agon-docs site

Bug fixes in the 2.8.0 release are:

  • Some more cursor movement related bug fixes
  • Fixes for relative coordinate-based plotting when changing origin and chosen coordinate system
  • VDU 26 now actually resets graphics origin (which it was always documented to do)

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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

New Contributors

Full Changelog: v2.7.3...v2.8.0

v2.7.3

06 Apr 11:36
ccd4a11
Compare
Choose a tag to compare

2.7.3 release of the Agon Console8 VDP

This is the lucky thirteenth 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 "patch" release containing bug fixes for some new functionality added to 2.7.0. It contains all of the fixes already present in version 2.7.1 and 2.7.2

This version fixes some further issues discovered in the advanced text cursor movement behaviour system. These issues would only become apparent if using reversed vertical cursor movement, or if the cursor's x and y axes had been flipped.

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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.7.2...v2.7.3

v2.7.2

03 Apr 14:50
376ef9d
Compare
Choose a tag to compare

2.7.2 release of the Agon Console8 VDP

This is the twelfth 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 "patch" release containing bug fixes for some new functionality added to 2.7.0. It contains all of the fixes already present in version 2.7.1

Fixes are as follows:

  • Cursor drawing now explicitly always resets painting options
    • this should ensure that some visual glitches are now all resolved
    • and should fix issues observed with Terminal mode
  • Logic that temporarily hides the cursor when VDU commands are being processed has been improved
    • reduces instances of a flickery cursor being visible when MOS is printing large blocks of text

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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.7.1...v2.7.2

v2.7.1

30 Mar 17:59
3c6c7a9
Compare
Choose a tag to compare

2.7.1 release of the Agon Console8 VDP

This is the eleventh 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 "patch" release containing bug fixes for some new functionality added to 2.7.0.

Fixes are as follows:

  • an issue that prevented scrolling in MODE 7 fixed (default/upwards scrolling only)
  • issues with text drawing in MODE 7 identified and fixed
  • bug that meant that scrolling direction would occasionally be incorrect for some new cursor behaviour options was identified and corrected

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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.7.0...v2.7.1

v2.7.0

22 Mar 10:45
8a6af63
Compare
Choose a tag to compare

2.7.0 release of the Agon Console8 VDP

This is the tenth 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

Technically, this is a "minor" release, which includes quite a few significant new features and bug fixes.

New features in the 2.7.0 release are as follows:

  • Significant performance improvements
    • Compiler optimisations enabled
    • Communications system implementation improved
    • PLOT system boosted
    • Thanks to @movievertigo for work and assistance in this area
  • Support for eight new PLOT operations, which includes...
    • All 4 dotted line operations added
    • New "Fill path" PLOT operation (experimental, exclusive to Agon's VDU system)
    • Arc, segment and sector operations added
    • Improved (faster) support for solid lines that omit start/end points
  • Enhanced cursor support
    • All cursor behaviour options as defined by VDU 23,16,x,y are now supported. That means the cursor when drawing text can now additionally be defined to move right to left, top to bottom, bottom to top, and there are various other options supported too
    • Cursor width and height can now be adjusted
    • Cursor can now be set to be "steady", and blinking speed changed between fast and slow

In testing, performance on one graphical benchmark (bubble-bench) ran in 88% of the time taken, and another (triangle-test) processed 148% of the drawing operations when compared to the 2.6.0 release. The nature of bubble-bench is that it is somewhat CPU bound, whereas the triangle-test is more purely focussed on drawing operations.

Full documentation on these new features is found in the agon-docs site

Bug fixes in the 2.7.0 release are:

  • Single pixel height/width graphical viewports can now be defined
  • Reading text/graphics colours will now return the corresponding palette index
  • Font changes flush the drawing queue, ensuring that they don't affect pending text drawing operations
  • Get screen character will now recognise characters 0-31
  • Fixed issue where scrolling would occasionally (rarely) fill new rows incorrectly
  • Text cursor visibility when moving around the screen is improved
  • Fixed issue where text cursor could be invisible when positioned over certain background pixels

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done 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.6.0...v2.7.0

v2.6.0

08 Feb 16:42
c7abfcb
Compare
Choose a tag to compare

2.6.0 release of the Agon Console8 VDP

This is the ninth 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.

This is a "minor" release, which includes several new features and bug fixes.

New features in the 2.6.0 release are as follows:

  • "Copy and consolidate" command added to the buffered commands API
  • "Set line thickness" command VDU 23,23,n added for straight line plots
  • Allow control keys to be disabled
  • Copy to bitmap now creates RGBA2222 format bitmaps in all screen modes
  • Colour palette in 64 colour modes can now be redefined, like all other screen modes
  • Add support for all 8 of Acorn's basic GCOL painting modes, for all plotting modes

This final feature is the big one. It radically increases the capabilities of the Agon graphics system, allowing for many new sophisticated drawing operations to be performed. All eight of the basic GCOL painting modes that Acorn supported on RISC OS (and all five on the BBC Micro) are supported, for all of the supported PLOT operations. This includes bitmap plotting, and also sprite plotting.

Full documentation on these new features is found in the agon-docs site

Bug fixes in the 2.6.0 release are:

  • Correct range of control codes that will be sent to the "printer"
  • Several bugs with showing/hiding sprites have been addressed
  • "line fill" plotting operations made consistent with Acorn's versions
  • Fix "copy/move" plot operation
    • ensures cleared area is always correct
    • copy/move area is now properly reversible without any pixel drift

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

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 Quark 1.03 or 1.04 (before 1.4 RC3)

Upgrading can be done by building from source. This can be done either using the Arduino IDE, or 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.5.0...v2.6.0