Releases: AgonConsole8/agon-vdp
v2.10.1
2.10.1 release of the Agon Console8 VDP
This is the twentieth 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 version fixes an issue in the 2.10.0 release that prevented palette changes from working correctly.
For more information on the new features and fixes added in 2.10.0 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
- improved palette handling by @stevesims in #251
- bump version to 2.10.1 by @stevesims in #252
Full Changelog: v2.10.0...v2.10.1
v2.10.0
2.10.0 release of the Agon Console8 VDP
This is the nineteenth 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 includes several bug fixes, and builds on and extends new transform functionality found in the 2.9.x releases.
In summary, the new features are as follows:
- Expanded transform functionality
- 3D transforms now supported
- Transform matrixes of arbitrary dimensions can be created and used to transform data in buffers
- Add ability to create a transformed bitmap
- Allow the "debug buffer" command to be used on non-debug builds of the VDP
- Several new screen modes, including 512x384 resolution modes
- GitHub CI for PlatformIO added by @maxgerhardt
Fixes in this release include:
- Memory usage has been optimised, which fixes a few things
- allows for some more screen modes, including 1024x768 in 4 colours and double-buffered 800x600 and 1280x768 modes
- reduces issues with changing into some screen modes after using buffers (with thanks to @bgates747 for noting this issue)
- Fix a crashing issue when attempting to perform a "copy/move rectangle" plot with source coordinates that go offscreen
- Fix a crashing issue when an incomplete VDU command was at the end of a buffer (thanks to @jblang for identifying this issue)
- Fix for text not always being reflected to console, caused by text plotting optimisations (thanks to @mikolajmikolajczyk)
- Fix for bitmap plotting on screen modes that use a palette not using the best colour match (thanks to @sijnstra for helping identify and debug this issue)
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
- Add PlatformIO CI by @maxgerhardt in #237
- fix MultiBufferStream read and peek by @stevesims in #242
- add 512x384 resolution screen modes by @stevesims in #244
- ensure copy/move rectangle plot stays onscreen by @stevesims in #245
- Fixes dropped characters in console mode by @mikolajmikolajczyk in #246
- fix: update palette LUT in paletted modes by @stevesims in #249
- More transform operations by @stevesims in #236
- bump version to 2.10.0 by @stevesims in #250
New Contributors
- @maxgerhardt made their first contribution in #237
- @mikolajmikolajczyk made their first contribution in #246
Full Changelog: v2.9.2...v2.10.0
v2.9.2
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
- fix text print when changing text viewport by @stevesims in #234
- bump version to 2.9.2 by @stevesims in #235
Full Changelog: v2.9.1...v2.9.2
v2.9.1
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
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
v2.8.1
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
- fix printer output by @stevesims in #208
- ensure
print
doesn’t peek by @stevesims in #209 - cursor down should perform an autonewline by @stevesims in #210
- decompresss into actual destination buffer by @stevesims in #212
- Experimental main loop by @stevesims in #211
- bump version to 2.8.1 by @stevesims in #213
Full Changelog: v2.8.0...v2.8.1
v2.8.0
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.
Please note that the build files for this release have been removed, as this version contains a bug that makes upgrading the VDP more difficult. That bug was fixed in the (now outdated) 2.8.1 release. You are advised however to skip to the latest VDP release.
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
- Optimizations for buffered commands API by @calc84maniac in #186
- Added MODE7 scroll in all four directions by @lennart-benschop in #202
- Support multiple different graphics contexts by @stevesims in #200
- optimised string printing by @stevesims in #203
- add new “shift origin” command by @stevesims in #205
- ensure that buffers are properly cleared by @stevesims in #206
- Compression and decompression by @TurboVega in #204
- bump version to 2.8.0 by @stevesims in #207
New Contributors
- @calc84maniac made their first contribution in #186
- @lennart-benschop made their first contribution in #202
Full Changelog: v2.7.3...v2.8.0
v2.7.3
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
- even more cursor movement fixes by @stevesims in #199
Full Changelog: v2.7.2...v2.7.3
v2.7.2
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
- more cursor fixes by @stevesims in #195
Full Changelog: v2.7.1...v2.7.2
v2.7.1
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
- cursor and scrolling fixes by @stevesims in #189
- add missing declarations to fix build by @stevesims in #191
- bump version to 2.7.1 by @stevesims in #190
Full Changelog: v2.7.0...v2.7.1