CharPad 2.7 User Manual - Subchrist Software, 2020.
CTM File Format, Version 1.
Used by CharPad 1.0 to record project data.
First comes the header, 20 bytes... ID_STR [00-02] : 3 bytes : File ID string (ASCII) "CTM". VERSION [03] : 1 byte : Format version number (1). COLOURS [04-07] : 4 bytes : Screen colour, Char multi-colour 1, Char multi-colour 2, Char colour. COLR_METH [08] : 1 byte : Colouring method (0 = Global, 1 = Per-tile, 2 = Per-tile-cell). MCMODE [09] : 1 byte : Char multi-colour mode flag (1 = Yes). MAP_WID [10-11] : 2 bytes : Map width (16 bits). MAP_HEI [12-13] : 2 bytes : Map height (16 bits). NUM_CHARS [14] : 1 byte : Character image quantity -1. NUM_TILES [15] : 1 byte : Tile quantity -1. RESERVED [16-19] : 4 bytes : Unused. Then comes the data... CHAR_DATA : NUM_CHARS * 8 bytes : Character image data (one byte per pixel row). TILE_DATA : NUM_TILES * 16 bytes : Tile data (16 bytes per 4x4 tile). CELL_COLOURS : NUM_TILES * 16 bytes : Tile cell colour data (16 bytes per 4x4 tile, only exists if COLR_METH = 2). TILE_COLOURS : NUM_TILES bytes : Tile colour data (one byte per tile, only exists if COLR_METH = 1). MAP_DATA : MAP_WID * MAP_HEI bytes : Map data. Notes... 16-bit values should always be interpreted as least significant byte first (LSBF). The data for each character image (CHAR_DATA) consists of eight rows of pixels (one byte per row) starting with the top row. The data for each tile (TILE_DATA, CELL_COLOURS) begins with the tile's top-left element and runs left-to-right, top-to-bottom (Z-pattern LRTB). The data for the map (MAP_DATA) begins with the map's top-left element and runs left-to-right, top-to-bottom (Z-pattern LRTB). File format limitations... Max character images : 256 Max tiles : 256 Max maps : 1 Max tile size : 4x4 (fixed) Max map width : 65535 Max map height : 65535 CharPad 1.0 limitations... Max character images : 256 Max tiles : 256 Max maps : 1 Max tile size : 4x4 (fixed) Max map width : 256 Max map height : 256
See also:-
CTM File Format, Version 2.