public Screen(ISystem system, Disk disk, SkyCompact skyCompact)
{
_system = system;
_skyDisk = disk;
_skyCompact = skyCompact;
_gameGrid = new byte[GridX * GridY * 2];
ForceRefresh();
//blank the first 240 colors of the palette
var tmpPal = new Color[VgaColors];
//set the remaining colors
for (var i = 0; i < VgaColors - GameColors; i++)
{
tmpPal[GameColors + i] = Color.FromRgb(
(Top16Colors[i].R << 2) + (Top16Colors[i].R >> 4)
, (Top16Colors[i].G << 2) + (Top16Colors[i].G >> 4)
, (Top16Colors[i].B << 2) + (Top16Colors[i].B >> 4));
}
//set the palette
_system.GraphicsManager.SetPalette(tmpPal, 0, VgaColors);
}