MZM
MZMs are self-contained sections of MZX board data. Initially conceived as an improvement upon the ANSI format used to export graphics between boards (before inter-board copying was possible), they have become a convenient way to store and dynamically load game content. The first MZMs simply stored graphical data, while successive versions allowed for the storing of board parameters (such as whether an object was a customblock, a gem, a unit of ammo, etc.) and eventually stored robot code as well. It is now possible to use MZMs to completely compartmentalize a game into a series of externally loaded boards, effectively bypassing set limits within MZX.
MZM Tutorial
MZMs are relatively easy and painless to use, both in the editor and during gameplay. The biggest hurdles are learning the Robotic commands to access them, and understanding the difference between the two MZM types. Neither of these is particularly complicated. First, we'll talk about the two types of MZM, board and layer.
Board MZMs store things exactly as they are on the board, including appearance and object type, and floor beneath solid objects. In particular, board MZMs can store robots (and even execution state if created during a game). This makes them particularly well suited for storing game levels, or blocks of robots that manage specific engines, or for copying pieces of boards between games without having to export the whole board. However, due to the nature of how object parameter is interpreted by the overlay (it is read as the character code), they are generally not suitable for import to the overlay or vlayer. In the editor, any MZM exported from the board will be a board MZM. To ensure an overlay safe board MZM, you should export only artwork drawn with customblocks or customfloors. Or preferably, you should use a layer MZM instead.
Layer MZMs store things exactly as they APPEAR on the board, or the layer they are saved from. They are ideal for saving artwork for sprites or interfaces without a physical component in the game. Because they only store color and character information, they are also at least three times smaller than board MZMs. They are not particularly well-suited for importing directly onto the board however, especially during the game. Importing this way in the editor provides the option of selecting customblock or customfloor (or Text) as the object type for each tile, just as if you were copying from the overlay; importing a layer MZM to the board during the game invariably creates customblocks. In the editor, any MZM exported from the overlay will be a layer MZM. Copy board sections to the overlay as an intermediate step.