changeset 1367:fe1e3a756685

Add some information dumping to view64.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 23 Sep 2017 01:24:51 +0300
parents d4387509a363
children 95e416830490
files tools/view64.c
diffstat 1 files changed, 59 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tools/view64.c	Sat Sep 23 01:24:21 2017 +0300
+++ b/tools/view64.c	Sat Sep 23 01:24:51 2017 +0300
@@ -149,6 +149,63 @@
 }
 
 
+void dmDumpC64Image(const DMC64Image *img)
+{
+    char typeStr[64];
+
+    snprintf(typeStr, sizeof(typeStr),
+        "%s%s%s%s",
+        ((img->type & D64_FMT_MC) ? "MultiColor" : "Hires"),
+        ((img->type & D64_FMT_ILACE) ? " Interlaced" : ""),
+        ((img->type & D64_FMT_FLI) ? " FLI" : ""),
+        ((img->type & D64_FMT_CHAR) ? " CHAR" : "")
+        );
+
+
+    dmMsg(0,
+        "Type                : %s\n",
+        typeStr);
+
+    if (img->type & D64_FMT_FLI)
+    {
+        char *tmps;
+        switch(img->fliType)
+        {
+            case D64_FLI_2BANK: tmps = "2 bank"; break;
+            case D64_FLI_4BANK: tmps = "4 bank"; break;
+            case D64_FLI_8BANK: tmps = "8 bank"; break;
+            default: tmps = "ERROR"; break;
+        }
+        dmMsg(0,
+            "FLI type            : %s\n",
+            tmps);
+    }
+
+    if (img->type & D64_FMT_ILACE)
+    {
+        char *tmps;
+        switch(img->laceType)
+        {
+            case D64_ILACE_COLOR: tmps = "color"; break;
+            case D64_ILACE_RES: tmps = "resolution"; break;
+            default: tmps = "ERROR"; break;
+        }
+        dmMsg(0,
+            "Interlace type      : %s\n"
+            "Interlace banks     : %d, %d\n",
+            tmps,
+            img->laceBank1,
+            img->laceBank2);
+    }
+
+    dmMsg(0,
+        "Width x Height      : %d x %d\n"
+        "CHwidth x CHheight  : %d x %d\n",
+        img->width, img->height,
+        img->ch_width, img->ch_height);
+}
+
+
 int main(int argc, char *argv[])
 {
     SDL_Surface *screen = NULL, *surf = NULL;
@@ -212,6 +269,8 @@
         goto error;
     }
 
+    dmDumpC64Image(cimage);
+
     // Initialize libSDL
     if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) != 0)
     {