using System.Drawing; namespace BizHawk.Emulation.Cores.Computers.Commodore64 { // vic ntsc static public class MOS6567 { static int cycles = 65; static int scanwidth = cycles * 8; static int lines = 263; static int vblankstart = 0x00D % lines; static int vblankend = 0x018 % lines; static int hblankoffset = 20; static int hblankstart = (0x18C + hblankoffset) % scanwidth; static int hblankend = (0x1F0 + hblankoffset) % scanwidth; static int[] timing = Vic.TimingBuilder_XRaster(0x19C, 0x200, scanwidth, 0x18C, 8); static int[] fetch = Vic.TimingBuilder_Fetch(timing, 0x174); static int[] ba = Vic.TimingBuilder_BA(fetch); static int[] act = Vic.TimingBuilder_Act(timing, 0x004, 0x14C, hblankstart, hblankend); static int[][] pipeline = new int[][] { timing, fetch, ba, act }; static public Vic Create() { return new Vic( cycles, lines, pipeline, 14318181 / 14, hblankstart, hblankend, vblankstart, vblankend ); } } }