The bug appears to be with Satourne (somewhat) This code displays orange, grey, silver, and white lines: Code: | | | #include "sgl.h" #include "sega_sys.h" static Uint16 palette[32] = { 0x0000, // background color slCurColor(1); 0x1111, // text color slCurcolor(1); 0x0000, 0x2222, 0x0000, 0x3333, 0x0000, 0x4444, 0x0000, 0x5555, 0x0000, 0x6666, 0x0000, 0x7777, 0x0000, 0x8888, 0x0000, 0x9999, 0x0000, 0xAAAA, 0x0000, 0xBBBB, 0x0000, 0xCCCC, 0x0000, 0xDDDD, 0x0000, 0xEEEE, 0x0000, // background color slCurColor(15); 0xFFFF, // background color slCurColor(15); 0x0000, // Not sure yet?? 0x0000, // Not sure yet?? }; void ss_main(void) { Uint16 counter = 0; // Initializing functions slInitSystem(TV_320x224, NULL, 1); // Initializes screen slDMACopy( (void*)palette, (void*)0x25f00000, sizeof(palette) ); slPrint("Line 0", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 1", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 2", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 3", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 4", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 5", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 6", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 7", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 8", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 9", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 10", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 11", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 12", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 13", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 14", slLocate(1,counter)); slCurColor(counter++); slPrint("Line 15", slLocate(1,counter)); slCurColor(counter++); slSynch(); } |
Neither Satourne or the Saturn displays the lines as I was expecting them to. Satourne displays this as all orange text. I'm going to do one more test burn, with the palette defined by one of the demos. |