== GRAPHICS INTERCHANGE FORMAT GrafX2 format of predilection is GIF. GrafX2 uses the GIF89a spec for saving : https://www.w3.org/Graphics/GIF/spec-gif89a.txt it supports a few extensions : * NETSCAPE animation extension * GFX2PATH original path saving extension * GFX2MODE Special Drawing mode saving extension * CRNG Color cycling extension == NETSCAPE animation extension see http://www.vurdalakov.net/misc/gif/netscape-looping-application-extension == GFX2PATH Stores the original file path. This is used by the backup system. The format is : {{{ 0x21 Extension Label 0xFF Application Extension Label 0x0B Block Size "GFX2PATH" Application Identifier (8 bytes) "\0\0\0" Application Authentication Code (3 bytes) 0xll Sub-block Data Size : path size (including null) "..path.." path (null-terminated) 0xll Sub-block Data Size : filename size (including null) "..file.." file name (null-terminated) 0x00 Block terminator }}} == GFX2MODE extension to store ::IMAGE_MODES : {{{ 0x21 Extension Label 0xFF Application Extension Label 0x0B Block Size "GFX2MODE" Application Identifier (8 bytes) "2.6" Application Authentication Code (3 bytes) 0xll Sub-block Data Size string label ... More sub blocks can be added in the future 0x00 Block terminator }}} Supported values (as of GrafX2 2.6) : * "LAYERED" (not written) * "ANIMATION" (not written) * "ZX_SPECTRUM" * "GAMEBOYCOLOR" * "THOMSON40COL" * "CPC_EGX" * "CPC_EGX2" * "CPC_MODE5" * "CPC_RASTER" * "C64_HIRES" * "C64_MULTICOLOR" * "C64_FLI" * "APPLE2_HGR" * "APPLE2_DHGR" == CRNG color cycling extension Same content as a CRNG [wiki:Develop/FileFormats/IFF IFF] chunk {{{ 0x21 Extension Label 0xFF Application Extension Label 0x0B Block Size "CRNG\0\0\0\0" "CRNG" Application Identifier (8 bytes) "1.0" Application Authentication Code (3 bytes) 0xll Sub-block Data Size (6 bytes per color cycle) For each color cycle : 0xRRRR (big endian) Rate 0xFFFF (big endian) Flags 0xSS start (lower color index) 0xEE end (higher color index) 0x00 Block terminator }}}