Short:        Converter from BMP/PNG to TMS9928 format
Author:       @nanochess (Óscar Toledo G.)
Uploader:     polluks+aminet sdf org (Stefan Haubenthal)
Type:         gfx/conv
Version:      3.1
Architecture: ppc-morphos; m68k-amigaos

TMSColor: Converter from BMP/PNG to TMS9928 format
3.1 May/14/2025  by Oscar Toledo G. http://nanochess.org

Usage:

    tmscolor [options] image.bmp image.asm [label]
        Creates image for use with assembler code

    -sms   Sega Master System mode.
           Allows up to 448 tiles using -t
    -b     Generates CVBasic source code.
    -n     Removes CVBasic stub code for displaying.
    -z     Output file is compressed with Pletter.
    -s     Process tiles in chunks of 16 pixels high (sprites).
    -sb    Same as above but generates BITMAP statements.
    -t     Generates minimum of tiles required.
    -t1    Same but starting at tile 1 (0-255).
    -e45d2 Replaces color 4 with 5 and d with 2 before processing.
    -fx    Flip image along the X-coordinate (mirror)
    -fy    Flip image along the Y-coordinate
    -i     Generates BITMAP statements instead of DATA
    -i2    Generates BITMAP statements using X and .
    -m     Generates magic sprites for areas with more than 2 colors
    -p1    Searches best color combination for photo (slow)
    -p2    Searches best color combination for photo (2x2 dither) (slow)
    -o result.bmp
           Outputs the final image, plus highlight of errors (if any).
    -d     Direct copy of binary input file to output (can compress).
           Useful for getting binary data in ASM or CVBasic code.

    Best photo conversion is generated by this command line:
      tmscolor -p2 photo.bmp photo.bin
    Photos will look better if the contrast is good.
    Magic sprites will work only with an image of 256x192 pixels.

Thanks to LeandroCorreia for ideas of color conversion.