I recently did a viewer in TurboBASIC which takes 16-color low-res (128x200) Commodore 64 pictures (koala pad) and converts them into the ICE PCIN (Graphics 12+10 128x192 35 color) mode.
The program reads the bitmap in, and uses a lookup table to autmoatically convert pairs of pixels, into PCIN pixels (the mode is setup according to pixel pairs, 1 Gr. 10 pixel plus 2 Gr. 12 pixels).
It's not perfect yet, but you can now convert your own c64 pictures. In the future I will be adding support for inverse characters (PF3) which should make the colors more accurate.
To use this, load D:C64VIEW.TUR from the ATR.
Change lines 11010 and 11060 to the .KOA c64 graphics file you want to convert
Change line 5000 to the .IPC (ICE PCIN) graphics file you want to write.
Run the program. If you are in emulator, turn on Frame blending and Warp Speed as this takes a long time. The program reads in the bitmap, then does antiflicker dithering where PF0-PF2 and background mix, then writes .IPC file
The program outputs an .IPC graphics file which can be viewed in IPC viewer (also attached) or converted to .xex using the .ASM code I have attached as well.
As I am not using the PF3 (inverse) this could be also done using bitmap interleave Graphics 15+10. It would take a few extra steps.
The conversion from C64 low-res multicolor to PCIN mode is easy because the C64 bitmap is read in character cells, much like the PCIN mode which is font based. It is possible to export fontmaps from both, load into G2F and export a .MIC and a .G10 file for interlacing. The .MIC would need to be shifted one color clock right to correct for the Graphics 10 shift, and the dither pattern for BAK-PF0-PF1-PF2 where they blend on both pictures would also need to be changed.
I am also planning on adding a lookup table for inverse (PF3: teal) to the viewer, as this may help out with some of the problem colors in some of the renders too. I've noticed some of the greens don't come out exactly right. This means of course such pictures could not be used in bitmap 15+10, because Graphics 15 has no PF3 register.