From cbbb8aaa8cf8c399a4d51281bbc9ce6d8b088c38 Mon Sep 17 00:00:00 2001 From: Deterous <138427222+Deterous@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:34:33 +0900 Subject: [PATCH] Fix XGD3 SS ranges (#733) * Fix XGD3 SS ranges * Changelog --- CHANGELIST.md | 1 + MPF.Processors/ProcessingTool.cs | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) 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