private static void CompressRom_new(Stream rom, DmaData dmadata, List <int> exclusions, Stream sw) { BinaryReader br = new BinaryReader(rom); MemoryStream outRom = new MemoryStream(0x200_0000); List <FileRecord> newDmaTable = new List <FileRecord>(); Console.WriteLine(); int cur = 0; for (int i = 0; i < dmadata.Table.Count; i++) { FileRecord record = dmadata.Table[i]; if (record.VRom.End == 0) { var r = new FileRecord(new FileAddress(), new FileAddress()); newDmaTable.Add(r); break; } br.BaseStream.Position = record.Rom.Start; byte[] data = br.ReadBytes(record.VRom.Size); int dstsize; FileAddress physical; if (!exclusions.Contains(i)) { dstsize = Yaz.Encode(data, data.Length, outRom); dstsize = Align.To16(dstsize); physical = new FileAddress(cur, cur + dstsize); } else { dstsize = data.Length; dstsize = Align.To16(dstsize); outRom.Write(data, 0, data.Length); physical = new FileAddress(cur, 0); exclusions.Remove(i); } var newRec = new FileRecord(record.VRom, physical); newDmaTable.Add(newRec); cur += dstsize; outRom.Position = cur; } br.Close(); WriteFileTable(outRom, dmadata.Address.VRom, newDmaTable); CRC.Write(outRom); outRom.Position = 0; outRom.CopyTo(sw); }
public static void CompressRom(Stream rom, RomVersion version, List <int> exclusions, Stream sw) { DmaData dmadata = new DmaData(rom, version); CompressRom_new(rom, dmadata, exclusions, sw); }
private DmaData GetAllFile(string filePath, string ltp, string closedPrice, int day) { List <KeyData> objList = new List <KeyData>(); DmaData objDMA = new DmaData(); string[] allLines = File.ReadAllLines(filePath); //string[] allLines = File.ReadAllLines(@"C:\Users\TadivakaV\Downloads\01-07-2016-TO-30-06-2017DRREDDYALLN.csv"); var query = from line in allLines let data = line.Split(',') select new { Symbol = data[0], Series = data[1], Date = data[2], PrevClose = data[3], OpenPrice = data[4], Highrice = data[5], LowPrice = data[6], LastPrice = data[7], ClosePrice = data[8], AveragePrice = data[9], TotalTradedQuantity = data[10], Turnover = data[11], NoOfTrades = data[12], DeliverableQty = data[13], DlyQttoTradedQty = data[14] }; KeyData newObj = null; int count = 0; try { foreach (var s in query) { try { if (count > 0 && s.Series.ToString().Replace("\"", "").Trim() == "EQ") { newObj = new KeyData(); newObj.SourceName = s.Symbol.ToString().Replace("\"", "").Trim(); string iDate = s.Date.ToString().Replace("\"", "").Trim(); DateTime oDate = DateTime.Parse(iDate); newObj.Date = oDate; newObj.ClosedPrice = s.ClosePrice.ToString().Replace("\"", "").Trim(); objList.Add(newObj); } count++; } catch (Exception ex) { } } } catch (Exception ex) { } objList = objList.OrderByDescending(o => o.Date).ToList(); if (ltp == "MASTERDATAREFRESH") { ltp = objList[day - 1].ClosedPrice; objDMA.LTPDate = objList[day - 1].Date; objList.RemoveRange(0, day); } else { DateTime time1 = DateTime.Now; string currentDate = time1.Day + "-" + time1.Month + "-" + time1.Year; string searchDate1 = time1.ToString().Replace("\"", "").Trim(); DateTime oDate = DateTime.Parse(searchDate1); objDMA.LTPDate = oDate; } KeyData keyData = new KeyData(); keyData.ClosedPrice = (closedPrice == "0.00") ? ltp : closedPrice; objList.Insert(0, keyData); objDMA.FiveDMA = CalcAvg(objList, 5).ToString(); objDMA.TenDMA = CalcAvg(objList, 10).ToString(); objDMA.TwentyDMA = CalcAvg(objList, 20).ToString(); objDMA.ThirtyDMA = CalcAvg(objList, 30).ToString(); objDMA.FiftyDMA = CalcAvg(objList, 50).ToString(); objDMA.HundredDMA = CalcAvg(objList, 150).ToString(); //HundredDMA actually its 150 day moving average objDMA.TwoHundredDMA = CalcAvg(objList, 200).ToString(); objDMA.SourceName = objList[1].SourceName; objDMA.LTP = ltp; objDMA.ClosedPrice = closedPrice; objDMA.FileName = filePath; return(objDMA); }