aboutsummaryrefslogtreecommitdiff
path: root/source/pixform.h
diff options
context:
space:
mode:
authorgameblabla2020-10-16 03:17:52 +0000
committerGitHub2020-10-16 03:17:52 +0000
commit9ea18f315c385ec85cb28d44659b45589cfc9ac0 (patch)
tree3661b6ec35f5900070acebc38fd975fb5f9cf84b /source/pixform.h
parent1a51fa791356b52a88e8ae0e6941034b23cd354f (diff)
parent94b1765da3dd2b5121650e99e194020fb3c5b4b6 (diff)
downloadsnesemu-9ea18f315c385ec85cb28d44659b45589cfc9ac0.tar.gz
snesemu-9ea18f315c385ec85cb28d44659b45589cfc9ac0.tar.bz2
snesemu-9ea18f315c385ec85cb28d44659b45589cfc9ac0.zip
Merge pull request #1 from m45t3r/master
I am merging this because it has the new color opts
Diffstat (limited to 'source/pixform.h')
-rw-r--r--source/pixform.h109
1 files changed, 8 insertions, 101 deletions
diff --git a/source/pixform.h b/source/pixform.h
index f9c075c..4a61ae2 100644
--- a/source/pixform.h
+++ b/source/pixform.h
@@ -12,6 +12,8 @@
#define MAX_RED_RGB565 31
#define MAX_GREEN_RGB565 63
#define MAX_BLUE_RGB565 31
+#define RED_SHIFT_BITS_RGB565 11
+#define GREEN_SHIFT_BITS_RGB565 6
#define RED_LOW_BIT_MASK_RGB565 0x0800
#define GREEN_LOW_BIT_MASK_RGB565 0x0020
#define BLUE_LOW_BIT_MASK_RGB565 0x0001
@@ -32,6 +34,8 @@
#define MAX_RED_RGB555 31
#define MAX_GREEN_RGB555 31
#define MAX_BLUE_RGB555 31
+#define RED_SHIFT_BITS_RGB555 10
+#define GREEN_SHIFT_BITS_RGB555 5
#define RED_LOW_BIT_MASK_RGB555 0x0400
#define GREEN_LOW_BIT_MASK_RGB555 0x0020
#define BLUE_LOW_BIT_MASK_RGB555 0x0001
@@ -43,107 +47,6 @@
#define THIRD_COLOR_MASK_RGB555 0x001F
#define ALPHA_BITS_MASK_RGB555 0x0000
-/* BGR565 format */
-#define BUILD_PIXEL_BGR565(R,G,B) (((int32_t) (B) << 11) | ((int32_t) (G) << 6) | (int32_t) (R))
-#define BUILD_PIXEL2_BGR565(R,G,B) (((int32_t) (B) << 11) | ((int32_t) (G) << 5) | (int32_t) (R))
-#define DECOMPOSE_PIXEL_BGR565(PIX,R,G,B) {(B) = (PIX) >> 11; (G) = ((PIX) >> 6) & 0x1f; (R) = (PIX) & 0x1f; }
-#define SPARE_RGB_BIT_MASK_BGR565 (1 << 5)
-
-#define MAX_RED_BGR565 31
-#define MAX_GREEN_BGR565 63
-#define MAX_BLUE_BGR565 31
-#define RED_LOW_BIT_MASK_BGR565 0x0001
-#define GREEN_LOW_BIT_MASK_BGR565 0x0040
-#define BLUE_LOW_BIT_MASK_BGR565 0x0800
-#define RED_HI_BIT_MASK_BGR565 0x0010
-#define GREEN_HI_BIT_MASK_BGR565 0x0400
-#define BLUE_HI_BIT_MASK_BGR565 0x8000
-#define FIRST_COLOR_MASK_BGR565 0xF800
-#define SECOND_COLOR_MASK_BGR565 0x07E0
-#define THIRD_COLOR_MASK_BGR565 0x001F
-#define ALPHA_BITS_MASK_BGR565 0x0000
-
-/* BGR555 format */
-#define BUILD_PIXEL_BGR555(R,G,B) (((int32_t) (B) << 10) | ((int32_t) (G) << 5) | (int32_t) (R))
-#define BUILD_PIXEL2_BGR555(R,G,B) (((int32_t) (B) << 10) | ((int32_t) (G) << 5) | (int32_t) (R))
-#define DECOMPOSE_PIXEL_BGR555(PIX,R,G,B) {(B) = (PIX) >> 10; (G) = ((PIX) >> 5) & 0x1f; (R) = (PIX) & 0x1f; }
-#define SPARE_RGB_BIT_MASK_BGR555 (1 << 15)
-
-#define MAX_RED_BGR555 31
-#define MAX_GREEN_BGR555 31
-#define MAX_BLUE_BGR555 31
-#define RED_LOW_BIT_MASK_BGR555 0x0001
-#define GREEN_LOW_BIT_MASK_BGR555 0x0020
-#define BLUE_LOW_BIT_MASK_BGR555 0x0400
-#define RED_HI_BIT_MASK_BGR555 0x0010
-#define GREEN_HI_BIT_MASK_BGR555 0x0200
-#define BLUE_HI_BIT_MASK_BGR555 0x4000
-#define FIRST_COLOR_MASK_BGR555 0x7C00
-#define SECOND_COLOR_MASK_BGR555 0x03E0
-#define THIRD_COLOR_MASK_BGR555 0x001F
-#define ALPHA_BITS_MASK_BGR555 0x0000
-
-/* GBR565 format */
-#define BUILD_PIXEL_GBR565(R,G,B) (((int32_t) (G) << 11) | ((int32_t) (B) << 6) | (int32_t) (R))
-#define BUILD_PIXEL2_GBR565(R,G,B) (((int32_t) (G) << 11) | ((int32_t) (B) << 5) | (int32_t) (R))
-#define DECOMPOSE_PIXEL_GBR565(PIX,R,G,B) {(G) = (PIX) >> 11; (B) = ((PIX) >> 6) & 0x1f; (R) = (PIX) & 0x1f; }
-#define SPARE_RGB_BIT_MASK_GBR565 (1 << 5)
-
-#define MAX_RED_GBR565 31
-#define MAX_BLUE_GBR565 63
-#define MAX_GREEN_GBR565 31
-#define RED_LOW_BIT_MASK_GBR565 0x0001
-#define BLUE_LOW_BIT_MASK_GBR565 0x0040
-#define GREEN_LOW_BIT_MASK_GBR565 0x0800
-#define RED_HI_BIT_MASK_GBR565 0x0010
-#define BLUE_HI_BIT_MASK_GBR565 0x0400
-#define GREEN_HI_BIT_MASK_GBR565 0x8000
-#define FIRST_COLOR_MASK_GBR565 0xF800
-#define SECOND_COLOR_MASK_GBR565 0x07E0
-#define THIRD_COLOR_MASK_GBR565 0x001F
-#define ALPHA_BITS_MASK_GBR565 0x0000
-
-/* GBR555 format */
-#define BUILD_PIXEL_GBR555(R,G,B) (((int32_t) (G) << 10) | ((int32_t) (B) << 5) | (int32_t) (R))
-#define BUILD_PIXEL2_GBR555(R,G,B) (((int32_t) (G) << 10) | ((int32_t) (B) << 5) | (int32_t) (R))
-#define DECOMPOSE_PIXEL_GBR555(PIX,R,G,B) {(G) = (PIX) >> 10; (B) = ((PIX) >> 5) & 0x1f; (R) = (PIX) & 0x1f; }
-#define SPARE_RGB_BIT_MASK_GBR555 (1 << 15)
-
-#define MAX_RED_GBR555 31
-#define MAX_BLUE_GBR555 31
-#define MAX_GREEN_GBR555 31
-#define RED_LOW_BIT_MASK_GBR555 0x0001
-#define BLUE_LOW_BIT_MASK_GBR555 0x0020
-#define GREEN_LOW_BIT_MASK_GBR555 0x0400
-#define RED_HI_BIT_MASK_GBR555 0x0010
-#define BLUE_HI_BIT_MASK_GBR555 0x0200
-#define GREEN_HI_BIT_MASK_GBR555 0x4000
-#define FIRST_COLOR_MASK_GBR555 0x7C00
-#define SECOND_COLOR_MASK_GBR555 0x03E0
-#define THIRD_COLOR_MASK_GBR555 0x001F
-#define ALPHA_BITS_MASK_GBR555 0x0000
-
-/* RGB5551 format */
-#define BUILD_PIXEL_RGB5551(R,G,B) (((int32_t) (R) << 11) | ((int32_t) (G) << 6) | (int32_t) ((B) << 1) | 1)
-#define BUILD_PIXEL2_RGB5551(R,G,B) (((int32_t) (R) << 11) | ((int32_t) (G) << 6) | (int32_t) ((B) << 1) | 1)
-#define DECOMPOSE_PIXEL_RGB5551(PIX,R,G,B) {(R) = (PIX) >> 11; (G) = ((PIX) >> 6) & 0x1f; (B) = ((PIX) >> 1) & 0x1f; }
-#define SPARE_RGB_BIT_MASK_RGB5551 (1)
-
-#define MAX_RED_RGB5551 31
-#define MAX_GREEN_RGB5551 31
-#define MAX_BLUE_RGB5551 31
-#define RED_LOW_BIT_MASK_RGB5551 0x0800
-#define GREEN_LOW_BIT_MASK_RGB5551 0x0040
-#define BLUE_LOW_BIT_MASK_RGB5551 0x0002
-#define RED_HI_BIT_MASK_RGB5551 0x8000
-#define GREEN_HI_BIT_MASK_RGB5551 0x0400
-#define BLUE_HI_BIT_MASK_RGB5551 0x0020
-#define FIRST_COLOR_MASK_RGB5551 0xf800
-#define SECOND_COLOR_MASK_RGB5551 0x07c0
-#define THIRD_COLOR_MASK_RGB5551 0x003e
-#define ALPHA_BITS_MASK_RGB5551 0x0001
-
-
#define CONCAT(X,Y) X##Y
/* C pre-processor needs a two stage macro define to enable it to concat
@@ -159,6 +62,8 @@
#define MAX_RED_D(F) CONCAT(MAX_RED_,F)
#define MAX_BLUE_D(F) CONCAT(MAX_BLUE_,F)
#define MAX_GREEN_D(F) CONCAT(MAX_GREEN_,F)
+#define RED_SHIFT_BITS_D(F) CONCAT(RED_SHIFT_BITS_, F)
+#define GREEN_SHIFT_BITS_D(F) CONCAT(GREEN_SHIFT_BITS_, F)
#define RED_LOW_BIT_MASK_D(F) CONCAT(RED_LOW_BIT_MASK_,F)
#define BLUE_LOW_BIT_MASK_D(F) CONCAT(BLUE_LOW_BIT_MASK_,F)
#define GREEN_LOW_BIT_MASK_D(F) CONCAT(GREEN_LOW_BIT_MASK_,F)
@@ -173,6 +78,8 @@
#define MAX_RED MAX_RED_D(PIXEL_FORMAT)
#define MAX_BLUE MAX_BLUE_D(PIXEL_FORMAT)
#define MAX_GREEN MAX_GREEN_D(PIXEL_FORMAT)
+#define RED_SHIFT_BITS RED_SHIFT_BITS_D(PIXEL_FORMAT)
+#define GREEN_SHIFT_BITS GREEN_SHIFT_BITS_D(PIXEL_FORMAT)
#define RED_LOW_BIT_MASK RED_LOW_BIT_MASK_D(PIXEL_FORMAT)
#define BLUE_LOW_BIT_MASK BLUE_LOW_BIT_MASK_D(PIXEL_FORMAT)
#define GREEN_LOW_BIT_MASK GREEN_LOW_BIT_MASK_D(PIXEL_FORMAT)