comparison tools/lib64gfx.c @ 924:732787cccca8

Add dimension (w/h) information fields to C64 image format struct.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 25 Feb 2015 15:23:09 +0200
parents 0f477446448d
children 23b14d62bf67
comparison
equal deleted inserted replaced
923:0f477446448d 924:732787cccca8
290 290
291 291
292 const DMC64ImageFormat dmC64ImageFormats[] = 292 const DMC64ImageFormat dmC64ImageFormats[] =
293 { 293 {
294 { 294 {
295 D64_FMT_MC, "d2p", "DrazPaint 2.0 (packed)", 0x5800, -1, 295 D64_FMT_MC, "d2p", "DrazPaint 2.0 (packed)", 0x5800, 0,
296 C64_SCR_WIDTH , C64_SCR_HEIGHT,
297 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
296 fmtProbeDrazPaint20Packed, fmtDecodeDrazPaintPacked, 298 fmtProbeDrazPaint20Packed, fmtDecodeDrazPaintPacked,
297 NULL, NULL, NULL, 299 NULL, NULL, NULL,
298 4, 300 4,
299 { 301 {
300 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, 302 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL },
303 { DT_COLOR_REG, 0x2740, 0, DC_BGCOL, NULL, NULL }, 305 { DT_COLOR_REG, 0x2740, 0, DC_BGCOL, NULL, NULL },
304 } 306 }
305 }, 307 },
306 308
307 { 309 {
308 D64_FMT_MC | D64_FMT_ILACE, "dlp", "DrazLace 1.0 (packed)", 0x5800, -1, 310 D64_FMT_MC | D64_FMT_ILACE, "dlp", "DrazLace 1.0 (packed)", 0x5800, 0,
311 C64_SCR_WIDTH , C64_SCR_HEIGHT,
312 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
309 fmtProbeDrazLace10Packed, fmtDecodeDrazPaintPacked, 313 fmtProbeDrazLace10Packed, fmtDecodeDrazPaintPacked,
310 NULL, NULL, NULL, 314 NULL, NULL, NULL,
311 6, 315 6,
312 { 316 {
313 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, 317 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL },
319 } 323 }
320 }, 324 },
321 325
322 { 326 {
323 D64_FMT_MC, "drp", "DrazPaint (unpacked)", 0x5800, 10051, 327 D64_FMT_MC, "drp", "DrazPaint (unpacked)", 0x5800, 10051,
328 C64_SCR_WIDTH , C64_SCR_HEIGHT,
329 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
324 NULL, NULL, 330 NULL, NULL,
325 NULL, NULL, NULL, 331 NULL, NULL, NULL,
326 4, 332 4,
327 { 333 {
328 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, 334 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL },
332 } 338 }
333 }, 339 },
334 340
335 { 341 {
336 D64_FMT_MC | D64_FMT_ILACE, "drl", "DrazLace 1.0 (unpacked)", 0x5800, 18242, 342 D64_FMT_MC | D64_FMT_ILACE, "drl", "DrazLace 1.0 (unpacked)", 0x5800, 18242,
343 C64_SCR_WIDTH , C64_SCR_HEIGHT,
344 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
337 NULL, NULL, 345 NULL, NULL,
338 NULL, NULL, NULL, 346 NULL, NULL, NULL,
339 6, 347 6,
340 { 348 {
341 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, 349 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL },
347 } 355 }
348 }, 356 },
349 357
350 { 358 {
351 D64_FMT_MC | D64_FMT_ILACE, "mci", "Truepaint (unpacked)", 0x9c00, 19434, 359 D64_FMT_MC | D64_FMT_ILACE, "mci", "Truepaint (unpacked)", 0x9c00, 19434,
360 C64_SCR_WIDTH , C64_SCR_HEIGHT,
361 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
352 NULL, NULL, 362 NULL, NULL,
353 NULL, NULL, NULL, 363 NULL, NULL, NULL,
354 6, 364 6,
355 { 365 {
356 { DT_SCREEN_RAM, 0x0000, 0, 0, NULL, NULL }, 366 { DT_SCREEN_RAM, 0x0000, 0, 0, NULL, NULL },
363 } 373 }
364 }, 374 },
365 375
366 { 376 {
367 D64_FMT_MC, "kla", "Koala Paint (unpacked)", 0x6000, 10003, 377 D64_FMT_MC, "kla", "Koala Paint (unpacked)", 0x6000, 10003,
378 C64_SCR_WIDTH , C64_SCR_HEIGHT,
379 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
368 NULL, NULL, 380 NULL, NULL,
369 NULL, NULL, NULL, 381 NULL, NULL, NULL,
370 4, 382 4,
371 { 383 {
372 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL }, 384 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL },
376 } 388 }
377 }, 389 },
378 390
379 { 391 {
380 D64_FMT_MC, "ocp", "Advanced Art Studio (unpacked)", 0x2000, 10018, 392 D64_FMT_MC, "ocp", "Advanced Art Studio (unpacked)", 0x2000, 10018,
393 C64_SCR_WIDTH , C64_SCR_HEIGHT,
394 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
381 NULL, NULL, 395 NULL, NULL,
382 NULL, NULL, NULL, 396 NULL, NULL, NULL,
383 4, 397 4,
384 { 398 {
385 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL }, 399 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL },
388 { DT_COLOR_REG, 0x2329, 0, DC_BGCOL, NULL, NULL }, 402 { DT_COLOR_REG, 0x2329, 0, DC_BGCOL, NULL, NULL },
389 } 403 }
390 }, 404 },
391 405
392 { 406 {
393 D64_FMT_MC, "ami", "Amica Paint (packed)", 0x4000, -1, 407 D64_FMT_MC, "ami", "Amica Paint (packed)", 0x4000, 0,
408 C64_SCR_WIDTH , C64_SCR_HEIGHT,
409 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
394 fmtProbeAmicaPaintPacked, fmtDecodeAmicaPaintPacked, 410 fmtProbeAmicaPaintPacked, fmtDecodeAmicaPaintPacked,
395 NULL, NULL, NULL, 411 NULL, NULL, NULL,
396 4, 412 4,
397 { 413 {
398 { DT_COLOR_RAM, 0x2328, 0, 0, NULL, NULL }, 414 { DT_COLOR_RAM, 0x2328, 0, 0, NULL, NULL },
402 } 418 }
403 }, 419 },
404 420
405 { 421 {
406 D64_FMT_MC, "rpm", "Run Paint (unpacked)", 0x6000, 10006, 422 D64_FMT_MC, "rpm", "Run Paint (unpacked)", 0x6000, 10006,
423 C64_SCR_WIDTH , C64_SCR_HEIGHT,
424 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
407 NULL, NULL, 425 NULL, NULL,
408 NULL, NULL, NULL, 426 NULL, NULL, NULL,
409 4, 427 4,
410 { 428 {
411 { DT_COLOR_RAM, 0x2328, 0, 0, NULL, NULL }, 429 { DT_COLOR_RAM, 0x2328, 0, 0, NULL, NULL },
415 } 433 }
416 }, 434 },
417 435
418 { 436 {
419 D64_FMT_HIRES, "art", "Art Studio (unpacked)", 0x2000, 9009, 437 D64_FMT_HIRES, "art", "Art Studio (unpacked)", 0x2000, 9009,
438 C64_SCR_WIDTH , C64_SCR_HEIGHT,
439 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
420 NULL, NULL, 440 NULL, NULL,
421 NULL, NULL, NULL, 441 NULL, NULL, NULL,
422 2, 442 2,
423 { 443 {
424 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL }, 444 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL },
426 } 446 }
427 }, 447 },
428 448
429 { 449 {
430 D64_FMT_HIRES, "iph", "Interpaint (unpacked)", 0x4000, 9002, 450 D64_FMT_HIRES, "iph", "Interpaint (unpacked)", 0x4000, 9002,
451 C64_SCR_WIDTH , C64_SCR_HEIGHT,
452 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
431 NULL, NULL, 453 NULL, NULL,
432 NULL, NULL, NULL, 454 NULL, NULL, NULL,
433 2, 455 2,
434 { 456 {
435 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL }, 457 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL },
437 } 459 }
438 }, 460 },
439 461
440 { 462 {
441 D64_FMT_HIRES, "dd", "Doodle (unpacked)", 0x1c00, 9218, 463 D64_FMT_HIRES, "dd", "Doodle (unpacked)", 0x1c00, 9218,
464 C64_SCR_WIDTH , C64_SCR_HEIGHT,
465 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
442 NULL, NULL, 466 NULL, NULL,
443 NULL, NULL, NULL, 467 NULL, NULL, NULL,
444 2, 468 2,
445 { 469 {
446 { DT_SCREEN_RAM, 0x0000, 0, 0, NULL, NULL }, 470 { DT_SCREEN_RAM, 0x0000, 0, 0, NULL, NULL },
448 } 472 }
449 }, 473 },
450 474
451 { 475 {
452 D64_FMT_MC | D64_FMT_FLI, "bml", "Blackmail FLI (unpacked)", 0x3b00, 17474, 476 D64_FMT_MC | D64_FMT_FLI, "bml", "Blackmail FLI (unpacked)", 0x3b00, 17474,
477 C64_SCR_WIDTH , C64_SCR_HEIGHT,
478 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
453 NULL, NULL, 479 NULL, NULL,
454 NULL, NULL, NULL, 480 NULL, NULL, NULL,
455 11, 481 11,
456 { 482 {
457 { DT_COLOR_RAM, 0x0100, 0, 0, NULL, NULL }, 483 { DT_COLOR_RAM, 0x0100, 0, 0, NULL, NULL },
471 } 497 }
472 }, 498 },
473 499
474 { 500 {
475 D64_FMT_MC | D64_FMT_FLI, "fli", "FLI Designer (unpacked)", 0x3c00, 17409, 501 D64_FMT_MC | D64_FMT_FLI, "fli", "FLI Designer (unpacked)", 0x3c00, 17409,
502 C64_SCR_WIDTH , C64_SCR_HEIGHT,
503 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
476 NULL, NULL, 504 NULL, NULL,
477 NULL, NULL, NULL, 505 NULL, NULL, NULL,
478 11, 506 11,
479 { 507 {
480 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, 508 { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL },
491 } 519 }
492 }, 520 },
493 521
494 { 522 {
495 D64_FMT_MC, "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242, 523 D64_FMT_MC, "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242,
524 C64_SCR_WIDTH , C64_SCR_HEIGHT,
525 C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
496 NULL, NULL, 526 NULL, NULL,
497 NULL, NULL, NULL, 527 NULL, NULL, NULL,
498 4, 528 4,
499 { 529 {
500 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL }, 530 { DT_BITMAP, 0x0000, 0, 0, NULL, NULL },
502 { DT_COLOR_RAM, 0x2400, 0, 0, NULL, NULL }, 532 { DT_COLOR_RAM, 0x2400, 0, 0, NULL, NULL },
503 { DT_COLOR_SET, 0x00 , 0, DC_BGCOL, NULL, NULL }, 533 { DT_COLOR_SET, 0x00 , 0, DC_BGCOL, NULL, NULL },
504 } 534 }
505 }, 535 },
506 536
507 #define XX2_SIZE (40 * 10) 537 #define XX2_WIDTH_CH 40
538 #define XX2_HEIGHT_CH 10
539
540 #define XX2_SIZE (XX2_WIDTH_CH * XX2_HEIGHT_CH)
508 #define XX2_BSIZE (XX2_SIZE * 8) 541 #define XX2_BSIZE (XX2_SIZE * 8)
542
543 #if 0
509 { 544 {
510 D64_FMT_MC, "xx2", "Unknown $2000 format (unpacked)", 0x2000, 4002, 545 D64_FMT_MC, "xx2", "Unknown $2000 format (unpacked)", 0x2000, 4002,
546 XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8,
547 XX2_WIDTH_CH , XX2_HEIGHT_CH,
511 NULL, NULL, 548 NULL, NULL,
512 NULL, NULL, NULL, 549 NULL, NULL, NULL,
513 4, 550 4,
514 { 551 {
515 { DT_BITMAP, 0x0000, 0, XX2_BSIZE, NULL, NULL }, 552 { DT_BITMAP, 0x0000, 0, XX2_BSIZE, NULL, NULL },
518 555
519 { DT_COLOR_SET, 11 , 0, DC_BGCOL, NULL, NULL }, 556 { DT_COLOR_SET, 11 , 0, DC_BGCOL, NULL, NULL },
520 } 557 }
521 }, 558 },
522 559
523 /* 560 #else
524 #define XX2_SIZE (40 * 10) 561
525 #define XX2_BSIZE (XX2_SIZE * 8)
526 { 562 {
527 D64_FMT_MC | D64_FMT_CHAR, "xx2", "Unknown $2000 char format (unpacked)", 0x2000, 4002, 563 D64_FMT_MC | D64_FMT_CHAR, "xx2", "Unknown $2000 char format (unpacked)", 0x2000, 4002,
564 XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8,
565 XX2_WIDTH_CH , XX2_HEIGHT_CH,
528 NULL, NULL, 566 NULL, NULL,
529 NULL, NULL, NULL, 567 NULL, NULL, NULL,
530 4, 568 4,
531 { 569 {
532 { DT_CHAR_DATA, 0x0000, 0, XX2_BSIZE, NULL, NULL }, 570 { DT_CHAR_DATA, 0x0000, 0, XX2_BSIZE, NULL, NULL },
536 { DT_COLOR_SET, 1 , 0, DC_BGCOL, NULL, NULL }, 574 { DT_COLOR_SET, 1 , 0, DC_BGCOL, NULL, NULL },
537 { DT_COLOR_SET, 3 , 0, DC_D022, NULL, NULL }, 575 { DT_COLOR_SET, 3 , 0, DC_D022, NULL, NULL },
538 { DT_COLOR_SET, 4 , 0, DC_D023, NULL, NULL }, 576 { DT_COLOR_SET, 4 , 0, DC_D023, NULL, NULL },
539 } 577 }
540 }, 578 },
541 */ 579 #endif
542 }; 580 };
543 581
544 const int ndmC64ImageFormats = sizeof(dmC64ImageFormats) / sizeof(dmC64ImageFormats[0]); 582 const int ndmC64ImageFormats = sizeof(dmC64ImageFormats) / sizeof(dmC64ImageFormats[0]);
545 583
546 584