Happy new year, everyone!
Here's a new version with quite a changelog:
20221231 GUI- Fixed: Not responding to save shortcuts keys (Ctrl+S) unless the File menu was opened prior to saving loaded data
- Fixed: Imported SPD CRC status information not being updated after closing previously edited SPD without saving
- Fixed: Program closing when selecting to save changes before exiting and closing Save File dialog without saving
- Fixed: Error after clicking on an empty ASCII area, if loaded data size wasn't a factor of number of bytes per row
- Fixed: Editor preview not reflecting "Highlight similar bytes" option change in real time in the Settings window
- Fixed: Mouse back and forward buttons activating panel under the pointer when navigation history is empty
- Fixed: Menu and toolbar Save buttons becoming unavailable for imported data after opening the File menu
- Fixed: Screenshot tool not capturing updated window contents after restoring down the maximized window
- Fixed: Editor not scrolling to cursor position outside of visible area when manually going to the same offset
- Fixed: New Name text field position in the Rename Arduino device dialog window after it was being resized
- Fixed: Navigation history losing first cursor position and active panel when going back after going forward
- Fixed: All right-aligned check boxes in the Settings window are perfectly aligned regardless of DPI settings
- Fixed: Navigation menu items showing up as available under the Edit menu after clearing editor contents
- Fixed: Check RSWP Status window displaying incorrect device name when connected to SMBus controller
- Fixed: Edits made to imported or pasted data were not saved when saving to a local file for the first time
- Fixed: Duplicate log entries showing up in the event log when importing SPD data from non binary files
- Fixed: Screenshot tool capturing black borders around the maximized window in Windows 7, 8, and 8.1
- Fixed: Program not starting in Windows XP, Vista, 7, 8, and 8.1 if custom DPI font settings were used
- Redesigned: Arduino and Smbus related settings moved to Hardware tab in the Settings window
- Redesigned: Replaced device type selection with a drop-down menu in the Select Device dialog
- Redesigned: Dragging file onto the editor will activate and bring the main window forward
- Redesigned: Data editor side offset numbers are not shown, when no data is loaded
- Added: Status displaying the number of unsaved changes in the Settings window
- Added: Revert button to undo unsaved changes in the Settings window
- Added: Option to hide copy preview in the Settings window
- Added: Option to toggle main toolbar buttons captions
- Added: Pascal and Java byte array data copy formats
- Added: CPU-Z text report SPD import support
- Added: DDR5 XMP & EXPO CRC validation
- Improved: Arduino connection time
- Improved: Startup loading time
- Improved: Performance
- Improved: Stability
CLI
Although the changelog is huge, most of the fixes are related to the the new editor I introduced in the last version. I also fixed UI scaling under non standard DPI settings.
There are a couple of new features I'd like to point out: CPU-Z text report import and additional DDR5 CRC validation.
To use CPU-Z report import feature, start CPU-Z, save report as a text file (click Tools and select "Save report as TXT"). Then open the text file in SPD-RW. If you have multiple SPDs present, you'll be asked to choose SPD number, just like as if you were to read SPD from Arduino or Smbus with multiple devices on the same bus.
DDR5 SPDs can feature up to 5 XMP profiles, and/or 2 Expo profiles. Unlike DDR4, which used 2 CRCs to validate base configuration and block 1 data, DDR5 uses 1 CRC to validate base data. However, this time around, XMP 3.0 and AMD Expo profiles, if present, are also validated using the same algorithm to ensure data integrity. This release will validate all CRCs present in DDR5 SPD dumps.