>>> UsbWidEx Version History <<< ======================== V1.00: (May 2013) first release: * Drive backup & restore via XMODEM connection. Detects drive type, including IDEfile volume number. 532 and 1024 byte blocks and BLU header supported. * Widget servo debugger with Alternate Seek mode for optics alignment. * ProFile/Widget debugger: general R/W commands, Widget diag commands, Widget status decoding * Line sniffer mode not working. µC seems to be to slow to catch strobe pulses. * Surface Scan and Low Level Format procedures not implemented yet (though the commands are available in debug mode). V1.01: (December 2013) new features: * Line sniffer code dropped. * Code reorganized. Low level procedured and general R/W in drivecmds.h. All low-level and general R/W functions only return 1 = passed or 0 = failed, all error handling and reporting is done internally. Trace mode off suppresses error messages (e.g. during XMODEM). * separate debug modes for ProFile and Widget. ProFile mode supports Create Spare (03) command and diagnostic read/write loops (to align the analog board circuits). V1.02: (April 2014) new features: * low level format and surface test procedures added * ProFile 10M has a completely different diag command set, so a new menu was required. Common procedures have been moved into libraries * auto-increment function added for read, write, loop on R/W and seek V1.03: (January 2019) fixes: * scan result from PF5 LLF now reported for the first 32 bad blocks only * bug fixed in bin/hex conversion of LBA number in bad block substitution text. Bad block count added. Format is now "0001: 0x001234". * DiagReadHeader now transfers 0x228 bytes Dependencies: * iodefine.h: R8C/3x register definitions (provided by Renesas) * HWdefs.h: general constants, global variables and port definitions Uses iodefine.h * Utils.h / Utils.c: utility functions. Command line parser, timeout & delay, checksum calculation Uses HWdefs.h * serial0.h / serial0.c: UART0 communications. Uses HWdefs.h * fix_inthandler.c * var_inthandler.c: timer RB * cmds_drive.h / cmds_drive.c: drive access functions. Generic commands and high-level bock read/write. Uses HWdefs.h * cmds_common.h / cmsd_common.c: commands used in the three test menus Uses HWdefs.h, serial0.h, cmds_drive.h * backuprestore.h / backuprestore.c: XMODEM drive backup and restore Uses HWdefs.h, serial0.h, cmds_drive.h * test_servo.h / test_servo.c: Widget servo debugger Uses HWdefs.h * test_profile5.h / test_profile5.c: ProFile debugger Uses HWdefs.h, serial0.h, cmds_drive.h, cmds_common.h * test_profile10.h / test_profile10.c: ProFile debugger Uses HWdefs.h, serial0.h, cmds_drive.h, cmds_common.h * test_widget.h / test_widget.c: Widget debugger Uses HWdefs.h, serial0.h, cmds_drive.h, cmds_common.h * test_line.h / test_line.c Uses HWdefs.h, serial0.h * UsbWidEx.c: main function. Uses HWdefs.h, serial0.h, backuprestore.h, test_servo.h, test_profile5.h, test_profile10.h, test_widget.h, test_line.h