Add detection of multi-region drives

This commit is contained in:
Rebecca Wallander
2021-01-24 22:05:33 +01:00
parent 7e5997d010
commit 1fa3c0e2ce

View File

@@ -128,46 +128,41 @@ namespace Aaru.Decoders.DVD
sb.AppendLine($"Drive has {vendorResets} vendor resets available."); sb.AppendLine($"Drive has {vendorResets} vendor resets available.");
sb.AppendLine($"Drive has {userControlledChanges} user controlled changes available."); sb.AppendLine($"Drive has {userControlledChanges} user controlled changes available.");
switch(decoded.RegionMask) if(decoded.RegionMask == 0xFF)
{
case 0xFF:
sb.AppendLine("Drive has no region set."); sb.AppendLine("Drive has no region set.");
else if(decoded.RegionMask == 0x00)
sb.AppendLine("Drive is region free.");
else
{
sb.Append("Drive has the following regions set:");
break; if((decoded.RegionMask & 0x01) != 0x01)
case 0xFE: sb.Append(" 1");
sb.AppendLine("Drive is set to region 1.");
break; if((decoded.RegionMask & 0x02) != 0x02)
case 0xFD: sb.Append(" 2");
sb.AppendLine("Drive is set to region 2.");
break; if((decoded.RegionMask & 0x04) != 0x04)
case 0xFB: sb.Append(" 3");
sb.AppendLine("Drive is set to region 3.");
break; if((decoded.RegionMask & 0x08) != 0x08)
case 0xF7: sb.Append(" 4");
sb.AppendLine("Drive is set to region 4.");
break; if((decoded.RegionMask & 0x10) != 0x10)
case 0xEF: sb.Append(" 5");
sb.AppendLine("Drive is set to region 5.");
break; if((decoded.RegionMask & 0x20) != 0x20)
case 0xDF: sb.Append(" 6");
sb.AppendLine("Drive is set to region 6.");
break; if((decoded.RegionMask & 0x40) != 0x40)
case 0xBF: sb.Append(" 7");
sb.AppendLine("Drive is set to region 7.");
break; if((decoded.RegionMask & 0x80) != 0x80)
case 0x7F: sb.Append(" 8");
sb.AppendLine("Drive is set to region 8.");
break;
} }
sb.AppendLine("");
switch(decoded.RPCScheme) switch(decoded.RPCScheme)
{ {
case 0x00: case 0x00: