diff --git a/CHANGELIST.md b/CHANGELIST.md index 90de55dd..c8e71e88 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -7,6 +7,7 @@ - Add physical drive extensions to new tool - Fix build for older .NET - Move two extensions to a better location +- Fix XGD3 SS ranges ### 3.2.1 (2024-08-05) diff --git a/MPF.Processors/ProcessingTool.cs b/MPF.Processors/ProcessingTool.cs index 99ebd0c9..e3cbca6d 100644 --- a/MPF.Processors/ProcessingTool.cs +++ b/MPF.Processors/ProcessingTool.cs @@ -1174,12 +1174,18 @@ namespace MPF.Processors startLBA[i] = (1913776 + 0x030000) * 2 - (startPSN ^ 0xFFFFFF) - 0x030000 - 1; endLBA[i] = (1913776 + 0x030000) * 2 - (endPSN ^ 0xFFFFFF) - 0x030000 - 1; } - else if (xgdType > 1 && startPSN >= (1913760 + 0x030000)) + else if (xgdType == 2 && startPSN >= (1913760 + 0x030000)) { - // Layer 1 of XGD2 or XGD3 + // Layer 1 of XGD2 startLBA[i] = (1913760 + 0x030000) * 2 - (startPSN ^ 0xFFFFFF) - 0x030000 - 1; endLBA[i] = (1913760 + 0x030000) * 2 - (endPSN ^ 0xFFFFFF) - 0x030000 - 1; } + else if (xgdType == 3 && startPSN >= (2133520 + 0x030000)) + { + // Layer 1 of XGD3 + startLBA[i] = (2133520 + 0x030000) * 2 - (startPSN ^ 0xFFFFFF) - 0x030000 - 1; + endLBA[i] = (2133520 + 0x030000) * 2 - (endPSN ^ 0xFFFFFF) - 0x030000 - 1; + } else { // Layer 0