\r
#include <string.h>\r
\r
-static const uint16_t FIRMWARE_VERSION = 0x064C;\r
+static const uint16_t FIRMWARE_VERSION = 0x064D;\r
\r
// Optional static config\r
extern uint8_t* __fixed_config;\r
// use sg_dd from sg_utils3 tools to test.\r
\r
uint32_t rem = totalSDSectors - i;\r
- uint32_t sectors = rem < maxSectors ? rem : maxSectors;\r
+ uint32_t sectors;\r
+ if (rem <= maxSectors)\r
+ {\r
+ sectors = rem;\r
+ }\r
+ else\r
+ {\r
+ sectors = maxSectors;\r
+ while (sectors % sdPerScsi) sectors--;\r
+ }\r
+ \r
\r
if (useSlowDataCount)\r
{\r
- scsiSetDataCount(sectors * bytesPerSector);\r
+ scsiSetDataCount((sectors / sdPerScsi) * bytesPerSector);\r
}\r
\r
for (int scsiSector = i; scsiSector < i + sectors; ++scsiSector)\r