Releases: BlitterStudio/zz9000-drivers
v2.1.1
ZZ9000 Drivers v2.1.1
Patch release focused on the ZZ9000AX audio stack, Zorro II RTG stability, and release/diagnostic tooling.
Highlights
- Fixed a Zorro II RTG blitter setup regression that could corrupt RTG output on Z2 systems.
- Hardened
zz9000ax.audioplayback start/stop handling:- tracks the playback-ring offset in driver state,
- keeps hardware audio interrupts disabled until AHI starts playback,
- clears the hardware audio ring before enabling playback,
- rejects invalid
AHIDB_Frequencyindices.
- Hardened
mhizz9000.librarybuffer reclamation soMHIGetEmpty()returns one completed buffer per call instead of draining multiple completed nodes and losing earlier buffer pointers. - Added shared ZZ9000AX constants and repository regression checks for the AHI/MHI paths.
- Added
ZZDiagand supporting repository tooling/CI cleanup, including shellcheck-compatible scripts and audio CI jobs that reuse the checked-in build scripts.
Component Versions
zz9000ax.audio: 4.23 (19.05.2026)mhizz9000.library: 2.1 (19.05.2026)
Release Artifact
zz9000-drivers-v2.1.1.zip- SHA-256:
86a078c2026724547047124da01f2d2a3c5f51b9c7b5ca3755db8739b9719957
Validation
- Local AHI/MHI cross-builds passed with the AmigaOS 3 Docker toolchain.
- Host-side repository checks passed.
- Tag-triggered GitHub Actions release workflow passed and created the release artifact.
Changes Since v2.1.0
- Fix Zorro II RTG corruption regression: #21
- Harden AHI and MHI playback state: #22
- Full changelog: v2.1.0...v2.1.1
v2.1.0
ZZ9000 Drivers v2.1.0
Release: https://github.com/BlitterStudio/zz9000-drivers/releases/tag/v2.1.0
Changes since v2.0.1: v2.0.1...v2.1.0
Highlights
- Added
ZZFwUpdate, a new AmigaOS CLI tool for copyingBOOT.binor other root-level files to the ZZ9000 FAT32 microSD card over Zorro,
without removing the card. - Improved RTG driver performance and Picasso96 compatibility.
- Improved Poseidon USB root hub, HID idle, unload, and NSD behavior.
- Expanded ZZTop diagnostics with clearer readouts, auto refresh, bus probing, scanline labels, and VideoCap/genlock diagnostic data.
- Expanded
zznetstatswith firmware RX backlog/drop counters. - Refreshed the installer, release packaging docs, and main README.
- Bumped changed component versions for the v2.1.0 release.
Component Versions
ZZ9000.card: 2.5zzusbhw.device: 2.1ZZ9000Net.device: 2.1ZZTop: 2.1ZZFwUpdate: 2.1zznetstats: 2.1
RTG / Picasso96
- Moved per-board state into
BoardInfo->CardData, avoiding callbacks depending on global last-discovered-board state. - Switched current settings to native
BT_MNT_ZZ9000Picasso96 board identity. - Installer now backs up existing
Devs:Picasso96Settingsbefore installing the migrated settings file. - Added P96 driver audit fixes:
- correct private library base allocation size,
- close opened libraries on all
FindCardpaths, - add NULL guards in several callbacks,
- advertise cache mode change and video capture capabilities.
- Improved Zorro II rendering paths:
- direct solid horizontal/vertical line drawing,
- better small-rectangle thresholds,
- fewer redundant blitter setup writes.
- Restricted advertised RTG pixel formats to those the firmware/video formatter handles natively.
- Added register-cache tests for the blitter register write reduction.
- Fixed V-007
BlitPatternsize overflow issue.
USB / Poseidon
- Improved root hub handling and status reporting.
- Stabilized idle HID interrupt polling so Poseidon keeps endpoints alive.
- Preserved root port enable status correctly.
- Aligned interrupt poll timeout behavior.
- Implemented NSD
NSCMD_DEVICEQUERYsupport. - Improved open/close/expunge lifecycle handling.
- Prevented unload-time poll-task use-after-free.
- Restored the frozen
ZZUSBBaselayout after a regression that could trigger guru80000004.
ZZTop
- Added
$VER:version tag. - Improved diagnostics UI layout and readout alignment.
- Added named scanline controls and clearer hardware status fields.
- Added auto refresh modes.
- Added non-destructive register/bus probe.
- Added VideoCap line and pulse-width diagnostics for genlock investigation.
- Updated window title branding.
Firmware Update Tool
- Added
ZZFwUpdate, installed toC:by the installer. - Supports:
- default destination basename,
- optional explicit destination filename,
- local filename validation,
- live upload progress,
- busy spinner while firmware writes,
- transfer speed summary,
- partial-transfer cleanup via firmware abort.
- Requires firmware with FWUP protocol support.
Networking Diagnostics
zznetstatsnow reports firmware RX queue/backpressure/drop counters in addition to SANA-II global stats.- Useful for diagnosing link, throughput, and packet-drop behavior.
Installer / Packaging / Docs
- Installer includes
ZZFwUpdateandzznetstats. - Release zip remains installer-focused: binaries are placed inside
ZZ9000Installer/, not duplicated at the zip root. - Main README was restructured for clearer installation, component, build, and release guidance.
v2.0.1
What's Changed
Installer and release package
- Release ZIP now presents the Commodore Installer contents at the package root:
README.md,ZZ9000Installer.info, andZZ9000Installer/. - Driver and tool binaries are no longer duplicated as loose files in the ZIP root; they live in the exact installer drawer paths consumed by
Install ZZ9000. - Added version-aware overwrite prompts for installed drivers, including
ZZ9000.card,ZZ9000Net.device,zz9000ax.audio, andmhizz9000.library. - Fixed MHI packaging and installation so
mhizz9000.libraryships underLibs/MHI/, installs toLIBS:MHI/, and the installer can remove the obsoleteLIBS:mhizz9000.librarycopy. - Bundled the AHI runtime-tunables documentation inside the installer drawer at
Docs/ahi-README.md.
Poseidon USB
- Added the missing Poseidon USB hardware driver,
zzusbhw.device, to the release package and Commodore Installer flow. - Installs
zzusbhw.deviceto Poseidon's standardDEVS:USBHardware/location. - If
DEVS:USBHardwareis missing, the installer now warns that Poseidon may not be installed and asks whether to create the drawer and install the driver anyway. - Bundled Poseidon setup and troubleshooting notes at
Docs/usb-poseidon-README.md. - Updated USB documentation and version-check examples for the filesystem-installed driver path.
SD-card boot
- Fixed a cold multi-card autoconfig failure by relocating
zzsd.devicefrom Kickstart's RAM copy of the DiagArea instead of rereading the packed driver through the board ROM window. - Guarded the
BootPtresident lookup before calling DOS init, avoiding a null resident/init path. - Trimmed boot ROM debug output and reduced the generated boot ROM blob size.
Documentation
- Updated the top-level README and installer README to match the new release ZIP layout and actual AmigaOS install destinations.
- Clarified that
zzsd.deviceremains firmware/BOOT.bin-packed and is not installed through the Commodore Installer.
Commits since v2.0.0
1622895Added missing Poseidon driver in Installer8bb69f4fix(sd-boot): avoid cold DiagPt ROM reads19c3fd0fix(installer): correct driver installs2458957ci: flatten driver release zip4650d36ci: publish installer-only driver zip
Merged PRs
Full Changelog: v2.0.0...v2.0.1
v2.0.0
ZZ9000 Drivers v2.0.0
This is the companion driver release for ZZ9000 firmware v2.0.0.
Use these drivers with firmware v2.0.0. ZZ9000.card now checks for firmware version 2.0 or newer; the GitHub release and tag use the semver form v2.0.0.
What to download
zz9000-drivers-v2.0.0.zip- populated Commodore Installer package.
The ZIP intentionally contains only the installer package. Inside the versioned top-level folder you will find:
README.mdZZ9000Installer.infoZZ9000Installer/
Built drivers and tools are inside ZZ9000Installer/ in the paths consumed by Install ZZ9000; they are not duplicated as loose files at the ZIP root.
The installer payload includes ZZ9000.card, ZZTop, ZZScanlines, ZZ9000Net.device, zznetstats, mhizz9000.library, zz9000ax.audio, ZZ9000AX, axmp3, docs, icons, templates, and installer files. Firmware-side USB/SD boot components are delivered through the matching firmware release rather than as loose driver ZIP files.
Highlights since MNT 1.13
- RTG: added the
SetColorArrayZorro III batch palette path, optimized accelerated blits/fills/solid axis lines, restored P2C padded-stride behavior, preserved line draw modes, kept high-color mask behavior, and corrected the card library version. - USB: added the Poseidon-compatible
zzusbhw.devicewith root-hub emulation, chunked bulk transfers, async interrupt/poll handling,CopyMemQuickfast path, Zorro III autoconfig preference, and stability/performance fixes. The oldusb-storagedriver was removed, superseded by Poseidon plus SD boot. - SD boot: added
zzsd.devicefor HDF-on-FAT SD-card boot and integrated it into the firmware boot path with the boot ROM size guard. - Audio: hardened
zz9000ax.audioandmhizz9000.libraryfor leaks, races, ownership handoff, DSP reset ordering, first-open DAC noise, and MP3/MOD transitions; added mixer defaults and ENV tunables documented inZZ9000Installer/Docs/ahi-README.md. - Network: ported
ZZ9000Net.deviceto Bebbo GCC, fixed multi-open/close and init-completion issues, optimized RX/TX paths, added RX slot overrun accounting, and addedzznetstatsfor SANA-II global statistics. - Tools and installer: added
ZZScanlinesV2 andZZTopV2 scanline controls, modernized the Commodore Installer flow, and made the release ZIP CI-populated from fresh builds. - CI/release: GitHub Actions now builds the shipped components and publishes
zz9000-drivers-v2.0.0.zipon tags. - Docs and repository cleanup: refreshed readmes, release docs, credits/copyright, and binary-ignore rules.
Validation
- GitHub Actions release workflow completed successfully for tag
v2.0.0. - The local release build passed for all driver components before tagging.
zzsd.deviceremained under the 7424-byte boot ROM size ceiling in the release build.- The published
zz9000-drivers-v2.0.0.ziphas been replaced with the flattened installer-only layout.
Driver changelog from the imported 1.13 branch point: 793f777...v2.0.0
Matching firmware release: https://github.com/BlitterStudio/zz9000-firmware/releases/tag/v2.0.0