Make the VirtualFAT firmware file read from device flash when opened by the host...
authorDean Camera <dean@fourwalledcubicle.com>
Sat, 9 Mar 2013 09:24:26 +0000 (09:24 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sat, 9 Mar 2013 09:24:26 +0000 (09:24 +0000)
Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c

index 24df348..f5e5f84 100644 (file)
@@ -138,8 +138,10 @@ static void ReadBlock(const uint16_t BlockNumber)
                default:
                        if ((BlockNumber >= 4) && (BlockNumber < (4 + (FIRMWARE_FILE_SIZE / SECTOR_SIZE_BYTES))))
                        {
                default:
                        if ((BlockNumber >= 4) && (BlockNumber < (4 + (FIRMWARE_FILE_SIZE / SECTOR_SIZE_BYTES))))
                        {
-                               for (uint16_t i = 0; i < 512; i++)
-                                 BlockBuffer[i] = 'A' + (i % 26);
+                               uint32_t ReadFlashAddress = (uint32_t)(BlockNumber - 4) * SECTOR_SIZE_BYTES;
+
+                               for (uint16_t i = 0; i < SECTOR_SIZE_BYTES; i++)
+                                 BlockBuffer[i] = pgm_read_byte_far(ReadFlashAddress++);
                        }
 
                        break;
                        }
 
                        break;