--- /dev/null
+#include <stdio.h>\r
+#include <string.h>\r
+#include <memory.h>\r
+#include <stdlib.h>\r
+\r
+#define COLORS 256\r
+#define PALNAME "Diagonal"\r
+#define FILENAME "%s.PAL"\r
+char fn[100] = FILENAME;\r
+typedef unsigned char BYTE;\r
+typedef unsigned short int WORD;\r
+typedef struct COLOR {\r
+ BYTE r,g,b;\r
+ } COLOR, far *LPCOLOR;\r
+\r
+void main() /* int argc, char *argv[]) */\r
+ {\r
+ FILE *fp;\r
+ int i;\r
+ int colors = COLORS;\r
+ COLOR c;\r
+ int r,dr,g,dg,b,db;\r
+\r
+ sprintf(fn,FILENAME,PALNAME);\r
+ fp = fopen(fn,"wb");\r
+ if (!fp) {\r
+ printf("Couldn't open %s for write.\n",fn);\r
+ exit(1);\r
+ }\r
+\r
+ r=0; dr=2;\r
+ g=0; dg=3;\r
+ b=0; db=5;\r
+ for (i = 0; i < colors; i++) {\r
+ c.r = (BYTE)r; r+=dr;\r
+ if (r > 63) { r = 63; dr = -dr; }\r
+ else if (r < 0) { r = 0; dr = -dr; }\r
+ c.g = (BYTE)g; g+=dg;\r
+ if (g > 63) { g = 63; dg = -dg; }\r
+ else if (g < 0) { g = 0; dg = -dg; }\r
+ c.b = (BYTE)b; b+=db;\r
+ if (b > 63) { b = 63; db = -db; }\r
+ else if (b < 0) { b = 0; db = -db; }\r
+ fwrite(&c, sizeof(c),1, fp);\r
+ printf("Palette %d\r",i);\r
+ }\r
+ fclose(fp);\r
+ printf("All done! \n");\r
+ exit(0);\r
+ }\r
+\1a
\ No newline at end of file