public C64Win() { // load ROMs KernelROM = StreamHelpers.LoadBytes("ROMS\\KERNAL.ROM"); BasicROM = StreamHelpers.LoadBytes("ROMS\\BASIC.ROM"); CharEnROM = StreamHelpers.LoadBytes("ROMS\\CHAR.ROM"); C1541ROM = StreamHelpers.LoadBytes("ROMS\\C1541.ROM"); Init(BasicROM, KernelROM, CharEnROM, C1541ROM, new Keyboard()); // init screen Palette = new Color[16]; Palette[0] = Color.FromArgb(0xff, 0x00, 0x00, 0x00); Palette[1] = Color.FromArgb(0xff, 0xff, 0xff, 0xff); Palette[2] = Color.FromArgb(0xff, 0x68, 0x37, 0x2b); Palette[3] = Color.FromArgb(0xff, 0x70, 0xa4, 0xb2); Palette[4] = Color.FromArgb(0xff, 0x6F, 0x3D, 0x86); Palette[5] = Color.FromArgb(0xff, 0x58, 0x8D, 0x43); Palette[6] = Color.FromArgb(0xff, 0x35, 0x28, 0x79); Palette[7] = Color.FromArgb(0xff, 0xB8, 0xC7, 0x6F); Palette[8] = Color.FromArgb(0xff, 0x6F, 0x4F, 0x25); Palette[9] = Color.FromArgb(0xff, 0x43, 0x39, 0x00); Palette[10] = Color.FromArgb(0xff, 0x9A, 0x67, 0x59); Palette[11] = Color.FromArgb(0xff, 0x44, 0x44, 0x44); Palette[12] = Color.FromArgb(0xff, 0x6C, 0x6C, 0x6C); Palette[13] = Color.FromArgb(0xff, 0x9A, 0xD2, 0x84); Palette[14] = Color.FromArgb(0xff, 0x6C, 0x5E, 0xB5); Palette[15] = Color.FromArgb(0xff, 0x95, 0x95, 0x95); Screen = new Bitmap(VIC.Settings.PixelsPerScanLine, VIC.Settings.NumScanLines, System.Drawing.Imaging.PixelFormat.Format8bppIndexed); if (Screen.Palette.Flags > 0) { ColorPalette pal = Screen.Palette; for (int i = 0; i < 16; i++) { pal.Entries[i] = Palette[i]; } Screen.Palette = pal; } }