private void FixSectorData(CdromSector sector) { for (var i = 1; i < 11; i++) { sector.Data[i] = 0xff; } var sectorAddress = new CdromSectorAddress((uint)sector.PhysicalAddress); sector.Data[0x0c] = sectorAddress.Minute; sector.Data[0x0d] = sectorAddress.Second; sector.Data[0x0e] = sectorAddress.Frame; sector.Data[0x0f] = (byte)CdromSectorMode.Mode1; ErrorCorrectionModel.FixSector(sector); }
public IEnumerable <string> ValidateImage(CdromImage cdromImage) { var result = new List <string>(); foreach (CdromSector sector in cdromImage.Sectors) { if (sector.Data[0x15] == (byte)CdromSectorMode.Mode1) { var edc = ErrorCorrectionModel.CalculateEdc(sector.Data, 0, 0x810); if (edc != sector.GetEdc()) { result.Add("error"); } } } return(result); }