CAT, LIST, and PROP Sometimes you want to put several "files" into one, such as a picture library. This is what CAT is for. It "concatenates" FORM and LIST chunks. +--------------------+ | | | "CAT " | concatenation | | +--------------------+ | 48160 | 48160 data bytes +--------------------+ | | | "ILBM" | This concatenation contains FORMs ILBM | | | +--------------+ | | | "FORM" | | A FORM ILBM | |--------------| | | | 24070 | | | |--------------| | | | "ILBM" | | | |--------------| | | | .... | | | +--------------+ | | | | +--------------+ | | | "FORM" | | Another FORM ILBM | |--------------| | | | 24070 | | | |--------------| | | | "ILBM" | | | |--------------| | | | .... | | | +--------------+ | | | +--------------------+ This example CAT holds two ILBMs. It can be shown outline-style: CAT ILBM ..FORM ILBM \ ....BMHD | a complete FORM ILBM picture ....CMAP | ....BODY / ..FORM ILBM ....BMHD ....CMAP ....BODY Sometimes you want to share the same color map across many pictures. LIST and PROP do this: LIST ILBM ..PROP ILBM default properties for FORMs ILBM ....CMAP an ILBM CMAP chunk (there could be a BMHD chunk here, too) ..FORM ILBM ....BMHD (there could be a CMAP here to override the default) ....BODY ..FORM ILBM ....BMHD (there could be a CMAP here to override the default) ....BODY A LIST holds PROPs and FORMs (and occasionally LISTs and CATs). A PROP ILBM contains default data (in the above example, just one CMAP chunk) for all FORMs ILBM in the LIST. Any FORM may override the PROP-defined default with its own CMAP. All PROPs must appear at the beginning of a LIST. Each FORM type standardizes (among other things) which of its chunks are "property chunks" (may appear in PROPs) and which are "data chunks" (may not appear in PROPs).