Releases: AgonPlatform/agon-vdp
v2.15.0
Agon Platform VDP 2.15.0 "SEP Field"
This is the third official release of the Agon Platform VDP firmware, the 26th from this organisation counting releases before the name change.
This version of the VDP firmware is suitable to be installed and run on any and all Agon Platform machines, including all versions of the Agon Light and the Agon Console8. It will work with any version of Agon MOS from 1.04 onwards, although you are recommended to use MOS 3.0.1 or later.
Supporting development
If you would like to support the development of the Agon Platform firmware, you can sponsor me on GitHub or join my Patreon.
Release notes
This version includes several new features, improvements and bug fixes.
The new features are summarised as follows:
- Both the mouse cursor and text cursor are now drawn to screen as "hardware sprites"
- This change should be completely transparent to users, with no new APIs or commands added
- Performance related to hiding/showing/moving these cursors has improved
- As the mouse cursor is no longer a type of software-sprite, mouse interactions no longer force sprites to be redrawn
- Some screen corruption bugs related to the text cursor in rare circumstances not being erased correctly have been eliminated
- The Tile Engine now supports up to four tile banks
- Many new VDP Variables have been added
- These were primarily focussed around exposing the keyboard and mouse state, and any/all information that might be sent from the VDP to MOS via the VDP Protocol
- Many other variables exposing other parts of the VDP state have also been added
- A variable is now available which when set will suppress the next VDP protocol packet from being sent to MOS
- Full information on the new variables can be found in the documentation
- Support for several new "events" has been added to the VDP
- These include events related to keyboard, mouse, changing the palette, and the VDP protocol
- Please see the Buffered Commands API documentation for more info on events and callbacks)
- The default system font now better aligns with the CP1252 character set, with definitions added for characters 0-31
- The agon-vdp project's build configuration has been updated to allow the use of C++17 language features
Bug fixes in this release include:
- A bug that prevented the palette from being properly reset using VDU 20 was fixed
- An issue that prevented setting "skew" and "shear" affine transform matrixes with y-axis values was fixed
- Several issues related to text cursor behaviour, text printing, and the handling of "paged mode" were identified and fixed
- In testing, when the text cursor is active, all behaviour now matches Acorn RISC OS
- When output is paused by "paged mode", pressing "Escape" will now exit/continue (as per Acorn systems)
- Fixed a bug that prevented paged mode from pausing continuous output (without explicit newlines)
- A bug found with VDU 31 (TAB) when the text cursor behaviour was set to invert one or both axes that resulted in the cursor being positioned incorrectly by 1 pixel was fixed
- Fixed a text printing bug that could result in text not being printed to screen when both the "scroll protect" cursor behaviour and paged mode were set
Why "SEP Field"?
As noted on the VDP 2.14.0 release the sub-titles for VDP releases after named after things from Douglas Adams' The Hitch Hiker's Guide to the Galaxy multiverse.
Much of the changes in this release are about infrastructure enhancements, things working invisibly in the background. For example, the VDP now uses hardware-sprite based cursors, but they just work without user intervention. These improvements are all mostly somebody else's problem.
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the Agon firmware update utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the Agon firmware update utility, the latest release of which (v1.9 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.
If you are using VDP versions 2.8.0, 2.12.0 or 2.13.0 then you will not be able to use the Agon firmware update utility. The easiest way to update from any of these three versions is using the online Agon VDP installer.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online Agon VDP installer.
What's Changed
- Extend tilebank by @julianregel in #338
- add mouse event callbacks by @stevesims in #323
- Add variables for read character and colour info, and keyboard things too by @stevesims in #326
- use an event queue for keyboard and mouse packets by @stevesims in #328
- Hardware sprite based text cursor and VDU 20 fix by @stevesims in #330
- Extended CP1252 character set by @sijnstra in #331
- add support for suppressing next VDP packet by @stevesims in #333
- fix logical error in transform matrix code by @stevesims in #337
- bump version to 2.15.0 by @stevesims in #339
Full Changelog: v2.14.1...v2.15.0
v2.14.1
Agon Platform VDP 2.14.1 Dressing Gown
This is the second official release of the Agon Platform VDP firmware, the 25th counting the previous releases before the name change.
This version of the VDP firmware is suitable to be installed and run on any and all Agon Platform machines, including all versions of the Agon Light and the Agon Console8. It will work with any version of Agon MOS from 1.04 onwards, although you are recommended to use MOS 3.0.1 or later.
Supporting development
If you would like to support the development of the Agon Platform firmware, you can sponsor me on GitHub or join my Patreon.
Release notes
This version includes a small bug fix to the VDP, and some minor related enhancements.
The bug was related to how the VDP would behave when it restarts immediately following a firmware update performed using the Agon firmware update (agon-flash) utility. This tries to detect the VDP restart by looking for updated mode information being sent from the VDP, but that was no longer happening. This has now been fixed.
Whilst making this change, it was also spotted that some Font API calls that could result in adjusted mode information were not sending that to the VDP; they now do.
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the Agon firmware update utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the Agon firmware update utility, the latest release of which (v1.9 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.
If you are using VDP versions 2.8.0, 2.12.0 or 2.13.0 then you will not be able to use the Agon firmware update utility. The easiest way to update from any of these three versions is using the online Agon VDP installer.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online Agon VDP installer.
What's Changed
- send mode info a bit more by @stevesims in #320
- bump version to 2.14.1 by @stevesims in #321
Full Changelog: v2.14.0...v2.14.1
v2.14.0 "Dressing Gown"
Agon Platform VDP 2.14.0 Dressing Gown
This is the first official release of the Agon Platform VDP firmware. It follows on from twenty three Agon VDP firmware releases under the "Agon Console8" name.
This version of the VDP firmware is suitable to be installed and run on any and all Agon Platform machines, including all versions of the Agon Light and the Agon Console8. It will work with any version of Agon MOS from 1.04 onwards, although you are recommended to use MOS 3.0 or later.
Supporting development
If you would like to support the development of the Agon Platform firmware, you can sponsor me on GitHub or join my Patreon.
Release notes
This version includes an enhanced version of the VDP's "paged mode" feature and some related improvements.
Paged mode now works more like the same feature it was based on from Acorn machines. This brings with it the following changes:
- When paged mode is turned on, pages are no longer always a full-screen, instead they ensure that 6 lines of "context" remain from the previous page, if available
- Pages now reset automatically when printed output stops, so you no longer get the situation of your Agon pausing output when you've pressed return to reach the bottom of the page
- Holding down the Ctrl key on your keyboard will introduce a small delay when a newline character is printed, whether paged mode is turned on or not
- Holding Ctrl+Shift pauses output at a new line
- An issue that prevented VSYNC callbacks from working when output was paused by paged mode has been fixed
- VDP Variables to provide control over all of this behaviour have been added
- A new VDU command has been added that will temporarily enable paged mode
- MOS 3.0 will use this command to ensure that commands that potentially produce long output will get paged, specifically the
Help,DirandShowcommands
- MOS 3.0 will use this command to ensure that commands that potentially produce long output will get paged, specifically the
Why "Dressing Gown"?
We have decided that major and minor Agon Platform firmware releases should get a name. Our source of names is The Hitch Hiker's Guide to the Galaxy by Douglas Adams, in all of its various versions and sequels. If you haven't read the book, we strongly recommend it. MOS releases will be named after characters, and VDP releases will be named after things.
MOS 3.0 has been named Arthur, a name chosen as that release also draws a lot of inspiration from Acorn's RISC OS, the first version of which was also named Arthur. For those that are familiar with Hitch Hiker's, can one imagine Arthur without his dressing gown?
(Patch releases which fix bugs will not get new names.)
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the agon-flash utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the agon-flash utility, the latest release of which (v1.8 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.
If you are using VDP versions 2.12.0 or 2.13.0 then you will not be able to use the agon-flash utility. A separate bug (since fixed) in the 2.8.0 release also prevents the use of agon-flash. The easiest way to update from any of these three versions is using the online tool.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online updater tool.
What's Changed
- enhanced paged mode by @stevesims in #314
- bump version to 2.14.0 by @stevesims in #316
Full Changelog: v2.13.1...v2.14.0
v2.13.1
2.13.1 release of the Agon Console8 VDP
This is the twenty-third 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.
Release notes
This version includes two bug fixes.
With the release of VDP 2.13.0, it was discovered that a bug had been introduced with the 2.12.0 release that prevented the agon-flash tool from being able to update the VDP. Attempting to use this tool to update the firmware would cause the VDP to crash and restart, preventing the update process from happening. This bug has now been fixed.
In investigating the issue with firmware updates it was also discovered that using RGBA2222 format bitmaps with hardware sprites could also cause a crash that would restart the VDP. That issue has also been addressed.
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the agon-flash utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the agon-flash utility, the latest release of which (v1.7 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.
As noted above, if you are using VDP versions 2.12.0 or 2.13.0 then you will not be able to use the agon-flash utility. A separate bug (since fixed) in the 2.8.0 release also prevents the use of agon-flash. The easiest way to update from any of these three versions is using the online tool.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online updater tool.
What's Changed
- fix firmware update, and hardware sprites by @stevesims in #312
- bump version to 2.13.1 by @stevesims in #313
Full Changelog: v2.13.0...v2.13.1
v2.13.0
2.13.0 release of the Agon Console8 VDP
This is the twenty-second 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.
Release notes
This version includes one bug fix and several new screen modes.
The following new modes were added, thanks to @avalonbits :
24. 640x512 in 16 colours
25. 640x512 in 4 colours
26. 640x512 in 2 colours
27. 640x256 in 64 colours
28. 640x256 in 16 colours
29. 640x256 in 4 colours
30. 640x256 in 2 colours
153. Double-buffered version of mode 25
154. Double-buffered version of mode 26
156. Double-buffered version of mode 28
157. Double-buffered version of mode 29
158. Double-buffered version of mode 30
A bug that prevented degrees from being properly converted to radians for matrix transformation operations was fixed. Thanks to @bgates747 for spotting this issue.
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the agon-flash utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the agon-flash utility, the latest release of which (v1.7 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.
Please note that this release, and version 2.12.0, have a known bug #310 that will prevent the agon-flash utility from being able to update the VDP firmware. The 2.8.0 release had a separate bug (since fixed) that also stopped the agon-flash utility from working. If you are running VDP 2.11.0 or earlier (excepting 2.8.0) then you will still be able to use agon-flash to update to 2.13.0, but you won't be able to use it to update to the next VDP firmware release.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online updater tool.
What's Changed
- Add new 640x512 and 640x256 screen modes. by @avalonbits in #302
- fix degree to radian conversions by @stevesims in #303
- bump version to 2.13.0 by @stevesims in #309
New Contributors
- @avalonbits made their first contribution in #302
Full Changelog: v2.12.0...v2.13.0
v2.12.0
2.12.0 release of the Agon Console8 VDP
This is the twenty-second 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.
Release notes
This version adds several major new features that will let Agon programs do some exciting new things.
In summary the new features are as follows:
- The VDP now supports "hardware sprites"
- These can co-exist with the existing "software sprites", and are integrated with the existing sprites API
- To use them you mark a sprite as being a hardware sprite
- An option is available to make all sprites hardware sprites by default
- Hardware sprites are always shown in 64 colours, even in 2, 4 or 16 colour modes
- They are always flicker-free
- Hardware sprites properly support double-buffered screen modes
- Guidance on the advantages, and limitations, of hardware sprites can be found in the community documentation
- There is now a "Copper effects API"
- This functionality is inspired by "copper effects" that could be achieved on the Commodore Amiga
- In 2, 4 and 16 colour mode it is now possible to define multiple palettes
- In those modes you can set a "signal list" to define different palettes to be used on different rows during VGA scanout
- This allows these modes to be able to potentially display all 64 colours at once
- Guidance on what is possible with this API can be found in the community documentation
- There is now a system of VDP Variables
- This is building on the "feature flags" facility added in VDP 2.9.0, and uses the same API for setting values
- Virtually all of the VDP video system state and most of the VDP configuration is reflected in these variables
- Audio system state will be added to the VDP Variables system in a later VDP release
- Buffered commands can now do conditional checks based on VDP variable values
- A new API allows the value of a VDP variable to be copied into a buffer
- A new buffer callback system has been added
- A buffer can be set to be called when a particular event happens
- The same event can result in multiple buffers being called
- VSYNC events are a supported event type
When coupled with some of the other new features this can allow for some functionality to run completely on the VDP. There are interesting possibilities coupling this with the Copper API and VDP Variables...
- The context API now has the concept of a default context ID
- A new command to the sprites API added to allow the bitmap being used for the current frame to be replaced
Fixes in this release include:
- A rare edge-case with the text cursor has been fixed
- A bug in the audio API that meant a particular command could lock the VDP has been fixed
- An issue with changing the volume or frequency on a channel not always instantly applying has been resolved
Upgrading your VDP firmware
The easiest way to update your VDP is to use the online Agon VDP installer. This will allow you to update your Agon's VDP firmware no matter what firmware version your Agon currently has installed.
Please note that if you are running a version of MOS earlier than Quark 1.04 (before RC3) you should first update your MOS firmware using the agon-flash utility, and then update your VDP firmware as described above.
Other ways of updating your VDP firmware
If you are running VDP firmware version 1.04RC3 or later you can update your VDP firmware using the agon-flash utility, the latest release of which (v1.7 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.
Please note that this release, and version 2.13.0, have a known bug #310 that will prevent the agon-flash utility from being able to update the VDP firmware. The 2.8.0 release had a separate bug (since fixed) that also stopped the agon-flash utility from working. If you are running VDP 2.11.0 or earlier (excepting 2.8.0) then you will still be able to use agon-flash to update to 2.12.0, but you won't be able to use it to update to the next VDP firmware release.
Other ways to update your VDP firmware include using PlatformIO to build and install the VDP firmware from source, or using Espressif's tooling to install firmware. For most users we strongly advise using the online updater tool.
What's Changed
- track context ID, and make default context ID 0 by @stevesims in #283
- Allow use of feature flags in buffered commands by @stevesims in #285
- Add preliminary “copper” functions by @stevesims in #280
- support sprite hardware flag by @TurboVega in #288
- Tweaks and extensions to hardware sprites by @stevesims in #290
- Expose graphics context state as “VDU Variables” by @stevesims in #286
- temporarily hide/show cursor on CLS by @stevesims in #293
- auto-degrade hardware sprites by @stevesims in #294
- vdu variable fixes by @stevesims in #295
- audio fixes by @stevesims in #296
- ensure mode change selects default context by @stevesims in #297
- replace current sprite frame command by @stevesims in #298
- bump version to 2.12.0 by @stevesims in #299
New Contributors
- @TurboVega made their first contribution in #288
Full Changelog: v2.11.0...v2.12.0
v2.11.0
2.11.0 release of the Agon Console8 VDP
This is the twenty-first 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.
Release notes
This version adds a few new features, fixes some bugs, and lays some groundwork for the forthcoming MOS 3 release.
In summary the new features are as follows:
- Terminal-mode now supports the ability to change fonts
- A new "check key" API has been added, allowing programs to check for a specific key press (used by MOS 3 Alpha 2 to detect left-shift on boot to prevent running the auto exec boot file)
- Full-duplex flow control between the VDP and MOS can now be supported, with a suitable version of MOS (such as MOS 3 Alpha 2)
- Preliminary "Tile engine" from @julianregel has been added (available behind a feature flag)
- Codebase is now unified with the emulator VDP, which should help ensure emulator and hardware are more consistent
Fixes in this release include:
- An issue where the text cursor would be drawn incorrectly after changing the text viewport has been resolved
- Fix for how stopping playback is handled on an audio channel that has a volume envelope set
- Custom terminal-mode keyboard handling has been removed, which should fix instances of missing keypresses whilst terminal mode is active
- Fix for "wait for VSYNC" command so that it will always work correctly even when there is no pending drawing operations
- Fix for text colour changes when in VDU 5 mode
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 terminal font change by @sijnstra in #255
- reset clipping rect on viewport reset by @stevesims in #257
- fix for stopping samples with envelopes by @stevesims in #260
- add support for full-duplex comms with MOS by @stevesims in #262
- add a check key command by @stevesims in #266
- Unify emulator and c8 VDP codebases by @tomm in #256
- Remove custom terminal-mode keyboard handling by @tomm in #270
- fix wait for vsync command by @stevesims in #272
- fix text colour changing in VDU 5 mode by @stevesims in #273
- Initial release of Tile Engine by @julianregel in #253
- add feature flag 0x300 for tile engine by @stevesims in #276
- bump version to 2.11.0 by @stevesims in #277
New Contributors
- @sijnstra made their first contribution in #255
- @julianregel made their first contribution in #253
Full Changelog: v2.10.1...v2.11.0
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