aboutsummaryrefslogtreecommitdiffstats
path: root/Bootloaders/Incomplete/MassStorage/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Bootloaders/Incomplete/MassStorage/Lib')
-rw-r--r--Bootloaders/Incomplete/MassStorage/Lib/SCSI.c7
-rw-r--r--Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c6
-rw-r--r--Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.h2
3 files changed, 6 insertions, 9 deletions
diff --git a/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c b/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
index a79a4688a..154fe4885 100644
--- a/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
+++ b/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
@@ -307,11 +307,8 @@ static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfa
*/
static bool SCSI_Command_ModeSense_6(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
- /* Send an empty header response with the Write Protect flag status */
- Endpoint_Write_8(0x00);
- Endpoint_Write_8(0x00);
- Endpoint_Write_8(0x00);
- Endpoint_Write_8(0x00);
+ /* Send an empty header response indicating Write Protect flag is off */
+ Endpoint_Write_32_LE(0);
Endpoint_ClearIN();
/* Update the bytes transferred counter and succeed the command */
diff --git a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c
index 85f274bfa..96dfc555c 100644
--- a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c
+++ b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.c
@@ -51,8 +51,6 @@ static const FATBootBlock_t BootBlock =
.VolumeSerialNumber = 0x12345678,
.VolumeLabel = "LUFA BOOT ",
.FilesystemIdentifier = "FAT12 ",
- .BootstrapProgram = {0},
- .MagicSignature = 0xAA55,
};
static FATDirectoryEntry_t FirmwareFileEntry =
@@ -138,6 +136,10 @@ static void ReadBlock(const uint16_t BlockNumber)
{
case 0: /* Block 0: Boot block sector */
memcpy(BlockBuffer, &BootBlock, sizeof(FATBootBlock_t));
+
+ /* Add the magic signature to the end of the block */
+ BlockBuffer[SECTOR_SIZE_BYTES - 2] = 0x55;
+ BlockBuffer[SECTOR_SIZE_BYTES - 1] = 0xAA;
break;
case 1: /* Block 1: First FAT12 cluster chain copy */
diff --git a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.h b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.h
index 98ea5cdd9..fe8d770b8 100644
--- a/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.h
+++ b/Bootloaders/Incomplete/MassStorage/Lib/VirtualFAT.h
@@ -72,8 +72,6 @@
uint32_t VolumeSerialNumber;
uint8_t VolumeLabel[11];
uint8_t FilesystemIdentifier[8];
- uint8_t BootstrapProgram[448];
- uint16_t MagicSignature;
} FATBootBlock_t;
typedef struct