Mercurial > hg > dmlib
comparison tools/lib64fmts.c @ 2521:b19535da15e9
Add new field 'size_t extra' to DMC64ImageFormat for certain image format data
for which size field was previously abused for.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 15 May 2020 03:06:48 +0300 |
parents | 4dbb6572622d |
children | 27271f2afa7c |
comparison
equal
deleted
inserted
replaced
2520:4e7d9fd9b7e4 | 2521:b19535da15e9 |
---|---|
72 static int fmtProbeSupeRes(const DMGrowBuf *buf, const DMC64ImageFormat *fmt) | 72 static int fmtProbeSupeRes(const DMGrowBuf *buf, const DMC64ImageFormat *fmt) |
73 { | 73 { |
74 if (buf->len > 12 && | 74 if (buf->len > 12 && |
75 DM_MEMCMP_SIZE(buf->data, fmtSupeRes_MagicID_1) == 0) | 75 DM_MEMCMP_SIZE(buf->data, fmtSupeRes_MagicID_1) == 0) |
76 { | 76 { |
77 if (buf->data[3] == fmt->size) | 77 if (buf->data[3] == fmt->extra) |
78 return DM_PROBE_SCORE_MAX; | 78 return DM_PROBE_SCORE_MAX; |
79 } | 79 } |
80 | 80 |
81 return DM_PROBE_SCORE_FALSE; | 81 return DM_PROBE_SCORE_FALSE; |
82 } | 82 } |
235 { | 235 { |
236 return dmError(DMERR_MALLOC, | 236 return dmError(DMERR_MALLOC, |
237 "Could not allocate memory for decoding buffer.\n"); | 237 "Could not allocate memory for decoding buffer.\n"); |
238 } | 238 } |
239 | 239 |
240 switch (fmt->size) | 240 switch (fmt->extra) |
241 { | 241 { |
242 case 0x23: | 242 case 0x23: |
243 case 0x25: | 243 case 0x25: |
244 if ((res = fmtDecodeSupeResSection(&ctx, 0x0000, 0x03e8)) != DMERR_OK || | 244 if ((res = fmtDecodeSupeResSection(&ctx, 0x0000, 0x03e8)) != DMERR_OK || |
245 (res = fmtDecodeSupeResSection(&ctx, 0x0400, 0x1f40)) != DMERR_OK) | 245 (res = fmtDecodeSupeResSection(&ctx, 0x0400, 0x1f40)) != DMERR_OK) |
524 { | 524 { |
525 if (buf->len > 32 && | 525 if (buf->len > 32 && |
526 (dmCompareAddr16(buf, 0, 0x1c00) || dmCompareAddr16(buf, 0, 0x5c00))) | 526 (dmCompareAddr16(buf, 0, 0x1c00) || dmCompareAddr16(buf, 0, 0x5c00))) |
527 { | 527 { |
528 // Packed variant | 528 // Packed variant |
529 if (fmt->size == 0xfe && | 529 if (fmt->extra == 0xfe && |
530 buf->len != fmt->size && | |
531 buf->len != 10242) // Attempt to avoid misprobes of "Rainbow Painter (unpacked)" | 530 buf->len != 10242) // Attempt to avoid misprobes of "Rainbow Painter (unpacked)" |
532 return DM_PROBE_SCORE_MAX; | 531 return DM_PROBE_SCORE_MAX; |
533 | 532 |
534 // Unpacked variant | 533 // Unpacked variant |
535 if (fmt->size != 0xfe && buf->len == fmt->size) | 534 if (fmt->extra != 0xfe && buf->len == fmt->size) |
536 return DM_PROBE_SCORE_MAX; | 535 return DM_PROBE_SCORE_MAX; |
537 } | 536 } |
538 | 537 |
539 return DM_PROBE_SCORE_FALSE; | 538 return DM_PROBE_SCORE_FALSE; |
540 } | 539 } |
557 DMCompParams cfg; | 556 DMCompParams cfg; |
558 | 557 |
559 cfg.func = fmt->name; | 558 cfg.func = fmt->name; |
560 cfg.type = DM_COMP_RLE_MARKER; | 559 cfg.type = DM_COMP_RLE_MARKER; |
561 cfg.flags = DM_RLE_BYTE_RUNS | DM_RLE_ORDER_2; | 560 cfg.flags = DM_RLE_BYTE_RUNS | DM_RLE_ORDER_2; |
562 cfg.rleMarkerB = fmt->size; | 561 cfg.rleMarkerB = fmt->extra; |
563 | 562 |
564 if ((res = dmDecodeGenericRLEAlloc(&mem, buf, &cfg)) != DMERR_OK) | 563 if ((res = dmDecodeGenericRLEAlloc(&mem, buf, &cfg)) != DMERR_OK) |
565 goto out; | 564 goto out; |
566 | 565 |
567 res = dmC64DecodeGenericBMP(img, &mem, fmt); | 566 res = dmC64DecodeGenericBMP(img, &mem, fmt); |
584 | 583 |
585 // And now RLE compress the data to the existing buffer | 584 // And now RLE compress the data to the existing buffer |
586 cfg.func = fmt->name; | 585 cfg.func = fmt->name; |
587 cfg.type = DM_COMP_RLE_MARKER; | 586 cfg.type = DM_COMP_RLE_MARKER; |
588 cfg.flags = DM_RLE_BYTE_RUNS | DM_RLE_ORDER_2; | 587 cfg.flags = DM_RLE_BYTE_RUNS | DM_RLE_ORDER_2; |
589 cfg.rleMarkerB = fmt->size; | 588 cfg.rleMarkerB = fmt->extra; |
590 cfg.rleMinCountB = 4; | 589 cfg.rleMinCountB = 4; |
591 cfg.rleMaxCountB = 255; | 590 cfg.rleMaxCountB = 255; |
592 res = dmEncodeGenericRLE(buf, &tmp, &cfg); | 591 res = dmEncodeGenericRLE(buf, &tmp, &cfg); |
593 | 592 |
594 out: | 593 out: |
2212 // Array with data for supported formats | 2211 // Array with data for supported formats |
2213 // | 2212 // |
2214 DMC64ImageFormat dmC64ImageFormats[] = | 2213 DMC64ImageFormat dmC64ImageFormats[] = |
2215 { | 2214 { |
2216 { | 2215 { |
2217 "d2p", "DrazPaint 1.4/2.0 (packed)", 0x5800, 0, DM_FMT_RDWR, | 2216 "d2p", "DrazPaint 1.4/2.0 (packed)", 0x5800, 0, 0, DM_FMT_RDWR, |
2218 fmtProbeDrazPaint20Packed, | 2217 fmtProbeDrazPaint20Packed, |
2219 fmtDecodeDrazPaintPacked, fmtEncodeDrazPaintPacked, | 2218 fmtDecodeDrazPaintPacked, fmtEncodeDrazPaintPacked, |
2220 { }, &dmC64CommonFormats[4] | 2219 { }, &dmC64CommonFormats[4] |
2221 }, | 2220 }, |
2222 | 2221 |
2223 { | 2222 { |
2224 "drp", "DrazPaint (unpacked)", 0x5800, 10051, DM_FMT_RDWR, | 2223 "drp", "DrazPaint (unpacked)", 0x5800, 10051, 0, DM_FMT_RDWR, |
2225 NULL, | 2224 NULL, |
2226 NULL, NULL, | 2225 NULL, NULL, |
2227 { }, &dmC64CommonFormats[4] | 2226 { }, &dmC64CommonFormats[4] |
2228 }, | 2227 }, |
2229 | 2228 |
2230 { | 2229 { |
2231 "dlp", "DrazLace 1.0 (packed)", 0x5800, 0, DM_FMT_RDWR, | 2230 "dlp", "DrazLace 1.0 (packed)", 0x5800, 0, 0, DM_FMT_RDWR, |
2232 fmtProbeDrazLace10Packed, | 2231 fmtProbeDrazLace10Packed, |
2233 fmtDecodeDrazPaintPacked, fmtEncodeDrazPaintPacked, | 2232 fmtDecodeDrazPaintPacked, fmtEncodeDrazPaintPacked, |
2234 { }, &dmC64CommonFormats[5] | 2233 { }, &dmC64CommonFormats[5] |
2235 }, | 2234 }, |
2236 | 2235 |
2237 { | 2236 { |
2238 "drl", "DrazLace 1.0 (unpacked)", 0x5800, 18242, DM_FMT_RDWR, | 2237 "drl", "DrazLace 1.0 (unpacked)", 0x5800, 18242, 0, DM_FMT_RDWR, |
2239 NULL, | 2238 NULL, |
2240 NULL, NULL, | 2239 NULL, NULL, |
2241 { }, &dmC64CommonFormats[5] | 2240 { }, &dmC64CommonFormats[5] |
2242 }, | 2241 }, |
2243 | 2242 |
2244 { | 2243 { |
2245 "bdp5", "Boogie Down Paint 5 (packed)", 0x5000, 0, DM_FMT_RDWR, | 2244 "bdp5", "Boogie Down Paint 5 (packed)", 0x5000, 0, 0, DM_FMT_RDWR, |
2246 fmtProbeBDP5Packed, | 2245 fmtProbeBDP5Packed, |
2247 fmtDecodeBDP5Packed, fmtEncodeBDP5Packed, | 2246 fmtDecodeBDP5Packed, fmtEncodeBDP5Packed, |
2248 { }, &dmC64CommonFormats[0] // Memory format is same as Koala | 2247 { }, &dmC64CommonFormats[0] // Memory format is same as Koala |
2249 }, | 2248 }, |
2250 | 2249 |
2251 { | 2250 { |
2252 "vid", "Vidcom 64 (unpacked)", 0x5800, 10050, DM_FMT_RDWR, | 2251 "vid", "Vidcom 64 (unpacked)", 0x5800, 10050, 0, DM_FMT_RDWR, |
2253 NULL, | 2252 NULL, |
2254 NULL, NULL, | 2253 NULL, NULL, |
2255 { | 2254 { |
2256 D64_FMT_MC, | 2255 D64_FMT_MC, |
2257 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2256 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2269 }, | 2268 }, |
2270 NULL | 2269 NULL |
2271 }, | 2270 }, |
2272 | 2271 |
2273 { | 2272 { |
2274 "p64", "Picasso 64 (unpacked)", 0x1800, 10050, DM_FMT_RDWR, | 2273 "p64", "Picasso 64 (unpacked)", 0x1800, 10050, 0, DM_FMT_RDWR, |
2275 NULL, | 2274 NULL, |
2276 NULL, NULL, | 2275 NULL, NULL, |
2277 { | 2276 { |
2278 D64_FMT_MC, | 2277 D64_FMT_MC, |
2279 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2278 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2291 }, | 2290 }, |
2292 NULL | 2291 NULL |
2293 }, | 2292 }, |
2294 | 2293 |
2295 { | 2294 { |
2296 "mci", "Truepaint (unpacked)", 0x9c00, 19434, DM_FMT_RDWR, | 2295 "mci", "Truepaint (unpacked)", 0x9c00, 19434, 0, DM_FMT_RDWR, |
2297 NULL, | 2296 NULL, |
2298 NULL, NULL, | 2297 NULL, NULL, |
2299 { }, &dmC64CommonFormats[6] | 2298 { }, &dmC64CommonFormats[6] |
2300 }, | 2299 }, |
2301 | 2300 |
2302 { | 2301 { |
2303 "mcip", "Truepaint (packed)", 0x0801, 0, DM_FMT_RD, | 2302 "mcip", "Truepaint (packed)", 0x0801, 0, 0, DM_FMT_RD, |
2304 fmtProbeTruePaintPacked, | 2303 fmtProbeTruePaintPacked, |
2305 fmtDecodeTruePaintPacked, NULL, | 2304 fmtDecodeTruePaintPacked, NULL, |
2306 { }, &dmC64CommonFormats[6] | 2305 { }, &dmC64CommonFormats[6] |
2307 }, | 2306 }, |
2308 | 2307 |
2309 { | 2308 { |
2310 "kla", "Koala Painter (unpacked)", 0x6000, 10003, DM_FMT_RDWR, | 2309 "kla", "Koala Painter (unpacked)", 0x6000, 10003, 0, DM_FMT_RDWR, |
2311 fmtProbeKoalaPainter, | 2310 fmtProbeKoalaPainter, |
2312 NULL, NULL, | 2311 NULL, NULL, |
2313 { }, &dmC64CommonFormats[0] | 2312 { }, &dmC64CommonFormats[0] |
2314 }, | 2313 }, |
2315 | 2314 |
2316 { | 2315 { |
2317 "klp", "Koala Painter (packed)", 0x6000, 0xfe, DM_FMT_RDWR, // size is abused for RLE marker byte | 2316 "klp", "Koala Painter (packed)", 0x6000, 0, 0xfe, DM_FMT_RDWR, |
2318 fmtProbeKoalaPainterPacked, | 2317 fmtProbeKoalaPainterPacked, |
2319 fmtDecodeStaticRLEMarkerMode2, fmtEncodeStaticRLEMarkerMode2, | 2318 fmtDecodeStaticRLEMarkerMode2, fmtEncodeStaticRLEMarkerMode2, |
2320 { }, &dmC64CommonFormats[0] | 2319 { }, &dmC64CommonFormats[0] |
2321 }, | 2320 }, |
2322 | 2321 |
2323 { | 2322 { |
2324 "aas", "Advanced Art Studio (unpacked)", 0x2000, 10018, DM_FMT_RDWR, | 2323 "aas", "Advanced Art Studio (unpacked)", 0x2000, 10018, 0, DM_FMT_RDWR, |
2325 NULL, | 2324 NULL, |
2326 NULL, NULL, | 2325 NULL, NULL, |
2327 { | 2326 { |
2328 D64_FMT_MC, | 2327 D64_FMT_MC, |
2329 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2328 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2342 }, | 2341 }, |
2343 NULL | 2342 NULL |
2344 }, | 2343 }, |
2345 | 2344 |
2346 { | 2345 { |
2347 "ims", "Image System MC (unpacked)", 0x3c00, 10218, DM_FMT_RDWR, | 2346 "ims", "Image System MC (unpacked)", 0x3c00, 10218, 0, DM_FMT_RDWR, |
2348 NULL, | 2347 NULL, |
2349 NULL, NULL, | 2348 NULL, NULL, |
2350 { | 2349 { |
2351 D64_FMT_MC, | 2350 D64_FMT_MC, |
2352 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2351 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2364 }, | 2363 }, |
2365 NULL | 2364 NULL |
2366 }, | 2365 }, |
2367 | 2366 |
2368 { | 2367 { |
2369 "mil", "Micro Illustrator (unpacked)", 0x18dc, 10022, DM_FMT_RDWR | DM_FMT_BROKEN, | 2368 "mil", "Micro Illustrator (unpacked)", 0x18dc, 10022, 0, DM_FMT_RDWR | DM_FMT_BROKEN, |
2370 fmtProbeMicroIllustrator, | 2369 fmtProbeMicroIllustrator, |
2371 NULL, NULL, | 2370 NULL, NULL, |
2372 { | 2371 { |
2373 D64_FMT_MC, | 2372 D64_FMT_MC, |
2374 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2373 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2392 }, | 2391 }, |
2393 NULL | 2392 NULL |
2394 }, | 2393 }, |
2395 | 2394 |
2396 { | 2395 { |
2397 "cdu", "CDU-Paint (unpacked)", 0x7eef, 10277, DM_FMT_RDWR, | 2396 "cdu", "CDU-Paint (unpacked)", 0x7eef, 10277, 0, DM_FMT_RDWR, |
2398 NULL, | 2397 NULL, |
2399 NULL, NULL, | 2398 NULL, NULL, |
2400 { | 2399 { |
2401 D64_FMT_MC, | 2400 D64_FMT_MC, |
2402 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2401 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2414 }, | 2413 }, |
2415 NULL | 2414 NULL |
2416 }, | 2415 }, |
2417 | 2416 |
2418 { | 2417 { |
2419 "rbp", "Rainbow Painter (unpacked)", 0x5c00, 10242, DM_FMT_RDWR | DM_FMT_BROKEN, | 2418 "rbp", "Rainbow Painter (unpacked)", 0x5c00, 10242, 0, DM_FMT_RDWR | DM_FMT_BROKEN, |
2420 NULL, | 2419 NULL, |
2421 NULL, NULL, | 2420 NULL, NULL, |
2422 { | 2421 { |
2423 D64_FMT_MC, | 2422 D64_FMT_MC, |
2424 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2423 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2437 }, | 2436 }, |
2438 NULL | 2437 NULL |
2439 }, | 2438 }, |
2440 | 2439 |
2441 { | 2440 { |
2442 "sar", "Saracen Paint (unpacked)", 0x7800, 10219, DM_FMT_RDWR, | 2441 "sar", "Saracen Paint (unpacked)", 0x7800, 10219, 0, DM_FMT_RDWR, |
2443 fmtProbeSaracenPaint, | 2442 fmtProbeSaracenPaint, |
2444 NULL, NULL, | 2443 NULL, NULL, |
2445 { | 2444 { |
2446 D64_FMT_MC, | 2445 D64_FMT_MC, |
2447 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2446 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2459 }, | 2458 }, |
2460 NULL | 2459 NULL |
2461 }, | 2460 }, |
2462 | 2461 |
2463 { | 2462 { |
2464 "blp", "Blazing Paddles (unpacked)", 0xA000, 10242, DM_FMT_RDWR, | 2463 "blp", "Blazing Paddles (unpacked)", 0xA000, 10242, 0, DM_FMT_RDWR, |
2465 NULL, | 2464 NULL, |
2466 NULL, NULL, | 2465 NULL, NULL, |
2467 { | 2466 { |
2468 D64_FMT_MC, | 2467 D64_FMT_MC, |
2469 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2468 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2483 }, | 2482 }, |
2484 NULL | 2483 NULL |
2485 }, | 2484 }, |
2486 | 2485 |
2487 { | 2486 { |
2488 "pmg", "Paint Magic crippled MC (unpacked)", 0x3f8e, 9332, DM_FMT_RDWR, | 2487 "pmg", "Paint Magic crippled MC (unpacked)", 0x3f8e, 9332, 0, DM_FMT_RDWR, |
2489 NULL, | 2488 NULL, |
2490 NULL, NULL, | 2489 NULL, NULL, |
2491 { | 2490 { |
2492 D64_FMT_MC, | 2491 D64_FMT_MC, |
2493 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2492 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2506 }, | 2505 }, |
2507 NULL | 2506 NULL |
2508 }, | 2507 }, |
2509 | 2508 |
2510 { | 2509 { |
2511 "a64", "Wigmore Artist 64 (unpacked)", 0x4000, 10242, DM_FMT_RDWR, | 2510 "a64", "Wigmore Artist 64 (unpacked)", 0x4000, 10242, 0, DM_FMT_RDWR, |
2512 NULL, | 2511 NULL, |
2513 NULL, NULL, | 2512 NULL, NULL, |
2514 { | 2513 { |
2515 D64_FMT_MC, | 2514 D64_FMT_MC, |
2516 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2515 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2529 }, | 2528 }, |
2530 NULL | 2529 NULL |
2531 }, | 2530 }, |
2532 | 2531 |
2533 { | 2532 { |
2534 "ami", "Amica Paint (packed)", 0x4000, 0, DM_FMT_RDWR, | 2533 "ami", "Amica Paint (packed)", 0x4000, 0, 0, DM_FMT_RDWR, |
2535 fmtProbeAmicaPaintPacked, | 2534 fmtProbeAmicaPaintPacked, |
2536 fmtDecodeAmicaPaintPacked, fmtEncodeAmicaPaintPacked, | 2535 fmtDecodeAmicaPaintPacked, fmtEncodeAmicaPaintPacked, |
2537 { }, &dmC64CommonFormats[0] | 2536 { }, &dmC64CommonFormats[0] |
2538 }, | 2537 }, |
2539 | 2538 |
2540 { | 2539 { |
2541 "rpm", "Run Paint (unpacked)", 0x6000, 10006, DM_FMT_RDWR, | 2540 "rpm", "Run Paint (unpacked)", 0x6000, 10006, 0, DM_FMT_RDWR, |
2542 NULL, | 2541 NULL, |
2543 NULL, NULL, | 2542 NULL, NULL, |
2544 { }, &dmC64CommonFormats[0] | 2543 { }, &dmC64CommonFormats[0] |
2545 }, | 2544 }, |
2546 | 2545 |
2547 { | 2546 { |
2548 "ipc", "Interpaint MC (unpacked)", 0x4000, 10003, DM_FMT_RDWR, | 2547 "ipc", "Interpaint MC (unpacked)", 0x4000, 10003, 0, DM_FMT_RDWR, |
2549 NULL, | 2548 NULL, |
2550 NULL, NULL, | 2549 NULL, NULL, |
2551 { }, &dmC64CommonFormats[0] | 2550 { }, &dmC64CommonFormats[0] |
2552 }, | 2551 }, |
2553 | 2552 |
2554 { | 2553 { |
2555 "art", "Art Studio (unpacked)", 0x2000, 9009, DM_FMT_RDWR, | 2554 "art", "Art Studio (unpacked)", 0x2000, 9009, 0, DM_FMT_RDWR, |
2556 fmtProbeArtStudio, | 2555 fmtProbeArtStudio, |
2557 NULL, NULL, | 2556 NULL, NULL, |
2558 { }, &dmC64CommonFormats[2] | 2557 { }, &dmC64CommonFormats[2] |
2559 }, | 2558 }, |
2560 | 2559 |
2561 { | 2560 { |
2562 "iph", "Interpaint (unpacked)", 0x4000, 9002, DM_FMT_RDWR, | 2561 "iph", "Interpaint (unpacked)", 0x4000, 9002, 0, DM_FMT_RDWR, |
2563 NULL, | 2562 NULL, |
2564 NULL, NULL, | 2563 NULL, NULL, |
2565 { }, &dmC64CommonFormats[2] | 2564 { }, &dmC64CommonFormats[2] |
2566 }, | 2565 }, |
2567 | 2566 |
2568 { | 2567 { |
2569 "dd", "Doodle (unpacked)", 0x1c00, 9218, DM_FMT_RDWR, | 2568 "dd", "Doodle (unpacked)", 0x1c00, 9218, 0, DM_FMT_RDWR, |
2570 fmtProbeDoodle, | 2569 fmtProbeDoodle, |
2571 NULL, NULL, | 2570 NULL, NULL, |
2572 { }, &dmC64CommonFormats[10] | 2571 { }, &dmC64CommonFormats[10] |
2573 }, | 2572 }, |
2574 | 2573 |
2575 { | 2574 { |
2576 "jj", "Doodle (packed)", 0x5c00, 0xfe, DM_FMT_RDWR, // size is abused for RLE marker byte | 2575 "jj", "Doodle (packed)", 0x5c00, 0, 0xfe, DM_FMT_RDWR, |
2577 fmtProbeDoodle, | 2576 fmtProbeDoodle, |
2578 fmtDecodeStaticRLEMarkerMode2, fmtEncodeStaticRLEMarkerMode2, | 2577 fmtDecodeStaticRLEMarkerMode2, fmtEncodeStaticRLEMarkerMode2, |
2579 { }, &dmC64CommonFormats[10] | 2578 { }, &dmC64CommonFormats[10] |
2580 }, | 2579 }, |
2581 | 2580 |
2582 { | 2581 { |
2583 "mon", "Monomagic (unpacked)", 0x2000, 8194, DM_FMT_RDWR, | 2582 "mon", "Monomagic (unpacked)", 0x2000, 8194, 0, DM_FMT_RDWR, |
2584 NULL, | 2583 NULL, |
2585 NULL, NULL, | 2584 NULL, NULL, |
2586 { | 2585 { |
2587 D64_FMT_HIRES, | 2586 D64_FMT_HIRES, |
2588 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 2587 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
2599 }, | 2598 }, |
2600 NULL | 2599 NULL |
2601 }, | 2600 }, |
2602 | 2601 |
2603 { | 2602 { |
2604 "hir", "Plain hires (unpacked)", 0x2000, 8002, DM_FMT_RDWR, | 2603 "hir", "Plain hires (unpacked)", 0x2000, 8002, 0, DM_FMT_RDWR, |
2605 NULL, | 2604 NULL, |
2606 NULL, NULL, | 2605 NULL, NULL, |
2607 { | 2606 { |
2608 D64_FMT_HIRES, | 2607 D64_FMT_HIRES, |
2609 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 2608 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
2619 }, | 2618 }, |
2620 NULL | 2619 NULL |
2621 }, | 2620 }, |
2622 | 2621 |
2623 { | 2622 { |
2624 "gih", "Gigapaint hires (unpacked)", 0x6000, 8002, DM_FMT_RDWR, | 2623 "gih", "Gigapaint hires (unpacked)", 0x6000, 8002, 0, DM_FMT_RDWR, |
2625 fmtProbeGigapaintHires, | 2624 fmtProbeGigapaintHires, |
2626 NULL, NULL, | 2625 NULL, NULL, |
2627 { | 2626 { |
2628 D64_FMT_HIRES, | 2627 D64_FMT_HIRES, |
2629 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 2628 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
2639 }, | 2638 }, |
2640 NULL | 2639 NULL |
2641 }, | 2640 }, |
2642 | 2641 |
2643 { | 2642 { |
2644 "bfli", "Pu-239 Big FLI/BFLI (unpacked)", 0x3bff, 33795, DM_FMT_RD, | 2643 "bfli", "Pu-239 Big FLI/BFLI (unpacked)", 0x3bff, 33795, 0, DM_FMT_RD, |
2645 NULL, | 2644 NULL, |
2646 NULL, NULL, | 2645 NULL, NULL, |
2647 { | 2646 { |
2648 D64_FMT_MC | D64_FMT_FLI, | 2647 D64_FMT_MC | D64_FMT_FLI, |
2649 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT * 2, | 2648 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT * 2, |
2663 }, | 2662 }, |
2664 NULL | 2663 NULL |
2665 }, | 2664 }, |
2666 | 2665 |
2667 { | 2666 { |
2668 "bml", "Black Mail FLI (unpacked)", 0x3b00, 17474, DM_FMT_RDWR, | 2667 "bml", "Black Mail FLI (unpacked)", 0x3b00, 17474, 0, DM_FMT_RDWR, |
2669 NULL, | 2668 NULL, |
2670 NULL, NULL, | 2669 NULL, NULL, |
2671 { }, &dmC64CommonFormats[1] | 2670 { }, &dmC64CommonFormats[1] |
2672 }, | 2671 }, |
2673 | 2672 |
2674 { | 2673 { |
2675 "bmlp", "Black Mail FLI (packed)", 0x38f0, 0, DM_FMT_RDWR, | 2674 "bmlp", "Black Mail FLI (packed)", 0x38f0, 0, 0, DM_FMT_RDWR, |
2676 fmtProbeBlackMailFLIPacked, | 2675 fmtProbeBlackMailFLIPacked, |
2677 fmtDecodeBlackMailFLIPacked, fmtEncodeBlackMailFLIPacked, | 2676 fmtDecodeBlackMailFLIPacked, fmtEncodeBlackMailFLIPacked, |
2678 { }, &dmC64CommonFormats[1] | 2677 { }, &dmC64CommonFormats[1] |
2679 }, | 2678 }, |
2680 | 2679 |
2681 { | 2680 { |
2682 "dfed", "Dolphins FLI Editor v3.2 (unpacked)", 0x3b00, 17665, DM_FMT_RDWR, | 2681 "dfed", "Dolphins FLI Editor v3.2 (unpacked)", 0x3b00, 17665, 0, DM_FMT_RDWR, |
2683 NULL, | 2682 NULL, |
2684 NULL, NULL, | 2683 NULL, NULL, |
2685 { }, &dmC64CommonFormats[1] | 2684 { }, &dmC64CommonFormats[1] |
2686 }, | 2685 }, |
2687 | 2686 |
2688 { | 2687 { |
2689 "fd1", "FBI Crew FLI Designer 1.1 (unpacked)", 0x3c00, 17409, DM_FMT_RDWR, | 2688 "fd1", "FBI Crew FLI Designer 1.1 (unpacked)", 0x3c00, 17409, 0, DM_FMT_RDWR, |
2690 NULL, | 2689 NULL, |
2691 NULL, NULL, | 2690 NULL, NULL, |
2692 { }, &dmC64CommonFormats[9] | 2691 { }, &dmC64CommonFormats[9] |
2693 }, | 2692 }, |
2694 | 2693 |
2695 { | 2694 { |
2696 "fd2", "FLI Designer 2 (unpacked)", 0x3ff0, 17409, DM_FMT_RDWR, | 2695 "fd2", "FLI Designer 2 (unpacked)", 0x3ff0, 17409, 0, DM_FMT_RDWR, |
2697 NULL, | 2696 NULL, |
2698 NULL, NULL, | 2697 NULL, NULL, |
2699 { }, &dmC64CommonFormats[9] | 2698 { }, &dmC64CommonFormats[9] |
2700 }, | 2699 }, |
2701 | 2700 |
2702 { | 2701 { |
2703 "flnt", "Flinterlazer 1.0 (unpacked)", 0x284e, 38812, DM_FMT_RD | DM_FMT_BROKEN, | 2702 "flnt", "Flinterlazer 1.0 (unpacked)", 0x284e, 38812, 0, DM_FMT_RD | DM_FMT_BROKEN, |
2704 NULL, | 2703 NULL, |
2705 NULL, NULL, | 2704 NULL, NULL, |
2706 { | 2705 { |
2707 D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, | 2706 D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, |
2708 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2707 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2728 }, | 2727 }, |
2729 NULL | 2728 NULL |
2730 }, | 2729 }, |
2731 | 2730 |
2732 { | 2731 { |
2733 "eci", "ECI Graphic Editor 1.0 (unpacked)", 0x4000, 32770, DM_FMT_RDWR, | 2732 "eci", "ECI Graphic Editor 1.0 (unpacked)", 0x4000, 32770, 0, DM_FMT_RDWR, |
2734 NULL, | 2733 NULL, |
2735 NULL, NULL, | 2734 NULL, NULL, |
2736 { }, &dmC64CommonFormats[7] | 2735 { }, &dmC64CommonFormats[7] |
2737 }, | 2736 }, |
2738 | 2737 |
2739 { | 2738 { |
2740 "ecip", "ECI Graphic Editor 1.0 (packed)", 0x4000, 0, DM_FMT_RDWR, | 2739 "ecip", "ECI Graphic Editor 1.0 (packed)", 0x4000, 0, 0, DM_FMT_RDWR, |
2741 fmtProbeECIPacked, | 2740 fmtProbeECIPacked, |
2742 fmtDecodeECIPacked, fmtEncodeECIPacked, | 2741 fmtDecodeECIPacked, fmtEncodeECIPacked, |
2743 { }, &dmC64CommonFormats[7] | 2742 { }, &dmC64CommonFormats[7] |
2744 }, | 2743 }, |
2745 | 2744 |
2746 { | 2745 { |
2747 "fpt", "Face Painter (unpacked)", 0x4000, 10004, DM_FMT_RDWR, | 2746 "fpt", "Face Painter (unpacked)", 0x4000, 10004, 0, DM_FMT_RDWR, |
2748 NULL, | 2747 NULL, |
2749 NULL, NULL, | 2748 NULL, NULL, |
2750 { // Almost same layout as Koala Painter, but FPT has D020 | 2749 { // Almost same layout as Koala Painter, but FPT has D020 |
2751 D64_FMT_MC, | 2750 D64_FMT_MC, |
2752 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2751 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2765 }, | 2764 }, |
2766 NULL | 2765 NULL |
2767 }, | 2766 }, |
2768 | 2767 |
2769 { | 2768 { |
2770 "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, DM_FMT_RDWR, | 2769 "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, 0, DM_FMT_RDWR, |
2771 NULL, | 2770 NULL, |
2772 NULL, NULL, | 2771 NULL, NULL, |
2773 { | 2772 { |
2774 D64_FMT_MC, | 2773 D64_FMT_MC, |
2775 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2774 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2787 }, | 2786 }, |
2788 NULL | 2787 NULL |
2789 }, | 2788 }, |
2790 | 2789 |
2791 { | 2790 { |
2792 "xx2", "Unknown $2000 format (unpacked)", 0x2000, 0, DM_FMT_RDWR, | 2791 "xx2", "Unknown $2000 format (unpacked)", 0x2000, 0, 0, DM_FMT_RDWR, |
2793 fmtProbeFormatXX2, | 2792 fmtProbeFormatXX2, |
2794 fmtDecodeFormatXX2, NULL, | 2793 fmtDecodeFormatXX2, NULL, |
2795 { | 2794 { |
2796 D64_FMT_MC, | 2795 D64_FMT_MC, |
2797 XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8, | 2796 XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8, |
2809 }, | 2808 }, |
2810 NULL | 2809 NULL |
2811 }, | 2810 }, |
2812 | 2811 |
2813 { | 2812 { |
2814 "fp2", "FunPaint II (unpacked)", 0x3ff0, 33694, DM_FMT_RDWR, | 2813 "fp2", "FunPaint II (unpacked)", 0x3ff0, 33694, 0, DM_FMT_RDWR, |
2815 fmtProbeFunPaint2, | 2814 fmtProbeFunPaint2, |
2816 fmtDecodeFunPaint2, fmtEncodeFunPaint2Unpacked, | 2815 fmtDecodeFunPaint2, fmtEncodeFunPaint2Unpacked, |
2817 { }, &dmC64CommonFormats[3] | 2816 { }, &dmC64CommonFormats[3] |
2818 }, | 2817 }, |
2819 | 2818 |
2820 { | 2819 { |
2821 "fp2p", "FunPaint II (packed)", 0x3ff0, 0, DM_FMT_RDWR, | 2820 "fp2p", "FunPaint II (packed)", 0x3ff0, 0, 0, DM_FMT_RDWR, |
2822 fmtProbeFunPaint2, | 2821 fmtProbeFunPaint2, |
2823 fmtDecodeFunPaint2, fmtEncodeFunPaint2Packed, | 2822 fmtDecodeFunPaint2, fmtEncodeFunPaint2Packed, |
2824 { }, &dmC64CommonFormats[3] | 2823 { }, &dmC64CommonFormats[3] |
2825 }, | 2824 }, |
2826 | 2825 |
2827 { | 2826 { |
2828 "gun", "GunPaint 1.1 (unpacked)", 0x4000, 33603, DM_FMT_RDWR, | 2827 "gun", "GunPaint 1.1 (unpacked)", 0x4000, 33603, 0, DM_FMT_RDWR, |
2829 fmtProbeGunPaint, | 2828 fmtProbeGunPaint, |
2830 NULL, NULL, | 2829 NULL, NULL, |
2831 { | 2830 { |
2832 D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, | 2831 D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, |
2833 D64_SCR_WIDTH, D64_SCR_HEIGHT, | 2832 D64_SCR_WIDTH, D64_SCR_HEIGHT, |
2853 }, | 2852 }, |
2854 NULL | 2853 NULL |
2855 }, | 2854 }, |
2856 | 2855 |
2857 { | 2856 { |
2858 "hcb", "Half Char Bitmap (unpacked)", 0x5000, 12148, DM_FMT_RDWR, | 2857 "hcb", "Half Char Bitmap (unpacked)", 0x5000, 12148, 0, DM_FMT_RDWR, |
2859 NULL, | 2858 NULL, |
2860 NULL, NULL, | 2859 NULL, NULL, |
2861 { | 2860 { |
2862 D64_FMT_MC | D64_FMT_FLI, | 2861 D64_FMT_MC | D64_FMT_FLI, |
2863 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, | 2862 D64_SCR_WIDTH / 2, D64_SCR_HEIGHT, |
2878 }, | 2877 }, |
2879 NULL | 2878 NULL |
2880 }, | 2879 }, |
2881 | 2880 |
2882 { | 2881 { |
2883 "pen", "Pentel Paint (unpacked)", 0x4800, 19845, DM_FMT_RD | DM_FMT_BROKEN, | 2882 "pen", "Pentel Paint (unpacked)", 0x4800, 19845, 0, DM_FMT_RD | DM_FMT_BROKEN, |
2884 NULL, | 2883 NULL, |
2885 NULL, NULL, | 2884 NULL, NULL, |
2886 { | 2885 { |
2887 D64_FMT_HIRES | D64_FMT_FLI | D64_FMT_SPRITES, | 2886 D64_FMT_HIRES | D64_FMT_FLI | D64_FMT_SPRITES, |
2888 192, D64_SCR_HEIGHT, | 2887 192, D64_SCR_HEIGHT, |
2903 }, | 2902 }, |
2904 NULL | 2903 NULL |
2905 }, | 2904 }, |
2906 | 2905 |
2907 { | 2906 { |
2908 "chfd", "Crest Hires FLI Designer (unpacked)", 0x4000, 16386, DM_FMT_RDWR, | 2907 "chfd", "Crest Hires FLI Designer (unpacked)", 0x4000, 16386, 0, DM_FMT_RDWR, |
2909 NULL, | 2908 NULL, |
2910 NULL, NULL, | 2909 NULL, NULL, |
2911 { | 2910 { |
2912 D64_FMT_HIRES | D64_FMT_FLI, | 2911 D64_FMT_HIRES | D64_FMT_FLI, |
2913 D64_SCR_WIDTH, D64_SCR_HEIGHT, // Actually 296 x 112 (=14*8) | 2912 D64_SCR_WIDTH, D64_SCR_HEIGHT, // Actually 296 x 112 (=14*8) |
2924 }, | 2923 }, |
2925 NULL | 2924 NULL |
2926 }, | 2925 }, |
2927 | 2926 |
2928 { | 2927 { |
2929 "cshf", "Crest Super Hires FLI Editor v1.0 (unpacked)", 0x4000, 15874, DM_FMT_RDWR, | 2928 "cshf", "Crest Super Hires FLI Editor v1.0 (unpacked)", 0x4000, 15874, 0, DM_FMT_RDWR, |
2930 fmtProbeCrestSHFLI, | 2929 fmtProbeCrestSHFLI, |
2931 NULL, NULL, | 2930 NULL, NULL, |
2932 { }, &dmC64CommonFormats[11] | 2931 { }, &dmC64CommonFormats[11] |
2933 }, | 2932 }, |
2934 | 2933 |
2935 { | 2934 { |
2936 "cshfp", "Crest Super Hires FLI Editor v1.0 (packed)", 0xa000, 0, DM_FMT_RD, | 2935 "cshfp", "Crest Super Hires FLI Editor v1.0 (packed)", 0xa000, 0, 0, DM_FMT_RD, |
2937 fmtProbeCrestSHFLI, | 2936 fmtProbeCrestSHFLI, |
2938 fmtDecodeCrestSHFLIPacked, NULL, | 2937 fmtDecodeCrestSHFLIPacked, NULL, |
2939 { }, &dmC64CommonFormats[11] | 2938 { }, &dmC64CommonFormats[11] |
2940 }, | 2939 }, |
2941 | 2940 |
2942 { | 2941 { |
2943 "cdhm", "Cosmos Designs Hires Manager (unpacked)", 0x4000, 16385, DM_FMT_RDWR, | 2942 "cdhm", "Cosmos Designs Hires Manager (unpacked)", 0x4000, 16385, 0, DM_FMT_RDWR, |
2944 fmtProbeCosmosDesignsHiresManager, | 2943 fmtProbeCosmosDesignsHiresManager, |
2945 NULL, NULL, | 2944 NULL, NULL, |
2946 { }, &dmC64CommonFormats[8] | 2945 { }, &dmC64CommonFormats[8] |
2947 }, | 2946 }, |
2948 | 2947 |
2949 { | 2948 { |
2950 "cdhp", "Cosmos Designs Hires Manager (packed)", 0x4000, 0, DM_FMT_RD, | 2949 "cdhp", "Cosmos Designs Hires Manager (packed)", 0x4000, 0, 0, DM_FMT_RD, |
2951 fmtProbeCosmosDesignsHiresManager, | 2950 fmtProbeCosmosDesignsHiresManager, |
2952 fmtDecodeCosmosDesignsHiresManagerPacked, NULL, | 2951 fmtDecodeCosmosDesignsHiresManagerPacked, NULL, |
2953 { }, &dmC64CommonFormats[8] | 2952 { }, &dmC64CommonFormats[8] |
2954 }, | 2953 }, |
2955 | 2954 |
2956 { | 2955 { |
2957 "mrqp", "Marq's PETSCII editor (new format) (unpacked)", 0x0801, 0, DM_FMT_RDWR, | 2956 "mrqp", "Marq's PETSCII editor (new format) (unpacked)", 0x0801, 0, 0, DM_FMT_RDWR, |
2958 fmtProbeMarqPETSCII, | 2957 fmtProbeMarqPETSCII, |
2959 NULL, NULL, | 2958 NULL, NULL, |
2960 { | 2959 { |
2961 D64_FMT_HIRES | D64_FMT_CHAR, | 2960 D64_FMT_HIRES | D64_FMT_CHAR, |
2962 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 2961 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
2978 }, | 2977 }, |
2979 NULL | 2978 NULL |
2980 }, | 2979 }, |
2981 | 2980 |
2982 { | 2981 { |
2983 "mqpo", "Marq's PETSCII editor (old format) (unpacked)", 0x0801, 2499, DM_FMT_RD, | 2982 "mqpo", "Marq's PETSCII editor (old format) (unpacked)", 0x0801, 2499, 0, DM_FMT_RD, |
2984 NULL, | 2983 NULL, |
2985 NULL, NULL, | 2984 NULL, NULL, |
2986 { | 2985 { |
2987 D64_FMT_HIRES | D64_FMT_CHAR, | 2986 D64_FMT_HIRES | D64_FMT_CHAR, |
2988 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 2987 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
3003 }, | 3002 }, |
3004 NULL | 3003 NULL |
3005 }, | 3004 }, |
3006 | 3005 |
3007 { | 3006 { |
3008 "pkhu", "petscii.krissz.hu editor (unpacked)", 0x0801, 0, DM_FMT_RD, | 3007 "pkhu", "petscii.krissz.hu editor (unpacked)", 0x0801, 0, 0, DM_FMT_RD, |
3009 fmtProbePetsciiKrisszHu, | 3008 fmtProbePetsciiKrisszHu, |
3010 NULL, NULL, | 3009 NULL, NULL, |
3011 { | 3010 { |
3012 D64_FMT_CHAR, | 3011 D64_FMT_CHAR, |
3013 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 3012 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
3028 }, | 3027 }, |
3029 NULL | 3028 NULL |
3030 }, | 3029 }, |
3031 | 3030 |
3032 { | 3031 { |
3033 "poca", "Petscii Coca editor (unpacked)", 0x0801, 0, DM_FMT_RDWR, | 3032 "poca", "Petscii Coca editor (unpacked)", 0x0801, 0, 0, DM_FMT_RDWR, |
3034 fmtProbeCocaPETSCII, | 3033 fmtProbeCocaPETSCII, |
3035 NULL, NULL, | 3034 NULL, NULL, |
3036 { | 3035 { |
3037 D64_FMT_HIRES | D64_FMT_CHAR, | 3036 D64_FMT_HIRES | D64_FMT_CHAR, |
3038 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 3037 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
3054 }, | 3053 }, |
3055 NULL | 3054 NULL |
3056 }, | 3055 }, |
3057 | 3056 |
3058 { | 3057 { |
3059 "acpe", "Abyss Connection PETSCII-Editor 4.61 (unpacked)", 0x3000, 2026, DM_FMT_RDWR, | 3058 "acpe", "Abyss Connection PETSCII-Editor 4.61 (unpacked)", 0x3000, 2026, 0, DM_FMT_RDWR, |
3060 NULL, | 3059 NULL, |
3061 NULL, NULL, | 3060 NULL, NULL, |
3062 { | 3061 { |
3063 D64_FMT_HIRES | D64_FMT_CHAR, | 3062 D64_FMT_HIRES | D64_FMT_CHAR, |
3064 D64_SCR_WIDTH , D64_SCR_HEIGHT, | 3063 D64_SCR_WIDTH , D64_SCR_HEIGHT, |
3080 }, | 3079 }, |
3081 NULL | 3080 NULL |
3082 }, | 3081 }, |
3083 | 3082 |
3084 { | 3083 { |
3085 "suphi1", "SupeRes hires [clear] (packed)", -1, 0x23, DM_FMT_RD, | 3084 "suphi1", "SupeRes hires [clear] (packed)", -1, 0, 0x23, DM_FMT_RD, |
3086 fmtProbeSupeRes, | 3085 fmtProbeSupeRes, |
3087 fmtDecodeSupeRes, NULL, | 3086 fmtDecodeSupeRes, NULL, |
3088 { }, &dmC64CommonFormats[10] | 3087 { }, &dmC64CommonFormats[10] |
3089 }, | 3088 }, |
3090 | 3089 |
3091 { | 3090 { |
3092 "suphi2", "SupeRes hires [no-clear] (packed)", -1, 0x25, DM_FMT_RD, | 3091 "suphi2", "SupeRes hires [no-clear] (packed)", -1, 0, 0x25, DM_FMT_RD, |
3093 fmtProbeSupeRes, | 3092 fmtProbeSupeRes, |
3094 fmtDecodeSupeRes, NULL, | 3093 fmtDecodeSupeRes, NULL, |
3095 { }, &dmC64CommonFormats[10] | 3094 { }, &dmC64CommonFormats[10] |
3096 }, | 3095 }, |
3097 | 3096 |
3098 { | 3097 { |
3099 "supmc1", "SupeRes multicolor [clear] (packed)", -1, 0x24, DM_FMT_RD, | 3098 "supmc1", "SupeRes multicolor [clear] (packed)", -1, 0, 0x24, DM_FMT_RD, |
3100 fmtProbeSupeRes, | 3099 fmtProbeSupeRes, |
3101 fmtDecodeSupeRes, NULL, | 3100 fmtDecodeSupeRes, NULL, |
3102 { }, &dmC64CommonFormats[0] | 3101 { }, &dmC64CommonFormats[0] |
3103 }, | 3102 }, |
3104 | 3103 |
3105 { | 3104 { |
3106 "supmc2", "SupeRes multicolor [no-clear] (packed)", -1, 0x26, DM_FMT_RD, | 3105 "supmc2", "SupeRes multicolor [no-clear] (packed)", -1, 0, 0x26, DM_FMT_RD, |
3107 fmtProbeSupeRes, | 3106 fmtProbeSupeRes, |
3108 fmtDecodeSupeRes, NULL, | 3107 fmtDecodeSupeRes, NULL, |
3109 { }, &dmC64CommonFormats[0] | 3108 { }, &dmC64CommonFormats[0] |
3110 }, | 3109 }, |
3111 }; | 3110 }; |