User Tools

Site Tools


ZZT Music Formats


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.

General format (pre-1.0)

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:

  • ignored, if not within a song,
  • treated as song commands, if within a song.

The only known free software implementation (KevEdit) seems to only pay attention to TITLE, SONG and 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 y.

ZZT Music Player 2.0

ZZT Music Player 2.0 files use the header ZZTMPLAYer file, version 2.0.. No further details are known.


.muz (MuzMak)

Used for a music creation tool. No known documentation or source code.

research/zzm_format.txt · Last modified: 2021/10/30 15:11 by asie