Mercurial > hg > dmlib
comparison tools/lib64fmts.c @ 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 | c30dfd5e3227 |
children | 2cf79254b8e4 |
comparison
equal
deleted
inserted
replaced
1978:cd5643794195 | 1979:5fc3da6061be |
---|---|
949 // XXX TODO: Perhaps count statistics about used byte values | 949 // XXX TODO: Perhaps count statistics about used byte values |
950 // and compare to value in buf[2] which is the RLE marker | 950 // and compare to value in buf[2] which is the RLE marker |
951 if (buf->len < 128 || | 951 if (buf->len < 128 || |
952 !dmCompareAddr16(buf, 0, fmt->addr) || | 952 !dmCompareAddr16(buf, 0, fmt->addr) || |
953 // Try to avoid misprobe of Crest Hires FLI Designer and Cosmos Design format | 953 // Try to avoid misprobe of Crest Hires FLI Designer and Cosmos Design format |
954 buf->len == 16386 || buf->len == 16385) | 954 buf->len == 16386 || buf->len == 16385 || |
955 // Face Painter | |
956 buf->len == 10004) | |
955 return DM_PROBE_SCORE_FALSE; | 957 return DM_PROBE_SCORE_FALSE; |
956 | 958 |
957 for (n = 0, i = 3; i < buf->len; i++) | 959 for (n = 0, i = 3; i < buf->len; i++) |
958 if (buf->data[i] == buf->data[2]) n++; | 960 if (buf->data[i] == buf->data[2]) n++; |
959 | 961 |
1695 fmtDecodeECIPacked, fmtEncodeECIPacked, | 1697 fmtDecodeECIPacked, fmtEncodeECIPacked, |
1696 { }, &dmC64CommonFormats[7] | 1698 { }, &dmC64CommonFormats[7] |
1697 }, | 1699 }, |
1698 | 1700 |
1699 { | 1701 { |
1702 "fpt", "Face Painter (unpacked)", 0x4000, 10004, DM_FMT_RDWR, | |
1703 NULL, | |
1704 NULL, NULL, | |
1705 { // Almost same layout as Koala Painter, but FPT has D020 | |
1706 D64_FMT_MC, | |
1707 C64_SCR_WIDTH / 2, C64_SCR_HEIGHT, | |
1708 C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT, | |
1709 NULL, NULL, | |
1710 NULL, | |
1711 { | |
1712 { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, | |
1713 { DO_COPY , DS_SCREEN_RAM , 0x1f40, 0, 0, 0, NULL, NULL }, | |
1714 { DO_COPY , DS_COLOR_RAM , 0x2328, 0, 0, 0, NULL, NULL }, | |
1715 { DO_SET_MEM_LO , DS_BGCOL , 0x2710, 0, 0, 0, NULL, NULL }, | |
1716 { DO_SET_MEM_LO , DS_D020 , 0x2711, 0, 0, 0, NULL, NULL }, | |
1717 { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, | |
1718 } | |
1719 }, | |
1720 NULL | |
1721 }, | |
1722 | |
1723 { | |
1700 "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, DM_FMT_RDWR, | 1724 "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, DM_FMT_RDWR, |
1701 NULL, | 1725 NULL, |
1702 NULL, NULL, | 1726 NULL, NULL, |
1703 { | 1727 { |
1704 D64_FMT_MC, | 1728 D64_FMT_MC, |