Short: General MIDI SoundFont synthesizer Author: Xanxi Uploader: Xanxi Type: mus/midi Version: 1.0 Requires: MNT ZZ9000 with XACP v1.6 / XX19a+ or explicitly XACP-compatible firmware, AHI, camd.library Architecture: m68k-amigaos >= 3.1 ZZMIDI turns the ARM coprocessor of the MNT ZZ9000 into a General MIDI SoundFont synthesizer for the Amiga. CAMD applications -- OpenDune, DarkForces, DoomAttack, MIDIKeys, sequencers and players -- can use it with almost no 68k CPU cost: synthesis runs on the graphics card. Firmware XX19a: https://github.com/Xanxi-Amiga/XACP-ZZ9000/releases/tag/XX19a NOT compatible with official MNT firmware 1.13 or BlitterStudio firmware. IMPORTANT CAMD SETUP: camd.library must be installed. Get the standard CAMD package from: https://aminet.net/mus/midi/camd.lha Then run the included MidiPorts preferences editor and associate the standard CAMD clusters out.0 and in.0 with the Amiga serial port. Installing camd.library alone is not the complete setup. IMPORTANT AHI SETUP FOR GAMES: If a game uses AHI for sound effects or speech in addition to ZZMIDI music, set AHI Unit 0 to 2 channels, not 1. A single channel makes the game audio and ZZMIDI compete for the output and can cause audio bugs. Features: - SoundFont 2 banks up to 10 MiB, 64 voices, 16-bit stereo via AHI - realtime CAMD service with preferences panel or pure Shell control - ZZDoom music through the included ZZMIDIGate helper - ZZMIDIPlay standalone MIDI player / SoundFont audition tool - ZZSF2Info SoundFont weight analyser - a few percent of 68060 CPU while playing IMPORTANT FOR ZZDOOM: Start ZZMIDIGate BEFORE ZZDoom. Wait until ZZMIDIGate prints "*** realtime paused -- LAUNCH CORE1 APP NOW ***", and only then launch ZZDoom. The gate waits for Core1/TIME_MS/FLIP_SEQ steady state, restores and verifies ZZMIDI realtime, then REMAINS RUNNING while Doom is active. When Doom exits, it detects the exit marker, performs a validated RT_OFF/RT_ON re-prime, confirms ZZMIDI, and exits. Starting ZZDoom first while ZZMIDI realtime is active can lead to a white screen. See README section 7. SoundFont paths must contain NO SPACES and stay under 250 characters (file name under 30 characters on classic FFS). See README. 1.0 (08/2026): first public release. XACP v1.6 protocol, chunked uploads, hardened service lifecycle, validated on A4000/68060. License: the Amiga-side ZZMIDI programs are proprietary freeware. The original unmodified release archive may be redistributed freely. Third-party applications may use the documented CAMD/CLI interfaces. Developers wishing to embed or bundle ZZMIDI itself are welcome to contact the author for permission. XX19a/XACP firmware is distributed separately under its own licensing terms. ZZ9000 is a product of MNT Research GmbH. TinySoundFont by Bernhard Schelling -- MIT License. TinyMidiLoader by Bernhard Schelling -- zlib License. TimGM6mb.sf2 is distributed under GPL-2; see the included license files.