original image vs. OpenMSX
Yet another python script I'd like to share. This one I created last week, but it was still a little rough around the edges. png2sprites.py converts an RGB PNG image into MSX2 VRAM sprite data. Output is assembly db data, C-style array data or a complete BASIC code that displays the sprites on the screen. User must supply one's own palette data as 16-colour tuple in a separate file and zeroth colour just removes the background from the original PNG file. There is an experimental feature that attempts to minimise sprite count by applying or-colour replacement after palette permutation. It is slow (and stupid) because it is just applying the same algorithm and counting sprites after swapping the palette.
Script code is based on reidrac's ubox python script with same name and requires Python 3.10. Probably.