private void Setup(ISnesData data) { Running = true; streamProcessor = new BsnesImportStreamProcessor(); taskManager = CreateWorkerTaskManager(); importer = CreateTraceLogImporter(data); }
private void Shutdown() { streamProcessor.Shutdown(); streamProcessor = null; taskManager = null; importer = null; Running = false; }
public static void TestParseText2() { var modData = new BsnesTraceLogImporter.ModificationData(); var importer = new BsnesTraceLogImporter(null); importer.ParseTextLine(Example2, modData); Assert.Equal(0xc3091a, modData.SnesAddress); Assert.Equal(0xF001, modData.DirectPage); Assert.Equal(0xAF, modData.DataBank); Assert.False(modData.MFlagSet); Assert.True(modData.XFlagSet); }
public static void TestParseText3() { var modData = new BsnesTraceLogImporter.ModificationData(); var importer = new BsnesTraceLogImporter(null); importer.ParseTextLine(Example3, modData); Assert.Equal(0x90c860, modData.SnesAddress); Assert.Equal(0x2134, modData.DirectPage); Assert.Equal(0x9A, modData.DataBank); Assert.True(modData.MFlagSet); Assert.True(modData.XFlagSet); }
public static void TestParseText1() { var modData = new BsnesTraceLogImporter.ModificationData(); var importer = new BsnesTraceLogImporter(null); importer.ParseTextLine(example1, modData); Assert.Equal(0x28cde, modData.SnesAddress); Assert.Equal(0x0000, modData.DirectPage); Assert.Equal(0x02, modData.DataBank); Assert.True(modData.MFlagSet); Assert.False(modData.XFlagSet); }
public static void TestParseText() { var sampleLine = BsnesTraceLogImporter.SampleLineText; var modData = new BsnesTraceLogImporter.ModificationData(); BsnesTraceLogImporter.ParseTextLine(sampleLine, modData); Assert.Equal(0x28cde, modData.SnesAddress); Assert.Equal(0x0000, modData.DirectPage); Assert.Equal(0x02, modData.DataBank); Assert.False(modData.XFlagSet); Assert.False(modData.MFlagSet); }
public long ImportBsnesTraceLogsBinary(IEnumerable <string> filenames) { var importer = new BsnesTraceLogImporter(Project.Data); foreach (var file in filenames) { using Stream source = File.OpenRead(file); const int bytesPerPacket = 22; var buffer = new byte[bytesPerPacket]; int bytesRead; while ((bytesRead = source.Read(buffer, 0, bytesPerPacket)) > 0) { Debug.Assert(bytesRead == 22); importer.ImportTraceLogLineBinary(buffer); } } return(importer.CurrentStats.NumRomBytesModified); }
public long ImportBsnesTraceLogs(string[] fileNames) { var importer = new BsnesTraceLogImporter(Project.Data); // TODO: differentiate between binary-formatted and text-formatted files // probably look for a newline within 80 characters // call importer.ImportTraceLogLineBinary() // caution: trace logs can be gigantic, even a few seconds can be > 1GB // inside here, performance becomes critical. LargeFilesReader.ReadFilesLines(fileNames, (line) => { importer.ImportTraceLogLine(line); }); if (importer.CurrentStats.NumRomBytesModified > 0) { MarkChanged(); } return(importer.CurrentStats.NumRomBytesModified); }