ZZM is the primary ZZT music notation format, however it has many variants. An attempt to categorize them has been made. Please note that the documentation has been reverse-engineered based on existing .ZZM files, and may not be entirely accurate.
ZZM files consist of songs - lines of ZZT #PLAY-notation notes - with additional metadata and headers.
Lines prefixed with
; $ are treated as parseable commands. A list of such commands is provided below:
TITLE [title]- music collection title,
SONG [id]- beginning of a song with the specific sequential numeric ID,
SONG ENDS- end a song, required,
SONG TITLE [id] [title]- song title, optional,
SONGS END- end of the song data block,
EOF- end of file. Some files (MUSICBOX.ZZM) include song titles after EOF, however…
Any lines which are not otherwise understood be either:
The only known free software implementation (KevEdit) seems to only pay attention to
SONG TITLE commands.
ZZM 1.0 files use the header
; ZZT Music File v1.0. The following additional commands are present in such files:
GENDATE MM-DD-YYYY- music collection creation date,
GENTIME HH:MM:SS- music collection creation time,
SONGS BEGIN- beginning of the song data block.
ZZM 1.1 files use the header
; ZZT Music File v1.1. This variation has been introduced by Atrocity in ZZMPlay. It adds support for 64th-length notes, which can be activated using the letter
ZZT Music Player 2.0 files use the header
ZZTMPLAYer file, version 2.0.. No further details are known.
Used for a music creation tool. No known documentation or source code.