Redo Reformat and cleanup.

Rider EAP was having a bug interpreting .editorconfig that didn't generate the code style as we wanted.
This is now done with Rider-stable.
This commit is contained in:
2023-10-04 17:34:40 +01:00
parent bc8bf7a2dc
commit 7363a5d9c5
453 changed files with 7241 additions and 7126 deletions

View File

@@ -80,8 +80,7 @@ public static class CompactDisc
sub = Subchannel.ConvertQToRaw(sub);
// If not desired to fix, or to save, the subchannel, just save as is (or none)
if(!fixSubchannelPosition &&
desiredSubchannel != MmcSubchannel.None)
if(!fixSubchannelPosition && desiredSubchannel != MmcSubchannel.None)
outputPlugin.WriteSectorsTag(sub, sectorAddress, length, SectorTagType.CdSectorSubchannel);
subLog?.WriteEntry(sub, supportedSubchannel == MmcSubchannel.Raw, (long)sectorAddress, length, false, false);
@@ -92,8 +91,7 @@ public static class CompactDisc
updateStatus, smallestPregapLbaPerTrack, dumping,
out newPregapSectors, sectorAddress);
if(!fixSubchannelPosition ||
desiredSubchannel == MmcSubchannel.None)
if(!fixSubchannelPosition || desiredSubchannel == MmcSubchannel.None)
return indexesChanged;
int prePos = int.MinValue;
@@ -121,8 +119,7 @@ public static class CompactDisc
// Check P and weight
for(int p = subPos; p < subPos + 12; p++)
{
if(deSub[p] != 0 &&
deSub[p] != 255)
if(deSub[p] != 0 && deSub[p] != 255)
pOk = false;
for(var w = 0; w < 8; w++)
@@ -192,10 +189,7 @@ public static class CompactDisc
}
// RW is not a known pattern or packet, fix it
if(!rwOk &&
!rwPacket &&
!cdtextPacket &&
fixSubchannel)
if(!rwOk && !rwPacket && !cdtextPacket && fixSubchannel)
{
for(int rw = subPos + 24; rw < subPos + 96; rw++)
deSub[rw] = 0;
@@ -209,10 +203,7 @@ public static class CompactDisc
int aPos;
// Fix Q
if(!crcOk &&
fixSubchannel &&
subPos > 0 &&
subPos < deSub.Length - 96)
if(!crcOk && fixSubchannel && subPos > 0 && subPos < deSub.Length - 96)
{
isrcs.TryGetValue(currentTrack, out string knownGoodIsrc);
@@ -258,9 +249,7 @@ public static class CompactDisc
}
}
if(!pOk ||
!crcOk ||
!rwOk)
if(!pOk || !crcOk || !rwOk)
continue;
var aframe = (byte)(q[9] / 16 * 10 + (q[9] & 0x0F));
@@ -417,8 +406,7 @@ public static class CompactDisc
continue;
// Pregap
if(q[2] == 0 &&
trackNo > 1)
if(q[2] == 0 && trackNo > 1)
{
var pmin = (byte)(q[3] / 16 * 10 + (q[3] & 0x0F));
var psec = (byte)(q[4] / 16 * 10 + (q[4] & 0x0F));
@@ -443,9 +431,8 @@ public static class CompactDisc
tracks[i].StartSector -= (ulong)dif;
smallestPregapLbaPerTrack[trackNo] = qPos;
if(i > 0 &&
tracks[i - 1].EndSector >= tracks[i].StartSector)
tracks[i - 1].EndSector = tracks[i].StartSector - 1;
if(i > 0 && tracks[i - 1].EndSector >= tracks[i].StartSector)
tracks[i - 1].EndSector = tracks[i].StartSector - 1;
dumpLog?.WriteLine(string.Format(Localization.Core.Pregap_for_track_0_set_to_1_sectors,
trackNo, tracks[i].Pregap));
@@ -468,9 +455,8 @@ public static class CompactDisc
tracks[i].Pregap = (ulong)qPos;
tracks[i].StartSector -= tracks[i].Pregap - oldPregap;
if(i > 0 &&
tracks[i - 1].EndSector >= tracks[i].StartSector)
tracks[i - 1].EndSector = tracks[i].StartSector - 1;
if(i > 0 && tracks[i - 1].EndSector >= tracks[i].StartSector)
tracks[i - 1].EndSector = tracks[i].StartSector - 1;
dumpLog?.WriteLine(string.Format(Localization.Core.Pregap_for_track_0_set_to_1_sectors,
trackNo, tracks[i].Pregap));
@@ -495,12 +481,10 @@ public static class CompactDisc
int aPos = amin * 60 * 75 + asec * 75 + aframe - 150;
// Do not set INDEX 1 to a value higher than what the TOC already said.
if(q[2] == 1 &&
aPos > (int)tracks[i].StartSector)
if(q[2] == 1 && aPos > (int)tracks[i].StartSector)
continue;
if(tracks[i].Indexes.ContainsKey(q[2]) &&
aPos >= tracks[i].Indexes[q[2]])
if(tracks[i].Indexes.ContainsKey(q[2]) && aPos >= tracks[i].Indexes[q[2]])
continue;
dumpLog?.WriteLine(string.Format(Localization.Core.Setting_index_0_for_track_1_to_LBA_2, q[2],
@@ -824,8 +808,7 @@ public static class CompactDisc
Array.Copy(cdTextPack1, 0, cdTextPack1ForCrc, 0, 16);
ushort calculatedCdtp1Crc = CRC16CCITTContext.Calculate(cdTextPack1ForCrc);
if(cdTextPack1Crc != calculatedCdtp1Crc &&
cdTextPack1Crc != 0)
if(cdTextPack1Crc != calculatedCdtp1Crc && cdTextPack1Crc != 0)
status = false;
}
@@ -836,8 +819,7 @@ public static class CompactDisc
Array.Copy(cdTextPack2, 0, cdTextPack2ForCrc, 0, 16);
ushort calculatedCdtp2Crc = CRC16CCITTContext.Calculate(cdTextPack2ForCrc);
if(cdTextPack2Crc != calculatedCdtp2Crc &&
cdTextPack2Crc != 0)
if(cdTextPack2Crc != calculatedCdtp2Crc && cdTextPack2Crc != 0)
status = false;
}
@@ -848,8 +830,7 @@ public static class CompactDisc
Array.Copy(cdTextPack3, 0, cdTextPack3ForCrc, 0, 16);
ushort calculatedCdtp3Crc = CRC16CCITTContext.Calculate(cdTextPack3ForCrc);
if(cdTextPack3Crc != calculatedCdtp3Crc &&
cdTextPack3Crc != 0)
if(cdTextPack3Crc != calculatedCdtp3Crc && cdTextPack3Crc != 0)
status = false;
}
@@ -861,8 +842,7 @@ public static class CompactDisc
Array.Copy(cdTextPack4, 0, cdTextPack4ForCrc, 0, 16);
ushort calculatedCdtp4Crc = CRC16CCITTContext.Calculate(cdTextPack4ForCrc);
if(cdTextPack4Crc == calculatedCdtp4Crc ||
cdTextPack4Crc == 0)
if(cdTextPack4Crc == calculatedCdtp4Crc || cdTextPack4Crc == 0)
return status;
return false;
@@ -1007,10 +987,7 @@ public static class CompactDisc
q[0] = (byte)oldAdr;
}
if(preCrcOk &&
nextCrcOk &&
(nextQ[0] & 0xF0) == (preQ[0] & 0xF0) &&
(q[0] & 0xF0) != (nextQ[0] & 0xF0))
if(preCrcOk && nextCrcOk && (nextQ[0] & 0xF0) == (preQ[0] & 0xF0) && (q[0] & 0xF0) != (nextQ[0] & 0xF0))
{
q[0] = (byte)((q[0] & 0x03) + (nextQ[0] & 0xF0));
@@ -1037,8 +1014,7 @@ public static class CompactDisc
if(preCrcOk && nextCrcOk)
{
if(preQ[1] == nextQ[1] &&
preQ[1] != q[1])
if(preQ[1] == nextQ[1] && preQ[1] != q[1])
{
q[1] = preQ[1];
fixedTno = true;
@@ -1053,8 +1029,7 @@ public static class CompactDisc
if(preCrcOk && nextCrcOk)
{
if(preQ[2] == nextQ[2] &&
preQ[2] != q[2])
if(preQ[2] == nextQ[2] && preQ[2] != q[2])
{
q[2] = preQ[2];
fixedIndex = true;
@@ -1145,9 +1120,7 @@ public static class CompactDisc
}
// Next is not pregap and we didn't fix relative position with previous
if(nextQ[2] > 0 &&
nextCrcOk &&
!fixedRelPos)
if(nextQ[2] > 0 && nextCrcOk && !fixedRelPos)
{
rmin = (byte)(nextQ[3] / 16 * 10 + (nextQ[3] & 0x0F));
rsec = (byte)(nextQ[4] / 16 * 10 + (nextQ[4] & 0x0F));
@@ -1262,9 +1235,7 @@ public static class CompactDisc
}
// Next is not pregap and we didn't fix relative position with previous
if(nextQ[2] > 0 &&
nextCrcOk &&
!fixedAbsPos)
if(nextQ[2] > 0 && nextCrcOk && !fixedAbsPos)
{
rmin = (byte)(nextQ[7] / 16 * 10 + (nextQ[7] & 0x0F));
rsec = (byte)(nextQ[8] / 16 * 10 + (nextQ[8] & 0x0F));
@@ -1350,12 +1321,7 @@ public static class CompactDisc
bool relOk = dPos == 1;
if(q[0] != preQ[0] ||
q[1] != preQ[1] ||
q[2] != preQ[2] ||
q[6] != 0 ||
!absOk ||
!relOk)
if(q[0] != preQ[0] || q[1] != preQ[1] || q[2] != preQ[2] || q[6] != 0 || !absOk || !relOk)
return false;
CRC16CCITTContext.Data(q, 10, out qCrc);
@@ -1388,12 +1354,7 @@ public static class CompactDisc
bool relOk = dPos == 1;
if(q[0] != nextQ[0] ||
q[1] != nextQ[1] ||
q[2] != nextQ[2] ||
q[6] != 0 ||
!absOk ||
!relOk)
if(q[0] != nextQ[0] || q[1] != nextQ[1] || q[2] != nextQ[2] || q[6] != 0 || !absOk || !relOk)
return false;
CRC16CCITTContext.Data(q, 10, out qCrc);
@@ -1488,9 +1449,7 @@ public static class CompactDisc
return true;
}
if(!fixCrc ||
!nextCrcOk ||
!preCrcOk)
if(!fixCrc || !nextCrcOk || !preCrcOk)
return false;
CRC16CCITTContext.Data(q, 10, out qCrc);
@@ -1587,9 +1546,7 @@ public static class CompactDisc
return true;
}
if(!fixCrc ||
!nextCrcOk ||
!preCrcOk)
if(!fixCrc || !nextCrcOk || !preCrcOk)
return false;
CRC16CCITTContext.Data(q, 10, out qCrc);

View File

@@ -80,10 +80,16 @@ public static class MMC
0x50, 0x6C, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x35, 0x00, 0x00, 0x00, 0x00
};
static readonly byte[] _operaId = { 0x01, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x01 };
static readonly byte[] _operaId =
{
0x01, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x01
};
// Only present on bootable CDs, but those make more than 99% of all available
static readonly byte[] _fmTownsBootId = { 0x49, 0x50, 0x4C, 0x34, 0xEB, 0x55, 0x06 };
static readonly byte[] _fmTownsBootId =
{
0x49, 0x50, 0x4C, 0x34, 0xEB, 0x55, 0x06
};
/// <summary>Present on first two seconds of second track, says "COPYRIGHT BANDAI"</summary>
static readonly byte[] _playdiaCopyright = "COPYRIGHT BANDAI"u8.ToArray();
@@ -125,7 +131,10 @@ public static class MMC
if(sector?.Length != 2352)
return false;
byte[] syncMark = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
byte[] syncMark =
{
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00
};
var testMark = new byte[12];
Array.Copy(sector, 0, testMark, 0, 12);
@@ -140,7 +149,10 @@ public static class MMC
if(sector?.Length != 2352)
return false;
byte[] syncMark = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
byte[] syncMark =
{
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00
};
var testMark = new byte[12];
@@ -196,12 +208,14 @@ public static class MMC
if(sector16?.Length != 2352)
return false;
byte[] cdiMark = { 0x01, 0x43, 0x44, 0x2D };
byte[] cdiMark =
{
0x01, 0x43, 0x44, 0x2D
};
bool isData = IsData(sector0);
if(!isData ||
sector0[0xF] != 2 && sector0[0xF] != 1)
if(!isData || sector0[0xF] != 2 && sector0[0xF] != 1)
return false;
var testMark = new byte[4];
@@ -212,8 +226,7 @@ public static class MMC
static bool IsVideoNowColor(byte[] videoFrame)
{
if(videoFrame is null ||
videoFrame.Length < _videoNowColorFrameMarker.Length)
if(videoFrame is null || videoFrame.Length < _videoNowColorFrameMarker.Length)
return false;
var buffer = new byte[_videoNowColorFrameMarker.Length];
@@ -447,8 +460,7 @@ public static class MMC
break;
case 0x20:
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.TOC_says_disc_type_is_CD_ROM_XA);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.TOC_says_disc_type_is_CD_ROM_XA);
mediaType = MediaType.CDROMXA;
@@ -457,7 +469,7 @@ public static class MMC
}
foreach(FullTOC.TrackDataDescriptor track in
decodedToc.Value.TrackDescriptors.Where(t => t.POINT is > 0 and <= 0x99))
decodedToc.Value.TrackDescriptors.Where(t => t.POINT is > 0 and <= 0x99))
{
if(track.TNO == 1 &&
((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack ||
@@ -467,8 +479,11 @@ public static class MMC
if((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack ||
(TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrackIncremental)
{
var startAddress = (uint)(track.PHOUR * 3600 * 75 + track.PMIN * 60 * 75 +
track.PSEC * 75 + track.PFRAME - 150);
var startAddress = (uint)(track.PHOUR * 3600 * 75 +
track.PMIN * 60 * 75 +
track.PSEC * 75 +
track.PFRAME -
150);
if(startAddress < startOfFirstDataTrack)
startOfFirstDataTrack = startAddress;
@@ -504,19 +519,14 @@ public static class MMC
break;
}
if(hasDataTrack &&
!hasAudioTrack &&
sessions == 1)
if(hasDataTrack && !hasAudioTrack && sessions == 1)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Disc_has_only_data_in_a_session_CD_ROM);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Disc_has_only_data_in_a_session_CD_ROM);
mediaType = MediaType.CDROM;
}
if(hasVideoTrack &&
!hasDataTrack &&
sessions == 1)
if(hasVideoTrack && !hasDataTrack && sessions == 1)
{
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Disc_has_video_tracks_CD_Video);
@@ -534,7 +544,9 @@ public static class MMC
TocControl.DataTrackIncremental)).
Select(track => (uint)(track.PHOUR * 3600 * 75 +
track.PMIN * 60 * 75 +
track.PSEC * 75 + track.PFRAME - 150) +
track.PSEC * 75 +
track.PFRAME -
150) +
16))
{
sense = dev.ReadCd(out cmdBuf, out _, startAddress, 2352, 1, MmcSectorTypes.AllTypes, false, false,
@@ -559,8 +571,7 @@ public static class MMC
cmdBuf[15] != 0x02)
continue;
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Disc_has_a_mode_two_data_track_CD_ROM_XA);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Disc_has_a_mode_two_data_track_CD_ROM_XA);
mediaType = MediaType.CDROMXA;
@@ -578,14 +589,14 @@ public static class MMC
var firstSectorSecondSessionFirstTrack = (uint)(secondSessionFirstTrackTrack.PHOUR * 3600 * 75 +
secondSessionFirstTrackTrack.PMIN * 60 * 75 +
secondSessionFirstTrackTrack.PSEC * 75 +
secondSessionFirstTrackTrack.PFRAME - 150);
secondSessionFirstTrackTrack.PFRAME -
150);
sense = dev.ReadCd(out cmdBuf, out _, firstSectorSecondSessionFirstTrack, 2352, 1, MmcSectorTypes.AllTypes,
false, false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
firstTrackSecondSession = cmdBuf;
else
{
@@ -593,8 +604,7 @@ public static class MMC
false, false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
firstTrackSecondSession = cmdBuf;
}
@@ -602,8 +612,7 @@ public static class MMC
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true, true,
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
firstTrackSecondSessionAudio = cmdBuf;
else
{
@@ -611,8 +620,7 @@ public static class MMC
MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false,
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
firstTrackSecondSessionAudio = cmdBuf;
}
}
@@ -648,8 +656,11 @@ public static class MMC
if(firstTrack?.POINT is >= 1 and < 0xA0)
{
var firstTrackSector = (uint)(firstTrack.Value.PHOUR * 3600 * 75 + firstTrack.Value.PMIN * 60 * 75 +
firstTrack.Value.PSEC * 75 + firstTrack.Value.PFRAME - 150);
var firstTrackSector = (uint)(firstTrack.Value.PHOUR * 3600 * 75 +
firstTrack.Value.PMIN * 60 * 75 +
firstTrack.Value.PSEC * 75 +
firstTrack.Value.PFRAME -
150);
// Check for hidden data before start of track 1
if(firstTrackSector > 0)
@@ -658,8 +669,7 @@ public static class MMC
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!dev.Error &&
!sense)
if(!dev.Error && !sense)
{
hiddenTrack = true;
@@ -671,8 +681,7 @@ public static class MMC
false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
IsCdi(sector0, sector16))
if(!sense && IsCdi(sector0, sector16))
{
mediaType = MediaType.CDIREADY;
@@ -756,8 +765,7 @@ public static class MMC
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = new byte[2048];
Array.Copy(cmdBuf, 16, sector0, 0, 2048);
@@ -766,8 +774,7 @@ public static class MMC
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector1 = new byte[2048];
Array.Copy(cmdBuf, 16, sector1, 0, 2048);
@@ -777,8 +784,7 @@ public static class MMC
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
playdia1 = new byte[2048];
Array.Copy(cmdBuf, 24, playdia1, 0, 2048);
@@ -788,8 +794,7 @@ public static class MMC
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
playdia2 = new byte[2048];
Array.Copy(cmdBuf, 24, playdia2, 0, 2048);
@@ -801,8 +806,7 @@ public static class MMC
false, false, true, MmcHeaderCodes.AllHeaders, true, true,
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
firstDataSectorNotZero = new byte[2048];
Array.Copy(cmdBuf, 16, firstDataSectorNotZero, 0, 2048);
@@ -812,8 +816,7 @@ public static class MMC
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
secondDataSectorNotZero = new byte[2048];
Array.Copy(cmdBuf, 16, secondDataSectorNotZero, 0, 2048);
@@ -843,8 +846,7 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = new byte[2048];
Array.Copy(cmdBuf, 0, sector0, 0, 2048);
@@ -853,8 +855,7 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector1 = new byte[2048];
Array.Copy(cmdBuf, 1, sector0, 0, 2048);
@@ -864,8 +865,7 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
playdia1 = new byte[2048];
Array.Copy(cmdBuf, 0, playdia1, 0, 2048);
@@ -875,8 +875,7 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
playdia2 = new byte[2048];
Array.Copy(cmdBuf, 0, playdia2, 0, 2048);
@@ -888,8 +887,7 @@ public static class MMC
false, false, false, MmcHeaderCodes.None, true, false,
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
firstDataSectorNotZero = new byte[2048];
Array.Copy(cmdBuf, 0, firstDataSectorNotZero, 0, 2048);
@@ -899,8 +897,7 @@ public static class MMC
MmcSectorTypes.Mode2, false, false, false, MmcHeaderCodes.None, true,
false, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
secondDataSectorNotZero = new byte[2048];
Array.Copy(cmdBuf, 0, secondDataSectorNotZero, 0, 2048);
@@ -930,8 +927,7 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = cmdBuf;
@@ -939,16 +935,14 @@ public static class MMC
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
sector1 = cmdBuf;
sense = dev.ReadCd(out cmdBuf, out _, 0, 2048, 12, MmcSectorTypes.Mode1, false, false,
false, MmcHeaderCodes.None, true, false, MmcErrorField.None,
MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
ps2BootSectors = cmdBuf;
if(startOfFirstDataTrack != uint.MaxValue)
@@ -957,16 +951,14 @@ public static class MMC
MmcSectorTypes.Mode1, false, false, false, MmcHeaderCodes.None, true,
false, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
firstDataSectorNotZero = cmdBuf;
sense = dev.ReadCd(out cmdBuf, out _, startOfFirstDataTrack + 1, 2048, 1,
MmcSectorTypes.Mode1, false, false, false, MmcHeaderCodes.None, true,
false, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
secondDataSectorNotZero = cmdBuf;
}
}
@@ -997,24 +989,20 @@ public static class MMC
sense = dev.Read16(out cmdBuf, out _, 0, false, false, false, 0, 2048, 0, 1, false, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = cmdBuf;
sense = dev.Read16(out cmdBuf, out _, 0, false, false, false, 1, 2048, 0, 1, false, dev.Timeout,
out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
sector1 = cmdBuf;
sense = dev.Read16(out cmdBuf, out _, 0, false, false, false, 0, 2048, 0, 12, false, dev.Timeout,
out _);
if(!sense &&
!dev.Error &&
cmdBuf.Length == 0x6000)
if(!sense && !dev.Error && cmdBuf.Length == 0x6000)
ps2BootSectors = cmdBuf;
}
else
@@ -1022,24 +1010,20 @@ public static class MMC
sense = dev.Read12(out cmdBuf, out _, 0, false, false, false, false, 0, 2048, 0, 1, false,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = cmdBuf;
sense = dev.Read12(out cmdBuf, out _, 0, false, false, false, false, 1, 2048, 0, 1, false,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
sector1 = cmdBuf;
sense = dev.Read12(out cmdBuf, out _, 0, false, false, false, false, 0, 2048, 0, 12, false,
dev.Timeout, out _);
if(!sense &&
!dev.Error &&
cmdBuf.Length == 0x6000)
if(!sense && !dev.Error && cmdBuf.Length == 0x6000)
ps2BootSectors = cmdBuf;
}
else
@@ -1047,46 +1031,38 @@ public static class MMC
sense = dev.Read10(out cmdBuf, out _, 0, false, false, false, false, 0, 2048, 0, 1, dev.Timeout,
out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = cmdBuf;
sense = dev.Read10(out cmdBuf, out _, 0, false, false, false, false, 1, 2048, 0, 1,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
sector1 = cmdBuf;
sense = dev.Read10(out cmdBuf, out _, 0, false, false, false, false, 0, 2048, 0, 12,
dev.Timeout, out _);
if(!sense &&
!dev.Error &&
cmdBuf.Length == 0x6000)
if(!sense && !dev.Error && cmdBuf.Length == 0x6000)
ps2BootSectors = cmdBuf;
}
else
{
sense = dev.Read6(out cmdBuf, out _, 0, 2048, 1, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
sector0 = cmdBuf;
sense = dev.Read6(out cmdBuf, out _, 1, 2048, 1, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
sector1 = cmdBuf;
sense = dev.Read6(out cmdBuf, out _, 0, 2048, 12, dev.Timeout, out _);
if(!sense &&
!dev.Error &&
cmdBuf.Length == 0x6000)
if(!sense && !dev.Error && cmdBuf.Length == 0x6000)
ps2BootSectors = cmdBuf;
}
}
@@ -1207,8 +1183,7 @@ public static class MMC
break;
// If it is PVD or end of descriptor chain, break
if(isoSector[0] == 1 ||
isoSector[0] == 255)
if(isoSector[0] == 1 || isoSector[0] == 255)
break;
isoSectorPosition++;
@@ -1226,8 +1201,7 @@ public static class MMC
var rootStart = BitConverter.ToUInt32(isoSector, 158);
var rootLength = BitConverter.ToUInt32(isoSector, 166);
if(rootStart == 0 ||
rootLength == 0)
if(rootStart == 0 || rootLength == 0)
return;
rootLength /= 2048;
@@ -1273,8 +1247,7 @@ public static class MMC
if(name.EndsWith(";1", StringComparison.InvariantCulture))
name = name[..^2];
if(name == "PHOTO_CD" &&
(isoSector[rootPos + 25] & 0x02) == 0x02)
if(name == "PHOTO_CD" && (isoSector[rootPos + 25] & 0x02) == 0x02)
{
pcdStart = BitConverter.ToUInt32(isoSector, rootPos + 2);
pcdLength = BitConverter.ToUInt32(isoSector, rootPos + 10) / 2048;
@@ -1443,8 +1416,7 @@ public static class MMC
string ps2BootSectorsHash = Sha256Context.Data(ps2BootSectors, out _);
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.PlayStation_2_boot_sectors_SHA256_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.PlayStation_2_boot_sectors_SHA256_0,
ps2BootSectorsHash);
if(ps2BootSectorsHash is PS2_PAL_HASH or PS2_NTSC_HASH or PS2_JAPANESE_HASH)
@@ -1482,8 +1454,7 @@ public static class MMC
}
}
if(playdia1 != null &&
playdia2 != null)
if(playdia1 != null && playdia2 != null)
{
var pd1 = new byte[_playdiaCopyright.Length];
var pd2 = new byte[_playdiaCopyright.Length];
@@ -1491,8 +1462,7 @@ public static class MMC
Array.Copy(playdia1, 38, pd1, 0, pd1.Length);
Array.Copy(playdia2, 0, pd2, 0, pd1.Length);
if(_playdiaCopyright.SequenceEqual(pd1) &&
_playdiaCopyright.SequenceEqual(pd2))
if(_playdiaCopyright.SequenceEqual(pd1) && _playdiaCopyright.SequenceEqual(pd2))
{
mediaType = MediaType.Playdia;
@@ -1674,8 +1644,7 @@ public static class MMC
break;
// If it is PVD or end of descriptor chain, break
if(isoSector[0] == 1 ||
isoSector[0] == 255)
if(isoSector[0] == 1 || isoSector[0] == 255)
break;
isoSectorPosition++;
@@ -1693,8 +1662,7 @@ public static class MMC
var rootStart = BitConverter.ToUInt32(isoSector, 158);
var rootLength = BitConverter.ToUInt32(isoSector, 166);
if(rootStart == 0 ||
rootLength == 0)
if(rootStart == 0 || rootLength == 0)
return;
rootLength /= 2048;
@@ -1851,8 +1819,7 @@ public static class MMC
string line = sr.ReadLine();
// End of file
if(line is null ||
line.Length == 0)
if(line is null || line.Length == 0)
{
if(lineNumber == 0)
correctNeoGeoCd = false;
@@ -1906,8 +1873,7 @@ public static class MMC
}
// Second part must be a single digit
if(split[1].Length != 1 ||
!byte.TryParse(split[1], out _))
if(split[1].Length != 1 || !byte.TryParse(split[1], out _))
{
correctNeoGeoCd = false;
@@ -2173,8 +2139,7 @@ public static class MMC
string line = sr.ReadLine();
// End of file
if(line is null ||
line.Length == 0)
if(line is null || line.Length == 0)
break;
line = line.Replace(" ", "");
@@ -2206,8 +2171,7 @@ public static class MMC
break;
}
if(ps1BootFile != null &&
rootEntries.Contains(ps1BootFile.ToUpperInvariant()))
if(ps1BootFile != null && rootEntries.Contains(ps1BootFile.ToUpperInvariant()))
{
mediaType = MediaType.PS1CD;
@@ -2215,8 +2179,7 @@ public static class MMC
Localization.Core.Found_correct_SYSTEM_CNF_file_in_root_PS1);
}
if(ps2BootFile != null &&
rootEntries.Contains(ps2BootFile.ToUpperInvariant()))
if(ps2BootFile != null && rootEntries.Contains(ps2BootFile.ToUpperInvariant()))
{
mediaType = MediaType.PS2CD;
@@ -2248,8 +2211,7 @@ public static class MMC
string ps2BootSectorsHash = Sha256Context.Data(ps2BootSectors, out _);
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.PlayStation_2_boot_sectors_SHA256_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.PlayStation_2_boot_sectors_SHA256_0,
ps2BootSectorsHash);
if(ps2BootSectorsHash is PS2_PAL_HASH or PS2_NTSC_HASH or PS2_JAPANESE_HASH)
@@ -2290,8 +2252,7 @@ public static class MMC
tmp = new byte[_ps4Id.Length];
Array.Copy(sector1, 512, tmp, 0, tmp.Length);
if(tmp.SequenceEqual(_ps4Id) &&
mediaType == MediaType.BDROM)
if(tmp.SequenceEqual(_ps4Id) && mediaType == MediaType.BDROM)
{
mediaType = MediaType.PS4BD;
@@ -2300,8 +2261,7 @@ public static class MMC
}
}
if(blurayDi is { Units.Length: > 0 } &&
blurayDi?.Units[0].DiscTypeIdentifier != null)
if(blurayDi is { Units.Length: > 0 } && blurayDi?.Units[0].DiscTypeIdentifier != null)
{
string blurayType = StringHandlers.CToString(blurayDi?.Units[0].DiscTypeIdentifier);

View File

@@ -92,7 +92,10 @@ public static class CompactDisc
if(dataTrack != null)
{
// Build sync
sectorSync = new byte[] { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
sectorSync = new byte[]
{
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00
};
tmpBuf = new byte[sectorSync.Length];
@@ -107,8 +110,7 @@ public static class CompactDisc
sense = dev.PlextorReadCdDa(out cmdBuf, out _, wantedLba, sectorSize, 3, PlextorSubchannel.None,
dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
supportsPlextorReadCdDa = true;
@@ -144,7 +146,8 @@ public static class CompactDisc
}
if(!offsetFound &&
(debug || dbDev?.ATAPI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true ||
(debug ||
dbDev?.ATAPI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true ||
dbDev?.SCSI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true ||
dbDev?.SCSI?.MultiMediaDevice?.TestedMedia?.Any(d => d.CanReadCdScrambled == true) == true ||
dev.Manufacturer.Equals("hl-dt-st", StringComparison.InvariantCultureIgnoreCase)))
@@ -153,8 +156,7 @@ public static class CompactDisc
false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None,
MmcSubchannel.None, dev.Timeout, out _);
if(!sense &&
!dev.Error)
if(!sense && !dev.Error)
{
// Clear cache
for(var i = 0; i < 63; i++)
@@ -212,8 +214,7 @@ public static class CompactDisc
for(var i = 1; i < tracks.Length; i++)
{
if(tracks[i - 1].Type == TrackType.Audio ||
tracks[i].Type != TrackType.Audio)
if(tracks[i - 1].Type == TrackType.Audio || tracks[i].Type != TrackType.Audio)
continue;
dataTrack = tracks[i - 1];
@@ -222,8 +223,7 @@ public static class CompactDisc
break;
}
if(dataTrack is null ||
audioTrack is null)
if(dataTrack is null || audioTrack is null)
return;
// Found them

View File

@@ -62,8 +62,7 @@ public sealed class ScsiInfo
/// <param name="dev">Device</param>
public ScsiInfo(Device dev)
{
if(dev.Type != DeviceType.SCSI &&
dev.Type != DeviceType.ATAPI)
if(dev.Type != DeviceType.SCSI && dev.Type != DeviceType.ATAPI)
return;
MediaType = MediaType.Unknown;
@@ -210,11 +209,9 @@ public sealed class ScsiInfo
if(!sense)
ReadCapacity16 = cmdBuf;
if(ReadCapacity == null ||
Blocks is 0xFFFFFFFF or 0)
if(ReadCapacity == null || Blocks is 0xFFFFFFFF or 0)
{
if(ReadCapacity16 == null &&
Blocks == 0)
if(ReadCapacity16 == null && Blocks == 0)
{
if(dev.ScsiType != PeripheralDeviceTypes.MultiMediaDevice)
{
@@ -234,8 +231,7 @@ public sealed class ScsiInfo
}
}
if(Blocks != 0 &&
BlockSize != 0)
if(Blocks != 0 && BlockSize != 0)
Blocks++;
break;
@@ -248,8 +244,7 @@ public sealed class ScsiInfo
{
sense = dev.ReportDensitySupport(out medBuf, out senseBuf, true, dev.Timeout, out _);
if(!sense &&
!seqBuf.SequenceEqual(medBuf))
if(!sense && !seqBuf.SequenceEqual(medBuf))
{
DensitySupport = seqBuf;
DensitySupportHeader = Decoders.SCSI.SSC.DensitySupport.DecodeDensity(seqBuf);
@@ -262,8 +257,7 @@ public sealed class ScsiInfo
{
sense = dev.ReportDensitySupport(out medBuf, out senseBuf, true, true, dev.Timeout, out _);
if(!sense &&
!seqBuf.SequenceEqual(medBuf))
if(!sense && !seqBuf.SequenceEqual(medBuf))
{
MediaTypeSupport = medBuf;
MediaTypeSupportHeader = Decoders.SCSI.SSC.DensitySupport.DecodeMediumType(seqBuf);
@@ -304,11 +298,9 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME, "READ GET CONFIGURATION:\n{0}",
Sense.PrettifySense(senseBuf));
AaruConsole.DebugWriteLine(MODULE_NAME, "READ GET CONFIGURATION:\n{0}", Sense.PrettifySense(senseBuf));
if(dev.IsUsb &&
scsiMediumType is 0x40 or 0x41 or 0x42)
if(dev.IsUsb && scsiMediumType is 0x40 or 0x41 or 0x42)
MediaType = MediaType.FlashDrive;
}
else
@@ -316,8 +308,7 @@ public sealed class ScsiInfo
MmcConfiguration = cmdBuf;
Features.SeparatedFeatures ftr = Features.Separate(cmdBuf);
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.GET_CONFIGURATION_current_profile_is_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.GET_CONFIGURATION_current_profile_is_0,
ftr.CurrentProfile);
switch(ftr.CurrentProfile)
@@ -455,8 +446,7 @@ public sealed class ScsiInfo
}
}
if(MediaType == MediaType.PD650 &&
Blocks == 1281856)
if(MediaType == MediaType.PD650 && Blocks == 1281856)
MediaType = MediaType.PD650_WORM;
sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0,
@@ -476,8 +466,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Write_Protection_Status_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Write_Protection_Status_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -496,10 +485,9 @@ public sealed class ScsiInfo
if(MediaType is MediaType.DVDDownload or MediaType.DVDPR or MediaType.DVDPRDL or MediaType.DVDPRW
or MediaType.DVDPRWDL or MediaType.DVDR or MediaType.DVDRAM or MediaType.DVDRDL
or MediaType.DVDROM
or MediaType.DVDRW or MediaType.DVDRWDL or MediaType.HDDVDR or MediaType.HDDVDRAM
or MediaType.HDDVDRDL
or MediaType.HDDVDROM or MediaType.HDDVDRW or MediaType.HDDVDRWDL)
or MediaType.DVDROM or MediaType.DVDRW or MediaType.DVDRWDL or MediaType.HDDVDR
or MediaType.HDDVDRAM or MediaType.HDDVDRDL or MediaType.HDDVDROM or MediaType.HDDVDRW
or MediaType.HDDVDRWDL)
{
sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0,
MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out _);
@@ -614,8 +602,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_DVD_AACS_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_DVD_AACS_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -645,8 +632,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Medium_Status_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Medium_Status_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -779,8 +765,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Pre_Recorded_Info_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Pre_Recorded_Info_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -807,8 +792,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_DVD_R_Media_ID_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_DVD_R_Media_ID_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -820,8 +804,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_DVD_R_PFI_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_DVD_R_PFI_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -876,8 +859,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_HD_DVD_CMI_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_HD_DVD_CMI_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -911,8 +893,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Last_RMD_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Last_RMD_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -932,8 +913,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Layer_Capacity_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Layer_Capacity_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -1093,8 +1073,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
"READ DISC STRUCTURE: Spare Area Information\n{0}",
AaruConsole.DebugWriteLine(MODULE_NAME, "READ DISC STRUCTURE: Spare Area Information\n{0}",
Sense.PrettifySense(senseBuf));
}
else
@@ -1105,8 +1084,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_DISC_STRUCTURE_Raw_DFL_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_DISC_STRUCTURE_Raw_DFL_0,
Sense.PrettifySense(senseBuf));
}
else
@@ -1192,8 +1170,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_TOC_PMA_ATIP_Session_Info_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_TOC_PMA_ATIP_Session_Info_0,
Sense.PrettifySense(senseBuf));
}
else if(cmdBuf.Length > 4)
@@ -1212,8 +1189,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_TOC_PMA_ATIP_Raw_TOC_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_TOC_PMA_ATIP_Raw_TOC_0,
Sense.PrettifySense(senseBuf));
}
else if(cmdBuf.Length > 4)
@@ -1237,8 +1213,7 @@ public sealed class ScsiInfo
if(sense)
{
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.READ_TOC_PMA_ATIP_CD_TEXT_0,
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.READ_TOC_PMA_ATIP_CD_TEXT_0,
Sense.PrettifySense(senseBuf));
}
else if(cmdBuf.Length > 4)
@@ -1249,9 +1224,7 @@ public sealed class ScsiInfo
sense = dev.ReadMcn(out string mcn, out _, out _, dev.Timeout, out _);
if(!sense &&
mcn != null &&
mcn != "0000000000000")
if(!sense && mcn != null && mcn != "0000000000000")
Mcn = mcn;
Isrcs = new Dictionary<byte, string>();
@@ -1260,9 +1233,7 @@ public sealed class ScsiInfo
{
sense = dev.ReadIsrc(i, out string isrc, out _, out _, dev.Timeout, out _);
if(!sense &&
isrc != null &&
isrc != "000000000000")
if(!sense && isrc != null && isrc != "000000000000")
Isrcs.Add(i, isrc);
}
@@ -1277,8 +1248,7 @@ public sealed class ScsiInfo
#region Nintendo
if(MediaType == MediaType.Unknown &&
Blocks > 0)
if(MediaType == MediaType.Unknown && Blocks > 0)
{
sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0,
MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out _);
@@ -1367,8 +1337,7 @@ public sealed class ScsiInfo
DecodedXboxSecuritySector = SS.Decode(cmdBuf);
// Get video partition size
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Getting_video_partition_size);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Getting_video_partition_size);
sense = dev.KreonLock(out senseBuf, dev.Timeout, out _);
@@ -1401,11 +1370,12 @@ public sealed class ScsiInfo
break;
}
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Video_partition_total_size_0_sectors, totalSize);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Video_partition_total_size_0_sectors,
totalSize);
ulong l0Video = PFI.Decode(cmdBuf, MediaType).Value.Layer0EndPSN -
PFI.Decode(cmdBuf, MediaType).Value.DataAreaStartPSN + 1;
PFI.Decode(cmdBuf, MediaType).Value.DataAreaStartPSN +
1;
ulong l1Video = totalSize - l0Video + 1;
@@ -1431,10 +1401,11 @@ public sealed class ScsiInfo
ulong gameSize =
((ulong)((cmdBuf[0] << 24) + (cmdBuf[1] << 16) + (cmdBuf[2] << 8) + cmdBuf[3]) &
0xFFFFFFFF) + 1;
0xFFFFFFFF) +
1;
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Game_partition_total_size_0_sectors, gameSize);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Game_partition_total_size_0_sectors,
gameSize);
// Get middle zone size
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Getting_middle_zone_size);
@@ -1469,12 +1440,15 @@ public sealed class ScsiInfo
break;
}
AaruConsole.DebugWriteLine(MODULE_NAME,
Localization.Core.Unlocked_total_size_0_sectors, totalSize);
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Core.Unlocked_total_size_0_sectors,
totalSize);
ulong middleZone =
totalSize - (PFI.Decode(cmdBuf, MediaType).Value.Layer0EndPSN -
PFI.Decode(cmdBuf, MediaType).Value.DataAreaStartPSN + 1) - gameSize + 1;
ulong middleZone = totalSize -
(PFI.Decode(cmdBuf, MediaType).Value.Layer0EndPSN -
PFI.Decode(cmdBuf, MediaType).Value.DataAreaStartPSN +
1) -
gameSize +
1;
totalSize = l0Video + l1Video + middleZone * 2 + gameSize;
ulong layerBreak = l0Video + middleZone + gameSize / 2;
@@ -1503,13 +1477,10 @@ public sealed class ScsiInfo
break;
}
if(MediaType == MediaType.Unknown &&
dev.IsUsb &&
containsFloppyPage)
if(MediaType == MediaType.Unknown && dev.IsUsb && containsFloppyPage)
MediaType = MediaType.FlashDrive;
if(MediaType == MediaType.Unknown &&
!dev.IsRemovable)
if(MediaType == MediaType.Unknown && !dev.IsRemovable)
MediaType = MediaType.GENERIC_HDD;
if(DeviceInfo.ScsiType != PeripheralDeviceTypes.MultiMediaDevice ||