]> git.sesse.net Git - pistorm/blobdiff - platforms/amiga/rtg/rtg_driver_amiga/pigfx.c
Fix all the colors, fix some other stuff.
[pistorm] / platforms / amiga / rtg / rtg_driver_amiga / pigfx.c
index 66557755d9644cb1ecbf98cee0c9dc8b2da093c4..68e4578e56441331e7ecbf0e750c8f96bbad99fd 100644 (file)
@@ -417,11 +417,16 @@ void SetColorArray (__REGA0(struct BoardInfo *b), __REGD0(UWORD start), __REGD1(
   // Sets the color components of X color components for 8-bit paletted display modes.
   if (!b->CLUT)
     return;
-  for(int i = start; i < num; i++) {
+  
+  int j = start + num;
+  
+  for(int i = start; i < j; i++) {
+    //WRITEBYTE(RTG_U82, (unsigned char)b->CLUT[i].Red);
+    //WRITEBYTE(RTG_U83, (unsigned char)b->CLUT[i].Green);
+    //WRITEBYTE(RTG_U84, (unsigned char)b->CLUT[i].Blue);
+    unsigned int xrgb = 0 | (b->CLUT[i].Red << 16) | (b->CLUT[i].Green << 8) | (b->CLUT[i].Blue);
     WRITEBYTE(RTG_U81, (unsigned char)i);
-    WRITEBYTE(RTG_U82, (unsigned char)b->CLUT[i].Red);
-    WRITEBYTE(RTG_U83, (unsigned char)b->CLUT[i].Green);
-    WRITEBYTE(RTG_U84, (unsigned char)b->CLUT[i].Blue);
+    WRITELONG(RTG_RGB1, xrgb);
     WRITESHORT(RTG_COMMAND, RTGCMD_SETCLUT);
   }
 }