# HG changeset patch # User Matti Hamalainen # Date 1506292916 -10800 # Node ID b5fc5a05033d8e16488afaa537737efa6cdadda3 # Parent aad9d9e7e1d3f6e7ec90e498ddfacb4675712c1f Make screen ram definition macros more flexible, for possible future use cases. diff -r aad9d9e7e1d3 -r b5fc5a05033d tools/lib64gfx.c --- a/tools/lib64gfx.c Sun Sep 24 22:55:17 2017 +0300 +++ b/tools/lib64gfx.c Mon Sep 25 01:41:56 2017 +0300 @@ -582,16 +582,16 @@ // // 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)), +#define DEF_SCREEN_RAM(start, oindex, bindex, osize) { DT_SCREEN_RAM, (start) + ((osize) * (oindex)), (bindex), 0, NULL, NULL } +#define DEF_SCREEN_RAMS_8(start, sindex, osize) \ + DEF_SCREEN_RAM((start), 0, (sindex + 0), (osize)), \ + DEF_SCREEN_RAM((start), 1, (sindex + 1), (osize)), \ + DEF_SCREEN_RAM((start), 2, (sindex + 2), (osize)), \ + DEF_SCREEN_RAM((start), 3, (sindex + 3), (osize)), \ + DEF_SCREEN_RAM((start), 4, (sindex + 4), (osize)), \ + DEF_SCREEN_RAM((start), 5, (sindex + 5), (osize)), \ + DEF_SCREEN_RAM((start), 6, (sindex + 6), (osize)), \ + DEF_SCREEN_RAM((start), 7, (sindex + 7), (osize)), const DMC64ImageFormat dmC64ImageFormats[] = @@ -800,7 +800,7 @@ { { DT_EXTRA_DATA, 0x0000, 0, 200, NULL, NULL }, { DT_COLOR_RAM, 0x0100, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0500, 0) + DEF_SCREEN_RAMS_8( 0x0500, 0, 0x400) { DT_BITMAP, 0x2500, 0, 0, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, } @@ -814,7 +814,7 @@ NULL, NULL, NULL, fmtGetPixelFLIDesigner, { { DT_COLOR_RAM, 0x0000, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0400, 0) + DEF_SCREEN_RAMS_8( 0x0400, 0, 0x400) { DT_BITMAP, 0x2400, 0, 0, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, } @@ -862,11 +862,11 @@ fmtProbeFunPaint2Unpacked, fmtDecodeFunPaint2Unpacked, NULL, NULL, NULL, fmtGetPixelFunPaint2, { - DEF_SCREEN_RAMS_8(0x0000, 0) + DEF_SCREEN_RAMS_8( 0x0000, 0, 0x400) { DT_BITMAP, 0x2000, 0, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x3f40, 0, 100, NULL, NULL }, { DT_COLOR_RAM, 0x4000, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x43e8, 8) + DEF_SCREEN_RAMS_8( 0x43e8, 8, 0x400) { DT_BITMAP, 0x63e8, 1, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x8328, 1, 100, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, @@ -880,11 +880,11 @@ fmtProbeFunPaint2Packed, fmtDecodeFunPaint2Packed, NULL, NULL, NULL, fmtGetPixelFunPaint2, { - DEF_SCREEN_RAMS_8(0x0000, 0) + DEF_SCREEN_RAMS_8( 0x0000, 0, 0x400) { DT_BITMAP, 0x2000, 0, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x3f40, 0, 100, NULL, NULL }, { DT_COLOR_RAM, 0x4000, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x43e8, 8) + DEF_SCREEN_RAMS_8( 0x43e8, 8, 0x400) { DT_BITMAP, 0x63e8, 1, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x8328, 1, 100, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL }, @@ -898,11 +898,11 @@ fmtProbeGunPaint, NULL, NULL, NULL, NULL, fmtGetPixelGunPaint, { - DEF_SCREEN_RAMS_8(0x0000, 0) + DEF_SCREEN_RAMS_8( 0x0000, 0, 0x400) { DT_BITMAP, 0x2000, 0, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x3f4f, 0, 177, NULL, NULL }, { DT_COLOR_RAM, 0x4000, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x4400, 8) + DEF_SCREEN_RAMS_8( 0x4400, 8, 0x400) { DT_BITMAP, 0x6400, 1, 0, NULL, NULL }, { DT_EXTRA_DATA, 0x47e8, 1, 20, NULL, NULL }, { DT_LAST, 0, 0, 0, NULL, NULL },