diff options
author | Dean Camera <[email protected]> | 2013-03-09 09:24:26 +0000 |
---|---|---|
committer | Dean Camera <[email protected]> | 2013-03-09 09:24:26 +0000 |
commit | 63e1fc6e6c435dcdaa0ebc465c00b1df05f69ed4 (patch) | |
tree | 014ddf7ef9a203c705165a0ebcd1db6385681ef0 /Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c | |
parent | d5d9ff73e5216969aaa2915de3fa04f530ffe400 (diff) | |
download | qmk_firmware-63e1fc6e6c435dcdaa0ebc465c00b1df05f69ed4.tar.gz qmk_firmware-63e1fc6e6c435dcdaa0ebc465c00b1df05f69ed4.zip |
Make the VirtualFAT firmware file read from device flash when opened by the host in the incomplete Mass Storage class bootloader.
Diffstat (limited to 'Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c')
-rw-r--r-- | Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c index 24df348f01..f5e5f840db 100644 --- a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c +++ b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c @@ -138,8 +138,10 @@ static void ReadBlock(const uint16_t BlockNumber) 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; |