# HG changeset patch # User Matti Hamalainen # Date 1506278735 -10800 # Node ID 4f81528aa4f6a1958878c3e2f35059832a3e5fab # Parent 14d79e4d82cfb6307a6624e537f6fda14e72def4 Simplify some image format definitions by using macro to define screen ram blocks. diff -r 14d79e4d82cf -r 4f81528aa4f6 tools/lib64gfx.c --- a/tools/lib64gfx.c Sun Sep 24 21:19:44 2017 +0300 +++ b/tools/lib64gfx.c Sun Sep 24 21:45:35 2017 +0300 @@ -535,6 +535,18 @@ // // Array with data for supported formats // +#define DEF_SCREEN_RAM(start, oindex, bindex) { DT_SCREEN_RAM, (start) + (0x400 * (oindex)), (bindex), 0, NULL, NULL } +#define DEF_SCREEN_RAMS_8(start, sindex) \ + DEF_SCREEN_RAM((start), 0, (sindex + 0)), \ + DEF_SCREEN_RAM((start), 1, (sindex + 1)), \ + DEF_SCREEN_RAM((start), 2, (sindex + 2)), \ + DEF_SCREEN_RAM((start), 3, (sindex + 3)), \ + DEF_SCREEN_RAM((start), 4, (sindex + 4)), \ + DEF_SCREEN_RAM((start), 5, (sindex + 5)), \ + DEF_SCREEN_RAM((start), 6, (sindex + 6)), \ + DEF_SCREEN_RAM((start), 7, (sindex + 7)), + + const DMC64ImageFormat dmC64ImageFormats[] = { { @@ -741,17 +753,7 @@ { { DT_EXTRA_DATA, 0x0000, 0, 200, NULL, NULL }, { DT_COLOR_RAM, 0x0100, 0, 0, NULL, NULL }, - - { DT_SCREEN_RAM, 0x0500, 0, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x0900, 1, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x0d00, 2, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1100, 3, 0, NULL, NULL }, - - { DT_SCREEN_RAM, 0x1500, 4, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1900, 5, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1d00, 6, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x2100, 7, 0, NULL, NULL }, - + DEF_SCREEN_RAMS_8(0x0500, 0) { DT_BITMAP, 0x2500, 0, 0, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, } @@ -765,14 +767,7 @@ NULL, NULL, NULL, fmtGetPixelFLIDesigner, { { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x0400, 0, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x0800, 1, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x0c00, 2, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1000, 3, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1400, 4, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1800, 5, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x1c00, 6, 0, NULL, NULL }, - { DT_SCREEN_RAM, 0x2000, 7, 0, NULL, NULL }, + DEF_SCREEN_RAMS_8(0x0400, 0) { DT_BITMAP, 0x2400, 0, 0, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, } @@ -808,14 +803,11 @@ { DT_BITMAP, 0x0000, 0, XX2_BSIZE, NULL, NULL }, { DT_COLOR_RAM, XX2_BSIZE + XX2_SIZE, 0, XX2_SIZE, NULL, NULL }, { DT_SCREEN_RAM, XX2_BSIZE, 0, XX2_SIZE, NULL, NULL }, - { DT_COLOR_SET, 11, 0, DC_BGCOL, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, } }, -#define FP2_SCREEN_RAM(oindex, bindex) { DT_SCREEN_RAM, FP2_SCREEN_RAM_START + (0x400 * (oindex)), (bindex), 0, NULL, NULL } - { D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, "fp2", "FunPaint II (unpacked)", 0x3ff0, 33694, C64_SCR_WIDTH, C64_SCR_HEIGHT, @@ -823,35 +815,13 @@ fmtProbeFunPaint2Unpacked, fmtDecodeFunPaint2Unpacked, NULL, NULL, NULL, fmtGetPixelFunPaint2, { -#define FP2_SCREEN_RAM_START 0 - FP2_SCREEN_RAM(0, 0), - FP2_SCREEN_RAM(1, 1), - FP2_SCREEN_RAM(2, 2), - FP2_SCREEN_RAM(3, 3), - FP2_SCREEN_RAM(4, 4), - FP2_SCREEN_RAM(5, 5), - FP2_SCREEN_RAM(6, 6), - FP2_SCREEN_RAM(7, 7), - + DEF_SCREEN_RAMS_8(0x0000, 0) { DT_BITMAP, 0x2000, 0, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x3f40, 0, 100, NULL, NULL }, { DT_COLOR_RAM, 0x4000, 0, 0, NULL, NULL }, - -#undef FP2_SCREEN_RAM_START -#define FP2_SCREEN_RAM_START 0x4000 - - FP2_SCREEN_RAM(0, 8), - FP2_SCREEN_RAM(1, 9), - FP2_SCREEN_RAM(2, 10), - FP2_SCREEN_RAM(3, 11), - FP2_SCREEN_RAM(4, 12), - FP2_SCREEN_RAM(5, 13), - FP2_SCREEN_RAM(6, 14), - FP2_SCREEN_RAM(7, 15), - + DEF_SCREEN_RAMS_8(0x4000, 8) { DT_BITMAP, 0x63e8, 1, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x8328, 1, 100, NULL, NULL }, - { DT_LAST, 0, 0, 0, NULL, NULL }, } }, @@ -863,37 +833,13 @@ fmtProbeFunPaint2Packed, fmtDecodeFunPaint2Packed, NULL, NULL, NULL, fmtGetPixelFunPaint2, { - -#undef FP2_SCREEN_RAM_START -#define FP2_SCREEN_RAM_START 0 - FP2_SCREEN_RAM(0, 0), - FP2_SCREEN_RAM(1, 1), - FP2_SCREEN_RAM(2, 2), - FP2_SCREEN_RAM(3, 3), - FP2_SCREEN_RAM(4, 4), - FP2_SCREEN_RAM(5, 5), - FP2_SCREEN_RAM(6, 6), - FP2_SCREEN_RAM(7, 7), - + DEF_SCREEN_RAMS_8(0x0000, 0) { DT_BITMAP, 0x2000, 0, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x3f40, 0, 100, NULL, NULL }, { DT_COLOR_RAM, 0x4000, 0, 0, NULL, NULL }, - -#undef FP2_SCREEN_RAM_START -#define FP2_SCREEN_RAM_START 0x4000 - - FP2_SCREEN_RAM(0, 8), - FP2_SCREEN_RAM(1, 9), - FP2_SCREEN_RAM(2, 10), - FP2_SCREEN_RAM(3, 11), - FP2_SCREEN_RAM(4, 12), - FP2_SCREEN_RAM(5, 13), - FP2_SCREEN_RAM(6, 14), - FP2_SCREEN_RAM(7, 15), - + DEF_SCREEN_RAMS_8(0x4000, 8) { DT_BITMAP, 0x63e8, 1, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x8328, 1, 100, NULL, NULL }, - { DT_LAST, 0, 0, 0, NULL, NULL }, } },