changeset 1979:5fc3da6061be

Add support for Face Painter format (unpacked).
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 01 Jul 2018 03:55:22 +0300
parents cd5643794195
children 2cf79254b8e4
files tools/lib64fmts.c
diffstat 1 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/tools/lib64fmts.c	Sun Jul 01 02:48:23 2018 +0300
+++ b/tools/lib64fmts.c	Sun Jul 01 03:55:22 2018 +0300
@@ -951,7 +951,9 @@
     if (buf->len < 128 ||
         !dmCompareAddr16(buf, 0, fmt->addr) ||
         // Try to avoid misprobe of Crest Hires FLI Designer and Cosmos Design format
-        buf->len == 16386 || buf->len == 16385)
+        buf->len == 16386 || buf->len == 16385 ||
+        // Face Painter
+        buf->len == 10004)
         return DM_PROBE_SCORE_FALSE;
 
     for (n = 0, i = 3; i < buf->len; i++)
@@ -1697,6 +1699,28 @@
     },
 
     {
+        "fpt", "Face Painter (unpacked)", 0x4000, 10004, DM_FMT_RDWR,
+        NULL,
+        NULL, NULL,
+        { // Almost same layout as Koala Painter, but FPT has D020
+            D64_FMT_MC,
+            C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
+            C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            NULL, NULL,
+            NULL,
+            {
+                { DO_COPY       , DS_BITMAP_RAM  , 0x0000, 0,  0,   0, NULL, NULL },
+                { DO_COPY       , DS_SCREEN_RAM  , 0x1f40, 0,  0,   0, NULL, NULL },
+                { DO_COPY       , DS_COLOR_RAM   , 0x2328, 0,  0,   0, NULL, NULL },
+                { DO_SET_MEM_LO , DS_BGCOL       , 0x2710, 0,  0,   0, NULL, NULL },
+                { DO_SET_MEM_LO , DS_D020        , 0x2711, 0,  0,   0, NULL, NULL },
+                { DO_LAST       , 0              , 0     , 0,  0,   0, NULL, NULL },
+            }
+        },
+        NULL
+    },
+
+    {
         "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, DM_FMT_RDWR,
         NULL,
         NULL, NULL,