public unsafe void GetGpuData(int vdc, Action <PceGpuData> callback) { using (_exe.EnterExit()) { var palScratch = new int[512]; var v = new PceGpuData(); _terboGrafix.GetVramInfo(v, vdc); fixed(int *p = palScratch) { for (var i = 0; i < 512; i++) { p[i] = v.PaletteCache[i] | unchecked ((int)0xff000000); } v.PaletteCache = p; callback(v); } } }