Remove the ability to support little endian from BigEndianBitConverter.

This commit is contained in:
2019-05-11 20:49:32 +01:00
parent e4c2890552
commit 71cb591368
16 changed files with 159 additions and 163 deletions

View File

@@ -228,8 +228,6 @@ namespace DiscImageChef.Decoders.CD
CDATIP decoded = new CDATIP();
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
if(CDATIPResponse.Length != 32 && CDATIPResponse.Length != 28)
{
DicConsole.DebugWriteLine("CD ATIP decoder",

View File

@@ -194,14 +194,14 @@ namespace DiscImageChef.Decoders.CD
{
if(CDTextResponse == null) return null;
CDText decoded = new CDText();
CDText decoded = new CDText
{
DataLength = BigEndianBitConverter.ToUInt16(CDTextResponse, 0),
Reserved1 = CDTextResponse[2],
Reserved2 = CDTextResponse[3]
};
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
decoded.DataLength = BigEndianBitConverter.ToUInt16(CDTextResponse, 0);
decoded.Reserved1 = CDTextResponse[2];
decoded.Reserved2 = CDTextResponse[3];
decoded.DataPacks = new CDTextPack[(decoded.DataLength - 2) / 18];
decoded.DataPacks = new CDTextPack[(decoded.DataLength - 2) / 18];
if(decoded.DataLength == 2) return null;
@@ -260,6 +260,7 @@ namespace DiscImageChef.Decoders.CD
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x81:
{
sb.Append("CD-Text pack contains performer for ");
@@ -267,6 +268,7 @@ namespace DiscImageChef.Decoders.CD
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x82:
{
sb.Append("CD-Text pack contains songwriter for ");
@@ -274,12 +276,14 @@ namespace DiscImageChef.Decoders.CD
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x83:
{
if(descriptor.HeaderID2 == 0x00) sb.AppendLine("album");
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x84:
{
sb.Append("CD-Text pack contains arranger for ");
@@ -287,6 +291,7 @@ namespace DiscImageChef.Decoders.CD
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x85:
{
sb.Append("CD-Text pack contains content provider's message for ");
@@ -294,26 +299,31 @@ namespace DiscImageChef.Decoders.CD
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x86:
{
sb.AppendLine("CD-Text pack contains disc identification information");
break;
}
case 0x87:
{
sb.AppendLine("CD-Text pack contains genre identification information");
break;
}
case 0x88:
{
sb.AppendLine("CD-Text pack contains table of contents information");
break;
}
case 0x89:
{
sb.AppendLine("CD-Text pack contains second table of contents information");
break;
}
case 0x8A:
case 0x8B:
case 0x8C:
@@ -321,17 +331,20 @@ namespace DiscImageChef.Decoders.CD
sb.AppendLine("CD-Text pack contains reserved data");
break;
}
case 0x8D:
{
sb.AppendLine("CD-Text pack contains data reserved for content provider only");
break;
}
case 0x8E:
{
if(descriptor.HeaderID2 == 0x00) sb.AppendLine("CD-Text pack contains UPC");
else sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine();
break;
}
case 0x8F:
{
sb.AppendLine("CD-Text pack contains size block information");
@@ -359,6 +372,7 @@ namespace DiscImageChef.Decoders.CD
Encoding.GetEncoding("iso-8859-1"))).AppendLine();
break;
}
default:
{
sb.AppendFormat("Binary contents: {0}",

View File

@@ -30,7 +30,6 @@
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -153,14 +152,14 @@ namespace DiscImageChef.Decoders.CD
{
if(CDFullTOCResponse == null) return null;
CDFullTOC decoded = new CDFullTOC();
CDFullTOC decoded = new CDFullTOC
{
DataLength = BigEndianBitConverter.ToUInt16(CDFullTOCResponse, 0),
FirstCompleteSession = CDFullTOCResponse[2],
LastCompleteSession = CDFullTOCResponse[3]
};
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
decoded.DataLength = BigEndianBitConverter.ToUInt16(CDFullTOCResponse, 0);
decoded.FirstCompleteSession = CDFullTOCResponse[2];
decoded.LastCompleteSession = CDFullTOCResponse[3];
decoded.TrackDescriptors = new TrackDataDescriptor[(decoded.DataLength - 2) / 11];
decoded.TrackDescriptors = new TrackDataDescriptor[(decoded.DataLength - 2) / 11];
if(decoded.DataLength + 2 != CDFullTOCResponse.Length)
{
@@ -271,6 +270,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
case 0xA0 when descriptor.ADR == 1:
{
sb.AppendFormat("First track number: {0} (", descriptor.PMIN);
@@ -301,6 +301,7 @@ namespace DiscImageChef.Decoders.CD
//sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine();
break;
}
case 0xA1 when descriptor.ADR == 4:
sb.AppendFormat("Last video track number: {0}", descriptor.PMIN).AppendLine();
break;
@@ -333,6 +334,7 @@ namespace DiscImageChef.Decoders.CD
//sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine();
break;
}
case 0xA2:
{
if(descriptor.PHOUR > 0)
@@ -361,6 +363,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
case 0xF0:
{
sb.AppendFormat("Book type: 0x{0:X2}", descriptor.PMIN);
@@ -374,6 +377,7 @@ namespace DiscImageChef.Decoders.CD
descriptor.Sec, descriptor.Frame).AppendLine();
break;
}
default:
{
if(descriptor.POINT >= 0x01 && descriptor.POINT <= 0x63)
@@ -444,6 +448,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
case 5:
{
switch(descriptor.POINT)
@@ -474,6 +479,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
case 0xB1:
{
sb.AppendFormat("Number of skip interval pointers: {0}", descriptor.PMIN)
@@ -481,6 +487,7 @@ namespace DiscImageChef.Decoders.CD
sb.AppendFormat("Number of skip track pointers: {0}", descriptor.PSEC).AppendLine();
break;
}
case 0xB2:
case 0xB3:
case 0xB4:
@@ -494,6 +501,7 @@ namespace DiscImageChef.Decoders.CD
sb.AppendFormat("Skip track {0}", descriptor.PFRAME).AppendLine();
break;
}
case 0xC0:
{
sb.AppendFormat("Optimum recording power: 0x{0:X2}", descriptor.Min).AppendLine();
@@ -509,6 +517,7 @@ namespace DiscImageChef.Decoders.CD
.AppendLine();
break;
}
case 0xC1:
{
sb.AppendFormat("Copy of information of A1 from ATIP found");
@@ -521,6 +530,7 @@ namespace DiscImageChef.Decoders.CD
sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine();
break;
}
case 0xCF:
{
if(descriptor.PHOUR > 0)
@@ -547,6 +557,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
default:
{
if(descriptor.POINT >= 0x01 && descriptor.POINT <= 0x40)
@@ -581,6 +592,7 @@ namespace DiscImageChef.Decoders.CD
break;
}
case 6:
{
uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame);

View File

@@ -30,7 +30,6 @@
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -140,13 +139,13 @@ namespace DiscImageChef.Decoders.CD
{
if(CDPMAResponse == null) return null;
CDPMA decoded = new CDPMA();
CDPMA decoded = new CDPMA
{
DataLength = BigEndianBitConverter.ToUInt16(CDPMAResponse, 0),
Reserved1 = CDPMAResponse[2],
Reserved2 = CDPMAResponse[3]
};
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
decoded.DataLength = BigEndianBitConverter.ToUInt16(CDPMAResponse, 0);
decoded.Reserved1 = CDPMAResponse[2];
decoded.Reserved2 = CDPMAResponse[3];
decoded.PMADescriptors = new CDPMADescriptors[(decoded.DataLength - 2) / 11];
if(decoded.DataLength + 2 != CDPMAResponse.Length)

View File

@@ -30,7 +30,6 @@
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -115,14 +114,14 @@ namespace DiscImageChef.Decoders.CD
{
if(CDSessionInfoResponse == null) return null;
CDSessionInfo decoded = new CDSessionInfo();
CDSessionInfo decoded = new CDSessionInfo
{
DataLength = BigEndianBitConverter.ToUInt16(CDSessionInfoResponse, 0),
FirstCompleteSession = CDSessionInfoResponse[2],
LastCompleteSession = CDSessionInfoResponse[3]
};
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
decoded.DataLength = BigEndianBitConverter.ToUInt16(CDSessionInfoResponse, 0);
decoded.FirstCompleteSession = CDSessionInfoResponse[2];
decoded.LastCompleteSession = CDSessionInfoResponse[3];
decoded.TrackDescriptors = new TrackDataDescriptor[(decoded.DataLength - 2) / 8];
decoded.TrackDescriptors = new TrackDataDescriptor[(decoded.DataLength - 2) / 8];
if(decoded.DataLength + 2 != CDSessionInfoResponse.Length)
{

View File

@@ -30,7 +30,6 @@
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -117,13 +116,13 @@ namespace DiscImageChef.Decoders.CD
{
if(CDTOCResponse == null) return null;
CDTOC decoded = new CDTOC();
CDTOC decoded = new CDTOC
{
DataLength = BigEndianBitConverter.ToUInt16(CDTOCResponse, 0),
FirstTrack = CDTOCResponse[2],
LastTrack = CDTOCResponse[3]
};
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
decoded.DataLength = BigEndianBitConverter.ToUInt16(CDTOCResponse, 0);
decoded.FirstTrack = CDTOCResponse[2];
decoded.LastTrack = CDTOCResponse[3];
decoded.TrackDescriptors = new CDTOCTrackDataDescriptor[(decoded.DataLength - 2) / 8];
if(decoded.DataLength + 2 != CDTOCResponse.Length)